function getPosition()
{
  navigator.geolocation.getCurrentPosition(iKnowWhereYouAre, notTheFaintestClue, {timeout:30000});
}

function notTheFaintestClue()
{
}

function iKnowWhereYouAre(position)
{
  var lonLat = new OpenLayers.LonLat(
    position.coords.longitude, position.coords.latitude
  ).transform(map.displayProjection, map.projection);
  map.setCenter(lonLat, zoom);

  center = map.getCenter().
    transform(map.getProjectionObject(), new OpenLayers.Projection("EPSG:4326"));

  factor = Math.cos(center.lat / (180/Math.PI)), 10 + map.getZoom() * 2;

  multiFeature = new OpenLayers.Feature.Vector(
    OpenLayers.Geometry.Polygon.createRegularPolygon(
      new OpenLayers.Geometry.Point(
        center.lon, center.lat
      ).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()),
      position.coords.accuracy / factor, 10
    ),
    {
      color: 'blue',
      align: 'rt'
    }
  );

  vectorLayer.removeAllFeatures();
  vectorLayer.drawFeature(multiFeature);
  vectorLayer.addFeatures([multiFeature]);
}