[OpenLayers-Commits] r12096 - in sandbox/august/trunk: . build doc examples lib/OpenLayers lib/OpenLayers/Control lib/OpenLayers/Format lib/OpenLayers/Format/CSWGetDomain lib/OpenLayers/Format/CSWGetRecords lib/OpenLayers/Format/Filter lib/OpenLayers/Format/GML lib/OpenLayers/Format/OWSCommon lib/OpenLayers/Format/OWSContext lib/OpenLayers/Format/SLD lib/OpenLayers/Format/WFSCapabilities lib/OpenLayers/Format/WFST lib/OpenLayers/Format/WMC lib/OpenLayers/Format/WMSCapabilities lib/OpenLayers/Format/XLS lib/OpenLayers/Geometry lib/OpenLayers/Handler lib/OpenLayers/Lang lib/OpenLayers/Layer lib/OpenLayers/Protocol lib/OpenLayers/Protocol/SQL lib/OpenLayers/Protocol/WFS lib/OpenLayers/Renderer lib/OpenLayers/Tile tests tests/Control tests/Format tests/Format/CSWGetRecords tests/Format/Filter tests/Format/OWSCommon tests/Format/WFSCapabilities tests/Format/WMSCapabilities tests/Handler tests/Layer tests/Protocol tests/Renderer tests/Tile tests/node.js theme/default tools

commits-20090109 at openlayers.org commits-20090109 at openlayers.org
Thu Jun 16 16:12:14 EDT 2011


Author: augusttown
Date: 2011-06-16 13:12:13 -0700 (Thu, 16 Jun 2011)
New Revision: 12096

Added:
   sandbox/august/trunk/examples/google-ng.html
   sandbox/august/trunk/examples/google-ng.js
   sandbox/august/trunk/examples/wfs-spatial-filter.html
   sandbox/august/trunk/examples/wfs-spatial-filter.js
   sandbox/august/trunk/lib/OpenLayers/Format/OGCExceptionReport.js
   sandbox/august/trunk/lib/OpenLayers/Format/OWSCommon.js
   sandbox/august/trunk/lib/OpenLayers/Lang/lt.js
   sandbox/august/trunk/lib/OpenLayers/Layer/GoogleNG.js
   sandbox/august/trunk/lib/OpenLayers/Tile/Google.js
   sandbox/august/trunk/tests/Control/EditingToolbar.html
   sandbox/august/trunk/tests/Format/OGCExceptionReport.html
   sandbox/august/trunk/tests/Format/OWSCommon/
   sandbox/august/trunk/tests/Format/OWSCommon/v1_0_0.html
   sandbox/august/trunk/tests/Format/OWSCommon/v1_1_0.html
   sandbox/august/trunk/tests/Layer/GoogleNG.html
   sandbox/august/trunk/tests/Tile/Google.html
   sandbox/august/trunk/tools/branch.sh
   sandbox/august/trunk/tools/rc.sh
Removed:
   sandbox/august/trunk/news.txt
   sandbox/august/trunk/tests/Format/OWSCommon/v1_0_0.html
   sandbox/august/trunk/tests/Format/OWSCommon/v1_1_0.html
Modified:
   sandbox/august/trunk/
   sandbox/august/trunk/build/build.py
   sandbox/august/trunk/build/license.txt
   sandbox/august/trunk/doc/authors.txt
   sandbox/august/trunk/examples/KMLParser.html
   sandbox/august/trunk/examples/SLDSelect.html
   sandbox/august/trunk/examples/WMSDescribeLayerParser.html
   sandbox/august/trunk/examples/accelerometer.html
   sandbox/august/trunk/examples/accessible.html
   sandbox/august/trunk/examples/all-overlays-google.html
   sandbox/august/trunk/examples/all-overlays.html
   sandbox/august/trunk/examples/anchor-permalink.html
   sandbox/august/trunk/examples/animated_panning.html
   sandbox/august/trunk/examples/arcgis93rest.html
   sandbox/august/trunk/examples/arcgiscache_ags.html
   sandbox/august/trunk/examples/arcgiscache_direct.html
   sandbox/august/trunk/examples/arcgiscache_jsonp.html
   sandbox/august/trunk/examples/arcims-thematic.html
   sandbox/august/trunk/examples/arcims.html
   sandbox/august/trunk/examples/attribution.html
   sandbox/august/trunk/examples/behavior-fixed-http-gml.html
   sandbox/august/trunk/examples/bing-tiles.html
   sandbox/august/trunk/examples/bing.html
   sandbox/august/trunk/examples/boxes-vector.html
   sandbox/august/trunk/examples/boxes.html
   sandbox/august/trunk/examples/browser.html
   sandbox/august/trunk/examples/buffer.html
   sandbox/august/trunk/examples/canvas-hit-detection.html
   sandbox/august/trunk/examples/canvas-inspector.html
   sandbox/august/trunk/examples/canvas.html
   sandbox/august/trunk/examples/click-handler.html
   sandbox/august/trunk/examples/click.html
   sandbox/august/trunk/examples/controls.html
   sandbox/august/trunk/examples/cql-format.html
   sandbox/august/trunk/examples/cross-origin.html
   sandbox/august/trunk/examples/custom-control.html
   sandbox/august/trunk/examples/custom-style.html
   sandbox/august/trunk/examples/debug.html
   sandbox/august/trunk/examples/document-drag.html
   sandbox/august/trunk/examples/donut.html
   sandbox/august/trunk/examples/doubleSetCenter.html
   sandbox/august/trunk/examples/drag-feature.html
   sandbox/august/trunk/examples/draw-feature.html
   sandbox/august/trunk/examples/dynamic-text-layer.html
   sandbox/august/trunk/examples/editingtoolbar-outside.html
   sandbox/august/trunk/examples/editingtoolbar.html
   sandbox/august/trunk/examples/events.html
   sandbox/august/trunk/examples/example-list.html
   sandbox/august/trunk/examples/example.html
   sandbox/august/trunk/examples/filter-strategy.html
   sandbox/august/trunk/examples/filter.html
   sandbox/august/trunk/examples/fractional-zoom.html
   sandbox/august/trunk/examples/fullScreen.html
   sandbox/august/trunk/examples/game-accel-ball.html
   sandbox/august/trunk/examples/geojson.html
   sandbox/august/trunk/examples/geolocation.html
   sandbox/august/trunk/examples/georss-flickr.html
   sandbox/august/trunk/examples/georss-markers.html
   sandbox/august/trunk/examples/georss.html
   sandbox/august/trunk/examples/getfeature-wfs.html
   sandbox/august/trunk/examples/getfeatureinfo-control.html
   sandbox/august/trunk/examples/getfeatureinfo-popup.html
   sandbox/august/trunk/examples/gml-layer.html
   sandbox/august/trunk/examples/google-reproject.html
   sandbox/august/trunk/examples/google-v3-alloverlays.html
   sandbox/august/trunk/examples/google-v3.html
   sandbox/august/trunk/examples/google.html
   sandbox/august/trunk/examples/graphic-name.html
   sandbox/august/trunk/examples/graticule.html
   sandbox/august/trunk/examples/gutter.html
   sandbox/august/trunk/examples/highlight-feature.html
   sandbox/august/trunk/examples/hover-handler.html
   sandbox/august/trunk/examples/image-layer.html
   sandbox/august/trunk/examples/intersects.html
   sandbox/august/trunk/examples/kamap.html
   sandbox/august/trunk/examples/kinetic.html
   sandbox/august/trunk/examples/kml-layer.html
   sandbox/august/trunk/examples/kml-pointtrack.html
   sandbox/august/trunk/examples/kml-track.html
   sandbox/august/trunk/examples/late-render.html
   sandbox/august/trunk/examples/layer-opacity.html
   sandbox/august/trunk/examples/layerLoadMonitoring.html
   sandbox/august/trunk/examples/layerswitcher.html
   sandbox/august/trunk/examples/lite.html
   sandbox/august/trunk/examples/mapguide.html
   sandbox/august/trunk/examples/mapserver.html
   sandbox/august/trunk/examples/mapserver_untiled.html
   sandbox/august/trunk/examples/marker-shadow.html
   sandbox/august/trunk/examples/markerResize.html
   sandbox/august/trunk/examples/markers.html
   sandbox/august/trunk/examples/markersTextLayer.html
   sandbox/august/trunk/examples/measure.html
   sandbox/august/trunk/examples/mm.html
   sandbox/august/trunk/examples/mobile-base.js
   sandbox/august/trunk/examples/mobile-drawing.html
   sandbox/august/trunk/examples/mobile-drawing.js
   sandbox/august/trunk/examples/mobile-jq.html
   sandbox/august/trunk/examples/mobile-layers.html
   sandbox/august/trunk/examples/mobile-layers.js
   sandbox/august/trunk/examples/mobile-navigation.html
   sandbox/august/trunk/examples/mobile-navigation.js
   sandbox/august/trunk/examples/mobile-sencha.html
   sandbox/august/trunk/examples/mobile.html
   sandbox/august/trunk/examples/mobile.js
   sandbox/august/trunk/examples/modify-feature.html
   sandbox/august/trunk/examples/mouse-position.html
   sandbox/august/trunk/examples/mousewheel-interval.html
   sandbox/august/trunk/examples/multimap-mercator.html
   sandbox/august/trunk/examples/multiserver.html
   sandbox/august/trunk/examples/multitouch.html
   sandbox/august/trunk/examples/mvs.html
   sandbox/august/trunk/examples/navigation-control.html
   sandbox/august/trunk/examples/navigation-history.html
   sandbox/august/trunk/examples/navtoolbar-alwaysZoom.html
   sandbox/august/trunk/examples/navtoolbar-outsidemap.html
   sandbox/august/trunk/examples/navtoolbar.html
   sandbox/august/trunk/examples/openls.html
   sandbox/august/trunk/examples/ordering.html
   sandbox/august/trunk/examples/osm-google.html
   sandbox/august/trunk/examples/osm-layer.html
   sandbox/august/trunk/examples/osm.html
   sandbox/august/trunk/examples/outOfRangeMarkers.html
   sandbox/august/trunk/examples/overviewmap.html
   sandbox/august/trunk/examples/pan-zoom-panels.html
   sandbox/august/trunk/examples/panel.html
   sandbox/august/trunk/examples/point-track-markers.html
   sandbox/august/trunk/examples/popupMatrix.html
   sandbox/august/trunk/examples/popups.html
   sandbox/august/trunk/examples/projected-map.html
   sandbox/august/trunk/examples/protocol-gears.html
   sandbox/august/trunk/examples/regular-polygons.html
   sandbox/august/trunk/examples/resize-features.html
   sandbox/august/trunk/examples/restricted-extent.html
   sandbox/august/trunk/examples/rotate-features.html
   sandbox/august/trunk/examples/select-feature-multilayer.html
   sandbox/august/trunk/examples/select-feature-openpopup.html
   sandbox/august/trunk/examples/select-feature.html
   sandbox/august/trunk/examples/setextent.html
   sandbox/august/trunk/examples/simplify-linestring.html
   sandbox/august/trunk/examples/single-tile.html
   sandbox/august/trunk/examples/sld-parser.html
   sandbox/august/trunk/examples/sld.html
   sandbox/august/trunk/examples/snap-split.html
   sandbox/august/trunk/examples/snapping.html
   sandbox/august/trunk/examples/sos.html
   sandbox/august/trunk/examples/spherical-mercator.html
   sandbox/august/trunk/examples/split-feature.html
   sandbox/august/trunk/examples/strategy-bbox.html
   sandbox/august/trunk/examples/strategy-cluster-extended.html
   sandbox/august/trunk/examples/strategy-cluster-threshold.html
   sandbox/august/trunk/examples/strategy-cluster.html
   sandbox/august/trunk/examples/strategy-paging.html
   sandbox/august/trunk/examples/style-rules.html
   sandbox/august/trunk/examples/stylemap.html
   sandbox/august/trunk/examples/styles-context.html
   sandbox/august/trunk/examples/styles-rotation.html
   sandbox/august/trunk/examples/styles-unique.html
   sandbox/august/trunk/examples/sundials-spherical-mercator.html
   sandbox/august/trunk/examples/sundials.html
   sandbox/august/trunk/examples/symbolizers-fill-stroke-graphic.html
   sandbox/august/trunk/examples/teleportation.html
   sandbox/august/trunk/examples/tile-origin.html
   sandbox/august/trunk/examples/tilecache.html
   sandbox/august/trunk/examples/tms.html
   sandbox/august/trunk/examples/transform-feature.html
   sandbox/august/trunk/examples/transition.html
   sandbox/august/trunk/examples/urban.html
   sandbox/august/trunk/examples/ve-novibrate.html
   sandbox/august/trunk/examples/ve.html
   sandbox/august/trunk/examples/vector-features-with-text.html
   sandbox/august/trunk/examples/vector-features.html
   sandbox/august/trunk/examples/vector-formats.html
   sandbox/august/trunk/examples/web-mercator.html
   sandbox/august/trunk/examples/wfs-filter.html
   sandbox/august/trunk/examples/wfs-protocol-transactions.html
   sandbox/august/trunk/examples/wfs-protocol-transactions.js
   sandbox/august/trunk/examples/wfs-protocol.html
   sandbox/august/trunk/examples/wfs-reprojection.html
   sandbox/august/trunk/examples/wfs-snap-split.html
   sandbox/august/trunk/examples/wfs-states.html
   sandbox/august/trunk/examples/wmc.html
   sandbox/august/trunk/examples/wms-long-url.html
   sandbox/august/trunk/examples/wms-untiled.html
   sandbox/august/trunk/examples/wms-v13.html
   sandbox/august/trunk/examples/wms.html
   sandbox/august/trunk/examples/wmst.html
   sandbox/august/trunk/examples/wmts-capabilities.html
   sandbox/august/trunk/examples/wmts-getfeatureinfo.html
   sandbox/august/trunk/examples/wmts.html
   sandbox/august/trunk/examples/worldwind.html
   sandbox/august/trunk/examples/wrapDateLine.html
   sandbox/august/trunk/examples/xhtml.html
   sandbox/august/trunk/examples/xml.html
   sandbox/august/trunk/examples/xyz-esri.html
   sandbox/august/trunk/examples/xyz-offset.html
   sandbox/august/trunk/examples/yahoo.html
   sandbox/august/trunk/examples/zoomLevels.html
   sandbox/august/trunk/examples/zoomify.html
   sandbox/august/trunk/lib/OpenLayers/Control/DragPan.js
   sandbox/august/trunk/lib/OpenLayers/Control/EditingToolbar.js
   sandbox/august/trunk/lib/OpenLayers/Control/GetFeature.js
   sandbox/august/trunk/lib/OpenLayers/Control/ModifyFeature.js
   sandbox/august/trunk/lib/OpenLayers/Control/NavToolbar.js
   sandbox/august/trunk/lib/OpenLayers/Control/Navigation.js
   sandbox/august/trunk/lib/OpenLayers/Control/Panel.js
   sandbox/august/trunk/lib/OpenLayers/Control/SelectFeature.js
   sandbox/august/trunk/lib/OpenLayers/Control/TransformFeature.js
   sandbox/august/trunk/lib/OpenLayers/Control/WMSGetFeatureInfo.js
   sandbox/august/trunk/lib/OpenLayers/Control/WMTSGetFeatureInfo.js
   sandbox/august/trunk/lib/OpenLayers/Events.js
   sandbox/august/trunk/lib/OpenLayers/Format/ArcXML.js
   sandbox/august/trunk/lib/OpenLayers/Format/Atom.js
   sandbox/august/trunk/lib/OpenLayers/Format/CSWGetDomain/v2_0_2.js
   sandbox/august/trunk/lib/OpenLayers/Format/CSWGetRecords/v2_0_2.js
   sandbox/august/trunk/lib/OpenLayers/Format/Filter/v1_0_0.js
   sandbox/august/trunk/lib/OpenLayers/Format/Filter/v1_1_0.js
   sandbox/august/trunk/lib/OpenLayers/Format/GML.js
   sandbox/august/trunk/lib/OpenLayers/Format/GML/Base.js
   sandbox/august/trunk/lib/OpenLayers/Format/GML/v2.js
   sandbox/august/trunk/lib/OpenLayers/Format/GML/v3.js
   sandbox/august/trunk/lib/OpenLayers/Format/GeoJSON.js
   sandbox/august/trunk/lib/OpenLayers/Format/GeoRSS.js
   sandbox/august/trunk/lib/OpenLayers/Format/KML.js
   sandbox/august/trunk/lib/OpenLayers/Format/OSM.js
   sandbox/august/trunk/lib/OpenLayers/Format/OWSCommon/v1.js
   sandbox/august/trunk/lib/OpenLayers/Format/OWSCommon/v1_0_0.js
   sandbox/august/trunk/lib/OpenLayers/Format/OWSCommon/v1_1_0.js
   sandbox/august/trunk/lib/OpenLayers/Format/OWSContext/v0_3_1.js
   sandbox/august/trunk/lib/OpenLayers/Format/SLD/v1.js
   sandbox/august/trunk/lib/OpenLayers/Format/WFSCapabilities.js
   sandbox/august/trunk/lib/OpenLayers/Format/WFSCapabilities/v1_0_0.js
   sandbox/august/trunk/lib/OpenLayers/Format/WFST/v1.js
   sandbox/august/trunk/lib/OpenLayers/Format/WFST/v1_1_0.js
   sandbox/august/trunk/lib/OpenLayers/Format/WMC.js
   sandbox/august/trunk/lib/OpenLayers/Format/WMC/v1.js
   sandbox/august/trunk/lib/OpenLayers/Format/WMSCapabilities/v1.js
   sandbox/august/trunk/lib/OpenLayers/Format/XLS/v1.js
   sandbox/august/trunk/lib/OpenLayers/Geometry.js
   sandbox/august/trunk/lib/OpenLayers/Geometry/Collection.js
   sandbox/august/trunk/lib/OpenLayers/Handler/Box.js
   sandbox/august/trunk/lib/OpenLayers/Handler/Feature.js
   sandbox/august/trunk/lib/OpenLayers/Handler/Path.js
   sandbox/august/trunk/lib/OpenLayers/Handler/Point.js
   sandbox/august/trunk/lib/OpenLayers/Handler/Polygon.js
   sandbox/august/trunk/lib/OpenLayers/Layer/ArcGISCache.js
   sandbox/august/trunk/lib/OpenLayers/Layer/Bing.js
   sandbox/august/trunk/lib/OpenLayers/Layer/EventPane.js
   sandbox/august/trunk/lib/OpenLayers/Layer/HTTPRequest.js
   sandbox/august/trunk/lib/OpenLayers/Layer/KaMapCache.js
   sandbox/august/trunk/lib/OpenLayers/Layer/MapServer.js
   sandbox/august/trunk/lib/OpenLayers/Layer/TMS.js
   sandbox/august/trunk/lib/OpenLayers/Layer/TileCache.js
   sandbox/august/trunk/lib/OpenLayers/Layer/Vector.js
   sandbox/august/trunk/lib/OpenLayers/Layer/WMS.js
   sandbox/august/trunk/lib/OpenLayers/Layer/WMTS.js
   sandbox/august/trunk/lib/OpenLayers/Layer/XYZ.js
   sandbox/august/trunk/lib/OpenLayers/Layer/Zoomify.js
   sandbox/august/trunk/lib/OpenLayers/Protocol.js
   sandbox/august/trunk/lib/OpenLayers/Protocol/SQL/Gears.js
   sandbox/august/trunk/lib/OpenLayers/Protocol/WFS.js
   sandbox/august/trunk/lib/OpenLayers/Protocol/WFS/v1.js
   sandbox/august/trunk/lib/OpenLayers/Renderer.js
   sandbox/august/trunk/lib/OpenLayers/Renderer/Canvas.js
   sandbox/august/trunk/lib/OpenLayers/Renderer/Elements.js
   sandbox/august/trunk/lib/OpenLayers/Renderer/NG.js
   sandbox/august/trunk/lib/OpenLayers/Renderer/SVG.js
   sandbox/august/trunk/lib/OpenLayers/Renderer/SVG2.js
   sandbox/august/trunk/lib/OpenLayers/Renderer/VML.js
   sandbox/august/trunk/lib/OpenLayers/Tile.js
   sandbox/august/trunk/lib/OpenLayers/Tile/Image.js
   sandbox/august/trunk/lib/OpenLayers/Util.js
   sandbox/august/trunk/license.txt
   sandbox/august/trunk/tests/Control/DrawFeature.html
   sandbox/august/trunk/tests/Control/LayerSwitcher.html
   sandbox/august/trunk/tests/Control/Measure.html
   sandbox/august/trunk/tests/Control/NavToolbar.html
   sandbox/august/trunk/tests/Control/Navigation.html
   sandbox/august/trunk/tests/Control/Panel.html
   sandbox/august/trunk/tests/Control/TransformFeature.html
   sandbox/august/trunk/tests/Format/CSWGetRecords/v2_0_2.html
   sandbox/august/trunk/tests/Format/CSWGetRecords/v2_0_2.js
   sandbox/august/trunk/tests/Format/Filter/v1_1_0.html
   sandbox/august/trunk/tests/Format/GeoRSS.html
   sandbox/august/trunk/tests/Format/WFSCapabilities/v1.html
   sandbox/august/trunk/tests/Format/WMSCapabilities/v1_1_1.html
   sandbox/august/trunk/tests/Format/WMSCapabilities/v1_3_0.html
   sandbox/august/trunk/tests/Handler/Box.html
   sandbox/august/trunk/tests/Handler/Feature.html
   sandbox/august/trunk/tests/Handler/Path.html
   sandbox/august/trunk/tests/Handler/Point.html
   sandbox/august/trunk/tests/Handler/Polygon.html
   sandbox/august/trunk/tests/Layer/Bing.html
   sandbox/august/trunk/tests/Layer/Vector.html
   sandbox/august/trunk/tests/Layer/WMS.html
   sandbox/august/trunk/tests/Protocol/WFS.html
   sandbox/august/trunk/tests/Renderer/Canvas.html
   sandbox/august/trunk/tests/Util.html
   sandbox/august/trunk/tests/list-tests.html
   sandbox/august/trunk/tests/node.js/mockdom.js
   sandbox/august/trunk/theme/default/style.css
   sandbox/august/trunk/tools/release.sh
Log:
MerMerge with trunk at revision 12096



Property changes on: sandbox/august/trunk
___________________________________________________________________
Modified: svn:mergeinfo
   - /trunk/openlayers:10329-10354,10357-10502,10504-11943
   + /trunk/openlayers:10329-10354,10357-10502,10504-12095

Modified: sandbox/august/trunk/build/build.py
===================================================================
--- sandbox/august/trunk/build/build.py	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/build/build.py	2011-06-16 20:12:13 UTC (rev 12096)
@@ -70,7 +70,7 @@
 
 if __name__ == '__main__':
   opt = optparse.OptionParser(usage="%s [options] [config_file] [output_file]\n  Default config_file is 'full.cfg', Default output_file is 'OpenLayers.js'")
-  opt.add_option("-c", "--compressor", dest="compressor", help="compression method: one of 'jsmin', 'minimize', or 'none'", default="jsmin")
+  opt.add_option("-c", "--compressor", dest="compressor", help="compression method: one of 'jsmin', 'minimize', 'closure_ws', 'closure', or 'none'", default="jsmin")
   (options, args) = opt.parse_args()
   if not len(args):
     build(options=options)

Modified: sandbox/august/trunk/build/license.txt
===================================================================
--- sandbox/august/trunk/build/license.txt	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/build/license.txt	2011-06-16 20:12:13 UTC (rev 12096)
@@ -2,7 +2,7 @@
 
   OpenLayers.js -- OpenLayers Map Viewer Library
 
-  Copyright 2005-2011 OpenLayers Contributors, released under the Clear BSD
+  Copyright 2005-2011 OpenLayers Contributors, released under the FreeBSD
   license. Please see http://svn.openlayers.org/trunk/openlayers/license.txt
   for the full text of the license.
 

Modified: sandbox/august/trunk/doc/authors.txt
===================================================================
--- sandbox/august/trunk/doc/authors.txt	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/doc/authors.txt	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,8 +1,11 @@
 OpenLayers contributors:
 
+Antoine Abt
 Mike Adair
 Jeff Adams
 Seb Benthall
+Bruno Binet
+Stéphane Brunner
 Howard Butler
 Bertil Chaupis                                                               
 John Cole
@@ -17,7 +20,9 @@
 Pierre Giraud
 Ivan Grcic
 Andreas Hocevar
+Marc Jansen
 Ian Johnson
+Frédéric Junod
 Eric Lemoine
 Philip Lindsay
 Martijn van Oosterhout

Modified: sandbox/august/trunk/examples/KMLParser.html
===================================================================
--- sandbox/august/trunk/examples/KMLParser.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/KMLParser.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,9 +1,11 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers KML Parser Example</title>
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         function parseData(req) {
@@ -44,8 +46,9 @@
       <div id="output"></div>
 
       <div id="docs">
-          This script reads data from a KML file and parses out the coordinates, appending them to a HTML string with markup tags.
-          This markup is dumped to an element in the page.
+          <p>This script reads data from a KML file and parses out the
+          coordinates, appending them to a HTML string with markup tags.
+          This markup is dumped to an element in the page.</p>
     </div>
   </body>
 </html>

Modified: sandbox/august/trunk/examples/SLDSelect.html
===================================================================
--- sandbox/august/trunk/examples/SLDSelect.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/SLDSelect.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers SLD based selection control</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         .olControlSLDSelectBoxActive {
             cursor: crosshair;

Modified: sandbox/august/trunk/examples/WMSDescribeLayerParser.html
===================================================================
--- sandbox/august/trunk/examples/WMSDescribeLayerParser.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/WMSDescribeLayerParser.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,14 +1,16 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers WMSDescribeLayer Parser Example</title>
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         function parseData(req) {
           format =  new OpenLayers.Format.WMSDescribeLayer();
-          html = "<br />"
+          html = "<br>"
           resp = format.read(req.responseText);
           for(var i = 0; i < resp.length; i++) {
             html += "Layer: typeName: "+ resp[i].typeName+",";
@@ -38,8 +40,9 @@
       <div id="output"></div>
 
       <div id="docs">
-          This script reads data from a file and parses out the coordinates, appending them to a HTML string with markup tags.
-          This markup is dumped to an element in the page.
+          <p>This script reads data from a file and parses out the coordinates,
+          appending them to a HTML string with markup tags. This markup is
+          dumped to an element in the page.</p>
     </div>
   </body>
 </html>

Modified: sandbox/august/trunk/examples/accelerometer.html
===================================================================
--- sandbox/august/trunk/examples/accelerometer.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/accelerometer.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,11 +1,12 @@
 <!DOCTYPE html>
 <html>
 <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"/>
-    <meta name="apple-mobile-web-app-capable" content="yes"/>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers Accelerometer Usage</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script type="text/javascript" src="browser.js"></script>
 
     <style type="text/css">

Modified: sandbox/august/trunk/examples/accessible.html
===================================================================
--- sandbox/august/trunk/examples/accessible.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/accessible.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Accessible Example</title>
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <style type="text/css">
             table {
                 border: 1 px solid white;
@@ -110,7 +112,7 @@
         </table>
 
         <div id="docs">
-            <p>Navigate the map in one of three ways:
+            <p>Navigate the map in one of three ways:</p>
                 <ul>
                     <li>Click on the named links to zoom and pan</li>
                     <li>Use following keys to pan and zoom:
@@ -134,7 +136,7 @@
                         </ul>
                     </li>
                 </ul>
-            </p>
+            <p>
 
             This is an example of using alternate methods to control panning and zooming.  This approach uses map.pan() and map.zoom().  You'll note that to pan, additional math is necessary along with map.size() in order to set the distance to pan.
         </div>

Modified: sandbox/august/trunk/examples/all-overlays-google.html
===================================================================
--- sandbox/august/trunk/examples/all-overlays-google.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/all-overlays-google.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,8 +1,9 @@
 <!DOCTYPE html>
 <html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers All Overlays with Google and OSM</title>
         <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
         <link rel="stylesheet" href="../theme/default/google.css" type="text/css">

Modified: sandbox/august/trunk/examples/all-overlays.html
===================================================================
--- sandbox/august/trunk/examples/all-overlays.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/all-overlays.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,11 +1,13 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <title>All Overlays Example</title>
         
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <script src="../lib/OpenLayers.js"></script>
         <script type="text/javascript">
             var map;

Modified: sandbox/august/trunk/examples/anchor-permalink.html
===================================================================
--- sandbox/august/trunk/examples/anchor-permalink.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/anchor-permalink.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,9 +1,11 @@
+<!DOCTYPE html>
 <html>
     <head>
-        <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" /> 
-        <meta name="apple-mobile-web-app-capable" content="yes" />
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> 
+        <meta name="apple-mobile-web-app-capable" content="yes">
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <title>AnchorPermalink Example</title>
         <script src="../lib/OpenLayers.js"></script>
         <script src="anchor-permalink.js"></script>

Modified: sandbox/august/trunk/examples/animated_panning.html
===================================================================
--- sandbox/august/trunk/examples/animated_panning.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/animated_panning.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>Animated Panning of the Map via map.panTo</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map, layer, running = false;
@@ -81,7 +83,7 @@
     <div id="shortdesc">Show animated panning effects in the map</div>
     <div id="map" class="smallmap"></div>
     <div id="docs">
-        <p>This is an example of transition effects. If the new random center is in the current extent, the map will pan smoothly. <br />
+        <p>This is an example of transition effects. If the new random center is in the current extent, the map will pan smoothly. <br>
         The random selection will continue until you press it again. Additionally, you can single click in the map to pan smoothly
         to that area, or use the pan control to pan smoothly.
         </p>

Modified: sandbox/august/trunk/examples/arcgis93rest.html
===================================================================
--- sandbox/august/trunk/examples/arcgis93rest.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/arcgis93rest.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,9 +1,11 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map;

Modified: sandbox/august/trunk/examples/arcgiscache_ags.html
===================================================================
--- sandbox/august/trunk/examples/arcgiscache_ags.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/arcgiscache_ags.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,8 +1,10 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
     <title>OpenLayers ArcGIS Cache Example (MapServer Access)</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAjpkAC9ePGem0lIq5XcMiuhR_wWLPFku8Ix9i2SXYRVK3e45q1BQUd_beF8dtzKET_EteAjPdGDwqpQ'></script>
     <script src="../lib/OpenLayers.js"></script>
     <script src="../lib/OpenLayers/Layer/ArcGISCache.js" type="text/javascript"></script>

Modified: sandbox/august/trunk/examples/arcgiscache_direct.html
===================================================================
--- sandbox/august/trunk/examples/arcgiscache_direct.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/arcgiscache_direct.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,8 +1,10 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
         <title>ArcGIS Server Map Cache Example (Direct Access)</title>
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <script src="../lib/OpenLayers.js" type="text/javascript"></script>
         <script src="../lib/OpenLayers/Layer/ArcGISCache.js" type="text/javascript"></script>
         <script type="text/javascript">
@@ -93,7 +95,7 @@
             layer in conf.xml at the root of your cache. 
             (ie. <a href="http://serverx.esri.com/arcgiscache/dgaerials/Layers/conf.xml">http://serverx.esri.com/arcgiscache/dgaerials/Layers/conf.xml</a>)</p>
 
-            <p>For fused map caches this is often http:<i>ServerName</i>/arcgiscache/<i>MapServiceName</i>/Layers <br />
+            <p>For fused map caches this is often http:<i>ServerName</i>/arcgiscache/<i>MapServiceName</i>/Layers <br>
             For individual layer caches this is often  http:<i>ServerName</i>/arcgiscache/<i>LayerName</i>/Layers </p>
             
             <h2> Other Examples </h2>

Modified: sandbox/august/trunk/examples/arcgiscache_jsonp.html
===================================================================
--- sandbox/august/trunk/examples/arcgiscache_jsonp.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/arcgiscache_jsonp.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,8 +1,10 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
     <title>OpenLayers ArcGIS Cache Example (Autoconfigure with JSONP)</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
 
     <script src="../lib/OpenLayers.js"></script>
     <script src="../lib/OpenLayers/Layer/ArcGISCache.js" type="text/javascript"></script>

Modified: sandbox/august/trunk/examples/arcims-thematic.html
===================================================================
--- sandbox/august/trunk/examples/arcims-thematic.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/arcims-thematic.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>ArcIMS Thematic Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var lon = 0;

Modified: sandbox/august/trunk/examples/arcims.html
===================================================================
--- sandbox/august/trunk/examples/arcims.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/arcims.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>ArcIMS Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var lon = 0;

Modified: sandbox/august/trunk/examples/attribution.html
===================================================================
--- sandbox/august/trunk/examples/attribution.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/attribution.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Attribution Example</title>
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <script src="../lib/OpenLayers.js"></script>
 
         <script type="text/javascript">
@@ -26,8 +28,10 @@
                 map.addLayers([ol_wms, jpl_wms, vector]);
 
                 map.addControl(new OpenLayers.Control.LayerSwitcher());
-                map.addControl(new OpenLayers.Control.Attribution());
-                // map.setCenter(new OpenLayers.LonLat(0, 0), 0);
+                // OpenLayers.Control.Attribution is one of the default
+                // controls - only needs to be added when the map instance is
+                // created with the controls option
+                //map.addControl(new OpenLayers.Control.Attribution());
                 map.zoomToMaxExtent();
             }
         </script>
@@ -46,11 +50,11 @@
         <div id="map" class="smallmap"></div>
 
         <div id="docs">
-            This is an example of how to add an attribution block to the OpenLayers window.  In order to use an
+            <p>This is an example of how to add an attribution block to the OpenLayers window.  In order to use an
             attribution block, an attribution parameter must be set in each layer that requires attribution. In
             addition, an attribution control must be added to the map, though one is added to all OpenLayers Maps by default. 
             Be aware that this is a layer <strong>option</strong>: the options hash goes in
-            different places depending on the layer type you are using.  
+            different places depending on the layer type you are using.</p> 
         </div>
     </body>
 </html>

Modified: sandbox/august/trunk/examples/behavior-fixed-http-gml.html
===================================================================
--- sandbox/august/trunk/examples/behavior-fixed-http-gml.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/behavior-fixed-http-gml.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Vector Behavior Example</title>
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <script src="../lib/OpenLayers.js"></script>
         <script type="text/javascript">
             var map;
@@ -41,14 +43,14 @@
         </p>
         <div id="map" class="smallmap"></div>
         <div id="docs">
-            The vector layer shown uses the Fixed strategy, the HTTP protocol,
+            <p>The vector layer shown uses the Fixed strategy, the HTTP protocol,
             and the GML format.
             The Fixed strategy is a simple strategy that fetches features once
             and never re-requests new data.
             The HTTP protocol makes requests using HTTP verbs.  It should be
             constructed with a url that corresponds to a collection of features
             (a resource on some server).
-            The GML format is used to serialize features.
+            The GML format is used to serialize features.</p>
         </div>
     </body>
 </html>

Modified: sandbox/august/trunk/examples/bing-tiles.html
===================================================================
--- sandbox/august/trunk/examples/bing-tiles.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/bing-tiles.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,16 +1,18 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers Bing Tiles Example</title>
     <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
     <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
     .olControlAttribution {
-        left: 5px;
+        left: 2px;
         right: inherit;
-        bottom: 5px; 
+        bottom: 3px;
+        line-height: 11px; 
     }
     </style>
   </head>

Modified: sandbox/august/trunk/examples/bing.html
===================================================================
--- sandbox/august/trunk/examples/bing.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/bing.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,12 +1,13 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers Bing Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    <script src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.2&mkt=en-us"></script>
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
+    <script src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.2&amp;mkt=en-us"></script>
 
     <script src="../lib/OpenLayers.js"></script>
     <script>
@@ -53,7 +54,8 @@
     </p>
 
     <div id="map" class="smallmap"></div>
-    <div id="docs">This example demonstrates the ability to create layers using tiles from Bing maps.</div>
+    <div id="docs"><p>This example demonstrates the ability to create layers
+        using tiles from Bing maps.</p></div>
   </body>
 </html>
 

Modified: sandbox/august/trunk/examples/boxes-vector.html
===================================================================
--- sandbox/august/trunk/examples/boxes-vector.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/boxes-vector.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Boxes Vector Example</title>
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <script src="../lib/OpenLayers.js"></script>
         <script type="text/javascript">
             var box_extents = [
@@ -24,7 +26,7 @@
     
                 for (var i = 0; i < box_extents.length; i++) {
                     ext = box_extents[i];
-                    bounds = new OpenLayers.Bounds(ext[0], ext[1], ext[2], ext[3]);
+                    bounds = OpenLayers.Bounds.fromArray(ext);
                     
                     box = new OpenLayers.Feature.Vector(bounds.toGeometry());
                     boxes.addFeatures(box);

Modified: sandbox/august/trunk/examples/boxes.html
===================================================================
--- sandbox/august/trunk/examples/boxes.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/boxes.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Boxes Example</title>
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <script src="../lib/OpenLayers.js"></script>
         <script type="text/javascript">
             var box_extents = [
@@ -24,7 +26,7 @@
     
                 for (var i = 0; i < box_extents.length; i++) {
                     ext = box_extents[i];
-                    bounds = new OpenLayers.Bounds(ext[0], ext[1], ext[2], ext[3]);
+                    bounds = OpenLayers.Bounds.fromArray(ext);
                     box = new OpenLayers.Marker.Box(bounds);
                     box.events.register("click", box, function (e) {
                         this.setBorder("yellow");

Modified: sandbox/august/trunk/examples/browser.html
===================================================================
--- sandbox/august/trunk/examples/browser.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/browser.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,11 +1,12 @@
 <!DOCTYPE html>
 <html>
 <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"/>
-    <meta name="apple-mobile-web-app-capable" content="yes"/>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers Browser Detection</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script type="text/javascript" src="browser.js"></script>
     <style type="text/css">
         .olControlAttribution {

Modified: sandbox/august/trunk/examples/buffer.html
===================================================================
--- sandbox/august/trunk/examples/buffer.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/buffer.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Buffer Example</title>
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <script src="../lib/OpenLayers.js"></script>
         <script type="text/javascript">
             var lon = 0;

Modified: sandbox/august/trunk/examples/canvas-hit-detection.html
===================================================================
--- sandbox/august/trunk/examples/canvas-hit-detection.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/canvas-hit-detection.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -2,7 +2,7 @@
 <html>
     <head>
         <title>OpenLayers Canvas Hit Detection Example</title>
-        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
         <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0;">
         <meta name="apple-mobile-web-app-capable" content="yes">
         <link rel="stylesheet" href="../theme/default/style.css" type="text/css">

Modified: sandbox/august/trunk/examples/canvas-inspector.html
===================================================================
--- sandbox/august/trunk/examples/canvas-inspector.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/canvas-inspector.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -2,6 +2,7 @@
 <html>
     <head>
         <title>OpenLayers Canvas Inspector</title>
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
         <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
         <link rel="stylesheet" href="../theme/default/google.css" type="text/css">
         <link rel="stylesheet" href="style.css" type="text/css">

Modified: sandbox/august/trunk/examples/canvas.html
===================================================================
--- sandbox/august/trunk/examples/canvas.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/canvas.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <title>Canvas Renderer Example</title>
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <script src="../lib/OpenLayers.js"></script>
         <script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAjpkAC9ePGem0lIq5XcMiuhR_wWLPFku8Ix9i2SXYRVK3e45q1BQUd_beF8dtzKET_EteAjPdGDwqpQ'></script>
         <script src="canvas.js"></script>

Modified: sandbox/august/trunk/examples/click-handler.html
===================================================================
--- sandbox/august/trunk/examples/click-handler.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/click-handler.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,11 +1,13 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Click Handler Example</title>
         
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <style type="text/css">
             #map {
                 width: 340px;

Modified: sandbox/august/trunk/examples/click.html
===================================================================
--- sandbox/august/trunk/examples/click.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/click.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,11 +1,13 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Click Event Example</title>
         
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <script src="../lib/OpenLayers.js"></script>
         <script type="text/javascript">
             OpenLayers.Control.Click = OpenLayers.Class(OpenLayers.Control, {                
@@ -79,11 +81,11 @@
         <div id="map" class="smallmap"></div>
     
         <div id="docs">
-            Using the Click handler allows you to (for example) catch clicks 
+            <p>Using the Click handler allows you to (for example) catch clicks 
             without catching double clicks, something that standard browser 
             events don't do for you. (Try double clicking: you'll zoom in, 
             whereas using the browser click event, you would just get two 
-            alerts.) This example click control shows you how to use it. 
+            alerts.) This example click control shows you how to use it.</p> 
         </div>
     </body>
 </html>

Modified: sandbox/august/trunk/examples/controls.html
===================================================================
--- sandbox/august/trunk/examples/controls.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/controls.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,11 +1,13 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Map Controls Example</title>
 
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <script src="../lib/OpenLayers.js"></script>
         <script type="text/javascript">
             var map;

Modified: sandbox/august/trunk/examples/cql-format.html
===================================================================
--- sandbox/august/trunk/examples/cql-format.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/cql-format.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,8 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<!DOCTYPE html>
 <html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <title>
             OpenLayers CQL Example
         </title>

Modified: sandbox/august/trunk/examples/cross-origin.html
===================================================================
--- sandbox/august/trunk/examples/cross-origin.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/cross-origin.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -2,10 +2,11 @@
 <html>
     <head>
         <title>OpenLayers Script Protocol Example</title>
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
         <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
         <link rel="stylesheet" href="style.css" type="text/css">
-        <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-        <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <script src="../lib/OpenLayers.js"></script>
     </head>
     <body>

Modified: sandbox/august/trunk/examples/custom-control.html
===================================================================
--- sandbox/august/trunk/examples/custom-control.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/custom-control.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <title>Custom Control Example</title>
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <script src="../lib/OpenLayers.js"></script>
         <script type="text/javascript">
             var lon = 5;
@@ -58,9 +60,9 @@
         <div id="map" class="smallmap"></div>
 
         <div id="docs">
-            The control allows you to draw a rectangle, that reports its coordinates
+            <p>The control allows you to draw a rectangle, that reports its coordinates
             after creation. Hold down the shift key on your keyboard and draw a 
-            rectangle with the mouse.
+            rectangle with the mouse.</p>
         </div>
     </body>
 </html>

Modified: sandbox/august/trunk/examples/custom-style.html
===================================================================
--- sandbox/august/trunk/examples/custom-style.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/custom-style.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,11 +1,13 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <title>Custom Style Example</title>
         
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <style type="text/css">
             p {
                 width: 500px;

Modified: sandbox/august/trunk/examples/debug.html
===================================================================
--- sandbox/august/trunk/examples/debug.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/debug.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,11 +1,11 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Debug Example</title>
-        <link rel="stylesheet" href="style.css" type="text/css" />        
+        <link rel="stylesheet" href="style.css" type="text/css">        
         <script src="../lib/Firebug/firebug.js"></script>
         <script src="../lib/OpenLayers.js"></script>
         <script type="text/javascript">
@@ -39,16 +39,16 @@
 
         <div id="docs">
             <p>To run OpenLayers in debug mode, include the following script
-            tag <b>before</b> the tag that loads OpenLayers:
+            tag <b>before</b> the tag that loads OpenLayers:</p>
 
             <pre>    &lt;script src="../lib/Firebug/firebug.js"&gt;&lt;/script&gt;</pre>
 
-            The path to firebug.js must be relative to your
+            <p>The path to firebug.js must be relative to your
             html file.  With this script included calls to OpenLayers.Console
             will be displayed in the Firebug console.  For browsers without
             the Firebug extension, the script creates a Firebug Lite console.
             This console can be opened by hitting <b>F12</b> or <b>Ctrl+Shift+L</b>
-            (<b>?+Shift+L</b> on a Mac).  If you want the Firebug Lite console
+            (<b>Command+Shift+L</b> on a Mac).  If you want the Firebug Lite console
             to be open when the page loads, add <b>debug="true"</b> to the opening
             html tag of your page.  Open the console and click on the links below
             to see console calls.</p>

Modified: sandbox/august/trunk/examples/document-drag.html
===================================================================
--- sandbox/august/trunk/examples/document-drag.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/document-drag.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers Document Drag Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map, layer;
@@ -35,7 +37,7 @@
     <div id="map" class="smallmap"></div>
 
     <div id="docs">
-        This example shows how to make a map draggable outside of the map itself.
+        <p>This example shows how to make a map draggable outside of the map itself.</p>
     </div>
   </body>
 </html>

Modified: sandbox/august/trunk/examples/donut.html
===================================================================
--- sandbox/august/trunk/examples/donut.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/donut.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,8 +1,9 @@
 <!DOCTYPE html>
 <html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Polygon Hole Digitizing</title>
         <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
         <link rel="stylesheet" href="style.css" type="text/css">

Modified: sandbox/august/trunk/examples/doubleSetCenter.html
===================================================================
--- sandbox/august/trunk/examples/doubleSetCenter.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/doubleSetCenter.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,12 +1,14 @@
+<!DOCTYPE html>
 <html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Double Set Center Example</title>
        
         <script src="../lib/OpenLayers.js"></script>
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
     </head>
     <body>
         <h1 id="title">Double Set Center Example</h1>
@@ -16,7 +18,7 @@
         </div>
 
         <p id="shortdesc">
-            Demonstrate the behavior of two calls to set the center after instatiating the layer object.
+            Demonstrate the behavior of two calls to set the center after instantiating the layer object.
         </p>
 
         <div id="map" class="smallmap"></div>

Modified: sandbox/august/trunk/examples/drag-feature.html
===================================================================
--- sandbox/august/trunk/examples/drag-feature.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/drag-feature.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,11 +1,13 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <title>Drag Feature Example</title>
         
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <style type="text/css">
             #controls {
                 width: 512px;

Modified: sandbox/august/trunk/examples/draw-feature.html
===================================================================
--- sandbox/august/trunk/examples/draw-feature.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/draw-feature.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,11 +1,13 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <title>Draw Feature Example</title>
         
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <style type="text/css">
             #controlToggle li {
                 list-style: none;

Modified: sandbox/august/trunk/examples/dynamic-text-layer.html
===================================================================
--- sandbox/august/trunk/examples/dynamic-text-layer.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/dynamic-text-layer.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Vector Behavior Example</title>
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <script src="../lib/OpenLayers.js"></script>
         <script type="text/javascript">
             var map;
@@ -82,20 +84,18 @@
         </p>
         <div id="map" class="smallmap"></div>
         <div id="docs">
-            The vector layer shown uses the BBOX strategy, the HTTP protocol,
+            <p>The vector layer shown uses the BBOX strategy, the HTTP protocol,
             and the Text format.
             This setup appends "?bbox=west,south,east,north" to every
             request. This allows you to configure the location as something
             like 'textfile.php', and take the '?bbox=' parameter to select
-            data from a database or the like.
-<br /><br />
-            There is nothing about this example that limits it to text files;
-            you can do the same thing with KML, GeoJSON, etc.
-            <br /><br />
-            This is an alternative to something like the <a href="http://wiki.openstreetmap.org/index.php/OpenLayers_Dynamic_POI">OpenStreetMap "Dynamic POI"</a> example. The Layer is a standard vector layer, and interaction can be
+            data from a database or the like.</p>
+            <p>There is nothing about this example that limits it to text files;
+            you can do the same thing with KML, GeoJSON, etc.</p>
+            <p>This is an alternative to something like the <a href="http://wiki.openstreetmap.org/index.php/OpenLayers_Dynamic_POI">OpenStreetMap "Dynamic POI"</a> example. The Layer is a standard vector layer, and interaction can be
             configured via the SelectFeature control, as you can see in the 
             latter half of the code, which allows you to open a popup when
-            a feature is selected.
+            a feature is selected.</p>
         </div>
     </body>
 </html>

Modified: sandbox/august/trunk/examples/editingtoolbar-outside.html
===================================================================
--- sandbox/august/trunk/examples/editingtoolbar-outside.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/editingtoolbar-outside.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,11 +1,12 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers: Custom Editing Toolbar</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         .olControlEditingToolbar  {
             float:left;

Modified: sandbox/august/trunk/examples/editingtoolbar.html
===================================================================
--- sandbox/august/trunk/examples/editingtoolbar.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/editingtoolbar.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,17 +1,18 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Editing Toolbar Example</title>
         
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
         <!--[if lte IE 6]>
-            <link rel="stylesheet" href="../theme/default/ie6-style.css" type="text/css" />
+            <link rel="stylesheet" href="../theme/default/ie6-style.css" type="text/css">
         <![endif]-->
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="style.css" type="text/css">
         <script src="../lib/OpenLayers.js"></script>
-        <script src="../lib/Firebug/debug.js"></script>
+        <script src="../lib/Firebug/firebug.js"></script>
         <script type="text/javascript">
             var lon = 5;
             var lat = 40;

Modified: sandbox/august/trunk/examples/events.html
===================================================================
--- sandbox/august/trunk/examples/events.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/events.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,9 +1,11 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Event Handling</title>
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="style.css" type="text/css">
         <style type="text/css">
             #panel {
                 margin: 5px;

Modified: sandbox/august/trunk/examples/example-list.html
===================================================================
--- sandbox/august/trunk/examples/example-list.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/example-list.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,8 +1,9 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN">
+<!DOCTYPE html>
 <html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <!-- This is the example list source: if you are trying to look at the 
         source of an example, YOU ARE IN THE WRONG PLACE. If you want to view
         the source of just one example, you can typically choose 
@@ -11,7 +12,7 @@
         click on the link), and view source from there. -->  
         <title>OpenLayers Examples</title>
         <link rel="alternate" href="example-list.xml" type="application/atom+xml" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="style.css" type="text/css">
         <style type="text/css">
             html, body {
                 margin: 0;
@@ -281,7 +282,7 @@
                 <a jugl:attributes="href example.link" class="mainlink"
                     target="_blank">
                         <h5 class="ex_title">
-                            <span jugl:replace="example.title">title</span><br />
+                            <span jugl:replace="example.title">title</span><br>
                             <span class="ex_filename" jugl:content="'(' + example.example + ')'">filename</span>
                         </h5>
                         <div class="ex_description" jugl:content="example.shortdesc">

Modified: sandbox/august/trunk/examples/example.html
===================================================================
--- sandbox/august/trunk/examples/example.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/example.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,8 +1,9 @@
 <!DOCTYPE html>
 <html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Example</title>
         <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
         <link rel="stylesheet" href="style.css" type="text/css">

Modified: sandbox/august/trunk/examples/filter-strategy.html
===================================================================
--- sandbox/august/trunk/examples/filter-strategy.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/filter-strategy.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,8 +1,9 @@
 <!DOCTYPE html>
 <html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Filter Strategy Example</title>
         <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
         <link rel="stylesheet" href="../theme/default/google.css" type="text/css">

Modified: sandbox/august/trunk/examples/filter.html
===================================================================
--- sandbox/august/trunk/examples/filter.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/filter.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,9 +1,11 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style>
     #in {
         width: 90%;
@@ -94,11 +96,11 @@
     ]
 });
     </textarea>
-    <button id="write">write</button><br />
+    <button id="write">write</button><br>
     Filter Encoding 1.0
-    <textarea id="out0"></textarea><br />
+    <textarea id="out0"></textarea><br>
     Filter Encoding 1.1
-    <textarea id="out1"></textarea><br />
+    <textarea id="out1"></textarea><br>
     <p id="docs">
     </p>
   </body>

Modified: sandbox/august/trunk/examples/fractional-zoom.html
===================================================================
--- sandbox/august/trunk/examples/fractional-zoom.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/fractional-zoom.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,9 +1,11 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map;
@@ -53,7 +55,7 @@
                id="fractional" checked="checked" onclick="update(this)" />
         <label for="fractional">Fractional Zoom</label>
         (zoom: <span id="zoom"></span>)
-        <br /><br />
+        <br><br>
     <div id="docs">
             <p>
             Setting the map.fractionalZoom property to true allows zooming to

Modified: sandbox/august/trunk/examples/fullScreen.html
===================================================================
--- sandbox/august/trunk/examples/fullScreen.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/fullScreen.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,11 +1,12 @@
 <!DOCTYPE html>
 <html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <title>Full Screen Example</title>        
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <style type="text/css">
             html, body, #map {
                 margin: 0;

Modified: sandbox/august/trunk/examples/game-accel-ball.html
===================================================================
--- sandbox/august/trunk/examples/game-accel-ball.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/game-accel-ball.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers Game: Bounce Ball</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js?mobile"></script>
     <style type="text/css">
       html, body { height: 100%; }
@@ -74,7 +76,7 @@
 
     <div id="map" width="100%" height="100%" style="background-color: grey"></div>
     <div id="docs">
-      Demo works best when device is locked in portrait mode. 
+      <p>Demo works best when device is locked in portrait mode.</p> 
     </div>
   </body>
 </html>

Modified: sandbox/august/trunk/examples/geojson.html
===================================================================
--- sandbox/august/trunk/examples/geojson.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/geojson.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,9 +1,11 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var lon = 5;
@@ -69,7 +71,7 @@
     </p>
     <div id="map" class="smallmap"></div>
     <div id="docs">
-        This example uses the GeoJSON format.
+        <p>This example uses the GeoJSON format.</p>
     </div>
   </body>
 </html>

Modified: sandbox/august/trunk/examples/geolocation.html
===================================================================
--- sandbox/august/trunk/examples/geolocation.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/geolocation.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,7 +1,8 @@
 <!DOCTYPE html>
 <html>
     <head>
-        <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
         <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Geolocation</title>
 

Modified: sandbox/august/trunk/examples/georss-flickr.html
===================================================================
--- sandbox/august/trunk/examples/georss-flickr.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/georss-flickr.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,9 +1,11 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         .olPopupContent {
             font-size: smaller;

Modified: sandbox/august/trunk/examples/georss-markers.html
===================================================================
--- sandbox/august/trunk/examples/georss-markers.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/georss-markers.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers GeoRSS Marker Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map, layer;

Modified: sandbox/august/trunk/examples/georss.html
===================================================================
--- sandbox/august/trunk/examples/georss.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/georss.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers GeoRSS Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map, layer;
@@ -45,11 +47,11 @@
         <p>This demo uses the OpenLayers GeoRSS parser, which supports GeoRSS Simple and W3C GeoRSS. Only points are
         currently supported.  The OpenLayers GeoRSS parser will automatically connect an information bubble to the map
         markers, similar to Google maps.  In addition, the parser can use custom PNG icons for markers.  A sample GeoRSS
-        file (georss.xml) is included.
+        file (georss.xml) is included.</p>
 
         <form onsubmit="return false;">
                GeoRSS URL: <input type="text" id="url" size="50" value="georss.xml" />
-               <input type="submit" onclick="addUrl(); return false;" value="Load Feed" onsubmit="addUrl(); return false;" />
+               <input type="submit" onclick="addUrl(); return false;" value="Load Feed" onsubmit="addUrl(); return false;">
         </form>
 
         <p>The above input box allows the input of a URL to a GeoRSS feed. This feed can be local to the HTML page &mdash;

Modified: sandbox/august/trunk/examples/getfeature-wfs.html
===================================================================
--- sandbox/august/trunk/examples/getfeature-wfs.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/getfeature-wfs.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,9 +1,11 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <title>WFS: GetFeature Example (GeoServer)</title>
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
@@ -78,9 +80,5 @@
         of GetFeature requests to be issued.
     </p>
 </div>
-  </body>
-</html>
-
-
-
-</div>
+</body>
+</html>
\ No newline at end of file

Modified: sandbox/august/trunk/examples/getfeatureinfo-control.html
===================================================================
--- sandbox/august/trunk/examples/getfeatureinfo-control.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/getfeatureinfo-control.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,11 +1,13 @@
+<!DOCTYPE html>
 <html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers WMS Feature Info Example (GeoServer)</title>
     <script src="../lib/OpenLayers.js"></script>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         ul, li {
             padding-left: 0px;
@@ -44,7 +46,7 @@
 
 
     </style>
-  <script defer="defer" type="text/javascript">
+    <script defer="defer" type="text/javascript">
     OpenLayers.ProxyHost = "proxy.cgi?url=";
     
     var map, infocontrols, water, highlightlayer;
@@ -157,7 +159,7 @@
     }
 
     // function toggle(key
-  </script>
+    </script>
   </head>
   <body onload="load()">
       <h1 id="title">Feature Info Example</h1>

Modified: sandbox/august/trunk/examples/getfeatureinfo-popup.html
===================================================================
--- sandbox/august/trunk/examples/getfeatureinfo-popup.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/getfeatureinfo-popup.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,11 +1,13 @@
+<!DOCTYPE html>
 <html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>GetFeatureInfo Popup</title>
     <script src="../lib/OpenLayers.js"></script>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script>
     OpenLayers.ProxyHost = "proxy.cgi?url=";
     

Modified: sandbox/august/trunk/examples/gml-layer.html
===================================================================
--- sandbox/august/trunk/examples/gml-layer.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/gml-layer.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
       <title>OpenLayers GML Layer Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var lon = 5;
@@ -31,7 +33,7 @@
 
       <p id="shortdesc">
           Loads locally stored GML vector data on a basemap. Includes GML example file.
-    </p>
+      </p>
 
     <div id="map" class="smallmap"></div>
 

Copied: sandbox/august/trunk/examples/google-ng.html (from rev 12095, trunk/openlayers/examples/google-ng.html)
===================================================================
--- sandbox/august/trunk/examples/google-ng.html	                        (rev 0)
+++ sandbox/august/trunk/examples/google-ng.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
+        <title>OpenLayers Google NG Layer Example</title>
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="../theme/default/google.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
+        <style type="text/css">
+        .olControlAttribution {
+            left: 2px;
+            right: inherit;
+            bottom: 3px; 
+            line-height: 11px;
+            font-family: Arial, sans-serif;
+        }
+        </style>
+        <script src="http://maps.google.com/maps/api/js?v=3.5&amp;sensor=false"></script>
+        <script src="../lib/OpenLayers.js"></script>
+        <script src="google-ng.js"></script>
+    </head>
+    <body onload="init()">
+        <h1 id="title">Google NG Layer Example</h1>
+        <div id="tags">
+            Google, api key, apikey
+        </div>
+        <p id="shortdesc">
+            Demonstrate use of tiles from the Google Maps v3 API.
+        </p>
+        <div id="map" class="smallmap"></div>
+        <div id="docs">
+            <p>
+                If you use OpenLayers.Layer.GoogleNG, the getTile method of the
+                GMaps v3 API's MapType is used to load tiles.  This allows for
+                better integration than interacting with a whole map generated
+                by a google.maps.Map instance, as done with
+                OpenLayers.Layer.Google.  See the
+                <a href="google-ng.js" target="_blank">google-ng.js source</a> 
+                to see how this is done.
+            </p>
+        </div>
+    </body>
+</html>

Copied: sandbox/august/trunk/examples/google-ng.js (from rev 12095, trunk/openlayers/examples/google-ng.js)
===================================================================
--- sandbox/august/trunk/examples/google-ng.js	                        (rev 0)
+++ sandbox/august/trunk/examples/google-ng.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -0,0 +1,28 @@
+var map;
+
+function init() {
+    map = new OpenLayers.Map('map');
+    map.addControl(new OpenLayers.Control.LayerSwitcher());
+    
+    var gphy = new OpenLayers.Layer.GoogleNG(
+        {type: google.maps.MapTypeId.TERRAIN}
+    );
+    var gmap = new OpenLayers.Layer.GoogleNG(
+        // ROADMAP, the default
+    );
+    var ghyb = new OpenLayers.Layer.GoogleNG(
+        {type: google.maps.MapTypeId.HYBRID}
+    );
+    var gsat = new OpenLayers.Layer.GoogleNG(
+        {type: google.maps.MapTypeId.SATELLITE}
+    );
+
+    map.addLayers([gphy, gmap, ghyb, gsat]);
+
+    // GoogleNG uses EPSG:900913 as projection, so we have to
+    // transform our coordinates
+    map.setCenter(new OpenLayers.LonLat(10.2, 48.9).transform(
+        new OpenLayers.Projection("EPSG:4326"),
+        map.getProjectionObject()
+    ), 5);
+}

Modified: sandbox/august/trunk/examples/google-reproject.html
===================================================================
--- sandbox/august/trunk/examples/google-reproject.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/google-reproject.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers Google with Overlay Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <!-- this gmaps key generated for http://openlayers.org/dev/ -->
     <script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAjpkAC9ePGem0lIq5XcMiuhR_wWLPFku8Ix9i2SXYRVK3e45q1BQUd_beF8dtzKET_EteAjPdGDwqpQ'></script>
     <script src="../lib/OpenLayers.js"></script>
@@ -50,12 +52,12 @@
     <div id="map" class="smallmap"></div>
 
     <div id="docs">
-        An overlay in a Geographic projection can be stretched to somewhat
+        <p>An overlay in a Geographic projection can be stretched to somewhat
         line up with Google tiles (in a Mercator projection).  Results get
         worse farther from the equator.  Use the "reproject" option on a
         layer to get this behavior.  Use the sphericalMercator option on
         a Google layer to get proper overlays (with other layers in
-        Spherical Mercator).
+        Spherical Mercator).</p>
     </div>
   </body>
 </html>

Modified: sandbox/august/trunk/examples/google-v3-alloverlays.html
===================================================================
--- sandbox/august/trunk/examples/google-v3-alloverlays.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/google-v3-alloverlays.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,8 +1,9 @@
 <!DOCTYPE html>
 <html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Google (v3) Layer Example</title>
         <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
         <link rel="stylesheet" href="../theme/default/google.css" type="text/css">

Modified: sandbox/august/trunk/examples/google-v3.html
===================================================================
--- sandbox/august/trunk/examples/google-v3.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/google-v3.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,13 +1,14 @@
 <!DOCTYPE html>
 <html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Google (v3) Layer Example</title>
         <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
         <link rel="stylesheet" href="../theme/default/google.css" type="text/css">
         <link rel="stylesheet" href="style.css" type="text/css">
-        <script src="http://maps.google.com/maps/api/js?v=3.3&amp;sensor=false"></script>
+        <script src="http://maps.google.com/maps/api/js?v=3.5&amp;sensor=false"></script>
         <script src="../lib/OpenLayers.js"></script>
         <script src="google-v3.js"></script>
     </head>

Modified: sandbox/august/trunk/examples/google.html
===================================================================
--- sandbox/august/trunk/examples/google.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/google.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,11 +1,13 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers Google Layer Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="../theme/default/google.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="../theme/default/google.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <!-- this gmaps key generated for http://openlayers.org/dev/ -->
     <script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAjpkAC9ePGem0lIq5XcMiuhR_wWLPFku8Ix9i2SXYRVK3e45q1BQUd_beF8dtzKET_EteAjPdGDwqpQ'></script>
     <script src="../lib/OpenLayers.js"></script>

Modified: sandbox/august/trunk/examples/graphic-name.html
===================================================================
--- sandbox/august/trunk/examples/graphic-name.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/graphic-name.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,12 +1,13 @@
 <!DOCTYPE html>
 <html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
         <title>OpenLayers Graphic Names</title>
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <script src="../lib/OpenLayers.js" type="text/javascript"></script>
         <script src="./graphic-name.js" type="text/javascript"></script>
     </head>

Modified: sandbox/august/trunk/examples/graticule.html
===================================================================
--- sandbox/august/trunk/examples/graticule.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/graticule.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,11 +1,13 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Graticule Example</title>
 
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <style type="text/css">
             #map {
                 width: 600px;

Modified: sandbox/august/trunk/examples/gutter.html
===================================================================
--- sandbox/august/trunk/examples/gutter.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/gutter.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
+<!DOCTYPE html>
 <html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-      <title>OpenLayers Gutter Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <title>OpenLayers Gutter Example</title>
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         p.caption {
             width: 512px;

Modified: sandbox/august/trunk/examples/highlight-feature.html
===================================================================
--- sandbox/august/trunk/examples/highlight-feature.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/highlight-feature.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,13 +1,15 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>SelectFeature Control for Select and Highlight</title> 
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
     <!--[if lte IE 6]>
-        <link rel="stylesheet" href="../theme/default/ie6-style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/ie6-style.css" type="text/css">
     <![endif]-->
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         #controlToggle li {
             list-style: none;

Modified: sandbox/august/trunk/examples/hover-handler.html
===================================================================
--- sandbox/august/trunk/examples/hover-handler.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/hover-handler.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Hover Handler Example</title>
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />        
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">        
         <style type="text/css">
             #map {
                 width: 340px;

Modified: sandbox/august/trunk/examples/image-layer.html
===================================================================
--- sandbox/august/trunk/examples/image-layer.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/image-layer.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-      <title>OpenLayers Image Layer Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <title>OpenLayers Image Layer Example</title>
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         p.caption {
             width: 512px;

Modified: sandbox/august/trunk/examples/intersects.html
===================================================================
--- sandbox/august/trunk/examples/intersects.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/intersects.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,13 +1,15 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>Geometry Intersections</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
     <!--[if lte IE 6]>
-        <link rel="stylesheet" href="../theme/default/ie6-style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/ie6-style.css" type="text/css">
     <![endif]-->
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         html, body {
             margin: 0;
@@ -180,11 +182,11 @@
         </div>
     </div>
     <div id="info">
-        Features
-        <input type="button" value="refresh" onclick="serialize();" /><br />
+        <p>Features</p>
+        <input type="button" value="refresh" onclick="serialize();"><br>
         <textarea id="features"></textarea>
-        Intersections
-        <input type="button" value="intersect all" onclick="intersect();" /><br />
+        <p>Intersections</p>
+        <input type="button" value="intersect all" onclick="intersect();"><br>
         <textarea id="intersections"></textarea>
     </div>
   </body>

Modified: sandbox/august/trunk/examples/kamap.html
===================================================================
--- sandbox/august/trunk/examples/kamap.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/kamap.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers KaMap Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map;

Modified: sandbox/august/trunk/examples/kinetic.html
===================================================================
--- sandbox/august/trunk/examples/kinetic.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/kinetic.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -2,8 +2,9 @@
 <html>
   <head>
     <title>OpenLayers Kinetic Dragging Example</title>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
     <link rel="stylesheet" href="style.css" type="text/css">
   </head>

Modified: sandbox/august/trunk/examples/kml-layer.html
===================================================================
--- sandbox/august/trunk/examples/kml-layer.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/kml-layer.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,8 +1,9 @@
 <!DOCTYPE html>
 <html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
         <link rel="stylesheet" href="style.css" type="text/css">
     </head>

Modified: sandbox/august/trunk/examples/kml-pointtrack.html
===================================================================
--- sandbox/august/trunk/examples/kml-pointtrack.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/kml-pointtrack.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,8 +1,9 @@
 <!DOCTYPE html>
 <html>
     <head>
-        <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-        <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers KML Track in a PointTrack Layer Example</title>
         <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
         <link rel="stylesheet" href="../theme/default/google.css" type="text/css">
@@ -33,6 +34,7 @@
             <p>
                 View the <a href="kml-pointtrack.js" target="_blank">kml-pointtrack.js</a>
                 source to see how this is done.
+            </p>
         </div>
     </body>
 </html>

Modified: sandbox/august/trunk/examples/kml-track.html
===================================================================
--- sandbox/august/trunk/examples/kml-track.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/kml-track.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,8 +1,9 @@
 <!DOCTYPE html>
 <html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers KLM Track Parsing Example</title>
         <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
         <link rel="stylesheet" href="../theme/default/google.css" type="text/css">

Modified: sandbox/august/trunk/examples/late-render.html
===================================================================
--- sandbox/august/trunk/examples/late-render.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/late-render.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers Late Rendering Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>    
     <script type="text/javascript">
     
@@ -36,11 +38,11 @@
     </p>
     <div id="container_id" class="smallmap"></div>    
     <div id="docs">
-        In cases where you need to create a map first and render it to some
+        <p>In cases where you need to create a map first and render it to some
         container later, call the map constructor without a "div" argument.
         In this case, you can provide the options object as the first argument.
         To render your map to some container after construction, call the map's
-        render method with the container id.
+        render method with the container id.</p>
     </div>
   </body>
 </html>

Modified: sandbox/august/trunk/examples/layer-opacity.html
===================================================================
--- sandbox/august/trunk/examples/layer-opacity.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/layer-opacity.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
       <title>OpenLayers Layer Opacity Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         body {
             font-family: sans-serif;

Modified: sandbox/august/trunk/examples/layerLoadMonitoring.html
===================================================================
--- sandbox/august/trunk/examples/layerLoadMonitoring.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/layerLoadMonitoring.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers Layer Load Monitoring Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         #controls {
             float: left;

Modified: sandbox/august/trunk/examples/layerswitcher.html
===================================================================
--- sandbox/august/trunk/examples/layerswitcher.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/layerswitcher.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
       <title>OpenLayers Layer Switcher Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map;

Modified: sandbox/august/trunk/examples/lite.html
===================================================================
--- sandbox/august/trunk/examples/lite.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/lite.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers Basic Single WMS Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map, layer;
@@ -30,7 +32,8 @@
     <div id="map" class="smallmap"></div>
 
     <div id="docs">
-        This example shows a very simple layout with minimal controls.  This example uses a single WMS base layer.
+        <p>This example shows a very simple layout with minimal controls.
+        This example uses a single WMS base layer.</p>
     </div>
   </body>
 </html>

Modified: sandbox/august/trunk/examples/mapguide.html
===================================================================
--- sandbox/august/trunk/examples/mapguide.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/mapguide.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers MapGuide Layer Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         #map {
             width: 400px;

Modified: sandbox/august/trunk/examples/mapserver.html
===================================================================
--- sandbox/august/trunk/examples/mapserver.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/mapserver.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>MapServer Layer</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var lon = 5;
@@ -31,7 +33,9 @@
     <div id="shortdesc">Shows MapServer Layer</div>
     <div id="map" class="smallmap"></div>
     <div id="docs">
-        This is an example of using a MapServer Layer with a gutter parameter.  The gutter parameter is used to try to limit the edge effects between tiles.
+        <p>This is an example of using a MapServer Layer with a gutter
+        parameter.  The gutter parameter is used to try to limit the edge
+        effects between tiles.</p>
     </div>
   </body>
 </html>

Modified: sandbox/august/trunk/examples/mapserver_untiled.html
===================================================================
--- sandbox/august/trunk/examples/mapserver_untiled.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/mapserver_untiled.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>MapServer Single Tile Mode</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         #map {
             width: 100%;
@@ -33,7 +35,9 @@
     <div id="shortdesc">Shows single tile MapServer Layer</div>
     <div id="map" class="smallmap"></div>
     <div id="docs">
-        This shows an example of using a MapServer Layer in single tile mode.  Single tile mode can be useful when pulling data from dynamic sources.
+        <p>This shows an example of using a MapServer Layer in single tile
+        mode.  Single tile mode can be useful when pulling data from dynamic
+        sources.</p>
     </div>
   </body>
 </html>

Modified: sandbox/august/trunk/examples/marker-shadow.html
===================================================================
--- sandbox/august/trunk/examples/marker-shadow.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/marker-shadow.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers: Vector Graphics with Shadows</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         .smallmap {
             width: 300px;

Modified: sandbox/august/trunk/examples/markerResize.html
===================================================================
--- sandbox/august/trunk/examples/markerResize.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/markerResize.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>Resize a Marker</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map, layer;
@@ -48,7 +50,10 @@
     <div id="shortdesc">Dynamically resize a marker</div>
     <div id="map" class="smallmap"></div>
     <div id="docs">
-        This example shows how to create a OpenLayers.Layer.Markers layer, add an icon, put it into a marker, and add the marker to the layer.  Once the marker has been added it is possible to use setSize() on the icon in order to resize the marker.
+        <p>This example shows how to create a OpenLayers.Layer.Markers layer,
+        add an icon, put it into a marker, and add the marker to the layer.
+        Once the marker has been added it is possible to use setSize() on the
+        icon in order to resize the marker.</p>
     </div>
     <div style="background-color:purple" onclick="resize()"> click to resize marker</div>
   </body>

Modified: sandbox/august/trunk/examples/markers.html
===================================================================
--- sandbox/august/trunk/examples/markers.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/markers.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>Markers Layer Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map, layer;
@@ -49,7 +51,9 @@
     <div id="shortdesc">Show markers layer with different markers</div>
     <div id="map" class="smallmap"></div>
     <div id="docs">
-        This is an example of an OpenLayers.Layers.Markers layer that shows some examples of adding markers.  Also demonstrated is registering a mousedown effect on a marker.
+        <p>This is an example of an OpenLayers.Layers.Markers layer that shows
+        some examples of adding markers.  Also demonstrated is registering a
+        mousedown effect on a marker.</p>
     </div>
   </body>
 </html>

Modified: sandbox/august/trunk/examples/markersTextLayer.html
===================================================================
--- sandbox/august/trunk/examples/markersTextLayer.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/markersTextLayer.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>Using a Layer.Text to display markers</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map, layer;

Modified: sandbox/august/trunk/examples/measure.html
===================================================================
--- sandbox/august/trunk/examples/measure.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/measure.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,9 +1,11 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         #controlToggle li {
             list-style: none;

Modified: sandbox/august/trunk/examples/mm.html
===================================================================
--- sandbox/august/trunk/examples/mm.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/mm.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>MultiMap</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         #map {
             width: 100%;

Modified: sandbox/august/trunk/examples/mobile-base.js
===================================================================
--- sandbox/august/trunk/examples/mobile-base.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/mobile-base.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -51,7 +51,6 @@
             new OpenLayers.Control.Attribution(),
             new OpenLayers.Control.TouchNavigation({
                 dragPanOptions: {
-                    interval: 100,
                     enableKinetic: true
                 }
             }),

Modified: sandbox/august/trunk/examples/mobile-drawing.html
===================================================================
--- sandbox/august/trunk/examples/mobile-drawing.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/mobile-drawing.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -3,7 +3,7 @@
     <head>
         <title>OpenLayers Mobile Drawing</title>
         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-        <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0;">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
         <meta name="apple-mobile-web-app-capable" content="yes">
         <link rel="stylesheet" href="style.mobile.css" type="text/css">
         <link rel="stylesheet" href="../theme/default/style.css" type="text/css">

Modified: sandbox/august/trunk/examples/mobile-drawing.js
===================================================================
--- sandbox/august/trunk/examples/mobile-drawing.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/mobile-drawing.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -48,11 +48,7 @@
             -20037508.34, -20037508.34, 20037508.34, 20037508.34
         ),
         controls: [
-            new OpenLayers.Control.TouchNavigation({
-                dragPanOptions: {
-                    interval: 100
-                }
-            }),
+            new OpenLayers.Control.TouchNavigation(),
             new OpenLayers.Control.ZoomPanel(),
             toolbar
         ],

Modified: sandbox/august/trunk/examples/mobile-jq.html
===================================================================
--- sandbox/august/trunk/examples/mobile-jq.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/mobile-jq.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -3,7 +3,7 @@
     <head>
         <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
         <title>OpenLayers with jQuery Mobile</title>
-        <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0;">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
         <meta name="apple-mobile-web-app-capable" content="yes">
         <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.css">
         <script src="http://code.jquery.com/jquery-1.5.min.js"></script>

Modified: sandbox/august/trunk/examples/mobile-layers.html
===================================================================
--- sandbox/august/trunk/examples/mobile-layers.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/mobile-layers.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -3,7 +3,7 @@
 <head>
     <title>OpenLayers Mobile Layers</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
-    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0;">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
     <meta name="apple-mobile-web-app-capable" content="yes">
     <link rel="stylesheet" href="style.mobile.css" type="text/css">
     <script src="../lib/OpenLayers.js?mobile"></script>

Modified: sandbox/august/trunk/examples/mobile-layers.js
===================================================================
--- sandbox/august/trunk/examples/mobile-layers.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/mobile-layers.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -29,7 +29,6 @@
             new OpenLayers.Control.Attribution(),
             new OpenLayers.Control.TouchNavigation({
                 dragPanOptions: {
-                    interval: 100,
                     enableKinetic: true
                 }
             }),

Modified: sandbox/august/trunk/examples/mobile-navigation.html
===================================================================
--- sandbox/august/trunk/examples/mobile-navigation.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/mobile-navigation.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,12 +1,13 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>Mobile Navigation Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
     <link rel="stylesheet" href="style.mobile.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script type="text/javascript" src="../lib/OpenLayers.js?mobile"></script>
     <script type="text/javascript" src="mobile-navigation.js"></script>
   </head>

Modified: sandbox/august/trunk/examples/mobile-navigation.js
===================================================================
--- sandbox/august/trunk/examples/mobile-navigation.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/mobile-navigation.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -14,7 +14,6 @@
         controls: [
             new OpenLayers.Control.TouchNavigation({
                 dragPanOptions: {
-                    interval: 100,
                     enableKinetic: true
                 }
             }),

Modified: sandbox/august/trunk/examples/mobile-sencha.html
===================================================================
--- sandbox/august/trunk/examples/mobile-sencha.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/mobile-sencha.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
     <head>
-        <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"/>
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
         <meta name="apple-mobile-web-app-capable" content="yes"/>
         <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
         <title>OpenLayers with Sencha Touch</title>

Modified: sandbox/august/trunk/examples/mobile.html
===================================================================
--- sandbox/august/trunk/examples/mobile.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/mobile.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -3,7 +3,7 @@
     <head>
         <title>OpenLayers Mobile</title>
         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-        <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0;">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
         <meta name="apple-mobile-web-app-capable" content="yes">
         <link rel="stylesheet" href="style.mobile.css" type="text/css">
         <script src="../lib/OpenLayers.js?mobile"></script>

Modified: sandbox/august/trunk/examples/mobile.js
===================================================================
--- sandbox/august/trunk/examples/mobile.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/mobile.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -23,7 +23,6 @@
             new OpenLayers.Control.Attribution(),
             new OpenLayers.Control.TouchNavigation({
                 dragPanOptions: {
-                    interval: 100,
                     enableKinetic: true
                 }
             }),

Modified: sandbox/august/trunk/examples/modify-feature.html
===================================================================
--- sandbox/august/trunk/examples/modify-feature.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/modify-feature.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>Modify Feature</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         #controls {
             width: 512px;

Modified: sandbox/august/trunk/examples/mouse-position.html
===================================================================
--- sandbox/august/trunk/examples/mouse-position.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/mouse-position.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,12 +1,12 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 <html xmlns="http://www.w3.org/1999/xhtml" debug="true">
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>MousePosition Control</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map;
@@ -40,6 +40,8 @@
     </p>  
     <div id="map" class="smallmap"></div>
     <div id="coords"></div>
-    <p>Moving your mouse to the upper left corner of this map should return 'x=0,y=0' -- in the past, it didn't in IE. If it returns 2,2, consider it a bug, and report it.</p> 
+    <p>Moving your mouse to the upper left corner of this map should return
+    'x=0,y=0' -- in the past, it didn't in IE. If it returns 2,2, consider it a
+    bug, and report it.</p> 
   </body>
 </html>

Modified: sandbox/august/trunk/examples/mousewheel-interval.html
===================================================================
--- sandbox/august/trunk/examples/mousewheel-interval.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/mousewheel-interval.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers Mousewheel Interval Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map, layer;

Modified: sandbox/august/trunk/examples/multimap-mercator.html
===================================================================
--- sandbox/august/trunk/examples/multimap-mercator.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/multimap-mercator.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,13 +1,15 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>MultiMap SphericalMercator</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
     <!--[if lte IE 6]>
         <link rel="stylesheet" href="../theme/default/ie6-style.css" type="text/css" />
     <![endif]-->
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         #map {
             width: 100%;

Modified: sandbox/august/trunk/examples/multiserver.html
===================================================================
--- sandbox/august/trunk/examples/multiserver.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/multiserver.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers: Tiles from Multiple Servers</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var lon = 5;
@@ -37,7 +39,13 @@
 
     <div id="map" class="smallmap"></div>
     <div id="docs">
-    Browsers typically limit the number of concurrent requests to the same server, based on hostname. In order to ake tiles load more quickly, it often makes sense to distribute requests over multiple hostnames to achieve more concurrency. Typically, browsers perform best with 3 different hostnames -- your performance may vary. (For example, if your server can't handle more than 2 requests simultaneously, then additional hostnames will not help you.)    
+    <p>Browsers typically limit the number of concurrent requests to the same
+    server, based on hostname. In order to ake tiles load more quickly, it
+    often makes sense to distribute requests over multiple hostnames to achieve
+    more concurrency. Typically, browsers perform best with 3 different
+    hostnames -- your performance may vary. (For example, if your server can't
+    handle more than 2 requests simultaneously, then additional hostnames will
+    not help you.)</p>    
    </div>
    
   </body>

Modified: sandbox/august/trunk/examples/multitouch.html
===================================================================
--- sandbox/august/trunk/examples/multitouch.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/multitouch.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,5 +1,7 @@
+<!DOCTYPE html>
 <html>
   <head>
+   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Multitouch Test</title>
   </head>
   <body>

Modified: sandbox/august/trunk/examples/mvs.html
===================================================================
--- sandbox/august/trunk/examples/mvs.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/mvs.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
 <html>
 <!-- 
      This probably needs to be renamed index.html for deployment.
@@ -5,8 +6,9 @@
      directory it is in.
 -->
 <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
 
     <!-- this gmaps key generated for http://openlayers.org/dev/ -->
     <script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAA9XNhd8q0UdwNC7YSO4YZghSPUCi5aRYVveCcVYxzezM4iaj_gxQ9t-UajFL70jfcpquH5l1IJ-Zyyw'></script>

Modified: sandbox/august/trunk/examples/navigation-control.html
===================================================================
--- sandbox/august/trunk/examples/navigation-control.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/navigation-control.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers Navigation Control</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map, layer;
@@ -32,7 +34,11 @@
     <div id="map" class="smallmap"></div>
     <a href="#" onclick="nav.enableZoomWheel();return false">Turn on Wheel Zoom</a> | <a href="#" onclick="nav.disableZoomWheel(); return false;">Turn off Wheel Zoom</a>
     <div id="docs">
-        This example demonstrates a couple features of the Navigation control. The Navigation control controls most map dragging, movement, zooming, etc. In this case, we have a demonstration of how to create a navigation control with no zoom wheel action, which can then be enabled or disabled by the user.
+        <p>This example demonstrates a couple features of the Navigation
+        control. The Navigation control controls most map dragging, movement,
+        zooming, etc. In this case, we have a demonstration of how to create a
+        navigation control with no zoom wheel action, which can then be enabled
+        or disabled by the user.</p>
     </div>
   </body>
 </html>

Modified: sandbox/august/trunk/examples/navigation-history.html
===================================================================
--- sandbox/august/trunk/examples/navigation-history.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/navigation-history.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,9 +1,11 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Navigation History Example</title>
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="style.css" type="text/css">
         <style>
             #panel {
                 right: 0px;

Modified: sandbox/august/trunk/examples/navtoolbar-alwaysZoom.html
===================================================================
--- sandbox/august/trunk/examples/navtoolbar-alwaysZoom.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/navtoolbar-alwaysZoom.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
 	<head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+        <meta name="apple-mobile-web-app-capable" content="yes">
 		<title>A navToolbar with an alwaysZoom ZoomBox</title>
-		<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-	    <link rel="stylesheet" href="style.css" type="text/css" />
+		<link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+	    <link rel="stylesheet" href="style.css" type="text/css">
 		<!-- Override the position of the toolbar to make it fit in a small map -->
 		<style type='text/css'>     
 			.olControlNavToolbar {
@@ -47,7 +49,7 @@
 				     */
 				    draw: function() {
 				        var div = OpenLayers.Control.Panel.prototype.draw.apply(this, arguments);
-				        this.activateControl(this.controls[0]);
+                        this.defaultControl = this.controls[0];
 				        return div;
 				    }
 				});

Modified: sandbox/august/trunk/examples/navtoolbar-outsidemap.html
===================================================================
--- sandbox/august/trunk/examples/navtoolbar-outsidemap.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/navtoolbar-outsidemap.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers: Custom Navigation Toolbar</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var lon = 5;

Modified: sandbox/august/trunk/examples/navtoolbar.html
===================================================================
--- sandbox/august/trunk/examples/navtoolbar.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/navtoolbar.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,9 +1,11 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <title>NavToolbar Demo</title>
     <style type='text/css'>    
         #map {

Modified: sandbox/august/trunk/examples/openls.html
===================================================================
--- sandbox/august/trunk/examples/openls.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/openls.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,6 +1,8 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
 <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"/>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
     <meta name="apple-mobile-web-app-capable" content="yes"/>
     <link rel="stylesheet" href="../theme/default/style.css" type="text/css"/>
     <link rel="stylesheet" href="style.css" type="text/css"/>

Modified: sandbox/august/trunk/examples/ordering.html
===================================================================
--- sandbox/august/trunk/examples/ordering.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/ordering.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers: Z-Ordering and Y-Ordering of Vector Features</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         .smallmap {
             width: 300px;

Modified: sandbox/august/trunk/examples/osm-google.html
===================================================================
--- sandbox/august/trunk/examples/osm-google.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/osm-google.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,8 +1,9 @@
 <!DOCTYPE html>
 <html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers OSM and Google Example</title>
         <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
         <link rel="stylesheet" href="../theme/default/google.css" type="text/css">

Modified: sandbox/august/trunk/examples/osm-layer.html
===================================================================
--- sandbox/august/trunk/examples/osm-layer.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/osm-layer.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers: OSM Layer</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style>
         #map {
             height: 350px;

Modified: sandbox/august/trunk/examples/osm.html
===================================================================
--- sandbox/august/trunk/examples/osm.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/osm.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers Basic Single WMS Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map, layer;
@@ -33,7 +35,7 @@
     <div id="map" class="smallmap"></div>
 
     <div id="docs">
-        This example shows a very simple OSM layout with minimal controls. 
+        <p>This example shows a very simple OSM layout with minimal controls.</p> 
     </div>
   </body>
 </html>

Modified: sandbox/august/trunk/examples/outOfRangeMarkers.html
===================================================================
--- sandbox/august/trunk/examples/outOfRangeMarkers.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/outOfRangeMarkers.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
 <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>Using maxResolution to control overlays</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style>
         #map {
             height: 350px;

Modified: sandbox/august/trunk/examples/overviewmap.html
===================================================================
--- sandbox/august/trunk/examples/overviewmap.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/overviewmap.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,11 @@
 <html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <title>Overview Map Example</title>
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <script src="../lib/OpenLayers.js" type="text/javascript"></script>
         <style>
         #map1 {

Modified: sandbox/august/trunk/examples/pan-zoom-panels.html
===================================================================
--- sandbox/august/trunk/examples/pan-zoom-panels.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/pan-zoom-panels.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,9 +1,10 @@
 <html>
 <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>Pan and Zoom Panels</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
 
     <!-- 
       -- Special stylesheet inclusion for ie6, which doesn't handle the alpha 
@@ -16,7 +17,7 @@
         <link rel="stylesheet" href="../theme/default/ie6-style.css" type="text/css" />
     <![endif]-->
 
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script type="text/javascript" src="../lib/OpenLayers.js"></script>
     <script>
     var map;

Modified: sandbox/august/trunk/examples/panel.html
===================================================================
--- sandbox/august/trunk/examples/panel.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/panel.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers: Control Panel</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         .olControlPanel div { 
           display:block;

Modified: sandbox/august/trunk/examples/point-track-markers.html
===================================================================
--- sandbox/august/trunk/examples/point-track-markers.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/point-track-markers.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers: Point Track Markers</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map, layer, rss, lineFeatures, popup;

Modified: sandbox/august/trunk/examples/popupMatrix.html
===================================================================
--- sandbox/august/trunk/examples/popupMatrix.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/popupMatrix.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml" debug="true">
+<!DOCTYPE html>
+<html debug="true">
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers: Popup Mayhem</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         #map {
             width: 900px;
@@ -899,7 +901,7 @@
              tiny and you can only see a corner of it, then this code is broken.
         </p>
 
-      <br/>      
+      <br>      
 
       
    </div>

Modified: sandbox/august/trunk/examples/popups.html
===================================================================
--- sandbox/august/trunk/examples/popups.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/popups.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,9 +1,11 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAjpkAC9ePGem0lIq5XcMiuhR_wWLPFku8Ix9i2SXYRVK3e45q1BQUd_beF8dtzKET_EteAjPdGDwqpQ'></script>
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">

Modified: sandbox/august/trunk/examples/projected-map.html
===================================================================
--- sandbox/august/trunk/examples/projected-map.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/projected-map.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers: Non-Geographic Projection</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
     #map {
     width: 100%;

Modified: sandbox/august/trunk/examples/protocol-gears.html
===================================================================
--- sandbox/august/trunk/examples/protocol-gears.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/protocol-gears.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,12 +1,14 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
     <!--[if lte IE 6]>
         <link rel="stylesheet" href="../theme/default/ie6-style.css" type="text/css" />
     <![endif]-->
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         .float-left {
             float: left;

Modified: sandbox/august/trunk/examples/regular-polygons.html
===================================================================
--- sandbox/august/trunk/examples/regular-polygons.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/regular-polygons.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers Regular Polygon Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         p {
             width: 512px;

Modified: sandbox/august/trunk/examples/resize-features.html
===================================================================
--- sandbox/august/trunk/examples/resize-features.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/resize-features.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers Resize Features Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         p {
             width: 500px;

Modified: sandbox/august/trunk/examples/restricted-extent.html
===================================================================
--- sandbox/august/trunk/examples/restricted-extent.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/restricted-extent.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers Restricted Extent Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/Firebug/firebug.js"></script>
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">

Modified: sandbox/august/trunk/examples/rotate-features.html
===================================================================
--- sandbox/august/trunk/examples/rotate-features.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/rotate-features.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers Rotate Features Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         p {
             width: 500px;

Modified: sandbox/august/trunk/examples/select-feature-multilayer.html
===================================================================
--- sandbox/august/trunk/examples/select-feature-multilayer.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/select-feature-multilayer.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>SelectFeature Control on multiple vector layers</title> 
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         #controlToggle li {
             list-style: none;

Modified: sandbox/august/trunk/examples/select-feature-openpopup.html
===================================================================
--- sandbox/august/trunk/examples/select-feature-openpopup.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/select-feature-openpopup.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>Open Popup on Layer.Vector</title> 
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         #controlToggle li {
             list-style: none;
@@ -21,7 +23,7 @@
             popup = new OpenLayers.Popup.FramedCloud("chicken", 
                                      feature.geometry.getBounds().getCenterLonLat(),
                                      null,
-                                     "<div style='font-size:.8em'>Feature: " + feature.id +"<br />Area: " + feature.geometry.getArea()+"</div>",
+                                     "<div style='font-size:.8em'>Feature: " + feature.id +"<br>Area: " + feature.geometry.getArea()+"</div>",
                                      null, true, onPopupClose);
             feature.popup = popup;
             map.addPopup(popup);

Modified: sandbox/august/trunk/examples/select-feature.html
===================================================================
--- sandbox/august/trunk/examples/select-feature.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/select-feature.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>SelectFeature Control on Layer.Vector</title> 
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         #controlToggle li {
             list-style: none;

Modified: sandbox/august/trunk/examples/setextent.html
===================================================================
--- sandbox/august/trunk/examples/setextent.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/setextent.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,10 @@
 <html>
 <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
 <title>Setting a visual Extent</title>
-<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+<link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
 <script src="../lib/OpenLayers.js"></script>
 </head>
 <body>

Modified: sandbox/august/trunk/examples/simplify-linestring.html
===================================================================
--- sandbox/august/trunk/examples/simplify-linestring.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/simplify-linestring.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,8 +1,9 @@
 <!DOCTYPE html>
 <html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
         <title>Simplify a LineString geometry</title>
         <link rel="stylesheet" href="../theme/default/style.css" type="text/css">

Modified: sandbox/august/trunk/examples/single-tile.html
===================================================================
--- sandbox/august/trunk/examples/single-tile.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/single-tile.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,8 +1,9 @@
 <!DOCTYPE html>
 <html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers: Single Tile</title>
         <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
         <link rel="stylesheet" href="style.css" type="text/css">

Modified: sandbox/august/trunk/examples/sld-parser.html
===================================================================
--- sandbox/august/trunk/examples/sld-parser.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/sld-parser.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,11 +1,12 @@
 <!DOCTYPE html>
 <html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers SLD Parser</title>
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <script src="../lib/OpenLayers.js"></script>
         <style>
             #input {

Modified: sandbox/august/trunk/examples/sld.html
===================================================================
--- sandbox/august/trunk/examples/sld.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/sld.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,9 +1,11 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/Firebug/firebug.js"></script>
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
@@ -106,16 +108,16 @@
     namedLayers object of the return from format.read().</p>
     <p>Select a new style for the WaterBodies layer below:</p>
     <form>
-      <input type="radio" name="style" onclick="setStyle(this.value)" checked="checked" value="0">Default Styler (zoom in to see more features)</input><br/>
-      <input type="radio" name="style" onclick="setStyle(this.value)" value="3">Styler Test PropertyIsEqualTo</input><br/>
-      <input type="radio" name="style" onclick="setStyle(this.value)" value="4">Styler Test WATER_TYPE</input><br/>
-      <input type="radio" name="style" onclick="setStyle(this.value)" value="5">Styler Test PropertyIsGreaterThanOrEqualTo</input><br/>
-      <input type="radio" name="style" onclick="setStyle(this.value)" value="6">Styler Test PropertyIsLessThanOrEqualTo</input><br/>
-      <input type="radio" name="style" onclick="setStyle(this.value)" value="7">Styler Test PropertyIsGreaterThan</input><br/>
-      <input type="radio" name="style" onclick="setStyle(this.value)" value="8">Styler Test PropertyIsLessThan</input><br/>
-      <input type="radio" name="style" onclick="setStyle(this.value)" value="9">Styler Test PropertyIsLike</input><br/>
-      <input type="radio" name="style" onclick="setStyle(this.value)" value="10">Styler Test PropertyIsBetween</input><br/>
-      <input type="radio" name="style" onclick="setStyle(this.value)" value="11">Styler Test FeatureId</input><br/>
+      <input type="radio" name="style" onclick="setStyle(this.value)" checked="checked" value="0">Default Styler (zoom in to see more features)</input><br>
+      <input type="radio" name="style" onclick="setStyle(this.value)" value="3">Styler Test PropertyIsEqualTo</input><br>
+      <input type="radio" name="style" onclick="setStyle(this.value)" value="4">Styler Test WATER_TYPE</input><br>
+      <input type="radio" name="style" onclick="setStyle(this.value)" value="5">Styler Test PropertyIsGreaterThanOrEqualTo</input><br>
+      <input type="radio" name="style" onclick="setStyle(this.value)" value="6">Styler Test PropertyIsLessThanOrEqualTo</input><br>
+      <input type="radio" name="style" onclick="setStyle(this.value)" value="7">Styler Test PropertyIsGreaterThan</input><br>
+      <input type="radio" name="style" onclick="setStyle(this.value)" value="8">Styler Test PropertyIsLessThan</input><br>
+      <input type="radio" name="style" onclick="setStyle(this.value)" value="9">Styler Test PropertyIsLike</input><br>
+      <input type="radio" name="style" onclick="setStyle(this.value)" value="10">Styler Test PropertyIsBetween</input><br>
+      <input type="radio" name="style" onclick="setStyle(this.value)" value="11">Styler Test FeatureId</input><br>
     </form>
   </body>
 </html>

Modified: sandbox/august/trunk/examples/snap-split.html
===================================================================
--- sandbox/august/trunk/examples/snap-split.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/snap-split.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,13 +1,15 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-    <title>Snapping & Splitting</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <title>Snapping &amp; Splitting</title>
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
     <!--[if lte IE 6]>
         <link rel="stylesheet" href="../theme/default/ie6-style.css" type="text/css" />
     <![endif]-->
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         .olControlEditingToolbar .olControlModifyFeatureItemInactive { 
             background-position: -1px -1px;
@@ -18,7 +20,7 @@
         label.head {
             font-weight: bold;
             padding: 1em 0 0.1em 0;
-            border-bottom: 1px solid grey;
+            border-bottom: 1px solid gray;
         }
         td {
             padding: 0.25em 1em;
@@ -247,7 +249,7 @@
     </div>    
     <div id="shortdesc">A demonstration snapping and splitting while editing vector features.</div>
     <div id="map" class="smallmap"></div>
-    <br/>
+    <br>
     <input type="checkbox" id="snap_toggle" />
     <label for="snap_toggle" class="head">Enable Snapping</label>
     <table id="snap_options">
@@ -263,7 +265,7 @@
             </tr>
         </tbody>
     </table>
-    <br />
+    <br>
     <input type="checkbox" id="split_toggle" />
     <label for="split_toggle" class="head">Enable Splitting</label>
     <table id="split_options">
@@ -274,7 +276,7 @@
             </tr>
         </tbody>
     </table>
-    <br />
+    <br>
     <button id="clear">clear</button> Clear all features.
   </body>
 </html>

Modified: sandbox/august/trunk/examples/snapping.html
===================================================================
--- sandbox/august/trunk/examples/snapping.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/snapping.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,13 +1,15 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>Snapping</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
     <!--[if lte IE 6]>
         <link rel="stylesheet" href="../theme/default/ie6-style.css" type="text/css" />
     <![endif]-->
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         .olControlEditingToolbar .olControlModifyFeatureItemInactive { 
             background-position: -1px -1px;
@@ -282,7 +284,7 @@
     </div>      
     <div id="shortdesc">A demonstration snapping while editing vector features.</div>
     <div id="map" class="smallmap"></div>
-    <br/>
+    <br>
     <label for="editable">Editable Layer:</label>
     <select id="editable" name="editable">
         <option value="poly">polygons</option>

Modified: sandbox/august/trunk/examples/sos.html
===================================================================
--- sandbox/august/trunk/examples/sos.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/sos.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
-  <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>SOS Client Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
     .sosmap {
         width: 768px;

Modified: sandbox/august/trunk/examples/spherical-mercator.html
===================================================================
--- sandbox/august/trunk/examples/spherical-mercator.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/spherical-mercator.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,13 +1,15 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers: Spherical Mercator</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
     <!--[if lte IE 6]>
         <link rel="stylesheet" href="../theme/default/ie6-style.css" type="text/css" />
     <![endif]-->
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         .olControlAttribution { bottom: 0px!important }
         #map {

Modified: sandbox/august/trunk/examples/split-feature.html
===================================================================
--- sandbox/august/trunk/examples/split-feature.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/split-feature.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,11 +1,13 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <title>Split Feature Example</title>
         
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <style>
             /* avoid pink tiles */
             .olImageLoadError {
@@ -104,11 +106,11 @@
         </p>
         <div id="map" class="smallmap"></div>    
         <div id="docs">
-            The split control can be configured to listen for edits on any vector layer
+            <p>The split control can be configured to listen for edits on any vector layer
             or it can allow for creation of temporary sketch features.  Modified or
             newly drawn features will be used to split existing features on any target
             layer.  This example shows the split control configured to use temporary
-            sketches for the split.
+            sketches for the split.</p>
         </div>
     </body>
 </html>

Modified: sandbox/august/trunk/examples/strategy-bbox.html
===================================================================
--- sandbox/august/trunk/examples/strategy-bbox.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/strategy-bbox.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers BBOX Strategy Example</title>
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <script src="../lib/OpenLayers.js"></script>
         <script type="text/javascript">
             var map, photos;

Modified: sandbox/august/trunk/examples/strategy-cluster-extended.html
===================================================================
--- sandbox/august/trunk/examples/strategy-cluster-extended.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/strategy-cluster-extended.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,8 +1,9 @@
 <!DOCTYPE html>
 <html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <title>Extended clustering example</title>
         <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
         <link rel="stylesheet" href="style.css" type="text/css">
@@ -48,15 +49,15 @@
                 <label>
                     <input type="radio" name="strategy" value="none" id="no-strategy" checked="checked">No strategy
                 </label>
-                <br/>
+                <br>
                 <label>
                     <input type="radio" name="strategy" value="cluster" id="cluster-strategy">Simple cluster-strategy
                 </label>
-                <br/>
+                <br>
                 <label>
                     <input type="radio" name="strategy" value="attribute-cluster" id="attributive-cluster-strategy">Attributive cluster-strategy
                 </label>
-                <br/>
+                <br>
                 <label>
                     <input type="radio" name="strategy" value="rule-cluster" id="rulebased-cluster-strategy">Rulebased cluster-strategy
                 </label>

Modified: sandbox/august/trunk/examples/strategy-cluster-threshold.html
===================================================================
--- sandbox/august/trunk/examples/strategy-cluster-threshold.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/strategy-cluster-threshold.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Cluster Strategy Threshold</title>
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <style type="text/css">
             ul {
                 list-style: none;
@@ -133,7 +135,7 @@
             cluster.  The threshold determines the minimum number of features to
             be considered a cluster.</p>
         </div>
-        <br />
+        <br>
         <p>Cluster details: <span id="output">hover over a feature to see details.</span></p>
         <ul>
             <li>

Modified: sandbox/august/trunk/examples/strategy-cluster.html
===================================================================
--- sandbox/august/trunk/examples/strategy-cluster.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/strategy-cluster.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Cluster Strategy Example</title>
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <style type="text/css">
             #photos {
                 height: 100px;

Modified: sandbox/august/trunk/examples/strategy-paging.html
===================================================================
--- sandbox/august/trunk/examples/strategy-paging.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/strategy-paging.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Paging Strategy Example</title>
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <script src="../lib/OpenLayers.js"></script>
         <script type="text/javascript">
             var map, photos, paging;
@@ -73,7 +75,7 @@
         Displaying page <span id="num">0</span> of <span id="count">...</span>
         <button id="prev" disabled="disabled" onclick="paging.pagePrevious();">previous</button>
         <button id="next" disabled="disabled" onclick="paging.pageNext();">next</button>
-        <br /><br />
+        <br><br>
         <div id="docs">
             <p>The Paging strategy lets you apply client side paging for protocols
             that do not support paging on the server.  In this case, the protocol requests a

Modified: sandbox/august/trunk/examples/style-rules.html
===================================================================
--- sandbox/august/trunk/examples/style-rules.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/style-rules.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Rule Based Style</title>
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <script src="../lib/OpenLayers.js"></script>
         <script src="style-rules.js"></script>
     </head>

Modified: sandbox/august/trunk/examples/stylemap.html
===================================================================
--- sandbox/august/trunk/examples/stylemap.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/stylemap.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers StyleMap</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map;

Modified: sandbox/august/trunk/examples/styles-context.html
===================================================================
--- sandbox/august/trunk/examples/styles-context.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/styles-context.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers Vector Styles</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map;
@@ -32,12 +34,17 @@
                 );
             }
             
+            // allow testing of specific renderers via "?renderer=Canvas", etc
+            var renderer = OpenLayers.Util.getParameters(window.location.href).renderer;
+            renderer = (renderer) ? [renderer] : OpenLayers.Layer.Vector.prototype.renderers;
+            
             // create the layer styleMap with a simple symbolizer template
             var layer1 = new OpenLayers.Layer.Vector('Points', {
                 styleMap: new OpenLayers.StyleMap({
                     pointRadius: "${type}", // based on feature.attributes.type
                     fillColor: "#666666"
-                })
+                }),
+                renderers: renderer
             });
             layer1.addFeatures(features);
 
@@ -61,17 +68,18 @@
                     var region = parseInt((feature.geometry.x + 180) / 120);
                     return colors[region];
                 },
-                getType: function(feature) {
-                    return feature.attributes["type"];
+                getSize: function(feature) {
+                    return feature.attributes["type"] / map.getResolution() * .703125;
                 }
             };
             var template = {
-                pointRadius: "${getType}", // using context.getType(feature)
+                pointRadius: "${getSize}", // using context.getSize(feature)
                 fillColor: "${getColor}" // using context.getColor(feature)
             };
             var style = new OpenLayers.Style(template, {context: context});
             var layer2 = new OpenLayers.Layer.Vector('Points', {
-                styleMap: new OpenLayers.StyleMap(style)
+                styleMap: new OpenLayers.StyleMap(style),
+                renderers: renderer
             });
             layer2.addFeatures(features);
 

Modified: sandbox/august/trunk/examples/styles-rotation.html
===================================================================
--- sandbox/august/trunk/examples/styles-rotation.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/styles-rotation.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers Styles Rotation Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js" type="text/javascript"></script>
     <script type="text/javascript">
         

Modified: sandbox/august/trunk/examples/styles-unique.html
===================================================================
--- sandbox/august/trunk/examples/styles-unique.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/styles-unique.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers Styles Unique Value Styles Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map, layer;

Modified: sandbox/august/trunk/examples/sundials-spherical-mercator.html
===================================================================
--- sandbox/august/trunk/examples/sundials-spherical-mercator.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/sundials-spherical-mercator.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,11 +1,13 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers: Sundials on a Spherical Mercator Map</title>
     <script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAjpkAC9ePGem0lIq5XcMiuhR_wWLPFku8Ix9i2SXYRVK3e45q1BQUd_beF8dtzKET_EteAjPdGDwqpQ'></script>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
 
     <style type="text/css">
         #map {

Modified: sandbox/august/trunk/examples/sundials.html
===================================================================
--- sandbox/august/trunk/examples/sundials.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/sundials.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,9 +1,11 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
 
     <style type="text/css">
         #map {
@@ -64,7 +66,7 @@
             // Javascript.
             var content = "<h2>"+feature.attributes.name + "</h2>" + feature.attributes.description;
             if (content.search("<script") != -1) {
-                content = "Content contained Javascript! Escaped content below.<br />" + content.replace(/</g, "&lt;");
+                content = "Content contained Javascript! Escaped content below.<br>" + content.replace(/</g, "&lt;");
             }
             popup = new OpenLayers.Popup.FramedCloud("chicken", 
                                      feature.geometry.getBounds().getCenterLonLat(),

Modified: sandbox/august/trunk/examples/symbolizers-fill-stroke-graphic.html
===================================================================
--- sandbox/august/trunk/examples/symbolizers-fill-stroke-graphic.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/symbolizers-fill-stroke-graphic.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers Fill, Stroke, and Graphic Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js" type="text/javascript"></script>
     <script type="text/javascript">
         var map;

Modified: sandbox/august/trunk/examples/teleportation.html
===================================================================
--- sandbox/august/trunk/examples/teleportation.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/teleportation.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers Teleporter Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     
     <style type="text/css">
@@ -65,10 +67,10 @@
     <input type="button" onclick="teleport()" value="Teleport!"></input>
 
     <div id="docs">
-        This example demonstrates how a map can be rendered initially in one
+        <p>This example demonstrates how a map can be rendered initially in one
         container and then moved to a new container.  At any point after map
         construction, the map's render method can be called with the id of
-        an empty container, moving the map to the new container.
+        an empty container, moving the map to the new container.</p>
     </div>
   </body>
 </html>

Modified: sandbox/august/trunk/examples/tile-origin.html
===================================================================
--- sandbox/august/trunk/examples/tile-origin.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/tile-origin.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,8 +1,9 @@
 <!DOCTYPE html>
 <html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Tile Origin Example</title>
         <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
         <link rel="stylesheet" href="style.css" type="text/css">

Modified: sandbox/august/trunk/examples/tilecache.html
===================================================================
--- sandbox/august/trunk/examples/tilecache.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/tilecache.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers TileCache Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map, layer;
@@ -58,10 +60,10 @@
     <div id="map" class="smallmap"></div>
 
     <div id="docs">
-        This layer should be used for web accessible disk-based caches only.
+        <p>This layer should be used for web accessible disk-based caches only.
         It is not used to request new tiles from TileCache.  Note that you
         should specify resolutions explicitly on this layer so that they match
-        your TileCache configuration.
+        your TileCache configuration.</p>
     </div>
   </body>
 </html>

Modified: sandbox/august/trunk/examples/tms.html
===================================================================
--- sandbox/august/trunk/examples/tms.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/tms.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers Tiled Map Service Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var lon = 5;
@@ -47,9 +49,9 @@
     <div id="map" class="smallmap"></div>
 
     <div id="docs">
-        URL of TMS (Should end in /): <input type="text" id="url" size="60" value="http://tilecache.osgeo.org/wms-c/Basic.py/" /> layer_name <input type="text" id="layer" value="basic" /> <select id="type"><option>jpg</option><option>png</option></select> <input type="submit" onclick="addTMS()"/><br />
+        URL of TMS (Should end in /): <input type="text" id="url" size="60" value="http://tilecache.osgeo.org/wms-c/Basic.py/" /> layer_name <input type="text" id="layer" value="basic" /> <select id="type"><option>jpg</option><option>png</option></select> <input type="submit" onclick="addTMS()"/><br>
         <p>
-        Example: http://tilecache.osgeo.org/wms-c/Basic.py/, basic, jpg<br />
+        Example: http://tilecache.osgeo.org/wms-c/Basic.py/, basic, jpg<br>
         The first input must be an HTTP URL pointing to a TMS instance. The second
         input must be a layer name available from that instance, and the third must
         be the output format used by that layer. (Any other behavior will result in

Modified: sandbox/august/trunk/examples/transform-feature.html
===================================================================
--- sandbox/august/trunk/examples/transform-feature.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/transform-feature.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers: Transformation Box</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js" type="text/javascript"></script>
     <script type="text/javascript">
         var map, control;

Modified: sandbox/august/trunk/examples/transition.html
===================================================================
--- sandbox/august/trunk/examples/transition.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/transition.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,9 +1,11 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers Transitions Example</title>
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map;

Modified: sandbox/august/trunk/examples/urban.html
===================================================================
--- sandbox/august/trunk/examples/urban.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/urban.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-      <title>OpenLayers WorldWind Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <title>OpenLayers WorldWind Example</title>
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map;

Modified: sandbox/august/trunk/examples/ve-novibrate.html
===================================================================
--- sandbox/august/trunk/examples/ve-novibrate.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/ve-novibrate.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml"> 
-  <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" /> 
-      <title>OpenLayers Virtual Earth Example</title> 
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" /> 
-    <link rel="stylesheet" href="style.css" type="text/css" /> 
+<!DOCTYPE html>
+<html> 
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes"> 
+    <title>OpenLayers Virtual Earth Example</title> 
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css"> 
+    <link rel="stylesheet" href="style.css" type="text/css"> 
     <script src='http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.1'></script> 
  
     <script src="../lib/OpenLayers.js"></script> 

Modified: sandbox/august/trunk/examples/ve.html
===================================================================
--- sandbox/august/trunk/examples/ve.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/ve.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-      <title>OpenLayers Virtual Earth Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <title>OpenLayers Virtual Earth Example</title>
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src='http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.1'></script>
 
     <script src="../lib/OpenLayers.js"></script>

Modified: sandbox/august/trunk/examples/vector-features-with-text.html
===================================================================
--- sandbox/august/trunk/examples/vector-features-with-text.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/vector-features-with-text.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,11 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE HTML>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers Labeled Features Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map;
@@ -129,7 +130,7 @@
     </p>
     <div id="map" class="smallmap"></div>
     <div id="docs">
-    This example shows drawing simple vector features with a label
+    <p>This example shows drawing simple vector features with a label.</p>
     </div>
   </body>
 </html>

Modified: sandbox/august/trunk/examples/vector-features.html
===================================================================
--- sandbox/august/trunk/examples/vector-features.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/vector-features.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,11 +1,12 @@
 <!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers: Vector Features</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js" type="text/javascript"></script>
     <script type="text/javascript">
         var map;

Modified: sandbox/august/trunk/examples/vector-formats.html
===================================================================
--- sandbox/august/trunk/examples/vector-formats.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/vector-formats.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,13 +1,15 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>Vector Formats</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
     <!--[if lte IE 6]>
         <link rel="stylesheet" href="../theme/default/ie6-style.css" type="text/css" />
     <![endif]-->
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         input, select, textarea {
             font: 0.9em Verdana, Arial, sans-serif;
@@ -202,18 +204,18 @@
             <label for="prettyPrint">Pretty print</label>
             <input id="prettyPrint" type="checkbox"
                    name="prettyPrint" value="1" />
-            <br />
+            <br>
             Input Projection: <select id="inproj" onchange='updateFormats()'>
               <option value="EPSG:4326" selected="selected">EPSG:4326</option>
               <option value="EPSG:900913">Spherical Mercator</option>
-            </select> <br /> 
+            </select> <br> 
             Output Projection: <select id="outproj" onchange='updateFormats()'>
               <option value="EPSG:4326" selected="selected">EPSG:4326</option>
               <option value="EPSG:900913">Spherical Mercator</option>
             </select> 
-            <br /> 
+            <br> 
             <textarea id="text">paste text here...</textarea>
-            <br />
+            <br>
             <input type="button" value="add feature" onclick="deserialize();" />
         </div>
 

Modified: sandbox/august/trunk/examples/web-mercator.html
===================================================================
--- sandbox/august/trunk/examples/web-mercator.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/web-mercator.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,11 +1,12 @@
 <!DOCTYPE HTML>
 <html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers: Web Mercator</title>
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAjpkAC9ePGem0lIq5XcMiuhR_wWLPFku8Ix9i2SXYRVK3e45q1BQUd_beF8dtzKET_EteAjPdGDwqpQ'></script>
 
         <script src="../lib/OpenLayers.js"></script>

Modified: sandbox/august/trunk/examples/wfs-filter.html
===================================================================
--- sandbox/august/trunk/examples/wfs-filter.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/wfs-filter.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,8 +1,9 @@
 <!DOCTYPE html>
 <html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers WFS Protocol with Filter</title>
         <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
         <link rel="stylesheet" href="../theme/default/google.css" type="text/css">

Modified: sandbox/august/trunk/examples/wfs-protocol-transactions.html
===================================================================
--- sandbox/august/trunk/examples/wfs-protocol-transactions.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/wfs-protocol-transactions.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,9 +1,11 @@
+<!DOCTYPE html>
 <html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAjpkAC9ePGem0lIq5XcMiuhR_wWLPFku8Ix9i2SXYRVK3e45q1BQUd_beF8dtzKET_EteAjPdGDwqpQ'></script>
     <script src="../lib/OpenLayers.js"></script>
     <!--[if lte IE 6]>
@@ -85,10 +87,13 @@
             <p>
                 Use the tools to create, modify, and delete (in order from left
                 to right) features. Use the save tool (picture of a disk) to
-                save your changes. Use the navigation tool (hand) to stop
-                editing and use the mouse for map navigation.
+                save your changes.
             </p>
             <p>
+                To deactivate "drawing" or "modifying" depress the
+                corresponding button.
+            </p>
+            <p>
                 See the <a href="wfs-protocol-transactions.js" target="_blank">
                 wfs-protocol-transactions.js source</a> to see how this is done.
             </p>        

Modified: sandbox/august/trunk/examples/wfs-protocol-transactions.js
===================================================================
--- sandbox/august/trunk/examples/wfs-protocol-transactions.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/wfs-protocol-transactions.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -43,7 +43,8 @@
         maxExtent: new OpenLayers.Bounds(-20037508, -20037508, 20037508, 20037508),
         restrictedExtent: extent,
         controls: [
-            new OpenLayers.Control.PanZoom()
+            new OpenLayers.Control.PanZoom(),
+            new OpenLayers.Control.Navigation()
         ]
     });
     var gphy = new OpenLayers.Layer.Google(
@@ -69,12 +70,9 @@
    
     map.addLayers([gphy, wfs]);
 
-    var panel = new OpenLayers.Control.Panel(
-        {'displayClass': 'customEditingToolbar'}
-    );
-    
-    var navigate = new OpenLayers.Control.Navigation({
-        title: "Pan Map"
+    var panel = new OpenLayers.Control.Panel({
+        displayClass: 'customEditingToolbar',
+        allowDepress: true
     });
     
     var draw = new OpenLayers.Control.DrawFeature(
@@ -104,8 +102,7 @@
         displayClass: "olControlSaveFeatures"
     });
 
-    panel.addControls([navigate, save, del, edit, draw]);
-    panel.defaultControl = navigate;
+    panel.addControls([save, del, edit, draw]);
     map.addControl(panel);
     map.zoomToExtent(extent, true);
 }

Modified: sandbox/august/trunk/examples/wfs-protocol.html
===================================================================
--- sandbox/august/trunk/examples/wfs-protocol.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/wfs-protocol.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers Vector Behavior Example</title>
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <script src="../lib/Firebug/firebug.js"></script>
         <script src="../lib/OpenLayers.js"></script>
         <script type="text/javascript">

Modified: sandbox/august/trunk/examples/wfs-reprojection.html
===================================================================
--- sandbox/august/trunk/examples/wfs-reprojection.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/wfs-reprojection.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <title>WFS Reprojection Example</title>
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <script src="../lib/OpenLayers.js"></script>
         <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAjpkAC9ePGem0lIq5XcMiuhR_wWLPFku8Ix9i2SXYRVK3e45q1BQUd_beF8dtzKET_EteAjPdGDwqpQ"></script>
         <script src="wfs-reprojection.js"></script>

Modified: sandbox/august/trunk/examples/wfs-snap-split.html
===================================================================
--- sandbox/august/trunk/examples/wfs-snap-split.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/wfs-snap-split.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,9 +1,10 @@
 <html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <!--[if lte IE 6]>
         <style>
@@ -107,7 +108,8 @@
                 projection: new OpenLayers.Projection("EPSG:900913"),
                 units: "m",
                 controls: [
-                    new OpenLayers.Control.PanZoom()
+                    new OpenLayers.Control.PanZoom(),
+                    new OpenLayers.Control.Navigation()
                 ]
             });
 
@@ -203,9 +205,10 @@
             split.activate();
 
             // add some editing tools to a panel
-            var panel = new OpenLayers.Control.Panel(
-                {displayClass: 'customEditingToolbar'}
-            );
+            var panel = new OpenLayers.Control.Panel({
+                displayClass: 'customEditingToolbar',
+                allowDepress: true
+            });
             var draw = new OpenLayers.Control.DrawFeature(
                 wfs, OpenLayers.Handler.Path,
                 {
@@ -233,11 +236,9 @@
 
 
             panel.addControls([
-                new OpenLayers.Control.Navigation(),
                 save, del, modify, draw
             ]);
             
-            panel.defaultControl = panel.controls[0];
             map.addControl(panel);
             map.setCenter(new OpenLayers.LonLat(-11561460.5, 5541773), 15);
         }
@@ -280,8 +281,9 @@
         updating, or deleting of existing features.</p>
         <p>Use the tools to create, modify, and delete (in order from left
         to right) features.  Use the save tool (picture of a disk) to
-        save your changes.  Use the navigation tool (hand) to stop editing
-        and use the mouse for map navigation.</p>
+        save your changes.</p>
+        <p>To deactivate "drawing" or "modifying" depress the corresponding
+        button.</p>
     </div>
 
 </body>

Copied: sandbox/august/trunk/examples/wfs-spatial-filter.html (from rev 12095, trunk/openlayers/examples/wfs-spatial-filter.html)
===================================================================
--- sandbox/august/trunk/examples/wfs-spatial-filter.html	                        (rev 0)
+++ sandbox/august/trunk/examples/wfs-spatial-filter.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html>
+    <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+        <title>OpenLayers WFS Protocol with Filter</title>
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
+        <script src="../lib/OpenLayers.js"></script>
+    </head>
+    <body>
+        <h1 id="title">WFS Protocol and Filter</h1>
+        <div id="tags">
+            filter, wfs, spatial
+        </div>
+        <p id="shortdesc">
+            Demonstrates the use of a spatial filter in making GetFeature requests using the WFS protocol.
+        </p>
+        <div id="map" class="smallmap"></div>
+        <div id="docs">
+            <p>
+                If a vector layer has a filter and the protocol supports server-side filtering,
+                the filter will be serialized in requests for features.  The WFS protocol can be
+                used with a vector layer to serialize a filter using OGC Filter Encoding.
+            </p><p>
+                This example has a draw control that is always active.  When you draw a polygon
+                on the map, the filter for the main vector layer will be updated, and features
+                that intersect your drawn polygon will be requested.
+            </p><p>
+                See the <a href="wfs-spatial-filter.js" target="_blank">source</a> 
+                for details on how this is done.
+            </p>
+        </div>
+        <script src="wfs-spatial-filter.js"></script>
+    </body>
+</html>

Copied: sandbox/august/trunk/examples/wfs-spatial-filter.js (from rev 12095, trunk/openlayers/examples/wfs-spatial-filter.js)
===================================================================
--- sandbox/august/trunk/examples/wfs-spatial-filter.js	                        (rev 0)
+++ sandbox/august/trunk/examples/wfs-spatial-filter.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -0,0 +1,36 @@
+OpenLayers.ProxyHost= "proxy.cgi?url=";
+var map = new OpenLayers.Map('map');
+var wms = new OpenLayers.Layer.WMS(
+    "OpenLayers WMS", "http://vmap0.tiles.osgeo.org/wms/vmap0",
+    {layers: "basic"}
+);
+
+var layer = new OpenLayers.Layer.Vector("WFS", {
+    strategies: [new OpenLayers.Strategy.BBOX()],
+    protocol: new OpenLayers.Protocol.WFS({
+        url:  "http://demo.opengeo.org/geoserver/wfs",
+        featureType: "tasmania_roads",
+        featureNS: "http://www.openplans.org/topp"
+    })
+});
+
+map.addLayers([wms, layer]);
+map.setCenter(new OpenLayers.LonLat(146.7, -41.8), 6);
+
+var drawings = new OpenLayers.Layer.Vector();
+map.addLayer(drawings);
+var draw = new OpenLayers.Control.DrawFeature(drawings, OpenLayers.Handler.Polygon);
+map.addControl(draw);
+draw.activate();
+
+drawings.events.on({
+    beforefeatureadded: function(event) {
+        var geometry = event.feature.geometry;
+        layer.filter = new OpenLayers.Filter.Spatial({
+            type: OpenLayers.Filter.Spatial.INTERSECTS,
+            value: event.feature.geometry
+        });
+        layer.refresh({force: true});
+        return false;
+    }
+});

Modified: sandbox/august/trunk/examples/wfs-states.html
===================================================================
--- sandbox/august/trunk/examples/wfs-states.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/wfs-states.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,9 +1,11 @@
+<!DOCTYPE html>
 <html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <title>WFS: United States (GeoServer)</title>
         <script src="../lib/OpenLayers.js"></script>
         <script src="wfs-states.js"></script>

Modified: sandbox/august/trunk/examples/wmc.html
===================================================================
--- sandbox/august/trunk/examples/wmc.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/wmc.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,9 +1,11 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <style type="text/css">
         #wmc {
             width: 90%;
@@ -129,16 +131,16 @@
            Shows parsing of Web Map Context documents.
     </p>
     <div id="map" class="smallmap"></div>
-        <button onclick="writeWMC();">write</button><br />
-        <button onclick="readWMC();">read as new map</button> with the following extra map options : <input type="text" id="mapOptions" value='{"div": "map", "allOverlays": true}'/><br />
-        <button onclick="readWMC(true);">read and merge</button><br />
-        <button onclick="pasteWMC();">try with another WMC document</button><br />
+        <button onclick="writeWMC();">write</button><br>
+        <button onclick="readWMC();">read as new map</button> with the following extra map options : <input type="text" id="mapOptions" value='{"div": "map", "allOverlays": true}'/><br>
+        <button onclick="readWMC(true);">read and merge</button><br>
+        <button onclick="pasteWMC();">try with another WMC document</button><br>
         <textarea id="wmc">paste WMC doc here</textarea>
     <div id="docs">
-        This is an example of parsing WMC documents. <br />
+        <p>This is an example of parsing WMC documents. <br>
         The format class has a layerOptions property, which can be used
         to control the default options of the layer when it is created
-        by the parser.
+        by the parser.</p>
     </div>
   </body>
 </html>

Modified: sandbox/august/trunk/examples/wms-long-url.html
===================================================================
--- sandbox/august/trunk/examples/wms-long-url.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/wms-long-url.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,11 +1,12 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>WMS with POST Requests to Avoid Long URLs</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
   </head>
   <body>
     <h1 id="title">WMS with POST Requests to Avoid Long URLs</h1>

Modified: sandbox/august/trunk/examples/wms-untiled.html
===================================================================
--- sandbox/august/trunk/examples/wms-untiled.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/wms-untiled.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,9 +1,11 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var lon = 5;

Modified: sandbox/august/trunk/examples/wms-v13.html
===================================================================
--- sandbox/august/trunk/examples/wms-v13.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/wms-v13.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,9 +1,11 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map, map2;
@@ -46,10 +48,10 @@
         <div id="map" class="smallmap"></div>
         <div id="map2" class="smallmap"></div>
         <div id="docs">
-        WMS version 1.3 introduced the axis order sequence, so that for e.g. EPSG:4326 the bbox coordinate
+        <p>WMS version 1.3 introduced the axis order sequence, so that for e.g. EPSG:4326 the bbox coordinate
         values need to be flipped (LatLon instead of LonLat). The first map uses the incorrect (WMS 1.1) axis
         order against a WMS 1.3 service, resulting in corrupted maps. The second map shows how to correctly
-        request a map in EPSG:4326 against a WMS 1.3 service.
+        request a map in EPSG:4326 against a WMS 1.3 service.</p>
         </div>
   </body>
 </html>

Modified: sandbox/august/trunk/examples/wms.html
===================================================================
--- sandbox/august/trunk/examples/wms.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/wms.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,9 +1,11 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var lon = 5;
@@ -35,8 +37,9 @@
     <div id="map" class="smallmap"></div>
 
     <div id="docs">
-        This is an example of how to add an WMS layer to the OpenLayers window. The images are tiled in this instance if you wanted to not use a tiled WMS
-        please use this example and pass the option ‘singleTile’ as true.
+        <p>This is an example of how to add an WMS layer to the OpenLayers
+        window. The images are tiled in this instance. If you wanted to not use
+        a tiled WMS, "singleTile" option to true like shown in this example.</p>
     </div>
   </body>
 </html>

Modified: sandbox/august/trunk/examples/wmst.html
===================================================================
--- sandbox/august/trunk/examples/wmst.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/wmst.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers: WMS + Time</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map, ia_wms;
@@ -48,8 +50,11 @@
     <input size="4" type='text' id='year' value="2005" onchange="update_date()"/>-<input size="2" type="text" id="month" value="08" onchange="update_date()"/>-<input size="2" type="text" id="day" value="29" onchange="update_date()" />T<input type="text" size="2" id="hour" value="13" onchange="update_date()" />:<input type="text" size="2" id="minute" value="00" onchange="update_date()" />:00
     <div id="map" class="smallmap"></div>
     <div id="docs">
-            WMS-T example: update the times, and the radar image will change. Uses Layer.mergeNewParams to update the date element with the strings from the input fields every time one of them is changed.
-            The inputs below describe a timestamp: The minute increments can only be updated in units of 5.
+        <p>WMS-T example: update the times, and the radar image will change.
+        Uses Layer.mergeNewParams to update the date element with the strings
+        from the input fields every time one of them is changed. The inputs
+        above describe a timestamp: The minute increments can only be updated
+        in units of 5.</p>
     </div>
   </body>
 </html>

Modified: sandbox/august/trunk/examples/wmts-capabilities.html
===================================================================
--- sandbox/august/trunk/examples/wmts-capabilities.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/wmts-capabilities.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,11 +1,12 @@
 <!DOCTYPE html>
 <html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers WMTS Capabilities Example</title>
         <link rel="stylesheet" href="../theme/default/style.css" type="text/css"/>
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="style.css" type="text/css">
         <script src="../lib/Firebug/firebug.js"></script>
         <script src="../lib/OpenLayers.js"></script>
         <script src="wmts-capabilities.js"></script>

Modified: sandbox/august/trunk/examples/wmts-getfeatureinfo.html
===================================================================
--- sandbox/august/trunk/examples/wmts-getfeatureinfo.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/wmts-getfeatureinfo.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,11 +1,12 @@
 <!DOCTYPE html>
 <html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers WMTS GetFeatureInfo Example</title>
         <link rel="stylesheet" href="../theme/default/style.css" type="text/css"/>
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="style.css" type="text/css">
         <script src="../lib/Firebug/firebug.js"></script>
         <script src="../lib/OpenLayers.js"></script>
         <script src="wmts-getfeatureinfo.js"></script>

Modified: sandbox/august/trunk/examples/wmts.html
===================================================================
--- sandbox/august/trunk/examples/wmts.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/wmts.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,11 +1,12 @@
 <!DOCTYPE html>
 <html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers WMTS Example</title>
         <link rel="stylesheet" href="../theme/default/style.css" type="text/css"/>
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="style.css" type="text/css">
         <script src="../lib/Firebug/firebug.js"></script>
         <script src="../lib/OpenLayers.js"></script>
         <script src="wmts.js"></script>

Modified: sandbox/august/trunk/examples/worldwind.html
===================================================================
--- sandbox/august/trunk/examples/worldwind.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/worldwind.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,9 +1,11 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map, ol_wms, ww, ww2;
@@ -41,8 +43,16 @@
         <div id="map" class="smallmap"></div>
 
         <div id="docs">
-            This is a demonstration of using Tiled WorldWind layers. WorldWind requires you to define a "LZTD" -- the 3rd param of the constructor -- and the number of zoom levels it supports. When a worldwind layer is not visible at a given tile level, and empty tile is placed there instead. Note that the maxResolution of the map times 512px, must be a multiple of a power of two different from the LZTD -- in this case, .28125 * 512 is 144, which is 36*4, and 2.25*64.
-            This example has a 'Bathy' layer, visible as you zoom out, and a 'landsat' layer, visible as you zoom in, both visible at zoom level 6.
+            <p>This is a demonstration of using Tiled WorldWind layers.
+            WorldWind requires you to define a "LZTD" -- the 3rd param of the
+            constructor -- and the number of zoom levels it supports. When a
+            worldwind layer is not visible at a given tile level, and empty
+            tile is placed there instead. Note that the maxResolution of the
+            map times 512px, must be a multiple of a power of two different
+            from the LZTD -- in this case, .28125 * 512 is 144, which is 36*4,
+            and 2.25*64. This example has a 'Bathy' layer, visible as you zoom
+            out, and a 'landsat' layer, visible as you zoom in, both visible at
+            zoom level 6.</p>
         </div>
       </body>
 </html>

Modified: sandbox/august/trunk/examples/wrapDateLine.html
===================================================================
--- sandbox/august/trunk/examples/wrapDateLine.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/wrapDateLine.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers: Wrap Date Line</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map;

Modified: sandbox/august/trunk/examples/xhtml.html
===================================================================
--- sandbox/august/trunk/examples/xhtml.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/xhtml.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,12 +1,13 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-        "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-strict.dtd">
+        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
+    <meta name="apple-mobile-web-app-capable" content="yes"/>
 <title>XHTML Example</title>
-<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+<link rel="stylesheet" href="../theme/default/style.css" type="text/css"/>
+    <link rel="stylesheet" href="style.css" type="text/css"/>
 <script src="../lib/OpenLayers.js" type="text/javascript"></script>
 </head>
 <body style="width:100%">

Modified: sandbox/august/trunk/examples/xml.html
===================================================================
--- sandbox/august/trunk/examples/xml.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/xml.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,12 +1,12 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-        "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <title>XML Parsing Example</title>
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <style type="text/css">
             #output {
                 font-family: monospace;
@@ -134,7 +134,7 @@
                         <p>Status: <b>XML document <span id="loadStatus">loading..</span>.</b></p>
                         <p>After the XML document loads, see the result of a few of the methods
                         below.  Assume that you start with the following code:
-                        <br />
+                        <br>
                         <span class="code">
                             var format = new OpenLayers.Format.XML();
                         </span>

Modified: sandbox/august/trunk/examples/xyz-esri.html
===================================================================
--- sandbox/august/trunk/examples/xyz-esri.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/xyz-esri.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers Basic ESRI Map Cache Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var map, layer;
@@ -32,7 +34,8 @@
     <div id="map" class="smallmap"></div>
 
     <div id="docs">
-       Show the use of the XYZ layer to access a map cache provided in spherical mercator by ESRI.  
+       <p>Show the use of the XYZ layer to access a map cache provided in
+       spherical mercator by ESRI.</p>
     </div>
   </body>
 </html>

Modified: sandbox/august/trunk/examples/xyz-offset.html
===================================================================
--- sandbox/august/trunk/examples/xyz-offset.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/xyz-offset.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,11 +1,12 @@
 <!DOCTYPE HTML>
 <html>
     <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
         <title>OpenLayers XYZ with Offset</title>
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
+        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="style.css" type="text/css">
         <script src="../lib/OpenLayers.js"></script>
         <script src="xyz-offset.js"></script>
     </head>

Modified: sandbox/august/trunk/examples/yahoo.html
===================================================================
--- sandbox/august/trunk/examples/yahoo.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/yahoo.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers: Yahoo Layer</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="http://api.maps.yahoo.com/ajaxymap?v=3.0&appid=euzuro-openlayers"></script>
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
@@ -40,9 +42,10 @@
         <div id="map" class="smallmap"></div>
 
         <div id="docs">
-            This is an example of how to add a yahoo layer to the OpenLayers window.  In order to enable a
-            yahoo layer. Also shown in this example is the LayerSwitcher() control for toggling between both the yahoo layer and
-            the open layer WMS.
+            <p>This is an example of how to add a yahoo layer to the OpenLayers
+            window.  In order to enable a yahoo layer, also shown in this
+            example is the LayerSwitcher() control for toggling between both
+            the yahoo layer and the OSGeo WMS.
         </div>
 
   </body>

Modified: sandbox/august/trunk/examples/zoomLevels.html
===================================================================
--- sandbox/august/trunk/examples/zoomLevels.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/zoomLevels.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,9 +1,11 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         var lon = 50;
@@ -65,9 +67,9 @@
         </p>
         <p>
         Default units for Scale are in inches. Resolution is specified in map units
-        per pixel where the default map units are decimal degrees(dd).<br/>
+        per pixel where the default map units are decimal degrees(dd).<br>
         scale = resolution * OpenLayers.INCHES_PER_UNIT[units] *
-                    OpenLayers.DOTS_PER_INCH <br/>
+                    OpenLayers.DOTS_PER_INCH <br>
         You can either set the scale or the resolution, there is no need to set both.
         </p>
         <p>

Modified: sandbox/august/trunk/examples/zoomify.html
===================================================================
--- sandbox/august/trunk/examples/zoomify.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/examples/zoomify.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,10 +1,12 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
   <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <title>OpenLayers Zoomify Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
+    <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+    <link rel="stylesheet" href="style.css" type="text/css">
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
 
@@ -56,14 +58,14 @@
 
     <div id="docs">
 	    <p>
-	    Demonstration of the Zoomify layer in OpenLayers.<br />
+	    Demonstration of the Zoomify layer in OpenLayers.<br>
 	 	You can have a look at <a href="http://almor.mzk.cz/moll/AA22/103.html">Zoomify viewer for this picture</a>, which is using the same <a href="http://almor.mzk.cz/moll/AA22/0103/">tiles</a>.
 	    </p>
 		<p>
-		For change to our own image you have to specify 'url' (zoomifyImagePath in Zoomify terminology) and 'size' ('width' and 'height' from ImageProperty.xml file).<br />
-		Custom tiles can be easily generated with original <a href="http://www.zoomify.com/">Zoomify software</a> like with freely available <a href="http://www.zoomify.com/express.htm">ZoomifyerEZ</a> or with Adobe PhotoShop CS3 (it has built in support for export into Zoomify tiles).<br />
-		There is also a <a href="http://sourceforge.net/projects/zoomifyimage/">ZoomifyImage SourceForge Project</a>, a tile cutter available under GPL license.<br />
-		Zoomify tiles can be also served dynamically on the server side from JPEG2000 masters using <a href="http://dltj.org/article/introducing-j2ktilerenderer/">J2KTileRender</a> with available integration for DSpace and soon for Fedora Digital Repository.<br/>
+		For change to our own image you have to specify 'url' (zoomifyImagePath in Zoomify terminology) and 'size' ('width' and 'height' from ImageProperty.xml file).<br>
+		Custom tiles can be easily generated with original <a href="http://www.zoomify.com/">Zoomify software</a> like with freely available <a href="http://www.zoomify.com/express.htm">ZoomifyerEZ</a> or with Adobe PhotoShop CS3 (it has built in support for export into Zoomify tiles).<br>
+		There is also a <a href="http://sourceforge.net/projects/zoomifyimage/">ZoomifyImage SourceForge Project</a>, a tile cutter available under GPL license.<br>
+		Zoomify tiles can be also served dynamically on the server side from JPEG2000 masters using <a href="http://dltj.org/article/introducing-j2ktilerenderer/">J2KTileRender</a> with available integration for DSpace and soon for Fedora Digital Repository.<br>
 		<a href="http://iipimage.sourceforge.net/">IIPImage server</a> can serve Zoomify tiles dynamically from TIFF files.
 		</p>
 		<p>

Modified: sandbox/august/trunk/lib/OpenLayers/Control/DragPan.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Control/DragPan.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Control/DragPan.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -32,10 +32,11 @@
     /**
      * Property: interval
      * {Integer} The number of milliseconds that should ellapse before
-     *     panning the map again. Set this to increase dragging performance.
-     *     Defaults to 25 milliseconds.
+     *     panning the map again. Defaults to 1 millisecond. In most cases
+     *     you won't want to change this value. For slow machines/devices
+     *     larger values can be tried out.
      */
-    interval: 25,
+    interval: 1,
     
     /**
      * APIProperty: documentDrag

Modified: sandbox/august/trunk/lib/OpenLayers/Control/EditingToolbar.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Control/EditingToolbar.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Control/EditingToolbar.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -55,7 +55,9 @@
      */
     draw: function() {
         var div = OpenLayers.Control.Panel.prototype.draw.apply(this, arguments);
-        this.activateControl(this.controls[0]);
+        if (this.defaultControl === null) {
+            this.defaultControl = this.controls[0];
+        }
         return div;
     },
 

Modified: sandbox/august/trunk/lib/OpenLayers/Control/GetFeature.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Control/GetFeature.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Control/GetFeature.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -478,7 +478,7 @@
         if(!this.modifiers.multiple && !this.modifiers.toggle) {
             this.unselectAll();
         }
-        if(!(features instanceof Array)) {
+        if(!(OpenLayers.Util.isArray(features))) {
             features = [features];
         }
         

Modified: sandbox/august/trunk/lib/OpenLayers/Control/ModifyFeature.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Control/ModifyFeature.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Control/ModifyFeature.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -215,7 +215,7 @@
         this.deleteCodes = [46, 68];
         this.mode = OpenLayers.Control.ModifyFeature.RESHAPE;
         OpenLayers.Control.prototype.initialize.apply(this, [options]);
-        if(!(this.deleteCodes instanceof Array)) {
+        if(!(OpenLayers.Util.isArray(this.deleteCodes))) {
             this.deleteCodes = [this.deleteCodes];
         }
         var control = this;

Modified: sandbox/august/trunk/lib/OpenLayers/Control/NavToolbar.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Control/NavToolbar.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Control/NavToolbar.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -47,7 +47,9 @@
      */
     draw: function() {
         var div = OpenLayers.Control.Panel.prototype.draw.apply(this, arguments);
-        this.activateControl(this.controls[0]);
+        if (this.defaultControl === null) {
+            this.defaultControl = this.controls[0];
+        }
         return div;
     },
 

Modified: sandbox/august/trunk/lib/OpenLayers/Control/Navigation.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Control/Navigation.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Control/Navigation.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -38,6 +38,18 @@
     dragPanOptions: null,
 
     /**
+     * Property: pinchZoom
+     * {<OpenLayers.Control.PinchZoom>}
+     */
+    pinchZoom: null,
+
+    /**
+     * APIProperty: pinchZoomOptions
+     * {Object} Options passed to the PinchZoom control.
+     */
+    pinchZoomOptions: null,
+
+    /**
      * APIProperty: documentDrag
      * {Boolean} Allow panning of the map by dragging outside map viewport.
      *     Default is false.
@@ -124,6 +136,12 @@
             this.zoomBox.destroy();
         }
         this.zoomBox = null;
+
+        if (this.pinchZoom) {
+            this.pinchZoom.destroy();
+        }
+        this.pinchZoom = null;
+
         OpenLayers.Control.prototype.destroy.apply(this,arguments);
     },
     
@@ -139,6 +157,9 @@
         if (this.zoomBoxEnabled) {
             this.zoomBox.activate();
         }
+        if (this.pinchZoom) {
+            this.pinchZoom.activate();
+        }
         return OpenLayers.Control.prototype.activate.apply(this,arguments);
     },
 
@@ -146,6 +167,9 @@
      * Method: deactivate
      */
     deactivate: function() {
+        if (this.pinchZoom) {
+            this.pinchZoom.deactivate();
+        }
         this.zoomBox.deactivate();
         this.dragPan.deactivate();
         this.handlers.click.deactivate();
@@ -188,6 +212,11 @@
                                     this, {"up"  : this.wheelUp,
                                            "down": this.wheelDown},
                                     this.mouseWheelOptions );
+        if (OpenLayers.Control.PinchZoom) {
+            this.pinchZoom = new OpenLayers.Control.PinchZoom(
+                OpenLayers.Util.extend(
+                    {map: this.map}, this.pinchZoomOptions));
+        }
     },
 
     /**

Modified: sandbox/august/trunk/lib/OpenLayers/Control/Panel.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Control/Panel.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Control/Panel.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -47,6 +47,14 @@
     saveState: false,
       
     /**
+     * APIProperty: allowDepress
+     * {Boolean} If is true the <OpenLayers.Control.TYPE_TOOL> controls can 
+     *     be deactivated by clicking the icon that represents them.  Default 
+     *     is false.
+     */
+    allowDepress: false,
+    
+    /**
      * Property: activeState
      * {Object} stores the active state of this panel's controls.
      */
@@ -199,15 +207,19 @@
             }
             return;
         }
-        var c;
-        for (var i=0, len=this.controls.length; i<len; i++) {
-            c = this.controls[i];
-            if (c != control &&
-               (c.type === OpenLayers.Control.TYPE_TOOL || c.type == null)) {
-                c.deactivate();
+        if (this.allowDepress && control.active) {
+            control.deactivate();
+        } else {
+            var c;
+            for (var i=0, len=this.controls.length; i<len; i++) {
+                c = this.controls[i];
+                if (c != control &&
+                   (c.type === OpenLayers.Control.TYPE_TOOL || c.type == null)) {
+                    c.deactivate();
+                }
             }
+            control.activate();
         }
-        control.activate();
     },
 
     /**
@@ -220,7 +232,7 @@
      * controls - {<OpenLayers.Control>} Controls to add in the panel.
      */    
     addControls: function(controls) {
-        if (!(controls instanceof Array)) {
+        if (!(OpenLayers.Util.isArray(controls))) {
             controls = [controls];
         }
         this.controls = this.controls.concat(controls);

Modified: sandbox/august/trunk/lib/OpenLayers/Control/SelectFeature.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Control/SelectFeature.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Control/SelectFeature.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -218,7 +218,7 @@
      * layers - {<OpenLayers.Layer.Vector>}, or an array of vector layers.
      */
     initLayer: function(layers) {
-        if(layers instanceof Array) {
+        if(OpenLayers.Util.isArray(layers)) {
             this.layers = layers;
             this.layer = new OpenLayers.Layer.Vector.RootContainer(
                 this.id + "_container", {

Modified: sandbox/august/trunk/lib/OpenLayers/Control/TransformFeature.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Control/TransformFeature.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Control/TransformFeature.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -232,6 +232,9 @@
             this.dragControl.deactivate();
             deactivated = true;
         }
+        if (deactivated) {
+        	this.unsetFeature();
+        }
         return deactivated;
     },
     
@@ -265,13 +268,15 @@
             scale: 1,
             ratio: 1
         });
-        var evt = {feature: feature};
-        
+
         var oldRotation = this.rotation;
         var oldCenter = this.center;
         OpenLayers.Util.extend(this, initialParams);
 
-        if(this.events.triggerEvent("beforesetfeature", evt) === false) {
+        var cont = this.events.triggerEvent("beforesetfeature",
+            {feature: feature}
+        );
+        if (cont === false) {
             return;
         }
 
@@ -303,10 +308,26 @@
         
         delete this._setfeature;
 
-        this.events.triggerEvent("setfeature", evt);
+        this.events.triggerEvent("setfeature", {feature: feature});
     },
     
     /**
+     * APIMethod: unsetFeature
+     * Remove the transformation box off any feature.
+     * If the control is active, it will be deactivated first.
+     */
+    unsetFeature: function() {
+    	if (this.active) {
+    		this.deactivate();
+    	} else {
+	    	this.feature = null;
+	    	this.rotation = 0;
+	    	this.scale = 1;
+	    	this.ratio = 1;
+    	}
+    },
+    
+    /**
      * Method: createBox
      * Creates the box with all handles and transformation handles.
      */

Modified: sandbox/august/trunk/lib/OpenLayers/Control/WMSGetFeatureInfo.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Control/WMSGetFeatureInfo.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Control/WMSGetFeatureInfo.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -300,7 +300,7 @@
             layer = candidates[i];
             if(layer instanceof OpenLayers.Layer.WMS &&
                (!this.queryVisible || layer.getVisibility())) {
-                url = layer.url instanceof Array ? layer.url[0] : layer.url;
+                url = OpenLayers.Util.isArray(layer.url) ? layer.url[0] : layer.url;
                 // if the control was not configured with a url, set it
                 // to the first layer url
                 if(this.drillDown === false && !this.url) {
@@ -424,7 +424,7 @@
         if (layer.params.STYLES) {
             styleNames = layer.params.STYLES;
         } else {
-            if (layer.params.LAYERS instanceof Array) {
+            if (OpenLayers.Util.isArray(layer.params.LAYERS)) {
                 styleNames = new Array(layer.params.LAYERS.length);
             } else { // Assume it's a String
                 styleNames = layer.params.LAYERS.replace(/[^,]/g, "");
@@ -472,7 +472,7 @@
             for(var i=0, len=layers.length; i<len; i++) {
                 var layer = layers[i];
                 var service, found = false;
-                url = layer.url instanceof Array ? layer.url[0] : layer.url;
+                url = OpenLayers.Util.isArray(layer.url) ? layer.url[0] : layer.url;
                 if(url in services) {
                     services[url].push(layer);
                 } else {

Modified: sandbox/august/trunk/lib/OpenLayers/Control/WMTSGetFeatureInfo.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Control/WMTSGetFeatureInfo.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Control/WMTSGetFeatureInfo.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -299,7 +299,7 @@
         });
         OpenLayers.Util.applyDefaults(params, this.vendorParams);
         return {
-            url: layer.url instanceof Array ? layer.url[0] : layer.url,
+            url: OpenLayers.Util.isArray(layer.url) ? layer.url[0] : layer.url,
             params: OpenLayers.Util.upperCaseObject(params),
             callback: function(request) {
                 this.handleResponse(xy, request, layer);

Modified: sandbox/august/trunk/lib/OpenLayers/Events.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Events.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Events.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -588,7 +588,7 @@
      * Example use:
      * (code)
      * // register a single listener for the "loadstart" event
-     * events.on({"loadstart", loadStartListener});
+     * events.on({"loadstart": loadStartListener});
      *
      * // this is equivalent to the following
      * events.register("loadstart", undefined, loadStartListener);
@@ -602,7 +602,7 @@
      *
      * // this is equivalent to the following
      * events.register("loadstart", object, loadStartListener);
-     * events.register("loadstart", object, loadEndListener);
+     * events.register("loadend", object, loadEndListener);
      * (end)
      *
      * Parameters:
@@ -695,7 +695,7 @@
      * Example use:
      * (code)
      * // unregister a single listener for the "loadstart" event
-     * events.un({"loadstart", loadStartListener});
+     * events.un({"loadstart": loadStartListener});
      *
      * // this is equivalent to the following
      * events.unregister("loadstart", undefined, loadStartListener);
@@ -709,7 +709,7 @@
      *
      * // this is equivalent to the following
      * events.unregister("loadstart", object, loadStartListener);
-     * events.unregister("loadstart", object, loadEndListener);
+     * events.unregister("loadend", object, loadEndListener);
      * (end)
      */
     un: function(object) {

Modified: sandbox/august/trunk/lib/OpenLayers/Format/ArcXML.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/ArcXML.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Format/ArcXML.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -496,7 +496,7 @@
     
     
     addRenderer: function(topRelem, renderer) {
-        if (renderer instanceof Array) {
+        if (OpenLayers.Util.isArray(renderer)) {
             this.addGroupRenderer(topRelem, renderer);
         } else {
             var renderElem = this.createElementNS("", renderer.type.toUpperCase() + "RENDERER");

Modified: sandbox/august/trunk/lib/OpenLayers/Format/Atom.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/Atom.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Format/Atom.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -99,7 +99,7 @@
      */
     write: function(features) {
         var doc;
-        if (features instanceof Array) {
+        if (OpenLayers.Util.isArray(features)) {
             doc = this.createElementNSPlus("atom:feed");
             doc.appendChild(
                 this.createElementNSPlus("atom:title", {
@@ -183,7 +183,7 @@
         
         // atom:author
         if (atomAttrib.authors) {
-            var authors = atomAttrib.authors instanceof Array ?
+            var authors = OpenLayers.Util.isArray(atomAttrib.authors) ?
                 atomAttrib.authors : [atomAttrib.authors];
             for (var i=0, ii=authors.length; i<ii; i++) {
                 entryNode.appendChild(
@@ -196,7 +196,7 @@
         
         // atom:category
         if (atomAttrib.categories) {
-            var categories = atomAttrib.categories instanceof Array ?
+            var categories = OpenLayers.Util.isArray(atomAttrib.categories) ?
                 atomAttrib.categories : [atomAttrib.categories];
             var category;
             for (var i=0, ii=categories.length; i<ii; i++) {
@@ -220,7 +220,7 @@
         
         // atom:contributor
         if (atomAttrib.contributors) {
-            var contributors = atomAttrib.contributors instanceof Array ?
+            var contributors = OpenLayers.Util.isArray(atomAttrib.contributors) ?
                 atomAttrib.contributors : [atomAttrib.contributors];
             for (var i=0, ii=contributors.length; i<ii; i++) {
                 entryNode.appendChild(
@@ -243,7 +243,7 @@
         
         // atom:link
         if (atomAttrib.links) {
-            var links = atomAttrib.links instanceof Array ?
+            var links = OpenLayers.Util.isArray(atomAttrib.links) ?
                 atomAttrib.links : [atomAttrib.links];
             var link;
             for (var i=0, ii=links.length; i<ii; i++) {

Modified: sandbox/august/trunk/lib/OpenLayers/Format/CSWGetDomain/v2_0_2.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/CSWGetDomain/v2_0_2.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Format/CSWGetDomain/v2_0_2.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -108,7 +108,7 @@
                 this.readChildNodes(node, obj);
             },
             "DomainValues": function(node, obj) {
-                if (!(obj.DomainValues instanceof Array)) {
+                if (!(OpenLayers.Util.isArray(obj.DomainValues))) {
                     obj.DomainValues = [];
                 }
                 var attrs = node.attributes;
@@ -126,7 +126,7 @@
                 obj.ParameterName = this.getChildValue(node);
             },
             "ListOfValues": function(node, obj) {
-                if (!(obj.ListOfValues instanceof Array)) {
+                if (!(OpenLayers.Util.isArray(obj.ListOfValues))) {
                     obj.ListOfValues = [];
                 }
                 this.readChildNodes(node, obj.ListOfValues);

Modified: sandbox/august/trunk/lib/OpenLayers/Format/CSWGetRecords/v2_0_2.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/CSWGetRecords/v2_0_2.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Format/CSWGetRecords/v2_0_2.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -27,12 +27,14 @@
      * {Object} Mapping of namespace aliases to namespace URIs.
      */
     namespaces: {
-        xlink: "http://www.w3.org/1999/xlink",
-        xsi: "http://www.w3.org/2001/XMLSchema-instance",
         csw: "http://www.opengis.net/cat/csw/2.0.2",
         dc: "http://purl.org/dc/elements/1.1/",
         dct: "http://purl.org/dc/terms/",
-        ows: "http://www.opengis.net/ows"
+        geonet: "http://www.fao.org/geonetwork",
+        ogc: "http://www.opengis.net/ogc",
+        ows: "http://www.opengis.net/ows",
+        xlink: "http://www.w3.org/1999/xlink",
+        xsi: "http://www.w3.org/2001/XMLSchema-instance"
     },
     
     /**
@@ -232,15 +234,26 @@
                 var record = {type: "Record"};
                 this.readChildNodes(node, record);
                 obj.records.push(record);
+            },
+            "*": function(node, obj) {
+                var name = node.localName || node.nodeName.split(":").pop();
+                obj[name] = this.getChildValue(node);
             }
         },
+        "geonet": {
+            "info": function(node, obj) {
+                var gninfo = {};
+                this.readChildNodes(node, gninfo);
+                obj.gninfo = gninfo;
+            }
+        },
         "dc": {
             // audience, contributor, coverage, creator, date, description, format,
             // identifier, language, provenance, publisher, relation, rights,
             // rightsHolder, source, subject, title, type, URI
             "*": function(node, obj) {
                 var name = node.localName || node.nodeName.split(":").pop();
-                if (!(obj[name] instanceof Array)) {
+                if (!(OpenLayers.Util.isArray(obj[name]))) {
                     obj[name] = new Array();
                 }
                 var dc_element = {};
@@ -256,7 +269,7 @@
             // abstract, modified, spatial
             "*": function(node, obj) {
                 var name = node.localName || node.nodeName.split(":").pop();
-                if (!(obj[name] instanceof Array)) {
+                if (!(OpenLayers.Util.isArray(obj[name]))) {
                     obj[name] = new Array();
                 }
                 obj[name].push(this.getChildValue(node));
@@ -329,7 +342,7 @@
                     );
                 }
                 var ResponseHandler = options.ResponseHandler || this.ResponseHandler;
-                if (ResponseHandler instanceof Array && ResponseHandler.length > 0) {
+                if (OpenLayers.Util.isArray(ResponseHandler) && ResponseHandler.length > 0) {
                     // ResponseHandler must be a non-empty array
                     for(var i=0, len=ResponseHandler.length; i<len; i++) {
                         this.writeNode(
@@ -366,7 +379,7 @@
                     }
                 });
                 var ElementName = options.ElementName;
-                if (ElementName instanceof Array && ElementName.length > 0) {
+                if (OpenLayers.Util.isArray(ElementName) && ElementName.length > 0) {
                     // ElementName must be a non-empty array
                     for(var i=0, len=ElementName.length; i<len; i++) {
                         this.writeNode(
@@ -389,14 +402,13 @@
                         node
                     );
                 }
-                //TODO: not implemented in ogc filters?
-                //if (options.SortBy) {
-                    //this.writeNode(
-                        //"ogc:SortBy",
-                        //options.SortBy,
-                        //node
-                    //);
-                //}
+                if (options.SortBy) {
+                    this.writeNode(
+                        "ogc:SortBy",
+                        options.SortBy,
+                        node
+                    );
+                }
                 return node;
             },
             "ElementName": function(options) {
@@ -433,7 +445,8 @@
                 }
                 return node;
             }
-        }
+        },
+        "ogc": OpenLayers.Format.Filter.v1_1_0.prototype.writers["ogc"]
     },
    
     CLASS_NAME: "OpenLayers.Format.CSWGetRecords.v2_0_2" 

Modified: sandbox/august/trunk/lib/OpenLayers/Format/Filter/v1_0_0.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/Filter/v1_0_0.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Format/Filter/v1_0_0.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -130,11 +130,10 @@
                     box.setAttribute("srsName", filter.projection);
                 }
                 return node;
-            }}, OpenLayers.Format.Filter.v1.prototype.writers["ogc"]),
-            
+            }
+        }, OpenLayers.Format.Filter.v1.prototype.writers["ogc"]),
         "gml": OpenLayers.Format.GML.v2.prototype.writers["gml"],
         "feature": OpenLayers.Format.GML.v2.prototype.writers["feature"]
-        
     },
 
     /**

Modified: sandbox/august/trunk/lib/OpenLayers/Format/Filter/v1_1_0.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/Filter/v1_1_0.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Format/Filter/v1_1_0.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -146,8 +146,39 @@
                 }
                 node.appendChild(box); 
                 return node;
-            }}, OpenLayers.Format.Filter.v1.prototype.writers["ogc"]),
-            
+            },
+            "SortBy": function(sortProperties) {
+                var node = this.createElementNSPlus("ogc:SortBy");
+                for (var i=0,l=sortProperties.length;i<l;i++) {
+                    this.writeNode(
+                        "ogc:SortProperty",
+                        sortProperties[i],
+                        node
+                    );
+                }
+                return node;
+            }, 
+            "SortProperty": function(sortProperty) {
+                var node = this.createElementNSPlus("ogc:SortProperty");
+                this.writeNode(
+                    "ogc:PropertyName",
+                    sortProperty,
+                    node
+                );
+                this.writeNode(
+                    "ogc:SortOrder",
+                    (sortProperty.order == 'DESC') ? 'DESC' : 'ASC',
+                    node
+                );
+                return node;
+            },
+            "SortOrder": function(value) {
+                var node = this.createElementNSPlus("ogc:SortOrder", {
+                    value: value
+                });
+                return node;
+            }
+        }, OpenLayers.Format.Filter.v1.prototype.writers["ogc"]),
         "gml": OpenLayers.Format.GML.v3.prototype.writers["gml"],
         "feature": OpenLayers.Format.GML.v3.prototype.writers["feature"]
     },

Modified: sandbox/august/trunk/lib/OpenLayers/Format/GML/Base.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/GML/Base.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Format/GML/Base.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -421,7 +421,7 @@
      */
     write: function(features) {
         var name;
-        if(features instanceof Array) {
+        if(OpenLayers.Util.isArray(features)) {
             name = "featureMembers";
         } else {
             name = "featureMember";

Modified: sandbox/august/trunk/lib/OpenLayers/Format/GML/v2.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/GML/v2.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Format/GML/v2.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -90,7 +90,7 @@
      */
     write: function(features) {
         var name;
-        if(features instanceof Array) {
+        if(OpenLayers.Util.isArray(features)) {
             // GML2 only has abstract feature collections
             // wfs provides a feature collection from a well-known schema
             name = "wfs:FeatureCollection";

Modified: sandbox/august/trunk/lib/OpenLayers/Format/GML/v3.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/GML/v3.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Format/GML/v3.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -250,7 +250,7 @@
      */
     write: function(features) {
         var name;
-        if(features instanceof Array) {
+        if(OpenLayers.Util.isArray(features)) {
             name = "featureMembers";
         } else {
             name = "featureMember";

Modified: sandbox/august/trunk/lib/OpenLayers/Format/GML.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/GML.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Format/GML.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -639,7 +639,7 @@
      * {String} A string representing the GML document.
      */
     write: function(features) {
-        if(!(features instanceof Array)) {
+        if(!(OpenLayers.Util.isArray(features))) {
             features = [features];
         }
         var gml = this.createElementNS("http://www.opengis.net/wfs",

Modified: sandbox/august/trunk/lib/OpenLayers/Format/GeoJSON.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/GeoJSON.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Format/GeoJSON.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -219,7 +219,7 @@
         }
         var geometry, collection = false;
         if(obj.type == "GeometryCollection") {
-            if(!(obj.geometries instanceof Array)) {
+            if(!(OpenLayers.Util.isArray(obj.geometries))) {
                 throw "GeometryCollection must have geometries array: " + obj;
             }
             var numGeom = obj.geometries.length;
@@ -232,7 +232,7 @@
             geometry = new OpenLayers.Geometry.Collection(components);
             collection = true;
         } else {
-            if(!(obj.coordinates instanceof Array)) {
+            if(!(OpenLayers.Util.isArray(obj.coordinates))) {
                 throw "Geometry must have coordinates array: " + obj;
             }
             if(!this.parseCoords[obj.type.toLowerCase()]) {
@@ -450,7 +450,7 @@
         var geojson = {
             "type": null
         };
-        if(obj instanceof Array) {
+        if(OpenLayers.Util.isArray(obj)) {
             geojson.type = "FeatureCollection";
             var numFeatures = obj.length;
             geojson.features = new Array(numFeatures);

Modified: sandbox/august/trunk/lib/OpenLayers/Format/GeoRSS.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/GeoRSS.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Format/GeoRSS.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -297,7 +297,7 @@
      */
     write: function(features) {
         var georss;
-        if(features instanceof Array) {
+        if(OpenLayers.Util.isArray(features)) {
             georss = this.createElementNS(this.rssns, "rss");
             for(var i=0, len=features.length; i<len; i++) {
                 georss.appendChild(this.createFeatureXML(features[i]));

Modified: sandbox/august/trunk/lib/OpenLayers/Format/KML.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/KML.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Format/KML.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1131,7 +1131,7 @@
      * {String} A KML string.
      */
     write: function(features) {
-        if(!(features instanceof Array)) {
+        if(!(OpenLayers.Util.isArray(features))) {
             features = [features];
         }
         var kml = this.createElementNS(this.kmlns, "kml");

Copied: sandbox/august/trunk/lib/OpenLayers/Format/OGCExceptionReport.js (from rev 12095, trunk/openlayers/lib/OpenLayers/Format/OGCExceptionReport.js)
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/OGCExceptionReport.js	                        (rev 0)
+++ sandbox/august/trunk/lib/OpenLayers/Format/OGCExceptionReport.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -0,0 +1,110 @@
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for 
+ * full list of contributors). Published under the Clear BSD license.  
+ * See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Format/XML.js
+ * @requires OpenLayers/Format/OWSCommon/v1_0_0.js
+ * @requires OpenLayers/Format/OWSCommon/v1_1_0.js
+ */
+
+/**
+ * Class: OpenLayers.Format.OGCExceptionReport
+ * Class to read exception reports for various OGC services and versions.
+ *
+ * Inherits from:
+ *  - <OpenLayers.Format.XML>
+ */
+OpenLayers.Format.OGCExceptionReport = OpenLayers.Class(OpenLayers.Format.XML, {
+
+    /**
+     * Property: namespaces
+     * {Object} Mapping of namespace aliases to namespace URIs.
+     */
+    namespaces: {
+        ogc: "http://www.opengis.net/ogc"
+    },
+
+    /**
+     * Property: regExes
+     * Compiled regular expressions for manipulating strings.
+     */
+    regExes: {
+        trimSpace: (/^\s*|\s*$/g),
+        removeSpace: (/\s*/g),
+        splitSpace: (/\s+/),
+        trimComma: (/\s*,\s*/g)
+    },
+
+    /**
+     * Property: defaultPrefix
+     */
+    defaultPrefix: "ogc",
+
+    /**
+     * Constructor: OpenLayers.Format.OGCExceptionReport
+     * Create a new parser for OGC exception reports.
+     *
+     * Parameters:
+     * options - {Object} An optional object whose properties will be set on
+     *     this instance.
+     */
+
+    /**
+     * APIMethod: read
+     * Read OGC exception report data from a string, and return an object with
+     * information about the exceptions.
+     *
+     * Parameters:
+     * data - {String} or {DOMElement} data to read/parse.
+     *
+     * Returns:
+     * {Object} Information about the exceptions that occurred.
+     */
+    read: function(data) {
+        var result;
+        if(typeof data == "string") {
+            data = OpenLayers.Format.XML.prototype.read.apply(this, [data]);
+        }
+        var root = data.documentElement;
+        var exceptionInfo = {exceptionReport: null}; 
+        if (root) {
+            this.readChildNodes(data, exceptionInfo);
+            if (exceptionInfo.exceptionReport === null) {
+                // fall-back to OWSCommon since this is a common output format for exceptions
+                // we cannot easily use the ows readers directly since they differ for 1.0 and 1.1
+                exceptionInfo = new OpenLayers.Format.OWSCommon().read(data);
+            }
+        }
+        return exceptionInfo;
+    },
+
+    /**
+     * Property: readers
+     * Contains public functions, grouped by namespace prefix, that will
+     *     be applied when a namespaced node is found matching the function
+     *     name.  The function will be applied in the scope of this parser
+     *     with two arguments: the node being read and a context object passed
+     *     from the parent.
+     */
+    readers: {
+        "ogc": {
+            "ServiceExceptionReport": function(node, obj) {
+                obj.exceptionReport = {exceptions: []};
+                this.readChildNodes(node, obj.exceptionReport);
+            },
+            "ServiceException": function(node, exceptionReport) {
+                var exception = {
+                    code: node.getAttribute("code"),
+                    locator: node.getAttribute("locator"),
+                    text: this.getChildValue(node)
+                };
+                exceptionReport.exceptions.push(exception);
+            }
+        }
+    },
+    
+    CLASS_NAME: "OpenLayers.Format.OGCExceptionReport"
+    
+});

Modified: sandbox/august/trunk/lib/OpenLayers/Format/OSM.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/OSM.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Format/OSM.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -291,7 +291,7 @@
      * features - {Array(<OpenLayers.Feature.Vector>)}
      */
     write: function(features) { 
-        if (!(features instanceof Array)) {
+        if (!(OpenLayers.Util.isArray(features))) {
             features = [features];
         }
         

Modified: sandbox/august/trunk/lib/OpenLayers/Format/OWSCommon/v1.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/OWSCommon/v1.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Format/OWSCommon/v1.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -4,13 +4,9 @@
  * full text of the license. */
 
 /**
- * @requires OpenLayers/Format/XML.js
+ * @requires OpenLayers/Format/OWSCommon.js
  */
 
-if (!OpenLayers.Format.OWSCommon) {
-    OpenLayers.Format.OWSCommon = {};
-}
-
 /**
  * Class: OpenLayers.Format.OWSCommon.v1
  * Common readers and writers for OWSCommon v1.X formats
@@ -29,6 +25,23 @@
     },
 
     /**
+     * Method: read
+     *
+     * Parameters:
+     * data - {DOMElement} An OWSCommon document element.
+     * options - {Object} Options for the reader.
+     *
+     * Returns:
+     * {Object} An object representing the OWSCommon document.
+     */
+    read: function(data, options) {
+        options = OpenLayers.Util.applyDefaults(options, this.options);
+        var ows = {};
+        this.readChildNodes(data, ows);
+        return ows;
+    },
+
+    /**
      * Property: readers
      * Contains public functions, grouped by namespace prefix, that will
      *     be applied when a namespaced node is found matching the function
@@ -38,6 +51,19 @@
      */
     readers: {
         "ows": {
+            "Exception": function(node, exceptionReport) {
+                var exception = {
+                    code: node.getAttribute('exceptionCode'),
+                    locator: node.getAttribute('locator'),
+                    texts: []
+                };
+                exceptionReport.exceptions.push(exception);
+                this.readChildNodes(node, exception);
+            },
+            "ExceptionText": function(node, exception) {
+                var text = this.getChildValue(node);
+                exception.texts.push(text);
+            },
             "ServiceIdentification": function(node, obj) {
                 obj.serviceIdentification = {};
                 this.readChildNodes(node, obj.serviceIdentification);

Modified: sandbox/august/trunk/lib/OpenLayers/Format/OWSCommon/v1_0_0.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/OWSCommon/v1_0_0.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Format/OWSCommon/v1_0_0.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -9,8 +9,7 @@
 
 /**
  * Class: OpenLayers.Format.OWSCommon.v1_0_0
- * Parser for OWS Common version 1.0.0 which can be used by other parsers.
- * It is not intended to be used on its own.
+ * Parser for OWS Common version 1.0.0.
  */
 OpenLayers.Format.OWSCommon.v1_0_0 = OpenLayers.Class(OpenLayers.Format.OWSCommon.v1, {
     
@@ -19,7 +18,7 @@
      * {Object} Mapping of namespace aliases to namespace URIs.
      */
     namespaces: {
-        ows: "http://www.opengis.net/ows/1.0",
+        ows: "http://www.opengis.net/ows",
         xlink: "http://www.w3.org/1999/xlink"
     },    
     
@@ -32,7 +31,17 @@
      *     from the parent.
      */
     readers: {
-        "ows": OpenLayers.Format.OWSCommon.v1.prototype.readers["ows"]
+        "ows": OpenLayers.Util.applyDefaults({
+            "ExceptionReport": function(node, obj) {
+                obj.success = false;
+                obj.exceptionReport = {
+                    version: node.getAttribute('version'),
+                    language: node.getAttribute('language'),
+                    exceptions: []
+                };
+                this.readChildNodes(node, obj.exceptionReport);
+            } 
+        }, OpenLayers.Format.OWSCommon.v1.prototype.readers.ows)
     },
 
     /**
@@ -42,9 +51,9 @@
      *     node names they produce.
      */
     writers: {
-        "ows": OpenLayers.Format.OWSCommon.v1.prototype.writers["ows"]
+        "ows": OpenLayers.Format.OWSCommon.v1.prototype.writers.ows
     },
     
-    CLASS_NAME: "OpenLayers.Format.OWSCommon.v1_1_0"
+    CLASS_NAME: "OpenLayers.Format.OWSCommon.v1_0_0"
 
 });

Modified: sandbox/august/trunk/lib/OpenLayers/Format/OWSCommon/v1_1_0.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/OWSCommon/v1_1_0.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Format/OWSCommon/v1_1_0.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -9,8 +9,7 @@
 
 /**
  * Class: OpenLayers.Format.OWSCommon.v1_1_0
- * Parser for OWS Common version 1.1.0 which can be used by other parsers.
- * It is not intended to be used on its own.
+ * Parser for OWS Common version 1.1.0.
  */
 OpenLayers.Format.OWSCommon.v1_1_0 = OpenLayers.Class(OpenLayers.Format.OWSCommon.v1, {
 
@@ -33,6 +32,14 @@
      */
     readers: {
         "ows": OpenLayers.Util.applyDefaults({
+            "ExceptionReport": function(node, obj) {
+                obj.exceptionReport = {
+                    version: node.getAttribute('version'),
+                    language: node.getAttribute('xml:lang'),
+                    exceptions: []
+                };
+                this.readChildNodes(node, obj.exceptionReport);
+            },
             "AllowedValues": function(node, parameter) {
                 parameter.allowedValues = {};
                 this.readChildNodes(node, parameter.allowedValues);

Copied: sandbox/august/trunk/lib/OpenLayers/Format/OWSCommon.js (from rev 12095, trunk/openlayers/lib/OpenLayers/Format/OWSCommon.js)
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/OWSCommon.js	                        (rev 0)
+++ sandbox/august/trunk/lib/OpenLayers/Format/OWSCommon.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -0,0 +1,93 @@
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for 
+ * full list of contributors). Published under the Clear BSD license.  
+ * See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Format/XML.js
+ */
+
+/**
+ * Class: OpenLayers.Format.OWSCommon
+ * Read OWSCommon. Create a new instance with the <OpenLayers.Format.OWSCommon>
+ *     constructor.
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Format.XML>
+ */
+OpenLayers.Format.OWSCommon = OpenLayers.Class(OpenLayers.Format.XML, {
+    
+    /**
+     * APIProperty: defaultVersion
+     * {String} Version number to assume if none found.  Default is "1.0.0".
+     */
+    defaultVersion: "1.0.0",
+    
+    /**
+     * APIProperty: version
+     * {String} Specify a version string if one is known.
+     */
+    version: null,
+    
+    /**
+     * Property: parser
+     * {Object} Instance of the versioned parser.  Cached for multiple read and
+     *     write calls of the same version.
+     */
+    parser: null,
+
+    /**
+     * Constructor: OpenLayers.Format.OWSCommon
+     * Create a new parser for OWSCommon.
+     *
+     * Parameters:
+     * options - {Object} An optional object whose properties will be set on
+     *     this instance.
+     */
+
+    /**
+     * APIMethod: read
+     * Read an OWSCommon document and return an object.
+     *
+     * Parameters:
+     * data - {String | DOMElement} Data to read.
+     * options - {Object} Options for the reader.
+     *
+     * Returns:
+     * {Object} An object representing the structure of the document.
+     */
+    read: function(data, options) {
+        if(typeof data == "string") {
+            data = OpenLayers.Format.XML.prototype.read.apply(this, [data]);
+        }
+        var root = data.documentElement;
+        var version = this.version;
+        if(!version) {
+            // remember version does not correspond to the OWS version
+            // it corresponds to the WMS/WFS/WCS etc. request version
+            var uri = root.getAttribute("xmlns:ows");
+            // the above will fail if the namespace prefix is different than
+            // ows and if the namespace is declared on a different element
+            if (uri && uri.substring(uri.lastIndexOf("/")+1) === "1.1") {
+                version ="1.1.0";
+            } 
+            if(!version) {
+                version = this.defaultVersion;
+            }
+        }
+        if(!this.parser || this.parser.VERSION != version) {
+            var format = OpenLayers.Format.OWSCommon[
+                "v" + version.replace(/\./g, "_")
+            ];
+            if(!format) {
+                throw "Can't find a OWSCommon parser for version " +
+                      version;
+            }
+            this.parser = new format(this.options);
+        }
+        var ows = this.parser.read(data, options);
+        return ows;
+    },
+
+    CLASS_NAME: "OpenLayers.Format.OWSCommon" 
+});

Modified: sandbox/august/trunk/lib/OpenLayers/Format/OWSContext/v0_3_1.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/OWSContext/v0_3_1.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Format/OWSContext/v0_3_1.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -178,7 +178,7 @@
      */
     decomposeNestingPath: function(nPath){
         var a = [];
-        if (nPath instanceof Array) {
+        if (OpenLayers.Util.isArray(nPath)) {
             var path = nPath.slice();
             while (path.length > 0) {
                 a.push(path.slice());

Modified: sandbox/august/trunk/lib/OpenLayers/Format/SLD/v1.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/SLD/v1.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Format/SLD/v1.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -147,7 +147,7 @@
                 for(var i=0, len=layer.userStyles.length; i<len; ++i) {
                     layer.userStyles[i].layerName = layer.name;
                 }
-                if(sld.namedLayers instanceof Array) {
+                if(OpenLayers.Util.isArray(sld.namedLayers)) {
                     sld.namedLayers.push(layer);                
                 } else {
                     sld.namedLayers[layer.name] = layer;
@@ -558,7 +558,7 @@
                 }
                 // add in named layers
                 // allow namedLayers to be an array
-                if(sld.namedLayers instanceof Array) {
+                if(OpenLayers.Util.isArray(sld.namedLayers)) {
                     for(var i=0, len=sld.namedLayers.length; i<len; ++i) {
                         this.writeNode("NamedLayer", sld.namedLayers[i], root);
                     }

Modified: sandbox/august/trunk/lib/OpenLayers/Format/WFSCapabilities/v1_0_0.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/WFSCapabilities/v1_0_0.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Format/WFSCapabilities/v1_0_0.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -9,7 +9,7 @@
 
 /**
  * Class: OpenLayers.Format.WFSCapabilities/v1_0_0
- * Read WMS Capabilities version 1.0.0.
+ * Read WFS Capabilities version 1.0.0.
  * 
  * Inherits from:
  *  - <OpenLayers.Format.WFSCapabilities>

Modified: sandbox/august/trunk/lib/OpenLayers/Format/WFSCapabilities.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/WFSCapabilities.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Format/WFSCapabilities.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -5,6 +5,7 @@
 
 /**
  * @requires OpenLayers/Format/XML.js
+ * @requires OpenLayers/Format/OGCExceptionReport.js
  */
 
 /**
@@ -67,6 +68,11 @@
         }
         var parser = new constr(this.options);
         var capabilities = parser.read(data);
+        if (capabilities.service === undefined) {
+            // an error must have happened, so parse it and report back
+            var format = new OpenLayers.Format.OGCExceptionReport();
+            capabilities.error = format.read(data);
+        }
         capabilities.version = version;
         return capabilities;
     },

Modified: sandbox/august/trunk/lib/OpenLayers/Format/WFST/v1.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/WFST/v1.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Format/WFST/v1.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -26,7 +26,8 @@
         xsi: "http://www.w3.org/2001/XMLSchema-instance",
         wfs: "http://www.opengis.net/wfs",
         gml: "http://www.opengis.net/gml",
-        ogc: "http://www.opengis.net/ogc"
+        ogc: "http://www.opengis.net/ogc",
+        ows: "http://www.opengis.net/ows"
     },
     
     /**

Modified: sandbox/august/trunk/lib/OpenLayers/Format/WFST/v1_1_0.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/WFST/v1_1_0.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Format/WFST/v1_1_0.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -6,6 +6,7 @@
 /**
  * @requires OpenLayers/Format/WFST/v1.js
  * @requires OpenLayers/Format/Filter/v1_1_0.js
+ * @requires OpenLayers/Format/OWSCommon/v1_0_0.js
  */
 
 /**
@@ -96,7 +97,8 @@
         }, OpenLayers.Format.WFST.v1.prototype.readers["wfs"]),
         "gml": OpenLayers.Format.GML.v3.prototype.readers["gml"],
         "feature": OpenLayers.Format.GML.v3.prototype.readers["feature"],
-        "ogc": OpenLayers.Format.Filter.v1_1_0.prototype.readers["ogc"]
+        "ogc": OpenLayers.Format.Filter.v1_1_0.prototype.readers["ogc"],
+        "ows": OpenLayers.Format.OWSCommon.v1_0_0.prototype.readers["ows"]
     },
 
     /**

Modified: sandbox/august/trunk/lib/OpenLayers/Format/WMC/v1.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/WMC/v1.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Format/WMC/v1.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1154,7 +1154,7 @@
         var node = this.createElementDefaultNS("StyleList");
 
         var styles = layer.styles;
-        if (styles && styles instanceof Array) {
+        if (styles && OpenLayers.Util.isArray(styles)) {
             var sld;
             for (var i=0, len=styles.length; i<len; i++) {
                 var s = styles[i];

Modified: sandbox/august/trunk/lib/OpenLayers/Format/WMC.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/WMC.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Format/WMC.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -191,7 +191,7 @@
         }
 
         // let's convert layers into layersContext object (if any)
-        if (layers != undefined && layers instanceof Array) {
+        if (layers != undefined && OpenLayers.Util.isArray(layers)) {
             for (var i=0, len=layers.length; i<len; i++) {
                 var layer = layers[i];
                 if (layer instanceof OpenLayers.Layer.WMS) {

Modified: sandbox/august/trunk/lib/OpenLayers/Format/WMSCapabilities/v1.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/WMSCapabilities/v1.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Format/WMSCapabilities/v1.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -5,6 +5,7 @@
 
 /**
  * @requires OpenLayers/Format/WMSCapabilities.js
+ * @requires OpenLayers/Format/OGCExceptionReport.js
  * @requires OpenLayers/Format/XML.js
  */
 
@@ -60,15 +61,20 @@
         if(typeof data == "string") {
             data = OpenLayers.Format.XML.prototype.read.apply(this, [data]);
         }
+        var raw = data;
         if(data && data.nodeType == 9) {
             data = data.documentElement;
         }
         var capabilities = {};
         this.readNode(data, capabilities);
-    
-        // postprocess the layer list
-        this.postProcessLayers(capabilities);
-    
+        if (capabilities.service === undefined) {
+            // an exception must have occurred, so parse it
+            var parser = new OpenLayers.Format.OGCExceptionReport();
+            capabilities.error = parser.read(raw);
+        } else {
+            // postprocess the layer list
+            this.postProcessLayers(capabilities);
+        }
         return capabilities;
     },
 
@@ -290,7 +296,7 @@
                 this.readChildNodes(node, obj.getcapabilities);
             },
             "Format": function(node, obj) {
-                if (obj.formats instanceof Array) {
+                if (OpenLayers.Util.isArray(obj.formats)) {
                     obj.formats.push(this.getChildValue(node));
                 } else {
                     obj.format = this.getChildValue(node);
@@ -303,10 +309,20 @@
                 this.readChildNodes(node, obj);
             },
             "Get": function(node, obj) {
-                this.readChildNodes(node, obj);
+                obj.get = {};
+                this.readChildNodes(node, obj.get);
+                // backwards compatibility
+                if (!obj.href) {
+                    obj.href = obj.get.href;
+                }
             },
             "Post": function(node, obj) {
-                this.readChildNodes(node, obj);
+                obj.post = {};
+                this.readChildNodes(node, obj.post);
+                // backwards compatibility
+                if (!obj.href) {
+                    obj.href = obj.get.href;
+                }
             },
             "GetMap": function(node, obj) {
                 obj.getmap = {formats: []};

Modified: sandbox/august/trunk/lib/OpenLayers/Format/XLS/v1.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Format/XLS/v1.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Format/XLS/v1.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -258,7 +258,7 @@
                     this.writeNode(node, "Building", address.building);
                 }
                 var street = address.street;
-                if (!(street instanceof Array)) {
+                if (!(OpenLayers.Util.isArray(street))) {
                     street = [street];
                 }
                 for (var i=0, len=street.length; i < len; i++) {

Modified: sandbox/august/trunk/lib/OpenLayers/Geometry/Collection.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Geometry/Collection.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Geometry/Collection.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -131,7 +131,7 @@
      * components - {Array(<OpenLayers.Geometry>)} An array of geometries to add
      */
     addComponents: function(components){
-        if(!(components instanceof Array)) {
+        if(!(OpenLayers.Util.isArray(components))) {
             components = [components];
         }
         for(var i=0, len=components.length; i<len; i++) {
@@ -185,7 +185,7 @@
      * components - {Array(<OpenLayers.Geometry>)} The components to be removed
      */
     removeComponents: function(components) {
-        if(!(components instanceof Array)) {
+        if(!(OpenLayers.Util.isArray(components))) {
             components = [components];
         }
         for(var i=components.length-1; i>=0; --i) {
@@ -468,7 +468,7 @@
         if(!geometry || !geometry.CLASS_NAME ||
            (this.CLASS_NAME != geometry.CLASS_NAME)) {
             equivalent = false;
-        } else if(!(geometry.components instanceof Array) ||
+        } else if(!(OpenLayers.Util.isArray(geometry.components)) ||
                   (geometry.components.length != this.components.length)) {
             equivalent = false;
         } else {

Modified: sandbox/august/trunk/lib/OpenLayers/Geometry.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Geometry.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Geometry.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -274,7 +274,7 @@
     var result = format.read(wkt);
     if(result instanceof OpenLayers.Feature.Vector) {
         geom = result.geometry;
-    } else if(result instanceof Array) {
+    } else if(OpenLayers.Util.isArray(result)) {
         var len = result.length;
         var components = new Array(len);
         for(var i=0; i<len; ++i) {

Modified: sandbox/august/trunk/lib/OpenLayers/Handler/Box.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Handler/Box.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Handler/Box.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -43,12 +43,16 @@
      *
      * Parameters:
      * control - {<OpenLayers.Control>} 
-     * callbacks - {Object} An object with a "done" property whose value is a
-     *     callback to be called when the box drag operation is finished.  
-     *     The callback should expect to recieve a single argument, the box 
+     * callbacks - {Object} An object with a properties whose values are
+     *     functions.  Various callbacks described below.
+     * options - {Object} 
+     *
+     * Named callbacks:
+     * start - Called when the box drag operation starts.
+     * done - Called when the box drag operation is finished.
+     *     The callback should expect to receive a single argument, the box 
      *     bounds or a pixel. If the box dragging didn't span more than a 5 
      *     pixel distance, a pixel will be returned instead of a bounds object.
-     * options - {Object} 
      */
     initialize: function(control, callbacks, options) {
         OpenLayers.Handler.prototype.initialize.apply(this, arguments);
@@ -89,9 +93,10 @@
     * Method: startBox
     *
     * Parameters:
-    * evt - {Event} 
+    * xy - {<OpenLayers.Pixel>}
     */
     startBox: function (xy) {
+        this.callback("start", []);
         this.zoomBox = OpenLayers.Util.createDiv('zoomBox',
              new OpenLayers.Pixel(-9999, -9999));
         this.zoomBox.className = this.boxDivClassName;                                         

Modified: sandbox/august/trunk/lib/OpenLayers/Handler/Feature.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Handler/Feature.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Handler/Feature.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -147,7 +147,8 @@
                 scope: this
             });
         }
-        return this.mousedown(evt);
+        return OpenLayers.Event.isMultiTouch(evt) ?
+                true : this.mousedown(evt);
     },
 
     /**

Modified: sandbox/august/trunk/lib/OpenLayers/Handler/Path.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Handler/Path.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Handler/Path.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -36,6 +36,14 @@
     maxVertices: null,
 
     /**
+     * Property: doubleTouchTolerance
+     * {Number} Maximum number of pixels between two touches for
+     *     the gesture to be considered a "finalize feature" action.
+     *     Default is 20.
+     */
+    doubleTouchTolerance: 20,
+
+    /**
      * Property: freehand
      * {Boolean} In freehand mode, the handler starts the path on mouse down,
      * adds a point for every mouse move, and finishes the path on mouse up.
@@ -94,13 +102,10 @@
      *     feature.
      */
     createFeature: function(pixel) {
-        var geometry;
-        if(pixel) {
-            var lonlat = this.map.getLonLatFromPixel(pixel);
-            geometry = new OpenLayers.Geometry.Point(lonlat.lon, lonlat.lat);
-        } else {
-            geometry = new OpenLayers.Geometry.Point();
-        }
+        var lonlat = this.map.getLonLatFromPixel(pixel);
+        var geometry = new OpenLayers.Geometry.Point(
+            lonlat.lon, lonlat.lat
+        );
         this.point = new OpenLayers.Feature.Vector(geometry);
         this.line = new OpenLayers.Feature.Vector(
             new OpenLayers.Geometry.LineString([this.point.geometry])
@@ -113,9 +118,13 @@
     /**
      * Method: destroyFeature
      * Destroy temporary geometries
+     *
+     * Parameters:
+     * force - {Boolean} Destroy even if persist is true.
      */
-    destroyFeature: function() {
-        OpenLayers.Handler.Point.prototype.destroyFeature.apply(this);
+    destroyFeature: function(force) {
+        OpenLayers.Handler.Point.prototype.destroyFeature.call(
+            this, force);
         this.line = null;
     },
 
@@ -185,6 +194,9 @@
      * drawing - {Boolean} Indicate if we're currently drawing.
      */
     modifyFeature: function(pixel, drawing) {
+        if(!this.line) {
+            this.createFeature(pixel);
+        }
         var lonlat = this.control.map.getLonLatFromPixel(pixel);
         this.point.geometry.x = lonlat.lon;
         this.point.geometry.y = lonlat.lat;
@@ -241,9 +253,9 @@
      */
     touchstart: function(evt) {
         if (this.timerId &&
-            this.passesTolerance(this.lastTouchPx, evt.xy, this.dblclickTolerance)) {
+            this.passesTolerance(this.lastTouchPx, evt.xy,
+                                 this.doubleTouchTolerance)) {
             // double-tap, finalize the geometry
-            this.lastTouchPx = evt.xy; // for up() to detect dblclick and do nothing
             this.finishGeometry();
             window.clearTimeout(this.timerId);
             this.timerId = null;
@@ -277,7 +289,9 @@
         if(this.freehandMode(evt)) {
             stopDown = true;
         }
-        if (!this.touch && (!this.lastDown || !this.passesTolerance(this.lastDown, evt.xy, this.pixelTolerance))) {
+        if (!this.touch && (!this.lastDown ||
+                            !this.passesTolerance(this.lastDown, evt.xy,
+                                                  this.pixelTolerance))) {
             this.modifyFeature(evt.xy, !!this.lastUp);
         }
         this.mouseDown = true;
@@ -323,13 +337,16 @@
      * {Boolean} Allow event propagation
      */
     up: function (evt) {
-        if (this.mouseDown && (!this.lastUp || !this.passesTolerance(
-                this.lastUp, evt.xy, this.dblclickTolerance))) {
+        if (this.mouseDown && (!this.lastUp || !this.lastUp.equals(evt.xy))) {
             if(this.stoppedDown && this.freehandMode(evt)) {
+                if (this.persist) {
+                    this.destroyPersistedFeature();
+                }
                 this.removePoint();
                 this.finalize();
             } else {
-                if (this.passesTolerance(this.lastDown, evt.xy, this.pixelTolerance)) {
+                if (this.passesTolerance(this.lastDown, evt.xy,
+                                         this.pixelTolerance)) {
                     if (this.touch) {
                         this.modifyFeature(evt.xy);
                     }

Modified: sandbox/august/trunk/lib/OpenLayers/Handler/Point.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Handler/Point.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Handler/Point.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -107,13 +107,6 @@
     pixelTolerance: 5,
 
     /**
-     * APIProperty: dblclickTolerance
-     * {Number} Maximum number of pixels between two touchend for an
-     *     event to be considered a dblclick.  Default is 20.
-     */
-    dblclickTolerance: 20,
-
-    /**
      * Property: touch
      * {Boolean} Indcates the support of touch events.
      */
@@ -175,7 +168,6 @@
         }, this.layerOptions);
         this.layer = new OpenLayers.Layer.Vector(this.CLASS_NAME, options);
         this.map.addLayer(this.layer);
-        this.createFeature();
         return true;
     },
     
@@ -187,13 +179,10 @@
      * pixel - {<OpenLayers.Pixel>} A pixel location on the map.
      */
     createFeature: function(pixel) {
-        var geometry;
-        if(pixel) {
-            var lonlat = this.map.getLonLatFromPixel(pixel);
-            geometry = new OpenLayers.Geometry.Point(lonlat.lon, lonlat.lat);
-        } else {
-            geometry = new OpenLayers.Geometry.Point();
-        }
+        var lonlat = this.map.getLonLatFromPixel(pixel);
+        var geometry = new OpenLayers.Geometry.Point(
+            lonlat.lon, lonlat.lat
+        );
         this.point = new OpenLayers.Feature.Vector(geometry);
         this.callback("create", [this.point.geometry, this.point]);
         this.point.geometry.clearBounds();
@@ -208,14 +197,14 @@
         if(!OpenLayers.Handler.prototype.deactivate.apply(this, arguments)) {
             return false;
         }
-        this.cancel(true);
+        this.cancel();
         // If a layer's map property is set to null, it means that that layer
         // isn't added to the map. Since we ourself added the layer to the map
         // in activate(), we can assume that if this.layer.map is null it means
         // that the layer has been destroyed (as a result of map.destroy() for
         // example.
         if (this.layer.map != null) {
-            this.destroyFeature();
+            this.destroyFeature(true);
             this.layer.destroy(false);
         }
         this.layer = null;
@@ -226,9 +215,12 @@
     /**
      * Method: destroyFeature
      * Destroy the temporary geometries
+     *
+     * Parameters:
+     * force - {Boolean} Destroy even if persist is true.
      */
-    destroyFeature: function() {
-        if(this.layer) {
+    destroyFeature: function(force) {
+        if(this.layer && (force || !this.persist)) {
             this.layer.destroyFeatures();
         }
         this.point = null;
@@ -250,12 +242,10 @@
      * Finish the geometry and call the "done" callback.
      *
      * Parameters:
-     * cancel - {Boolean} Call cancel instead of done callback.  Default is
-     *     false.
-     * noNew - {Boolean} Do not create a new feature after
-     *     finalization.  Default is false.
+     * cancel - {Boolean} Call cancel instead of done callback.  Default
+     *          is false.
      */
-    finalize: function(cancel, noNew) {
+    finalize: function(cancel) {
         var key = cancel ? "cancel" : "done";
         this.drawing = false;
         this.mouseDown = false;
@@ -263,24 +253,15 @@
         this.lastUp = null;
         this.lastTouchPx = null;
         this.callback(key, [this.geometryClone()]);
-        if(cancel || !this.persist) {
-            this.destroyFeature();
-        }
-        if(!noNew && this.active) {
-            this.createFeature();
-        }
+        this.destroyFeature(cancel);
     },
 
     /**
      * APIMethod: cancel
      * Finish the geometry and call the "cancel" callback.
-     *
-     * Parameters:
-     * noNew - {Boolean} Do not create a new feature after
-     *     cancelation.  Default is false.
      */
-    cancel: function(noNew) {
-        this.finalize(true, noNew);
+    cancel: function() {
+        this.finalize(true);
     },
 
     /**
@@ -323,6 +304,9 @@
      * pixel - {<OpenLayers.Pixel>} A pixel location on the map.
      */
     modifyFeature: function(pixel) {
+        if(!this.point) {
+            this.createFeature(pixel);
+        }
         var lonlat = this.map.getLonLatFromPixel(pixel);
         this.point.geometry.x = lonlat.lon;
         this.point.geometry.y = lonlat.lat;
@@ -526,8 +510,7 @@
             return true;
         }
         // ignore double-clicks
-        if (this.lastUp && this.passesTolerance(this.lastUp, evt.xy,
-                                                this.dblclickTolerance)) {
+        if (this.lastUp && this.lastUp.equals(evt.xy)) {
             return true;
         }
         if (this.lastDown && this.passesTolerance(this.lastDown, evt.xy,
@@ -564,13 +547,9 @@
     /**
      * Method: passesTolerance
      * Determine whether the event is within the optional pixel tolerance.
-     * Note that the pixel tolerance check only works if mousedown events get
-     * to the listeners registered here.  If they are stopped by other
-     * elements, <pixelTolerance> and <dblclickTolerance> will have no effect
-     * here (this method will always return true).
      *
      * Returns:
-     * {Boolean} The click is within the pixel tolerance (if specified).
+     * {Boolean} The event is within the pixel tolerance (if specified).
      */
     passesTolerance: function(pixel1, pixel2, tolerance) {
         var passes = true;

Modified: sandbox/august/trunk/lib/OpenLayers/Handler/Polygon.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Handler/Polygon.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Handler/Polygon.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -75,13 +75,10 @@
      *     feature.
      */
     createFeature: function(pixel) {
-        var geometry;
-        if(pixel) {
-            var lonlat = this.map.getLonLatFromPixel(pixel);
-            geometry = new OpenLayers.Geometry.Point(lonlat.lon, lonlat.lat);
-        } else {
-            geometry = new OpenLayers.Geometry.Point();
-        }
+        var lonlat = this.map.getLonLatFromPixel(pixel);
+        var geometry = new OpenLayers.Geometry.Point(
+            lonlat.lon, lonlat.lat
+        );
         this.point = new OpenLayers.Feature.Vector(geometry);
         this.line = new OpenLayers.Feature.Vector(
             new OpenLayers.Geometry.LinearRing([this.point.geometry])
@@ -251,9 +248,13 @@
     /**
      * Method: destroyFeature
      * Destroy temporary geometries
+     *
+     * Parameters:
+     * force - {Boolean} Destroy even if persist is true.
      */
-    destroyFeature: function() {
-        OpenLayers.Handler.Path.prototype.destroyFeature.apply(this);
+    destroyFeature: function(force) {
+        OpenLayers.Handler.Path.prototype.destroyFeature.call(
+            this, force);
         this.polygon = null;
     },
 

Copied: sandbox/august/trunk/lib/OpenLayers/Lang/lt.js (from rev 12095, trunk/openlayers/lib/OpenLayers/Lang/lt.js)
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Lang/lt.js	                        (rev 0)
+++ sandbox/august/trunk/lib/OpenLayers/Lang/lt.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -0,0 +1,82 @@
+/**
+ * @requires OpenLayers/Lang.js
+ */
+
+/**
+ * Namespace: OpenLayers.Lang["lt"]
+ * Dictionary for Lithuanian.  Keys for entries are used in calls to
+ *     <OpenLayers.Lang.translate>.  Entry bodies are normal strings or
+ *     strings formatted for use with <OpenLayers.String.format> calls.
+ */
+OpenLayers.Lang['lt'] = OpenLayers.Util.applyDefaults({
+
+    'unhandledRequest': "Neapdorota užklausa gražino ${statusText}",
+
+    'permalink': "Pastovi nuoroda",
+
+    'overlays': "Papildomi sluoksniai",
+
+    'baseLayer': "Pagrindinis sluoksnis",
+
+    'sameProjection':
+	"Apžvalginis žemėlapis veikia tik tada, kai jis yra tos pačios projekcijos kaip ir pagrindinis",
+
+    'readNotImplemented': "Skaitymas nėra įgyvendintas.",
+
+    'writeNotImplemented': "Rašymas nėra įgyvendintas.",
+
+    'noFID': "Negaliu atnaujinti objekto, kuris neturi FID.",
+
+    'errorLoadingGML': "Klaida užkraunant GML failą ${url}",
+
+    'browserNotSupported':
+	"Jūsų naršyklė nemoka parodyti vektorių. Šiuo metu galima naudotis tokiais rodymo varikliais:\n{renderers}",
+
+    'componentShouldBe': "addFeatures : komponentas turi būti ${geomType}",
+
+    // console message
+    'getFeatureError':
+	"getFeatureFromEvent buvo iškviestas sluoksniui, kuris neturi priskirto paišymo variklio. Tai paprastai nutinka, kai jūs pašalinate sluoksnį, bet paliekate su juo susijusį [handler]",
+
+    'commitSuccess': "WFS Tranzakcija: PAVYKO ${response}",
+
+    'commitFailed': "WFS Tranzakcija: ŽLUGO ${response}",
+
+    'scale': "Mastelis = 1 : ${scaleDenom}",
+    
+    //labels for the graticule control
+    'W': 'V',
+    'E': 'R',
+    'N': 'Å ',
+    'S': 'P',
+    'graticule': 'Tinklelis',
+
+    // console message
+    'layerAlreadyAdded':
+        "Bandėte pridėti prie žemėlapio sluoksnį ${layerName}, tačiau jis jau yra pridėtas",
+
+    // console message
+    'methodDeprecated':
+	"Šis metodas yra pasenęs ir 3.0 versijoje bus pašalintas. " +
+	"Prašome naudoti ${newMethod}.",
+
+    // console message
+    'boundsAddError': "Add funkcijai reikia pateikti tiek x, tiek y reikšmes.",
+
+    // console message
+    'lonlatAddError': "Add funkcijai reikia pateikti tiek lon, tiek lat reikšmes",
+
+    // console message
+    'pixelAddError': "Add funkcijai būtina perduoti tiek x, tiek y reikšmes.",
+
+    // console message
+    'unsupportedGeometryType': "Nepalaikomas geometrijos tipas: ${geomType}",
+
+    // console message
+    'pagePositionFailed':
+        "OpenLayers.Util.pagePosition žlugo: elementas su id ${elemId} gali būti neteisingoje vietoje.",
+
+    // **** end ****
+    'end': ''
+    
+});

Modified: sandbox/august/trunk/lib/OpenLayers/Layer/ArcGISCache.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Layer/ArcGISCache.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Layer/ArcGISCache.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -430,7 +430,7 @@
         var url = this.url;
         var s = '' + x + y + z;
 
-        if (url instanceof Array) {
+        if (OpenLayers.Util.isArray(url)) {
             url = this.selectUrl(s, url);
         }
 

Modified: sandbox/august/trunk/lib/OpenLayers/Layer/Bing.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Layer/Bing.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Layer/Bing.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -5,13 +5,16 @@
 
 /**
  * @requires OpenLayers/Layer/XYZ.js
+ * @requires OpenLayers/Layer/SphericalMercator.js
  */
 
 /** 
  * Class: OpenLayers.Layer.Bing
  * Bing layer using direct tile access as provided by Bing Maps REST Services.
  * See http://msdn.microsoft.com/en-us/library/ff701713.aspx for more
- * information.
+ * information. Note: Terms of Service compliant use requires the map to be
+ * configured with an <OpenLayers.Control.Attribution> control and the
+ * attribution placed on or near the map.
  * 
  * Inherits from:
  *  - <OpenLayers.Layer.XYZ>

Modified: sandbox/august/trunk/lib/OpenLayers/Layer/EventPane.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Layer/EventPane.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Layer/EventPane.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -108,7 +108,7 @@
         }
 
         if (this.isFixed) {
-            this.map.viewPortDiv.appendChild(this.pane);
+            this.map.eventsDiv.appendChild(this.pane);
         } else {
             this.map.layerContainerDiv.appendChild(this.pane);
         }

Copied: sandbox/august/trunk/lib/OpenLayers/Layer/GoogleNG.js (from rev 12095, trunk/openlayers/lib/OpenLayers/Layer/GoogleNG.js)
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Layer/GoogleNG.js	                        (rev 0)
+++ sandbox/august/trunk/lib/OpenLayers/Layer/GoogleNG.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -0,0 +1,329 @@
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for 
+ * full list of contributors). Published under the Clear BSD license.  
+ * See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Layer/XYZ.js
+ * @requires OpenLayers/Tile/Google.js
+ * @requires OpenLayers/Layer/SphericalMercator.js
+ */
+
+/** 
+ * Class: OpenLayers.Layer.GoogleNG
+ * Google layer using <OpenLayers.Tile.Google> tiles.
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Layer.XYZ>
+ */
+OpenLayers.Layer.GoogleNG = OpenLayers.Class(OpenLayers.Layer.XYZ, {
+
+    /**
+     * Property: SUPPORTED_TRANSITIONS
+     * {Array} An immutable (that means don't change it!) list of supported 
+     *     transitionEffect values. This layer type supports none.
+     */
+    SUPPORTED_TRANSITIONS: [],
+    
+    /**
+     * Property: attributionTemplate
+     * {String}
+     */
+    attributionTemplate: '<span class="olGoogleAttribution ${mapType}">' +
+         '<div><a title="Click to see this area on Google Maps" ' + 
+         'target="_blank" href="http://maps.google.com/maps?' +
+         'll=${center}&z=${zoom}&t=${t}"><img width="62" height="24" ' +
+         'src="http://maps.gstatic.com/mapfiles/google_white.png"/></a>' +
+         '</div>${mapData}<a style="white-space: nowrap" target="_blank" ' +
+         'href="http://www.google.com/help/terms_maps.html">' +
+         'Terms of Use</a></span>',
+    
+    /**
+     * Property: mapTypes
+     * {Object} mapping of {google.maps.MapTypeId} to the t param of
+     * http://maps.google.com/maps? permalinks
+     */
+    mapTypes: {
+        "roadmap": "m",
+        "satellite": "k",
+        "hybrid": "h",
+        "terrain": "p"
+    },
+    
+    /**
+     * APIProperty: type
+     * {google.maps.MapTypeId} See
+     * http://code.google.com/apis/maps/documentation/javascript/reference.html#MapTypeId
+     */
+    type: null,
+    
+    /**
+     * Constructor: OpenLayers.Layer.GoogleNG
+     * Create a new GoogleNG layer. Requires the GMaps v3 JavaScript API script
+     * (http://maps.google.com/maps/api/js?v=3.5&amp;sensor=false) loaded in
+     * the html document. Note: Terms of Service compliant use requires the map
+     * to be configured with an <OpenLayers.Control.Attribution> control and
+     * the attribution placed on the map.
+     *
+     * Example:
+     * (code)
+     * var terrain = new OpenLayers.Layer.GoogleNG({
+     *     name: "Google Terrain",
+     *     type: google.maps.MapTypeId.TERRAIN
+     * });
+     * (end)
+     *
+     * Parameters:
+     * options - {Object} Configuration properties for the layer.
+     *
+     * Required configuration properties:
+     * type - {google.maps.MapTypeId} The layer identifier.  See
+     *     http://code.google.com/apis/maps/documentation/javascript/reference.html#MapTypeId
+     *     for valid types.
+     *
+     * Any other documented layer properties can be provided in the config object.
+     */
+    initialize: function(options) {
+        options = OpenLayers.Util.applyDefaults({
+            sphericalMercator: true
+        }, options);
+
+        if (!options.type) {
+            options.type = google.maps.MapTypeId.ROADMAP;
+        }
+        var newArgs = [options.name, null, options];
+        OpenLayers.Layer.XYZ.prototype.initialize.apply(this, newArgs);
+        
+        this.options.numZoomLevels = options.numZoomLevels;
+        if (!OpenLayers.Layer.GoogleNG.mapObject) {
+            OpenLayers.Layer.GoogleNG.mapObject =
+                new google.maps.Map(document.createElement("div"));
+        }
+        if (OpenLayers.Layer.GoogleNG.mapObject.mapTypes[this.type]) {
+            this.initLayer();
+        } else {
+            google.maps.event.addListenerOnce(
+                OpenLayers.Layer.GoogleNG.mapObject, 
+                "idle", 
+                OpenLayers.Function.bind(this.initLayer, this)
+            );
+        }
+    },
+
+    /**
+     * Method: initLayer
+     *
+     * Sets layer properties according to the metadata provided by the API
+     */
+    initLayer: function() {
+        var mapType = OpenLayers.Layer.GoogleNG.mapObject.mapTypes[this.type];
+        if (!this.name) {
+            this.setName("Google " + mapType.name);
+        }
+        
+        var numZoomLevels = mapType.maxZoom + 1;
+        if (this.options.numZoomLevels != null) {
+            numZoomLevels = Math.min(numZoomLevels, this.options.numZoomLevels);
+        }
+        var restrictedMinZoom;
+        if (this.restrictedMinZoom || mapType.minZoom) {
+            restrictedMinZoom = Math.max(
+                mapType.minZoom || 0, this.restrictedMinZoom || 0
+            );
+        }
+        
+        this.addOptions({
+            restrictedMinZoom: restrictedMinZoom,
+            numZoomLevels: numZoomLevels,
+            tileSize: new OpenLayers.Size(
+                mapType.tileSize.width, mapType.tileSize.height
+            )
+        });
+        // redraw to populate tiles with content
+        this.redraw();
+    },
+
+    /**
+     * APIMethod: addTile
+     * Create a tile, initialize it, and add it to the layer div. 
+     *
+     * Parameters
+     * bounds - {<OpenLayers.Bounds>}
+     * position - {<OpenLayers.Pixel>}
+     *
+     * Returns:
+     * {<OpenLayers.Tile.Google>} The added OpenLayers.Tile.Google
+     */
+    addTile:function(bounds, position) {
+        return new OpenLayers.Tile.Google(
+            this, position, bounds, this.tileOptions
+        );
+    },
+    
+    /**
+     * Method: updateAttribution
+     * Updates the attribution using the <attributionTemplate>
+     *
+     * Parameters:
+     * copyrights - {Object} Object with "m", "k", "h" and "p" properties (see
+     *     <mapTypes>), each holding an array of copyrights.
+     */
+    updateAttribution: function(copyrights) {
+        var myCopyrights;
+        if (this.type == google.maps.MapTypeId.HYBRID) {
+            // the Copyright Service returns "k" and "m" copyrights for the
+            // HYBRID layer type.
+            var candidates = [].concat(
+                copyrights["h"], copyrights["k"], copyrights["m"]
+            );
+            myCopyrights = [];
+            for (var i=candidates.length-1; i>=0; --i) {
+                if (OpenLayers.Util.indexOf(candidates, myCopyrights) == -1) {
+                    myCopyrights.push(candidates[i]);
+                }
+            }
+        } else {
+            myCopyrights = copyrights[this.mapTypes[this.type]];
+        }
+        var mapData = myCopyrights.length == 0 ? "" :
+            "Map Data &copy;" + new Date().getFullYear() + " " +
+            myCopyrights.join(", ") + " - ";
+        var center = this.map.getCenter();
+        center && center.transform(
+            this.map.getProjectionObject(),
+            new OpenLayers.Projection("EPSG:4326")
+        );
+        var size = this.map.getSize();
+        this.attribution = OpenLayers.String.format(this.attributionTemplate, {
+            t: this.mapTypes[this.type],
+            zoom: this.map.getZoom(),
+            center: center.lat + "," + center.lon,
+            mapType: this.type,
+            mapData: mapData
+        });
+        this.map && this.map.events.triggerEvent("changelayer", {layer: this});
+    },
+    
+    /**
+     * Method: setMap
+     */
+    setMap: function() {
+        OpenLayers.Layer.XYZ.prototype.setMap.apply(this, arguments);
+        this.events.register("moveend", this,
+            OpenLayers.Layer.GoogleNG.loadCopyrights
+        );
+    },
+    
+    /**
+     * Method: removeMap
+     */
+    removeMap: function() {
+        OpenLayers.Layer.XYZ.prototype.removeMap.apply(this, arguments);
+        this.events.unregister("moveend", this,
+            OpenLayers.Layer.GoogleNG.loadCopyrights
+        );
+    },
+        
+    /**
+     * APIMethod: clone
+     * 
+     * Parameters:
+     * obj - {Object}
+     * 
+     * Returns:
+     * {<OpenLayers.Layer.GoogleNG>} An exact clone of this
+     * <OpenLayers.Layer.GoogleNG>
+     */
+    clone: function(obj) {
+        if (obj == null) {
+            obj = new OpenLayers.Layer.GoogleNG(this.options);
+        }
+        //get all additions from superclasses
+        obj = OpenLayers.Layer.XYZ.prototype.clone.apply(this, [obj]);
+        // copy/set any non-init, non-simple values here
+        return obj;
+    },
+    
+    CLASS_NAME: "OpenLayers.Layer.GoogleNG"
+});
+
+/**
+ * Property: mapObject
+ * {google.maps.Map} Shared GMaps instance - will be set upon instantiation of
+ * the 1st GoogleNG layer
+ */
+OpenLayers.Layer.GoogleNG.mapObject = null;
+
+/**
+ * Function: loadCopyrights
+ * Using the Google Maps Copyright Service mode (see
+ * http://mapki.com/wiki/Google_Map_Parameters#Misc) to get the attribution for
+ * the current map extent. Will be called by each GoogleNG layer instance on
+ * moveend. 
+ */
+OpenLayers.Layer.GoogleNG.loadCopyrights = function() {
+    var me = OpenLayers.Layer.GoogleNG.loadCopyrights;
+    if (me.numLoadingScripts == undefined) {
+        me.loadingScripts = [];
+        me.numLoadingScripts = 0;
+        me.copyrights = {"m": [], "k": [], "h": [], "p": []};
+        
+        // store window scope functions before overwriting them
+        me.origGAddCopyright = window.GAddCopyright;
+        me.origGVerify = window.GVerify;
+        me.origGAppFeatures = window.GAppFeatures;
+        
+        // defining window scope functions called by the script that the
+        // Copyright Service returns
+        window.GAddCopyright = function() {
+            var copyright = arguments[7];
+            var category = me.copyrights[arguments[0]];
+            if (OpenLayers.Util.indexOf(category, copyright) == -1) {
+                copyright && category.push(copyright);
+            }
+        };
+        window.GVerify = OpenLayers.Function.True;
+        window.GAppFeatures = OpenLayers.Function.bind(function() {
+            me.numLoadingScripts--;
+            if (me.numLoadingScripts == 0) {
+                var script;
+                for (var i=me.loadingScripts.length-1; i>=0; --i) {
+                    script = me.loadingScripts[i][0];
+                    me.loadingScripts[i][1].updateAttribution(me.copyrights);
+                    script.parentNode.removeChild(script);
+                }
+                
+                // restore original functions
+                window.GAddCopyright = me.origGAddCopyright;
+                delete me.origGAddCopyright;
+                window.GVerify = me.origGVerify;
+                delete me.origGVerify;
+                window.GAppFeatures = me.origGAppFeatures;
+                delete me.origGAppFeatures;
+                
+                delete me.loadingScripts;
+                delete me.numLoadingScripts;
+                delete me.copyrights;
+            }
+        }, this);
+    }
+    var mapProj = this.map.getProjectionObject();
+    var llProj = new OpenLayers.Projection("EPSG:4326");
+    var center = this.map.getCenter().transform(mapProj, llProj);
+    var extent = this.map.getExtent().transform(mapProj, llProj);
+    var params = {
+        spn: extent.getHeight() + "," + extent.getWidth(),
+        z: this.map.getZoom(),
+        t: this.mapTypes[this.type],
+        vp: center.lat + "," + center.lon
+    };
+    var url = "http://maps.google.com/maps?" +
+        OpenLayers.Util.getParameterString(params);
+    var script = document.createElement("script");
+    script.type = "text/javascript";
+    script.src = url;
+    me.numLoadingScripts++;
+    me.loadingScripts.push([script, this]);
+    document.getElementsByTagName("head")[0].appendChild(script);
+};
+

Modified: sandbox/august/trunk/lib/OpenLayers/Layer/HTTPRequest.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Layer/HTTPRequest.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Layer/HTTPRequest.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -209,7 +209,7 @@
         // in which case we will deterministically select one of them in 
         // order to evenly distribute requests to different urls.
         //
-        if (url instanceof Array) {
+        if (OpenLayers.Util.isArray(url)) {
             url = this.selectUrl(paramsString, url);
         }   
  

Modified: sandbox/august/trunk/lib/OpenLayers/Layer/KaMapCache.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Layer/KaMapCache.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Layer/KaMapCache.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -117,7 +117,7 @@
         // order to evenly distribute requests to different urls.
         //
         var url = this.url;
-        if (url instanceof Array) {
+        if (OpenLayers.Util.isArray(url)) {
             url = this.selectUrl(paramsString, url);
         }  
     

Modified: sandbox/august/trunk/lib/OpenLayers/Layer/MapServer.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Layer/MapServer.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Layer/MapServer.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -136,7 +136,7 @@
         // if url is not a string, it should be an array of strings, 
         // in which case we will deterministically select one of them in 
         // order to evenly distribute requests to different urls.
-        if (url instanceof Array) {
+        if (OpenLayers.Util.isArray(url)) {
             url = this.selectUrl(paramsString, url);
         }   
         

Modified: sandbox/august/trunk/lib/OpenLayers/Layer/TMS.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Layer/TMS.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Layer/TMS.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -31,7 +31,11 @@
 
     /**
      * APIProperty: tileOrigin
-     * {<OpenLayers.Pixel>}
+     * {<OpenLayers.LonLat>} Optional origin for aligning the grid of tiles.
+     *     If provided, requests for tiles at all resolutions will be aligned
+     *     with this location (no tiles shall overlap this location).  If
+     *     not provided, the grid of tiles will be aligned with the map's
+     *     <maxExtent>.  Default is ``null``.
      */
     tileOrigin: null,
 
@@ -125,7 +129,7 @@
             this.map.getZoom() + this.zoomOffset;
         var path = this.serviceVersion + "/" + this.layername + "/" + z + "/" + x + "/" + y + "." + this.type; 
         var url = this.url;
-        if (url instanceof Array) {
+        if (OpenLayers.Util.isArray(url)) {
             url = this.selectUrl(path, url);
         }
         return url + path;

Modified: sandbox/august/trunk/lib/OpenLayers/Layer/TileCache.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Layer/TileCache.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Layer/TileCache.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -138,7 +138,7 @@
         ];
         var path = components.join('/'); 
         var url = this.url;
-        if (url instanceof Array) {
+        if (OpenLayers.Util.isArray(url)) {
             url = this.selectUrl(path, url);
         }
         url = (url.charAt(url.length - 1) == '/') ? url : url + '/';

Modified: sandbox/august/trunk/lib/OpenLayers/Layer/Vector.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Layer/Vector.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Layer/Vector.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -554,7 +554,7 @@
      * options - {Object}
      */
     addFeatures: function(features, options) {
-        if (!(features instanceof Array)) {
+        if (!(OpenLayers.Util.isArray(features))) {
             features = [features];
         }
         
@@ -643,7 +643,7 @@
         if (features === this.features) {
             return this.removeAllFeatures(options);
         }
-        if (!(features instanceof Array)) {
+        if (!(OpenLayers.Util.isArray(features))) {
             features = [features];
         }
         if (features === this.selectedFeatures) {

Modified: sandbox/august/trunk/lib/OpenLayers/Layer/WMS.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Layer/WMS.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Layer/WMS.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -266,6 +266,10 @@
         	this.params.CRS = null;
             //this.params.SRS = value;
         }
+        
+        if (typeof this.params.TRANSPARENT == "boolean") {
+            newParams.TRANSPARENT = this.params.TRANSPARENT ? "TRUE" : "FALSE";
+        }
 
         return OpenLayers.Layer.Grid.prototype.getFullRequestString.apply(
                                                     this, arguments);

Modified: sandbox/august/trunk/lib/OpenLayers/Layer/WMTS.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Layer/WMTS.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Layer/WMTS.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -408,7 +408,7 @@
                 path = path + this.matrixSet + "/" + this.matrix.identifier + 
                     "/" + info.row + "/" + info.col + "." + this.formatSuffix;
                 
-                if (this.url instanceof Array) {
+                if (OpenLayers.Util.isArray(this.url)) {
                     url = this.selectUrl(path, this.url);
                 } else {
                     url = this.url;

Modified: sandbox/august/trunk/lib/OpenLayers/Layer/XYZ.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Layer/XYZ.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Layer/XYZ.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -120,7 +120,7 @@
     getURL: function (bounds) {
         var xyz = this.getXYZ(bounds);
         var url = this.url;
-        if (url instanceof Array) {
+        if (OpenLayers.Util.isArray(url)) {
             var s = '' + xyz.x + xyz.y + xyz.z;
             url = this.selectUrl(s, url);
         }
@@ -140,10 +140,10 @@
      */
     getXYZ: function(bounds) {
         var res = this.map.getResolution();
-        var x = Math.round((bounds.left - this.maxExtent.left) 
-            / (res * this.tileSize.w));
-        var y = Math.round((this.maxExtent.top - bounds.top) 
-            / (res * this.tileSize.h));
+        var x = Math.round((bounds.left - this.maxExtent.left) /
+            (res * this.tileSize.w));
+        var y = Math.round((this.maxExtent.top - bounds.top) /
+            (res * this.tileSize.h));
         var z = this.serverResolutions != null ?
             OpenLayers.Util.indexOf(this.serverResolutions, res) :
             this.map.getZoom() + this.zoomOffset;

Modified: sandbox/august/trunk/lib/OpenLayers/Layer/Zoomify.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Layer/Zoomify.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Layer/Zoomify.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -211,7 +211,7 @@
         var path = "TileGroup" + Math.floor( (tileIndex) / 256 ) +
             "/" + z + "-" + x + "-" + y + ".jpg";
         var url = this.url;
-        if (url instanceof Array) {
+        if (OpenLayers.Util.isArray(url)) {
             url = this.selectUrl(path, url);
         }
         return url + path;

Modified: sandbox/august/trunk/lib/OpenLayers/Protocol/SQL/Gears.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Protocol/SQL/Gears.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Protocol/SQL/Gears.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -302,7 +302,7 @@
      *          object.
      */
     createOrUpdate: function(features) {
-        if (!(features instanceof Array)) {
+        if (!(OpenLayers.Util.isArray(features))) {
             features = [features];
         }
 
@@ -397,7 +397,7 @@
      *          object.
      */
     "delete": function(features, options) {
-        if (!(features instanceof Array)) {
+        if (!(OpenLayers.Util.isArray(features))) {
             features = [features];
         }
 

Modified: sandbox/august/trunk/lib/OpenLayers/Protocol/WFS/v1.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Protocol/WFS/v1.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Protocol/WFS/v1.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -249,13 +249,19 @@
             var request = response.priv;
             if(request.status >= 200 && request.status < 300) {
                 // success
-                if (options.readOptions && options.readOptions.output == "object") {
-                    OpenLayers.Util.extend(response, 
-                        this.parseResponse(request, options.readOptions));
+                var result = this.parseResponse(request, options.readOptions);
+                if (result && result.success !== false) { 
+                    if (options.readOptions && options.readOptions.output == "object") {
+                        OpenLayers.Util.extend(response, result);
+                    } else {
+                        response.features = result;
+                    }
+                    response.code = OpenLayers.Protocol.Response.SUCCESS;
                 } else {
-                    response.features = this.parseResponse(request, options.readOptions);
+                    // failure (service exception)
+                    response.code = OpenLayers.Protocol.Response.FAILURE;
+                    response.error = result;
                 }
-                response.code = OpenLayers.Protocol.Response.SUCCESS;
             } else {
                 // failure
                 response.code = OpenLayers.Protocol.Response.FAILURE;
@@ -346,9 +352,12 @@
             var obj = this.format.read(data) || {};
             
             response.insertIds = obj.insertIds || [];
-            response.code = (obj.success) ?
-                OpenLayers.Protocol.Response.SUCCESS :
-                OpenLayers.Protocol.Response.FAILURE;
+            if (obj.success) {
+                response.code = OpenLayers.Protocol.Response.SUCCESS;
+            } else {
+                response.code = OpenLayers.Protocol.Response.FAILURE;
+                response.error = obj;
+            }
             options.callback.call(options.scope, response);
         }
     },

Modified: sandbox/august/trunk/lib/OpenLayers/Protocol/WFS.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Protocol/WFS.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Protocol/WFS.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -45,7 +45,7 @@
 OpenLayers.Protocol.WFS.fromWMSLayer = function(layer, options) {
     var typeName, featurePrefix;
     var param = layer.params["LAYERS"];
-    var parts = (param instanceof Array ? param[0] : param).split(":");
+    var parts = (OpenLayers.Util.isArray(param) ? param[0] : param).split(":");
     if(parts.length > 1) {
         featurePrefix = parts[0];
     }

Modified: sandbox/august/trunk/lib/OpenLayers/Protocol.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Protocol.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Protocol.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -249,6 +249,12 @@
     priv: null,
 
     /**
+     * Property: error
+     * {Object} The error object in case a service exception was encountered.
+     */
+    error: null,
+
+    /**
      * Constructor: OpenLayers.Protocol.Response
      *
      * Parameters:

Modified: sandbox/august/trunk/lib/OpenLayers/Renderer/Canvas.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Renderer/Canvas.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Renderer/Canvas.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -145,8 +145,12 @@
             if (rendered) {
                 // keep track of what we have rendered for redraw
                 this.features[feature.id] = [feature, style];
-                this.pendingRedraw = true;
             }
+            else {
+                // remove from features tracked for redraw
+                delete(this.features[feature.id]);
+            }
+            this.pendingRedraw = true;
         }
         if (this.pendingRedraw && !this.locked) {
             this.redraw();
@@ -228,8 +232,8 @@
             var p0 = pt[0];
             var p1 = pt[1];
             if(!isNaN(p0) && !isNaN(p1)) {
-                var x = p0 + xOffset;
-                var y = p1 + yOffset;
+                var x = (p0 + xOffset) | 0;
+                var y = (p1 + yOffset) | 0;
                 var canvas = this.canvas;
                 canvas.globalAlpha = opacity;
                 var factor = OpenLayers.Renderer.Canvas.drawImageScaleFactor ||
@@ -628,7 +632,7 @@
      * features - {Array(<OpenLayers.Feature.Vector>)} 
      */
     eraseFeatures: function(features) {
-        if(!(features instanceof Array)) {
+        if(!(OpenLayers.Util.isArray(features))) {
             features = [features];
         }
         for(var i=0; i<features.length; ++i) {

Modified: sandbox/august/trunk/lib/OpenLayers/Renderer/Elements.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Renderer/Elements.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Renderer/Elements.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -57,10 +57,8 @@
         this.compare = yOrdering ? 
             OpenLayers.ElementsIndexer.IndexingMethods.Z_ORDER_Y_ORDER :
             OpenLayers.ElementsIndexer.IndexingMethods.Z_ORDER_DRAWING_ORDER;
-            
-        this.order = [];
-        this.indices = {};
-        this.maxZIndex = 0;
+
+        this.clear();
     },
     
     /**

Modified: sandbox/august/trunk/lib/OpenLayers/Renderer/NG.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Renderer/NG.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Renderer/NG.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -32,22 +32,12 @@
      *     * zIndexing - {Boolean} Whether to use z-indexing. Will be ignored
      *         if yOrdering is set to true.
      */
-    initialize: function(containerID, options) {
-        OpenLayers.Renderer.Elements.prototype.initialize.apply(this, arguments);
-    },
 
     /**
-     * Method: destroy
-     */
-    destroy: function() {
-        OpenLayers.Renderer.Elements.prototype.destroy.apply(this, arguments);
-    },
-
-    /**
      * Method: updateDimensions
      * To be extended by subclasses - here we set positioning related styles
      * on HTML elements, subclasses have to do the same for renderer specific
-     * elements (e.g. viesBox, width and height of the rendererRoot)
+     * elements (e.g. viewBox, width and height of the rendererRoot)
      */
     updateDimensions: function() {
         var mapExtent = this.map.getExtent();

Modified: sandbox/august/trunk/lib/OpenLayers/Renderer/SVG.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Renderer/SVG.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Renderer/SVG.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -67,13 +67,6 @@
     },
 
     /**
-     * APIMethod: destroy
-     */
-    destroy: function() {
-        OpenLayers.Renderer.Elements.prototype.destroy.apply(this, arguments);
-    },
-    
-    /**
      * APIMethod: supported
      * 
      * Returns:

Modified: sandbox/august/trunk/lib/OpenLayers/Renderer/SVG2.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Renderer/SVG2.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Renderer/SVG2.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -58,13 +58,6 @@
     },
 
     /**
-     * APIMethod: destroy
-     */
-    destroy: function() {
-        OpenLayers.Renderer.Elements.prototype.destroy.apply(this, arguments);
-    },
-    
-    /**
      * APIMethod: supported
      * 
      * Returns:

Modified: sandbox/august/trunk/lib/OpenLayers/Renderer/VML.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Renderer/VML.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Renderer/VML.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -67,14 +67,6 @@
     },
 
     /**
-     * APIMethod: destroy
-     * Deconstruct the renderer.
-     */
-    destroy: function() {
-        OpenLayers.Renderer.Elements.prototype.destroy.apply(this, arguments);
-    },
-
-    /**
      * APIMethod: supported
      * Determine whether a browser supports this renderer.
      *

Modified: sandbox/august/trunk/lib/OpenLayers/Renderer.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Renderer.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Renderer.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -267,7 +267,7 @@
      * features - {Array(<OpenLayers.Feature.Vector>)} 
      */
     eraseFeatures: function(features) {
-        if(!(features instanceof Array)) {
+        if(!(OpenLayers.Util.isArray(features))) {
             features = [features];
         }
         for(var i=0, len=features.length; i<len; ++i) {

Copied: sandbox/august/trunk/lib/OpenLayers/Tile/Google.js (from rev 12095, trunk/openlayers/lib/OpenLayers/Tile/Google.js)
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Tile/Google.js	                        (rev 0)
+++ sandbox/august/trunk/lib/OpenLayers/Tile/Google.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -0,0 +1,155 @@
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for 
+ * full list of contributors). Published under the Clear BSD license.  
+ * See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/*
+ * @requires OpenLayers/BaseTypes/Class.js
+ * @requires OpenLayers/Util.js
+ * @requires OpenLayers/Console.js
+ * @requires OpenLayers/Lang.js
+ */
+
+/*
+ * Class: OpenLayers.Tile.Google
+ * Instances of OpenLayers.Tile.Google are used to manage the tiles created
+ * by google.maps.MapType (see
+ * http://code.google.com/apis/maps/documentation/javascript/reference.html#MapType).
+ *
+ * Inherits from:
+ *  - <OpenLayers.Tile>
+ */
+OpenLayers.Tile.Google = OpenLayers.Class(OpenLayers.Tile, {
+    
+    /**
+     * Property: node
+     * {DOMElement} The tile node from the MapType's getTile method
+     */
+    node: null,
+        
+    /** 
+     * Constructor: OpenLayers.Tile.Google
+     * Constructor for a new <OpenLayers.Tile.Google> instance.
+     * 
+     * Parameters:
+     * layer - {<OpenLayers.Layer>} layer that the tile will go in.
+     * position - {<OpenLayers.Pixel>}
+     * bounds - {<OpenLayers.Bounds>}
+     * options - {Object}
+     */   
+    initialize: function(layer, position, bounds, options) {
+        OpenLayers.Tile.prototype.initialize.apply(this, [
+            layer, position, bounds, null, null, options
+        ]);
+    },
+
+    /** 
+     * APIMethod: destroy
+     * Nullify references to prevent circular references and memory leaks.
+     */
+    destroy:function() {
+        this.node && this.clear();
+        this.node = null;
+        OpenLayers.Tile.prototype.destroy.apply(this, arguments);
+    },
+    
+    /**
+     * Method: clone
+     *
+     * Parameters:
+     * obj - {<OpenLayers.Tile>} The tile to be cloned
+     *
+     * Returns:
+     * {<OpenLayers.Tile>} An exact clone of this <OpenLayers.Tile.Google>
+     */
+    clone: function (obj) {
+        if (obj == null) {
+            obj = new OpenLayers.Tile.Google(this.layer, 
+                                      this.position, 
+                                      this.bounds);
+        } 
+        
+        // catch any randomly tagged-on properties
+        OpenLayers.Util.applyDefaults(obj, this);
+        
+        obj.node = null;
+        
+        return obj;
+    },
+
+    /**
+     * Method: draw
+     * Check that a tile should be drawn, and draw it.
+     * 
+     * Returns:
+     * {Boolean} Always returns true.
+     */
+    draw: function() {
+        var layerType = OpenLayers.Layer.GoogleNG.mapObject.mapTypes[
+            this.layer.type
+        ];
+        if (layerType && OpenLayers.Tile.prototype.draw.apply(this, arguments)) {
+            var xyz = this.layer.getXYZ(this.bounds);
+            var point = new google.maps.Point(xyz.x, xyz.y);
+
+            // The hybrid tile consists of two images. For some reason, we have
+            // to make sure that the satellite image loads first, otherwise we
+            // occasionally get blank tiles for one of the two images. This is
+            // done by requesting the tile for just the satellite mapType
+            // first, before requesting the hybrid one.
+            //TODO revisit this - it may be a temporary issue with GMaps
+            var tempTile;
+            if (this.layer.type === google.maps.MapTypeId.HYBRID) {
+                tempTile = layerType.getTile(point, xyz.z, document);
+            }
+            
+            this.node = layerType.getTile(point, xyz.z, document);
+                        
+            this.isLoading = true;
+            this.events.triggerEvent("loadstart");
+
+            this.layer.div.appendChild(this.node);
+            
+            // We only modify what we need to - we expect the size to be set
+            // by getTile, and we have a test that will fail if this changes.
+            OpenLayers.Util.modifyDOMElement(
+                this.node, null, this.position, null, "absolute"
+            );  
+            
+            // The images inside the node returned from getTile seem to be
+            // preloaded already, so registering onload events on these images
+            // won't work. Instead, we trigger the loadend event immediately
+            // in the next cycle.
+            window.setTimeout(OpenLayers.Function.bind(function() {
+                this.isLoading = false;
+                // check for this.events - we may be destroyed already
+                this.events && this.events.triggerEvent("loadend"); 
+
+                // see hybrid tile issue above
+                //TODO revisit this - it may be a temporary issue with GMaps
+                if (tempTile) {
+                    layerType.releaseTile(tempTile);
+                }
+            }, this), 0);
+        }
+        return true;
+    },
+    
+    /** 
+     * Method: clear
+     * Clear the tile of any bounds/position-related data so that it can 
+     *     be reused in a new location. To be implemented by subclasses.
+     */
+    clear: function() {
+        if (this.node) {
+            this.node.parentNode &&
+                this.node.parentNode.removeChild(this.node);
+            OpenLayers.Layer.GoogleNG.mapObject.mapTypes[
+                this.layer.type
+            ].releaseTile(this.node);
+        }
+    },
+    
+    CLASS_NAME: "OpenLayers.Tile.Google"
+});

Modified: sandbox/august/trunk/lib/OpenLayers/Tile/Image.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Tile/Image.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Tile/Image.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -373,7 +373,7 @@
             }
 
             // needed for changing to a different server for onload error
-            if (this.layer.url instanceof Array) {
+            if (OpenLayers.Util.isArray(this.layer.url)) {
                 this.imgDiv.urls = this.layer.url.slice();
             }
       

Modified: sandbox/august/trunk/lib/OpenLayers/Tile.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Tile.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Tile.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -103,7 +103,9 @@
         this.position = position.clone();
         this.bounds = bounds.clone();
         this.url = url;
-        this.size = size.clone();
+        if (size) {
+            this.size = size.clone();
+        }
 
         //give the tile a unique id based on its BBOX.
         this.id = OpenLayers.Util.createUniqueID("Tile_");

Modified: sandbox/august/trunk/lib/OpenLayers/Util.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Util.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/lib/OpenLayers/Util.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -58,6 +58,22 @@
     return !!(o && o.nodeType === 1);
 };
 
+/**
+ * Function: isArray
+ * Tests that the provided object is an array.
+ * This test handles the cross-IFRAME case not caught
+ * by "a instanceof Array" and should be used instead.
+ * 
+ * Parameters:
+ * a - {Object} the object test.
+ * 
+ * Returns
+ * {Boolean} true if the object is an array.
+ */
+OpenLayers.Util.isArray = function(a) {
+	return (Object.prototype.toString.call(a) === '[object Array]');
+};
+
 /** 
  * Maintain existing definition of $.
  */
@@ -346,7 +362,7 @@
     this._attempts = (this._attempts) ? (this._attempts + 1) : 1;
     if (this._attempts <= OpenLayers.IMAGE_RELOAD_ATTEMPTS) {
         var urls = this.urls;
-        if (urls && urls instanceof Array && urls.length > 1){
+        if (urls && OpenLayers.Util.isArray(urls) && urls.length > 1){
             var src = this.src.toString();
             var current_url, k;
             for (k = 0; current_url = urls[k]; k++){

Modified: sandbox/august/trunk/license.txt
===================================================================
--- sandbox/august/trunk/license.txt	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/license.txt	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,38 +1,31 @@
 This license applies to all code and content in the 'branches', 'trunk', and
 'project' directories of the Openlayers code repository at svn.openlayers.org,
 and applies to all release of OpenLayers later than 2.5.
- 
-Copyright (c) 2005-2011 OpenLayers Contributors. See authors.txt for
-  full list.
 
-All rights reserved.
+Copyright 2005-2011 OpenLayers Contributors. All rights reserved. See
+authors.txt for full list.
 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted (subject to the limitations in the
-disclaimer below) provided that the following conditions are met:
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
 
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
+ 1. Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
 
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the
-   distribution.
+ 2. Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation and/or
+other materials provided with the distribution.
 
- * Neither the name of OpenLayers nor the names of its contributors 
-   may be used to endorse or promote products derived from this 
-   software without specific prior written permission.
+THIS SOFTWARE IS PROVIDED BY OPENLAYERS CONTRIBUTORS ``AS IS'' AND ANY EXPRESS
+OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
+SHALL COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
-GRANTED BY THIS LICENSE.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
-HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+The views and conclusions contained in the software and documentation are those
+of the authors and should not be interpreted as representing official policies,
+either expressed or implied, of OpenLayers Contributors.
\ No newline at end of file

Deleted: sandbox/august/trunk/news.txt
===================================================================
--- sandbox/august/trunk/news.txt	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/news.txt	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,54 +0,0 @@
-OpenLayers 2.9:
- r10251
- Released 04/22/10
- http://trac.openlayers.org/wiki/Release/2.9/Notes
-
-OpenLayers 2.8:
- r9492
- Released 06/22/09
- http://trac.openlayers.org/wiki/Release/2.8/Notes
-
-OpenLayers 2.7:
- r8063
- Released 09/29/08
- http://trac.openlayers.org/wiki/Release/2.7/Notes
-
-OpenLayers 2.6:
- r6945
- Released 04/15/08
- http://trac.openlayers.org/wiki/Release/2.6/Notes
-
-OpenLayers 2.5:
- r4899
- Released 10/09/07 
- http://trac.openlayers.org/wiki/Release/2.5/Notes
-
-OpenLayers 2.4:
- r3198
- Released 05/29/07 
- http://trac.openlayers.org/wiki/Release/2.4/Notes
-
-OpenLayers 2.3:
- r2255
- Released 02/21/07 
- http://trac.openlayers.org/wiki/Release/2.3/Notes
-
-OpenLayers 2.2:
- r1866
- Released 11/15/06 
- http://trac.openlayers.org/wiki/Release/2.2/Notes
-
-OpenLayers 2.1:
- r1521
- Released 10/02/06
- http://trac.openlayers.org/wiki/Release/2.1/Notes
-
-OpenLayers 2.0:
- r1368
- Released 08/25/06
- http://trac.openlayers.org/wiki/Release/2.0/Notes
-
-OpenLayers 1.0
- r787
- Released 06/27/06
- Initial release.

Modified: sandbox/august/trunk/tests/Control/DrawFeature.html
===================================================================
--- sandbox/august/trunk/tests/Control/DrawFeature.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/Control/DrawFeature.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -60,7 +60,7 @@
     }
     
     function test_sketch_events(t) {
-        t.plan(12);
+        t.plan(11);
         var map = new OpenLayers.Map("map", {
             resolutions: [1]
         });
@@ -93,12 +93,12 @@
         // mock up draw/modify of a point
         log = {};
         control.activate();
-        t.eq(log.sketchstarted.type, "sketchstarted", "[activate] sketchstarted triggered");
-        t.ok(isNaN(log.sketchstarted.vertex.x) && isNaN(log.sketchstarted.vertex.y),
-             "[activate] correct vertex (NaN)");
+        t.eq(log, {}, "[activate] no event triggered");
 
         log = {};
         map.events.triggerEvent("mousemove", {xy: new OpenLayers.Pixel(0, 0)});
+        t.eq(log.sketchstarted.type, "sketchstarted", "[mousemove] sketchstarted triggered");
+        t.geom_eq(log.sketchstarted.vertex, new OpenLayers.Geometry.Point(-200, 125), "[mousemove] correct vertex");
         t.eq(log.sketchmodified.type, "sketchmodified", "[mousemove] sketchmodified triggered");
         t.geom_eq(log.sketchmodified.vertex, new OpenLayers.Geometry.Point(-200, 125), "[mousemove] correct vertex");
 
@@ -123,9 +123,6 @@
                       new OpenLayers.Geometry.Point(-190, 115)
                   ]),
                   "[dblclick] correct geometry");
-        t.eq(log.sketchstarted.type, "sketchstarted", "[dblclick] sketchstarted triggered");
-        t.ok(isNaN(log.sketchstarted.vertex.x) && isNaN(log.sketchstarted.vertex.y),
-             "[dblclick] correct vertex (NaN)");
 
         map.destroy();
     }

Copied: sandbox/august/trunk/tests/Control/EditingToolbar.html (from rev 12095, trunk/openlayers/tests/Control/EditingToolbar.html)
===================================================================
--- sandbox/august/trunk/tests/Control/EditingToolbar.html	                        (rev 0)
+++ sandbox/august/trunk/tests/Control/EditingToolbar.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -0,0 +1,30 @@
+<html>
+<head>
+  <script src="../OLLoader.js"></script>
+  <script type="text/javascript">
+    function test_ctor_draw(t) {
+        t.plan(4);
+        var map = new OpenLayers.Map('map');
+        var vLayer = new OpenLayers.Layer.Vector();
+        map.addLayer(vLayer);
+        
+        var editingToolbar = new OpenLayers.Control.EditingToolbar(vLayer);
+        map.addControl(editingToolbar);
+        
+        t.ok(editingToolbar instanceof OpenLayers.Control.EditingToolbar,
+                "new OpenLayers.Control.EditingToolbar returns object" );
+        t.ok(editingToolbar.controls[0] instanceof OpenLayers.Control.Navigation,
+                "EditingToolbar contains Control.Navigation object" );
+        t.eq(editingToolbar.controls[0].active, true,
+                "First control is active" );
+        t.eq(editingToolbar.controls.length, 4,
+                "EditingToolbar contains 4 Controls" );
+        
+        map.destroy();
+    }
+  </script>
+</head>
+<body>
+    <div id="map" style="width: 1024px; height: 512px;"/>
+</body>
+</html>

Modified: sandbox/august/trunk/tests/Control/LayerSwitcher.html
===================================================================
--- sandbox/august/trunk/tests/Control/LayerSwitcher.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/Control/LayerSwitcher.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -3,6 +3,7 @@
   <script src="../OLLoader.js"></script>
   <script type="text/javascript">
     var map; 
+    OpenLayers.Lang.setCode('en');
 
     function test_Control_LayerSwitcher_constructor (t) {
         t.plan( 2 );

Modified: sandbox/august/trunk/tests/Control/Measure.html
===================================================================
--- sandbox/august/trunk/tests/Control/Measure.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/Control/Measure.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -52,10 +52,9 @@
             })
         };
 
+        trigger("mousemove", 0, 0);
         // keep a reference to the line being drawn
         var line = control.handler.line;
-
-        trigger("mousemove", 0, 0);
         trigger("mousedown", 0, 0);
         trigger("mouseup", 0, 0);
         trigger("mousemove", 10, 10);

Modified: sandbox/august/trunk/tests/Control/NavToolbar.html
===================================================================
--- sandbox/august/trunk/tests/Control/NavToolbar.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/Control/NavToolbar.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -25,7 +25,18 @@
         // t.eq( control.div.style.top, "6px", "Control div top located correctly by default");
 
     }
+    
+    function test_Control_NavToolbar_defaultControl (t) {
+        t.plan( 1 );
+        var map = new OpenLayers.Map('map');
 
+        var nav = new OpenLayers.Control.NavToolbar();
+        map.addControl(nav);
+        
+        t.eq(nav.controls[0].active, true, "First control is active" );
+        
+        map.destroy();
+    }
   </script>
 </head>
 <body>

Modified: sandbox/august/trunk/tests/Control/Navigation.html
===================================================================
--- sandbox/august/trunk/tests/Control/Navigation.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/Control/Navigation.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -18,8 +18,26 @@
         OpenLayers.Control.prototype.initialize = temp;
     }
 
+    function test_draw(t) {
+        t.plan(5);
+        var map = new OpenLayers.Map({div: 'map', controls: []});
+        var control = new OpenLayers.Control.Navigation();
+        map.addControl(control);
+        t.ok(control.handlers.click instanceof OpenLayers.Handler.Click,
+             "click handler set in instance");
+        t.ok(control.dragPan instanceof OpenLayers.Control.DragPan,
+             "drag pan control set in instance");
+        t.ok(control.zoomBox instanceof OpenLayers.Control.ZoomBox,
+             "zoom box control set in instance");
+        t.ok(control.handlers.wheel instanceof OpenLayers.Handler.MouseWheel,
+             "mousewheel handler set in instance");
+        t.ok(control.pinchZoom instanceof OpenLayers.Control.PinchZoom,
+             "pinch zoom control set in instance");
+        map.destroy();
+    }
+
     function test_Control_Navigation_destroy (t) {
-        t.plan(10);
+        t.plan(12);
         
         var temp = OpenLayers.Control.prototype.destroy;
         OpenLayers.Control.prototype.destroy = function() {
@@ -46,6 +64,11 @@
                     t.ok(true, "zoomBox destroyed");
                 }
             },
+            'pinchZoom': {
+                'destroy': function() {
+                    t.ok(true, "pinchZoom destroyed");
+                }
+            },
             handlers: {
                 'wheel': {
                     'destroy': function() {
@@ -66,6 +89,7 @@
 
         t.eq(control.dragPan, null, "'dragPan' set to null");
         t.eq(control.zoomBox, null, "'zoomBox' set to null");
+        t.eq(control.pinchZoom, null, "'pinchZoom' set to null");
         t.eq(control.handlers, null, "handlers set to null");
 
         OpenLayers.Control.prototype.destroy = temp;

Modified: sandbox/august/trunk/tests/Control/Panel.html
===================================================================
--- sandbox/august/trunk/tests/Control/Panel.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/Control/Panel.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -247,6 +247,7 @@
         t.ok(!controlNoDeactive.active, "Tool control autoActivate:true is not active");
         
     }
+
     function test_Control_Panel_deactivate (t) {
         t.plan(2);
         var map = new OpenLayers.Map('map');
@@ -262,6 +263,31 @@
 
         map.destroy();
     }
+
+    function test_allowDepress (t) { 
+        t.plan(2); 
+        var map = new OpenLayers.Map('map');
+
+        var panel = new OpenLayers.Control.Panel();
+        panel.addControls([new OpenLayers.Control(),new OpenLayers.Control()]);
+        map.addControl(panel);
+        
+        var control1 = panel.controls[1]
+        
+        panel.activateControl(control1);
+        
+        panel.allowDepress = false;
+        panel.activateControl(control1);
+        t.eq(control1.active, true,
+            "control1 remains active after calling again activateControl when allowDepress = false");
+        panel.allowDepress = true;
+        panel.activateControl(control1);
+        t.eq(control1.active, false,
+            "control1 is inactive after calling again activateControl when allowDepress = true");
+
+        // panel.deactivate();
+        map.destroy();
+    }
   </script>
 </head>
 <body>

Modified: sandbox/august/trunk/tests/Control/TransformFeature.html
===================================================================
--- sandbox/august/trunk/tests/Control/TransformFeature.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/Control/TransformFeature.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -54,7 +54,7 @@
     }
     
     function test_setFeature(t) {
-        t.plan(4);
+        t.plan(6);
         var map = new OpenLayers.Map("map", {allOverlays: true});
         var layer = new OpenLayers.Layer.Vector();
         var feature = new OpenLayers.Feature.Vector(
@@ -64,8 +64,16 @@
         map.setCenter(new OpenLayers.LonLat(0, 0), 18);
         var control = new OpenLayers.Control.TransformFeature(layer);
         map.addControl(control);
+        var log = [];
+        control.events.on({
+            "beforesetfeature": function(e) { log.push(e); },
+            "setfeature": function(e) { log.push(e); }
+        });
         control.setFeature(feature);
         
+        t.eq(log[0].type, "beforesetfeature", "beforesetfeature event fired with correct event type");
+        t.eq(log[1].type, "setfeature", "setfeature event fired with correct event type");
+        
         t.ok(control.active, "control activated on setFeature");
         t.ok(feature.geometry.getBounds().equals(control.box.geometry.getBounds()), "box positioned correctly");
         t.geom_eq(control.handles[0].geometry, control.box.geometry.components[0], "handle positioned with box");

Modified: sandbox/august/trunk/tests/Format/CSWGetRecords/v2_0_2.html
===================================================================
--- sandbox/august/trunk/tests/Format/CSWGetRecords/v2_0_2.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/Format/CSWGetRecords/v2_0_2.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -41,10 +41,10 @@
     
     function test_read(t) {
         
-        t.plan(14);
+        t.plan(16);
         
         var obj = format.read(csw_response);
-        
+                
         var searchStatus = obj.SearchStatus;
         var searchResults = obj.SearchResults;
         var records = obj.records;
@@ -72,6 +72,10 @@
         t.eq(bbox.crs, "::Lambert Azimuthal Projection", "check value for BoundingBox.crs");
         t.eq(bbox.value, [156, -3, 37, 83], "check value for record.BoundingBox");
         
+        // test gninfo
+        testRecord = records[1];
+        t.ok(testRecord.gninfo, "object contains gninfo properties");
+        t.eq(testRecord.gninfo.schema, "iso19139", "check value for schema property in record.gninfo");
     }
     
     </script> 

Modified: sandbox/august/trunk/tests/Format/CSWGetRecords/v2_0_2.js
===================================================================
--- sandbox/august/trunk/tests/Format/CSWGetRecords/v2_0_2.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/Format/CSWGetRecords/v2_0_2.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -37,6 +37,10 @@
         '<ows:LowerCorner>51.1 -34.6</ows:LowerCorner>' +
         '<ows:UpperCorner>-17.3 38.2</ows:UpperCorner>' +
       '</ows:BoundingBox>' +
+      '<geonet:info xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gts="http://www.isotc211.org/2005/gts" xmlns:gml="http://www.opengis.net/gml">' +
+        '<id>859</id>' +
+        '<schema>iso19139</schema>' +
+      '</geonet:info>' +
     '</csw:BriefRecord>' +
   '</csw:SearchResults>' +
 '</csw:GetRecordsResponse>'

Modified: sandbox/august/trunk/tests/Format/Filter/v1_1_0.html
===================================================================
--- sandbox/august/trunk/tests/Format/Filter/v1_1_0.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/Format/Filter/v1_1_0.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -336,7 +336,32 @@
         return new OpenLayers.Format.XML().read(xml).documentElement;
     }
 
-
+    function test_SortBy(t) {
+        t.plan(1);
+    
+        var out =
+            '<ogc:SortBy xmlns:ogc="http://www.opengis.net/ogc">'+
+                '<ogc:SortProperty>'+
+                    '<ogc:PropertyName>Title</ogc:PropertyName>'+
+                    '<ogc:SortOrder>ASC</ogc:SortOrder>'+
+                '</ogc:SortProperty>'+
+                '<ogc:SortProperty>'+
+                    '<ogc:PropertyName>Relevance</ogc:PropertyName>'+
+                    '<ogc:SortOrder>DESC</ogc:SortOrder>'+
+                '</ogc:SortProperty>'+
+            '</ogc:SortBy>';
+        
+        var parser = new OpenLayers.Format.Filter.v1_1_0();
+        var node = parser.writers['ogc'].SortBy.call(parser, [{
+            "property": 'Title',
+            "order": "ASC"
+        },{
+            "property": 'Relevance',
+            "order": "DESC"
+        }]);
+        
+        t.xml_eq(node, out, "Check SortBy");
+    }
     </script> 
 </head> 
 <body>

Modified: sandbox/august/trunk/tests/Format/GeoRSS.html
===================================================================
--- sandbox/august/trunk/tests/Format/GeoRSS.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/Format/GeoRSS.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -80,7 +80,15 @@
         var parser = new OpenLayers.Format.GeoRSS();
         var items = parser.read('<rss version="2.0" xmlns:georss="http://www.georss.org/georss"><item><description>  <![CDATA[foo]]></description></item></rss>');
         t.eq(items.length, 1, "item created");
-        t.eq(items[0].attributes.description, "  foo", "description value is ok");
+
+        // when parsing a node composed of both spaces and a cdata section
+        // (e.g. <description>  <![DATA[foo]]></description> IE8 ignores
+        // the leading white spaces, and reports that the node does not
+        // include a text node. For that reason, we need to trim the
+        // string value resulting from the parsing.
+
+        var description = OpenLayers.String.trim(items[0].attributes.description);
+        t.eq(description, "foo", "description value is ok");
     }
              
     var shell_start = '<feed xmlns="http://www.w3.org/2005/Atom" \n              xmlns:georss="http://www.georss.org/georss">\n              <title>scribble</title>\n              <id>http://featureserver.org/featureserver.cgi/scribble?format=atom</id>\n              <author><name>FeatureServer</name></author>\n';             

Copied: sandbox/august/trunk/tests/Format/OGCExceptionReport.html (from rev 12095, trunk/openlayers/tests/Format/OGCExceptionReport.html)
===================================================================
--- sandbox/august/trunk/tests/Format/OGCExceptionReport.html	                        (rev 0)
+++ sandbox/august/trunk/tests/Format/OGCExceptionReport.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -0,0 +1,100 @@
+<html>
+<head> 
+    <script src="../OLLoader.js"></script>
+    <script type="text/javascript">
+
+    function test_read_exception(t) {
+
+        t.plan(21);
+
+        // OCG WMS 1.3.0 exceptions
+        var text = '<?xml version="1.0" encoding="UTF-8"?> ' +
+'<ServiceExceptionReport version="1.3.0" xmlns="http://www.opengis.net/ogc"' +
+'    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"' +
+'    xsi:schemaLocation="http://www.opengis.net/ogc' +
+'    http://schemas.opengis.net/wms/1.3.0/exceptions_1_3_0.xsd">' +
+'    <ServiceException> Plain text message about an error. </ServiceException>' +
+'    <ServiceException code="InvalidUpdateSequence"> Another error message, this one with a service exception code supplied. </ServiceException>' +
+'    <ServiceException>' +
+'        <![CDATA[ Error in module <foo.c>, line 42' +
+'A message that includes angle brackets in text must be enclosed in a Character Data Section as in this example. All XML-like markup is ignored except for this sequence of three closing characters:' +
+']]>' +
+'    </ServiceException>' +
+'    <ServiceException>' +
+'        <![CDATA[ <Module>foo.c</Module> <Error>An error occurred</Error> <Explanation>Similarly, actual XML can be enclosed in a CDATA section. A generic parser will ignore that XML, but application-specific software may choose to process it.</Explanation> ]]>' +
+'    </ServiceException>' +
+'</ServiceExceptionReport>';
+
+        var parser = new OpenLayers.Format.OGCExceptionReport();
+        var result = parser.read(text);
+
+        var exceptions = result.exceptionReport.exceptions;
+
+        var testWMS = function(exceptions) {
+            t.eq(exceptions.length, 4, "We expect 4 exception messages");
+            t.eq(exceptions[0].text, " Plain text message about an error. ", "First error message correctly parsed");
+            t.eq(exceptions[1].code, "InvalidUpdateSequence", "Code of second error message correctly parsed");
+            t.eq(exceptions[1].text, " Another error message, this one with a service exception code supplied. ", "Text of second error message correctly parsed");
+            t.eq(OpenLayers.String.trim(exceptions[2].text), "Error in module <foo.c>, line 42A message that includes angle brackets in text must be enclosed in a Character Data Section as in this example. All XML-like markup is ignored except for this sequence of three closing characters:", "Third message correctly parsed");
+            t.eq(OpenLayers.String.trim(exceptions[3].text), "<Module>foo.c</Module> <Error>An error occurred</Error> <Explanation>Similarly, actual XML can be enclosed in a CDATA section. A generic parser will ignore that XML, but application-specific software may choose to process it.</Explanation>", "Fourth message correctly parsed");
+        };
+
+        testWMS(exceptions);
+
+        // OGC WMS 1.1.1 exceptions
+        text = '<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <!DOCTYPE ServiceExceptionReport SYSTEM "http://schemas.opengis.net/wms/1.1.1/WMS_exception_1_1_1.dtd"> ' +
+'<ServiceExceptionReport version="1.1.1">' +
+'    <ServiceException> Plain text message about an error. </ServiceException>' +
+'    <ServiceException code="InvalidUpdateSequence"> Another error message, this one with a service exception code supplied. </ServiceException>' +
+'    <ServiceException>' +
+'        <![CDATA[ Error in module <foo.c>, line 42' +
+'A message that includes angle brackets in text must be enclosed in a Character Data Section as in this example. All XML-like markup is ignored except for this sequence of three closing characters:' +
+']]>' +
+'    </ServiceException>' +
+'    <ServiceException>' +
+'        <![CDATA[ <Module>foo.c</Module> <Error>An error occurred</Error> <Explanation>Similarly, actual XML can be enclosed in a CDATA section. A generic parser will ignore that XML, but application-specific software may choose to process it.</Explanation> ]]>' +
+'    </ServiceException>' +
+'</ServiceExceptionReport>';
+        result = parser.read(text);
+        exceptions = result.exceptionReport.exceptions;
+        testWMS(exceptions);
+
+        // OGC WFS 1.0.0 exceptions
+        text = '<?xml version="1.0" ?> ' +
+'<ServiceExceptionReport version="1.2.0" xmlns="http://www.opengis.net/ogc"' +
+'    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"' +
+'    xsi:schemaLocation="http://www.opengis.net/ogc http://schemas.opengis.net/wfs/1.0.0/OGC-exception.xsd">' +
+'    <ServiceException code="999" locator="INSERT STMT 01"> parse error: missing closing tag for element WKB_GEOM </ServiceException>' +
+'</ServiceExceptionReport>';
+        result = parser.read(text);
+        t.eq(result.exceptionReport.exceptions[0].code, "999", "code parsed correctly");
+        t.eq(result.exceptionReport.exceptions[0].locator, "INSERT STMT 01", "locator parsed correctly");
+        t.eq(result.exceptionReport.exceptions[0].text, " parse error: missing closing tag for element WKB_GEOM ", "error text parsed correctly");
+
+        // OGC WFS 1.1.0 exceptions that use OWSCommon 1.0
+        text = '<?xml version="1.0" encoding="UTF-8"?>' +
+'<ows:ExceptionReport language="en" version="1.0.0"' +
+'    xsi:schemaLocation="http://www.opengis.net/ows http://schemas.opengis.net/ows/1.0.0/owsExceptionReport.xsd"' +
+'    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengis.net/ows">' +
+'    <ows:Exception locator="foo" exceptionCode="InvalidParameterValue">' +
+'        <ows:ExceptionText>Update error: Error occured updating features</ows:ExceptionText>' +
+'        <ows:ExceptionText>Second exception line</ows:ExceptionText>' +
+'    </ows:Exception>' +
+'</ows:ExceptionReport>';
+
+        var result = parser.read(text);
+        var report = result.exceptionReport;
+        t.eq(report.version, "1.0.0", "Version parsed correctly");
+        t.eq(report.language, "en", "Language parsed correctly");
+        var exception = report.exceptions[0];
+        t.eq(exception.code, "InvalidParameterValue", "exceptionCode properly parsed");
+        t.eq(exception.locator, "foo", "locator properly parsed");
+        t.eq(exception.texts[0], "Update error: Error occured updating features", "ExceptionText correctly parsed");
+        t.eq(exception.texts[1], "Second exception line", "Second ExceptionText correctly parsed");
+    }
+
+    </script> 
+</head>
+<body>
+</body>
+</html>

Deleted: sandbox/august/trunk/tests/Format/OWSCommon/v1_0_0.html
===================================================================
--- trunk/openlayers/tests/Format/OWSCommon/v1_0_0.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/Format/OWSCommon/v1_0_0.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,34 +0,0 @@
-<html>
-<head> 
-    <script src="../../OLLoader.js"></script>
-    <script type="text/javascript">
-
-    function test_read_exception(t) {
-        t.plan(6);
-        var text = '<?xml version="1.0" encoding="UTF-8"?>' +
-'<ows:ExceptionReport language="en" version="1.0.0"' +
-'    xsi:schemaLocation="http://www.opengis.net/ows http://schemas.opengis.net/ows/1.0.0/owsExceptionReport.xsd"' +
-'    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengis.net/ows">' +
-'    <ows:Exception locator="foo" exceptionCode="InvalidParameterValue">' +
-'        <ows:ExceptionText>Update error: Error occured updating features</ows:ExceptionText>' +
-'        <ows:ExceptionText>Second exception line</ows:ExceptionText>' +
-'    </ows:Exception>' +
-'</ows:ExceptionReport>';
-
-        var format = new OpenLayers.Format.OWSCommon();
-        var result = format.read(text);
-        var report = result.exceptionReport;
-        t.eq(report.version, "1.0.0", "Version parsed correctly");
-        t.eq(report.language, "en", "Language parsed correctly");
-        var exception = report.exceptions[0];
-        t.eq(exception.code, "InvalidParameterValue", "exceptionCode properly parsed");
-        t.eq(exception.locator, "foo", "locator properly parsed");
-        t.eq(exception.texts[0], "Update error: Error occured updating features", "ExceptionText correctly parsed");
-        t.eq(exception.texts[1], "Second exception line", "Second ExceptionText correctly parsed");
-    }
-
-    </script> 
-</head>
-<body>
-</body>
-</html>

Copied: sandbox/august/trunk/tests/Format/OWSCommon/v1_0_0.html (from rev 12095, trunk/openlayers/tests/Format/OWSCommon/v1_0_0.html)
===================================================================
--- sandbox/august/trunk/tests/Format/OWSCommon/v1_0_0.html	                        (rev 0)
+++ sandbox/august/trunk/tests/Format/OWSCommon/v1_0_0.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -0,0 +1,34 @@
+<html>
+<head> 
+    <script src="../../OLLoader.js"></script>
+    <script type="text/javascript">
+
+    function test_read_exception(t) {
+        t.plan(6);
+        var text = '<?xml version="1.0" encoding="UTF-8"?>' +
+'<ows:ExceptionReport language="en" version="1.0.0"' +
+'    xsi:schemaLocation="http://www.opengis.net/ows http://schemas.opengis.net/ows/1.0.0/owsExceptionReport.xsd"' +
+'    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengis.net/ows">' +
+'    <ows:Exception locator="foo" exceptionCode="InvalidParameterValue">' +
+'        <ows:ExceptionText>Update error: Error occured updating features</ows:ExceptionText>' +
+'        <ows:ExceptionText>Second exception line</ows:ExceptionText>' +
+'    </ows:Exception>' +
+'</ows:ExceptionReport>';
+
+        var format = new OpenLayers.Format.OWSCommon();
+        var result = format.read(text);
+        var report = result.exceptionReport;
+        t.eq(report.version, "1.0.0", "Version parsed correctly");
+        t.eq(report.language, "en", "Language parsed correctly");
+        var exception = report.exceptions[0];
+        t.eq(exception.code, "InvalidParameterValue", "exceptionCode properly parsed");
+        t.eq(exception.locator, "foo", "locator properly parsed");
+        t.eq(exception.texts[0], "Update error: Error occured updating features", "ExceptionText correctly parsed");
+        t.eq(exception.texts[1], "Second exception line", "Second ExceptionText correctly parsed");
+    }
+
+    </script> 
+</head>
+<body>
+</body>
+</html>

Deleted: sandbox/august/trunk/tests/Format/OWSCommon/v1_1_0.html
===================================================================
--- trunk/openlayers/tests/Format/OWSCommon/v1_1_0.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/Format/OWSCommon/v1_1_0.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -1,34 +0,0 @@
-<html>
-<head> 
-    <script src="../../OLLoader.js"></script>
-    <script type="text/javascript">
-
-    function test_read_exception(t) {
-        t.plan(6);
-        var text = '<?xml version="1.0" encoding="UTF-8"?>' +
-'<ows:ExceptionReport xml:lang="en" version="1.0.0"' +
-'    xsi:schemaLocation="http://www.opengis.net/ows http://schemas.opengis.net/ows/1.1.0/owsExceptionReport.xsd"' +
-'    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengis.net/ows/1.1">' +
-'    <ows:Exception locator="foo" exceptionCode="InvalidParameterValue">' +
-'        <ows:ExceptionText>Update error: Error occured updating features</ows:ExceptionText>' +
-'        <ows:ExceptionText>Second exception line</ows:ExceptionText>' +
-'    </ows:Exception>' +
-'</ows:ExceptionReport>';
-
-        var format = new OpenLayers.Format.OWSCommon();
-        var result = format.read(text);
-        var report = result.exceptionReport;
-        t.eq(report.version, "1.0.0", "Version parsed correctly");
-        t.eq(report.language, "en", "Language parsed correctly");
-        var exception = report.exceptions[0];
-        t.eq(exception.code, "InvalidParameterValue", "exceptionCode properly parsed");
-        t.eq(exception.locator, "foo", "locator properly parsed");
-        t.eq(exception.texts[0], "Update error: Error occured updating features", "ExceptionText correctly parsed");
-        t.eq(exception.texts[1], "Second exception line", "Second ExceptionText correctly parsed");
-    }
-
-    </script> 
-</head>
-<body>
-</body>
-</html>

Copied: sandbox/august/trunk/tests/Format/OWSCommon/v1_1_0.html (from rev 12095, trunk/openlayers/tests/Format/OWSCommon/v1_1_0.html)
===================================================================
--- sandbox/august/trunk/tests/Format/OWSCommon/v1_1_0.html	                        (rev 0)
+++ sandbox/august/trunk/tests/Format/OWSCommon/v1_1_0.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -0,0 +1,34 @@
+<html>
+<head> 
+    <script src="../../OLLoader.js"></script>
+    <script type="text/javascript">
+
+    function test_read_exception(t) {
+        t.plan(6);
+        var text = '<?xml version="1.0" encoding="UTF-8"?>' +
+'<ows:ExceptionReport xml:lang="en" version="1.0.0"' +
+'    xsi:schemaLocation="http://www.opengis.net/ows http://schemas.opengis.net/ows/1.1.0/owsExceptionReport.xsd"' +
+'    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengis.net/ows/1.1">' +
+'    <ows:Exception locator="foo" exceptionCode="InvalidParameterValue">' +
+'        <ows:ExceptionText>Update error: Error occured updating features</ows:ExceptionText>' +
+'        <ows:ExceptionText>Second exception line</ows:ExceptionText>' +
+'    </ows:Exception>' +
+'</ows:ExceptionReport>';
+
+        var format = new OpenLayers.Format.OWSCommon();
+        var result = format.read(text);
+        var report = result.exceptionReport;
+        t.eq(report.version, "1.0.0", "Version parsed correctly");
+        t.eq(report.language, "en", "Language parsed correctly");
+        var exception = report.exceptions[0];
+        t.eq(exception.code, "InvalidParameterValue", "exceptionCode properly parsed");
+        t.eq(exception.locator, "foo", "locator properly parsed");
+        t.eq(exception.texts[0], "Update error: Error occured updating features", "ExceptionText correctly parsed");
+        t.eq(exception.texts[1], "Second exception line", "Second ExceptionText correctly parsed");
+    }
+
+    </script> 
+</head>
+<body>
+</body>
+</html>

Modified: sandbox/august/trunk/tests/Format/WFSCapabilities/v1.html
===================================================================
--- sandbox/august/trunk/tests/Format/WFSCapabilities/v1.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/Format/WFSCapabilities/v1.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -2,6 +2,23 @@
 <head> 
     <script src="../../OLLoader.js"></script>
     <script type="text/javascript">
+
+    function test_read_exception(t) {
+        t.plan(1);
+        var parser = new OpenLayers.Format.WFSCapabilities();
+        var text = '<?xml version="1.0" encoding="UTF-8"?>' +
+'<ows:ExceptionReport language="en" version="1.0.0"' +
+'    xsi:schemaLocation="http://www.opengis.net/ows http://schemas.opengis.net/ows/1.0.0/owsExceptionReport.xsd"' +
+'    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengis.net/ows">' +
+'    <ows:Exception locator="foo" exceptionCode="InvalidParameterValue">' +
+'        <ows:ExceptionText>Update error: Error occured updating features</ows:ExceptionText>' +
+'        <ows:ExceptionText>Second exception line</ows:ExceptionText>' +
+'    </ows:Exception>' +
+'</ows:ExceptionReport>';
+
+        var obj = parser.read(text);
+        t.ok(!!obj.error, "Error reported correctly");
+    }
     
     function test_read(t) {
         t.plan(33);

Modified: sandbox/august/trunk/tests/Format/WMSCapabilities/v1_1_1.html
===================================================================
--- sandbox/august/trunk/tests/Format/WMSCapabilities/v1_1_1.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/Format/WMSCapabilities/v1_1_1.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -2,10 +2,19 @@
 <head> 
     <script src="../../OLLoader.js"></script>
     <script type="text/javascript">
+
+    function test_read_exception(t) {
+        t.plan(1);
+        var xml = document.getElementById("exceptionsample").firstChild.nodeValue;
+        var doc = new OpenLayers.Format.XML().read(xml);
+        var format = new OpenLayers.Format.WMSCapabilities();
+        var obj = format.read(doc);
+        t.ok(!!obj.error, "Error reported correctly");
+    }
     
     function test_read(t) {
         
-        t.plan(15);
+        t.plan(23);
 
         var xml = document.getElementById("gssample").firstChild.nodeValue;
         var doc = new OpenLayers.Format.XML().read(xml);
@@ -22,7 +31,51 @@
             "http://publicus.opengeo.org:80/geoserver/wms?SERVICE=WMS&",
             "getmap href parsed"
         );
+        t.eq(
+            getmap.get.href,
+            getmap.href,
+            "getmap.get.href parsed"
+        );
+        t.eq(
+            getmap.post,
+            undefined,
+            "getmap.post not available"
+        );
+
+        var describelayer = capability.request.describelayer;
+        t.eq(
+            describelayer.href,
+            "http://publicus.opengeo.org:80/geoserver/wms?SERVICE=WMS&",
+            "describelayer href parsed"
+        );
+        t.eq(
+            describelayer.get.href,
+            describelayer.href,
+            "describelayer.get.href parsed"
+        );
+        t.eq(
+            describelayer.post,
+            undefined,
+            "describelayer.post not available"
+        );
         
+        var getfeatureinfo = capability.request.getfeatureinfo;
+        t.eq(
+            getfeatureinfo.href,
+            "http://publicus.opengeo.org:80/geoserver/wms?SERVICE=WMS&",
+            "getfeatureinfo href parsed"
+        );
+        t.eq(
+            getfeatureinfo.get.href,
+            getfeatureinfo.href,
+            "getmap.get.href parsed"
+        );
+        t.eq(
+            getfeatureinfo.post.href,
+            "http://publicus.opengeo.org:80/geoserver/wms?SERVICE=WMS&",
+            "getfeatureinfo.post set correctly"
+        );
+        
         t.ok(capability.layers, "layers parsed");
         t.eq(capability.layers.length, 22, "correct number of layers parsed");
         
@@ -422,12 +475,16 @@
       <Format>image/jpeg</Format>
       <DCPType>
         <HTTP>
-
           <Get>
             <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
              xlink:type="simple"
-             xlink:href="http://hostname:port/path" />
+             xlink:href="http://hostname:port/path/get" />
           </Get>
+          <Post>
+            <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:type="simple"
+             xlink:href="http://hostname:port/path/post" />
+          </Post>
         </HTTP>
       </DCPType>
     </GetMap>
@@ -630,6 +687,12 @@
 </Capability>
 </WMT_MS_Capabilities>
 --></div>
+<div id="exceptionsample"><!--
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<!DOCTYPE ServiceExceptionReport SYSTEM "http://schemas.opengis.net/wms/1.1.1/WMS_exception_1_1_1.dtd">
+<ServiceExceptionReport version="1.1.1"><ServiceException> Plain text message about an error. </ServiceException>
+</ServiceExceptionReport>
+--></div>
 <!--
 GeoServer example below taken from
 http://publicus.opengeo.org/geoserver/wms?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetCapabilities

Modified: sandbox/august/trunk/tests/Format/WMSCapabilities/v1_3_0.html
===================================================================
--- sandbox/august/trunk/tests/Format/WMSCapabilities/v1_3_0.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/Format/WMSCapabilities/v1_3_0.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -3,6 +3,15 @@
     <script src="../../OLLoader.js"></script>
     <script type="text/javascript">
 
+    function test_read_exception(t) {
+        t.plan(1);
+        var xml = document.getElementById("exceptionsample").firstChild.nodeValue;
+        var doc = new OpenLayers.Format.XML().read(xml);
+        var format = new OpenLayers.Format.WMSCapabilities();
+        var obj = format.read(doc);
+        t.ok(!!obj.error, "Error reported correctly");
+    }
+
     function test_layers(t) {
 
         t.plan(22);
@@ -280,6 +289,26 @@
 </head>
 <body>
 
+<div id="exceptionsample"><!--
+<?xml version='1.0' encoding="UTF-8"?> 
+<ServiceExceptionReport version="1.3.0" xmlns="http://www.opengis.net/ogc"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://www.opengis.net/ogc
+    http://schemas.opengis.net/wms/1.3.0/exceptions_1_3_0.xsd">
+    <ServiceException> Plain text message about an error. </ServiceException>
+    <ServiceException code="InvalidUpdateSequence"> Another error message, this one with a service
+        exception code supplied. </ServiceException>
+    <ServiceException>
+        <![CDATA[ Error in module <foo.c>, line 42
+A message that includes angle brackets in text must be enclosed in a Character Data Section as in this example. All XML-like markup is ignored except for this sequence of three closing characters:
+]]>
+    </ServiceException>
+    <ServiceException>
+        <![CDATA[ <Module>foo.c</Module> <Error>An error occurred</Error> <Explanation>Similarly, actual XML can be enclosed in a CDATA section. A generic parser will ignore that XML, but application-specific software may choose to process it.</Explanation> ]]>
+    </ServiceException>
+</ServiceExceptionReport>
+--></div>
+
 <!--
 OGC example below taken from
 http://schemas.opengis.net/wms/1.3.0/capabilities_1_3_0.xml

Modified: sandbox/august/trunk/tests/Handler/Box.html
===================================================================
--- sandbox/august/trunk/tests/Handler/Box.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/Handler/Box.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -3,16 +3,17 @@
   <script src="../OLLoader.js"></script>
   <script type="text/javascript">
     function test_Handler_Box_constructor(t) {
-        t.plan(4);
+        t.plan(5);
         var control = new OpenLayers.Control();
         control.id = Math.random();
-        var callbacks = {done: "bar"};
+        var callbacks = {start: "foo", done: "bar"};
         var options = {bar: "foo"};
         
         var handler = new OpenLayers.Handler.Box(control, callbacks, options);
 
         t.eq(handler.control.id, control.id, "handler created with the correct control");
-        t.eq(handler.callbacks.done, "bar", "handler created with the correct callback");
+        t.eq(handler.callbacks.start, "foo", "handler created with the correct start callback");
+        t.eq(handler.callbacks.done, "bar", "handler created with the correct done callback");
         t.eq(handler.bar, "foo", "handler created with the correct options");
         t.ok(handler.dragHandler instanceof OpenLayers.Handler.Drag, "drag handler created");
     }
@@ -22,9 +23,14 @@
         var map = new OpenLayers.Map('map');
         var control = new OpenLayers.Control();
         map.addControl(control);
-        var handler = new OpenLayers.Handler.Box(control, {done: function(e) {
-            t.ok(e.equals(new OpenLayers.Bounds(5, 11, 11, 5)), "box result correct");
-        }});
+        var handler = new OpenLayers.Handler.Box(control, {
+            start: function(e) {
+                t.ok(true, "start callback called");
+            },
+            done: function(e) {
+                t.ok(e.equals(new OpenLayers.Bounds(5, 11, 11, 5)), "box result correct");
+            }
+        });
         handler.activate();
 
         // determine whether we can test the box position, the hidden frame
@@ -39,7 +45,7 @@
         map.div.removeChild(testdiv);
         var testAll = !isNaN(left);
 
-        t.plan(testAll ? 10 : 2);
+        t.plan(testAll ? 11 : 3);
 
         // we change NaN values to 0 values in the handler's
         // boxOffsets object, this is to prevent "invalid

Modified: sandbox/august/trunk/tests/Handler/Feature.html
===================================================================
--- sandbox/august/trunk/tests/Handler/Feature.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/Handler/Feature.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -588,6 +588,64 @@
         t.eq(clicks, 0, "click callback does not trigger when tolerance is reached");
     }
 
+    function test_multitouch_canvas(t) {
+        var supported = OpenLayers.Renderer.Canvas.prototype.supported();
+        if (!supported) { t.plan(0); return; }
+
+        t.plan(1);
+
+        // set up
+
+        var log;
+
+        var map = new OpenLayers.Map('map');
+        var layer = new OpenLayers.Layer.Vector('vectors', {
+            renderers: ['Canvas'],
+            isBaseLayer: true
+        });
+        map.addLayer(layer);
+
+        var control = new OpenLayers.Control();
+        var handler = new OpenLayers.Handler.Feature(control, layer,
+                {click: function() { log++; }});
+        control.handler = handler;
+        map.addControl(control);
+        control.activate();
+
+        var feature = new OpenLayers.Feature.Vector(
+            new OpenLayers.Geometry.Point(0, 0));
+        layer.addFeatures(feature);
+
+        map.zoomToMaxExtent();
+
+        // test
+
+        // mock getMousePosition on the events object to make
+        // sure scrolls, offsets and leftop do not interfere
+        map.events.getMousePosition = function(evt) {
+            return new OpenLayers.Pixel(evt.clientX,
+                                        evt.clientY);
+        };
+
+        log = 0;
+        var evt = {
+            type: 'touchstart',
+            touches: [{
+                clientX: 100,
+                clientY: 75
+            }, {
+                clientX: 200,
+                clientY: 75
+            }]
+        };
+        map.events.handleBrowserEvent(evt);
+        t.eq(log, 0, "no feature selection when multi-touching");
+
+        // tear down
+
+        map.destroy();
+    }
+
   </script>
 </head>
 <body>

Modified: sandbox/august/trunk/tests/Handler/Path.html
===================================================================
--- sandbox/august/trunk/tests/Handler/Path.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/Handler/Path.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -25,7 +25,7 @@
     }
 
     function test_Handler_Path_activation(t) {
-        t.plan(12);
+        t.plan(5);
         var log = [];
         var map = new OpenLayers.Map("map", {
             resolutions: [1]
@@ -36,11 +36,7 @@
         });
         map.addLayer(layer);
         var control = new OpenLayers.Control();
-        var handler = new OpenLayers.Handler.Path(control, {
-            "create": function(g, f) {
-                log.push({geometry: g, feature: f});
-            }
-        });
+        var handler = new OpenLayers.Handler.Path(control, {});
         control.handler = handler;
         map.addControl(control);
         map.setCenter(new OpenLayers.LonLat(0, 0), 0);
@@ -57,20 +53,6 @@
              "activate creates a vector layer");
         t.ok(handler.layer.map == map,
              "activate adds the vector layer to the map");
-        t.ok(handler.point instanceof OpenLayers.Feature.Vector,
-             "activate creates a point feature");
-        t.ok(handler.point.layer == handler.layer,
-             "activate adds the point feature to the layer");
-        t.ok(handler.line instanceof OpenLayers.Feature.Vector,
-             "acttivates creates a line feature");
-        t.ok(handler.line.layer == handler.layer,
-             "activate adds the line feature to the layer");
-        t.eq(log.length, 1,
-             "activate calls \"create\" once");
-        t.ok(log[0].geometry == handler.point.geometry,
-                  "\"create\" called with expected geometry");
-        t.ok(log[0].feature == handler.line,
-             "\"create\" called with expected feature");
         activated = handler.deactivate();
         t.ok(activated,
              "deactivate returns true if the handler was active already");
@@ -105,7 +87,7 @@
     }
 
     function test_bounds(t) {
-        t.plan(5);
+        t.plan(4);
         var geometry;
         var map = new OpenLayers.Map('map');
         map.addLayer(new OpenLayers.Layer.WMS("", "", {}));
@@ -115,8 +97,6 @@
         var handler = new OpenLayers.Handler.Path(control, {},
             {stopDown: true, stopUp: true});
         var activated = handler.activate();
-        t.eq(handler.layer.features.length, 2,
-            "There are two features in the layer after activation.");
         // click on (150, 75)
         var evt = {xy: new OpenLayers.Pixel(150, 75), which: 1};
         handler.mousemove(evt);
@@ -150,7 +130,7 @@
     }     
 
     function test_callbacks(t) {
-        t.plan(45);
+        t.plan(39);
         var map = new OpenLayers.Map("map", {
             resolutions: [1]
         });
@@ -179,27 +159,25 @@
             }
         },
         {
-            pixelTolerance: 0,
-            dblclickTolerance: 0
+            pixelTolerance: 0
         });
         control.handler = handler;
         map.addControl(control);
         map.setCenter(new OpenLayers.LonLat(0, 0), 0);
         
-        // create line
         handler.activate();
-        t.eq(logs.length, 1, "[activate] called back");
-        log = logs.shift();
-        t.eq(log.type, "create", "[activate] create called");
-        t.ok(isNaN(log.args[0].x) && isNaN(log.args[0].y),
-                  "[activate] initial point");
-        t.ok(log.args[1] == handler.line,
-             "[activate] correct feature");
+
         // mouse move
         handler.mousemove(
             {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
-        t.eq(logs.length, 1, "[mousemove] called back");
+        t.eq(logs.length, 2, "[mousemove] called back twice");
         log = logs.shift();
+        t.eq(log.type, "create", "[mousemove] create called");
+        t.geom_eq(log.args[0], new OpenLayers.Geometry.Point(-150, 75),
+                  "[mousemove] correct point");
+        t.ok(log.args[1] === handler.line,
+             "[mousemove] correct feature");
+        log = logs.shift();
         t.eq(log.type, "modify", "[mousemove] modify called");
         t.geom_eq(log.args[0], new OpenLayers.Geometry.Point(-150, 75),
                   "[mousemove] correct point");
@@ -280,7 +258,7 @@
         // double click
         handler.dblclick({type: "dblclick",
                           xy: new OpenLayers.Pixel(10, 10)});
-        t.eq(logs.length, 2, "[dblclick] called back twice");
+        t.eq(logs.length, 1, "[dblclick] called back");
         log = logs.shift();
         t.eq(log.type, "done", "[dblclick] done called");
         t.geom_eq(log.args[0],
@@ -290,24 +268,13 @@
             ]),
             "[dblclick] correct linestring"
         );
-        log = logs.shift();
-        t.eq(log.type, "create", "[dblclick] create called");
-        t.ok(isNaN(log.args[0].x) && isNaN(log.args[0].y),
-                  "[dblclick] initial point");
-        t.ok(log.args[1] == handler.line,
-             "[dblclick] correct feature");
         // cancel
         handler.cancel();
-        t.eq(logs.length, 2, "[cancel] called back");
+        t.eq(logs.length, 1, "[cancel] called back");
         log = logs.shift();
         t.eq(log.type, "cancel", "[cancel] canced called");
-        t.ok(isNaN(log.args[0].components[0].x) && isNaN(log.args[0].components[0].y),
-            "[cancel] initial linestring"
+        t.eq(log.args[0], null, "[cancel] got null"
         );
-        log = logs.shift();
-        t.eq(log.type, "create", "[cancel] create called");
-        t.ok(isNaN(log.args[0].x) && isNaN(log.args[0].y),
-                  "[cancel] initial point");
  
         map.destroy();
     }
@@ -380,9 +347,9 @@
         handler.activate();
 
         handler.persist = false;
-        var feature1 = handler.line;
         handler.mousemove(
             {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        var feature1 = handler.line;
         handler.mousedown(
             {type: "mousedown", xy: new OpenLayers.Pixel(0, 0)});
         handler.mouseup(
@@ -394,9 +361,9 @@
         t.ok(feature1.layer == null, "a) feature1 destroyed");
 
         handler.persist = true;
-        var feature2 = handler.line;
         handler.mousemove(
             {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        var feature2 = handler.line;
         handler.mousedown(
             {type: "mousedown", xy: new OpenLayers.Pixel(0, 0)});
         handler.mouseup(
@@ -407,9 +374,9 @@
             {type: "dblclick", xy: new OpenLayers.Pixel(1, 1)});
         t.ok(feature2.layer != null, "b) feature2 not destroyed");
 
-        var feature3 = handler.line;
         handler.mousemove(
             {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        var feature3 = handler.line;
         handler.mousedown(
             {type: "mousedown", xy: new OpenLayers.Pixel(0, 0)});
         handler.mouseup(
@@ -443,9 +410,9 @@
         handler.activate();
 
         handler.persist = false;
-        var feature1 = handler.line;
         handler.mousemove(
             {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        var feature1 = handler.line;
         handler.mousedown(
             {type: "mousedown", xy: new OpenLayers.Pixel(0, 0), shiftKey: true});
         handler.mousemove(
@@ -457,9 +424,9 @@
         t.ok(feature1.layer == null, "a) feature1 destroyed");
 
         handler.persist = true;
-        feature2 = handler.line;
         handler.mousemove(
             {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        feature2 = handler.line;
         handler.mousedown(
             {type: "mousedown", xy: new OpenLayers.Pixel(0, 0), shiftKey: true});
         handler.mousemove(
@@ -470,9 +437,9 @@
             {type: "mouseup", xy: new OpenLayers.Pixel(0, 0), shiftKey: true});
         t.ok(feature2.layer != null, "b) feature2 not destroyed");
 
-        feature3 = handler.line;
         handler.mousemove(
             {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        feature3 = handler.line;
         handler.mousedown(
             {type: "mousedown", xy: new OpenLayers.Pixel(0, 0), shiftKey: true});
         handler.mousemove(
@@ -484,9 +451,9 @@
         t.ok(feature3.layer != null, "c) feature3 not destroyed");
         t.ok(feature2.layer == null, "c) feature2 destroyed");
 
-        feature4 = handler.line;
         handler.mousemove(
             {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        feature4 = handler.line;
         handler.mousedown(
             {type: "mousedown", xy: new OpenLayers.Pixel(0, 0), shiftKey: false});
         handler.mousemove(
@@ -577,10 +544,10 @@
     // added here each a non-working sequence is found.
     //
 
-    // stopDown:true, stopUp:true
+    // stopDown:true, stopUp:true, pixelTolerance:1
     // a) click on (0, 0)
-    // b) mousedown on (0.5, 0.5)
-    // c) mouseup on (1, 1)
+    // b) mousedown on (1, 1)
+    // c) mouseup on (2, 2)
     // d) dblclick on (10, 10)
     function test_sequence1(t) {
         t.plan(1);
@@ -595,7 +562,7 @@
         var control = new OpenLayers.Control({});
         var handler = new OpenLayers.Handler.Path(control,
             {done: function(g) { log.geometry = g; }},
-            {stopDown: true, stopUp: true}
+            {stopDown: true, stopUp: true, pixelTolerance: 1}
         );
         control.handler = handler;
         map.addControl(control);
@@ -611,16 +578,16 @@
             {type: "mousedown", xy: new OpenLayers.Pixel(0, 0)});
         handler.mouseup(
             {type: "mouseup", xy: new OpenLayers.Pixel(0, 0)});
-        // b) mousedown on (0.5, 0.5)
+        // b) mousedown on (1, 1)
         handler.mousemove(
-            {type: "mousemove", xy: new OpenLayers.Pixel(0.5, 0.5)});
+            {type: "mousemove", xy: new OpenLayers.Pixel(1, 1)});
         handler.mousedown(
-            {type: "mousedown", xy: new OpenLayers.Pixel(0.5, 0.5)});
-        // c) mouseup on (1, 1)
+            {type: "mousedown", xy: new OpenLayers.Pixel(1, 1)});
+        // c) mouseup on (2, 2)
         handler.mousemove(
-            {type: "mousemove", xy: new OpenLayers.Pixel(1, 1)});
+            {type: "mousemove", xy: new OpenLayers.Pixel(2, 2)});
         handler.mouseup(
-            {type: "mouseup", xy: new OpenLayers.Pixel(1, 1)});
+            {type: "mouseup", xy: new OpenLayers.Pixel(2, 2)});
         // d) dblclick on (10, 10)
         handler.mousemove(
             {type: "mousemove", xy: new OpenLayers.Pixel(10, 10)});
@@ -637,10 +604,10 @@
             ]), "geometry is correct");
     }
 
-    // stopDown:false, stopUp:false
+    // stopDown:false, stopUp:false, pixelTolerance:1
     // a) click on (0, 0)
-    // b) mousedown on (0.5, 0.5)
-    // c) mouseup on (1, 1)
+    // b) mousedown on (1, 1)
+    // c) mouseup on (2, 2)
     // d) dblclick on (10, 10)
     function test_sequence2(t) {
         t.plan(1);
@@ -655,7 +622,7 @@
         var control = new OpenLayers.Control({});
         var handler = new OpenLayers.Handler.Path(control,
             {done: function(g) { log.geometry = g; }},
-            {stopDown: false, stopUp: false}
+            {stopDown: false, stopUp: false, pixelTolerance: 1}
         );
         control.handler = handler;
         map.addControl(control);
@@ -671,16 +638,16 @@
             {type: "mousedown", xy: new OpenLayers.Pixel(0, 0)});
         handler.mouseup(
             {type: "mouseup", xy: new OpenLayers.Pixel(0, 0)});
-        // b) mousedown on (0.5, 0.5)
+        // b) mousedown on (1, 1)
         handler.mousemove(
-            {type: "mousemove", xy: new OpenLayers.Pixel(0.5, 0.5)});
+            {type: "mousemove", xy: new OpenLayers.Pixel(1, 1)});
         handler.mousedown(
-            {type: "mousedown", xy: new OpenLayers.Pixel(0.5, 0.5)});
-        // c) mouseup on (1, 1)
+            {type: "mousedown", xy: new OpenLayers.Pixel(1, 1)});
+        // c) mouseup on (2, 2)
         handler.mousemove(
-            {type: "mousemove", xy: new OpenLayers.Pixel(1, 1)});
+            {type: "mousemove", xy: new OpenLayers.Pixel(2, 2)});
         handler.mouseup(
-            {type: "mouseup", xy: new OpenLayers.Pixel(1, 1)});
+            {type: "mouseup", xy: new OpenLayers.Pixel(2, 2)});
         // d) dblclick on (10, 10)
         handler.mousemove(
             {type: "mousemove", xy: new OpenLayers.Pixel(10, 10)});
@@ -714,8 +681,7 @@
         var control = new OpenLayers.Control({});
         var handler = new OpenLayers.Handler.Path(control, {},
         {
-            pixelTolerance: 0,
-            dblclickTolerance: 0
+            pixelTolerance: 0
         });
         control.handler = handler;
         map.addControl(control);
@@ -819,7 +785,7 @@
     // a) tap
     // c) doubletap
     function test_touch_sequence1(t) {
-        t.plan(17);
+        t.plan(19);
 
         // set up
 
@@ -841,7 +807,7 @@
                 log = {type: 'modify', geometry: g, feature: f};
             }
         }, {
-            dblclickTolerance: 2
+            doubleTouchTolerance: 2
         });
         control.handler = handler;
         map.addControl(control);
@@ -888,6 +854,10 @@
                 new OpenLayers.Geometry.Point(-149, 75),  // (1, 0)
                 new OpenLayers.Geometry.Point(-140, 65)   // (10, 10)
             ]), "[touchstart] final geometry is correct");
+        log = null;
+        ret = handler.touchend({});
+        t.ok(ret, '[touchend] event propagates');
+        t.eq(log, null, '[touchend] feature not finalized or modified');
 
         // tear down
 
@@ -898,7 +868,7 @@
     // b) tap-move
     // c) doubletap
     function test_touch_sequence2(t) {
-        t.plan(23);
+        t.plan(25);
 
         // set up
 
@@ -920,7 +890,7 @@
                 log = {type: 'modify', geometry: g, feature: f};
             }
         }, {
-            dblclickTolerance: 2
+            doubleTouchTolerance: 2
         });
         control.handler = handler;
         map.addControl(control);
@@ -979,12 +949,58 @@
                 new OpenLayers.Geometry.Point(-149, 75),  // (1, 0)
                 new OpenLayers.Geometry.Point(-140, 65)   // (10, 10)
             ]), "[touchstart] final geometry is correct");
+        log = null;
+        ret = handler.touchend({});
+        t.ok(ret, '[touchend] event propagates');
+        t.eq(log, null, '[touchend] feature not finalized or modified');
 
         // tear down
 
         map.destroy();
     }
 
+    function test_persist_one_click_freehand(t) {
+        t.plan(3);
+        var map = new OpenLayers.Map("map", {
+            resolutions: [1]
+        });
+        var layer = new OpenLayers.Layer.Vector("foo", {
+            maxExtent: new OpenLayers.Bounds(-10, -10, 10, 10),
+            isBaseLayer: true
+        });
+        map.addLayer(layer);
+        var control = new OpenLayers.Control({});
+        var handler = new OpenLayers.Handler.Path(control, {}, {persist: true});
+        control.handler = handler;
+        map.addControl(control);
+        map.setCenter(new OpenLayers.LonLat(0, 0), 0);
+
+        handler.activate();
+
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        handler.mousedown(
+            {type: "mousedown", xy: new OpenLayers.Pixel(0, 0), shiftKey: true});
+        var feature1 = handler.line;
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(1, 1), shiftKey: true});
+        handler.mouseup(
+            {type: "mouseup", xy: new OpenLayers.Pixel(1, 1), shiftKey: true});
+        t.ok(feature1.layer != null, "a) feature1 not destroyed");
+
+        // one click freehand
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(2, 2)});
+        handler.mousedown(
+            {type: "mousedown", xy: new OpenLayers.Pixel(2, 2), shiftKey: true});
+        var feature2 = handler.line;
+        handler.mouseup(
+            {type: "mouseup", xy: new OpenLayers.Pixel(2, 2), shiftKey: true});
+        t.ok(feature2.layer != null, "b) feature2 not destroyed");
+        t.ok(feature1.layer == null, "b) feature1 destroyed");
+        
+        map.destroy();
+    }
   </script>
 </head>
 <body>

Modified: sandbox/august/trunk/tests/Handler/Point.html
===================================================================
--- sandbox/august/trunk/tests/Handler/Point.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/Handler/Point.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -25,8 +25,7 @@
     }
 
     function test_Handler_Point_activation(t) {
-        t.plan(11);
-        var log = [];
+        t.plan(6);
         var map = new OpenLayers.Map("map", {
             resolutions: [1]
         });
@@ -36,11 +35,7 @@
         });
         map.addLayer(layer);
         var control = new OpenLayers.Control();
-        var handler = new OpenLayers.Handler.Point(control, {
-            "create": function(g, f) {
-                log.push({geometry: g, feature: f});
-            }
-        });
+        var handler = new OpenLayers.Handler.Point(control, {});
         control.handler = handler;
         map.addControl(control);
         map.setCenter(new OpenLayers.LonLat(0, 0), 0);
@@ -57,16 +52,6 @@
              "activate creates a vector layer");
         t.ok(handler.layer.map == map,
              "activate adds the vector layer to the map");
-        t.ok(handler.point instanceof OpenLayers.Feature.Vector,
-             "activate creates a feature");
-        t.ok(handler.point.layer == handler.layer,
-             "activate adds the feature to the layer");
-        t.eq(log.length, 1,
-             "activate calls \"create\" once");
-        t.ok(log[0].geometry == handler.point.geometry,
-                  "\"create\" called with expected geometry");
-        t.ok(log[0].feature == handler.point,
-             "\"create\" called with expected feature");
         activated = handler.deactivate();
         t.ok(activated,
              "deactivate returns true if the handler was active already");
@@ -176,7 +161,7 @@
     }
     
     function test_callbacks(t) {
-        t.plan(28);
+        t.plan(24);
         var map = new OpenLayers.Map("map", {
             resolutions: [1]
         });
@@ -209,18 +194,20 @@
         map.addControl(control);
         map.setCenter(new OpenLayers.LonLat(0, 0), 0);
         
-        // create point
         handler.activate();
-        t.eq(logs.length, 1, "[activate] called back");
-        log = logs.shift();
-        t.eq(log.type, "create", "[activate] create called");
-        t.ok(isNaN(log.args[0].x) && isNaN(log.args[0].y),
-             "[activate] initial point");
+
         // mouse down
         handler.mousedown(
             {type: "mousedown", xy: new OpenLayers.Pixel(0, 0)});
-        t.eq(logs.length, 1, "[mousedown] called back");
+        t.eq(logs.length, 2, "[mousedown] called back twice");
         log = logs.shift();
+        t.eq(log.type, "create", "[mousedown] create called");
+        t.geom_eq(log.args[0], new OpenLayers.Geometry.Point(-150, 75),
+                  "[mousedown] correct point");
+        t.geom_eq(log.args[1].geometry,
+                  new OpenLayers.Geometry.Point(-150, 75),
+                  "[mousedown] correct feature");
+        log = logs.shift();
         t.eq(log.type, "modify", "[mousedown] modify called");
         t.geom_eq(log.args[0], new OpenLayers.Geometry.Point(-150, 75),
                   "[mousedown] correct point");
@@ -258,29 +245,20 @@
                   "[mousedown] correct feature");
         // mouse up
         handler.mouseup({type: "mouseup", xy: new OpenLayers.Pixel(2, 0)});
-        t.eq(logs.length, 2, "[mouseup] called back twice");
+        t.eq(logs.length, 1, "[mouseup] called back");
         log = logs.shift();
         t.eq(log.type, "done", "[mouseup] done called");
         t.geom_eq(log.args[0], new OpenLayers.Geometry.Point(-148, 75),
                   "[mouseup] correct point");
-        log = logs.shift();
-        t.eq(log.type, "create", "[mouseup] create called");
-        t.ok(isNaN(log.args[0].x) && isNaN(log.args[0].y),
-             "[mouseup] initial point");
         // mouse up on same pixel
         handler.mouseup({type: "mouseup", xy: new OpenLayers.Pixel(2, 0)});
         t.eq(logs.length, 0, "[mouseup] not called back");
         // cancel
         handler.cancel();
-        t.eq(logs.length, 2, "[cancel] called back");
+        t.eq(logs.length, 1, "[cancel] called back");
         log = logs.shift();
-        t.eq(log.type, "cancel", "[cancel] canced called");
-        t.ok(isNaN(log.args[0].x) && isNaN(log.args[0].y),
-             "[cancel] initial point");
-        log = logs.shift();
-        t.eq(log.type, "create", "[cancel] create called");
-        t.ok(isNaN(log.args[0].x) && isNaN(log.args[0].y),
-             "[] initial point");
+        t.eq(log.type, "cancel", "[cancel] cancel called");
+        t.eq(log.args[0], null, "[cancel] got null");
 
         map.destroy();
     }
@@ -308,7 +286,7 @@
             {type: "mousedown", xy: new OpenLayers.Pixel(0, 0)});
         handler.mouseup(
             {type: "mouseup", xy: new OpenLayers.Pixel(0, 0)});
-        t.eq(handler.layer.features.length, 1,
+        t.eq(handler.layer.features.length, 0,
              "feature destroyed on mouseup when persist is false");
 
         handler.persist = true;
@@ -316,7 +294,7 @@
             {type: "mousedown", xy: new OpenLayers.Pixel(1, 0)});
         handler.mouseup(
             {type: "mouseup", xy: new OpenLayers.Pixel(1, 0)});
-        t.eq(handler.layer.features.length, 2,
+        t.eq(handler.layer.features.length, 1,
              "feature not destroyed on mouseup when persist is true");
         var feature = handler.layer.features[0];
         handler.mousedown(
@@ -352,6 +330,7 @@
         map.setCenter(new OpenLayers.LonLat(0, 0), 0);
 
         handler.activate();
+        handler.mousemove({xy: new OpenLayers.Pixel(0, 0)});
         var _layer = handler.layer;
         var _geometry = handler.point.geometry;
         handler.deactivate();
@@ -405,6 +384,7 @@
         var handler = new OpenLayers.Handler.Point(control, {foo: 'bar'});
 
         handler.activate();
+        handler.mousemove({xy: new OpenLayers.Pixel(150, 75)});
 
         t.ok(handler.layer,
              "handler has a layer prior to destroy");
@@ -544,13 +524,11 @@
         ret = handler.touchstart({xy: new OpenLayers.Pixel(0, 0)});
         t.ok(ret, '[touchstart] event propagates');
         t.eq(log, null, '[touchstart] no finalization');
-        t.ok(isNaN(handler.point.geometry.x) && isNaN(handler.point.geometry.y),
-             '[touchstart] feature not modified');
+        t.eq(handler.point, null, '[touchstart] feature not modified');
         ret = handler.touchmove({xy: new OpenLayers.Pixel(1, 0)});
         t.ok(ret, '[touchmove] event propagates');
         t.eq(log, null, '[touchmove] no finalization');
-        t.ok(isNaN(handler.point.geometry.x) && isNaN(handler.point.geometry.y),
-             '[touchmove] feature not modified');
+        t.eq(handler.point, null, '[touchmove] feature not modified');
         ret = handler.touchend({});
         t.ok(ret, '[touchend] event propagates');
         t.geom_eq(log.geometry, new OpenLayers.Geometry.Point(-149, 75),
@@ -595,17 +573,17 @@
         ret = handler.touchstart({xy: new OpenLayers.Pixel(0, 0)});
         t.ok(ret, '[touchstart] event propagates');
         t.eq(log, null, '[touchstart] no finalization');
-        t.ok(isNaN(handler.point.geometry.x) && isNaN(handler.point.geometry.y),
+        t.eq(handler.point, null, null,
              '[touchstart] feature not modified');
         ret = handler.touchmove({xy: new OpenLayers.Pixel(9, 0)});
         t.ok(ret, '[touchmove] event propagates');
         t.eq(log, null, '[touchmove] no finalization');
-        t.ok(isNaN(handler.point.geometry.x) && isNaN(handler.point.geometry.y),
+        t.eq(handler.point, null,
              '[touchmove] feature not modified');
         ret = handler.touchend({});
         t.ok(ret, '[touchend] event propagates');
         t.eq(log, null, '[touchend] no finalization');
-        t.ok(isNaN(handler.point.geometry.x) && isNaN(handler.point.geometry.y),
+        t.eq(handler.point, null,
              '[touchend] feature not modified');
 
         // tear down

Modified: sandbox/august/trunk/tests/Handler/Polygon.html
===================================================================
--- sandbox/august/trunk/tests/Handler/Polygon.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/Handler/Polygon.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -25,7 +25,7 @@
     }
 
     function test_Handler_Polygon_activation(t) {
-        t.plan(13);
+        t.plan(5);
         var log = [];
         var map = new OpenLayers.Map("map", {
             resolutions: [1]
@@ -36,11 +36,7 @@
         });
         map.addLayer(layer);
         var control = new OpenLayers.Control();
-        var handler = new OpenLayers.Handler.Polygon(control, {
-            "create": function(g, f) {
-                log.push({geometry: g, feature: f});
-            }
-        });
+        var handler = new OpenLayers.Handler.Polygon(control, {});
         control.handler = handler;
         map.addControl(control);
         map.setCenter(new OpenLayers.LonLat(0, 0), 0);
@@ -57,22 +53,6 @@
              "activate creates a vector layer");
         t.ok(handler.layer.map == map,
              "activate adds the vector layer to the map");
-        t.ok(handler.point instanceof OpenLayers.Feature.Vector,
-             "activate creates a point feature");
-        t.ok(handler.point.layer == handler.layer,
-             "activate adds the point feature to the layer");
-        t.ok(handler.line instanceof OpenLayers.Feature.Vector,
-             "activates creates a line feature");
-        t.ok(handler.polygon instanceof OpenLayers.Feature.Vector,
-             "acttivates creates a polygon feature");
-        t.ok(handler.polygon.layer == handler.layer,
-             "activate adds the polygin feature to the layer");
-        t.eq(log.length, 1,
-             "activate calls \"create\" once");
-        t.ok(log[0].geometry == handler.point.geometry,
-                  "\"create\" called with expected geometry");
-        t.ok(log[0].feature == handler.polygon,
-             "\"create\" called with expected feature");
         activated = handler.deactivate();
         t.ok(activated,
              "deactivate returns true if the handler was active already");
@@ -140,7 +120,7 @@
     }
 
     function test_callbacks(t) {
-        t.plan(45);
+        t.plan(39);
         var map = new OpenLayers.Map("map", {
             resolutions: [1]
         });
@@ -170,8 +150,7 @@
             }
         },
         {
-            pixelTolerance: 0,
-            dblclickTolerance: 0
+            pixelTolerance: 0
         });
         control.handler = handler;
         map.addControl(control);
@@ -179,17 +158,16 @@
         
         // create polygon
         handler.activate();
-        handler.activate();
-        t.eq(logs.length, 1, "[activate] called back");
+
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        t.eq(logs.length, 2, "[mousemove] called back");
         log = logs.shift();
         t.eq(log.type, "create", "[activate] create called");
-        t.ok(isNaN(log.args[0].x) && isNaN(log.args[0].y),
-                  "[activate] initial point");
+        t.geom_eq(log.args[0], new OpenLayers.Geometry.Point(-150, 75),
+                  "[mousemove] correct point");
         t.ok(log.args[1] == handler.polygon,
-             "[activate] correct feature");
-        handler.mousemove(
-            {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
-        t.eq(logs.length, 1, "[mousemove] called back");
+             "[mousemove] correct feature");
         log = logs.shift();
         t.eq(log.type, "modify", "[mousemove] modify called");
         t.geom_eq(log.args[0], new OpenLayers.Geometry.Point(-150, 75),
@@ -288,7 +266,7 @@
         // dblclick
         handler.dblclick(
             {type: "dblclick", xy: new OpenLayers.Pixel(0, 10)});
-        t.eq(logs.length, 2, "[dblclick] called back twice");
+        t.eq(logs.length, 1, "[dblclick] called back");
         log = logs.shift();
         t.eq(log.type, "done", "[dblclick] done called");
         t.geom_eq(
@@ -303,21 +281,11 @@
             ]),
             "[dblclick] correct polygon"
         );
-        log = logs.shift();
-        t.eq(log.type, "create", "[dblclick] create called");
-        t.ok(isNaN(log.args[0].x) && isNaN(log.args[0].y),
-                  "[dblclick] initial point");
-        t.ok(log.args[1] == handler.polygon,
-             "[dblclick] correct feature");
         // cancel
         handler.cancel();
-        t.eq(logs.length, 2, "[cancel] called back");
+        t.eq(logs.length, 1, "[cancel] called back");
         log = logs.shift();
         t.eq(log.type, "cancel", "[cancel] canced called");
-        log = logs.shift();
-        t.eq(log.type, "create", "[cancel] create called");
-        t.ok(isNaN(log.args[0].x) && isNaN(log.args[0].y),
-                  "[cancel] initial point");
 
         map.destroy();
     }        
@@ -390,9 +358,9 @@
         handler.activate();
 
         handler.persist = false;
-        var feature1 = handler.polygon;
         handler.mousemove(
             {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        var feature1 = handler.polygon;
         handler.mousedown(
             {type: "mousedown", xy: new OpenLayers.Pixel(0, 0)});
         handler.mouseup(
@@ -410,9 +378,9 @@
         t.ok(feature1.layer == null, "a) feature1 destroyed");
 
         handler.persist = true;
-        var feature2 = handler.polygon;
         handler.mousemove(
             {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        var feature2 = handler.polygon;
         handler.mousedown(
             {type: "mousedown", xy: new OpenLayers.Pixel(0, 0)});
         handler.mouseup(
@@ -429,9 +397,9 @@
             {type: "dblclick", xy: new OpenLayers.Pixel(2, 2)});
         t.ok(feature2.layer != null, "b) feature2 not destroyed");
 
-        var feature3 = handler.polygon;
         handler.mousemove(
             {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        var feature3 = handler.polygon;
         handler.mousedown(
             {type: "mousedown", xy: new OpenLayers.Pixel(0, 0)});
         handler.mouseup(
@@ -471,9 +439,9 @@
         handler.activate();
 
         handler.persist = false;
-        var feature1 = handler.polygon;
         handler.mousemove(
             {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        var feature1 = handler.polygon;
         handler.mousedown(
             {type: "mousedown", xy: new OpenLayers.Pixel(0, 0), shiftKey: true});
         handler.mousemove(
@@ -485,9 +453,9 @@
         t.ok(feature1.layer == null, "a) feature1 destroyed");
 
         handler.persist = true;
-        var feature2 = handler.polygon;
         handler.mousemove(
             {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        var feature2 = handler.polygon;
         handler.mousedown(
             {type: "mousedown", xy: new OpenLayers.Pixel(0, 0), shiftKey: true});
         handler.mousemove(
@@ -498,9 +466,9 @@
             {type: "mouseup", xy: new OpenLayers.Pixel(2, 2), shiftKey: true});
         t.ok(feature2.layer != null, "b) feature2 not destroyed");
 
-        var feature3 = handler.polygon;
         handler.mousemove(
             {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        var feature3 = handler.polygon;
         handler.mousedown(
             {type: "mousedown", xy: new OpenLayers.Pixel(0, 0), shiftKey: true});
         handler.mousemove(
@@ -512,9 +480,9 @@
         t.ok(feature3.layer != null, "c) feature3 not destroyed");
         t.ok(feature2.layer == null, "c) feature2 destroyed");
 
-        feature4 = handler.polygon;
         handler.mousemove(
             {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        feature4 = handler.polygon;
         handler.mousedown(
             {type: "mousedown", xy: new OpenLayers.Pixel(0, 0), shiftKey: false});
         handler.mousemove(
@@ -563,8 +531,7 @@
             OpenLayers.Handler.Polygon,
             {handlerOptions: {
                 holeModifier: "altKey",
-                pixelTolerance: 0,
-                dblclickTolerance: 0
+                pixelTolerance: 0
             }}
         );
         map.addControl(draw);
@@ -780,7 +747,7 @@
         var handler = new OpenLayers.Handler.Polygon(control,
             {done: function(g) { log.geometry = g; }},
             {stopDown: true, stopUp: true,
-            pixelTolerance: 0, dblclickTolerance: 0}
+            pixelTolerance: 0}
         );
         control.handler = handler;
         map.addControl(control);
@@ -852,7 +819,7 @@
         var handler = new OpenLayers.Handler.Polygon(control,
             {done: function(g) { log.geometry = g; }},
             {stopDown: false, stopUp: false,
-            pixelTolerance: 0, dblclickTolerance: 0}
+            pixelTolerance: 0}
         );
         control.handler = handler;
         map.addControl(control);
@@ -908,7 +875,7 @@
     // b) tap
     // c) doubletap
     function test_touch_sequence1(t) {
-        t.plan(24);
+        t.plan(26);
 
         // set up
 
@@ -930,7 +897,7 @@
                 log = {type: 'modify', geometry: g, feature: f};
             }
         }, {
-            dblclickTolerance: 2
+            doubleTouchTolerance: 2
         });
         control.handler = handler;
         map.addControl(control);
@@ -994,6 +961,10 @@
                     new OpenLayers.Geometry.Point(-140, 65)  // (10, 10)
                 ])
             ]), "[touchstart] geometry is correct");
+        log = null;
+        ret = handler.touchend({});
+        t.ok(ret, '[touchend] event propagates');
+        t.eq(log, null, '[touchend] feature not finalized or modified');
 
         // tear down
 
@@ -1005,7 +976,7 @@
     // c) tap
     // d) doubletap
     function test_touch_sequence2(t) {
-        t.plan(30);
+        t.plan(32);
 
         // set up
 
@@ -1027,7 +998,7 @@
                 log = {type: 'modify', geometry: g, feature: f};
             }
         }, {
-            dblclickTolerance: 2
+            doubleTouchTolerance: 2
         });
         control.handler = handler;
         map.addControl(control);
@@ -1103,6 +1074,10 @@
                     new OpenLayers.Geometry.Point(-140, 65)  // (10, 10)
                 ])
             ]), "[touchstart] geometry is correct");
+        log = null;
+        ret = handler.touchend({});
+        t.ok(ret, '[touchend] event propagates');
+        t.eq(log, null, '[touchend] feature not finalized or modified');
 
         // tear down
 

Modified: sandbox/august/trunk/tests/Layer/Bing.html
===================================================================
--- sandbox/august/trunk/tests/Layer/Bing.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/Layer/Bing.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -22,7 +22,9 @@
             log.push(script.src);
             origProcessMetadata.apply(this, arguments);
         };
-        layer = new OpenLayers.Layer.Bing({metadataParams: {foo: "bar"}});
+        layer = new OpenLayers.Layer.Bing(OpenLayers.Util.extend({
+            metadataParams: {foo: "bar"}
+        }, options));
         t.ok(layer instanceof OpenLayers.Layer.Bing, "returns OpenLayers.Layer.Bing object" );
         t.delay_call(5, function() {
             t.eq(log.length, 1, "processMetadata called");

Copied: sandbox/august/trunk/tests/Layer/GoogleNG.html (from rev 12095, trunk/openlayers/tests/Layer/GoogleNG.html)
===================================================================
--- sandbox/august/trunk/tests/Layer/GoogleNG.html	                        (rev 0)
+++ sandbox/august/trunk/tests/Layer/GoogleNG.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -0,0 +1,103 @@
+<html>
+<head>
+  <script src="http://maps.google.com/maps/api/js?sensor=false&v=3.5"></script>
+  <script src="../OLLoader.js"></script>
+  <script type="text/javascript">
+    var map, layer; 
+
+    function test_constructor(t) {
+        t.plan(2);
+                       
+        layer = new OpenLayers.Layer.GoogleNG({type: google.maps.MapTypeId.HYBRID});
+        t.ok(layer instanceof OpenLayers.Layer.GoogleNG, "returns OpenLayers.Layer.GoogleNG object" );
+        t.eq(layer.type, google.maps.MapTypeId.HYBRID, "Layer type set");
+    }
+    
+    function test_initLayer(t) {
+        t.plan(6);
+
+        map = new OpenLayers.Map("map");
+        var log = {};
+        layer = new OpenLayers.Layer.GoogleNG({
+            numZoomLevels: 10,
+            restrictedMinZoom: 2,
+            initLayer: function() {
+                log[layer.id] = true;
+                OpenLayers.Layer.GoogleNG.prototype.initLayer.apply(this, arguments);
+            }
+        });
+        map.addLayer(layer);
+        map.zoomToMaxExtent();
+        
+        var map2 = new OpenLayers.Map("map2");
+        var layer2 = new OpenLayers.Layer.GoogleNG({
+            numZoomLevels: 24,
+            initLayer: function() {
+                log[layer2.id] = true;
+                var origMinZoom = OpenLayers.Layer.GoogleNG.mapObject.mapTypes[layer2.type].minZoom;
+                // pretend the API reports a minZoom of 1
+                OpenLayers.Layer.GoogleNG.mapObject.mapTypes[layer2.type].minZoom = 1;
+                OpenLayers.Layer.GoogleNG.prototype.initLayer.apply(this, arguments);
+                OpenLayers.Layer.GoogleNG.mapObject.mapTypes[layer2.type].minZoom = origMinZoom;
+            }
+        });
+        map2.addLayer(layer2);
+        map2.zoomToMaxExtent();
+        
+        t.delay_call(1, function() {
+            t.eq(log[layer.id], true, "initLayer called for 1st layer");
+            t.eq(log[layer2.id], true, "initLayer called for 2nd layer");
+            
+            t.eq(layer.numZoomLevels, 10, "numZoomLevels from configuration takes precedence if lower");
+            t.eq(layer2.numZoomLevels, OpenLayers.Layer.GoogleNG.mapObject.mapTypes[layer2.type].maxZoom+1, "numZoomLevels from API takes precedence if lower");
+
+            t.eq(layer.restrictedMinZoom, 2, "restrictedMinZoom from configuration takes precedence if higher");
+            t.eq(layer2.restrictedMinZoom, 1, "restrictedMinZoom from API takes precedence if higher");
+
+            map.destroy();
+            map2.destroy();            
+        });
+    }
+    
+    function test_attribution(t) {
+        t.plan(4);
+        
+        var log = [];
+        map = new OpenLayers.Map("map");
+        layer = new OpenLayers.Layer.GoogleNG({
+            type: google.maps.MapTypeId.HYBRID,
+            updateAttribution: function(copyrights) {
+                log.push(copyrights);
+                OpenLayers.Layer.GoogleNG.prototype.updateAttribution.apply(this, arguments);
+            }
+        });
+        map.addLayer(layer);
+        map.setCenter(new OpenLayers.LonLat(16, 48).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), 5);
+        
+        t.delay_call(3, function() {
+            t.eq(log.length, 1, "updateAttribution was called once");
+            t.ok(log[0]["m"].length && log[0]["k"].length, "'m' and 'k' copyrights populated for hybrid layer");
+            t.ok(layer.attribution.indexOf('olGoogleAttribution hybrid') != -1, "Attribution has the correct css class");
+            t.ok(layer.attribution.indexOf('?ll=48,16&z=5&t=h"') != -1, "maps.google.com link has correct parameters");
+            map.destroy();
+        });
+    }
+
+    function test_clone(t) {
+        t.plan(2);
+        
+        var clone;
+        
+        layer = new OpenLayers.Layer.GoogleNG({type: google.maps.MapTypeId.HYBRID});
+        clone = layer.clone();
+        t.ok(clone instanceof OpenLayers.Layer.GoogleNG, "clone is a Layer.GoogleNG instance");
+        t.eq(clone.type, google.maps.MapTypeId.HYBRID, "with the correct map type");
+    }
+
+  </script>
+</head>
+<body>
+<div id="map" style="width:500px;height:550px"></div>
+<div id="map2" style="width:500px;height:550px"></div>
+</body>
+</html>

Modified: sandbox/august/trunk/tests/Layer/Vector.html
===================================================================
--- sandbox/august/trunk/tests/Layer/Vector.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/Layer/Vector.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -685,9 +685,12 @@
                              "given graphicHeight and graphicWidth, both are set: width");
                 feature.style = customStyle5;
                 layer.drawFeature(feature);
-                t.eq(root.firstChild.getAttributeNS(null, 'style'),
-                             'opacity: '+customStyle5.graphicOpacity.toString()+((OpenLayers.BROWSER_NAME == "opera" || OpenLayers.BROWSER_NAME == "safari") ? "" : ';'),
-                             "graphicOpacity correctly set");
+                // we use startsWith here as some browsers (at least Safari 3 and FireFox 4)
+                // do not append a semi-colon to the opacity string
+                t.ok(OpenLayers.String.startsWith(
+                            root.firstChild.getAttributeNS(null, 'style'),
+                            "opacity: " + customStyle5.graphicOpacity.toString()),
+                     "graphicOpacity correctly set");
                 feature.style = customStyle6;
                 layer.drawFeature(feature);
                 var x = geometryX / renderer.getResolution() + renderer.left;

Modified: sandbox/august/trunk/tests/Layer/WMS.html
===================================================================
--- sandbox/august/trunk/tests/Layer/WMS.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/Layer/WMS.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -80,13 +80,11 @@
         var tParams = OpenLayers.Util.extend({},
                         OpenLayers.Util.upperCaseObject(params));
         tParams = OpenLayers.Util.extend(tParams, {
-            SERVICE: "WMS", VERSION: "1.1.1",
-            REQUEST: "GetMap", STYLES: "",
-            SRS: "EPSG:4326", BBOX: [1,2,3,4],
+            BBOX: [1,2,3,4],
             WIDTH: "256", HEIGHT: "256"
         });
         t.eq( img.src,
-             url + "?" + OpenLayers.Util.getParameterString(tParams),
+             layer.getFullRequestString(tParams),
              "image src is created correctly via addtile" );
         t.eq( tile.frame.style.top, "6px", "image top is set correctly via addtile" );
         t.eq( tile.frame.style.left, "5px", "image top is set correctly via addtile" );
@@ -97,7 +95,7 @@
         else
             t.ok( firstChild instanceof HTMLElement, "div first child is an image object" );
         t.eq( firstChild.src,
-             url + "?" + OpenLayers.Util.getParameterString(tParams),
+             layer.getFullRequestString(tParams),
              "div first child is correct image object" );
         t.eq( tile.position.toString(), "x=5,y=6", "Position of tile is set correctly." );
         map.destroy();
@@ -118,13 +116,11 @@
         var tParams = OpenLayers.Util.extend({},
                         OpenLayers.Util.upperCaseObject(params));
         tParams = OpenLayers.Util.extend(tParams, {
-            SERVICE: "WMS", VERSION: "1.1.1",
-            REQUEST: "GetMap", STYLES: "",
-            SRS: "EPSG:4326", BBOX: "1,2,3,4",
+            BBOX: "1,2,3,4",
             WIDTH: "256", HEIGHT: "256"
         });
         t.eq( img.src,
-             url + "?" + OpenLayers.Util.getParameterString(tParams),
+             layer.getFullRequestString(tParams),
              "image src is created correctly via addtile" );
         t.eq( tile.frame.style.top, "6px", "image top is set correctly via addtile" );
         t.eq( tile.frame.style.left, "5px", "image top is set correctly via addtile" );
@@ -135,7 +131,7 @@
         else
             t.ok( firstChild instanceof HTMLElement, "div first child is an image object" );
         t.eq( firstChild.src,
-             url + "?" + OpenLayers.Util.getParameterString(tParams),
+             layer.getFullRequestString(tParams),
              "div first child is correct image object" );
         t.eq( tile.position.toString(), "x=5,y=6", "Position of tile is set correctly." );
         map.destroy();
@@ -544,8 +540,30 @@
         map.destroy();
 
     }
+    
+    function test_transparent(t) {
+        t.plan(5);
+        var map = new OpenLayers.Map("map", {allOverlays: true});
+        var layer = new OpenLayers.Layer.WMS(
+            "OpenLayers WMS",
+            "http://myserver.org/wms?",
+            {layers: 'mylayer', transparent: true}
+        );
+        map.addLayer(layer);
 
+        t.eq(typeof layer.params.TRANSPARENT, "boolean", "transparent param is boolean");
+        t.ok(layer.getFullRequestString({}).indexOf("TRANSPARENT=TRUE") != -1, "Boolean transparent param value is uppercase TRUE");
+        layer.mergeNewParams({transparent: false});
+        t.ok(layer.getFullRequestString({}).indexOf("TRANSPARENT=FALSE") != -1, "Boolean transparent param value is uppercase FALSE");
 
+        layer.mergeNewParams({transparent: "true"});
+        t.eq(typeof layer.params.TRANSPARENT, "string", "transparent param is string");
+        t.ok(layer.getFullRequestString({}).indexOf("TRANSPARENT=true") != -1, "transparent param value passed as provided if String");
+        
+        map.destroy();
+    }
+
+
   </script>
 </head>
 <body>

Modified: sandbox/august/trunk/tests/Protocol/WFS.html
===================================================================
--- sandbox/august/trunk/tests/Protocol/WFS.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/Protocol/WFS.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -105,6 +105,68 @@
         OpenLayers.Request.POST = _POST;
     }
 
+    function test_exception(t) {
+        t.plan(8);
+        var url = "http://some.url.org";
+        var protocol = new OpenLayers.Protocol.WFS({
+            url: url,
+            version: "1.1.0",
+            featureNS: "http://namespace.org",
+            featureType: "type"
+        });
+        // mock up a response
+        var response = {
+            priv: {
+                status: 200,
+                responseText: '<?xml version="1.0" encoding="UTF-8"?><ows:ExceptionReport language="en" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/ows http://schemas.opengis.net/ows/1.0.0/owsExceptionReport.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengis.net/ows"><ows:Exception locator="foo" exceptionCode="InvalidParameterValue"><ows:ExceptionText>Update error: Error occurred updating features</ows:ExceptionText><ows:ExceptionText>Second exception line</ows:ExceptionText></ows:Exception></ows:ExceptionReport>'
+            }
+        };
+        var log, entry, expected;
+        
+        // test GetFeature
+        log = [];
+        protocol.handleRead(OpenLayers.Util.extend({}, response), {
+            callback: function(resp) {
+                log.push(resp);
+            }
+        });
+        expected = {
+            exceptionReport: {
+                version: "1.0.0",
+                language: "en",
+                exceptions: [{
+                    code: "InvalidParameterValue",
+                    locator: "foo",
+                    texts: [
+                        "Update error: Error occurred updating features",
+                        "Second exception line"
+                    ]
+                }]
+            },
+            success: false
+        };
+
+        t.eq(log.length, 1, "GetFeature handled");
+        entry = log[0];
+        t.eq(entry.code, OpenLayers.Protocol.Response.FAILURE, "GetFeature failure reported");
+        t.ok(!!entry.error, "GetFeature got error");
+        t.eq(entry.error, expected, "GetFeature error matches expected");
+
+        // test a commit
+        log = [];
+        protocol.handleCommit(response, {
+            callback: function(resp) {
+                log.push(resp);
+            }
+        });
+        t.eq(log.length, 1, "commit handled");
+        entry = log[0];
+        t.eq(entry.code, OpenLayers.Protocol.Response.FAILURE, "commit failure reported");
+        t.ok(!!entry.error, "commit got error");
+        t.eq(entry.error, expected, "GetFeature error matches expected");
+
+    }
+
     function test_commit(t){
         t.plan(5);
 

Modified: sandbox/august/trunk/tests/Renderer/Canvas.html
===================================================================
--- sandbox/august/trunk/tests/Renderer/Canvas.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/Renderer/Canvas.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -171,7 +171,7 @@
             {display: "none"}
         );
         t.eq(exp, false, "c) drawFeature returns false");
-        t.eq(count, 0, "c) redraw is not called when drawing a feature with display 'none'");
+        t.eq(count, 1, "c) redraw is called when drawing a feature with display 'none'");
         renderer.clear();
 
         // d) draw a point feature outside renderer extent
@@ -180,7 +180,7 @@
             new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(-1000, 0)), {}
         );
         t.eq(exp, false, "d) drawFeature returns false");
-        t.eq(count, 0, "d) redraw is not called when drawing a feature outside renderer extent");
+        t.eq(count, 1, "d) redraw is called when drawing a feature outside renderer extent");
         renderer.clear();
         
         map.destroy();

Copied: sandbox/august/trunk/tests/Tile/Google.html (from rev 12095, trunk/openlayers/tests/Tile/Google.html)
===================================================================
--- sandbox/august/trunk/tests/Tile/Google.html	                        (rev 0)
+++ sandbox/august/trunk/tests/Tile/Google.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -0,0 +1,74 @@
+<html>
+<head>
+  <script src="http://maps.google.com/maps/api/js?sensor=false&v=3.5"></script>
+  <script src="../OLLoader.js"></script>
+  <script type="text/javascript">
+    var tile; 
+    var layer = new OpenLayers.Layer.GoogleNG(); 
+    var position = new OpenLayers.Pixel(20,30);
+    var bounds = new OpenLayers.Bounds(1,2,3,4);
+
+    
+    function test_constructor (t) {
+        t.plan( 4 );
+        
+        tile = new OpenLayers.Tile.Google(layer, position, bounds);
+    
+        t.ok( tile instanceof OpenLayers.Tile.Google, "new OpenLayers.Tile.Google returns Tile object" );
+        t.ok( tile.layer == layer, "tile.layer is set correctly");
+        t.ok( tile.position.equals(position), "tile.position is set correctly");
+        t.ok( tile.bounds.equals(bounds), "tile.bounds is set correctly");
+    }
+
+    function test_clone (t) {
+        t.plan( 5 );
+        
+        tile = new OpenLayers.Tile.Google(layer, position, bounds);
+        tile.node = document.createElement("div");
+        var clone = tile.clone();
+    
+        t.ok( clone instanceof OpenLayers.Tile.Google, "OpenLayers.Tile.Google.clone returns Tile.Google object" );
+        t.ok( clone.layer == layer, "clone.layer is set correctly");
+        t.ok( clone.position.equals(position), "clone.position is set correctly");
+        t.ok( clone.bounds.equals(bounds), "clone.bounds is set correctly");
+        t.ok( !clone.node, "node not cloned");
+    }
+    
+    function test_draw (t) {
+        t.plan( 5 );
+
+        var map = new OpenLayers.Map('map');
+        map.addLayer(layer);  
+
+        tile = new OpenLayers.Tile.Google(layer, position, bounds);
+
+        tile.events.register("loadstart", this, function() { 
+            t.ok(true, "loadstart triggered");
+        });
+        tile.events.register("loadend", this, function() { 
+            t.ok(true, "loadend triggered");
+        });
+
+        t.delay_call(1, function() {
+            //this should trigger a "loadstart" event
+            tile.draw();
+
+            t.ok( tile.node, "tile.draw creates a node");
+            // The two tests below will fail when getTile doesn't set the tile size
+            t.eq( tile.node.style.width, layer.tileSize.w+"px", "Image width is correct" );
+            t.eq( tile.node.style.height, layer.tileSize.h+"px", "Image height is correct" );
+        });       
+        t.delay_call(2, function() {
+            map.removeLayer(layer);
+            map.destroy();
+            /* wait until "loadend" fires */
+        });        
+        
+    }
+        
+  </script>
+</head>
+<body>
+<div id="map" style="height:550px;width:500px"></div>
+</body>
+</html>
\ No newline at end of file

Modified: sandbox/august/trunk/tests/Util.html
===================================================================
--- sandbox/august/trunk/tests/Util.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/Util.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -41,6 +41,28 @@
              "isElement reports that object returned by getElement is an Element");
     }
     
+    function test_isArray(t) {
+        t.plan(5);
+        
+        var a;
+        
+        a = null;
+        t.eq(OpenLayers.Util.isArray(a), false, 
+             "isArray reports 'null' isn't an Array");
+        a = "Array";   
+        t.eq(OpenLayers.Util.isArray(a), false, 
+             "isArray reports \"Array\" isn't an Array");
+        a = {};
+        t.eq(OpenLayers.Util.isArray(a), false, 
+             "isArray reports {} isn't an Array");
+        a = [];
+        t.eq(OpenLayers.Util.isArray(a), true, 
+             "isArray reports [] is an Array");
+        a = new Array();
+        t.eq(OpenLayers.Util.isArray(a), true, 
+             "isArray reports new Array() is an Array");
+    }
+    
     function test_$(t) {
         t.plan(1);
         t.ok($ === custom$, "OpenLayers doesn't clobber existing definition of $.");
@@ -121,8 +143,9 @@
         var prop = (OpenLayers.BROWSER_NAME == 'safari') ? 'overflowX' : 'overflow';
         t.eq( div.style[prop], overflow, "div.style.overflow set correctly");    
         t.eq( parseFloat(div.style.opacity), opacity, "element.style.opacity set correctly");    
-        //Safari 3 returns null for this value, which is okay
-        var filterString = (OpenLayers.BROWSER_NAME == 'safari') ? null : 'alpha(opacity=' + (opacity * 100) + ')';
+        //Some non-IE browsers don't return the alpha string for this value, which is okay
+        var filterString = div.style.filter.match(/^alpha/) != null ? 
+                               'alpha(opacity=' + (opacity * 100) + ')' : div.style.filter;
         t.eq( div.style.filter, filterString, "element.style.filter set correctly");
 
         //test defaults
@@ -190,8 +213,9 @@
         t.eq( image.src, img, "image.style.backgroundImage correctly");    
         t.eq( image.style.position, position, "image.style.position set correctly");    
         t.eq( parseFloat(image.style.opacity), opacity, "image.style.opacity set correctly");    
-        //Safari 3 returns null for this value, which is okay
-        var filterString = (OpenLayers.BROWSER_NAME == 'safari') ? null : 'alpha(opacity=' + (opacity * 100) + ')';
+        //Some non-IE browsers don't return the alpha string for this value, which is okay
+        var filterString = image.style.filter.match(/^alpha/) != null ? 
+                               'alpha(opacity=' + (opacity * 100) + ')' : image.style.filter;
         t.eq( image.style.filter, filterString, "element.style.filter set correctly");
 
         //test defaults
@@ -381,8 +405,9 @@
         if (OpenLayers.Util.alphaHack()) {
             filterString = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://www.openlayers.org/images/OpenLayers.trac.png', sizingMethod='crop') alpha(opacity=50)";
         } else {
-            //Safari 3 returns null for this value, which is okay
-            var filterString = (OpenLayers.BROWSER_NAME == 'safari') ? null : 'alpha(opacity=' + (opacity * 100) + ')';
+            //Some non-IE browsers don't return the alpha string for this value, which is okay
+            var filterString = imageDiv.style.filter.match(/^alpha/) != null ? 
+                                   'alpha(opacity=' + (opacity * 100) + ')' : imageDiv.style.filter;
         }        
         t.eq( imageDiv.style.filter, filterString, "element.style.filter set correctly");
 
@@ -449,8 +474,9 @@
 
         t.eq(parseFloat(element.style.opacity), opacity, 
              "element.style.opacity set correctly when opacity = " + opacity);
-        //Safari 3 returns null for this value, which is okay
-        var filterString = (OpenLayers.BROWSER_NAME == 'safari') ? null : 'alpha(opacity=' + (opacity * 100) + ')';
+        //Some non-IE browsers don't return the alpha string for this value, which is okay
+        var filterString = element.style.filter.match(/^alpha/) != null ? 
+                               'alpha(opacity=' + (opacity * 100) + ')' : element.style.filter;
         t.eq(element.style.filter, filterString, 
              "element.style.filter set correctly when opacity = " + opacity);
 
@@ -459,8 +485,9 @@
     
         t.eq(parseFloat(element.style.opacity), opacity, 
              "element.style.opacity not changed if the value is incorrect");
-        //Safari 3 returns null for this value, which is okay
-        var filterString = (OpenLayers.BROWSER_NAME == 'safari') ? null : 'alpha(opacity=' + (opacity * 100) + ')';
+        //Some non-IE browsers don't return the alpha string for this value, which is okay
+        var filterString = element.style.filter.match(/^alpha/) != null ? 
+                               'alpha(opacity=' + (opacity * 100) + ')' : element.style.filter;
         t.eq(element.style.filter, filterString, 
              "element.style.filter not changed if the value is incorrect");
 
@@ -469,8 +496,9 @@
     
         t.eq(parseFloat(element.style.opacity), opacity, 
              "element.style.opacity not changed if the value is incorrect");
-        //Safari 3 returns null for this value, which is okay
-        var filterString = (OpenLayers.BROWSER_NAME == 'safari') ? null : 'alpha(opacity=' + (opacity * 100) + ')';
+        //Some non-IE browsers don't return the alpha string for this value, which is okay
+        var filterString = element.style.filter.match(/^alpha/) != null ? 
+                               'alpha(opacity=' + (opacity * 100) + ')' : element.style.filter;
         t.eq(element.style.filter, filterString, 
              "element.style.filter not changed if the value is incorrect");
 
@@ -521,8 +549,9 @@
         var prop = (OpenLayers.BROWSER_NAME == 'safari') ? 'overflowX' : 'overflow';
         t.eq( element.style[prop], overflow, "element.style.overflow set correctly");    
         t.eq( parseFloat(element.style.opacity), opacity, "element.style.opacity set correctly");    
-        //Safari 3 returns null for this value, which is okay
-        var filterString = (OpenLayers.BROWSER_NAME == 'safari') ? null : 'alpha(opacity=' + (opacity * 100) + ')';
+        //Some non-IE browsers don't return the alpha string for this value, which is okay
+        var filterString = element.style.filter.match(/^alpha/) != null ? 
+                               'alpha(opacity=' + (opacity * 100) + ')' : element.style.filter;
         t.eq( element.style.filter, filterString, "element.style.filter set correctly");
     }
 
@@ -565,8 +594,9 @@
             filterString = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://www.openlayers.org/images/OpenLayers.trac.png', sizingMethod='crop') alpha(opacity=50)";
             t.ok( true, "skipping element test outside of Mozilla");
         } else {
-            //Safari 3 returns null for this value, which is okay
-            var filterString = (OpenLayers.BROWSER_NAME == 'safari') ? null : 'alpha(opacity=' + (opacity * 100) + ')';
+            //Some non-IE browsers don't return the alpha string for this value, which is okay
+            var filterString = imageDiv.style.filter.match(/^alpha/) != null ? 
+                                   'alpha(opacity=' + (opacity * 100) + ')' : imageDiv.style.filter;
             t.ok( image.nodeName == "IMG", "createImage creates a valid HTMLImageElement" );
         }
         t.eq( imageDiv.style.filter, filterString, "element.style.filter set correctly");

Modified: sandbox/august/trunk/tests/list-tests.html
===================================================================
--- sandbox/august/trunk/tests/list-tests.html	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/list-tests.html	2011-06-16 20:12:13 UTC (rev 12096)
@@ -15,6 +15,7 @@
     <li>Control/DragFeature.html</li>
     <li>Control/DragPan.html</li>
     <li>Control/DrawFeature.html</li>
+    <li>Control/EditingToolbar.html</li>
     <li>Control/Geolocate.html</li>
     <li>Control/GetFeature.html</li>
     <li>Control/Graticule.html</li>
@@ -103,6 +104,9 @@
     <li>Format/SOSGetObservation.html</li>
     <li>Format/SOSGetFeatureOfInterest.html</li>
     <li>Format/OWSContext/v0_3_1.html</li>
+    <li>Format/OWSCommon/v1_0_0.html</li>
+    <li>Format/OWSCommon/v1_1_0.html</li>
+    <li>Format/OGCExceptionReport.html</li>
     <li>Format/XLS/v1_1_0.html</li>
     <li>Format/XML.html</li>
     <li>Geometry.html</li>
@@ -143,6 +147,7 @@
     <li>Layer/GML.html</li>
     <li>Layer/Google.html</li>
     <li>Layer/Google/v3.html</li>
+    <li>Layer/GoogleNG.html</li>
     <li>Layer/Grid.html</li>
     <li>Layer/HTTPRequest.html</li>
     <li>Layer/Image.html</li>
@@ -212,6 +217,7 @@
     <li>Symbolizer/Raster.html</li>
     <li>Symbolizer/Text.html</li>
     <li>Tile.html</li>
+    <li>Tile/Google.html</li>
     <li>Tile/Image.html</li>
     <li>Tile/Image/IFrame.html</li>
     <li>Tile/WFS.html</li>

Modified: sandbox/august/trunk/tests/node.js/mockdom.js
===================================================================
--- sandbox/august/trunk/tests/node.js/mockdom.js	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tests/node.js/mockdom.js	2011-06-16 20:12:13 UTC (rev 12096)
@@ -5,8 +5,6 @@
     }
 };
 
-alert = print;
-
 navigator = {
   'appName': 'mockdom',
   'userAgent': 'mockdom',

Modified: sandbox/august/trunk/theme/default/style.css
===================================================================
--- sandbox/august/trunk/theme/default/style.css	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/theme/default/style.css	2011-06-16 20:12:13 UTC (rev 12096)
@@ -355,6 +355,19 @@
     color: #333;
 }
 
+.olGoogleAttribution.hybrid, .olGoogleAttribution.satellite {
+    color: #EEE;
+}
+.olGoogleAttribution {
+    color: #333;
+}
+span.olGoogleAttribution a {
+    color: #77C;
+}
+span.olGoogleAttribution.hybrid a, span.olGoogleAttribution.satellite a {
+    color: #EEE;
+}
+
 /**
  * Editing and navigation icons.
  * (using the editing_tool_bar.png sprint image)

Copied: sandbox/august/trunk/tools/branch.sh (from rev 12095, trunk/openlayers/tools/branch.sh)
===================================================================
--- sandbox/august/trunk/tools/branch.sh	                        (rev 0)
+++ sandbox/august/trunk/tools/branch.sh	2011-06-16 20:12:13 UTC (rev 12096)
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+RELEASE=$1
+
+svn copy -m "Branching for the $RELEASE release" http://svn.openlayers.org/trunk/openlayers http://svn.openlayers.org/branches/openlayers/$RELEASE

Copied: sandbox/august/trunk/tools/rc.sh (from rev 12095, trunk/openlayers/tools/rc.sh)
===================================================================
--- sandbox/august/trunk/tools/rc.sh	                        (rev 0)
+++ sandbox/august/trunk/tools/rc.sh	2011-06-16 20:12:13 UTC (rev 12096)
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+RELEASE=$1
+RC=$2
+
+svn co http://svn.openlayers.org/branches/openlayers/$RELEASE
+cd $RELEASE
+sed -i -e "s/OpenLayers.VERSION_NUMBER=.*/OpenLayers.VERSION_NUMBER=\"Release $1-$2\";/" lib/OpenLayers.js 
+sed -i -e "s/VERSION_NUMBER: .*,/VERSION_NUMBER: \"Release $1-$2\",/" lib/OpenLayers/SingleFile.js
+svn diff;
+sleep 10;
+svn ci -m "Updating version numbers for $1-$2".
+svn cp -m "Tagging the $1-$2 release." http://svn.openlayers.org/branches/openlayers/$1 http://svn.openlayers.org/tags/openlayers/release-$1-$2

Modified: sandbox/august/trunk/tools/release.sh
===================================================================
--- sandbox/august/trunk/tools/release.sh	2011-06-16 19:16:25 UTC (rev 12095)
+++ sandbox/august/trunk/tools/release.sh	2011-06-16 20:12:13 UTC (rev 12096)
@@ -24,17 +24,17 @@
 mkdir doc/apidocs
 rm tools/*.pyc
 
-mkdir /www/openlayers/htdocs/api/$VERSION
-cp OpenLayers.js /www/openlayers/htdocs/api/$VERSION
-cp -a img/ /www/openlayers/htdocs/api/$VERSION
-cp -a theme/ /www/openlayers/htdocs/api/$VERSION
+mkdir /osgeo/openlayers/docs/api/$VERSION
+cp OpenLayers.js /osgeo/openlayers/docs/api/$VERSION
+cp -a img/ /osgeo/openlayers/docs/api/$VERSION
+cp -a theme/ /osgeo/openlayers/docs/api/$VERSION
 
 cd ..
 
-~/nd/NaturalDocs -i OpenLayers-$VERSION/lib -o HTML OpenLayers-$VERSION/doc/devdocs -p OpenLayers-$VERSION/doc_config -s Small OL
-~/nd/NaturalDocs -i OpenLayers-$VERSION/lib -o HTML OpenLayers-$VERSION/doc/apidocs -p OpenLayers-$VERSION/apidoc_config -s Small OL
+naturaldocs -i OpenLayers-$VERSION/lib -o HTML OpenLayers-$VERSION/doc/devdocs -p OpenLayers-$VERSION/doc_config -s Small OL
+naturaldocs -i OpenLayers-$VERSION/lib -o HTML OpenLayers-$VERSION/doc/apidocs -p OpenLayers-$VERSION/apidoc_config -s Small OL
 
 tar cvfz OpenLayers-$VERSION.tar.gz OpenLayers-$VERSION/
 zip -9r OpenLayers-$VERSION.zip OpenLayers-$VERSION/
 
-cp OpenLayers-$VERSION.* /www/openlayers/htdocs/download 
+cp OpenLayers-$VERSION.* /osgeo/openlayers/docs/download 



More information about the Commits mailing list