aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Mottram <bob@robotics.uk.to>2016-03-20 13:06:58 +0000
committerBob Mottram <bob@robotics.uk.to>2016-03-20 13:06:58 +0000
commit11c57e7aee073f7587e0594577da385e85f168bc (patch)
tree9fbca41c5832a40996b8ba545e7d9b415a5cc627
parentb2cfbded2edce0aa835ac9d589e7055c7a77d25b (diff)
downloadgnu-social-11c57e7aee073f7587e0594577da385e85f168bc.tar
gnu-social-11c57e7aee073f7587e0594577da385e85f168bc.zip
Remove Google References
This removes most references to Google, with some remaining since they may point to things which are still relevant. References to Google Code, Google Buzz and Google Maps have been removed
-rw-r--r--CONFIGURE11
-rw-r--r--EVENTS.txt7
-rw-r--r--PLUGINS.txt12
-rw-r--r--README.md5
-rw-r--r--actions/apitimelinefriends.php4
-rw-r--r--db/notice_source.sql8
-rw-r--r--extlib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/FontFamily.php2
-rw-r--r--extlib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Munge.txt98
-rw-r--r--extlib/HTMLPurifier/HTMLPurifier/Injector/Linkify.php2
-rw-r--r--extlib/OAuth.php29
-rw-r--r--extlib/README2
-rw-r--r--extlib/php-gettext/README2
-rw-r--r--js/extlib/jquery-ui/jquery-ui.js1
-rw-r--r--js/extlib/jquery.js1
-rw-r--r--js/geometa.js217
-rw-r--r--lib/action.php3
-rw-r--r--lib/searchaction.php2
-rw-r--r--locale/af/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/ar/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/arz/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/ast/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/be-tarask/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/bg/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/bn_IN/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/br/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/ca/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/cs/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/da/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/de/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/el/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/en_GB/LC_MESSAGES/statusnet.po6
-rw-r--r--locale/eo/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/es/LC_MESSAGES/statusnet.po6
-rw-r--r--locale/eu/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/fa/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/fi/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/fr/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/fur/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/gl/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/he/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/hsb/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/hu/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/hy_AM/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/ia/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/id/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/io/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/is/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/it/LC_MESSAGES/statusnet.po6
-rw-r--r--locale/ja/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/ka/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/ko/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/ksh/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/lb/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/lt/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/lv/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/mg/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/mk/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/ml/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/ms/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/my/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/nb/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/ne/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/nl/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/nn/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/pl/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/pt/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/pt_BR/LC_MESSAGES/statusnet.po6
-rw-r--r--locale/ro_RO/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/ru/LC_MESSAGES/statusnet.po6
-rw-r--r--locale/sl/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/sr-ec/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/statusnet.pot2
-rw-r--r--locale/sv/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/ta/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/te/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/tl/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/tr/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/uk/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/ur_PK/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/vi/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/zh/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/zh_CN/LC_MESSAGES/statusnet.po4
-rw-r--r--locale/zh_TW/LC_MESSAGES/statusnet.po4
-rw-r--r--plugins/BitlyUrl/BitlyUrlPlugin.php1
-rw-r--r--plugins/ExtendedProfile/lib/extendedprofilewidget.php1
-rw-r--r--plugins/ForceGroup/locale/eu/LC_MESSAGES/ForceGroup.po4
-rw-r--r--plugins/LRDD/lib/discovery.php5
-rw-r--r--plugins/Mapstraction/MapstractionPlugin.php8
-rw-r--r--plugins/Mapstraction/OpenLayers/OpenLayers.js2
-rw-r--r--plugins/Mapstraction/OpenLayers/theme/default/google.css10
-rw-r--r--plugins/Mapstraction/OpenLayers/theme/default/style.css90
-rw-r--r--plugins/Mapstraction/js/mxn.(provider).core.js116
-rw-r--r--plugins/Mapstraction/js/mxn.cloudmade.core.js20
-rw-r--r--plugins/Mapstraction/js/mxn.core.js145
-rw-r--r--plugins/Mapstraction/js/mxn.geocommons.core.js35
-rw-r--r--plugins/Mapstraction/js/mxn.google.core.js519
-rw-r--r--plugins/Mapstraction/js/mxn.google.geocoder.js179
-rw-r--r--plugins/Mapstraction/js/mxn.googlev3.core.js443
-rw-r--r--plugins/Mapstraction/js/mxn.js83
-rw-r--r--plugins/Mapstraction/js/mxn.openlayers.core.js64
-rw-r--r--plugins/Minify/extlib/minify/README.txt22
-rw-r--r--plugins/Minify/extlib/minify/UPGRADING.txt8
-rw-r--r--plugins/Minify/extlib/minify/min/README.txt28
-rw-r--r--plugins/Minify/extlib/minify/min/builder/index.php21
-rw-r--r--plugins/Minify/extlib/minify/min/lib/JSMin.php33
-rw-r--r--plugins/Minify/extlib/minify/min/lib/Minify.php167
-rw-r--r--plugins/Minify/extlib/minify/min/lib/Minify/CSS.php7
-rw-r--r--plugins/Minify/extlib/minify/min/lib/Minify/CSS/Compressor.php91
-rw-r--r--plugins/Minify/extlib/minify/min/lib/Minify/Controller/Page.php30
-rw-r--r--plugins/Minify/extlib/minify/min/lib/Minify/Packer.php11
-rw-r--r--plugins/OStatus/lib/magicenvelope.php5
-rw-r--r--plugins/OStatus/tests/MagicEnvelopeTest.php1
-rw-r--r--plugins/PiwikAnalytics/PiwikAnalyticsPlugin.php2
-rw-r--r--plugins/Recaptcha/LICENSE22
-rw-r--r--plugins/Recaptcha/README28
-rw-r--r--plugins/Recaptcha/RecaptchaPlugin.php119
-rw-r--r--plugins/Recaptcha/locale/Recaptcha.pot35
-rw-r--r--plugins/Recaptcha/locale/af/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/ar/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/arz/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/ast/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/be-tarask/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/bg/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/bn_IN/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/br/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/ca/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/cs/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/da/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/de/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/el/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/en_GB/LC_MESSAGES/Recaptcha.po37
-rw-r--r--plugins/Recaptcha/locale/eo/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/es/LC_MESSAGES/Recaptcha.po37
-rw-r--r--plugins/Recaptcha/locale/eu/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/fa/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/fi/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/fr/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/fur/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/gl/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/he/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/hsb/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/hu/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/hy_AM/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/ia/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/id/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/io/LC_MESSAGES/Recaptcha.po37
-rw-r--r--plugins/Recaptcha/locale/is/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/it/LC_MESSAGES/Recaptcha.po37
-rw-r--r--plugins/Recaptcha/locale/ja/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/ka/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/ko/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/ksh/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/lb/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/lt/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/lv/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/mg/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/mk/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/ml/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/ms/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/my/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/nb/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/ne/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/nl/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/nn/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/pl/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/pt/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/pt_BR/LC_MESSAGES/Recaptcha.po37
-rw-r--r--plugins/Recaptcha/locale/ro_RO/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/ru/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/sl/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/sr-ec/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/sv/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/ta/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/te/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/tl/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/tr/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/uk/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/ur_PK/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/vi/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/zh/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/zh_CN/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/locale/zh_TW/LC_MESSAGES/Recaptcha.po36
-rw-r--r--plugins/Recaptcha/recaptchalib.php276
-rw-r--r--plugins/Sitemap/SitemapPlugin.php7
-rw-r--r--plugins/Sitemap/actions/sitemapadminpanel.php10
-rw-r--r--plugins/Sitemap/locale/Sitemap.pot12
-rw-r--r--plugins/Sitemap/locale/af/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/ar/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/arz/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/ast/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/be-tarask/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/bg/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/bn_IN/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/br/LC_MESSAGES/Sitemap.po16
-rw-r--r--plugins/Sitemap/locale/ca/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/cs/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/da/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/de/LC_MESSAGES/Sitemap.po16
-rw-r--r--plugins/Sitemap/locale/diq/LC_MESSAGES/Sitemap.po10
-rw-r--r--plugins/Sitemap/locale/el/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/en_GB/LC_MESSAGES/Sitemap.po16
-rw-r--r--plugins/Sitemap/locale/eo/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/es/LC_MESSAGES/Sitemap.po16
-rw-r--r--plugins/Sitemap/locale/eu/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/fa/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/fi/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/fr/LC_MESSAGES/Sitemap.po16
-rw-r--r--plugins/Sitemap/locale/fur/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/gl/LC_MESSAGES/Sitemap.po16
-rw-r--r--plugins/Sitemap/locale/he/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/hsb/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/hu/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/hy_AM/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/ia/LC_MESSAGES/Sitemap.po16
-rw-r--r--plugins/Sitemap/locale/id/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/io/LC_MESSAGES/Sitemap.po16
-rw-r--r--plugins/Sitemap/locale/is/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/it/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/ja/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/ka/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/ko/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/ksh/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/lb/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/lt/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/lv/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/mg/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/mk/LC_MESSAGES/Sitemap.po16
-rw-r--r--plugins/Sitemap/locale/ml/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/ms/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/my/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/nb/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/ne/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/nl/LC_MESSAGES/Sitemap.po16
-rw-r--r--plugins/Sitemap/locale/nn/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/pl/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/pt/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/pt_BR/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/ro_RO/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/ru/LC_MESSAGES/Sitemap.po16
-rw-r--r--plugins/Sitemap/locale/sl/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/sr-ec/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/sv/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/ta/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/te/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/tl/LC_MESSAGES/Sitemap.po16
-rw-r--r--plugins/Sitemap/locale/tr/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/uk/LC_MESSAGES/Sitemap.po16
-rw-r--r--plugins/Sitemap/locale/ur_PK/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/vi/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/zh/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/zh_CN/LC_MESSAGES/Sitemap.po14
-rw-r--r--plugins/Sitemap/locale/zh_TW/LC_MESSAGES/Sitemap.po14
-rw-r--r--socialfy-another-domain/dot-well-known/webfinger/example@example.com.xml14
-rw-r--r--tests/ActivityParseTests.php29
-rw-r--r--theme/base/images/icons/README2
-rw-r--r--theme/neo-quitter/README.md30
-rw-r--r--theme/neo-quitter/css/genericons/example.html719
-rw-r--r--theme/neo-quitter/css/genericons/genericons.css8
-rw-r--r--theme/neo/README2
259 files changed, 860 insertions, 6573 deletions
diff --git a/CONFIGURE b/CONFIGURE
index 7e76ccf91b..25af381332 100644
--- a/CONFIGURE
+++ b/CONFIGURE
@@ -393,8 +393,7 @@ resource: a unique identifier for the connection to the server. This
is actually used as a prefix for each XMPP component in the system.
password: password for the user account.
host: some XMPP domains are served by machines with a different
- hostname. (For example, @gmail.com GTalk users connect to
- talk.google.com). Set this to the correct hostname if that's the
+ hostname. Set this to the correct hostname if that's the
case with your server.
encryption: Whether to encrypt the connection between StatusNet and the
XMPP server. Defaults to true, but you can get
@@ -502,7 +501,7 @@ restore: whether users can restore their profiles from backup files. Defaults
to true.
delete: whether users can delete their own accounts. Defaults to false.
move: whether users can move their accounts to another server. Defaults
- to true.
+ to true.
newuser
-------
@@ -583,7 +582,7 @@ maxaliases: maximum number of aliases a group can have. Default 3. Set
desclimit: maximum number of characters to allow in group descriptions.
null (default) means to use the site-wide text limits. 0
means no limit.
-addtag: Whether to add a tag for the group nickname for every group post
+addtag: Whether to add a tag for the group nickname for every group post
(pre-1.0.x behaviour). Defaults to false.
search
@@ -709,7 +708,7 @@ external: external links in notices. One of three values: 'sometimes',
url
---
-These are some options for fine-tuning how and when the server will
+These are some options for fine-tuning how and when the server will
shorten URLs.
shortener: URL shortening service to use by default. Users can override
@@ -780,5 +779,3 @@ oldschool
enabled: enable certain old-style user settings options, like stream-only mode,
conversation trees, and nicknames in streams. Off by default, and
may not be well supported in future versions.
-
-
diff --git a/EVENTS.txt b/EVENTS.txt
index 2f91a305f0..e3181faadb 100644
--- a/EVENTS.txt
+++ b/EVENTS.txt
@@ -42,11 +42,10 @@ EndShowUAStyles: End showing custom User-Agent links; good place to add user-age
StartShowScripts: Showing JavaScript links
- $action: the current action
-EndShowScripts: End showing JavaScript links; good place to add custom
- links like Google Analytics
+EndShowScripts: End showing JavaScript links; good place to add custom links
- $action: the current action
-StartShowJQueryScripts: Showing JQuery script links (use this to link to e.g. Google mirrors)
+StartShowJQueryScripts: Showing JQuery script links
- $action: the current action
EndShowJQueryScripts: End showing JQuery script links
@@ -1431,7 +1430,7 @@ StartNoticeListPrefill: Before pre-filling a list of notices with extra data
EndNoticeListPrefill: After pre-filling a list of notices with extra data
- &$notices: Notices that were pre-filled
-- &$profiles: Profiles that were pre-filled
+- &$profiles: Profiles that were pre-filled
- $avatarSize: The avatar size for the list
OtherAccountProfiles: Hook to add account profiles to a user account profile block
diff --git a/PLUGINS.txt b/PLUGINS.txt
index d2b7015bf5..44d2ea2d44 100644
--- a/PLUGINS.txt
+++ b/PLUGINS.txt
@@ -10,13 +10,13 @@ and has a choice of accepting or rejecting the events.
In the simplest case, you can add a function to config.php and use the
Event::addHandler() function to hook an event:
- function AddGoogleLink($action)
- {
- $action->menuItem('http://www.google.com/', _('Google'), _('Search engine'));
- return true;
- }
+function AddMyWebsiteLink($action)
+{
+$action->menuItem('http://mywebsite.net/', _('My web site'), _('Example web link'));
+return true;
+}
- Event::addHandler('EndPrimaryNav', 'AddGoogleLink');
+Event::addHandler('EndPrimaryNav', 'AddMyWebsiteLink');
This adds a menu item to the end of the main navigation menu. You can
see the list of existing events, and parameters that handlers must
diff --git a/README.md b/README.md
index 3127bb4795..7dfe8ae05c 100644
--- a/README.md
+++ b/README.md
@@ -32,8 +32,8 @@ polls, announce events, or other social activities
(and you can add more!). Users can choose which
people to "follow" and receive only their friends'
or colleagues' status messages. It provides a
-similar service to sites like Twitter, Google+ or
-Facebook, but is much more awesome.
+similar service to proprietary social network sites,
+but is much more awesome.
With a little work, status messages can be sent to
mobile phones, instant messenger programs (using
@@ -248,4 +248,3 @@ built the fediverse network to what it is today.
### License help from
* Bradley M. Kuhn
-
diff --git a/actions/apitimelinefriends.php b/actions/apitimelinefriends.php
index b14635ac33..13fb6022d7 100644
--- a/actions/apitimelinefriends.php
+++ b/actions/apitimelinefriends.php
@@ -92,7 +92,7 @@
<truncated>false</truncated>
<created_at>Wed Mar 31 01:33:02 +0000 2010</created_at>
<in_reply_to_status_id/>
- <source>&lt;a href="http://code.google.com/p/microblog-purple/"&gt;mbpidgin&lt;/a&gt;</source>
+ <source>&lt;a href="http://somesourcecode.net/microblog/"&gt;mbpidgin&lt;/a&gt;</source>
<id>26674201</id>
<in_reply_to_user_id/>
<in_reply_to_screen_name/>
@@ -275,7 +275,7 @@ class ApiTimelineFriendsAction extends ApiBareAuthAction
$notices = array();
$stream = new InboxNoticeStream($this->target, $this->scoped);
-
+
$notice = $stream->getNotices(($this->page-1) * $this->count,
$this->count,
$this->since_id,
diff --git a/db/notice_source.sql b/db/notice_source.sql
index dec8080a01..69bf928e55 100644
--- a/db/notice_source.sql
+++ b/db/notice_source.sql
@@ -27,12 +27,12 @@ VALUES
('IdentiCurse','IdentiCurse','http://identicurse.net/', now()),
('IdentiFox','IdentiFox','http://www.bitbucket.org/uncryptic/identifox/', now()),
('identitwitch','IdentiTwitch','http://richfish.org/identitwitch/', now()),
- ('Jiminy','Jiminy','http://code.google.com/p/jiminy/', now()),
+ ('Jiminy','Jiminy','', now()),
('LaTwit','LaTwit','http://latwit.mac65.com/', now()),
('LiveTweeter', 'LiveTweeter', 'http://addons.songbirdnest.com/addon/1204', now()),
('livetweeter', 'livetweeter', 'http://addons.songbirdnest.com/addon/1204', now()),
('maisha', 'Maisha', 'http://maisha.grango.org/', now()),
- ('mbpidgin','mbpidgin','http://code.google.com/p/microblog-purple/', now()),
+ ('mbpidgin','mbpidgin','', now()),
('Mobidentica', 'Mobidentica', 'http://www.substanceofcode.com/software/mobidentica/', now()),
('moconica','Moconica','http://moconica.com/', now()),
('mustard', 'mustard', 'http://mustard.macno.org', now()),
@@ -41,10 +41,10 @@ VALUES
('Pikchur','Pikchur','http://www.pikchur.com/', now()),
('Ping.fm','Ping.fm','http://ping.fm/', now()),
('pingvine','PingVine','http://pingvine.com/', now()),
- ('pocketwit','PockeTwit','http://code.google.com/p/pocketwit/', now()),
+ ('pocketwit','PockeTwit','', now()),
('posty','Posty','http://spreadingfunkyness.com/posty/', now()),
('qtwitter','qTwitter','http://qtwitter.ayoy.net/', now()),
- ('qwit', 'Qwit', 'http://code.google.com/p/qwit/', now()),
+ ('qwit', 'Qwit', '', now()),
('royalewithcheese','Royale With Cheese','http://p.hellyeah.org/', now()),
('rssdent','rssdent','http://github.com/zcopley/rssdent/tree/master', now()),
('rygh.no','rygh.no','http://rygh.no/', now()),
diff --git a/extlib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/FontFamily.php b/extlib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/FontFamily.php
index 74e24c8816..86101020dc 100644
--- a/extlib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/FontFamily.php
+++ b/extlib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/FontFamily.php
@@ -130,8 +130,6 @@ class HTMLPurifier_AttrDef_CSS_FontFamily extends HTMLPurifier_AttrDef
// <http://ja.wikipedia.org/wiki/MS_明朝>. See
// the CSS3 spec for more examples:
// <http://www.w3.org/TR/2011/WD-css3-fonts-20110324/localizedfamilynames.png>
- // You can see live samples of these on the Internet:
- // <http://www.google.co.jp/search?q=font-family+MS+明朝|ゴシック>
// However, most of these fonts have ASCII equivalents:
// for example, 'MS Mincho', and it's considered
// professional to use ASCII font names instead of
diff --git a/extlib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Munge.txt b/extlib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Munge.txt
index 58c81dcc44..179f94eb03 100644
--- a/extlib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Munge.txt
+++ b/extlib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Munge.txt
@@ -9,75 +9,75 @@ DEFAULT: NULL
absolute URIs into another URI, usually a URI redirection service.
This directive accepts a URI, formatted with a <code>%s</code> where
the url-encoded original URI should be inserted (sample:
- <code>http://www.google.com/url?q=%s</code>).
-</p>
-<p>
+ <code>https://searx.laquadrature.net/?q=%s</code>).
+ </p>
+ <p>
Uses for this directive:
-</p>
-<ul>
+ </p>
+ <ul>
<li>
- Prevent PageRank leaks, while being fairly transparent
- to users (you may also want to add some client side JavaScript to
- override the text in the statusbar). <strong>Notice</strong>:
- Many security experts believe that this form of protection does not deter spam-bots.
+ Prevent PageRank leaks, while being fairly transparent
+ to users (you may also want to add some client side JavaScript to
+ override the text in the statusbar). <strong>Notice</strong>:
+ Many security experts believe that this form of protection does not deter spam-bots.
</li>
<li>
- Redirect users to a splash page telling them they are leaving your
- website. While this is poor usability practice, it is often mandated
- in corporate environments.
+ Redirect users to a splash page telling them they are leaving your
+ website. While this is poor usability practice, it is often mandated
+ in corporate environments.
</li>
-</ul>
-<p>
+ </ul>
+ <p>
Prior to HTML Purifier 3.1.1, this directive also enabled the munging
of browsable external resources, which could break things if your redirection
script was a splash page or used <code>meta</code> tags. To revert to
previous behavior, please use %URI.MungeResources.
-</p>
-<p>
+ </p>
+ <p>
You may want to also use %URI.MungeSecretKey along with this directive
in order to enforce what URIs your redirector script allows. Open
redirector scripts can be a security risk and negatively affect the
reputation of your domain name.
-</p>
-<p>
+ </p>
+ <p>
Starting with HTML Purifier 3.1.1, there is also these substitutions:
-</p>
-<table>
+ </p>
+ <table>
<thead>
- <tr>
- <th>Key</th>
- <th>Description</th>
- <th>Example <code>&lt;a href=""&gt;</code></th>
- </tr>
+ <tr>
+ <th>Key</th>
+ <th>Description</th>
+ <th>Example <code>&lt;a href=""&gt;</code></th>
+ </tr>
</thead>
<tbody>
- <tr>
- <td>%r</td>
- <td>1 - The URI embeds a resource<br />(blank) - The URI is merely a link</td>
- <td></td>
- </tr>
- <tr>
- <td>%n</td>
- <td>The name of the tag this URI came from</td>
- <td>a</td>
- </tr>
- <tr>
- <td>%m</td>
- <td>The name of the attribute this URI came from</td>
- <td>href</td>
- </tr>
- <tr>
- <td>%p</td>
- <td>The name of the CSS property this URI came from, or blank if irrelevant</td>
- <td></td>
- </tr>
+ <tr>
+ <td>%r</td>
+ <td>1 - The URI embeds a resource<br />(blank) - The URI is merely a link</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>%n</td>
+ <td>The name of the tag this URI came from</td>
+ <td>a</td>
+ </tr>
+ <tr>
+ <td>%m</td>
+ <td>The name of the attribute this URI came from</td>
+ <td>href</td>
+ </tr>
+ <tr>
+ <td>%p</td>
+ <td>The name of the CSS property this URI came from, or blank if irrelevant</td>
+ <td></td>
+ </tr>
</tbody>
-</table>
-<p>
+ </table>
+ <p>
Admittedly, these letters are somewhat arbitrary; the only stipulation
was that they couldn't be a through f. r is for resource (I would have preferred
e, but you take what you can get), n is for name, m
was picked because it came after n (and I couldn't use a), p is for
property.
-</p>
---# vim: et sw=4 sts=4
+ </p>
+ --# vim: et sw=4 sts=4
diff --git a/extlib/HTMLPurifier/HTMLPurifier/Injector/Linkify.php b/extlib/HTMLPurifier/HTMLPurifier/Injector/Linkify.php
index 069708c250..8bc4f4b896 100644
--- a/extlib/HTMLPurifier/HTMLPurifier/Injector/Linkify.php
+++ b/extlib/HTMLPurifier/HTMLPurifier/Injector/Linkify.php
@@ -27,7 +27,7 @@ class HTMLPurifier_Injector_Linkify extends HTMLPurifier_Injector
if (strpos($token->data, '://') === false) {
// our really quick heuristic failed, abort
// this may not work so well if we want to match things like
- // "google.com", but then again, most people don't
+ // "domainname.com", but then again, most people don't
return;
}
diff --git a/extlib/OAuth.php b/extlib/OAuth.php
index 495121374e..2e9142ab65 100644
--- a/extlib/OAuth.php
+++ b/extlib/OAuth.php
@@ -108,9 +108,9 @@ abstract class OAuthSignatureMethod {
}
/**
- * The HMAC-SHA1 signature method uses the HMAC-SHA1 signature algorithm as defined in [RFC2104]
- * where the Signature Base String is the text and the key is the concatenated values (each first
- * encoded per Parameter Encoding) of the Consumer Secret and Token Secret, separated by an '&'
+ * The HMAC-SHA1 signature method uses the HMAC-SHA1 signature algorithm as defined in [RFC2104]
+ * where the Signature Base String is the text and the key is the concatenated values (each first
+ * encoded per Parameter Encoding) of the Consumer Secret and Token Secret, separated by an '&'
* character (ASCII code 38) even if empty.
* - Chapter 9.2 ("HMAC-SHA1")
*/
@@ -136,7 +136,7 @@ class OAuthSignatureMethod_HMAC_SHA1 extends OAuthSignatureMethod {
}
/**
- * The PLAINTEXT method does not provide any security protection and SHOULD only be used
+ * The PLAINTEXT method does not provide any security protection and SHOULD only be used
* over a secure channel such as HTTPS. It does not use the Signature Base String.
* - Chapter 9.4 ("PLAINTEXT")
*/
@@ -146,8 +146,8 @@ class OAuthSignatureMethod_PLAINTEXT extends OAuthSignatureMethod {
}
/**
- * oauth_signature is set to the concatenated encoded values of the Consumer Secret and
- * Token Secret, separated by a '&' character (ASCII code 38), even if either secret is
+ * oauth_signature is set to the concatenated encoded values of the Consumer Secret and
+ * Token Secret, separated by a '&' character (ASCII code 38), even if either secret is
* empty. The result MUST be encoded again.
* - Chapter 9.4.1 ("Generating Signatures")
*
@@ -169,10 +169,10 @@ class OAuthSignatureMethod_PLAINTEXT extends OAuthSignatureMethod {
}
/**
- * The RSA-SHA1 signature method uses the RSASSA-PKCS1-v1_5 signature algorithm as defined in
- * [RFC3447] section 8.2 (more simply known as PKCS#1), using SHA-1 as the hash function for
- * EMSA-PKCS1-v1_5. It is assumed that the Consumer has provided its RSA public key in a
- * verified way to the Service Provider, in a manner which is beyond the scope of this
+ * The RSA-SHA1 signature method uses the RSASSA-PKCS1-v1_5 signature algorithm as defined in
+ * [RFC3447] section 8.2 (more simply known as PKCS#1), using SHA-1 as the hash function for
+ * EMSA-PKCS1-v1_5. It is assumed that the Consumer has provided its RSA public key in a
+ * verified way to the Service Provider, in a manner which is beyond the scope of this
* specification.
* - Chapter 9.3 ("RSA-SHA1")
*/
@@ -573,7 +573,7 @@ class OAuthServer {
private function get_version(&$request) {
$version = $request->get_parameter("oauth_version");
if (!$version) {
- // Service Providers MUST assume the protocol version to be 1.0 if this parameter is not present.
+ // Service Providers MUST assume the protocol version to be 1.0 if this parameter is not present.
// Chapter 7.0 ("Accessing Protected Ressources")
$version = '1.0';
}
@@ -587,7 +587,7 @@ class OAuthServer {
* figure out the signature with some defaults
*/
private function get_signature_method($request) {
- $signature_method = $request instanceof OAuthRequest
+ $signature_method = $request instanceof OAuthRequest
? $request->get_parameter("oauth_signature_method")
: NULL;
@@ -612,7 +612,7 @@ class OAuthServer {
* try to find the consumer for the provided request's consumer key
*/
private function get_consumer($request) {
- $consumer_key = $request instanceof OAuthRequest
+ $consumer_key = $request instanceof OAuthRequest
? $request->get_parameter("oauth_consumer_key")
: NULL;
@@ -684,7 +684,7 @@ class OAuthServer {
throw new OAuthException(
'Missing timestamp parameter. The parameter is required'
);
-
+
// verify that timestamp is recentish
$now = time();
if (abs($now - $timestamp) > $this->timestamp_threshold) {
@@ -770,7 +770,6 @@ class OAuthUtil {
// parameters, has to do some unescaping
// Can filter out any non-oauth parameters if needed (default behaviour)
// May 28th, 2010 - method updated to tjerk.meesters for a speed improvement.
- // see http://code.google.com/p/oauth/issues/detail?id=163
public static function split_header($header, $only_allow_oauth_parameters = true) {
$params = array();
if (preg_match_all('/('.($only_allow_oauth_parameters ? 'oauth_' : '').'[a-z_-]*)=(:?"([^"]*)"|([^,]*))/', $header, $matches)) {
diff --git a/extlib/README b/extlib/README
index 83ca7cec6c..d4be0a1219 100644
--- a/extlib/README
+++ b/extlib/README
@@ -84,7 +84,7 @@ and the URLs are listed here for your convenience.
- PEAR Net_Socket, if you use the SMTP factory for notifications
http://pear.php.net/package/Net_Socket
- XMPPHP, the follow-up to Class.Jabber.php. Probably the best XMPP
- library available for PHP. http://xmpphp.googlecode.com/. Note that
+ library available for PHP. https://github.com/heshanlk/XMPPHP. Note that
as of this writing the version of this library that is available in
the extlib directory is *significantly different* from the upstream
version (patches have been submitted). Upgrading to the upstream
diff --git a/extlib/php-gettext/README b/extlib/php-gettext/README
index bca4f916d5..8f1ffddb6f 100644
--- a/extlib/php-gettext/README
+++ b/extlib/php-gettext/README
@@ -28,7 +28,7 @@ Why?
I got used to having gettext work even without gettext
library. It's there in my favourite language Python, so I was
- surprised that I couldn't find it in PHP. I even Googled for it,
+ surprised that I couldn't find it in PHP. I even searched for it,
but to no avail.
So, I said, what the heck, I'm going to write it for this
diff --git a/js/extlib/jquery-ui/jquery-ui.js b/js/extlib/jquery-ui/jquery-ui.js
index 583a1b24b9..1eeb5298b0 100644
--- a/js/extlib/jquery-ui/jquery-ui.js
+++ b/js/extlib/jquery-ui/jquery-ui.js
@@ -14626,7 +14626,6 @@ color.fn = jQuery.extend( color.prototype, {
color.fn.parse.prototype = color.fn;
// hsla conversions adapted from:
-// https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graphics/colors/HUE2RGB.as?r=5021
function hue2rgb( p, q, h ) {
h = ( h + 1 ) % 1;
diff --git a/js/extlib/jquery.js b/js/extlib/jquery.js
index eed17778c6..0724878f73 100644
--- a/js/extlib/jquery.js
+++ b/js/extlib/jquery.js
@@ -9083,7 +9083,6 @@ jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function(
// Support: Safari<7+, Chrome<37+
// Add the top/left cssHooks using jQuery.fn.position
// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
-// Blink bug: https://code.google.com/p/chromium/issues/detail?id=229280
// getComputedStyle returns percent when specified for top/left/bottom/right;
// rather than make the css module depend on the offset module, just check for it here
jQuery.each( [ "top", "left" ], function( i, prop ) {
diff --git a/js/geometa.js b/js/geometa.js
deleted file mode 100644
index bba59b4486..0000000000
--- a/js/geometa.js
+++ /dev/null
@@ -1,217 +0,0 @@
-// A shim to implement the W3C Geolocation API Specification using Gears or the Ajax API
-if (typeof navigator.geolocation == "undefined" || navigator.geolocation.shim ) { (function(){
-
-// -- BEGIN GEARS_INIT
-(function() {
- // We are already defined. Hooray!
- if (window.google && google.gears) {
- return;
- }
-
- var factory = null;
-
- // Firefox
- if (typeof GearsFactory != 'undefined') {
- factory = new GearsFactory();
- } else {
- // IE
- try {
- factory = new ActiveXObject('Gears.Factory');
- // privateSetGlobalObject is only required and supported on WinCE.
- if (factory.getBuildInfo().indexOf('ie_mobile') != -1) {
- factory.privateSetGlobalObject(this);
- }
- } catch (e) {
- // Safari
- if ((typeof navigator.mimeTypes != 'undefined') && navigator.mimeTypes["application/x-googlegears"]) {
- factory = document.createElement("object");
- factory.style.display = "none";
- factory.width = 0;
- factory.height = 0;
- factory.type = "application/x-googlegears";
- document.documentElement.appendChild(factory);
- }
- }
- }
-
- // *Do not* define any objects if Gears is not installed. This mimics the
- // behavior of Gears defining the objects in the future.
- if (!factory) {
- return;
- }
-
- // Now set up the objects, being careful not to overwrite anything.
- //
- // Note: In Internet Explorer for Windows Mobile, you can't add properties to
- // the window object. However, global objects are automatically added as
- // properties of the window object in all browsers.
- if (!window.google) {
- google = {};
- }
-
- if (!google.gears) {
- google.gears = {factory: factory};
- }
-})();
-// -- END GEARS_INIT
-
-var GearsGeoLocation = (function() {
- // -- PRIVATE
- var geo = google.gears.factory.create('beta.geolocation');
-
- var wrapSuccess = function(callback, self) { // wrap it for lastPosition love
- return function(position) {
- callback(position);
- self.lastPosition = position;
- };
- };
-
- // -- PUBLIC
- return {
- shim: true,
-
- type: "Gears",
-
- lastPosition: null,
-
- getCurrentPosition: function(successCallback, errorCallback, options) {
- var self = this;
- var sc = wrapSuccess(successCallback, self);
- geo.getCurrentPosition(sc, errorCallback, options);
- },
-
- watchPosition: function(successCallback, errorCallback, options) {
- geo.watchPosition(successCallback, errorCallback, options);
- },
-
- clearWatch: function(watchId) {
- geo.clearWatch(watchId);
- },
-
- getPermission: function(siteName, imageUrl, extraMessage) {
- geo.getPermission(siteName, imageUrl, extraMessage);
- }
-
- };
-});
-
-var AjaxGeoLocation = (function() {
- // -- PRIVATE
- var loading = false;
- var loadGoogleLoader = function() {
- if (!hasGoogleLoader() && !loading) {
- loading = true;
- var s = document.createElement('script');
- s.src = (document.location.protocol == "https:"?"https://":"http://") + 'www.google.com/jsapi?callback=_google_loader_apiLoaded';
- s.type = "text/javascript";
- document.getElementsByTagName('body')[0].appendChild(s);
- }
- };
-
- var queue = [];
- var addLocationQueue = function(callback) {
- queue.push(callback);
- };
-
- var runLocationQueue = function() {
- if (hasGoogleLoader()) {
- while (queue.length > 0) {
- var call = queue.pop();
- call();
- }
- }
- };
-
- window['_google_loader_apiLoaded'] = function() {
- runLocationQueue();
- };
-
- var hasGoogleLoader = function() {
- return (window['google'] && google['loader']);
- };
-
- var checkGoogleLoader = function(callback) {
- if (hasGoogleLoader()) { return true; }
-
- addLocationQueue(callback);
-
- loadGoogleLoader();
-
- return false;
- };
-
- loadGoogleLoader(); // start to load as soon as possible just in case
-
- // -- PUBLIC
- return {
- shim: true,
-
- type: "ClientLocation",
-
- lastPosition: null,
-
- getCurrentPosition: function(successCallback, errorCallback, options) {
- var self = this;
- if (!checkGoogleLoader(function() {
- self.getCurrentPosition(successCallback, errorCallback, options);
- })) { return; }
-
- if (google.loader.ClientLocation) {
- var cl = google.loader.ClientLocation;
-
- var position = {
- coords: {
- latitude: cl.latitude,
- longitude: cl.longitude,
- altitude: null,
- accuracy: 43000, // same as Gears accuracy over wifi?
- altitudeAccuracy: null,
- heading: null,
- speed: null
- },
- // extra info that is outside of the bounds of the core API
- address: {
- city: cl.address.city,
- country: cl.address.country,
- country_code: cl.address.country_code,
- region: cl.address.region
- },
- timestamp: new Date()
- };
-
- successCallback(position);
-
- this.lastPosition = position;
- } else if (errorCallback === "function") {
- errorCallback({ code: 3, message: "Using the Google ClientLocation API and it is not able to calculate a location."});
- }
- },
-
- watchPosition: function(successCallback, errorCallback, options) {
- this.getCurrentPosition(successCallback, errorCallback, options);
-
- var self = this;
- var watchId = setInterval(function() {
- self.getCurrentPosition(successCallback, errorCallback, options);
- }, 10000);
-
- return watchId;
- },
-
- clearWatch: function(watchId) {
- clearInterval(watchId);
- },
-
- getPermission: function(siteName, imageUrl, extraMessage) {
- // for now just say yes :)
- return true;
- }
-
- };
-});
-
-// If you have Gears installed use that, else use Ajax ClientLocation
-navigator.geolocation = (window.google && google.gears) ? GearsGeoLocation() : AjaxGeoLocation();
-
-})();
-}
diff --git a/lib/action.php b/lib/action.php
index 4e629c2bc3..284f160e67 100644
--- a/lib/action.php
+++ b/lib/action.php
@@ -394,8 +394,7 @@ class Action extends HTMLOutputter // lawsuit
{
$theme = new Theme($mainTheme);
- // Some themes may have external stylesheets, such as using the
- // Google Font APIs to load webfonts.
+ // Some themes may have external stylesheets
foreach ($theme->getExternals() as $url) {
$this->cssLink($url, $mainTheme, $media);
}
diff --git a/lib/searchaction.php b/lib/searchaction.php
index f8acf34f07..aea8860356 100644
--- a/lib/searchaction.php
+++ b/lib/searchaction.php
@@ -137,7 +137,7 @@ class SearchAction extends Action
* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)
* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)
-* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)
+* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)
* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)
"), $qe, $qe, $qe, $qe);
$message .= "\n";
diff --git a/locale/af/LC_MESSAGES/statusnet.po b/locale/af/LC_MESSAGES/statusnet.po
index d84bdd4fd1..9cff720c77 100644
--- a/locale/af/LC_MESSAGES/statusnet.po
+++ b/locale/af/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10496,7 +10496,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/ar/LC_MESSAGES/statusnet.po b/locale/ar/LC_MESSAGES/statusnet.po
index 1c67521ba8..f605c4f0c3 100644
--- a/locale/ar/LC_MESSAGES/statusnet.po
+++ b/locale/ar/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10620,7 +10620,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/arz/LC_MESSAGES/statusnet.po b/locale/arz/LC_MESSAGES/statusnet.po
index 57568a9105..e1f428d81e 100644
--- a/locale/arz/LC_MESSAGES/statusnet.po
+++ b/locale/arz/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10620,7 +10620,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/ast/LC_MESSAGES/statusnet.po b/locale/ast/LC_MESSAGES/statusnet.po
index 12c6f8cd52..5d9ee350ee 100644
--- a/locale/ast/LC_MESSAGES/statusnet.po
+++ b/locale/ast/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10496,7 +10496,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/be-tarask/LC_MESSAGES/statusnet.po b/locale/be-tarask/LC_MESSAGES/statusnet.po
index ef26a6b644..7197dd1ba3 100644
--- a/locale/be-tarask/LC_MESSAGES/statusnet.po
+++ b/locale/be-tarask/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10558,7 +10558,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/bg/LC_MESSAGES/statusnet.po b/locale/bg/LC_MESSAGES/statusnet.po
index d3cc337c3c..44bdd171ae 100644
--- a/locale/bg/LC_MESSAGES/statusnet.po
+++ b/locale/bg/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10496,7 +10496,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/bn_IN/LC_MESSAGES/statusnet.po b/locale/bn_IN/LC_MESSAGES/statusnet.po
index d1c9930e93..424bfa845c 100644
--- a/locale/bn_IN/LC_MESSAGES/statusnet.po
+++ b/locale/bn_IN/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10496,7 +10496,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/br/LC_MESSAGES/statusnet.po b/locale/br/LC_MESSAGES/statusnet.po
index 103f031466..1fcd9e18ad 100644
--- a/locale/br/LC_MESSAGES/statusnet.po
+++ b/locale/br/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10496,7 +10496,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/ca/LC_MESSAGES/statusnet.po b/locale/ca/LC_MESSAGES/statusnet.po
index 203d88702b..42ca707bec 100644
--- a/locale/ca/LC_MESSAGES/statusnet.po
+++ b/locale/ca/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10496,7 +10496,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/cs/LC_MESSAGES/statusnet.po b/locale/cs/LC_MESSAGES/statusnet.po
index 802ca819ef..fba1d58777 100644
--- a/locale/cs/LC_MESSAGES/statusnet.po
+++ b/locale/cs/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# digital dreamer, 2014
msgid ""
@@ -10528,7 +10528,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/da/LC_MESSAGES/statusnet.po b/locale/da/LC_MESSAGES/statusnet.po
index 22b97ee042..7461fd0358 100644
--- a/locale/da/LC_MESSAGES/statusnet.po
+++ b/locale/da/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10496,7 +10496,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/de/LC_MESSAGES/statusnet.po b/locale/de/LC_MESSAGES/statusnet.po
index 7bc0a2cd22..84e97e91f3 100644
--- a/locale/de/LC_MESSAGES/statusnet.po
+++ b/locale/de/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# D P, 2015
msgid ""
@@ -10497,7 +10497,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/el/LC_MESSAGES/statusnet.po b/locale/el/LC_MESSAGES/statusnet.po
index a16b96cf75..776da8cf9e 100644
--- a/locale/el/LC_MESSAGES/statusnet.po
+++ b/locale/el/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10496,7 +10496,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/en_GB/LC_MESSAGES/statusnet.po b/locale/en_GB/LC_MESSAGES/statusnet.po
index 6bf784e322..dff9d4adbe 100644
--- a/locale/en_GB/LC_MESSAGES/statusnet.po
+++ b/locale/en_GB/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# Luke Hollins <luke@farcry.ca>, 2015
msgid ""
@@ -10497,9 +10497,9 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
-msgstr "You can also try your search on other engines:\n\n* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
+msgstr "You can also try your search on other engines:\n\n* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
#. TRANS: Menu item in search group navigation panel.
#: lib/searchgroupnav.php:74
diff --git a/locale/eo/LC_MESSAGES/statusnet.po b/locale/eo/LC_MESSAGES/statusnet.po
index 7036fb13f6..ca1ef65206 100644
--- a/locale/eo/LC_MESSAGES/statusnet.po
+++ b/locale/eo/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# Manuel Ortega <manuel@elarte.coop>, 2015
msgid ""
@@ -10497,7 +10497,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/es/LC_MESSAGES/statusnet.po b/locale/es/LC_MESSAGES/statusnet.po
index 8e76a62ec0..dc9cbe2b8d 100644
--- a/locale/es/LC_MESSAGES/statusnet.po
+++ b/locale/es/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# Juan Riquelme González <soulchainer@gmail.com>, 2015
msgid ""
@@ -10497,9 +10497,9 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
-msgstr "Puedes intentar tu búsqueda con otros buscadores:\n\n* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
+msgstr "Puedes intentar tu búsqueda con otros buscadores:\n\n* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
#. TRANS: Menu item in search group navigation panel.
#: lib/searchgroupnav.php:74
diff --git a/locale/eu/LC_MESSAGES/statusnet.po b/locale/eu/LC_MESSAGES/statusnet.po
index 455dd29108..22afeda655 100644
--- a/locale/eu/LC_MESSAGES/statusnet.po
+++ b/locale/eu/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10496,7 +10496,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/fa/LC_MESSAGES/statusnet.po b/locale/fa/LC_MESSAGES/statusnet.po
index b989183251..3830fbbb65 100644
--- a/locale/fa/LC_MESSAGES/statusnet.po
+++ b/locale/fa/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10465,7 +10465,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/fi/LC_MESSAGES/statusnet.po b/locale/fi/LC_MESSAGES/statusnet.po
index 40497d014d..2986ba0b63 100644
--- a/locale/fi/LC_MESSAGES/statusnet.po
+++ b/locale/fi/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10496,7 +10496,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/fr/LC_MESSAGES/statusnet.po b/locale/fr/LC_MESSAGES/statusnet.po
index 493ddb96a1..06a354ef17 100644
--- a/locale/fr/LC_MESSAGES/statusnet.po
+++ b/locale/fr/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# b216 <buttershy@laposte.net>, 2015
# kris <cb16@actocom.com>, 2015
@@ -10499,7 +10499,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/fur/LC_MESSAGES/statusnet.po b/locale/fur/LC_MESSAGES/statusnet.po
index 7dd32f0e55..29254fd306 100644
--- a/locale/fur/LC_MESSAGES/statusnet.po
+++ b/locale/fur/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10496,7 +10496,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/gl/LC_MESSAGES/statusnet.po b/locale/gl/LC_MESSAGES/statusnet.po
index 3480ed67fd..ede1bd82fb 100644
--- a/locale/gl/LC_MESSAGES/statusnet.po
+++ b/locale/gl/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10496,7 +10496,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/he/LC_MESSAGES/statusnet.po b/locale/he/LC_MESSAGES/statusnet.po
index 693d932bf7..68ff372bf2 100644
--- a/locale/he/LC_MESSAGES/statusnet.po
+++ b/locale/he/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10496,7 +10496,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/hsb/LC_MESSAGES/statusnet.po b/locale/hsb/LC_MESSAGES/statusnet.po
index 4d5ef58438..1a829de8b8 100644
--- a/locale/hsb/LC_MESSAGES/statusnet.po
+++ b/locale/hsb/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10558,7 +10558,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/hu/LC_MESSAGES/statusnet.po b/locale/hu/LC_MESSAGES/statusnet.po
index 901accfa86..f40e93bcf6 100644
--- a/locale/hu/LC_MESSAGES/statusnet.po
+++ b/locale/hu/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10496,7 +10496,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/hy_AM/LC_MESSAGES/statusnet.po b/locale/hy_AM/LC_MESSAGES/statusnet.po
index 41cf803172..ff8d4f6898 100644
--- a/locale/hy_AM/LC_MESSAGES/statusnet.po
+++ b/locale/hy_AM/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10496,7 +10496,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/ia/LC_MESSAGES/statusnet.po b/locale/ia/LC_MESSAGES/statusnet.po
index 7f922468e8..6f7199a4d9 100644
--- a/locale/ia/LC_MESSAGES/statusnet.po
+++ b/locale/ia/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10496,7 +10496,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/id/LC_MESSAGES/statusnet.po b/locale/id/LC_MESSAGES/statusnet.po
index 4846251cec..7eb24e0bb1 100644
--- a/locale/id/LC_MESSAGES/statusnet.po
+++ b/locale/id/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# zk <zamani.karmana@gmail.com>, 2015
msgid ""
@@ -10466,7 +10466,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/io/LC_MESSAGES/statusnet.po b/locale/io/LC_MESSAGES/statusnet.po
index 97ab336027..75e996b575 100644
--- a/locale/io/LC_MESSAGES/statusnet.po
+++ b/locale/io/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# Ciencisto Dementa <maliktunga@users.noreply.github.com>, 2015
# William <fxinkeo@mail.com>, 2015
@@ -10498,7 +10498,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/is/LC_MESSAGES/statusnet.po b/locale/is/LC_MESSAGES/statusnet.po
index b1549f8b95..9b13f5be8b 100644
--- a/locale/is/LC_MESSAGES/statusnet.po
+++ b/locale/is/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10496,7 +10496,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/it/LC_MESSAGES/statusnet.po b/locale/it/LC_MESSAGES/statusnet.po
index 5623ebb2a4..e12a6c3bdb 100644
--- a/locale/it/LC_MESSAGES/statusnet.po
+++ b/locale/it/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# Tommaso Amici <tommaso.amici@gmail.com>, 2015
msgid ""
@@ -10497,9 +10497,9 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
-msgstr "Puoi provare a fare una ricerca su altri motori di ricerca:\n\n* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
+msgstr "Puoi provare a fare una ricerca su altri motori di ricerca:\n\n* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
#. TRANS: Menu item in search group navigation panel.
#: lib/searchgroupnav.php:74
diff --git a/locale/ja/LC_MESSAGES/statusnet.po b/locale/ja/LC_MESSAGES/statusnet.po
index 96bf7bffe4..4864ab23f5 100644
--- a/locale/ja/LC_MESSAGES/statusnet.po
+++ b/locale/ja/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10465,7 +10465,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/ka/LC_MESSAGES/statusnet.po b/locale/ka/LC_MESSAGES/statusnet.po
index 8300bd54b4..f2c70c9793 100644
--- a/locale/ka/LC_MESSAGES/statusnet.po
+++ b/locale/ka/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10465,7 +10465,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/ko/LC_MESSAGES/statusnet.po b/locale/ko/LC_MESSAGES/statusnet.po
index d1e6376325..9bb2d65588 100644
--- a/locale/ko/LC_MESSAGES/statusnet.po
+++ b/locale/ko/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10465,7 +10465,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/ksh/LC_MESSAGES/statusnet.po b/locale/ksh/LC_MESSAGES/statusnet.po
index a4a69e7ec1..7f199c2ce6 100644
--- a/locale/ksh/LC_MESSAGES/statusnet.po
+++ b/locale/ksh/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10527,7 +10527,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/lb/LC_MESSAGES/statusnet.po b/locale/lb/LC_MESSAGES/statusnet.po
index f8b92679a3..e526461b01 100644
--- a/locale/lb/LC_MESSAGES/statusnet.po
+++ b/locale/lb/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10496,7 +10496,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/lt/LC_MESSAGES/statusnet.po b/locale/lt/LC_MESSAGES/statusnet.po
index 06cf18f19c..3158cb3856 100644
--- a/locale/lt/LC_MESSAGES/statusnet.po
+++ b/locale/lt/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10527,7 +10527,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/lv/LC_MESSAGES/statusnet.po b/locale/lv/LC_MESSAGES/statusnet.po
index 06889e9c35..f4efb916e8 100644
--- a/locale/lv/LC_MESSAGES/statusnet.po
+++ b/locale/lv/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10527,7 +10527,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/mg/LC_MESSAGES/statusnet.po b/locale/mg/LC_MESSAGES/statusnet.po
index 429d3f15ef..a15f964eb7 100644
--- a/locale/mg/LC_MESSAGES/statusnet.po
+++ b/locale/mg/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10496,7 +10496,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/mk/LC_MESSAGES/statusnet.po b/locale/mk/LC_MESSAGES/statusnet.po
index 68bbfd7c46..e8a35bb143 100644
--- a/locale/mk/LC_MESSAGES/statusnet.po
+++ b/locale/mk/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10496,7 +10496,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/ml/LC_MESSAGES/statusnet.po b/locale/ml/LC_MESSAGES/statusnet.po
index 614142eba5..78157de94d 100644
--- a/locale/ml/LC_MESSAGES/statusnet.po
+++ b/locale/ml/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10496,7 +10496,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/ms/LC_MESSAGES/statusnet.po b/locale/ms/LC_MESSAGES/statusnet.po
index 2865f411a7..224d1ba935 100644
--- a/locale/ms/LC_MESSAGES/statusnet.po
+++ b/locale/ms/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10465,7 +10465,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/my/LC_MESSAGES/statusnet.po b/locale/my/LC_MESSAGES/statusnet.po
index 1adfdd0cd6..9176a6c80c 100644
--- a/locale/my/LC_MESSAGES/statusnet.po
+++ b/locale/my/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10465,7 +10465,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/nb/LC_MESSAGES/statusnet.po b/locale/nb/LC_MESSAGES/statusnet.po
index 47e143606a..2ee61a0d4f 100644
--- a/locale/nb/LC_MESSAGES/statusnet.po
+++ b/locale/nb/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# abjectio, 2015
msgid ""
@@ -10497,7 +10497,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/ne/LC_MESSAGES/statusnet.po b/locale/ne/LC_MESSAGES/statusnet.po
index 928a109ccd..0a0ee80770 100644
--- a/locale/ne/LC_MESSAGES/statusnet.po
+++ b/locale/ne/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10496,7 +10496,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/nl/LC_MESSAGES/statusnet.po b/locale/nl/LC_MESSAGES/statusnet.po
index 91902f8362..d0803f2b22 100644
--- a/locale/nl/LC_MESSAGES/statusnet.po
+++ b/locale/nl/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10496,7 +10496,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/nn/LC_MESSAGES/statusnet.po b/locale/nn/LC_MESSAGES/statusnet.po
index 62dfa16624..b763dfb8bc 100644
--- a/locale/nn/LC_MESSAGES/statusnet.po
+++ b/locale/nn/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10496,7 +10496,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/pl/LC_MESSAGES/statusnet.po b/locale/pl/LC_MESSAGES/statusnet.po
index ffa2a3a7e9..15b72fc9e1 100644
--- a/locale/pl/LC_MESSAGES/statusnet.po
+++ b/locale/pl/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# Mateusz Zimniak <lonetraveller@wp.pl>, 2015
msgid ""
@@ -10528,7 +10528,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/pt/LC_MESSAGES/statusnet.po b/locale/pt/LC_MESSAGES/statusnet.po
index 57f702dd2f..c4715065fc 100644
--- a/locale/pt/LC_MESSAGES/statusnet.po
+++ b/locale/pt/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10496,7 +10496,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/pt_BR/LC_MESSAGES/statusnet.po b/locale/pt_BR/LC_MESSAGES/statusnet.po
index 291550a43c..be3279237d 100644
--- a/locale/pt_BR/LC_MESSAGES/statusnet.po
+++ b/locale/pt_BR/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# Carlos Eduardo Soares Turll <caduturl@gmail.com>, 2015
# no and no <nicolasmaia@tutanota.com>, 2015
@@ -10499,9 +10499,9 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
-msgstr "Você pode também tentar pesquisar em outros mecanismos:\n\n* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
+msgstr "Você pode também tentar pesquisar em outros mecanismos:\n\n* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
#. TRANS: Menu item in search group navigation panel.
#: lib/searchgroupnav.php:74
diff --git a/locale/ro_RO/LC_MESSAGES/statusnet.po b/locale/ro_RO/LC_MESSAGES/statusnet.po
index a19106bb50..113d2bd18c 100644
--- a/locale/ro_RO/LC_MESSAGES/statusnet.po
+++ b/locale/ro_RO/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10527,7 +10527,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/ru/LC_MESSAGES/statusnet.po b/locale/ru/LC_MESSAGES/statusnet.po
index 1bd8595bfa..1d31cf3d8e 100644
--- a/locale/ru/LC_MESSAGES/statusnet.po
+++ b/locale/ru/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# Boris Konstantinovich Lissov <lissovbk@yandex.ru>, 2015
msgid ""
@@ -10559,9 +10559,9 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
-msgstr "Вы также можете попытаться поискать при помощи других поисковиков:\n\n* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
+msgstr "Вы также можете попытаться поискать при помощи других поисковиков:\n\n* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
#. TRANS: Menu item in search group navigation panel.
#: lib/searchgroupnav.php:74
diff --git a/locale/sl/LC_MESSAGES/statusnet.po b/locale/sl/LC_MESSAGES/statusnet.po
index c0691e6130..5f3c97920b 100644
--- a/locale/sl/LC_MESSAGES/statusnet.po
+++ b/locale/sl/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10558,7 +10558,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/sr-ec/LC_MESSAGES/statusnet.po b/locale/sr-ec/LC_MESSAGES/statusnet.po
index 8e01d55c3e..b292c99bc7 100644
--- a/locale/sr-ec/LC_MESSAGES/statusnet.po
+++ b/locale/sr-ec/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10527,7 +10527,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/statusnet.pot b/locale/statusnet.pot
index d670abee6a..f0fa31c473 100644
--- a/locale/statusnet.pot
+++ b/locale/statusnet.pot
@@ -9792,7 +9792,7 @@ msgid ""
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+"
"%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+"
"%s)\n"
msgstr ""
diff --git a/locale/sv/LC_MESSAGES/statusnet.po b/locale/sv/LC_MESSAGES/statusnet.po
index 7a56ef84e0..f8547350a2 100644
--- a/locale/sv/LC_MESSAGES/statusnet.po
+++ b/locale/sv/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# Kristoffer Grundström <kristoffer.grundstrom1983@gmail.com>, 2015
msgid ""
@@ -10497,7 +10497,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/ta/LC_MESSAGES/statusnet.po b/locale/ta/LC_MESSAGES/statusnet.po
index c88dc41379..cc79b8aafe 100644
--- a/locale/ta/LC_MESSAGES/statusnet.po
+++ b/locale/ta/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10496,7 +10496,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/te/LC_MESSAGES/statusnet.po b/locale/te/LC_MESSAGES/statusnet.po
index 9894ecc8e7..7080968ddd 100644
--- a/locale/te/LC_MESSAGES/statusnet.po
+++ b/locale/te/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10496,7 +10496,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/tl/LC_MESSAGES/statusnet.po b/locale/tl/LC_MESSAGES/statusnet.po
index 32883b61ad..d62ca70361 100644
--- a/locale/tl/LC_MESSAGES/statusnet.po
+++ b/locale/tl/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10496,7 +10496,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/tr/LC_MESSAGES/statusnet.po b/locale/tr/LC_MESSAGES/statusnet.po
index 3e79d202f2..efd26cef4b 100644
--- a/locale/tr/LC_MESSAGES/statusnet.po
+++ b/locale/tr/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# Furkan Kalkan <furkan.kalkan3@gmail.com>, 2015
# Uğur KUYU <ukuyu34@gmail.com>, 2015
@@ -10498,7 +10498,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/uk/LC_MESSAGES/statusnet.po b/locale/uk/LC_MESSAGES/statusnet.po
index 53aae6acb6..6db5ff15ed 100644
--- a/locale/uk/LC_MESSAGES/statusnet.po
+++ b/locale/uk/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10527,7 +10527,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/ur_PK/LC_MESSAGES/statusnet.po b/locale/ur_PK/LC_MESSAGES/statusnet.po
index 7c26799dd1..4023ffac26 100644
--- a/locale/ur_PK/LC_MESSAGES/statusnet.po
+++ b/locale/ur_PK/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# Aqeel Zafar <aqeel@aqeeliz.com>, 2015
msgid ""
@@ -10497,7 +10497,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/vi/LC_MESSAGES/statusnet.po b/locale/vi/LC_MESSAGES/statusnet.po
index 9caed645f9..692fb213b0 100644
--- a/locale/vi/LC_MESSAGES/statusnet.po
+++ b/locale/vi/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10465,7 +10465,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/zh/LC_MESSAGES/statusnet.po b/locale/zh/LC_MESSAGES/statusnet.po
index 0b95617c3a..e024fcf993 100644
--- a/locale/zh/LC_MESSAGES/statusnet.po
+++ b/locale/zh/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10465,7 +10465,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/zh_CN/LC_MESSAGES/statusnet.po b/locale/zh_CN/LC_MESSAGES/statusnet.po
index 9bfeed8178..8e702c1e0a 100644
--- a/locale/zh_CN/LC_MESSAGES/statusnet.po
+++ b/locale/zh_CN/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10465,7 +10465,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/locale/zh_TW/LC_MESSAGES/statusnet.po b/locale/zh_TW/LC_MESSAGES/statusnet.po
index e004dbe956..8cbf02124f 100644
--- a/locale/zh_TW/LC_MESSAGES/statusnet.po
+++ b/locale/zh_TW/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# Hong Xu <hong@topbug.net>, 2015
# Po-Chun Huang <aphroteus@gmail.com>, 2015
@@ -10467,7 +10467,7 @@ msgid ""
"\n"
"* [DuckDuckGo](https://duckduckgo.com/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Ixquick](https://ixquick.com/do/search?query=site%%3A%%%%site.server%%%%+%s)\n"
-"* [Google](https://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)\n"
+"* [Searx](https://searx.laquadrature.net/?q=site%%3A%%%%site.server%%%%+%s)\n"
"* [Yahoo!](https://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)\n"
msgstr ""
diff --git a/plugins/BitlyUrl/BitlyUrlPlugin.php b/plugins/BitlyUrl/BitlyUrlPlugin.php
index 13a1bf2ec4..ebaa2dbd2d 100644
--- a/plugins/BitlyUrl/BitlyUrlPlugin.php
+++ b/plugins/BitlyUrl/BitlyUrlPlugin.php
@@ -111,7 +111,6 @@ class BitlyUrlPlugin extends UrlShortenerPlugin
*/
protected function query($url)
{
- // http://code.google.com/p/bitly-api/wiki/ApiDocumentation#/shorten
$params = http_build_query(array(
'login' => $this->getLogin(),
'apiKey' => $this->getApiKey()), '', '&');
diff --git a/plugins/ExtendedProfile/lib/extendedprofilewidget.php b/plugins/ExtendedProfile/lib/extendedprofilewidget.php
index f04dccd0ae..bf9703f513 100644
--- a/plugins/ExtendedProfile/lib/extendedprofilewidget.php
+++ b/plugins/ExtendedProfile/lib/extendedprofilewidget.php
@@ -306,7 +306,6 @@ class ExtendedProfileWidget extends Form
'facebook' => 'Facebook',
'linkedin' => 'LinkedIn',
'flickr' => 'Flickr',
- 'google' => 'Google Profile',
'other' => 'Other',
'twitter' => 'Twitter'
),
diff --git a/plugins/ForceGroup/locale/eu/LC_MESSAGES/ForceGroup.po b/plugins/ForceGroup/locale/eu/LC_MESSAGES/ForceGroup.po
index fcf6e4a4e6..ed59600aa9 100644
--- a/plugins/ForceGroup/locale/eu/LC_MESSAGES/ForceGroup.po
+++ b/plugins/ForceGroup/locale/eu/LC_MESSAGES/ForceGroup.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -29,4 +29,4 @@ msgstr "%1$s erabiltzailea ezin izan da %2$s taldera gehitu."
msgid ""
"Allows forced group memberships and forces all notices to appear in groups "
"that users were forced in."
-msgstr "<a href=\"http://www.google.com/analytics/\">Google Analytics</a> erabiltzen du web gunera atzipenak jarraitu ahal izateko."
+msgstr ""
diff --git a/plugins/LRDD/lib/discovery.php b/plugins/LRDD/lib/discovery.php
index b32ae13ec5..9825ea3cb7 100644
--- a/plugins/LRDD/lib/discovery.php
+++ b/plugins/LRDD/lib/discovery.php
@@ -37,7 +37,6 @@ if (!defined('GNUSOCIAL')) { exit(1); }
class Discovery
{
const LRDD_REL = 'lrdd';
- const UPDATESFROM = 'http://schemas.google.com/g/2010#updates-from';
const HCARD = 'http://microformats.org/profile/hcard';
const MF2_HCARD = 'http://microformats.org/profile/h-card'; // microformats2 h-card
@@ -117,7 +116,7 @@ class Discovery
$headers[] = "Accept: {$link->type}";
}
- $response = $client->get($xrd_uri, $headers);
+ $response = $client->get($xrd_uri, $headers);
if ($response->getStatus() != 200) {
throw new Exception('Unexpected HTTP status code.');
}
@@ -199,5 +198,3 @@ class Discovery
return $template;
}
}
-
-
diff --git a/plugins/Mapstraction/MapstractionPlugin.php b/plugins/Mapstraction/MapstractionPlugin.php
index fcc9d88e56..612dcd80cf 100644
--- a/plugins/Mapstraction/MapstractionPlugin.php
+++ b/plugins/Mapstraction/MapstractionPlugin.php
@@ -49,9 +49,9 @@ class MapstractionPlugin extends Plugin
const VERSION = GNUSOCIAL_VERSION;
/** provider name, one of:
- 'cloudmade', 'google', 'microsoft', 'openlayers', 'yahoo' */
+ 'cloudmade', 'microsoft', 'openlayers', 'yahoo' */
public $provider = 'openlayers';
- /** provider API key (or 'appid'), if required ('google' and 'yahoo' only) */
+ /** provider API key (or 'appid'), if required ('yahoo' only) */
public $apikey = null;
/**
@@ -97,10 +97,6 @@ class MapstractionPlugin extends Plugin
case 'cloudmade':
$action->script('http://tile.cloudmade.com/wml/0.2/web-maps-lite.js');
break;
- case 'google':
- $action->script(sprintf('http://maps.google.com/maps?file=api&v=2&sensor=false&key=%s',
- urlencode($this->apikey)));
- break;
case 'microsoft':
$action->script((GNUsocial::isHTTPS()?'https':'http') + '://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6');
break;
diff --git a/plugins/Mapstraction/OpenLayers/OpenLayers.js b/plugins/Mapstraction/OpenLayers/OpenLayers.js
index ea42b1db4e..2df823b414 100644
--- a/plugins/Mapstraction/OpenLayers/OpenLayers.js
+++ b/plugins/Mapstraction/OpenLayers/OpenLayers.js
@@ -1 +1 @@
-var OpenLayers={singleFile:true};(function(){var j=(typeof OpenLayers=="object"&&OpenLayers.singleFile);var a;window.OpenLayers={_scriptName:(!j)?"lib/OpenLayers.js":"OpenLayers.js",_getScriptLocation:function(){if(a!=undefined){return a}a="";var r=new RegExp("(^|(.*?\\/))("+OpenLayers._scriptName+")(\\?|$)");var n=document.getElementsByTagName("script");for(var p=0,h=n.length;p<h;p++){var q=n[p].getAttribute("src");if(q){var o=q.match(r);if(o){a=o[1];break}}}return a}};if(!j){var k=new Array("OpenLayers/Util.js","OpenLayers/BaseTypes.js","OpenLayers/BaseTypes/Class.js","OpenLayers/BaseTypes/Bounds.js","OpenLayers/BaseTypes/Element.js","OpenLayers/BaseTypes/LonLat.js","OpenLayers/BaseTypes/Pixel.js","OpenLayers/BaseTypes/Size.js","OpenLayers/Console.js","OpenLayers/Tween.js","Rico/Corner.js","Rico/Color.js","OpenLayers/Ajax.js","OpenLayers/Events.js","OpenLayers/Request.js","OpenLayers/Request/XMLHttpRequest.js","OpenLayers/Projection.js","OpenLayers/Map.js","OpenLayers/Layer.js","OpenLayers/Icon.js","OpenLayers/Marker.js","OpenLayers/Marker/Box.js","OpenLayers/Popup.js","OpenLayers/Tile.js","OpenLayers/Tile/Image.js","OpenLayers/Tile/Image/IFrame.js","OpenLayers/Tile/WFS.js","OpenLayers/Layer/Image.js","OpenLayers/Layer/SphericalMercator.js","OpenLayers/Layer/EventPane.js","OpenLayers/Layer/FixedZoomLevels.js","OpenLayers/Layer/Google.js","OpenLayers/Layer/Google/v3.js","OpenLayers/Layer/VirtualEarth.js","OpenLayers/Layer/Yahoo.js","OpenLayers/Layer/HTTPRequest.js","OpenLayers/Layer/Grid.js","OpenLayers/Layer/MapGuide.js","OpenLayers/Layer/MapServer.js","OpenLayers/Layer/MapServer/Untiled.js","OpenLayers/Layer/KaMap.js","OpenLayers/Layer/KaMapCache.js","OpenLayers/Layer/MultiMap.js","OpenLayers/Layer/Markers.js","OpenLayers/Layer/Text.js","OpenLayers/Layer/WorldWind.js","OpenLayers/Layer/ArcGIS93Rest.js","OpenLayers/Layer/WMS.js","OpenLayers/Layer/WMS/Untiled.js","OpenLayers/Layer/WMS/Post.js","OpenLayers/Layer/WMTS.js","OpenLayers/Layer/ArcIMS.js","OpenLayers/Layer/GeoRSS.js","OpenLayers/Layer/Boxes.js","OpenLayers/Layer/XYZ.js","OpenLayers/Layer/TMS.js","OpenLayers/Layer/TileCache.js","OpenLayers/Layer/Zoomify.js","OpenLayers/Popup/Anchored.js","OpenLayers/Popup/AnchoredBubble.js","OpenLayers/Popup/Framed.js","OpenLayers/Popup/FramedCloud.js","OpenLayers/Feature.js","OpenLayers/Feature/Vector.js","OpenLayers/Feature/WFS.js","OpenLayers/Handler.js","OpenLayers/Handler/Click.js","OpenLayers/Handler/Hover.js","OpenLayers/Handler/Point.js","OpenLayers/Handler/Path.js","OpenLayers/Handler/Polygon.js","OpenLayers/Handler/Feature.js","OpenLayers/Handler/Drag.js","OpenLayers/Handler/RegularPolygon.js","OpenLayers/Handler/Box.js","OpenLayers/Handler/MouseWheel.js","OpenLayers/Handler/Keyboard.js","OpenLayers/Control.js","OpenLayers/Control/Attribution.js","OpenLayers/Control/Button.js","OpenLayers/Control/ZoomBox.js","OpenLayers/Control/ZoomToMaxExtent.js","OpenLayers/Control/DragPan.js","OpenLayers/Control/Navigation.js","OpenLayers/Control/MouseDefaults.js","OpenLayers/Control/MousePosition.js","OpenLayers/Control/OverviewMap.js","OpenLayers/Control/KeyboardDefaults.js","OpenLayers/Control/PanZoom.js","OpenLayers/Control/PanZoomBar.js","OpenLayers/Control/ArgParser.js","OpenLayers/Control/Permalink.js","OpenLayers/Control/Scale.js","OpenLayers/Control/ScaleLine.js","OpenLayers/Control/Snapping.js","OpenLayers/Control/Split.js","OpenLayers/Control/LayerSwitcher.js","OpenLayers/Control/DrawFeature.js","OpenLayers/Control/DragFeature.js","OpenLayers/Control/ModifyFeature.js","OpenLayers/Control/Panel.js","OpenLayers/Control/SelectFeature.js","OpenLayers/Control/NavigationHistory.js","OpenLayers/Control/Measure.js","OpenLayers/Control/WMSGetFeatureInfo.js","OpenLayers/Control/WMTSGetFeatureInfo.js","OpenLayers/Control/Graticule.js","OpenLayers/Control/TransformFeature.js","OpenLayers/Control/SLDSelect.js","OpenLayers/Geometry.js","OpenLayers/Geometry/Rectangle.js","OpenLayers/Geometry/Collection.js","OpenLayers/Geometry/Point.js","OpenLayers/Geometry/MultiPoint.js","OpenLayers/Geometry/Curve.js","OpenLayers/Geometry/LineString.js","OpenLayers/Geometry/LinearRing.js","OpenLayers/Geometry/Polygon.js","OpenLayers/Geometry/MultiLineString.js","OpenLayers/Geometry/MultiPolygon.js","OpenLayers/Geometry/Surface.js","OpenLayers/Renderer.js","OpenLayers/Renderer/Elements.js","OpenLayers/Renderer/SVG.js","OpenLayers/Renderer/Canvas.js","OpenLayers/Renderer/VML.js","OpenLayers/Layer/Vector.js","OpenLayers/Layer/Vector/RootContainer.js","OpenLayers/Strategy.js","OpenLayers/Strategy/Filter.js","OpenLayers/Strategy/Fixed.js","OpenLayers/Strategy/Cluster.js","OpenLayers/Strategy/Paging.js","OpenLayers/Strategy/BBOX.js","OpenLayers/Strategy/Save.js","OpenLayers/Strategy/Refresh.js","OpenLayers/Filter.js","OpenLayers/Filter/FeatureId.js","OpenLayers/Filter/Logical.js","OpenLayers/Filter/Comparison.js","OpenLayers/Filter/Spatial.js","OpenLayers/Protocol.js","OpenLayers/Protocol/HTTP.js","OpenLayers/Protocol/SQL.js","OpenLayers/Protocol/SQL/Gears.js","OpenLayers/Protocol/WFS.js","OpenLayers/Protocol/WFS/v1.js","OpenLayers/Protocol/WFS/v1_0_0.js","OpenLayers/Protocol/WFS/v1_1_0.js","OpenLayers/Protocol/SOS.js","OpenLayers/Protocol/SOS/v1_0_0.js","OpenLayers/Layer/PointTrack.js","OpenLayers/Layer/GML.js","OpenLayers/Style.js","OpenLayers/Style2.js","OpenLayers/StyleMap.js","OpenLayers/Rule.js","OpenLayers/Format.js","OpenLayers/Format/XML.js","OpenLayers/Format/Context.js","OpenLayers/Format/ArcXML.js","OpenLayers/Format/ArcXML/Features.js","OpenLayers/Format/GML.js","OpenLayers/Format/GML/Base.js","OpenLayers/Format/GML/v2.js","OpenLayers/Format/GML/v3.js","OpenLayers/Format/Atom.js","OpenLayers/Format/KML.js","OpenLayers/Format/GeoRSS.js","OpenLayers/Format/WFS.js","OpenLayers/Format/WFSCapabilities.js","OpenLayers/Format/WFSCapabilities/v1.js","OpenLayers/Format/WFSCapabilities/v1_0_0.js","OpenLayers/Format/WFSCapabilities/v1_1_0.js","OpenLayers/Format/WFSDescribeFeatureType.js","OpenLayers/Format/WMSDescribeLayer.js","OpenLayers/Format/WMSDescribeLayer/v1_1.js","OpenLayers/Format/WKT.js","OpenLayers/Format/OSM.js","OpenLayers/Format/GPX.js","OpenLayers/Format/Filter.js","OpenLayers/Format/Filter/v1.js","OpenLayers/Format/Filter/v1_0_0.js","OpenLayers/Format/Filter/v1_1_0.js","OpenLayers/Format/SLD.js","OpenLayers/Format/SLD/v1.js","OpenLayers/Format/SLD/v1_0_0.js","OpenLayers/Format/OWSCommon/v1.js","OpenLayers/Format/OWSCommon/v1_0_0.js","OpenLayers/Format/OWSCommon/v1_1_0.js","OpenLayers/Format/CSWGetDomain.js","OpenLayers/Format/CSWGetDomain/v2_0_2.js","OpenLayers/Format/CSWGetRecords.js","OpenLayers/Format/CSWGetRecords/v2_0_2.js","OpenLayers/Format/WFST.js","OpenLayers/Format/WFST/v1.js","OpenLayers/Format/WFST/v1_0_0.js","OpenLayers/Format/WFST/v1_1_0.js","OpenLayers/Format/Text.js","OpenLayers/Format/JSON.js","OpenLayers/Format/GeoJSON.js","OpenLayers/Format/WMC.js","OpenLayers/Format/WMC/v1.js","OpenLayers/Format/WMC/v1_0_0.js","OpenLayers/Format/WMC/v1_1_0.js","OpenLayers/Format/WMSCapabilities.js","OpenLayers/Format/WMSCapabilities/v1.js","OpenLayers/Format/WMSCapabilities/v1_1.js","OpenLayers/Format/WMSCapabilities/v1_1_0.js","OpenLayers/Format/WMSCapabilities/v1_1_1.js","OpenLayers/Format/WMSCapabilities/v1_3.js","OpenLayers/Format/WMSCapabilities/v1_3_0.js","OpenLayers/Format/WMSGetFeatureInfo.js","OpenLayers/Format/SOSCapabilities.js","OpenLayers/Format/SOSCapabilities/v1_0_0.js","OpenLayers/Format/SOSGetObservation.js","OpenLayers/Format/SOSGetFeatureOfInterest.js","OpenLayers/Format/OWSContext.js","OpenLayers/Format/OWSContext/v0_3_1.js","OpenLayers/Format/WMTSCapabilities.js","OpenLayers/Format/WMTSCapabilities/v1_0_0.js","OpenLayers/Layer/WFS.js","OpenLayers/Control/GetFeature.js","OpenLayers/Control/MouseToolbar.js","OpenLayers/Control/NavToolbar.js","OpenLayers/Control/PanPanel.js","OpenLayers/Control/Pan.js","OpenLayers/Control/ZoomIn.js","OpenLayers/Control/ZoomOut.js","OpenLayers/Control/ZoomPanel.js","OpenLayers/Control/EditingToolbar.js","OpenLayers/Symbolizer.js","OpenLayers/Symbolizer/Point.js","OpenLayers/Symbolizer/Line.js","OpenLayers/Symbolizer/Polygon.js","OpenLayers/Symbolizer/Text.js","OpenLayers/Symbolizer/Raster.js","OpenLayers/Lang.js","OpenLayers/Lang/en.js");var c=navigator.userAgent;var e=(c.match("MSIE")||c.match("Safari"));if(e){var b=new Array(k.length)}var l=OpenLayers._getScriptLocation()+"lib/";for(var d=0,g=k.length;d<g;d++){if(e){b[d]="<script src='"+l+k[d]+"'><\/script>"}else{var m=document.createElement("script");m.src=l+k[d];var f=document.getElementsByTagName("head").length?document.getElementsByTagName("head")[0]:document.body;f.appendChild(m)}}if(e){document.write(b.join(""))}}})();OpenLayers.VERSION_NUMBER="OpenLayers 2.10 -- $Revision: 10721 $";OpenLayers.String={startsWith:function(b,a){return(b.indexOf(a)==0)},contains:function(b,a){return(b.indexOf(a)!=-1)},trim:function(a){return a.replace(/^\s\s*/,"").replace(/\s\s*$/,"")},camelize:function(f){var d=f.split("-");var b=d[0];for(var c=1,a=d.length;c<a;c++){var e=d[c];b+=e.charAt(0).toUpperCase()+e.substring(1)}return b},format:function(d,c,a){if(!c){c=window}var b=function(j,e){var h;var g=e.split(/\.+/);for(var f=0;f<g.length;f++){if(f==0){h=c}h=h[g[f]]}if(typeof h=="function"){h=a?h.apply(null,a):h()}if(typeof h=="undefined"){return"undefined"}else{return h}};return d.replace(OpenLayers.String.tokenRegEx,b)},tokenRegEx:/\$\{([\w.]+?)\}/g,numberRegEx:/^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/,isNumeric:function(a){return OpenLayers.String.numberRegEx.test(a)},numericIf:function(a){return OpenLayers.String.isNumeric(a)?parseFloat(a):a}};if(!String.prototype.startsWith){String.prototype.startsWith=function(a){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.String.startsWith"}));return OpenLayers.String.startsWith(this,a)}}if(!String.prototype.contains){String.prototype.contains=function(a){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.String.contains"}));return OpenLayers.String.contains(this,a)}}if(!String.prototype.trim){String.prototype.trim=function(){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.String.trim"}));return OpenLayers.String.trim(this)}}if(!String.prototype.camelize){String.prototype.camelize=function(){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.String.camelize"}));return OpenLayers.String.camelize(this)}}OpenLayers.Number={decimalSeparator:".",thousandsSeparator:",",limitSigDigs:function(a,c){var b=0;if(c>0){b=parseFloat(a.toPrecision(c))}return b},format:function(c,a,g,i){a=(typeof a!="undefined")?a:0;g=(typeof g!="undefined")?g:OpenLayers.Number.thousandsSeparator;i=(typeof i!="undefined")?i:OpenLayers.Number.decimalSeparator;if(a!=null){c=parseFloat(c.toFixed(a))}var b=c.toString().split(".");if(b.length==1&&a==null){a=0}var d=b[0];if(g){var e=/(-?[0-9]+)([0-9]{3})/;while(e.test(d)){d=d.replace(e,"$1"+g+"$2")}}var f;if(a==0){f=d}else{var h=b.length>1?b[1]:"0";if(a!=null){h=h+new Array(a-h.length+1).join("0")}f=d+i+h}return f}};if(!Number.prototype.limitSigDigs){Number.prototype.limitSigDigs=function(a){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.Number.limitSigDigs"}));return OpenLayers.Number.limitSigDigs(this,a)}}OpenLayers.Function={bind:function(c,b){var a=Array.prototype.slice.apply(arguments,[2]);return function(){var d=a.concat(Array.prototype.slice.apply(arguments,[0]));return c.apply(b,d)}},bindAsEventListener:function(b,a){return function(c){return b.call(a,c||window.event)}},False:function(){return false},True:function(){return true}};if(!Function.prototype.bind){Function.prototype.bind=function(){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.Function.bind"}));Array.prototype.unshift.apply(arguments,[this]);return OpenLayers.Function.bind.apply(null,arguments)}}if(!Function.prototype.bindAsEventListener){Function.prototype.bindAsEventListener=function(a){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.Function.bindAsEventListener"}));return OpenLayers.Function.bindAsEventListener(this,a)}}OpenLayers.Array={filter:function(g,f,b){var d=[];if(Array.prototype.filter){d=g.filter(f,b)}else{var a=g.length;if(typeof f!="function"){throw new TypeError()}for(var c=0;c<a;c++){if(c in g){var e=g[c];if(f.call(b,e,c,g)){d.push(e)}}}}return d}};OpenLayers.Date={toISOString:(function(){if("toISOString" in Date.prototype){return function(b){return b.toISOString()}}else{function a(c,b){var d=c+"";while(d.length<b){d="0"+d}return d}return function(b){var c;if(isNaN(b.getTime())){c="Invalid Date"}else{c=b.getUTCFullYear()+"-"+a(b.getUTCMonth()+1,2)+"-"+a(b.getUTCDate(),2)+"T"+a(b.getUTCHours(),2)+":"+a(b.getUTCMinutes(),2)+":"+a(b.getUTCSeconds(),2)+"."+a(b.getUTCMilliseconds(),3)+"Z"}return c}}})(),parse:function(j){var b;var p=Date.parse(j);if(!isNaN(p)){b=new Date(p)}else{var h=j.match(/^(?:(\d{4})(?:-(\d{2})(?:-(\d{2}))?)?)?(?:T(\d{1,2}):(\d{2}):(\d{2}(?:\.\d+)?)(Z|(?:[+-]\d{1,2}(?::(\d{2}))?)))?$/);var b;if(h&&(h[1]||h[7])){var k=parseInt(h[1],10)||0;var i=(parseInt(h[2],10)-1)||0;var m=parseInt(h[3],10)||1;b=new Date(Date.UTC(k,i,m));var l=h[7];if(l){var n=parseInt(h[4],10);var d=parseInt(h[5],10);var a=parseFloat(h[6]);var o=a|0;var c=Math.round(1000*(a-o));b.setUTCHours(n,d,o,c);if(l!=="Z"){var g=parseInt(l,10);var f=parseInt(h[8])||0;var e=-1000*(60*(g*60)+f*60);b=new Date(b.getTime()+e)}}}else{b=new Date("invalid")}}return b}};OpenLayers.Class=function(){var e=function(){if(arguments&&arguments[0]!=OpenLayers.Class.isPrototype){this.initialize.apply(this,arguments)}};var c={};var g,b,d;for(var f=0,a=arguments.length;f<a;++f){d=arguments[f];if(typeof d=="function"){if(f==0&&a>1){b=d.prototype.initialize;d.prototype.initialize=function(){};c=new d();if(b===undefined){delete d.prototype.initialize}else{d.prototype.initialize=b}}g=d.prototype}else{g=d}OpenLayers.Util.extend(c,g)}e.prototype=c;return e};OpenLayers.Class.isPrototype=function(){};OpenLayers.Class.create=function(){return function(){if(arguments&&arguments[0]!=OpenLayers.Class.isPrototype){this.initialize.apply(this,arguments)}}};OpenLayers.Class.inherit=function(){var d=arguments[0];var e=new d(OpenLayers.Class.isPrototype);for(var c=1,a=arguments.length;c<a;c++){if(typeof arguments[c]=="function"){var b=arguments[c];arguments[c]=new b(OpenLayers.Class.isPrototype)}OpenLayers.Util.extend(e,arguments[c])}return e};OpenLayers.Util={};OpenLayers.Util.getElement=function(){var d=[];for(var c=0,a=arguments.length;c<a;c++){var b=arguments[c];if(typeof b=="string"){b=document.getElementById(b)}if(arguments.length==1){return b}d.push(b)}return d};OpenLayers.Util.isElement=function(a){return !!(a&&a.nodeType===1)};if(typeof window.$==="undefined"){window.$=OpenLayers.Util.getElement}OpenLayers.Util.extend=function(a,e){a=a||{};if(e){for(var d in e){var c=e[d];if(c!==undefined){a[d]=c}}var b=typeof window.Event=="function"&&e instanceof window.Event;if(!b&&e.hasOwnProperty&&e.hasOwnProperty("toString")){a.toString=e.toString}}return a};OpenLayers.Util.removeItem=function(c,b){for(var a=c.length-1;a>=0;a--){if(c[a]==b){c.splice(a,1)}}return c};OpenLayers.Util.clearArray=function(a){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"array = []"}));a.length=0};OpenLayers.Util.indexOf=function(d,c){if(typeof d.indexOf=="function"){return d.indexOf(c)}else{for(var b=0,a=d.length;b<a;b++){if(d[b]==c){return b}}return -1}};OpenLayers.Util.modifyDOMElement=function(e,h,d,f,a,c,g,b){if(h){e.id=h}if(d){e.style.left=d.x+"px";e.style.top=d.y+"px"}if(f){e.style.width=f.w+"px";e.style.height=f.h+"px"}if(a){e.style.position=a}if(c){e.style.border=c}if(g){e.style.overflow=g}if(parseFloat(b)>=0&&parseFloat(b)<1){e.style.filter="alpha(opacity="+(b*100)+")";e.style.opacity=b}else{if(parseFloat(b)==1){e.style.filter="";e.style.opacity=""}}};OpenLayers.Util.createDiv=function(a,i,h,f,e,c,b,g){var d=document.createElement("div");if(f){d.style.backgroundImage="url("+f+")"}if(!a){a=OpenLayers.Util.createUniqueID("OpenLayersDiv")}if(!e){e="absolute"}OpenLayers.Util.modifyDOMElement(d,a,i,h,e,c,b,g);return d};OpenLayers.Util.createImage=function(a,h,g,e,d,c,f,i){var b=document.createElement("img");if(!a){a=OpenLayers.Util.createUniqueID("OpenLayersDiv")}if(!d){d="relative"}OpenLayers.Util.modifyDOMElement(b,a,h,g,d,c,null,f);if(i){b.style.display="none";OpenLayers.Event.observe(b,"load",OpenLayers.Function.bind(OpenLayers.Util.onImageLoad,b));OpenLayers.Event.observe(b,"error",OpenLayers.Function.bind(OpenLayers.Util.onImageLoadError,b))}b.style.alt=a;b.galleryImg="no";if(e){b.src=e}return b};OpenLayers.Util.setOpacity=function(b,a){OpenLayers.Util.modifyDOMElement(b,null,null,null,null,null,null,a)};OpenLayers.Util.onImageLoad=function(){if(!this.viewRequestID||(this.map&&this.viewRequestID==this.map.viewRequestID)){this.style.display=""}OpenLayers.Element.removeClass(this,"olImageLoadError")};OpenLayers.IMAGE_RELOAD_ATTEMPTS=0;OpenLayers.Util.onImageLoadError=function(){this._attempts=(this._attempts)?(this._attempts+1):1;if(this._attempts<=OpenLayers.IMAGE_RELOAD_ATTEMPTS){var d=this.urls;if(d&&d instanceof Array&&d.length>1){var e=this.src.toString();var c,a;for(a=0;c=d[a];a++){if(e.indexOf(c)!=-1){break}}var f=Math.floor(d.length*Math.random());var b=d[f];a=0;while(b==c&&a++<4){f=Math.floor(d.length*Math.random());b=d[f]}this.src=e.replace(c,b)}else{this.src=this.src}}else{OpenLayers.Element.addClass(this,"olImageLoadError")}this.style.display=""};OpenLayers.Util.alphaHackNeeded=null;OpenLayers.Util.alphaHack=function(){if(OpenLayers.Util.alphaHackNeeded==null){var d=navigator.appVersion.split("MSIE");var a=parseFloat(d[1]);var b=false;try{b=!!(document.body.filters)}catch(c){}OpenLayers.Util.alphaHackNeeded=(b&&(a>=5.5)&&(a<7))}return OpenLayers.Util.alphaHackNeeded};OpenLayers.Util.modifyAlphaImageDiv=function(a,b,j,i,g,f,c,d,h){OpenLayers.Util.modifyDOMElement(a,b,j,i,f,null,null,h);var e=a.childNodes[0];if(g){e.src=g}OpenLayers.Util.modifyDOMElement(e,a.id+"_innerImage",null,i,"relative",c);if(OpenLayers.Util.alphaHack()){if(a.style.display!="none"){a.style.display="inline-block"}if(d==null){d="scale"}a.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+e.src+"', sizingMethod='"+d+"')";if(parseFloat(a.style.opacity)>=0&&parseFloat(a.style.opacity)<1){a.style.filter+=" alpha(opacity="+a.style.opacity*100+")"}e.style.filter="alpha(opacity=0)"}};OpenLayers.Util.createAlphaImageDiv=function(b,j,i,g,f,c,d,h,k){var a=OpenLayers.Util.createDiv();var e=OpenLayers.Util.createImage(null,null,null,null,null,null,null,false);a.appendChild(e);if(k){e.style.display="none";OpenLayers.Event.observe(e,"load",OpenLayers.Function.bind(OpenLayers.Util.onImageLoad,a));OpenLayers.Event.observe(e,"error",OpenLayers.Function.bind(OpenLayers.Util.onImageLoadError,a))}OpenLayers.Util.modifyAlphaImageDiv(a,b,j,i,g,f,c,d,h);return a};OpenLayers.Util.upperCaseObject=function(b){var a={};for(var c in b){a[c.toUpperCase()]=b[c]}return a};OpenLayers.Util.applyDefaults=function(d,c){d=d||{};var b=typeof window.Event=="function"&&c instanceof window.Event;for(var a in c){if(d[a]===undefined||(!b&&c.hasOwnProperty&&c.hasOwnProperty(a)&&!d.hasOwnProperty(a))){d[a]=c[a]}}if(!b&&c&&c.hasOwnProperty&&c.hasOwnProperty("toString")&&!d.hasOwnProperty("toString")){d.toString=c.toString}return d};OpenLayers.Util.getParameterString=function(c){var b=[];for(var h in c){var g=c[h];if((g!=null)&&(typeof g!="function")){var d;if(typeof g=="object"&&g.constructor==Array){var e=[];var i;for(var a=0,f=g.length;a<f;a++){i=g[a];e.push(encodeURIComponent((i===null||i===undefined)?"":i))}d=e.join(",")}else{d=encodeURIComponent(g)}b.push(encodeURIComponent(h)+"="+d)}}return b.join("&")};OpenLayers.Util.urlAppend=function(a,b){var d=a;if(b){var c=(a+" ").split(/[?&]/);d+=(c.pop()===" "?b:c.length?"&"+b:"?"+b)}return d};OpenLayers.ImgPath="";OpenLayers.Util.getImagesLocation=function(){return OpenLayers.ImgPath||(OpenLayers._getScriptLocation()+"img/")};OpenLayers.Util.Try=function(){var d=null;for(var c=0,a=arguments.length;c<a;c++){var b=arguments[c];try{d=b();break}catch(f){}}return d};OpenLayers.Util.getNodes=function(c,b){var a=OpenLayers.Util.Try(function(){return OpenLayers.Util._getNodes(c.documentElement.childNodes,b)},function(){return OpenLayers.Util._getNodes(c.childNodes,b)});return a};OpenLayers.Util._getNodes=function(c,e){var b=[];for(var d=0,a=c.length;d<a;d++){if(c[d].nodeName==e){b.push(c[d])}}return b};OpenLayers.Util.getTagText=function(c,d,b){var a=OpenLayers.Util.getNodes(c,d);if(a&&(a.length>0)){if(!b){b=0}if(a[b].childNodes.length>1){return a.childNodes[1].nodeValue}else{if(a[b].childNodes.length==1){return a[b].firstChild.nodeValue}}}else{return""}};OpenLayers.Util.getXmlNodeValue=function(a){var b=null;OpenLayers.Util.Try(function(){b=a.text;if(!b){b=a.textContent}if(!b){b=a.firstChild.nodeValue}},function(){b=a.textContent});return b};OpenLayers.Util.mouseLeft=function(a,c){var b=(a.relatedTarget)?a.relatedTarget:a.toElement;while(b!=c&&b!=null){b=b.parentNode}return(b!=c)};OpenLayers.Util.DEFAULT_PRECISION=14;OpenLayers.Util.toFloat=function(b,a){if(a==null){a=OpenLayers.Util.DEFAULT_PRECISION}var b;if(a==0){b=parseFloat(b)}else{b=parseFloat(parseFloat(b).toPrecision(a))}return b};OpenLayers.Util.rad=function(a){return a*Math.PI/180};OpenLayers.Util.deg=function(a){return a*180/Math.PI};OpenLayers.Util.VincentyConstants={a:6378137,b:6356752.3142,f:1/298.257223563};OpenLayers.Util.distVincenty=function(g,e){var k=OpenLayers.Util.VincentyConstants;var M=k.a,K=k.b,G=k.f;var n=OpenLayers.Util.rad(e.lon-g.lon);var J=Math.atan((1-G)*Math.tan(OpenLayers.Util.rad(g.lat)));var I=Math.atan((1-G)*Math.tan(OpenLayers.Util.rad(e.lat)));var m=Math.sin(J),i=Math.cos(J);var l=Math.sin(I),h=Math.cos(I);var r=n,o=2*Math.PI;var q=20;while(Math.abs(r-o)>1e-12&&--q>0){var z=Math.sin(r),c=Math.cos(r);var N=Math.sqrt((h*z)*(h*z)+(i*l-m*h*c)*(i*l-m*h*c));if(N==0){return 0}var E=m*l+i*h*c;var y=Math.atan2(N,E);var j=Math.asin(i*h*z/N);var F=Math.cos(j)*Math.cos(j);var p=E-2*m*l/F;var v=G/16*F*(4+G*(4-3*F));o=r;r=n+(1-v)*G*Math.sin(j)*(y+v*N*(p+v*E*(-1+2*p*p)))}if(q==0){return NaN}var u=F*(M*M-K*K)/(K*K);var x=1+u/16384*(4096+u*(-768+u*(320-175*u)));var w=u/1024*(256+u*(-128+u*(74-47*u)));var D=w*N*(p+w/4*(E*(-1+2*p*p)-w/6*p*(-3+4*N*N)*(-3+4*p*p)));var t=K*x*(y-D);var H=t.toFixed(3)/1000;return H};OpenLayers.Util.destinationVincenty=function(l,P,E){var o=OpenLayers.Util;var i=o.VincentyConstants;var Q=i.a,O=i.b,J=i.f;var N=l.lon;var g=l.lat;var q=E;var D=o.rad(P);var G=Math.sin(D);var h=Math.cos(D);var F=(1-J)*Math.tan(o.rad(g));var c=1/Math.sqrt((1+F*F)),j=F*c;var p=Math.atan2(F,h);var y=c*G;var I=1-y*y;var t=I*(Q*Q-O*O)/(O*O);var x=1+t/16384*(4096+t*(-768+t*(320-175*t)));var v=t/1024*(256+t*(-128+t*(74-47*t)));var w=q/(O*x),K=2*Math.PI;while(Math.abs(w-K)>1e-12){var m=Math.cos(2*p+w);var R=Math.sin(w);var H=Math.cos(w);var z=v*R*(m+v/4*(H*(-1+2*m*m)-v/6*m*(-3+4*R*R)*(-3+4*m*m)));K=w;w=q/(O*x)+z}var M=j*R-c*H*h;var d=Math.atan2(j*H+c*R*h,(1-J)*Math.sqrt(y*y+M*M));var n=Math.atan2(R*G,c*H-j*R*h);var r=J/16*I*(4+J*(4-3*I));var k=n-(1-r)*J*y*(w+r*R*(m+r*H*(-1+2*m*m)));var e=Math.atan2(y,-M);return new OpenLayers.LonLat(N+o.deg(k),o.deg(d))};OpenLayers.Util.getParameters=function(b){b=b||window.location.href;var a="";if(OpenLayers.String.contains(b,"?")){var c=b.indexOf("?")+1;var e=OpenLayers.String.contains(b,"#")?b.indexOf("#"):b.length;a=b.substring(c,e)}var l={};var d=a.split(/[&;]/);for(var g=0,h=d.length;g<h;++g){var f=d[g].split("=");if(f[0]){var k=decodeURIComponent(f[0]);var j=f[1]||"";j=decodeURIComponent(j.replace(/\+/g," ")).split(",");if(j.length==1){j=j[0]}l[k]=j}}return l};OpenLayers.Util.getArgs=function(a){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.Util.getParameters"}));return OpenLayers.Util.getParameters(a)};OpenLayers.Util.lastSeqID=0;OpenLayers.Util.createUniqueID=function(a){if(a==null){a="id_"}OpenLayers.Util.lastSeqID+=1;return a+OpenLayers.Util.lastSeqID};OpenLayers.INCHES_PER_UNIT={inches:1,ft:12,mi:63360,m:39.3701,km:39370.1,dd:4374754,yd:36};OpenLayers.INCHES_PER_UNIT["in"]=OpenLayers.INCHES_PER_UNIT.inches;OpenLayers.INCHES_PER_UNIT.degrees=OpenLayers.INCHES_PER_UNIT.dd;OpenLayers.INCHES_PER_UNIT.nmi=1852*OpenLayers.INCHES_PER_UNIT.m;OpenLayers.METERS_PER_INCH=0.0254000508001016;OpenLayers.Util.extend(OpenLayers.INCHES_PER_UNIT,{Inch:OpenLayers.INCHES_PER_UNIT.inches,Meter:1/OpenLayers.METERS_PER_INCH,Foot:0.3048006096012192/OpenLayers.METERS_PER_INCH,IFoot:0.3048/OpenLayers.METERS_PER_INCH,ClarkeFoot:0.3047972651151/OpenLayers.METERS_PER_INCH,SearsFoot:0.30479947153867626/OpenLayers.METERS_PER_INCH,GoldCoastFoot:0.3047997101815088/OpenLayers.METERS_PER_INCH,IInch:0.0254/OpenLayers.METERS_PER_INCH,MicroInch:0.0000254/OpenLayers.METERS_PER_INCH,Mil:2.54e-8/OpenLayers.METERS_PER_INCH,Centimeter:0.01/OpenLayers.METERS_PER_INCH,Kilometer:1000/OpenLayers.METERS_PER_INCH,Yard:0.9144018288036576/OpenLayers.METERS_PER_INCH,SearsYard:0.914398414616029/OpenLayers.METERS_PER_INCH,IndianYard:0.9143985307444408/OpenLayers.METERS_PER_INCH,IndianYd37:0.91439523/OpenLayers.METERS_PER_INCH,IndianYd62:0.9143988/OpenLayers.METERS_PER_INCH,IndianYd75:0.9143985/OpenLayers.METERS_PER_INCH,IndianFoot:0.30479951/OpenLayers.METERS_PER_INCH,IndianFt37:0.30479841/OpenLayers.METERS_PER_INCH,IndianFt62:0.3047996/OpenLayers.METERS_PER_INCH,IndianFt75:0.3047995/OpenLayers.METERS_PER_INCH,Mile:1609.3472186944373/OpenLayers.METERS_PER_INCH,IYard:0.9144/OpenLayers.METERS_PER_INCH,IMile:1609.344/OpenLayers.METERS_PER_INCH,NautM:1852/OpenLayers.METERS_PER_INCH,"Lat-66":110943.31648893273/OpenLayers.METERS_PER_INCH,"Lat-83":110946.25736872235/OpenLayers.METERS_PER_INCH,Decimeter:0.1/OpenLayers.METERS_PER_INCH,Millimeter:0.001/OpenLayers.METERS_PER_INCH,Dekameter:10/OpenLayers.METERS_PER_INCH,Decameter:10/OpenLayers.METERS_PER_INCH,Hectometer:100/OpenLayers.METERS_PER_INCH,GermanMeter:1.0000135965/OpenLayers.METERS_PER_INCH,CaGrid:0.999738/OpenLayers.METERS_PER_INCH,ClarkeChain:20.1166194976/OpenLayers.METERS_PER_INCH,GunterChain:20.11684023368047/OpenLayers.METERS_PER_INCH,BenoitChain:20.116782494375872/OpenLayers.METERS_PER_INCH,SearsChain:20.11676512155/OpenLayers.METERS_PER_INCH,ClarkeLink:0.201166194976/OpenLayers.METERS_PER_INCH,GunterLink:0.2011684023368047/OpenLayers.METERS_PER_INCH,BenoitLink:0.20116782494375873/OpenLayers.METERS_PER_INCH,SearsLink:0.2011676512155/OpenLayers.METERS_PER_INCH,Rod:5.02921005842012/OpenLayers.METERS_PER_INCH,IntnlChain:20.1168/OpenLayers.METERS_PER_INCH,IntnlLink:0.201168/OpenLayers.METERS_PER_INCH,Perch:5.02921005842012/OpenLayers.METERS_PER_INCH,Pole:5.02921005842012/OpenLayers.METERS_PER_INCH,Furlong:201.1684023368046/OpenLayers.METERS_PER_INCH,Rood:3.778266898/OpenLayers.METERS_PER_INCH,CapeFoot:0.3047972615/OpenLayers.METERS_PER_INCH,Brealey:375/OpenLayers.METERS_PER_INCH,ModAmFt:0.304812252984506/OpenLayers.METERS_PER_INCH,Fathom:1.8288/OpenLayers.METERS_PER_INCH,"NautM-UK":1853.184/OpenLayers.METERS_PER_INCH,"50kilometers":50000/OpenLayers.METERS_PER_INCH,"150kilometers":150000/OpenLayers.METERS_PER_INCH});OpenLayers.Util.extend(OpenLayers.INCHES_PER_UNIT,{mm:OpenLayers.INCHES_PER_UNIT.Meter/1000,cm:OpenLayers.INCHES_PER_UNIT.Meter/100,dm:OpenLayers.INCHES_PER_UNIT.Meter*100,km:OpenLayers.INCHES_PER_UNIT.Meter*1000,kmi:OpenLayers.INCHES_PER_UNIT.nmi,fath:OpenLayers.INCHES_PER_UNIT.Fathom,ch:OpenLayers.INCHES_PER_UNIT.IntnlChain,link:OpenLayers.INCHES_PER_UNIT.IntnlLink,"us-in":OpenLayers.INCHES_PER_UNIT.inches,"us-ft":OpenLayers.INCHES_PER_UNIT.Foot,"us-yd":OpenLayers.INCHES_PER_UNIT.Yard,"us-ch":OpenLayers.INCHES_PER_UNIT.GunterChain,"us-mi":OpenLayers.INCHES_PER_UNIT.Mile,"ind-yd":OpenLayers.INCHES_PER_UNIT.IndianYd37,"ind-ft":OpenLayers.INCHES_PER_UNIT.IndianFt37,"ind-ch":20.11669506/OpenLayers.METERS_PER_INCH});OpenLayers.DOTS_PER_INCH=72;OpenLayers.Util.normalizeScale=function(b){var a=(b>1)?(1/b):b;return a};OpenLayers.Util.getResolutionFromScale=function(d,a){var b;if(d){if(a==null){a="degrees"}var c=OpenLayers.Util.normalizeScale(d);b=1/(c*OpenLayers.INCHES_PER_UNIT[a]*OpenLayers.DOTS_PER_INCH)}return b};OpenLayers.Util.getScaleFromResolution=function(b,a){if(a==null){a="degrees"}var c=b*OpenLayers.INCHES_PER_UNIT[a]*OpenLayers.DOTS_PER_INCH;return c};OpenLayers.Util.safeStopPropagation=function(a){OpenLayers.Event.stop(a,true)};OpenLayers.Util.pagePosition=function(f){var a=0,d=0;var b=f;var g=f;while(b){if(b==document.body){if(OpenLayers.Element.getStyle(g,"position")=="absolute"){break}}a+=b.offsetTop||0;d+=b.offsetLeft||0;g=b;try{b=b.offsetParent}catch(c){OpenLayers.Console.error(OpenLayers.i18n("pagePositionFailed",{elemId:b.id}));break}}b=f;while(b){a-=b.scrollTop||0;d-=b.scrollLeft||0;b=b.parentNode}return[d,a]};OpenLayers.Util.isEquivalentUrl=function(f,e,c){c=c||{};OpenLayers.Util.applyDefaults(c,{ignoreCase:true,ignorePort80:true,ignoreHash:true});var b=OpenLayers.Util.createUrlObject(f,c);var a=OpenLayers.Util.createUrlObject(e,c);for(var d in b){if(d!=="args"){if(b[d]!=a[d]){return false}}}for(var d in b.args){if(b.args[d]!=a.args[d]){return false}delete a.args[d]}for(var d in a.args){return false}return true};OpenLayers.Util.createUrlObject=function(c,k){k=k||{};if(!(/^\w+:\/\//).test(c)){var g=window.location;var e=g.port?":"+g.port:"";var h=g.protocol+"//"+g.host.split(":").shift()+e;if(c.indexOf("/")===0){c=h+c}else{var f=g.pathname.split("/");f.pop();c=h+f.join("/")+"/"+c}}if(k.ignoreCase){c=c.toLowerCase()}var i=document.createElement("a");i.href=c;var d={};d.host=i.host.split(":").shift();d.protocol=i.protocol;if(k.ignorePort80){d.port=(i.port=="80"||i.port=="0")?"":i.port}else{d.port=(i.port==""||i.port=="0")?"80":i.port}d.hash=(k.ignoreHash||i.hash==="#")?"":i.hash;var b=i.search;if(!b){var j=c.indexOf("?");b=(j!=-1)?c.substr(j):""}d.args=OpenLayers.Util.getParameters(b);d.pathname=(i.pathname.charAt(0)=="/")?i.pathname:"/"+i.pathname;return d};OpenLayers.Util.removeTail=function(b){var c=null;var a=b.indexOf("?");var d=b.indexOf("#");if(a==-1){c=(d!=-1)?b.substr(0,d):b}else{c=(d!=-1)?b.substr(0,Math.min(a,d)):b.substr(0,a)}return c};OpenLayers.Util.getBrowserName=function(){var b="";var a=navigator.userAgent.toLowerCase();if(a.indexOf("opera")!=-1){b="opera"}else{if(a.indexOf("msie")!=-1){b="msie"}else{if(a.indexOf("safari")!=-1){b="safari"}else{if(a.indexOf("mozilla")!=-1){if(a.indexOf("firefox")!=-1){b="firefox"}else{b="mozilla"}}}}}return b};OpenLayers.Util.getRenderedDimensions=function(b,o,p){var k,e;var a=document.createElement("div");a.style.visibility="hidden";var n=(p&&p.containerElement)?p.containerElement:document.body;if(o){if(o.w){k=o.w;a.style.width=k+"px"}else{if(o.h){e=o.h;a.style.height=e+"px"}}}if(p&&p.displayClass){a.className=p.displayClass}var f=document.createElement("div");f.innerHTML=b;f.style.overflow="visible";if(f.childNodes){for(var d=0,c=f.childNodes.length;d<c;d++){if(!f.childNodes[d].style){continue}f.childNodes[d].style.overflow="visible"}}a.appendChild(f);n.appendChild(a);var m=false;var j=a.parentNode;while(j&&j.tagName.toLowerCase()!="body"){var g=OpenLayers.Element.getStyle(j,"position");if(g=="absolute"){m=true;break}else{if(g&&g!="static"){break}}j=j.parentNode}if(!m){a.style.position="absolute"}if(!k){k=parseInt(f.scrollWidth);a.style.width=k+"px"}if(!e){e=parseInt(f.scrollHeight)}a.removeChild(f);n.removeChild(a);return new OpenLayers.Size(k,e)};OpenLayers.Util.getScrollbarWidth=function(){var c=OpenLayers.Util._scrollbarWidth;if(c==null){var e=null;var d=null;var a=0;var b=0;e=document.createElement("div");e.style.position="absolute";e.style.top="-1000px";e.style.left="-1000px";e.style.width="100px";e.style.height="50px";e.style.overflow="hidden";d=document.createElement("div");d.style.width="100%";d.style.height="200px";e.appendChild(d);document.body.appendChild(e);a=d.offsetWidth;e.style.overflow="scroll";b=d.offsetWidth;document.body.removeChild(document.body.lastChild);OpenLayers.Util._scrollbarWidth=(a-b);c=OpenLayers.Util._scrollbarWidth}return c};OpenLayers.Util.getFormattedLonLat=function(h,b,e){if(!e){e="dms"}var d=Math.abs(h);var i=Math.floor(d);var a=(d-i)/(1/60);var c=a;a=Math.floor(a);var g=(c-a)/(1/60);g=Math.round(g*10);g/=10;if(i<10){i="0"+i}var f=i+"\u00B0";if(e.indexOf("dm")>=0){if(a<10){a="0"+a}f+=a+"'";if(e.indexOf("dms")>=0){if(g<10){g="0"+g}f+=g+'"'}}if(b=="lon"){f+=h<0?OpenLayers.i18n("W"):OpenLayers.i18n("E")}else{f+=h<0?OpenLayers.i18n("S"):OpenLayers.i18n("N")}return f};OpenLayers.Element={visible:function(a){return OpenLayers.Util.getElement(a).style.display!="none"},toggle:function(){for(var c=0,a=arguments.length;c<a;c++){var b=OpenLayers.Util.getElement(arguments[c]);var d=OpenLayers.Element.visible(b)?"hide":"show";OpenLayers.Element[d](b)}},hide:function(){for(var c=0,a=arguments.length;c<a;c++){var b=OpenLayers.Util.getElement(arguments[c]);if(b){b.style.display="none"}}},show:function(){for(var c=0,a=arguments.length;c<a;c++){var b=OpenLayers.Util.getElement(arguments[c]);if(b){b.style.display=""}}},remove:function(a){a=OpenLayers.Util.getElement(a);a.parentNode.removeChild(a)},getHeight:function(a){a=OpenLayers.Util.getElement(a);return a.offsetHeight},getDimensions:function(c){c=OpenLayers.Util.getElement(c);if(OpenLayers.Element.getStyle(c,"display")!="none"){return{width:c.offsetWidth,height:c.offsetHeight}}var b=c.style;var f=b.visibility;var d=b.position;var a=b.display;b.visibility="hidden";b.position="absolute";b.display="";var g=c.clientWidth;var e=c.clientHeight;b.display=a;b.position=d;b.visibility=f;return{width:g,height:e}},hasClass:function(b,a){var c=b.className;return(!!c&&new RegExp("(^|\\s)"+a+"(\\s|$)").test(c))},addClass:function(b,a){if(!OpenLayers.Element.hasClass(b,a)){b.className+=(b.className?" ":"")+a}return b},removeClass:function(b,a){var c=b.className;if(c){b.className=OpenLayers.String.trim(c.replace(new RegExp("(^|\\s+)"+a+"(\\s+|$)")," "))}return b},toggleClass:function(b,a){if(OpenLayers.Element.hasClass(b,a)){OpenLayers.Element.removeClass(b,a)}else{OpenLayers.Element.addClass(b,a)}return b},getStyle:function(c,d){c=OpenLayers.Util.getElement(c);var e=null;if(c&&c.style){e=c.style[OpenLayers.String.camelize(d)];if(!e){if(document.defaultView&&document.defaultView.getComputedStyle){var b=document.defaultView.getComputedStyle(c,null);e=b?b.getPropertyValue(d):null}else{if(c.currentStyle){e=c.currentStyle[OpenLayers.String.camelize(d)]}}}var a=["left","top","right","bottom"];if(window.opera&&(OpenLayers.Util.indexOf(a,d)!=-1)&&(OpenLayers.Element.getStyle(c,"position")=="static")){e="auto"}}return e=="auto"?null:e}};OpenLayers.Size=OpenLayers.Class({w:0,h:0,initialize:function(a,b){this.w=parseFloat(a);this.h=parseFloat(b)},toString:function(){return("w="+this.w+",h="+this.h)},clone:function(){return new OpenLayers.Size(this.w,this.h)},equals:function(b){var a=false;if(b!=null){a=((this.w==b.w&&this.h==b.h)||(isNaN(this.w)&&isNaN(this.h)&&isNaN(b.w)&&isNaN(b.h)))}return a},CLASS_NAME:"OpenLayers.Size"});OpenLayers.Console={log:function(){},debug:function(){},info:function(){},warn:function(){},error:function(){},userError:function(a){alert(a)},assert:function(){},dir:function(){},dirxml:function(){},trace:function(){},group:function(){},groupEnd:function(){},time:function(){},timeEnd:function(){},profile:function(){},profileEnd:function(){},count:function(){},CLASS_NAME:"OpenLayers.Console"};(function(){var b=document.getElementsByTagName("script");for(var c=0,a=b.length;c<a;++c){if(b[c].src.indexOf("firebug.js")!=-1){if(console){OpenLayers.Util.extend(OpenLayers.Console,console);break}}}})();OpenLayers.Icon=OpenLayers.Class({url:null,size:null,offset:null,calculateOffset:null,imageDiv:null,px:null,initialize:function(a,b,d,c){this.url=a;this.size=(b)?b:new OpenLayers.Size(20,20);this.offset=d?d:new OpenLayers.Pixel(-(this.size.w/2),-(this.size.h/2));this.calculateOffset=c;var e=OpenLayers.Util.createUniqueID("OL_Icon_");this.imageDiv=OpenLayers.Util.createAlphaImageDiv(e)},destroy:function(){this.erase();OpenLayers.Event.stopObservingElement(this.imageDiv.firstChild);this.imageDiv.innerHTML="";this.imageDiv=null},clone:function(){return new OpenLayers.Icon(this.url,this.size,this.offset,this.calculateOffset)},setSize:function(a){if(a!=null){this.size=a}this.draw()},setUrl:function(a){if(a!=null){this.url=a}this.draw()},draw:function(a){OpenLayers.Util.modifyAlphaImageDiv(this.imageDiv,null,null,this.size,this.url,"absolute");this.moveTo(a);return this.imageDiv},erase:function(){if(this.imageDiv!=null&&this.imageDiv.parentNode!=null){OpenLayers.Element.remove(this.imageDiv)}},setOpacity:function(a){OpenLayers.Util.modifyAlphaImageDiv(this.imageDiv,null,null,null,null,null,null,null,a)},moveTo:function(a){if(a!=null){this.px=a}if(this.imageDiv!=null){if(this.px==null){this.display(false)}else{if(this.calculateOffset){this.offset=this.calculateOffset(this.size)}var b=this.px.offset(this.offset);OpenLayers.Util.modifyAlphaImageDiv(this.imageDiv,null,b)}}},display:function(a){this.imageDiv.style.display=(a)?"":"none"},isDrawn:function(){var a=(this.imageDiv&&this.imageDiv.parentNode&&(this.imageDiv.parentNode.nodeType!=11));return a},CLASS_NAME:"OpenLayers.Icon"});OpenLayers.Popup=OpenLayers.Class({events:null,id:"",lonlat:null,div:null,contentSize:null,size:null,contentHTML:null,backgroundColor:"",opacity:"",border:"",contentDiv:null,groupDiv:null,closeDiv:null,autoSize:false,minSize:null,maxSize:null,displayClass:"olPopup",contentDisplayClass:"olPopupContent",padding:0,disableFirefoxOverflowHack:false,fixPadding:function(){if(typeof this.padding=="number"){this.padding=new OpenLayers.Bounds(this.padding,this.padding,this.padding,this.padding)}},panMapIfOutOfView:false,keepInMap:false,closeOnMove:false,map:null,initialize:function(g,c,f,b,e,d){if(g==null){g=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")}this.id=g;this.lonlat=c;this.contentSize=(f!=null)?f:new OpenLayers.Size(OpenLayers.Popup.WIDTH,OpenLayers.Popup.HEIGHT);if(b!=null){this.contentHTML=b}this.backgroundColor=OpenLayers.Popup.COLOR;this.opacity=OpenLayers.Popup.OPACITY;this.border=OpenLayers.Popup.BORDER;this.div=OpenLayers.Util.createDiv(this.id,null,null,null,null,null,"hidden");this.div.className=this.displayClass;var a=this.id+"_GroupDiv";this.groupDiv=OpenLayers.Util.createDiv(a,null,null,null,"relative",null,"hidden");var g=this.div.id+"_contentDiv";this.contentDiv=OpenLayers.Util.createDiv(g,null,this.contentSize.clone(),null,"relative");this.contentDiv.className=this.contentDisplayClass;this.groupDiv.appendChild(this.contentDiv);this.div.appendChild(this.groupDiv);if(e){this.addCloseBox(d)}this.registerEvents()},destroy:function(){this.id=null;this.lonlat=null;this.size=null;this.contentHTML=null;this.backgroundColor=null;this.opacity=null;this.border=null;if(this.closeOnMove&&this.map){this.map.events.unregister("movestart",this,this.hide)}this.events.destroy();this.events=null;if(this.closeDiv){OpenLayers.Event.stopObservingElement(this.closeDiv);this.groupDiv.removeChild(this.closeDiv)}this.closeDiv=null;this.div.removeChild(this.groupDiv);this.groupDiv=null;if(this.map!=null){this.map.removePopup(this)}this.map=null;this.div=null;this.autoSize=null;this.minSize=null;this.maxSize=null;this.padding=null;this.panMapIfOutOfView=null},draw:function(a){if(a==null){if((this.lonlat!=null)&&(this.map!=null)){a=this.map.getLayerPxFromLonLat(this.lonlat)}}if(this.closeOnMove){this.map.events.register("movestart",this,this.hide)}if(!this.disableFirefoxOverflowHack&&OpenLayers.Util.getBrowserName()=="firefox"){this.map.events.register("movestart",this,function(){var b=document.defaultView.getComputedStyle(this.contentDiv,null);var c=b.getPropertyValue("overflow");if(c!="hidden"){this.contentDiv._oldOverflow=c;this.contentDiv.style.overflow="hidden"}});this.map.events.register("moveend",this,function(){var b=this.contentDiv._oldOverflow;if(b){this.contentDiv.style.overflow=b;this.contentDiv._oldOverflow=null}})}this.moveTo(a);if(!this.autoSize&&!this.size){this.setSize(this.contentSize)}this.setBackgroundColor();this.setOpacity();this.setBorder();this.setContentHTML();if(this.panMapIfOutOfView){this.panIntoView()}return this.div},updatePosition:function(){if((this.lonlat)&&(this.map)){var a=this.map.getLayerPxFromLonLat(this.lonlat);if(a){this.moveTo(a)}}},moveTo:function(a){if((a!=null)&&(this.div!=null)){this.div.style.left=a.x+"px";this.div.style.top=a.y+"px"}},visible:function(){return OpenLayers.Element.visible(this.div)},toggle:function(){if(this.visible()){this.hide()}else{this.show()}},show:function(){OpenLayers.Element.show(this.div);if(this.panMapIfOutOfView){this.panIntoView()}},hide:function(){OpenLayers.Element.hide(this.div)},setSize:function(c){this.size=c.clone();var b=this.getContentDivPadding();var a=b.left+b.right;var e=b.top+b.bottom;this.fixPadding();a+=this.padding.left+this.padding.right;e+=this.padding.top+this.padding.bottom;if(this.closeDiv){var d=parseInt(this.closeDiv.style.width);a+=d+b.right}this.size.w+=a;this.size.h+=e;if(OpenLayers.Util.getBrowserName()=="msie"){this.contentSize.w+=b.left+b.right;this.contentSize.h+=b.bottom+b.top}if(this.div!=null){this.div.style.width=this.size.w+"px";this.div.style.height=this.size.h+"px"}if(this.contentDiv!=null){this.contentDiv.style.width=c.w+"px";this.contentDiv.style.height=c.h+"px"}},updateSize:function(){var e="<div class='"+this.contentDisplayClass+"'>"+this.contentDiv.innerHTML+"</div>";var h=(this.map)?this.map.layerContainerDiv:document.body;var i=OpenLayers.Util.getRenderedDimensions(e,null,{displayClass:this.displayClass,containerElement:h});var g=this.getSafeContentSize(i);var f=null;if(g.equals(i)){f=i}else{var b=new OpenLayers.Size();b.w=(g.w<i.w)?g.w:null;b.h=(g.h<i.h)?g.h:null;if(b.w&&b.h){f=g}else{var d=OpenLayers.Util.getRenderedDimensions(e,b,{displayClass:this.contentDisplayClass,containerElement:h});var c=OpenLayers.Element.getStyle(this.contentDiv,"overflow");if((c!="hidden")&&(d.equals(g))){var a=OpenLayers.Util.getScrollbarWidth();if(b.w){d.h+=a}else{d.w+=a}}f=this.getSafeContentSize(d)}}this.setSize(f)},setBackgroundColor:function(a){if(a!=undefined){this.backgroundColor=a}if(this.div!=null){this.div.style.backgroundColor=this.backgroundColor}},setOpacity:function(a){if(a!=undefined){this.opacity=a}if(this.div!=null){this.div.style.opacity=this.opacity;this.div.style.filter="alpha(opacity="+this.opacity*100+")"}},setBorder:function(a){if(a!=undefined){this.border=a}if(this.div!=null){this.div.style.border=this.border}},setContentHTML:function(a){if(a!=null){this.contentHTML=a}if((this.contentDiv!=null)&&(this.contentHTML!=null)&&(this.contentHTML!=this.contentDiv.innerHTML)){this.contentDiv.innerHTML=this.contentHTML;if(this.autoSize){this.registerImageListeners();this.updateSize()}}},registerImageListeners:function(){var f=function(){this.popup.updateSize();if(this.popup.visible()&&this.popup.panMapIfOutOfView){this.popup.panIntoView()}OpenLayers.Event.stopObserving(this.img,"load",this.img._onImageLoad)};var b=this.contentDiv.getElementsByTagName("img");for(var e=0,a=b.length;e<a;e++){var c=b[e];if(c.width==0||c.height==0){var d={popup:this,img:c};c._onImgLoad=OpenLayers.Function.bind(f,d);OpenLayers.Event.observe(c,"load",c._onImgLoad)}}},getSafeContentSize:function(k){var d=k.clone();var i=this.getContentDivPadding();var j=i.left+i.right;var g=i.top+i.bottom;this.fixPadding();j+=this.padding.left+this.padding.right;g+=this.padding.top+this.padding.bottom;if(this.closeDiv){var c=parseInt(this.closeDiv.style.width);j+=c+i.right}if(this.minSize){d.w=Math.max(d.w,(this.minSize.w-j));d.h=Math.max(d.h,(this.minSize.h-g))}if(this.maxSize){d.w=Math.min(d.w,(this.maxSize.w-j));d.h=Math.min(d.h,(this.maxSize.h-g))}if(this.map&&this.map.size){var f=0,e=0;if(this.keepInMap&&!this.panMapIfOutOfView){var h=this.map.getPixelFromLonLat(this.lonlat);switch(this.relativePosition){case"tr":f=h.x;e=this.map.size.h-h.y;break;case"tl":f=this.map.size.w-h.x;e=this.map.size.h-h.y;break;case"bl":f=this.map.size.w-h.x;e=h.y;break;case"br":f=h.x;e=h.y;break;default:f=h.x;e=this.map.size.h-h.y;break}}var a=this.map.size.h-this.map.paddingForPopups.top-this.map.paddingForPopups.bottom-g-e;var b=this.map.size.w-this.map.paddingForPopups.left-this.map.paddingForPopups.right-j-f;d.w=Math.min(d.w,b);d.h=Math.min(d.h,a)}return d},getContentDivPadding:function(){var a=this._contentDivPadding;if(!a){if(this.div.parentNode==null){this.div.style.display="none";document.body.appendChild(this.div)}a=new OpenLayers.Bounds(OpenLayers.Element.getStyle(this.contentDiv,"padding-left"),OpenLayers.Element.getStyle(this.contentDiv,"padding-bottom"),OpenLayers.Element.getStyle(this.contentDiv,"padding-right"),OpenLayers.Element.getStyle(this.contentDiv,"padding-top"));this._contentDivPadding=a;if(this.div.parentNode==document.body){document.body.removeChild(this.div);this.div.style.display=""}}return a},addCloseBox:function(c){this.closeDiv=OpenLayers.Util.createDiv(this.id+"_close",null,new OpenLayers.Size(17,17));this.closeDiv.className="olPopupCloseBox";var b=this.getContentDivPadding();this.closeDiv.style.right=b.right+"px";this.closeDiv.style.top=b.top+"px";this.groupDiv.appendChild(this.closeDiv);var a=c||function(d){this.hide();OpenLayers.Event.stop(d)};OpenLayers.Event.observe(this.closeDiv,"click",OpenLayers.Function.bindAsEventListener(a,this))},panIntoView:function(){var e=this.map.getSize();var d=this.map.getViewPortPxFromLayerPx(new OpenLayers.Pixel(parseInt(this.div.style.left),parseInt(this.div.style.top)));var c=d.clone();if(d.x<this.map.paddingForPopups.left){c.x=this.map.paddingForPopups.left}else{if((d.x+this.size.w)>(e.w-this.map.paddingForPopups.right)){c.x=e.w-this.map.paddingForPopups.right-this.size.w}}if(d.y<this.map.paddingForPopups.top){c.y=this.map.paddingForPopups.top}else{if((d.y+this.size.h)>(e.h-this.map.paddingForPopups.bottom)){c.y=e.h-this.map.paddingForPopups.bottom-this.size.h}}var b=d.x-c.x;var a=d.y-c.y;this.map.pan(b,a)},registerEvents:function(){this.events=new OpenLayers.Events(this,this.div,null,true);this.events.on({mousedown:this.onmousedown,mousemove:this.onmousemove,mouseup:this.onmouseup,click:this.onclick,mouseout:this.onmouseout,dblclick:this.ondblclick,scope:this})},onmousedown:function(a){this.mousedown=true;OpenLayers.Event.stop(a,true)},onmousemove:function(a){if(this.mousedown){OpenLayers.Event.stop(a,true)}},onmouseup:function(a){if(this.mousedown){this.mousedown=false;OpenLayers.Event.stop(a,true)}},onclick:function(a){OpenLayers.Event.stop(a,true)},onmouseout:function(a){this.mousedown=false},ondblclick:function(a){OpenLayers.Event.stop(a,true)},CLASS_NAME:"OpenLayers.Popup"});OpenLayers.Popup.WIDTH=200;OpenLayers.Popup.HEIGHT=200;OpenLayers.Popup.COLOR="white";OpenLayers.Popup.OPACITY=1;OpenLayers.Popup.BORDER="0px";OpenLayers.Bounds=OpenLayers.Class({left:null,bottom:null,right:null,top:null,centerLonLat:null,initialize:function(d,a,b,c){if(d!=null){this.left=OpenLayers.Util.toFloat(d)}if(a!=null){this.bottom=OpenLayers.Util.toFloat(a)}if(b!=null){this.right=OpenLayers.Util.toFloat(b)}if(c!=null){this.top=OpenLayers.Util.toFloat(c)}},clone:function(){return new OpenLayers.Bounds(this.left,this.bottom,this.right,this.top)},equals:function(b){var a=false;if(b!=null){a=((this.left==b.left)&&(this.right==b.right)&&(this.top==b.top)&&(this.bottom==b.bottom))}return a},toString:function(){return("left-bottom=("+this.left+","+this.bottom+") right-top=("+this.right+","+this.top+")")},toArray:function(a){if(a===true){return[this.bottom,this.left,this.top,this.right]}else{return[this.left,this.bottom,this.right,this.top]}},toBBOX:function(b,e){if(b==null){b=6}var g=Math.pow(10,b);var f=Math.round(this.left*g)/g;var d=Math.round(this.bottom*g)/g;var c=Math.round(this.right*g)/g;var a=Math.round(this.top*g)/g;if(e===true){return d+","+f+","+a+","+c}else{return f+","+d+","+c+","+a}},toGeometry:function(){return new OpenLayers.Geometry.Polygon([new OpenLayers.Geometry.LinearRing([new OpenLayers.Geometry.Point(this.left,this.bottom),new OpenLayers.Geometry.Point(this.right,this.bottom),new OpenLayers.Geometry.Point(this.right,this.top),new OpenLayers.Geometry.Point(this.left,this.top)])])},getWidth:function(){return(this.right-this.left)},getHeight:function(){return(this.top-this.bottom)},getSize:function(){return new OpenLayers.Size(this.getWidth(),this.getHeight())},getCenterPixel:function(){return new OpenLayers.Pixel((this.left+this.right)/2,(this.bottom+this.top)/2)},getCenterLonLat:function(){if(!this.centerLonLat){this.centerLonLat=new OpenLayers.LonLat((this.left+this.right)/2,(this.bottom+this.top)/2)}return this.centerLonLat},scale:function(e,c){if(c==null){c=this.getCenterLonLat()}var a,h;if(c.CLASS_NAME=="OpenLayers.LonLat"){a=c.lon;h=c.lat}else{a=c.x;h=c.y}var g=(this.left-a)*e+a;var b=(this.bottom-h)*e+h;var d=(this.right-a)*e+a;var f=(this.top-h)*e+h;return new OpenLayers.Bounds(g,b,d,f)},add:function(a,c){if((a==null)||(c==null)){var b=OpenLayers.i18n("boundsAddError");OpenLayers.Console.error(b);return null}return new OpenLayers.Bounds(this.left+a,this.bottom+c,this.right+a,this.top+c)},extend:function(a){var b=null;if(a){switch(a.CLASS_NAME){case"OpenLayers.LonLat":b=new OpenLayers.Bounds(a.lon,a.lat,a.lon,a.lat);break;case"OpenLayers.Geometry.Point":b=new OpenLayers.Bounds(a.x,a.y,a.x,a.y);break;case"OpenLayers.Bounds":b=a;break}if(b){this.centerLonLat=null;if((this.left==null)||(b.left<this.left)){this.left=b.left}if((this.bottom==null)||(b.bottom<this.bottom)){this.bottom=b.bottom}if((this.right==null)||(b.right>this.right)){this.right=b.right}if((this.top==null)||(b.top>this.top)){this.top=b.top}}}},containsLonLat:function(b,a){return this.contains(b.lon,b.lat,a)},containsPixel:function(b,a){return this.contains(b.x,b.y,a)},contains:function(b,d,a){if(a==null){a=true}if(b==null||d==null){return false}b=OpenLayers.Util.toFloat(b);d=OpenLayers.Util.toFloat(d);var c=false;if(a){c=((b>=this.left)&&(b<=this.right)&&(d>=this.bottom)&&(d<=this.top))}else{c=((b>this.left)&&(b<this.right)&&(d>this.bottom)&&(d<this.top))}return c},intersectsBounds:function(e,b){if(b==null){b=true}var d=false;var h=(this.left==e.right||this.right==e.left||this.top==e.bottom||this.bottom==e.top);if(b||!h){var g=(((e.bottom>=this.bottom)&&(e.bottom<=this.top))||((this.bottom>=e.bottom)&&(this.bottom<=e.top)));var f=(((e.top>=this.bottom)&&(e.top<=this.top))||((this.top>e.bottom)&&(this.top<e.top)));var c=(((e.left>=this.left)&&(e.left<=this.right))||((this.left>=e.left)&&(this.left<=e.right)));var a=(((e.right>=this.left)&&(e.right<=this.right))||((this.right>=e.left)&&(this.right<=e.right)));d=((g||f)&&(c||a))}return d},containsBounds:function(g,b,a){if(b==null){b=false}if(a==null){a=true}var c=this.contains(g.left,g.bottom,a);var d=this.contains(g.right,g.bottom,a);var f=this.contains(g.left,g.top,a);var e=this.contains(g.right,g.top,a);return(b)?(c||d||f||e):(c&&d&&f&&e)},determineQuadrant:function(c){var b="";var a=this.getCenterLonLat();b+=(c.lat<a.lat)?"b":"t";b+=(c.lon<a.lon)?"l":"r";return b},transform:function(d,b){this.centerLonLat=null;var e=OpenLayers.Projection.transform({x:this.left,y:this.bottom},d,b);var a=OpenLayers.Projection.transform({x:this.right,y:this.bottom},d,b);var c=OpenLayers.Projection.transform({x:this.left,y:this.top},d,b);var f=OpenLayers.Projection.transform({x:this.right,y:this.top},d,b);this.left=Math.min(e.x,c.x);this.bottom=Math.min(e.y,a.y);this.right=Math.max(a.x,f.x);this.top=Math.max(c.y,f.y);return this},wrapDateLine:function(a,c){c=c||{};var d=c.leftTolerance||0;var b=c.rightTolerance||0;var e=this.clone();if(a){while(e.left<a.left&&(e.right-b)<=a.left){e=e.add(a.getWidth(),0)}while((e.left+d)>=a.right&&e.right>a.right){e=e.add(-a.getWidth(),0)}}return e},CLASS_NAME:"OpenLayers.Bounds"});OpenLayers.Bounds.fromString=function(b){var a=b.split(",");return OpenLayers.Bounds.fromArray(a)};OpenLayers.Bounds.fromArray=function(a){return new OpenLayers.Bounds(parseFloat(a[0]),parseFloat(a[1]),parseFloat(a[2]),parseFloat(a[3]))};OpenLayers.Bounds.fromSize=function(a){return new OpenLayers.Bounds(0,a.h,a.w,0)};OpenLayers.Bounds.oppositeQuadrant=function(a){var b="";b+=(a.charAt(0)=="t")?"b":"t";b+=(a.charAt(1)=="l")?"r":"l";return b};OpenLayers.LonLat=OpenLayers.Class({lon:0,lat:0,initialize:function(b,a){this.lon=OpenLayers.Util.toFloat(b);this.lat=OpenLayers.Util.toFloat(a)},toString:function(){return("lon="+this.lon+",lat="+this.lat)},toShortString:function(){return(this.lon+", "+this.lat)},clone:function(){return new OpenLayers.LonLat(this.lon,this.lat)},add:function(c,a){if((c==null)||(a==null)){var b=OpenLayers.i18n("lonlatAddError");OpenLayers.Console.error(b);return null}return new OpenLayers.LonLat(this.lon+OpenLayers.Util.toFloat(c),this.lat+OpenLayers.Util.toFloat(a))},equals:function(b){var a=false;if(b!=null){a=((this.lon==b.lon&&this.lat==b.lat)||(isNaN(this.lon)&&isNaN(this.lat)&&isNaN(b.lon)&&isNaN(b.lat)))}return a},transform:function(c,b){var a=OpenLayers.Projection.transform({x:this.lon,y:this.lat},c,b);this.lon=a.x;this.lat=a.y;return this},wrapDateLine:function(a){var b=this.clone();if(a){while(b.lon<a.left){b.lon+=a.getWidth()}while(b.lon>a.right){b.lon-=a.getWidth()}}return b},CLASS_NAME:"OpenLayers.LonLat"});OpenLayers.LonLat.fromString=function(b){var a=b.split(",");return new OpenLayers.LonLat(a[0],a[1])};OpenLayers.Pixel=OpenLayers.Class({x:0,y:0,initialize:function(a,b){this.x=parseFloat(a);this.y=parseFloat(b)},toString:function(){return("x="+this.x+",y="+this.y)},clone:function(){return new OpenLayers.Pixel(this.x,this.y)},equals:function(a){var b=false;if(a!=null){b=((this.x==a.x&&this.y==a.y)||(isNaN(this.x)&&isNaN(this.y)&&isNaN(a.x)&&isNaN(a.y)))}return b},add:function(a,c){if((a==null)||(c==null)){var b=OpenLayers.i18n("pixelAddError");OpenLayers.Console.error(b);return null}return new OpenLayers.Pixel(this.x+a,this.y+c)},offset:function(a){var b=this.clone();if(a){b=this.add(a.x,a.y)}return b},CLASS_NAME:"OpenLayers.Pixel"});OpenLayers.Control=OpenLayers.Class({id:null,map:null,div:null,type:null,allowSelection:false,displayClass:"",title:"",autoActivate:false,active:null,handler:null,eventListeners:null,events:null,EVENT_TYPES:["activate","deactivate"],initialize:function(a){this.displayClass=this.CLASS_NAME.replace("OpenLayers.","ol").replace(/\./g,"");OpenLayers.Util.extend(this,a);this.events=new OpenLayers.Events(this,null,this.EVENT_TYPES);if(this.eventListeners instanceof Object){this.events.on(this.eventListeners)}if(this.id==null){this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")}},destroy:function(){if(this.events){if(this.eventListeners){this.events.un(this.eventListeners)}this.events.destroy();this.events=null}this.eventListeners=null;if(this.handler){this.handler.destroy();this.handler=null}if(this.handlers){for(var a in this.handlers){if(this.handlers.hasOwnProperty(a)&&typeof this.handlers[a].destroy=="function"){this.handlers[a].destroy()}}this.handlers=null}if(this.map){this.map.removeControl(this);this.map=null}},setMap:function(a){this.map=a;if(this.handler){this.handler.setMap(a)}},draw:function(a){if(this.div==null){this.div=OpenLayers.Util.createDiv(this.id);this.div.className=this.displayClass;if(!this.allowSelection){this.div.className+=" olControlNoSelect";this.div.setAttribute("unselectable","on",0);this.div.onselectstart=OpenLayers.Function.False}if(this.title!=""){this.div.title=this.title}}if(a!=null){this.position=a.clone()}this.moveTo(this.position);return this.div},moveTo:function(a){if((a!=null)&&(this.div!=null)){this.div.style.left=a.x+"px";this.div.style.top=a.y+"px"}},activate:function(){if(this.active){return false}if(this.handler){this.handler.activate()}this.active=true;if(this.map){OpenLayers.Element.addClass(this.map.viewPortDiv,this.displayClass.replace(/ /g,"")+"Active")}this.events.triggerEvent("activate");return true},deactivate:function(){if(this.active){if(this.handler){this.handler.deactivate()}this.active=false;if(this.map){OpenLayers.Element.removeClass(this.map.viewPortDiv,this.displayClass.replace(/ /g,"")+"Active")}this.events.triggerEvent("deactivate");return true}return false},CLASS_NAME:"OpenLayers.Control"});OpenLayers.Control.TYPE_BUTTON=1;OpenLayers.Control.TYPE_TOGGLE=2;OpenLayers.Control.TYPE_TOOL=3;OpenLayers.Lang={code:null,defaultCode:"en",getCode:function(){if(!OpenLayers.Lang.code){OpenLayers.Lang.setCode()}return OpenLayers.Lang.code},setCode:function(b){var d;if(!b){b=(OpenLayers.Util.getBrowserName()=="msie")?navigator.userLanguage:navigator.language}var c=b.split("-");c[0]=c[0].toLowerCase();if(typeof OpenLayers.Lang[c[0]]=="object"){d=c[0]}if(c[1]){var a=c[0]+"-"+c[1].toUpperCase();if(typeof OpenLayers.Lang[a]=="object"){d=a}}if(!d){OpenLayers.Console.warn("Failed to find OpenLayers.Lang."+c.join("-")+" dictionary, falling back to default language");d=OpenLayers.Lang.defaultCode}OpenLayers.Lang.code=d},translate:function(b,a){var d=OpenLayers.Lang[OpenLayers.Lang.getCode()];var c=d[b];if(!c){c=b}if(a){c=OpenLayers.String.format(c,a)}return c}};OpenLayers.i18n=OpenLayers.Lang.translate;OpenLayers.Popup.Anchored=OpenLayers.Class(OpenLayers.Popup,{relativePosition:null,keepInMap:true,anchor:null,initialize:function(h,d,g,c,b,f,e){var a=[h,d,g,c,f,e];OpenLayers.Popup.prototype.initialize.apply(this,a);this.anchor=(b!=null)?b:{size:new OpenLayers.Size(0,0),offset:new OpenLayers.Pixel(0,0)}},destroy:function(){this.anchor=null;this.relativePosition=null;OpenLayers.Popup.prototype.destroy.apply(this,arguments)},show:function(){this.updatePosition();OpenLayers.Popup.prototype.show.apply(this,arguments)},moveTo:function(c){var b=this.relativePosition;this.relativePosition=this.calculateRelativePosition(c);var d=this.calculateNewPx(c);var a=new Array(d);OpenLayers.Popup.prototype.moveTo.apply(this,a);if(this.relativePosition!=b){this.updateRelativePosition()}},setSize:function(b){OpenLayers.Popup.prototype.setSize.apply(this,arguments);if((this.lonlat)&&(this.map)){var a=this.map.getLayerPxFromLonLat(this.lonlat);this.moveTo(a)}},calculateRelativePosition:function(b){var d=this.map.getLonLatFromLayerPx(b);var c=this.map.getExtent();var a=c.determineQuadrant(d);return OpenLayers.Bounds.oppositeQuadrant(a)},updateRelativePosition:function(){},calculateNewPx:function(b){var e=b.offset(this.anchor.offset);var a=this.size||this.contentSize;var d=(this.relativePosition.charAt(0)=="t");e.y+=(d)?-(a.h+this.anchor.size.h):this.anchor.size.h;var c=(this.relativePosition.charAt(1)=="l");e.x+=(c)?-(a.w+this.anchor.size.w):this.anchor.size.w;return e},CLASS_NAME:"OpenLayers.Popup.Anchored"});OpenLayers.Tween=OpenLayers.Class({INTERVAL:10,easing:null,begin:null,finish:null,duration:null,callbacks:null,time:null,interval:null,playing:false,initialize:function(a){this.easing=(a)?a:OpenLayers.Easing.Expo.easeOut},start:function(c,b,d,a){this.playing=true;this.begin=c;this.finish=b;this.duration=d;this.callbacks=a.callbacks;this.time=0;if(this.interval){window.clearInterval(this.interval);this.interval=null}if(this.callbacks&&this.callbacks.start){this.callbacks.start.call(this,this.begin)}this.interval=window.setInterval(OpenLayers.Function.bind(this.play,this),this.INTERVAL)},stop:function(){if(!this.playing){return}if(this.callbacks&&this.callbacks.done){this.callbacks.done.call(this,this.finish)}window.clearInterval(this.interval);this.interval=null;this.playing=false},play:function(){var g={};for(var d in this.begin){var a=this.begin[d];var e=this.finish[d];if(a==null||e==null||isNaN(a)||isNaN(e)){OpenLayers.Console.error("invalid value for Tween")}var h=e-a;g[d]=this.easing.apply(this,[this.time,a,h,this.duration])}this.time++;if(this.callbacks&&this.callbacks.eachStep){this.callbacks.eachStep.call(this,g)}if(this.time>this.duration){this.stop()}},CLASS_NAME:"OpenLayers.Tween"});OpenLayers.Easing={CLASS_NAME:"OpenLayers.Easing"};OpenLayers.Easing.Linear={easeIn:function(e,a,g,f){return g*e/f+a},easeOut:function(e,a,g,f){return g*e/f+a},easeInOut:function(e,a,g,f){return g*e/f+a},CLASS_NAME:"OpenLayers.Easing.Linear"};OpenLayers.Easing.Expo={easeIn:function(e,a,g,f){return(e==0)?a:g*Math.pow(2,10*(e/f-1))+a},easeOut:function(e,a,g,f){return(e==f)?a+g:g*(-Math.pow(2,-10*e/f)+1)+a},easeInOut:function(e,a,g,f){if(e==0){return a}if(e==f){return a+g}if((e/=f/2)<1){return g/2*Math.pow(2,10*(e-1))+a}return g/2*(-Math.pow(2,-10*--e)+2)+a},CLASS_NAME:"OpenLayers.Easing.Expo"};OpenLayers.Easing.Quad={easeIn:function(e,a,g,f){return g*(e/=f)*e+a},easeOut:function(e,a,g,f){return -g*(e/=f)*(e-2)+a},easeInOut:function(e,a,g,f){if((e/=f/2)<1){return g/2*e*e+a}return -g/2*((--e)*(e-2)-1)+a},CLASS_NAME:"OpenLayers.Easing.Quad"};OpenLayers.Control.ArgParser=OpenLayers.Class(OpenLayers.Control,{center:null,zoom:null,layers:null,displayProjection:null,initialize:function(a){OpenLayers.Control.prototype.initialize.apply(this,arguments)},setMap:function(e){OpenLayers.Control.prototype.setMap.apply(this,arguments);for(var c=0,a=this.map.controls.length;c<a;c++){var d=this.map.controls[c];if((d!=this)&&(d.CLASS_NAME=="OpenLayers.Control.ArgParser")){if(d.displayProjection!=this.displayProjection){this.displayProjection=d.displayProjection}break}}if(c==this.map.controls.length){var b=OpenLayers.Util.getParameters();if(b.layers){this.layers=b.layers;this.map.events.register("addlayer",this,this.configureLayers);this.configureLayers()}if(b.lat&&b.lon){this.center=new OpenLayers.LonLat(parseFloat(b.lon),parseFloat(b.lat));if(b.zoom){this.zoom=parseInt(b.zoom)}this.map.events.register("changebaselayer",this,this.setCenter);this.setCenter()}}},setCenter:function(){if(this.map.baseLayer){this.map.events.unregister("changebaselayer",this,this.setCenter);if(this.displayProjection){this.center.transform(this.displayProjection,this.map.getProjectionObject())}this.map.setCenter(this.center,this.zoom)}},configureLayers:function(){if(this.layers.length==this.map.layers.length){this.map.events.unregister("addlayer",this,this.configureLayers);for(var d=0,a=this.layers.length;d<a;d++){var b=this.map.layers[d];var e=this.layers.charAt(d);if(e=="B"){this.map.setBaseLayer(b)}else{if((e=="T")||(e=="F")){b.setVisibility(e=="T")}}}}},CLASS_NAME:"OpenLayers.Control.ArgParser"});OpenLayers.Control.Attribution=OpenLayers.Class(OpenLayers.Control,{separator:", ",initialize:function(a){OpenLayers.Control.prototype.initialize.apply(this,arguments)},destroy:function(){this.map.events.un({removelayer:this.updateAttribution,addlayer:this.updateAttribution,changelayer:this.updateAttribution,changebaselayer:this.updateAttribution,scope:this});OpenLayers.Control.prototype.destroy.apply(this,arguments)},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);this.map.events.on({changebaselayer:this.updateAttribution,changelayer:this.updateAttribution,addlayer:this.updateAttribution,removelayer:this.updateAttribution,scope:this});this.updateAttribution();return this.div},updateAttribution:function(){var d=[];if(this.map&&this.map.layers){for(var c=0,a=this.map.layers.length;c<a;c++){var b=this.map.layers[c];if(b.attribution&&b.getVisibility()){if(OpenLayers.Util.indexOf(d,b.attribution)===-1){d.push(b.attribution)}}}this.div.innerHTML=d.join(this.separator)}},CLASS_NAME:"OpenLayers.Control.Attribution"});OpenLayers.Control.PanZoom=OpenLayers.Class(OpenLayers.Control,{slideFactor:50,slideRatio:null,buttons:null,position:null,initialize:function(a){this.position=new OpenLayers.Pixel(OpenLayers.Control.PanZoom.X,OpenLayers.Control.PanZoom.Y);OpenLayers.Control.prototype.initialize.apply(this,arguments)},destroy:function(){OpenLayers.Control.prototype.destroy.apply(this,arguments);this.removeButtons();this.buttons=null;this.position=null},draw:function(b){OpenLayers.Control.prototype.draw.apply(this,arguments);b=this.position;this.buttons=[];var c=new OpenLayers.Size(18,18);var a=new OpenLayers.Pixel(b.x+c.w/2,b.y);this._addButton("panup","north-mini.png",a,c);b.y=a.y+c.h;this._addButton("panleft","west-mini.png",b,c);this._addButton("panright","east-mini.png",b.add(c.w,0),c);this._addButton("pandown","south-mini.png",a.add(0,c.h*2),c);this._addButton("zoomin","zoom-plus-mini.png",a.add(0,c.h*3+5),c);this._addButton("zoomworld","zoom-world-mini.png",a.add(0,c.h*4+5),c);this._addButton("zoomout","zoom-minus-mini.png",a.add(0,c.h*5+5),c);return this.div},_addButton:function(a,d,i,g){var f=OpenLayers.Util.getImagesLocation()+d;var b=OpenLayers.Util.createAlphaImageDiv(this.id+"_"+a,i,g,f,"absolute");this.div.appendChild(b);OpenLayers.Event.observe(b,"mousedown",OpenLayers.Function.bindAsEventListener(this.buttonDown,b));OpenLayers.Event.observe(b,"dblclick",OpenLayers.Function.bindAsEventListener(this.doubleClick,b));OpenLayers.Event.observe(b,"click",OpenLayers.Function.bindAsEventListener(this.doubleClick,b));b.action=a;b.map=this.map;if(!this.slideRatio){var c=this.slideFactor;var e=function(){return c}}else{var h=this.slideRatio;var e=function(j){return this.map.getSize()[j]*h}}b.getSlideFactor=e;this.buttons.push(b);return b},_removeButton:function(a){OpenLayers.Event.stopObservingElement(a);a.map=null;a.getSlideFactor=null;this.div.removeChild(a);OpenLayers.Util.removeItem(this.buttons,a)},removeButtons:function(){for(var a=this.buttons.length-1;a>=0;--a){this._removeButton(this.buttons[a])}},doubleClick:function(a){OpenLayers.Event.stop(a);return false},buttonDown:function(a){if(!OpenLayers.Event.isLeftClick(a)){return}switch(this.action){case"panup":this.map.pan(0,-this.getSlideFactor("h"));break;case"pandown":this.map.pan(0,this.getSlideFactor("h"));break;case"panleft":this.map.pan(-this.getSlideFactor("w"),0);break;case"panright":this.map.pan(this.getSlideFactor("w"),0);break;case"zoomin":this.map.zoomIn();break;case"zoomout":this.map.zoomOut();break;case"zoomworld":this.map.zoomToMaxExtent();break}OpenLayers.Event.stop(a)},CLASS_NAME:"OpenLayers.Control.PanZoom"});OpenLayers.Control.PanZoom.X=4;OpenLayers.Control.PanZoom.Y=4;OpenLayers.Event={observers:false,KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,element:function(a){return a.target||a.srcElement},isLeftClick:function(a){return(((a.which)&&(a.which==1))||((a.button)&&(a.button==1)))},isRightClick:function(a){return(((a.which)&&(a.which==3))||((a.button)&&(a.button==2)))},stop:function(b,a){if(!a){if(b.preventDefault){b.preventDefault()}else{b.returnValue=false}}if(b.stopPropagation){b.stopPropagation()}else{b.cancelBubble=true}},findElement:function(c,b){var a=OpenLayers.Event.element(c);while(a.parentNode&&(!a.tagName||(a.tagName.toUpperCase()!=b.toUpperCase()))){a=a.parentNode}return a},observe:function(b,d,c,a){var e=OpenLayers.Util.getElement(b);a=a||false;if(d=="keypress"&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||e.attachEvent)){d="keydown"}if(!this.observers){this.observers={}}if(!e._eventCacheID){var f="eventCacheID_";if(e.id){f=e.id+"_"+f}e._eventCacheID=OpenLayers.Util.createUniqueID(f)}var g=e._eventCacheID;if(!this.observers[g]){this.observers[g]=[]}this.observers[g].push({element:e,name:d,observer:c,useCapture:a});if(e.addEventListener){e.addEventListener(d,c,a)}else{if(e.attachEvent){e.attachEvent("on"+d,c)}}},stopObservingElement:function(a){var b=OpenLayers.Util.getElement(a);var c=b._eventCacheID;this._removeElementObservers(OpenLayers.Event.observers[c])},_removeElementObservers:function(e){if(e){for(var b=e.length-1;b>=0;b--){var c=e[b];var a=new Array(c.element,c.name,c.observer,c.useCapture);var d=OpenLayers.Event.stopObserving.apply(this,a)}}},stopObserving:function(h,a,g,b){b=b||false;var f=OpenLayers.Util.getElement(h);var d=f._eventCacheID;if(a=="keypress"){if(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||f.detachEvent){a="keydown"}}var k=false;var c=OpenLayers.Event.observers[d];if(c){var e=0;while(!k&&e<c.length){var j=c[e];if((j.name==a)&&(j.observer==g)&&(j.useCapture==b)){c.splice(e,1);if(c.length==0){delete OpenLayers.Event.observers[d]}k=true;break}e++}}if(k){if(f.removeEventListener){f.removeEventListener(a,g,b)}else{if(f&&f.detachEvent){f.detachEvent("on"+a,g)}}}return k},unloadCache:function(){if(OpenLayers.Event&&OpenLayers.Event.observers){for(var a in OpenLayers.Event.observers){var b=OpenLayers.Event.observers[a];OpenLayers.Event._removeElementObservers.apply(this,[b])}OpenLayers.Event.observers=false}},CLASS_NAME:"OpenLayers.Event"};OpenLayers.Event.observe(window,"unload",OpenLayers.Event.unloadCache,false);if(window.Event){OpenLayers.Util.applyDefaults(window.Event,OpenLayers.Event)}else{var Event=OpenLayers.Event}OpenLayers.Events=OpenLayers.Class({BROWSER_EVENTS:["mouseover","mouseout","mousedown","mouseup","mousemove","click","dblclick","rightclick","dblrightclick","resize","focus","blur"],listeners:null,object:null,element:null,eventTypes:null,eventHandler:null,fallThrough:null,includeXY:false,clearMouseListener:null,initialize:function(c,e,g,f,b){OpenLayers.Util.extend(this,b);this.object=c;this.fallThrough=f;this.listeners={};this.eventHandler=OpenLayers.Function.bindAsEventListener(this.handleBrowserEvent,this);this.clearMouseListener=OpenLayers.Function.bind(this.clearMouseCache,this);this.eventTypes=[];if(g!=null){for(var d=0,a=g.length;d<a;d++){this.addEventType(g[d])}}if(e!=null){this.attachToElement(e)}},destroy:function(){if(this.element){OpenLayers.Event.stopObservingElement(this.element);if(this.element.hasScrollEvent){OpenLayers.Event.stopObserving(window,"scroll",this.clearMouseListener)}}this.element=null;this.listeners=null;this.object=null;this.eventTypes=null;this.fallThrough=null;this.eventHandler=null},addEventType:function(a){if(!this.listeners[a]){this.eventTypes.push(a);this.listeners[a]=[]}},attachToElement:function(d){if(this.element){OpenLayers.Event.stopObservingElement(this.element)}this.element=d;for(var c=0,a=this.BROWSER_EVENTS.length;c<a;c++){var b=this.BROWSER_EVENTS[c];this.addEventType(b);OpenLayers.Event.observe(d,b,this.eventHandler)}OpenLayers.Event.observe(d,"dragstart",OpenLayers.Event.stop)},on:function(a){for(var b in a){if(b!="scope"){this.register(b,a.scope,a[b])}}},register:function(b,d,c){if((c!=null)&&(OpenLayers.Util.indexOf(this.eventTypes,b)!=-1)){if(d==null){d=this.object}var a=this.listeners[b];a.push({obj:d,func:c})}},registerPriority:function(b,d,c){if(c!=null){if(d==null){d=this.object}var a=this.listeners[b];if(a!=null){a.unshift({obj:d,func:c})}}},un:function(a){for(var b in a){if(b!="scope"){this.unregister(b,a.scope,a[b])}}},unregister:function(d,f,e){if(f==null){f=this.object}var c=this.listeners[d];if(c!=null){for(var b=0,a=c.length;b<a;b++){if(c[b].obj==f&&c[b].func==e){c.splice(b,1);break}}}},remove:function(a){if(this.listeners[a]!=null){this.listeners[a]=[]}},triggerEvent:function(e,b){var d=this.listeners[e];if(!d||d.length==0){return}if(b==null){b={}}b.object=this.object;b.element=this.element;if(!b.type){b.type=e}var d=d.slice(),f;for(var c=0,a=d.length;c<a;c++){var g=d[c];f=g.func.apply(g.obj,[b]);if((f!=undefined)&&(f==false)){break}}if(!this.fallThrough){OpenLayers.Event.stop(b,true)}return f},handleBrowserEvent:function(a){if(this.includeXY){a.xy=this.getMousePosition(a)}this.triggerEvent(a.type,a)},clearMouseCache:function(){this.element.scrolls=null;this.element.lefttop=null;this.element.offsets=null},getMousePosition:function(a){if(!this.includeXY){this.clearMouseCache()}else{if(!this.element.hasScrollEvent){OpenLayers.Event.observe(window,"scroll",this.clearMouseListener);this.element.hasScrollEvent=true}}if(!this.element.scrolls){this.element.scrolls=[(document.documentElement.scrollLeft||document.body.scrollLeft),(document.documentElement.scrollTop||document.body.scrollTop)]}if(!this.element.lefttop){this.element.lefttop=[(document.documentElement.clientLeft||0),(document.documentElement.clientTop||0)]}if(!this.element.offsets){this.element.offsets=OpenLayers.Util.pagePosition(this.element);this.element.offsets[0]+=this.element.scrolls[0];this.element.offsets[1]+=this.element.scrolls[1]}return new OpenLayers.Pixel((a.clientX+this.element.scrolls[0])-this.element.offsets[0]-this.element.lefttop[0],(a.clientY+this.element.scrolls[1])-this.element.offsets[1]-this.element.lefttop[1])},CLASS_NAME:"OpenLayers.Events"});OpenLayers.Format=OpenLayers.Class({options:null,externalProjection:null,internalProjection:null,data:null,keepData:false,initialize:function(a){OpenLayers.Util.extend(this,a);this.options=a},destroy:function(){},read:function(a){OpenLayers.Console.userError(OpenLayers.i18n("readNotImplemented"))},write:function(a){OpenLayers.Console.userError(OpenLayers.i18n("writeNotImplemented"))},CLASS_NAME:"OpenLayers.Format"});OpenLayers.Lang.en={unhandledRequest:"Unhandled request return ${statusText}",permalink:"Permalink",overlays:"Overlays",baseLayer:"Base Layer",sameProjection:"The overview map only works when it is in the same projection as the main map",readNotImplemented:"Read not implemented.",writeNotImplemented:"Write not implemented.",noFID:"Can't update a feature for which there is no FID.",errorLoadingGML:"Error in loading GML file ${url}",browserNotSupported:"Your browser does not support vector rendering. Currently supported renderers are:\n${renderers}",componentShouldBe:"addFeatures : component should be an ${geomType}",getFeatureError:"getFeatureFromEvent called on layer with no renderer. This usually means you destroyed a layer, but not some handler which is associated with it.",minZoomLevelError:"The minZoomLevel property is only intended for use with the FixedZoomLevels-descendent layers. That this wfs layer checks for minZoomLevel is a relic of thepast. We cannot, however, remove it without possibly breaking OL based applications that may depend on it. Therefore we are deprecating it -- the minZoomLevel check below will be removed at 3.0. Please instead use min/max resolution setting as described here: http://trac.openlayers.org/wiki/SettingZoomLevels",commitSuccess:"WFS Transaction: SUCCESS ${response}",commitFailed:"WFS Transaction: FAILED ${response}",googleWarning:"The Google Layer was unable to load correctly.<br><br>To get rid of this message, select a new BaseLayer in the layer switcher in the upper-right corner.<br><br>Most likely, this is because the Google Maps library script was either not included, or does not contain the correct API key for your site.<br><br>Developers: For help getting this working correctly, <a href='http://trac.openlayers.org/wiki/Google' target='_blank'>click here</a>",getLayerWarning:"The ${layerType} Layer was unable to load correctly.<br><br>To get rid of this message, select a new BaseLayer in the layer switcher in the upper-right corner.<br><br>Most likely, this is because the ${layerLib} library script was not correctly included.<br><br>Developers: For help getting this working correctly, <a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>click here</a>",scale:"Scale = 1 : ${scaleDenom}",W:"W",E:"E",N:"N",S:"S",graticule:"Graticule",layerAlreadyAdded:"You tried to add the layer: ${layerName} to the map, but it has already been added",reprojectDeprecated:"You are using the 'reproject' option on the ${layerName} layer. This option is deprecated: its use was designed to support displaying data over commercial basemaps, but that functionality should now be achieved by using Spherical Mercator support. More information is available from http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"This method has been deprecated and will be removed in 3.0. Please use ${newMethod} instead.",boundsAddError:"You must pass both x and y values to the add function.",lonlatAddError:"You must pass both lon and lat values to the add function.",pixelAddError:"You must pass both x and y values to the add function.",unsupportedGeometryType:"Unsupported geometry type: ${geomType}",pagePositionFailed:"OpenLayers.Util.pagePosition failed: element with id ${elemId} may be misplaced.",filterEvaluateNotImplemented:"evaluate is not implemented for this filter type.",end:""};OpenLayers.Popup.AnchoredBubble=OpenLayers.Class(OpenLayers.Popup.Anchored,{rounded:false,initialize:function(g,c,f,b,a,e,d){this.padding=new OpenLayers.Bounds(0,OpenLayers.Popup.AnchoredBubble.CORNER_SIZE,0,OpenLayers.Popup.AnchoredBubble.CORNER_SIZE);OpenLayers.Popup.Anchored.prototype.initialize.apply(this,arguments)},draw:function(a){OpenLayers.Popup.Anchored.prototype.draw.apply(this,arguments);this.setContentHTML();this.setBackgroundColor();this.setOpacity();return this.div},updateRelativePosition:function(){this.setRicoCorners()},setSize:function(a){OpenLayers.Popup.Anchored.prototype.setSize.apply(this,arguments);this.setRicoCorners()},setBackgroundColor:function(a){if(a!=undefined){this.backgroundColor=a}if(this.div!=null){if(this.contentDiv!=null){this.div.style.background="transparent";OpenLayers.Rico.Corner.changeColor(this.groupDiv,this.backgroundColor)}}},setOpacity:function(a){OpenLayers.Popup.Anchored.prototype.setOpacity.call(this,a);if(this.div!=null){if(this.groupDiv!=null){OpenLayers.Rico.Corner.changeOpacity(this.groupDiv,this.opacity)}}},setBorder:function(a){this.border=0},setRicoCorners:function(){var a=this.getCornersToRound(this.relativePosition);var b={corners:a,color:this.backgroundColor,bgColor:"transparent",blend:false};if(!this.rounded){OpenLayers.Rico.Corner.round(this.div,b);this.rounded=true}else{OpenLayers.Rico.Corner.reRound(this.groupDiv,b);this.setBackgroundColor();this.setOpacity()}},getCornersToRound:function(){var a=["tl","tr","bl","br"];var b=OpenLayers.Bounds.oppositeQuadrant(this.relativePosition);OpenLayers.Util.removeItem(a,b);return a.join(" ")},CLASS_NAME:"OpenLayers.Popup.AnchoredBubble"});OpenLayers.Popup.AnchoredBubble.CORNER_SIZE=5;OpenLayers.Projection=OpenLayers.Class({proj:null,projCode:null,initialize:function(b,a){OpenLayers.Util.extend(this,a);this.projCode=b;if(window.Proj4js){this.proj=new Proj4js.Proj(b)}},getCode:function(){return this.proj?this.proj.srsCode:this.projCode},getUnits:function(){return this.proj?this.proj.units:null},toString:function(){return this.getCode()},equals:function(a){if(a&&a.getCode){return this.getCode()==a.getCode()}else{return false}},destroy:function(){delete this.proj;delete this.projCode},CLASS_NAME:"OpenLayers.Projection"});OpenLayers.Projection.transforms={};OpenLayers.Projection.addTransform=function(c,b,a){if(!OpenLayers.Projection.transforms[c]){OpenLayers.Projection.transforms[c]={}}OpenLayers.Projection.transforms[c][b]=a};OpenLayers.Projection.transform=function(a,c,b){if(c.proj&&b.proj){a=Proj4js.transform(c.proj,b.proj,a)}else{if(c&&b&&OpenLayers.Projection.transforms[c.getCode()]&&OpenLayers.Projection.transforms[c.getCode()][b.getCode()]){OpenLayers.Projection.transforms[c.getCode()][b.getCode()](a)}}return a};OpenLayers.Tile=OpenLayers.Class({EVENT_TYPES:["loadstart","loadend","reload","unload"],events:null,id:null,layer:null,url:null,bounds:null,size:null,position:null,isLoading:false,initialize:function(d,a,e,b,c){this.layer=d;this.position=a.clone();this.bounds=e.clone();this.url=b;this.size=c.clone();this.id=OpenLayers.Util.createUniqueID("Tile_");this.events=new OpenLayers.Events(this,null,this.EVENT_TYPES)},unload:function(){if(this.isLoading){this.isLoading=false;this.events.triggerEvent("unload")}},destroy:function(){this.layer=null;this.bounds=null;this.size=null;this.position=null;this.events.destroy();this.events=null},clone:function(a){if(a==null){a=new OpenLayers.Tile(this.layer,this.position,this.bounds,this.url,this.size)}OpenLayers.Util.applyDefaults(a,this);return a},draw:function(){var a=this.layer.maxExtent;var b=(a&&this.bounds.intersectsBounds(a,false));this.shouldDraw=(b||this.layer.displayOutsideMaxExtent);this.clear();return this.shouldDraw},moveTo:function(b,a,c){if(c==null){c=true}this.bounds=b.clone();this.position=a.clone();if(c){this.draw()}},clear:function(){},getBoundsFromBaseLayer:function(a){var f=OpenLayers.i18n("reprojectDeprecated",{layerName:this.layer.name});OpenLayers.Console.warn(f);var d=this.layer.map.getLonLatFromLayerPx(a);var c=a.clone();c.x+=this.size.w;c.y+=this.size.h;var b=this.layer.map.getLonLatFromLayerPx(c);if(d.lon>b.lon){if(d.lon<0){d.lon=-180-(d.lon+180)}else{b.lon=180+b.lon+180}}var e=new OpenLayers.Bounds(d.lon,b.lat,b.lon,d.lat);return e},showTile:function(){if(this.shouldDraw){this.show()}},show:function(){},hide:function(){},CLASS_NAME:"OpenLayers.Tile"});OpenLayers.Handler=OpenLayers.Class({id:null,control:null,map:null,keyMask:null,active:false,evt:null,initialize:function(d,b,a){OpenLayers.Util.extend(this,a);this.control=d;this.callbacks=b;var c=this.map||d.map;if(c){this.setMap(c)}this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},setMap:function(a){this.map=a},checkModifiers:function(a){if(this.keyMask==null){return true}var b=(a.shiftKey?OpenLayers.Handler.MOD_SHIFT:0)|(a.ctrlKey?OpenLayers.Handler.MOD_CTRL:0)|(a.altKey?OpenLayers.Handler.MOD_ALT:0);return(b==this.keyMask)},activate:function(){if(this.active){return false}var c=OpenLayers.Events.prototype.BROWSER_EVENTS;for(var b=0,a=c.length;b<a;b++){if(this[c[b]]){this.register(c[b],this[c[b]])}}this.active=true;return true},deactivate:function(){if(!this.active){return false}var c=OpenLayers.Events.prototype.BROWSER_EVENTS;for(var b=0,a=c.length;b<a;b++){if(this[c[b]]){this.unregister(c[b],this[c[b]])}}this.active=false;return true},callback:function(b,a){if(b&&this.callbacks[b]){this.callbacks[b].apply(this.control,a)}},register:function(a,b){this.map.events.registerPriority(a,this,b);this.map.events.registerPriority(a,this,this.setEvent)},unregister:function(a,b){this.map.events.unregister(a,this,b);this.map.events.unregister(a,this,this.setEvent)},setEvent:function(a){this.evt=a;return true},destroy:function(){this.deactivate();this.control=this.map=null},CLASS_NAME:"OpenLayers.Handler"});OpenLayers.Handler.MOD_NONE=0;OpenLayers.Handler.MOD_SHIFT=1;OpenLayers.Handler.MOD_CTRL=2;OpenLayers.Handler.MOD_ALT=4;OpenLayers.Map=OpenLayers.Class({Z_INDEX_BASE:{BaseLayer:100,Overlay:325,Feature:725,Popup:750,Control:1000},EVENT_TYPES:["preaddlayer","addlayer","removelayer","changelayer","movestart","move","moveend","zoomend","popupopen","popupclose","addmarker","removemarker","clearmarkers","mouseover","mouseout","mousemove","dragstart","drag","dragend","changebaselayer"],id:null,fractionalZoom:false,events:null,allOverlays:false,div:null,dragging:false,size:null,viewPortDiv:null,layerContainerOrigin:null,layerContainerDiv:null,layers:null,controls:null,popups:null,baseLayer:null,center:null,resolution:null,zoom:0,panRatio:1.5,viewRequestID:0,tileSize:null,projection:"EPSG:4326",units:"degrees",resolutions:null,maxResolution:1.40625,minResolution:null,maxScale:null,minScale:null,maxExtent:null,minExtent:null,restrictedExtent:null,numZoomLevels:16,theme:null,displayProjection:null,fallThrough:true,panTween:null,eventListeners:null,panMethod:OpenLayers.Easing.Expo.easeOut,panDuration:50,paddingForPopups:null,initialize:function(h,d){if(arguments.length===1&&typeof h==="object"){d=h;h=d&&d.div}this.tileSize=new OpenLayers.Size(OpenLayers.Map.TILE_WIDTH,OpenLayers.Map.TILE_HEIGHT);this.maxExtent=new OpenLayers.Bounds(-180,-90,180,90);this.paddingForPopups=new OpenLayers.Bounds(15,15,15,15);this.theme=OpenLayers._getScriptLocation()+"theme/default/style.css";OpenLayers.Util.extend(this,d);this.layers=[];this.id=OpenLayers.Util.createUniqueID("OpenLayers.Map_");this.div=OpenLayers.Util.getElement(h);if(!this.div){this.div=document.createElement("div");this.div.style.height="1px";this.div.style.width="1px"}OpenLayers.Element.addClass(this.div,"olMap");var g=this.id+"_OpenLayers_ViewPort";this.viewPortDiv=OpenLayers.Util.createDiv(g,null,null,null,"relative",null,"hidden");this.viewPortDiv.style.width="100%";this.viewPortDiv.style.height="100%";this.viewPortDiv.className="olMapViewport";this.div.appendChild(this.viewPortDiv);g=this.id+"_OpenLayers_Container";this.layerContainerDiv=OpenLayers.Util.createDiv(g);this.layerContainerDiv.style.zIndex=this.Z_INDEX_BASE.Popup-1;this.viewPortDiv.appendChild(this.layerContainerDiv);this.events=new OpenLayers.Events(this,this.div,this.EVENT_TYPES,this.fallThrough,{includeXY:true});this.updateSize();if(this.eventListeners instanceof Object){this.events.on(this.eventListeners)}this.events.register("movestart",this,this.updateSize);if(OpenLayers.String.contains(navigator.appName,"Microsoft")){this.events.register("resize",this,this.updateSize)}else{this.updateSizeDestroy=OpenLayers.Function.bind(this.updateSize,this);OpenLayers.Event.observe(window,"resize",this.updateSizeDestroy)}if(this.theme){var f=true;var c=document.getElementsByTagName("link");for(var e=0,a=c.length;e<a;++e){if(OpenLayers.Util.isEquivalentUrl(c.item(e).href,this.theme)){f=false;break}}if(f){var b=document.createElement("link");b.setAttribute("rel","stylesheet");b.setAttribute("type","text/css");b.setAttribute("href",this.theme);document.getElementsByTagName("head")[0].appendChild(b)}}if(this.controls==null){if(OpenLayers.Control!=null){this.controls=[new OpenLayers.Control.Navigation(),new OpenLayers.Control.PanZoom(),new OpenLayers.Control.ArgParser(),new OpenLayers.Control.Attribution()]}else{this.controls=[]}}for(var e=0,a=this.controls.length;e<a;e++){this.addControlToMap(this.controls[e])}this.popups=[];this.unloadDestroy=OpenLayers.Function.bind(this.destroy,this);OpenLayers.Event.observe(window,"unload",this.unloadDestroy);if(d&&d.layers){this.addLayers(d.layers);if(d.center){this.setCenter(d.center,d.zoom)}}},render:function(a){this.div=OpenLayers.Util.getElement(a);OpenLayers.Element.addClass(this.div,"olMap");this.events.attachToElement(this.div);this.viewPortDiv.parentNode.removeChild(this.viewPortDiv);this.div.appendChild(this.viewPortDiv);this.updateSize()},unloadDestroy:null,updateSizeDestroy:null,destroy:function(){if(!this.unloadDestroy){return false}if(this.panTween){this.panTween.stop();this.panTween=null}OpenLayers.Event.stopObserving(window,"unload",this.unloadDestroy);this.unloadDestroy=null;if(this.updateSizeDestroy){OpenLayers.Event.stopObserving(window,"resize",this.updateSizeDestroy)}else{this.events.unregister("resize",this,this.updateSize)}this.paddingForPopups=null;if(this.controls!=null){for(var a=this.controls.length-1;a>=0;--a){this.controls[a].destroy()}this.controls=null}if(this.layers!=null){for(var a=this.layers.length-1;a>=0;--a){this.layers[a].destroy(false)}this.layers=null}if(this.viewPortDiv){this.div.removeChild(this.viewPortDiv)}this.viewPortDiv=null;if(this.eventListeners){this.events.un(this.eventListeners);this.eventListeners=null}this.events.destroy();this.events=null},setOptions:function(a){OpenLayers.Util.extend(this,a)},getTileSize:function(){return this.tileSize},getBy:function(e,c,a){var d=(typeof a.test=="function");var b=OpenLayers.Array.filter(this[e],function(f){return f[c]==a||(d&&a.test(f[c]))});return b},getLayersBy:function(b,a){return this.getBy("layers",b,a)},getLayersByName:function(a){return this.getLayersBy("name",a)},getLayersByClass:function(a){return this.getLayersBy("CLASS_NAME",a)},getControlsBy:function(b,a){return this.getBy("controls",b,a)},getControlsByClass:function(a){return this.getControlsBy("CLASS_NAME",a)},getLayer:function(e){var b=null;for(var d=0,a=this.layers.length;d<a;d++){var c=this.layers[d];if(c.id==e){b=c;break}}return b},setLayerZIndex:function(b,a){b.setZIndex(this.Z_INDEX_BASE[b.isBaseLayer?"BaseLayer":"Overlay"]+a*5)},resetLayersZIndex:function(){for(var c=0,a=this.layers.length;c<a;c++){var b=this.layers[c];this.setLayerZIndex(b,c)}},addLayer:function(c){for(var b=0,a=this.layers.length;b<a;b++){if(this.layers[b]==c){var d=OpenLayers.i18n("layerAlreadyAdded",{layerName:c.name});OpenLayers.Console.warn(d);return false}}if(this.allOverlays){c.isBaseLayer=false}if(this.events.triggerEvent("preaddlayer",{layer:c})===false){return}c.div.className="olLayerDiv";c.div.style.overflow="";this.setLayerZIndex(c,this.layers.length);if(c.isFixed){this.viewPortDiv.appendChild(c.div)}else{this.layerContainerDiv.appendChild(c.div)}this.layers.push(c);c.setMap(this);if(c.isBaseLayer||(this.allOverlays&&!this.baseLayer)){if(this.baseLayer==null){this.setBaseLayer(c)}else{c.setVisibility(false)}}else{c.redraw()}this.events.triggerEvent("addlayer",{layer:c});c.afterAdd()},addLayers:function(c){for(var b=0,a=c.length;b<a;b++){this.addLayer(c[b])}},removeLayer:function(c,e){if(e==null){e=true}if(c.isFixed){this.viewPortDiv.removeChild(c.div)}else{this.layerContainerDiv.removeChild(c.div)}OpenLayers.Util.removeItem(this.layers,c);c.removeMap(this);c.map=null;if(this.baseLayer==c){this.baseLayer=null;if(e){for(var b=0,a=this.layers.length;b<a;b++){var d=this.layers[b];if(d.isBaseLayer||this.allOverlays){this.setBaseLayer(d);break}}}}this.resetLayersZIndex();this.events.triggerEvent("removelayer",{layer:c})},getNumLayers:function(){return this.layers.length},getLayerIndex:function(a){return OpenLayers.Util.indexOf(this.layers,a)},setLayerIndex:function(d,b){var e=this.getLayerIndex(d);if(b<0){b=0}else{if(b>this.layers.length){b=this.layers.length}}if(e!=b){this.layers.splice(e,1);this.layers.splice(b,0,d);for(var c=0,a=this.layers.length;c<a;c++){this.setLayerZIndex(this.layers[c],c)}this.events.triggerEvent("changelayer",{layer:d,property:"order"});if(this.allOverlays){if(b===0){this.setBaseLayer(d)}else{if(this.baseLayer!==this.layers[0]){this.setBaseLayer(this.layers[0])}}}}},raiseLayer:function(b,c){var a=this.getLayerIndex(b)+c;this.setLayerIndex(b,a)},setBaseLayer:function(c){if(c!=this.baseLayer){if(OpenLayers.Util.indexOf(this.layers,c)!=-1){var a=this.getCenter();var d=OpenLayers.Util.getResolutionFromScale(this.getScale(),c.units);if(this.baseLayer!=null&&!this.allOverlays){this.baseLayer.setVisibility(false)}this.baseLayer=c;this.viewRequestID++;if(!this.allOverlays||this.baseLayer.visibility){this.baseLayer.setVisibility(true)}if(a!=null){var b=this.getZoomForResolution(d||this.resolution,true);this.setCenter(a,b,false,true)}this.events.triggerEvent("changebaselayer",{layer:this.baseLayer})}}},addControl:function(b,a){this.controls.push(b);this.addControlToMap(b,a)},addControls:function(b,g){var e=(arguments.length===1)?[]:g;for(var d=0,a=b.length;d<a;d++){var f=b[d];var c=(e[d])?e[d]:null;this.addControl(f,c)}},addControlToMap:function(b,a){b.outsideViewport=(b.div!=null);if(this.displayProjection&&!b.displayProjection){b.displayProjection=this.displayProjection}b.setMap(this);var c=b.draw(a);if(c){if(!b.outsideViewport){c.style.zIndex=this.Z_INDEX_BASE.Control+this.controls.length;this.viewPortDiv.appendChild(c)}}if(b.autoActivate){b.activate()}},getControl:function(e){var b=null;for(var c=0,a=this.controls.length;c<a;c++){var d=this.controls[c];if(d.id==e){b=d;break}}return b},removeControl:function(a){if((a)&&(a==this.getControl(a.id))){if(a.div&&(a.div.parentNode==this.viewPortDiv)){this.viewPortDiv.removeChild(a.div)}OpenLayers.Util.removeItem(this.controls,a)}},addPopup:function(a,d){if(d){for(var b=this.popups.length-1;b>=0;--b){this.removePopup(this.popups[b])}}a.map=this;this.popups.push(a);var c=a.draw();if(c){c.style.zIndex=this.Z_INDEX_BASE.Popup+this.popups.length;this.layerContainerDiv.appendChild(c)}},removePopup:function(a){OpenLayers.Util.removeItem(this.popups,a);if(a.div){try{this.layerContainerDiv.removeChild(a.div)}catch(b){}}a.map=null},getSize:function(){var a=null;if(this.size!=null){a=this.size.clone()}return a},updateSize:function(){var c=this.getCurrentSize();if(c&&!isNaN(c.h)&&!isNaN(c.w)){this.events.clearMouseCache();var f=this.getSize();if(f==null){this.size=f=c}if(!c.equals(f)){this.size=c;for(var d=0,b=this.layers.length;d<b;d++){this.layers[d].onMapResize()}var a=this.getCenter();if(this.baseLayer!=null&&a!=null){var e=this.getZoom();this.zoom=null;this.setCenter(a,e)}}}},getCurrentSize:function(){var a=new OpenLayers.Size(this.div.clientWidth,this.div.clientHeight);if(a.w==0&&a.h==0||isNaN(a.w)&&isNaN(a.h)){a.w=this.div.offsetWidth;a.h=this.div.offsetHeight}if(a.w==0&&a.h==0||isNaN(a.w)&&isNaN(a.h)){a.w=parseInt(this.div.style.width);a.h=parseInt(this.div.style.height)}return a},calculateBounds:function(a,b){var e=null;if(a==null){a=this.getCenter()}if(b==null){b=this.getResolution()}if((a!=null)&&(b!=null)){var d=this.getSize();var f=d.w*b;var c=d.h*b;e=new OpenLayers.Bounds(a.lon-f/2,a.lat-c/2,a.lon+f/2,a.lat+c/2)}return e},getCenter:function(){var a=null;if(this.center){a=this.center.clone()}return a},getZoom:function(){return this.zoom},pan:function(d,c,e){e=OpenLayers.Util.applyDefaults(e,{animate:true,dragging:false});var f=this.getViewPortPxFromLonLat(this.getCenter());var b=f.add(d,c);if(!e.dragging||!b.equals(f)){var a=this.getLonLatFromViewPortPx(b);if(e.animate){this.panTo(a)}else{this.setCenter(a,null,e.dragging)}}},panTo:function(b){if(this.panMethod&&this.getExtent().scale(this.panRatio).containsLonLat(b)){if(!this.panTween){this.panTween=new OpenLayers.Tween(this.panMethod)}var a=this.getCenter();if(b.lon==a.lon&&b.lat==a.lat){return}var d={lon:a.lon,lat:a.lat};var c={lon:b.lon,lat:b.lat};this.panTween.start(d,c,this.panDuration,{callbacks:{start:OpenLayers.Function.bind(function(e){this.events.triggerEvent("movestart")},this),eachStep:OpenLayers.Function.bind(function(e){e=new OpenLayers.LonLat(e.lon,e.lat);this.moveTo(e,this.zoom,{dragging:true,noEvent:true})},this),done:OpenLayers.Function.bind(function(e){e=new OpenLayers.LonLat(e.lon,e.lat);this.moveTo(e,this.zoom,{noEvent:true});this.events.triggerEvent("moveend")},this)}})}else{this.setCenter(b)}},setCenter:function(c,a,b,d){this.moveTo(c,a,{dragging:b,forceZoomChange:d,caller:"setCenter"})},moveTo:function(g,n,q){if(!q){q={}}if(n!=null){n=parseFloat(n);if(!this.fractionalZoom){n=Math.round(n)}}var m=q.dragging;var c=q.forceZoomChange;var h=q.noEvent;if(this.panTween&&q.caller=="setCenter"){this.panTween.stop()}if(!this.center&&!this.isValidLonLat(g)){g=this.maxExtent.getCenterLonLat()}if(this.restrictedExtent!=null){if(g==null){g=this.getCenter()}if(n==null){n=this.getZoom()}var d=this.getResolutionForZoom(n);var o=this.calculateBounds(g,d);if(!this.restrictedExtent.containsBounds(o)){var p=this.restrictedExtent.getCenterLonLat();if(o.getWidth()>this.restrictedExtent.getWidth()){g=new OpenLayers.LonLat(p.lon,g.lat)}else{if(o.left<this.restrictedExtent.left){g=g.add(this.restrictedExtent.left-o.left,0)}else{if(o.right>this.restrictedExtent.right){g=g.add(this.restrictedExtent.right-o.right,0)}}}if(o.getHeight()>this.restrictedExtent.getHeight()){g=new OpenLayers.LonLat(g.lon,p.lat)}else{if(o.bottom<this.restrictedExtent.bottom){g=g.add(0,this.restrictedExtent.bottom-o.bottom)}else{if(o.top>this.restrictedExtent.top){g=g.add(0,this.restrictedExtent.top-o.top)}}}}}var b=c||((this.isValidZoomLevel(n))&&(n!=this.getZoom()));var e=(this.isValidLonLat(g))&&(!g.equals(this.center));if(b||e||!m){if(!this.dragging&&!h){this.events.triggerEvent("movestart")}if(e){if((!b)&&(this.center)){this.centerLayerContainer(g)}this.center=g.clone()}if((b)||(this.layerContainerOrigin==null)){this.layerContainerOrigin=this.center.clone();this.layerContainerDiv.style.left="0px";this.layerContainerDiv.style.top="0px"}if(b){this.zoom=n;this.resolution=this.getResolutionForZoom(n);this.viewRequestID++}var a=this.getExtent();if(this.baseLayer.visibility){this.baseLayer.moveTo(a,b,m);if(m){this.baseLayer.events.triggerEvent("move")}else{this.baseLayer.events.triggerEvent("moveend",{zoomChanged:b})}}a=this.baseLayer.getExtent();for(var f=0,k=this.layers.length;f<k;f++){var j=this.layers[f];if(j!==this.baseLayer&&!j.isBaseLayer){var l=j.calculateInRange();if(j.inRange!=l){j.inRange=l;if(!l){j.display(false)}this.events.triggerEvent("changelayer",{layer:j,property:"visibility"})}if(l&&j.visibility){j.moveTo(a,b,m);if(m){j.events.triggerEvent("move")}else{j.events.triggerEvent("moveend",{zoomChanged:b})}}}}if(b){for(var f=0,k=this.popups.length;f<k;f++){this.popups[f].updatePosition()}}this.events.triggerEvent("move");if(b){this.events.triggerEvent("zoomend")}}if(!m&&!h){this.events.triggerEvent("moveend")}this.dragging=!!m},centerLayerContainer:function(b){var a=this.getViewPortPxFromLonLat(this.layerContainerOrigin);var c=this.getViewPortPxFromLonLat(b);if((a!=null)&&(c!=null)){this.layerContainerDiv.style.left=Math.round(a.x-c.x)+"px";this.layerContainerDiv.style.top=Math.round(a.y-c.y)+"px"}},isValidZoomLevel:function(a){return((a!=null)&&(a>=0)&&(a<this.getNumZoomLevels()))},isValidLonLat:function(c){var b=false;if(c!=null){var a=this.getMaxExtent();b=a.containsLonLat(c)}return b},getProjection:function(){var a=this.getProjectionObject();return a?a.getCode():null},getProjectionObject:function(){var a=null;if(this.baseLayer!=null){a=this.baseLayer.projection}return a},getMaxResolution:function(){var a=null;if(this.baseLayer!=null){a=this.baseLayer.maxResolution}return a},getMaxExtent:function(b){var a=null;if(b&&b.restricted&&this.restrictedExtent){a=this.restrictedExtent}else{if(this.baseLayer!=null){a=this.baseLayer.maxExtent}}return a},getNumZoomLevels:function(){var a=null;if(this.baseLayer!=null){a=this.baseLayer.numZoomLevels}return a},getExtent:function(){var a=null;if(this.baseLayer!=null){a=this.baseLayer.getExtent()}return a},getResolution:function(){var a=null;if(this.baseLayer!=null){a=this.baseLayer.getResolution()}else{if(this.allOverlays===true&&this.layers.length>0){a=this.layers[0].getResolution()}}return a},getUnits:function(){var a=null;if(this.baseLayer!=null){a=this.baseLayer.units}return a},getScale:function(){var c=null;if(this.baseLayer!=null){var b=this.getResolution();var a=this.baseLayer.units;c=OpenLayers.Util.getScaleFromResolution(b,a)}return c},getZoomForExtent:function(c,b){var a=null;if(this.baseLayer!=null){a=this.baseLayer.getZoomForExtent(c,b)}return a},getResolutionForZoom:function(b){var a=null;if(this.baseLayer){a=this.baseLayer.getResolutionForZoom(b)}return a},getZoomForResolution:function(a,c){var b=null;if(this.baseLayer!=null){b=this.baseLayer.getZoomForResolution(a,c)}return b},zoomTo:function(a){if(this.isValidZoomLevel(a)){this.setCenter(null,a)}},zoomIn:function(){this.zoomTo(this.getZoom()+1)},zoomOut:function(){this.zoomTo(this.getZoom()-1)},zoomToExtent:function(d,c){var b=d.getCenterLonLat();if(this.baseLayer.wrapDateLine){var a=this.getMaxExtent();d=d.clone();while(d.right<d.left){d.right+=a.getWidth()}b=d.getCenterLonLat().wrapDateLine(a)}this.setCenter(b,this.getZoomForExtent(d,c))},zoomToMaxExtent:function(c){var b=(c)?c.restricted:true;var a=this.getMaxExtent({restricted:b});this.zoomToExtent(a)},zoomToScale:function(h,g){var d=OpenLayers.Util.getResolutionFromScale(h,this.baseLayer.units);var c=this.getSize();var f=c.w*d;var b=c.h*d;var a=this.getCenter();var e=new OpenLayers.Bounds(a.lon-f/2,a.lat-b/2,a.lon+f/2,a.lat+b/2);this.zoomToExtent(e,g)},getLonLatFromViewPortPx:function(a){var b=null;if(this.baseLayer!=null){b=this.baseLayer.getLonLatFromViewPortPx(a)}return b},getViewPortPxFromLonLat:function(b){var a=null;if(this.baseLayer!=null){a=this.baseLayer.getViewPortPxFromLonLat(b)}return a},getLonLatFromPixel:function(a){return this.getLonLatFromViewPortPx(a)},getPixelFromLonLat:function(b){var a=this.getViewPortPxFromLonLat(b);a.x=Math.round(a.x);a.y=Math.round(a.y);return a},getGeodesicPixelSize:function(g){var d=g?this.getLonLatFromPixel(g):(this.getCenter()||new OpenLayers.LonLat(0,0));var e=this.getResolution();var c=d.add(-e/2,0);var i=d.add(e/2,0);var b=d.add(0,-e/2);var f=d.add(0,e/2);var h=new OpenLayers.Projection("EPSG:4326");var a=this.getProjectionObject()||h;if(!a.equals(h)){c.transform(a,h);i.transform(a,h);b.transform(a,h);f.transform(a,h)}return new OpenLayers.Size(OpenLayers.Util.distVincenty(c,i),OpenLayers.Util.distVincenty(b,f))},getViewPortPxFromLayerPx:function(d){var c=null;if(d!=null){var b=parseInt(this.layerContainerDiv.style.left);var a=parseInt(this.layerContainerDiv.style.top);c=d.add(b,a)}return c},getLayerPxFromViewPortPx:function(c){var d=null;if(c!=null){var b=-parseInt(this.layerContainerDiv.style.left);var a=-parseInt(this.layerContainerDiv.style.top);d=c.add(b,a);if(isNaN(d.x)||isNaN(d.y)){d=null}}return d},getLonLatFromLayerPx:function(a){a=this.getViewPortPxFromLayerPx(a);return this.getLonLatFromViewPortPx(a)},getLayerPxFromLonLat:function(b){var a=this.getPixelFromLonLat(b);return this.getLayerPxFromViewPortPx(a)},CLASS_NAME:"OpenLayers.Map"});OpenLayers.Map.TILE_WIDTH=256;OpenLayers.Map.TILE_HEIGHT=256;OpenLayers.Marker=OpenLayers.Class({icon:null,lonlat:null,events:null,map:null,initialize:function(c,b){this.lonlat=c;var a=(b)?b:OpenLayers.Marker.defaultIcon();if(this.icon==null){this.icon=a}else{this.icon.url=a.url;this.icon.size=a.size;this.icon.offset=a.offset;this.icon.calculateOffset=a.calculateOffset}this.events=new OpenLayers.Events(this,this.icon.imageDiv,null)},destroy:function(){this.erase();this.map=null;this.events.destroy();this.events=null;if(this.icon!=null){this.icon.destroy();this.icon=null}},draw:function(a){return this.icon.draw(a)},erase:function(){if(this.icon!=null){this.icon.erase()}},moveTo:function(a){if((a!=null)&&(this.icon!=null)){this.icon.moveTo(a)}this.lonlat=this.map.getLonLatFromLayerPx(a)},isDrawn:function(){var a=(this.icon&&this.icon.isDrawn());return a},onScreen:function(){var b=false;if(this.map){var a=this.map.getExtent();b=a.containsLonLat(this.lonlat)}return b},inflate:function(b){if(this.icon){var a=new OpenLayers.Size(this.icon.size.w*b,this.icon.size.h*b);this.icon.setSize(a)}},setOpacity:function(a){this.icon.setOpacity(a)},setUrl:function(a){this.icon.setUrl(a)},display:function(a){this.icon.display(a)},CLASS_NAME:"OpenLayers.Marker"});OpenLayers.Marker.defaultIcon=function(){var a=OpenLayers.Util.getImagesLocation()+"marker.png";var b=new OpenLayers.Size(21,25);var c=function(d){return new OpenLayers.Pixel(-(d.w/2),-d.h)};return new OpenLayers.Icon(a,b,null,c)};OpenLayers.Tile.Image=OpenLayers.Class(OpenLayers.Tile,{url:null,imgDiv:null,frame:null,layerAlphaHack:null,isBackBuffer:false,lastRatio:1,isFirstDraw:true,backBufferTile:null,initialize:function(d,a,e,b,c){OpenLayers.Tile.prototype.initialize.apply(this,arguments);this.url=b;this.frame=document.createElement("div");this.frame.style.overflow="hidden";this.frame.style.position="absolute";this.layerAlphaHack=this.layer.alpha&&OpenLayers.Util.alphaHack()},destroy:function(){if(this.imgDiv!=null){if(this.layerAlphaHack){OpenLayers.Event.stopObservingElement(this.imgDiv.childNodes[0])}OpenLayers.Event.stopObservingElement(this.imgDiv);if(this.imgDiv.parentNode==this.frame){this.frame.removeChild(this.imgDiv);this.imgDiv.map=null}this.imgDiv.urls=null;this.imgDiv.src=OpenLayers.Util.getImagesLocation()+"blank.gif"}this.imgDiv=null;if((this.frame!=null)&&(this.frame.parentNode==this.layer.div)){this.layer.div.removeChild(this.frame)}this.frame=null;if(this.backBufferTile){this.backBufferTile.destroy();this.backBufferTile=null}this.layer.events.unregister("loadend",this,this.resetBackBuffer);OpenLayers.Tile.prototype.destroy.apply(this,arguments)},clone:function(a){if(a==null){a=new OpenLayers.Tile.Image(this.layer,this.position,this.bounds,this.url,this.size)}a=OpenLayers.Tile.prototype.clone.apply(this,[a]);a.imgDiv=null;return a},draw:function(){if(this.layer!=this.layer.map.baseLayer&&this.layer.reproject){this.bounds=this.getBoundsFromBaseLayer(this.position)}var a=OpenLayers.Tile.prototype.draw.apply(this,arguments);if((OpenLayers.Util.indexOf(this.layer.SUPPORTED_TRANSITIONS,this.layer.transitionEffect)!=-1)||this.layer.singleTile){if(a){if(!this.backBufferTile){this.backBufferTile=this.clone();this.backBufferTile.hide();this.backBufferTile.isBackBuffer=true;this.events.register("loadend",this,this.resetBackBuffer);this.layer.events.register("loadend",this,this.resetBackBuffer)}this.startTransition()}else{if(this.backBufferTile){this.backBufferTile.clear()}}}else{if(a&&this.isFirstDraw){this.events.register("loadend",this,this.showTile);this.isFirstDraw=false}}if(!a){return false}if(this.isLoading){this.events.triggerEvent("reload")}else{this.isLoading=true;this.events.triggerEvent("loadstart")}return this.renderTile()},resetBackBuffer:function(){this.showTile();if(this.backBufferTile&&(this.isFirstDraw||!this.layer.numLoadingTiles)){this.isFirstDraw=false;var a=this.layer.maxExtent;var b=(a&&this.bounds.intersectsBounds(a,false));if(b){this.backBufferTile.position=this.position;this.backBufferTile.bounds=this.bounds;this.backBufferTile.size=this.size;this.backBufferTile.imageSize=this.layer.getImageSize(this.bounds)||this.size;this.backBufferTile.imageOffset=this.layer.imageOffset;this.backBufferTile.resolution=this.layer.getResolution();this.backBufferTile.renderTile()}this.backBufferTile.hide()}},renderTile:function(){if(this.imgDiv==null){this.initImgDiv()}this.imgDiv.viewRequestID=this.layer.map.viewRequestID;if(this.layer.async){this.layer.getURLasync(this.bounds,this,"url",this.positionImage)}else{if(this.layer.url instanceof Array){this.imgDiv.urls=this.layer.url.slice()}this.url=this.layer.getURL(this.bounds);this.positionImage()}return true},positionImage:function(){if(this.layer===null){return}OpenLayers.Util.modifyDOMElement(this.frame,null,this.position,this.size);var a=this.layer.getImageSize(this.bounds);if(this.layerAlphaHack){OpenLayers.Util.modifyAlphaImageDiv(this.imgDiv,null,null,a,this.url)}else{OpenLayers.Util.modifyDOMElement(this.imgDiv,null,null,a);this.imgDiv.src=this.url}},clear:function(){if(this.imgDiv){this.hide();if(OpenLayers.Tile.Image.useBlankTile){this.imgDiv.src=OpenLayers.Util.getImagesLocation()+"blank.gif"}}},initImgDiv:function(){var d=this.layer.imageOffset;var b=this.layer.getImageSize(this.bounds);if(this.layerAlphaHack){this.imgDiv=OpenLayers.Util.createAlphaImageDiv(null,d,b,null,"relative",null,null,null,true)}else{this.imgDiv=OpenLayers.Util.createImage(null,d,b,null,"relative",null,null,true)}this.imgDiv.className="olTileImage";this.frame.style.zIndex=this.isBackBuffer?0:1;this.frame.appendChild(this.imgDiv);this.layer.div.appendChild(this.frame);if(this.layer.opacity!=null){OpenLayers.Util.modifyDOMElement(this.imgDiv,null,null,null,null,null,null,this.layer.opacity)}this.imgDiv.map=this.layer.map;var c=function(){if(this.isLoading){this.isLoading=false;this.events.triggerEvent("loadend")}};if(this.layerAlphaHack){OpenLayers.Event.observe(this.imgDiv.childNodes[0],"load",OpenLayers.Function.bind(c,this))}else{OpenLayers.Event.observe(this.imgDiv,"load",OpenLayers.Function.bind(c,this))}var a=function(){if(this.imgDiv._attempts>OpenLayers.IMAGE_RELOAD_ATTEMPTS){c.call(this)}};OpenLayers.Event.observe(this.imgDiv,"error",OpenLayers.Function.bind(a,this))},checkImgURL:function(){if(this.layer){var a=this.layerAlphaHack?this.imgDiv.firstChild.src:this.imgDiv.src;if(!OpenLayers.Util.isEquivalentUrl(a,this.url)){this.hide()}}},startTransition:function(){if(!this.backBufferTile||!this.backBufferTile.imgDiv){return}var d=1;if(this.backBufferTile.resolution){d=this.backBufferTile.resolution/this.layer.getResolution()}if(d!=this.lastRatio){if(this.layer.transitionEffect=="resize"){var c=new OpenLayers.LonLat(this.backBufferTile.bounds.left,this.backBufferTile.bounds.top);var b=new OpenLayers.Size(this.backBufferTile.size.w*d,this.backBufferTile.size.h*d);var a=this.layer.map.getLayerPxFromLonLat(c);OpenLayers.Util.modifyDOMElement(this.backBufferTile.frame,null,a,b);var e=this.backBufferTile.imageSize;e=new OpenLayers.Size(e.w*d,e.h*d);var f=this.backBufferTile.imageOffset;if(f){f=new OpenLayers.Pixel(f.x*d,f.y*d)}OpenLayers.Util.modifyDOMElement(this.backBufferTile.imgDiv,null,f,e);this.backBufferTile.show()}}else{if(this.layer.singleTile){this.backBufferTile.show()}else{this.backBufferTile.hide()}}this.lastRatio=d},show:function(){this.frame.style.display="";if(OpenLayers.Util.indexOf(this.layer.SUPPORTED_TRANSITIONS,this.layer.transitionEffect)!=-1){if(navigator.userAgent.toLowerCase().indexOf("gecko")!=-1){this.frame.scrollLeft=this.frame.scrollLeft}}},hide:function(){this.frame.style.display="none"},CLASS_NAME:"OpenLayers.Tile.Image"});OpenLayers.Tile.Image.useBlankTile=(OpenLayers.Util.getBrowserName()=="safari"||OpenLayers.Util.getBrowserName()=="opera");OpenLayers.Feature=OpenLayers.Class({layer:null,id:null,lonlat:null,data:null,marker:null,popupClass:OpenLayers.Popup.AnchoredBubble,popup:null,initialize:function(a,c,b){this.layer=a;this.lonlat=c;this.data=(b!=null)?b:{};this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},destroy:function(){if((this.layer!=null)&&(this.layer.map!=null)){if(this.popup!=null){this.layer.map.removePopup(this.popup)}}if(this.layer!=null&&this.marker!=null){this.layer.removeMarker(this.marker)}this.layer=null;this.id=null;this.lonlat=null;this.data=null;if(this.marker!=null){this.destroyMarker(this.marker);this.marker=null}if(this.popup!=null){this.destroyPopup(this.popup);this.popup=null}},onScreen:function(){var b=false;if((this.layer!=null)&&(this.layer.map!=null)){var a=this.layer.map.getExtent();b=a.containsLonLat(this.lonlat)}return b},createMarker:function(){if(this.lonlat!=null){this.marker=new OpenLayers.Marker(this.lonlat,this.data.icon)}return this.marker},destroyMarker:function(){this.marker.destroy()},createPopup:function(b){if(this.lonlat!=null){var c=this.id+"_popup";var a=(this.marker)?this.marker.icon:null;if(!this.popup){this.popup=new this.popupClass(c,this.lonlat,this.data.popupSize,this.data.popupContentHTML,a,b)}if(this.data.overflow!=null){this.popup.contentDiv.style.overflow=this.data.overflow}this.popup.feature=this}return this.popup},destroyPopup:function(){if(this.popup){this.popup.feature=null;this.popup.destroy();this.popup=null}},CLASS_NAME:"OpenLayers.Feature"});OpenLayers.Handler.Click=OpenLayers.Class(OpenLayers.Handler,{delay:300,single:true,"double":false,pixelTolerance:0,stopSingle:false,stopDouble:false,timerId:null,down:null,rightclickTimerId:null,initialize:function(c,b,a){OpenLayers.Handler.prototype.initialize.apply(this,arguments);if(this.pixelTolerance!=null){this.mousedown=function(d){this.down=d.xy;return true}}},mousedown:null,mouseup:function(b){var a=true;if(this.checkModifiers(b)&&this.control.handleRightClicks&&OpenLayers.Event.isRightClick(b)){a=this.rightclick(b)}return a},rightclick:function(b){if(this.passesTolerance(b)){if(this.rightclickTimerId!=null){this.clearTimer();this.callback("dblrightclick",[b]);return !this.stopDouble}else{var a=this["double"]?OpenLayers.Util.extend({},b):this.callback("rightclick",[b]);var c=OpenLayers.Function.bind(this.delayedRightCall,this,a);this.rightclickTimerId=window.setTimeout(c,this.delay)}}return !this.stopSingle},delayedRightCall:function(a){this.rightclickTimerId=null;if(a){this.callback("rightclick",[a])}return !this.stopSingle},dblclick:function(a){if(this.passesTolerance(a)){if(this["double"]){this.callback("dblclick",[a])}this.clearTimer()}return !this.stopDouble},click:function(b){if(this.passesTolerance(b)){if(this.timerId!=null){this.clearTimer()}else{var a=this.single?OpenLayers.Util.extend({},b):null;this.timerId=window.setTimeout(OpenLayers.Function.bind(this.delayedCall,this,a),this.delay)}}return !this.stopSingle},passesTolerance:function(b){var c=true;if(this.pixelTolerance!=null&&this.down){var a=Math.sqrt(Math.pow(this.down.x-b.xy.x,2)+Math.pow(this.down.y-b.xy.y,2));if(a>this.pixelTolerance){c=false}}return c},clearTimer:function(){if(this.timerId!=null){window.clearTimeout(this.timerId);this.timerId=null}if(this.rightclickTimerId!=null){window.clearTimeout(this.rightclickTimerId);this.rightclickTimerId=null}},delayedCall:function(a){this.timerId=null;if(a){this.callback("click",[a])}},deactivate:function(){var a=false;if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){this.clearTimer();this.down=null;a=true}return a},CLASS_NAME:"OpenLayers.Handler.Click"});OpenLayers.Handler.Drag=OpenLayers.Class(OpenLayers.Handler,{started:false,stopDown:true,dragging:false,last:null,start:null,oldOnselectstart:null,interval:0,timeoutId:null,documentDrag:false,documentEvents:null,initialize:function(c,b,a){OpenLayers.Handler.prototype.initialize.apply(this,arguments)},down:function(a){},move:function(a){},up:function(a){},out:function(a){},mousedown:function(b){var a=true;this.dragging=false;if(this.checkModifiers(b)&&OpenLayers.Event.isLeftClick(b)){this.started=true;this.start=b.xy;this.last=b.xy;OpenLayers.Element.addClass(this.map.viewPortDiv,"olDragDown");this.down(b);this.callback("down",[b.xy]);OpenLayers.Event.stop(b);if(!this.oldOnselectstart){this.oldOnselectstart=(document.onselectstart)?document.onselectstart:OpenLayers.Function.True}document.onselectstart=OpenLayers.Function.False;a=!this.stopDown}else{this.started=false;this.start=null;this.last=null}return a},mousemove:function(a){if(this.started&&!this.timeoutId&&(a.xy.x!=this.last.x||a.xy.y!=this.last.y)){if(this.documentDrag===true&&this.documentEvents){if(a.element===document){this.adjustXY(a);this.setEvent(a)}else{this.destroyDocumentEvents()}}if(this.interval>0){this.timeoutId=setTimeout(OpenLayers.Function.bind(this.removeTimeout,this),this.interval)}this.dragging=true;this.move(a);this.callback("move",[a.xy]);if(!this.oldOnselectstart){this.oldOnselectstart=document.onselectstart;document.onselectstart=OpenLayers.Function.False}this.last=this.evt.xy}return true},removeTimeout:function(){this.timeoutId=null},mouseup:function(b){if(this.started){if(this.documentDrag===true&&this.documentEvents){this.adjustXY(b);this.destroyDocumentEvents()}var a=(this.start!=this.last);this.started=false;this.dragging=false;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDragDown");this.up(b);this.callback("up",[b.xy]);if(a){this.callback("done",[b.xy])}document.onselectstart=this.oldOnselectstart}return true},mouseout:function(b){if(this.started&&OpenLayers.Util.mouseLeft(b,this.map.div)){if(this.documentDrag===true){this.documentEvents=new OpenLayers.Events(this,document,null,null,{includeXY:true});this.documentEvents.on({mousemove:this.mousemove,mouseup:this.mouseup});OpenLayers.Element.addClass(document.body,"olDragDown")}else{var a=(this.start!=this.last);this.started=false;this.dragging=false;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDragDown");this.out(b);this.callback("out",[]);if(a){this.callback("done",[b.xy])}if(document.onselectstart){document.onselectstart=this.oldOnselectstart}}}return true},click:function(a){return(this.start==this.last)},activate:function(){var a=false;if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){this.dragging=false;a=true}return a},deactivate:function(){var a=false;if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){this.started=false;this.dragging=false;this.start=null;this.last=null;a=true;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDragDown")}return a},adjustXY:function(a){var b=OpenLayers.Util.pagePosition(this.map.div);a.xy.x-=b[0];a.xy.y-=b[1]},destroyDocumentEvents:function(){OpenLayers.Element.removeClass(document.body,"olDragDown");this.documentEvents.destroy();this.documentEvents=null},CLASS_NAME:"OpenLayers.Handler.Drag"});OpenLayers.Handler.MouseWheel=OpenLayers.Class(OpenLayers.Handler,{wheelListener:null,mousePosition:null,interval:0,delta:0,cumulative:true,initialize:function(c,b,a){OpenLayers.Handler.prototype.initialize.apply(this,arguments);this.wheelListener=OpenLayers.Function.bindAsEventListener(this.onWheelEvent,this)},destroy:function(){OpenLayers.Handler.prototype.destroy.apply(this,arguments);this.wheelListener=null},onWheelEvent:function(k){if(!this.map||!this.checkModifiers(k)){return}var g=false;var m=false;var f=false;var b=OpenLayers.Event.element(k);while((b!=null)&&!f&&!g){if(!g){try{if(b.currentStyle){c=b.currentStyle.overflow}else{var a=document.defaultView.getComputedStyle(b,null);var c=a.getPropertyValue("overflow")}g=(c&&(c=="auto")||(c=="scroll"))}catch(d){}}if(!m){for(var h=0,j=this.map.layers.length;h<j;h++){if(b==this.map.layers[h].div||b==this.map.layers[h].pane){m=true;break}}}f=(b==this.map.div);b=b.parentNode}if(!g&&f){if(m){var l=0;if(!k){k=window.event}if(k.wheelDelta){l=k.wheelDelta/120;if(window.opera&&window.opera.version()<9.2){l=-l}}else{if(k.detail){l=-k.detail/3}}this.delta=this.delta+l;if(this.interval){window.clearTimeout(this._timeoutId);this._timeoutId=window.setTimeout(OpenLayers.Function.bind(function(){this.wheelZoom(k)},this),this.interval)}else{this.wheelZoom(k)}}OpenLayers.Event.stop(k)}},wheelZoom:function(a){var b=this.delta;this.delta=0;if(b){if(this.mousePosition){a.xy=this.mousePosition}if(!a.xy){a.xy=this.map.getPixelFromLonLat(this.map.getCenter())}if(b<0){this.callback("down",[a,this.cumulative?b:-1])}else{this.callback("up",[a,this.cumulative?b:1])}}},mousemove:function(a){this.mousePosition=a.xy},activate:function(a){if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){var b=this.wheelListener;OpenLayers.Event.observe(window,"DOMMouseScroll",b);OpenLayers.Event.observe(window,"mousewheel",b);OpenLayers.Event.observe(document,"mousewheel",b);return true}else{return false}},deactivate:function(a){if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){var b=this.wheelListener;OpenLayers.Event.stopObserving(window,"DOMMouseScroll",b);OpenLayers.Event.stopObserving(window,"mousewheel",b);OpenLayers.Event.stopObserving(document,"mousewheel",b);return true}else{return false}},CLASS_NAME:"OpenLayers.Handler.MouseWheel"});OpenLayers.Layer=OpenLayers.Class({id:null,name:null,div:null,opacity:null,alwaysInRange:null,EVENT_TYPES:["loadstart","loadend","loadcancel","visibilitychanged","move","moveend"],RESOLUTION_PROPERTIES:["scales","resolutions","maxScale","minScale","maxResolution","minResolution","numZoomLevels","maxZoomLevel"],events:null,map:null,isBaseLayer:false,alpha:false,displayInLayerSwitcher:true,visibility:true,attribution:null,inRange:false,imageSize:null,imageOffset:null,options:null,eventListeners:null,gutter:0,projection:null,units:null,scales:null,resolutions:null,maxExtent:null,minExtent:null,maxResolution:null,minResolution:null,numZoomLevels:null,minScale:null,maxScale:null,displayOutsideMaxExtent:false,wrapDateLine:false,transitionEffect:null,SUPPORTED_TRANSITIONS:["resize"],metadata:{},initialize:function(b,a){this.addOptions(a);this.name=b;if(this.id==null){this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_");this.div=OpenLayers.Util.createDiv(this.id);this.div.style.width="100%";this.div.style.height="100%";this.div.dir="ltr";this.events=new OpenLayers.Events(this,this.div,this.EVENT_TYPES);if(this.eventListeners instanceof Object){this.events.on(this.eventListeners)}}if(this.wrapDateLine){this.displayOutsideMaxExtent=true}},destroy:function(a){if(a==null){a=true}if(this.map!=null){this.map.removeLayer(this,a)}this.projection=null;this.map=null;this.name=null;this.div=null;this.options=null;if(this.events){if(this.eventListeners){this.events.un(this.eventListeners)}this.events.destroy()}this.eventListeners=null;this.events=null},clone:function(a){if(a==null){a=new OpenLayers.Layer(this.name,this.getOptions())}OpenLayers.Util.applyDefaults(a,this);a.map=null;return a},getOptions:function(){var a={};for(var b in this.options){a[b]=this[b]}return a},setName:function(a){if(a!=this.name){this.name=a;if(this.map!=null){this.map.events.triggerEvent("changelayer",{layer:this,property:"name"})}}},addOptions:function(c){if(this.options==null){this.options={}}OpenLayers.Util.extend(this.options,c);OpenLayers.Util.extend(this,c);if(typeof this.projection=="string"){this.projection=new OpenLayers.Projection(this.projection)}if(this.projection&&this.projection.getUnits()){this.units=this.projection.getUnits()}if(this.map){var a=this.RESOLUTION_PROPERTIES.concat(["projection","units","minExtent","maxExtent"]);for(var b in c){if(c.hasOwnProperty(b)&&OpenLayers.Util.indexOf(a,b)>=0){this.initResolutions();break}}}},onMapResize:function(){},redraw:function(){var b=false;if(this.map){this.inRange=this.calculateInRange();var c=this.getExtent();if(c&&this.inRange&&this.visibility){var a=true;this.moveTo(c,a,false);this.events.triggerEvent("moveend",{zoomChanged:a});b=true}}return b},moveTo:function(b,a,c){var d=this.visibility;if(!this.isBaseLayer){d=d&&this.inRange}this.display(d)},setMap:function(b){if(this.map==null){this.map=b;this.maxExtent=this.maxExtent||this.map.maxExtent;this.minExtent=this.minExtent||this.map.minExtent;this.projection=this.projection||this.map.projection;if(typeof this.projection=="string"){this.projection=new OpenLayers.Projection(this.projection)}this.units=this.projection.getUnits()||this.units||this.map.units;this.initResolutions();if(!this.isBaseLayer){this.inRange=this.calculateInRange();var a=((this.visibility)&&(this.inRange));this.div.style.display=a?"":"none"}this.setTileSize()}},afterAdd:function(){},removeMap:function(a){},getImageSize:function(a){return(this.imageSize||this.tileSize)},setTileSize:function(a){var b=(a)?a:((this.tileSize)?this.tileSize:this.map.getTileSize());this.tileSize=b;if(this.gutter){this.imageOffset=new OpenLayers.Pixel(-this.gutter,-this.gutter);this.imageSize=new OpenLayers.Size(b.w+(2*this.gutter),b.h+(2*this.gutter))}},getVisibility:function(){return this.visibility},setVisibility:function(a){if(a!=this.visibility){this.visibility=a;this.display(a);this.redraw();if(this.map!=null){this.map.events.triggerEvent("changelayer",{layer:this,property:"visibility"})}this.events.triggerEvent("visibilitychanged")}},display:function(a){if(a!=(this.div.style.display!="none")){this.div.style.display=(a&&this.calculateInRange())?"block":"none"}},calculateInRange:function(){var b=false;if(this.alwaysInRange){b=true}else{if(this.map){var a=this.map.getResolution();b=((a>=this.minResolution)&&(a<=this.maxResolution))}}return b},setIsBaseLayer:function(a){if(a!=this.isBaseLayer){this.isBaseLayer=a;if(this.map!=null){this.map.events.triggerEvent("changebaselayer",{layer:this})}}},initResolutions:function(){var e,a;var f={},d=true;for(e=0,a=this.RESOLUTION_PROPERTIES.length;e<a;e++){var h=this.RESOLUTION_PROPERTIES[e];f[h]=this.options[h];if(d&&this.options[h]){d=false}}if(this.alwaysInRange==null){this.alwaysInRange=d}if(f.resolutions==null){f.resolutions=this.resolutionsFromScales(f.scales)}if(f.resolutions==null){f.resolutions=this.calculateResolutions(f)}if(f.resolutions==null){for(e=0,a=this.RESOLUTION_PROPERTIES.length;e<a;e++){var h=this.RESOLUTION_PROPERTIES[e];f[h]=this.options[h]!=null?this.options[h]:this.map[h]}if(f.resolutions==null){f.resolutions=this.resolutionsFromScales(f.scales)}if(f.resolutions==null){f.resolutions=this.calculateResolutions(f)}}var c;if(this.options.maxResolution&&this.options.maxResolution!=="auto"){c=this.options.maxResolution}if(this.options.minScale){c=OpenLayers.Util.getResolutionFromScale(this.options.minScale,this.units)}var b;if(this.options.minResolution&&this.options.minResolution!=="auto"){b=this.options.minResolution}if(this.options.maxScale){b=OpenLayers.Util.getResolutionFromScale(this.options.maxScale,this.units)}if(f.resolutions){f.resolutions.sort(function(j,i){return(i-j)});if(!c){c=f.resolutions[0]}if(!b){var g=f.resolutions.length-1;b=f.resolutions[g]}}this.resolutions=f.resolutions;if(this.resolutions){a=this.resolutions.length;this.scales=new Array(a);for(e=0;e<a;e++){this.scales[e]=OpenLayers.Util.getScaleFromResolution(this.resolutions[e],this.units)}this.numZoomLevels=a}this.minResolution=b;if(b){this.maxScale=OpenLayers.Util.getScaleFromResolution(b,this.units)}this.maxResolution=c;if(c){this.minScale=OpenLayers.Util.getScaleFromResolution(c,this.units)}},resolutionsFromScales:function(d){if(d==null){return}var b,c,a;a=d.length;b=new Array(a);for(c=0;c<a;c++){b[c]=OpenLayers.Util.getResolutionFromScale(d[c],this.units)}return b},calculateResolutions:function(k){var m=k.maxResolution;if(k.minScale!=null){m=OpenLayers.Util.getResolutionFromScale(k.minScale,this.units)}else{if(m=="auto"&&this.maxExtent!=null){var l=this.map.getSize();var j=this.maxExtent.getWidth()/l.w;var g=this.maxExtent.getHeight()/l.h;m=Math.max(j,g)}}var f=k.minResolution;if(k.maxScale!=null){f=OpenLayers.Util.getResolutionFromScale(k.maxScale,this.units)}else{if(k.minResolution=="auto"&&this.minExtent!=null){var l=this.map.getSize();var j=this.minExtent.getWidth()/l.w;var g=this.minExtent.getHeight()/l.h;f=Math.max(j,g)}}var a=k.maxZoomLevel;var b=k.numZoomLevels;if(typeof f==="number"&&typeof m==="number"&&b===undefined){var h=m/f;b=Math.floor(Math.log(h)/Math.log(2))+1}else{if(b===undefined&&a!=null){b=a+1}}if(typeof b!=="number"||b<=0||(typeof m!=="number"&&typeof f!=="number")){return}var d=new Array(b);var c=2;if(typeof f=="number"&&typeof m=="number"){c=Math.pow((m/f),(1/(b-1)))}var e;if(typeof m==="number"){for(e=0;e<b;e++){d[e]=m/Math.pow(c,e)}}else{for(e=0;e<b;e++){d[b-1-e]=f*Math.pow(c,e)}}return d},getResolution:function(){var a=this.map.getZoom();return this.getResolutionForZoom(a)},getExtent:function(){return this.map.calculateBounds()},getZoomForExtent:function(b,c){var d=this.map.getSize();var a=Math.max(b.getWidth()/d.w,b.getHeight()/d.h);return this.getZoomForResolution(a,c)},getDataExtent:function(){},getResolutionForZoom:function(c){c=Math.max(0,Math.min(c,this.resolutions.length-1));var b;if(this.map.fractionalZoom){var a=Math.floor(c);var d=Math.ceil(c);b=this.resolutions[a]-((c-a)*(this.resolutions[a]-this.resolutions[d]))}else{b=this.resolutions[Math.round(c)]}return b},getZoomForResolution:function(e,a){var n;if(this.map.fractionalZoom){var k=0;var c=this.resolutions.length-1;var d=this.resolutions[k];var b=this.resolutions[c];var j;for(var f=0,g=this.resolutions.length;f<g;++f){j=this.resolutions[f];if(j>=e){d=j;k=f}if(j<=e){b=j;c=f;break}}var h=d-b;if(h>0){n=k+((d-e)/h)}else{n=k}}else{var l;var m=Number.POSITIVE_INFINITY;for(var f=0,g=this.resolutions.length;f<g;f++){if(a){l=Math.abs(this.resolutions[f]-e);if(l>m){break}m=l}else{if(this.resolutions[f]<e){break}}}n=Math.max(0,f-1)}return n},getLonLatFromViewPortPx:function(b){var e=null;if(b!=null){var d=this.map.getSize();var a=this.map.getCenter();if(a){var c=this.map.getResolution();var g=b.x-(d.w/2);var f=b.y-(d.h/2);e=new OpenLayers.LonLat(a.lon+g*c,a.lat-f*c);if(this.wrapDateLine){e=e.wrapDateLine(this.maxExtent)}}}return e},getViewPortPxFromLonLat:function(d){var b=null;if(d!=null){var a=this.map.getResolution();var c=this.map.getExtent();b=new OpenLayers.Pixel((1/a*(d.lon-c.left)),(1/a*(c.top-d.lat)))}return b},setOpacity:function(b){if(b!=this.opacity){this.opacity=b;for(var d=0,a=this.div.childNodes.length;d<a;++d){var c=this.div.childNodes[d].firstChild;OpenLayers.Util.modifyDOMElement(c,null,null,null,null,null,null,b)}if(this.map!=null){this.map.events.triggerEvent("changelayer",{layer:this,property:"opacity"})}}},getZIndex:function(){return this.div.style.zIndex},setZIndex:function(a){this.div.style.zIndex=a},adjustBounds:function(b){if(this.gutter){var a=this.gutter*this.map.getResolution();b=new OpenLayers.Bounds(b.left-a,b.bottom-a,b.right+a,b.top+a)}if(this.wrapDateLine){var c={rightTolerance:this.getResolution()};b=b.wrapDateLine(this.maxExtent,c)}return b},CLASS_NAME:"OpenLayers.Layer"});OpenLayers.Control.DragPan=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_TOOL,panned:false,interval:25,documentDrag:false,draw:function(){this.handler=new OpenLayers.Handler.Drag(this,{move:this.panMap,done:this.panMapDone},{interval:this.interval,documentDrag:this.documentDrag})},panMap:function(a){this.panned=true;this.map.pan(this.handler.last.x-a.x,this.handler.last.y-a.y,{dragging:this.handler.dragging,animate:false})},panMapDone:function(a){if(this.panned){this.panMap(a);this.panned=false}},CLASS_NAME:"OpenLayers.Control.DragPan"});OpenLayers.State={UNKNOWN:"Unknown",INSERT:"Insert",UPDATE:"Update",DELETE:"Delete"};OpenLayers.Feature.Vector=OpenLayers.Class(OpenLayers.Feature,{fid:null,geometry:null,attributes:null,bounds:null,state:null,style:null,url:null,renderIntent:"default",initialize:function(c,a,b){OpenLayers.Feature.prototype.initialize.apply(this,[null,null,a]);this.lonlat=null;this.geometry=c?c:null;this.state=null;this.attributes={};if(a){this.attributes=OpenLayers.Util.extend(this.attributes,a)}this.style=b?b:null},destroy:function(){if(this.layer){this.layer.removeFeatures(this);this.layer=null}this.geometry=null;OpenLayers.Feature.prototype.destroy.apply(this,arguments)},clone:function(){return new OpenLayers.Feature.Vector(this.geometry?this.geometry.clone():null,this.attributes,this.style)},onScreen:function(d){var c=false;if(this.layer&&this.layer.map){var a=this.layer.map.getExtent();if(d){var b=this.geometry.getBounds();c=a.intersectsBounds(b)}else{var e=a.toGeometry();c=e.intersects(this.geometry)}}return c},getVisibility:function(){return !(this.style&&this.style.display=="none"||!this.layer||this.layer&&this.layer.styleMap&&this.layer.styleMap.createSymbolizer(this,this.renderIntent).display=="none"||this.layer&&!this.layer.getVisibility())},createMarker:function(){return null},destroyMarker:function(){},createPopup:function(){return null},atPoint:function(b,d,c){var a=false;if(this.geometry){a=this.geometry.atPoint(b,d,c)}return a},destroyPopup:function(){},move:function(a){if(!this.layer||!this.geometry.move){return}var b;if(a.CLASS_NAME=="OpenLayers.LonLat"){b=this.layer.getViewPortPxFromLonLat(a)}else{b=a}var d=this.layer.getViewPortPxFromLonLat(this.geometry.getBounds().getCenterLonLat());var c=this.layer.map.getResolution();this.geometry.move(c*(b.x-d.x),c*(d.y-b.y));this.layer.drawFeature(this);return d},toState:function(a){if(a==OpenLayers.State.UPDATE){switch(this.state){case OpenLayers.State.UNKNOWN:case OpenLayers.State.DELETE:this.state=a;break;case OpenLayers.State.UPDATE:case OpenLayers.State.INSERT:break}}else{if(a==OpenLayers.State.INSERT){switch(this.state){case OpenLayers.State.UNKNOWN:break;default:this.state=a;break}}else{if(a==OpenLayers.State.DELETE){switch(this.state){case OpenLayers.State.INSERT:break;case OpenLayers.State.DELETE:break;case OpenLayers.State.UNKNOWN:case OpenLayers.State.UPDATE:this.state=a;break}}else{if(a==OpenLayers.State.UNKNOWN){this.state=a}}}}},CLASS_NAME:"OpenLayers.Feature.Vector"});OpenLayers.Feature.Vector.style={"default":{fillColor:"#ee9900",fillOpacity:0.4,hoverFillColor:"white",hoverFillOpacity:0.8,strokeColor:"#ee9900",strokeOpacity:1,strokeWidth:1,strokeLinecap:"round",strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:0.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"inherit"},select:{fillColor:"blue",fillOpacity:0.4,hoverFillColor:"white",hoverFillOpacity:0.8,strokeColor:"blue",strokeOpacity:1,strokeWidth:2,strokeLinecap:"round",strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:0.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"pointer"},temporary:{fillColor:"#66cccc",fillOpacity:0.2,hoverFillColor:"white",hoverFillOpacity:0.8,strokeColor:"#66cccc",strokeOpacity:1,strokeLinecap:"round",strokeWidth:2,strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:0.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"inherit"},"delete":{display:"none"}};OpenLayers.Handler.Box=OpenLayers.Class(OpenLayers.Handler,{dragHandler:null,boxDivClassName:"olHandlerBoxZoomBox",boxCharacteristics:null,initialize:function(c,b,a){OpenLayers.Handler.prototype.initialize.apply(this,arguments);var b={down:this.startBox,move:this.moveBox,out:this.removeBox,up:this.endBox};this.dragHandler=new OpenLayers.Handler.Drag(this,b,{keyMask:this.keyMask})},destroy:function(){if(this.dragHandler){this.dragHandler.destroy();this.dragHandler=null}OpenLayers.Handler.prototype.destroy.apply(this,arguments)},setMap:function(a){OpenLayers.Handler.prototype.setMap.apply(this,arguments);if(this.dragHandler){this.dragHandler.setMap(a)}},startBox:function(a){this.zoomBox=OpenLayers.Util.createDiv("zoomBox",this.dragHandler.start);this.zoomBox.className=this.boxDivClassName;this.zoomBox.style.zIndex=this.map.Z_INDEX_BASE.Popup-1;this.map.viewPortDiv.appendChild(this.zoomBox);OpenLayers.Element.addClass(this.map.viewPortDiv,"olDrawBox")},moveBox:function(f){var d=this.dragHandler.start.x;var b=this.dragHandler.start.y;var c=Math.abs(d-f.x);var a=Math.abs(b-f.y);this.zoomBox.style.width=Math.max(1,c)+"px";this.zoomBox.style.height=Math.max(1,a)+"px";this.zoomBox.style.left=f.x<d?f.x+"px":d+"px";this.zoomBox.style.top=f.y<b?f.y+"px":b+"px";var e=this.getBoxCharacteristics();if(e.newBoxModel){if(f.x>d){this.zoomBox.style.width=Math.max(1,c-e.xOffset)+"px"}if(f.y>b){this.zoomBox.style.height=Math.max(1,a-e.yOffset)+"px"}}},endBox:function(b){var a;if(Math.abs(this.dragHandler.start.x-b.x)>5||Math.abs(this.dragHandler.start.y-b.y)>5){var g=this.dragHandler.start;var f=Math.min(g.y,b.y);var c=Math.max(g.y,b.y);var e=Math.min(g.x,b.x);var d=Math.max(g.x,b.x);a=new OpenLayers.Bounds(e,c,d,f)}else{a=this.dragHandler.start.clone()}this.removeBox();this.callback("done",[a])},removeBox:function(){this.map.viewPortDiv.removeChild(this.zoomBox);this.zoomBox=null;this.boxCharacteristics=null;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDrawBox")},activate:function(){if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){this.dragHandler.activate();return true}else{return false}},deactivate:function(){if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){this.dragHandler.deactivate();return true}else{return false}},getBoxCharacteristics:function(){if(!this.boxCharacteristics){var a=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-left-width"))+parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-right-width"))+1;var c=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-top-width"))+parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-bottom-width"))+1;var b=OpenLayers.Util.getBrowserName()=="msie"?document.compatMode!="BackCompat":true;this.boxCharacteristics={xOffset:a,yOffset:c,newBoxModel:b}}return this.boxCharacteristics},CLASS_NAME:"OpenLayers.Handler.Box"});OpenLayers.Layer.HTTPRequest=OpenLayers.Class(OpenLayers.Layer,{URL_HASH_FACTOR:(Math.sqrt(5)-1)/2,url:null,params:null,reproject:false,initialize:function(d,c,e,b){var a=arguments;a=[d,b];OpenLayers.Layer.prototype.initialize.apply(this,a);this.url=c;this.params=OpenLayers.Util.extend({},e)},destroy:function(){this.url=null;this.params=null;OpenLayers.Layer.prototype.destroy.apply(this,arguments)},clone:function(a){if(a==null){a=new OpenLayers.Layer.HTTPRequest(this.name,this.url,this.params,this.getOptions())}a=OpenLayers.Layer.prototype.clone.apply(this,[a]);return a},setUrl:function(a){this.url=a},mergeNewParams:function(b){this.params=OpenLayers.Util.extend(this.params,b);var a=this.redraw();if(this.map!=null){this.map.events.triggerEvent("changelayer",{layer:this,property:"params"})}return a},redraw:function(a){if(a){return this.mergeNewParams({_olSalt:Math.random()})}else{return OpenLayers.Layer.prototype.redraw.apply(this,[])}},selectUrl:function(e,d){var c=1;for(var b=0,a=e.length;b<a;b++){c*=e.charCodeAt(b)*this.URL_HASH_FACTOR;c-=Math.floor(c)}return d[Math.floor(c*d.length)]},getFullRequestString:function(g,d){var b=d||this.url;var f=OpenLayers.Util.extend({},this.params);f=OpenLayers.Util.extend(f,g);var e=OpenLayers.Util.getParameterString(f);if(b instanceof Array){b=this.selectUrl(e,b)}var a=OpenLayers.Util.upperCaseObject(OpenLayers.Util.getParameters(b));for(var c in f){if(c.toUpperCase() in a){delete f[c]}}e=OpenLayers.Util.getParameterString(f);return OpenLayers.Util.urlAppend(b,e)},CLASS_NAME:"OpenLayers.Layer.HTTPRequest"});OpenLayers.Layer.Markers=OpenLayers.Class(OpenLayers.Layer,{isBaseLayer:false,markers:null,drawn:false,initialize:function(b,a){OpenLayers.Layer.prototype.initialize.apply(this,arguments);this.markers=[]},destroy:function(){this.clearMarkers();this.markers=null;OpenLayers.Layer.prototype.destroy.apply(this,arguments)},setOpacity:function(b){if(b!=this.opacity){this.opacity=b;for(var c=0,a=this.markers.length;c<a;c++){this.markers[c].setOpacity(this.opacity)}}},moveTo:function(d,b,e){OpenLayers.Layer.prototype.moveTo.apply(this,arguments);if(b||!this.drawn){for(var c=0,a=this.markers.length;c<a;c++){this.drawMarker(this.markers[c])}this.drawn=true}},addMarker:function(a){this.markers.push(a);if(this.opacity!=null){a.setOpacity(this.opacity)}if(this.map&&this.map.getExtent()){a.map=this.map;this.drawMarker(a)}},removeMarker:function(a){if(this.markers&&this.markers.length){OpenLayers.Util.removeItem(this.markers,a);a.erase()}},clearMarkers:function(){if(this.markers!=null){while(this.markers.length>0){this.removeMarker(this.markers[0])}}},drawMarker:function(a){var b=this.map.getLayerPxFromLonLat(a.lonlat);if(b==null){a.display(false)}else{if(!a.isDrawn()){var c=a.draw(b);this.div.appendChild(c)}else{if(a.icon){a.icon.moveTo(b)}}}},getDataExtent:function(){var b=null;if(this.markers&&(this.markers.length>0)){var b=new OpenLayers.Bounds();for(var d=0,a=this.markers.length;d<a;d++){var c=this.markers[d];b.extend(c.lonlat)}}return b},CLASS_NAME:"OpenLayers.Layer.Markers"});OpenLayers.Control.ZoomBox=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_TOOL,out:false,alwaysZoom:false,draw:function(){this.handler=new OpenLayers.Handler.Box(this,{done:this.zoomBox},{keyMask:this.keyMask})},zoomBox:function(h){if(h instanceof OpenLayers.Bounds){var b;if(!this.out){var i=this.map.getLonLatFromPixel(new OpenLayers.Pixel(h.left,h.bottom));var m=this.map.getLonLatFromPixel(new OpenLayers.Pixel(h.right,h.top));b=new OpenLayers.Bounds(i.lon,i.lat,m.lon,m.lat)}else{var g=Math.abs(h.right-h.left);var j=Math.abs(h.top-h.bottom);var e=Math.min((this.map.size.h/j),(this.map.size.w/g));var n=this.map.getExtent();var a=this.map.getLonLatFromPixel(h.getCenterPixel());var c=a.lon-(n.getWidth()/2)*e;var f=a.lon+(n.getWidth()/2)*e;var l=a.lat-(n.getHeight()/2)*e;var d=a.lat+(n.getHeight()/2)*e;b=new OpenLayers.Bounds(c,l,f,d)}var k=this.map.getZoom();this.map.zoomToExtent(b);if(k==this.map.getZoom()&&this.alwaysZoom==true){this.map.zoomTo(k+(this.out?-1:1))}}else{if(!this.out){this.map.setCenter(this.map.getLonLatFromPixel(h),this.map.getZoom()+1)}else{this.map.setCenter(this.map.getLonLatFromPixel(h),this.map.getZoom()-1)}}},CLASS_NAME:"OpenLayers.Control.ZoomBox"});OpenLayers.Format.WKT=OpenLayers.Class(OpenLayers.Format,{initialize:function(a){this.regExes={typeStr:/^\s*(\w+)\s*\(\s*(.*)\s*\)\s*$/,spaces:/\s+/,parenComma:/\)\s*,\s*\(/,doubleParenComma:/\)\s*\)\s*,\s*\(\s*\(/,trimParens:/^\s*\(?(.*?)\)?\s*$/};OpenLayers.Format.prototype.initialize.apply(this,[a])},read:function(f){var e,d,h;var g=this.regExes.typeStr.exec(f);if(g){d=g[1].toLowerCase();h=g[2];if(this.parse[d]){e=this.parse[d].apply(this,[h])}if(this.internalProjection&&this.externalProjection){if(e&&e.CLASS_NAME=="OpenLayers.Feature.Vector"){e.geometry.transform(this.externalProjection,this.internalProjection)}else{if(e&&d!="geometrycollection"&&typeof e=="object"){for(var c=0,a=e.length;c<a;c++){var b=e[c];b.geometry.transform(this.externalProjection,this.internalProjection)}}}}}return e},write:function(a){var f,j,h,d,b;if(a.constructor==Array){f=a;b=true}else{f=[a];b=false}var c=[];if(b){c.push("GEOMETRYCOLLECTION(")}for(var e=0,g=f.length;e<g;++e){if(b&&e>0){c.push(",")}j=f[e].geometry;h=j.CLASS_NAME.split(".")[2].toLowerCase();if(!this.extract[h]){return null}if(this.internalProjection&&this.externalProjection){j=j.clone();j.transform(this.internalProjection,this.externalProjection)}d=this.extract[h].apply(this,[j]);c.push(h.toUpperCase()+"("+d+")")}if(b){c.push(")")}return c.join("")},extract:{point:function(a){return a.x+" "+a.y},multipoint:function(c){var d=[];for(var b=0,a=c.components.length;b<a;++b){d.push("("+this.extract.point.apply(this,[c.components[b]])+")")}return d.join(",")},linestring:function(b){var d=[];for(var c=0,a=b.components.length;c<a;++c){d.push(this.extract.point.apply(this,[b.components[c]]))}return d.join(",")},multilinestring:function(c){var d=[];for(var b=0,a=c.components.length;b<a;++b){d.push("("+this.extract.linestring.apply(this,[c.components[b]])+")")}return d.join(",")},polygon:function(c){var d=[];for(var b=0,a=c.components.length;b<a;++b){d.push("("+this.extract.linestring.apply(this,[c.components[b]])+")")}return d.join(",")},multipolygon:function(d){var c=[];for(var b=0,a=d.components.length;b<a;++b){c.push("("+this.extract.polygon.apply(this,[d.components[b]])+")")}return c.join(",")}},parse:{point:function(b){var a=OpenLayers.String.trim(b).split(this.regExes.spaces);return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(a[0],a[1]))},multipoint:function(f){var b;var d=OpenLayers.String.trim(f).split(this.regExes.parenComma);var e=[];for(var c=0,a=d.length;c<a;++c){b=d[c].replace(this.regExes.trimParens,"$1");e.push(this.parse.point.apply(this,[b]).geometry)}return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.MultiPoint(e))},linestring:function(e){var c=OpenLayers.String.trim(e).split(",");var d=[];for(var b=0,a=c.length;b<a;++b){d.push(this.parse.point.apply(this,[c[b]]).geometry)}return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.LineString(d))},multilinestring:function(f){var c;var b=OpenLayers.String.trim(f).split(this.regExes.parenComma);var e=[];for(var d=0,a=b.length;d<a;++d){c=b[d].replace(this.regExes.trimParens,"$1");e.push(this.parse.linestring.apply(this,[c]).geometry)}return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.MultiLineString(e))},polygon:function(h){var c,b,f;var g=OpenLayers.String.trim(h).split(this.regExes.parenComma);var e=[];for(var d=0,a=g.length;d<a;++d){c=g[d].replace(this.regExes.trimParens,"$1");b=this.parse.linestring.apply(this,[c]).geometry;f=new OpenLayers.Geometry.LinearRing(b.components);e.push(f)}return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Polygon(e))},multipolygon:function(f){var d;var b=OpenLayers.String.trim(f).split(this.regExes.doubleParenComma);var e=[];for(var c=0,a=b.length;c<a;++c){d=b[c].replace(this.regExes.trimParens,"$1");e.push(this.parse.polygon.apply(this,[d]).geometry)}return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.MultiPolygon(e))},geometrycollection:function(e){e=e.replace(/,\s*([A-Za-z])/g,"|$1");var d=OpenLayers.String.trim(e).split("|");var c=[];for(var b=0,a=d.length;b<a;++b){c.push(OpenLayers.Format.WKT.prototype.read.apply(this,[d[b]]))}return c}},CLASS_NAME:"OpenLayers.Format.WKT"});OpenLayers.Layer.Grid=OpenLayers.Class(OpenLayers.Layer.HTTPRequest,{tileSize:null,grid:null,singleTile:false,ratio:1.5,buffer:2,numLoadingTiles:0,initialize:function(c,b,d,a){OpenLayers.Layer.HTTPRequest.prototype.initialize.apply(this,arguments);this.events.addEventType("tileloaded");this.grid=[]},destroy:function(){this.clearGrid();this.grid=null;this.tileSize=null;OpenLayers.Layer.HTTPRequest.prototype.destroy.apply(this,arguments)},clearGrid:function(){if(this.grid){for(var f=0,b=this.grid.length;f<b;f++){var e=this.grid[f];for(var c=0,a=e.length;c<a;c++){var d=e[c];this.removeTileMonitoringHooks(d);d.destroy()}}this.grid=[]}},clone:function(a){if(a==null){a=new OpenLayers.Layer.Grid(this.name,this.url,this.params,this.getOptions())}a=OpenLayers.Layer.HTTPRequest.prototype.clone.apply(this,[a]);if(this.tileSize!=null){a.tileSize=this.tileSize.clone()}a.grid=[];return a},moveTo:function(d,a,e){OpenLayers.Layer.HTTPRequest.prototype.moveTo.apply(this,arguments);d=d||this.map.getExtent();if(d!=null){var c=!this.grid.length||a;var b=this.getTilesBounds();if(this.singleTile){if(c||(!e&&!b.containsBounds(d))){this.initSingleTile(d)}}else{if(c||!b.containsBounds(d,true)){this.initGriddedTiles(d)}else{this.moveGriddedTiles(d)}}}},setTileSize:function(a){if(this.singleTile){a=this.map.getSize();a.h=parseInt(a.h*this.ratio);a.w=parseInt(a.w*this.ratio)}OpenLayers.Layer.HTTPRequest.prototype.setTileSize.apply(this,[a])},getGridBounds:function(){var a="The getGridBounds() function is deprecated. It will be removed in 3.0. Please use getTilesBounds() instead.";OpenLayers.Console.warn(a);return this.getTilesBounds()},getTilesBounds:function(){var e=null;if(this.grid.length){var a=this.grid.length-1;var d=this.grid[a][0];var b=this.grid[0].length-1;var c=this.grid[0][b];e=new OpenLayers.Bounds(d.bounds.left,d.bounds.bottom,c.bounds.right,c.bounds.top)}return e},initSingleTile:function(f){var a=f.getCenterLonLat();var h=f.getWidth()*this.ratio;var b=f.getHeight()*this.ratio;var g=new OpenLayers.Bounds(a.lon-(h/2),a.lat-(b/2),a.lon+(h/2),a.lat+(b/2));var d=new OpenLayers.LonLat(g.left,g.top);var c=this.map.getLayerPxFromLonLat(d);if(!this.grid.length){this.grid[0]=[]}var e=this.grid[0][0];if(!e){e=this.addTile(g,c);this.addTileMonitoringHooks(e);e.draw();this.grid[0][0]=e}else{e.moveTo(g,c)}this.removeExcessTiles(1,1)},calculateGridLayout:function(a,o,e){var k=e*this.tileSize.w;var c=e*this.tileSize.h;var i=a.left-o.left;var l=Math.floor(i/k)-this.buffer;var j=i/k-l;var f=-j*this.tileSize.w;var m=o.left+l*k;var b=a.top-(o.bottom+c);var h=Math.ceil(b/c)+this.buffer;var n=h-b/c;var d=-n*this.tileSize.h;var g=o.bottom+h*c;return{tilelon:k,tilelat:c,tileoffsetlon:m,tileoffsetlat:g,tileoffsetx:f,tileoffsety:d}},initGriddedTiles:function(i){var g=this.map.getSize();var v=Math.ceil(g.h/this.tileSize.h)+Math.max(1,2*this.buffer);var z=Math.ceil(g.w/this.tileSize.w)+Math.max(1,2*this.buffer);var o=this.getMaxExtent();var r=this.map.getResolution();var q=this.calculateGridLayout(i,o,r);var f=Math.round(q.tileoffsetx);var c=Math.round(q.tileoffsety);var k=q.tileoffsetlon;var n=q.tileoffsetlat;var e=q.tilelon;var j=q.tilelat;this.origin=new OpenLayers.Pixel(f,c);var u=f;var w=k;var t=0;var a=parseInt(this.map.layerContainerDiv.style.left);var s=parseInt(this.map.layerContainerDiv.style.top);do{var h=this.grid[t++];if(!h){h=[];this.grid.push(h)}k=w;f=u;var d=0;do{var b=new OpenLayers.Bounds(k,n,k+e,n+j);var m=f;m-=a;var l=c;l-=s;var p=new OpenLayers.Pixel(m,l);var A=h[d++];if(!A){A=this.addTile(b,p);this.addTileMonitoringHooks(A);h.push(A)}else{A.moveTo(b,p,false)}k+=e;f+=this.tileSize.w}while((k<=i.right+e*this.buffer)||d<z);n-=j;c+=this.tileSize.h}while((n>=i.bottom-j*this.buffer)||t<v);this.removeExcessTiles(t,d);this.spiralTileLoad()},getMaxExtent:function(){return this.maxExtent},spiralTileLoad:function(){var b=[];var h=["right","down","left","up"];var g=0;var a=-1;var k=OpenLayers.Util.indexOf(h,"right");var l=0;while(l<h.length){var j=g;var c=a;switch(h[k]){case"right":c++;break;case"down":j++;break;case"left":c--;break;case"up":j--;break}var f=null;if((j<this.grid.length)&&(j>=0)&&(c<this.grid[0].length)&&(c>=0)){f=this.grid[j][c]}if((f!=null)&&(!f.queued)){b.unshift(f);f.queued=true;l=0;g=j;a=c}else{k=(k+1)%4;l++}}for(var d=0,e=b.length;d<e;d++){var f=b[d];f.draw();f.queued=false}},addTile:function(b,a){},addTileMonitoringHooks:function(a){a.onLoadStart=function(){if(this.numLoadingTiles==0){this.events.triggerEvent("loadstart")}this.numLoadingTiles++};a.events.register("loadstart",this,a.onLoadStart);a.onLoadEnd=function(){this.numLoadingTiles--;this.events.triggerEvent("tileloaded");if(this.numLoadingTiles==0){this.events.triggerEvent("loadend")}};a.events.register("loadend",this,a.onLoadEnd);a.events.register("unload",this,a.onLoadEnd)},removeTileMonitoringHooks:function(a){a.unload();a.events.un({loadstart:a.onLoadStart,loadend:a.onLoadEnd,unload:a.onLoadEnd,scope:this})},moveGriddedTiles:function(c){var b=this.buffer||1;while(true){var a=this.grid[0][0].position;var d=this.map.getViewPortPxFromLayerPx(a);if(d.x>-this.tileSize.w*(b-1)){this.shiftColumn(true)}else{if(d.x<-this.tileSize.w*b){this.shiftColumn(false)}else{if(d.y>-this.tileSize.h*(b-1)){this.shiftRow(true)}else{if(d.y<-this.tileSize.h*b){this.shiftRow(false)}else{break}}}}}},shiftRow:function(n){var c=(n)?0:(this.grid.length-1);var b=this.grid;var f=b[c];var e=this.map.getResolution();var h=(n)?-this.tileSize.h:this.tileSize.h;var g=e*-h;var m=(n)?b.pop():b.shift();for(var j=0,l=f.length;j<l;j++){var d=f[j];var a=d.bounds.clone();var k=d.position.clone();a.bottom=a.bottom+g;a.top=a.top+g;k.y=k.y+h;m[j].moveTo(a,k)}if(n){b.unshift(m)}else{b.push(m)}},shiftColumn:function(m){var d=(m)?-this.tileSize.w:this.tileSize.w;var c=this.map.getResolution();var k=c*d;for(var e=0,g=this.grid.length;e<g;e++){var l=this.grid[e];var j=(m)?0:(l.length-1);var b=l[j];var a=b.bounds.clone();var f=b.position.clone();a.left=a.left+k;a.right=a.right+k;f.x=f.x+d;var h=m?this.grid[e].pop():this.grid[e].shift();h.moveTo(a,f);if(m){l.unshift(h)}else{l.push(h)}}},removeExcessTiles:function(e,c){while(this.grid.length>e){var f=this.grid.pop();for(var b=0,a=f.length;b<a;b++){var d=f[b];this.removeTileMonitoringHooks(d);d.destroy()}}while(this.grid[0].length>c){for(var b=0,a=this.grid.length;b<a;b++){var f=this.grid[b];var d=f.pop();this.removeTileMonitoringHooks(d);d.destroy()}}},onMapResize:function(){if(this.singleTile){this.clearGrid();this.setTileSize()}},getTileBounds:function(d){var c=this.maxExtent;var f=this.getResolution();var e=f*this.tileSize.w;var b=f*this.tileSize.h;var h=this.getLonLatFromViewPortPx(d);var a=c.left+(e*Math.floor((h.lon-c.left)/e));var g=c.bottom+(b*Math.floor((h.lat-c.bottom)/b));return new OpenLayers.Bounds(a,g,a+e,g+b)},CLASS_NAME:"OpenLayers.Layer.Grid"});OpenLayers.Control.Navigation=OpenLayers.Class(OpenLayers.Control,{dragPan:null,dragPanOptions:null,documentDrag:false,zoomBox:null,zoomBoxEnabled:true,zoomWheelEnabled:true,mouseWheelOptions:null,handleRightClicks:false,zoomBoxKeyMask:OpenLayers.Handler.MOD_SHIFT,autoActivate:true,initialize:function(a){this.handlers={};OpenLayers.Control.prototype.initialize.apply(this,arguments)},destroy:function(){this.deactivate();if(this.dragPan){this.dragPan.destroy()}this.dragPan=null;if(this.zoomBox){this.zoomBox.destroy()}this.zoomBox=null;OpenLayers.Control.prototype.destroy.apply(this,arguments)},activate:function(){this.dragPan.activate();if(this.zoomWheelEnabled){this.handlers.wheel.activate()}this.handlers.click.activate();if(this.zoomBoxEnabled){this.zoomBox.activate()}return OpenLayers.Control.prototype.activate.apply(this,arguments)},deactivate:function(){this.zoomBox.deactivate();this.dragPan.deactivate();this.handlers.click.deactivate();this.handlers.wheel.deactivate();return OpenLayers.Control.prototype.deactivate.apply(this,arguments)},draw:function(){if(this.handleRightClicks){this.map.viewPortDiv.oncontextmenu=OpenLayers.Function.False}var a={dblclick:this.defaultDblClick,dblrightclick:this.defaultDblRightClick};var b={"double":true,stopDouble:true};this.handlers.click=new OpenLayers.Handler.Click(this,a,b);this.dragPan=new OpenLayers.Control.DragPan(OpenLayers.Util.extend({map:this.map,documentDrag:this.documentDrag},this.dragPanOptions));this.zoomBox=new OpenLayers.Control.ZoomBox({map:this.map,keyMask:this.zoomBoxKeyMask});this.dragPan.draw();this.zoomBox.draw();this.handlers.wheel=new OpenLayers.Handler.MouseWheel(this,{up:this.wheelUp,down:this.wheelDown},this.mouseWheelOptions)},defaultDblClick:function(b){var a=this.map.getLonLatFromViewPortPx(b.xy);this.map.setCenter(a,this.map.zoom+1)},defaultDblRightClick:function(b){var a=this.map.getLonLatFromViewPortPx(b.xy);this.map.setCenter(a,this.map.zoom-1)},wheelChange:function(i,c){var h=this.map.getZoom();var f=this.map.getZoom()+Math.round(c);f=Math.max(f,0);f=Math.min(f,this.map.getNumZoomLevels());if(f===h){return}var j=this.map.getSize();var e=j.w/2-i.xy.x;var d=i.xy.y-j.h/2;var g=this.map.baseLayer.getResolutionForZoom(f);var a=this.map.getLonLatFromPixel(i.xy);var b=new OpenLayers.LonLat(a.lon+e*g,a.lat+d*g);this.map.setCenter(b,f)},wheelUp:function(a,b){this.wheelChange(a,b||1)},wheelDown:function(a,b){this.wheelChange(a,b||-1)},disableZoomBox:function(){this.zoomBoxEnabled=false;this.zoomBox.deactivate()},enableZoomBox:function(){this.zoomBoxEnabled=true;if(this.active){this.zoomBox.activate()}},disableZoomWheel:function(){this.zoomWheelEnabled=false;this.handlers.wheel.deactivate()},enableZoomWheel:function(){this.zoomWheelEnabled=true;if(this.active){this.handlers.wheel.activate()}},CLASS_NAME:"OpenLayers.Control.Navigation"});OpenLayers.Geometry=OpenLayers.Class({id:null,parent:null,bounds:null,initialize:function(){this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},destroy:function(){this.id=null;this.bounds=null},clone:function(){return new OpenLayers.Geometry()},setBounds:function(a){if(a){this.bounds=a.clone()}},clearBounds:function(){this.bounds=null;if(this.parent){this.parent.clearBounds()}},extendBounds:function(b){var a=this.getBounds();if(!a){this.setBounds(b)}else{this.bounds.extend(b)}},getBounds:function(){if(this.bounds==null){this.calculateBounds()}return this.bounds},calculateBounds:function(){},distanceTo:function(b,a){},getVertices:function(a){},atPoint:function(e,h,f){var c=false;var d=this.getBounds();if((d!=null)&&(e!=null)){var b=(h!=null)?h:0;var a=(f!=null)?f:0;var g=new OpenLayers.Bounds(this.bounds.left-b,this.bounds.bottom-a,this.bounds.right+b,this.bounds.top+a);c=g.containsLonLat(e)}return c},getLength:function(){return 0},getArea:function(){return 0},getCentroid:function(){return null},toString:function(){return OpenLayers.Format.WKT.prototype.write(new OpenLayers.Feature.Vector(this))},CLASS_NAME:"OpenLayers.Geometry"});OpenLayers.Geometry.fromWKT=function(f){var g=arguments.callee.format;if(!g){g=new OpenLayers.Format.WKT();arguments.callee.format=g}var d;var b=g.read(f);if(b instanceof OpenLayers.Feature.Vector){d=b.geometry}else{if(b instanceof Array){var a=b.length;var e=new Array(a);for(var c=0;c<a;++c){e[c]=b[c].geometry}d=new OpenLayers.Geometry.Collection(e)}}return d};OpenLayers.Geometry.segmentsIntersect=function(a,H,b){var s=b&&b.point;var z=b&&b.tolerance;var f=false;var B=a.x1-H.x1;var F=a.y1-H.y1;var o=a.x2-a.x1;var w=a.y2-a.y1;var t=H.y2-H.y1;var l=H.x2-H.x1;var D=(t*o)-(l*w);var e=(l*F)-(t*B);var c=(o*F)-(w*B);if(D==0){if(e==0&&c==0){f=true}}else{var E=e/D;var C=c/D;if(E>=0&&E<=1&&C>=0&&C<=1){if(!s){f=true}else{var h=a.x1+(E*o);var g=a.y1+(E*w);f=new OpenLayers.Geometry.Point(h,g)}}}if(z){var r;if(f){if(s){var n=[a,H];var A,h,g;outer:for(var v=0;v<2;++v){A=n[v];for(var u=1;u<3;++u){h=A["x"+u];g=A["y"+u];r=Math.sqrt(Math.pow(h-f.x,2)+Math.pow(g-f.y,2));if(r<z){f.x=h;f.y=g;break outer}}}}}else{var n=[a,H];var q,G,h,g,m,k;outer:for(var v=0;v<2;++v){q=n[v];G=n[(v+1)%2];for(var u=1;u<3;++u){m={x:q["x"+u],y:q["y"+u]};k=OpenLayers.Geometry.distanceToSegment(m,G);if(k.distance<z){if(s){f=new OpenLayers.Geometry.Point(m.x,m.y)}else{f=true}break outer}}}}}return f};OpenLayers.Geometry.distanceToSegment=function(k,d){var c=k.x;var j=k.y;var b=d.x1;var i=d.y1;var a=d.x2;var f=d.y2;var m=a-b;var l=f-i;var h=((m*(c-b))+(l*(j-i)))/(Math.pow(m,2)+Math.pow(l,2));var g,e;if(h<=0){g=b;e=i}else{if(h>=1){g=a;e=f}else{g=b+h*m;e=i+h*l}}return{distance:Math.sqrt(Math.pow(g-c,2)+Math.pow(e-j,2)),x:g,y:e}};OpenLayers.Layer.TMS=OpenLayers.Class(OpenLayers.Layer.Grid,{serviceVersion:"1.0.0",isBaseLayer:true,tileOrigin:null,serverResolutions:null,zoomOffset:0,initialize:function(d,c,b){var a=[];a.push(d,c,{},b);OpenLayers.Layer.Grid.prototype.initialize.apply(this,a)},destroy:function(){OpenLayers.Layer.Grid.prototype.destroy.apply(this,arguments)},clone:function(a){if(a==null){a=new OpenLayers.Layer.TMS(this.name,this.url,this.getOptions())}a=OpenLayers.Layer.Grid.prototype.clone.apply(this,[a]);return a},getURL:function(d){d=this.adjustBounds(d);var c=this.map.getResolution();var a=Math.round((d.left-this.tileOrigin.lon)/(c*this.tileSize.w));var g=Math.round((d.bottom-this.tileOrigin.lat)/(c*this.tileSize.h));var f=this.serverResolutions!=null?OpenLayers.Util.indexOf(this.serverResolutions,c):this.map.getZoom()+this.zoomOffset;var e=this.serviceVersion+"/"+this.layername+"/"+f+"/"+a+"/"+g+"."+this.type;var b=this.url;if(b instanceof Array){b=this.selectUrl(e,b)}return b+e},addTile:function(b,a){return new OpenLayers.Tile.Image(this,a,b,null,this.tileSize)},setMap:function(a){OpenLayers.Layer.Grid.prototype.setMap.apply(this,arguments);if(!this.tileOrigin){this.tileOrigin=new OpenLayers.LonLat(this.map.maxExtent.left,this.map.maxExtent.bottom)}},CLASS_NAME:"OpenLayers.Layer.TMS"});OpenLayers.Layer.WMS=OpenLayers.Class(OpenLayers.Layer.Grid,{DEFAULT_PARAMS:{service:"WMS",version:"1.1.1",request:"GetMap",styles:"",exceptions:"application/vnd.ogc.se_inimage",format:"image/jpeg"},reproject:false,isBaseLayer:true,encodeBBOX:false,noMagic:false,yx:{"EPSG:4326":true},initialize:function(d,c,e,b){var a=[];e=OpenLayers.Util.upperCaseObject(e);if(parseFloat(e.VERSION)>=1.3&&!e.EXCEPTIONS){e.EXCEPTIONS="INIMAGE"}a.push(d,c,e,b);OpenLayers.Layer.Grid.prototype.initialize.apply(this,a);OpenLayers.Util.applyDefaults(this.params,OpenLayers.Util.upperCaseObject(this.DEFAULT_PARAMS));if(!this.noMagic&&this.params.TRANSPARENT&&this.params.TRANSPARENT.toString().toLowerCase()=="true"){if((b==null)||(!b.isBaseLayer)){this.isBaseLayer=false}if(this.params.FORMAT=="image/jpeg"){this.params.FORMAT=OpenLayers.Util.alphaHack()?"image/gif":"image/png"}}},destroy:function(){OpenLayers.Layer.Grid.prototype.destroy.apply(this,arguments)},clone:function(a){if(a==null){a=new OpenLayers.Layer.WMS(this.name,this.url,this.params,this.getOptions())}a=OpenLayers.Layer.Grid.prototype.clone.apply(this,[a]);return a},reverseAxisOrder:function(){return(parseFloat(this.params.VERSION)>=1.3&&!!this.yx[this.map.getProjectionObject().getCode()])},getURL:function(c){c=this.adjustBounds(c);var d=this.getImageSize();var e={};var b=this.reverseAxisOrder();e.BBOX=this.encodeBBOX?c.toBBOX(null,b):c.toArray(b);e.WIDTH=d.w;e.HEIGHT=d.h;var a=this.getFullRequestString(e);return a},addTile:function(b,a){return new OpenLayers.Tile.Image(this,a,b,null,this.tileSize)},mergeNewParams:function(c){var b=OpenLayers.Util.upperCaseObject(c);var a=[b];return OpenLayers.Layer.Grid.prototype.mergeNewParams.apply(this,a)},getFullRequestString:function(d,b){var a=this.map.getProjection();var c=(a=="none")?null:a;if(parseFloat(this.params.VERSION)>=1.3){this.params.CRS=c}else{this.params.SRS=c}return OpenLayers.Layer.Grid.prototype.getFullRequestString.apply(this,arguments)},CLASS_NAME:"OpenLayers.Layer.WMS"});OpenLayers.Geometry.Collection=OpenLayers.Class(OpenLayers.Geometry,{components:null,componentTypes:null,initialize:function(a){OpenLayers.Geometry.prototype.initialize.apply(this,arguments);this.components=[];if(a!=null){this.addComponents(a)}},destroy:function(){this.components.length=0;this.components=null;OpenLayers.Geometry.prototype.destroy.apply(this,arguments)},clone:function(){var geometry=eval("new "+this.CLASS_NAME+"()");for(var i=0,len=this.components.length;i<len;i++){geometry.addComponent(this.components[i].clone())}OpenLayers.Util.applyDefaults(geometry,this);return geometry},getComponentsString:function(){var b=[];for(var c=0,a=this.components.length;c<a;c++){b.push(this.components[c].toShortString())}return b.join(",")},calculateBounds:function(){this.bounds=null;if(this.components&&this.components.length>0){this.setBounds(this.components[0].getBounds());for(var b=1,a=this.components.length;b<a;b++){this.extendBounds(this.components[b].getBounds())}}},addComponents:function(c){if(!(c instanceof Array)){c=[c]}for(var b=0,a=c.length;b<a;b++){this.addComponent(c[b])}},addComponent:function(b,a){var d=false;if(b){if(this.componentTypes==null||(OpenLayers.Util.indexOf(this.componentTypes,b.CLASS_NAME)>-1)){if(a!=null&&(a<this.components.length)){var e=this.components.slice(0,a);var c=this.components.slice(a,this.components.length);e.push(b);this.components=e.concat(c)}else{this.components.push(b)}b.parent=this;this.clearBounds();d=true}}return d},removeComponents:function(b){if(!(b instanceof Array)){b=[b]}for(var a=b.length-1;a>=0;--a){this.removeComponent(b[a])}},removeComponent:function(a){OpenLayers.Util.removeItem(this.components,a);this.clearBounds()},getLength:function(){var c=0;for(var b=0,a=this.components.length;b<a;b++){c+=this.components[b].getLength()}return c},getArea:function(){var c=0;for(var b=0,a=this.components.length;b<a;b++){c+=this.components[b].getArea()}return c},getGeodesicArea:function(b){var d=0;for(var c=0,a=this.components.length;c<a;c++){d+=this.components[c].getGeodesicArea(b)}return d},getCentroid:function(g){if(!g){return this.components.length&&this.components[0].getCentroid()}var l=this.components.length;if(!l){return false}var b=[];var c=[];var d=0;var h=Number.MAX_VALUE;var m;for(var k=0;k<l;++k){m=this.components[k];var e=m.getArea();var f=m.getCentroid(true);if(isNaN(e)||isNaN(f.x)||isNaN(f.y)){continue}b.push(e);d+=e;h=(e<h&&e>0)?e:h;c.push(f)}l=b.length;if(d===0){for(var k=0;k<l;++k){b[k]=1}d=b.length}else{for(var k=0;k<l;++k){b[k]/=h}d/=h}var j=0,a=0,f,e;for(var k=0;k<l;++k){f=c[k];e=b[k];j+=f.x*e;a+=f.y*e}return new OpenLayers.Geometry.Point(j/d,a/d)},getGeodesicLength:function(b){var d=0;for(var c=0,a=this.components.length;c<a;c++){d+=this.components[c].getGeodesicLength(b)}return d},move:function(b,d){for(var c=0,a=this.components.length;c<a;c++){this.components[c].move(b,d)}},rotate:function(d,b){for(var c=0,a=this.components.length;c<a;++c){this.components[c].rotate(d,b)}},resize:function(d,a,c){for(var b=0;b<this.components.length;++b){this.components[b].resize(d,a,c)}return this},distanceTo:function(h,j){var c=!(j&&j.edge===false);var a=c&&j&&j.details;var k,d,b;var e=Number.POSITIVE_INFINITY;for(var f=0,g=this.components.length;f<g;++f){k=this.components[f].distanceTo(h,j);b=a?k.distance:k;if(b<e){e=b;d=k;if(e==0){break}}}return d},equals:function(d){var b=true;if(!d||!d.CLASS_NAME||(this.CLASS_NAME!=d.CLASS_NAME)){b=false}else{if(!(d.components instanceof Array)||(d.components.length!=this.components.length)){b=false}else{for(var c=0,a=this.components.length;c<a;++c){if(!this.components[c].equals(d.components[c])){b=false;break}}}}return b},transform:function(e,c){if(e&&c){for(var d=0,a=this.components.length;d<a;d++){var b=this.components[d];b.transform(e,c)}this.bounds=null}return this},intersects:function(d){var b=false;for(var c=0,a=this.components.length;c<a;++c){b=d.intersects(this.components[c]);if(b){break}}return b},getVertices:function(b){var c=[];for(var d=0,a=this.components.length;d<a;++d){Array.prototype.push.apply(c,this.components[d].getVertices(b))}return c},CLASS_NAME:"OpenLayers.Geometry.Collection"});OpenLayers.Geometry.Point=OpenLayers.Class(OpenLayers.Geometry,{x:null,y:null,initialize:function(a,b){OpenLayers.Geometry.prototype.initialize.apply(this,arguments);this.x=parseFloat(a);this.y=parseFloat(b)},clone:function(a){if(a==null){a=new OpenLayers.Geometry.Point(this.x,this.y)}OpenLayers.Util.applyDefaults(a,this);return a},calculateBounds:function(){this.bounds=new OpenLayers.Bounds(this.x,this.y,this.x,this.y)},distanceTo:function(f,j){var d=!(j&&j.edge===false);var a=d&&j&&j.details;var b,e,h,c,g,i;if(f instanceof OpenLayers.Geometry.Point){e=this.x;h=this.y;c=f.x;g=f.y;b=Math.sqrt(Math.pow(e-c,2)+Math.pow(h-g,2));i=!a?b:{x0:e,y0:h,x1:c,y1:g,distance:b}}else{i=f.distanceTo(this,j);if(a){i={x0:i.x1,y0:i.y1,x1:i.x0,y1:i.y0,distance:i.distance}}}return i},equals:function(a){var b=false;if(a!=null){b=((this.x==a.x&&this.y==a.y)||(isNaN(this.x)&&isNaN(this.y)&&isNaN(a.x)&&isNaN(a.y)))}return b},toShortString:function(){return(this.x+", "+this.y)},move:function(a,b){this.x=this.x+a;this.y=this.y+b;this.clearBounds()},rotate:function(d,b){d*=Math.PI/180;var a=this.distanceTo(b);var c=d+Math.atan2(this.y-b.y,this.x-b.x);this.x=b.x+(a*Math.cos(c));this.y=b.y+(a*Math.sin(c));this.clearBounds()},getCentroid:function(){return new OpenLayers.Geometry.Point(this.x,this.y)},resize:function(c,a,b){b=(b==undefined)?1:b;this.x=a.x+(c*b*(this.x-a.x));this.y=a.y+(c*(this.y-a.y));this.clearBounds();return this},intersects:function(b){var a=false;if(b.CLASS_NAME=="OpenLayers.Geometry.Point"){a=this.equals(b)}else{a=b.intersects(this)}return a},transform:function(b,a){if((b&&a)){OpenLayers.Projection.transform(this,b,a);this.bounds=null}return this},getVertices:function(a){return[this]},CLASS_NAME:"OpenLayers.Geometry.Point"});OpenLayers.Geometry.MultiPoint=OpenLayers.Class(OpenLayers.Geometry.Collection,{componentTypes:["OpenLayers.Geometry.Point"],initialize:function(a){OpenLayers.Geometry.Collection.prototype.initialize.apply(this,arguments)},addPoint:function(a,b){this.addComponent(a,b)},removePoint:function(a){this.removeComponent(a)},CLASS_NAME:"OpenLayers.Geometry.MultiPoint"});OpenLayers.Geometry.Curve=OpenLayers.Class(OpenLayers.Geometry.MultiPoint,{componentTypes:["OpenLayers.Geometry.Point"],initialize:function(a){OpenLayers.Geometry.MultiPoint.prototype.initialize.apply(this,arguments)},getLength:function(){var c=0;if(this.components&&(this.components.length>1)){for(var b=1,a=this.components.length;b<a;b++){c+=this.components[b-1].distanceTo(this.components[b])}}return c},getGeodesicLength:function(b){var e=this;if(b){var c=new OpenLayers.Projection("EPSG:4326");if(!c.equals(b)){e=this.clone().transform(b,c)}}var f=0;if(e.components&&(e.components.length>1)){var h,g;for(var d=1,a=e.components.length;d<a;d++){h=e.components[d-1];g=e.components[d];f+=OpenLayers.Util.distVincenty({lon:h.x,lat:h.y},{lon:g.x,lat:g.y})}}return f*1000},CLASS_NAME:"OpenLayers.Geometry.Curve"});OpenLayers.Geometry.LineString=OpenLayers.Class(OpenLayers.Geometry.Curve,{initialize:function(a){OpenLayers.Geometry.Curve.prototype.initialize.apply(this,arguments)},removeComponent:function(a){if(this.components&&(this.components.length>2)){OpenLayers.Geometry.Collection.prototype.removeComponent.apply(this,arguments)}},intersects:function(m){var c=false;var l=m.CLASS_NAME;if(l=="OpenLayers.Geometry.LineString"||l=="OpenLayers.Geometry.LinearRing"||l=="OpenLayers.Geometry.Point"){var p=this.getSortedSegments();var n;if(l=="OpenLayers.Geometry.Point"){n=[{x1:m.x,y1:m.y,x2:m.x,y2:m.y}]}else{n=m.getSortedSegments()}var s,g,e,a,r,q,d,b;outer:for(var h=0,k=p.length;h<k;++h){s=p[h];g=s.x1;e=s.x2;a=s.y1;r=s.y2;inner:for(var f=0,o=n.length;f<o;++f){q=n[f];if(q.x1>e){break}if(q.x2<g){continue}d=q.y1;b=q.y2;if(Math.min(d,b)>Math.max(a,r)){continue}if(Math.max(d,b)<Math.min(a,r)){continue}if(OpenLayers.Geometry.segmentsIntersect(s,q)){c=true;break outer}}}}else{c=m.intersects(this)}return c},getSortedSegments:function(){var a=this.components.length-1;var b=new Array(a),e,d;for(var c=0;c<a;++c){e=this.components[c];d=this.components[c+1];if(e.x<d.x){b[c]={x1:e.x,y1:e.y,x2:d.x,y2:d.y}}else{b[c]={x1:d.x,y1:d.y,x2:e.x,y2:e.y}}}function f(h,g){return h.x1-g.x1}return b.sort(f)},splitWithSegment:function(r,b){var c=!(b&&b.edge===false);var o=b&&b.tolerance;var a=[];var t=this.getVertices();var n=[];var v=[];var h=false;var e,d,l;var j,q,u;var f={point:true,tolerance:o};var g=null;for(var m=0,k=t.length-2;m<=k;++m){e=t[m];n.push(e.clone());d=t[m+1];u={x1:e.x,y1:e.y,x2:d.x,y2:d.y};l=OpenLayers.Geometry.segmentsIntersect(r,u,f);if(l instanceof OpenLayers.Geometry.Point){if((l.x===r.x1&&l.y===r.y1)||(l.x===r.x2&&l.y===r.y2)||l.equals(e)||l.equals(d)){q=true}else{q=false}if(q||c){if(!l.equals(v[v.length-1])){v.push(l.clone())}if(m===0){if(l.equals(e)){continue}}if(l.equals(d)){continue}h=true;if(!l.equals(e)){n.push(l)}a.push(new OpenLayers.Geometry.LineString(n));n=[l.clone()]}}}if(h){n.push(d.clone());a.push(new OpenLayers.Geometry.LineString(n))}if(v.length>0){var p=r.x1<r.x2?1:-1;var s=r.y1<r.y2?1:-1;g={lines:a,points:v.sort(function(w,i){return(p*w.x-p*i.x)||(s*w.y-s*i.y)})}}return g},split:function(x,b){var n=null;var d=b&&b.mutual;var l,e,m,c;if(x instanceof OpenLayers.Geometry.LineString){var w=this.getVertices();var g,f,v,h,a,p;var s=[];m=[];for(var t=0,o=w.length-2;t<=o;++t){g=w[t];f=w[t+1];v={x1:g.x,y1:g.y,x2:f.x,y2:f.y};c=c||[x];if(d){s.push(g.clone())}for(var r=0;r<c.length;++r){h=c[r].splitWithSegment(v,b);if(h){a=h.lines;if(a.length>0){a.unshift(r,1);Array.prototype.splice.apply(c,a);r+=a.length-2}if(d){for(var q=0,u=h.points.length;q<u;++q){p=h.points[q];if(!p.equals(g)){s.push(p);m.push(new OpenLayers.Geometry.LineString(s));if(p.equals(f)){s=[]}else{s=[p.clone()]}}}}}}}if(d&&m.length>0&&s.length>0){s.push(f.clone());m.push(new OpenLayers.Geometry.LineString(s))}}else{n=x.splitWith(this,b)}if(c&&c.length>1){e=true}else{c=[]}if(m&&m.length>1){l=true}else{m=[]}if(e||l){if(d){n=[m,c]}else{n=c}}return n},splitWith:function(b,a){return b.split(this,a)},getVertices:function(a){var b;if(a===true){b=[this.components[0],this.components[this.components.length-1]]}else{if(a===false){b=this.components.slice(1,this.components.length-1)}else{b=this.components.slice()}}return b},distanceTo:function(h,g){var k=!(g&&g.edge===false);var B=k&&g&&g.details;var q,e={};var t=Number.POSITIVE_INFINITY;if(h instanceof OpenLayers.Geometry.Point){var r=this.getSortedSegments();var p=h.x;var o=h.y;var z;for(var v=0,w=r.length;v<w;++v){z=r[v];q=OpenLayers.Geometry.distanceToSegment(h,z);if(q.distance<t){t=q.distance;e=q;if(t===0){break}}else{if(z.x2>p&&((o>z.y1&&o<z.y2)||(o<z.y1&&o>z.y2))){break}}}if(B){e={distance:e.distance,x0:e.x,y0:e.y,x1:p,y1:o}}else{e=e.distance}}else{if(h instanceof OpenLayers.Geometry.LineString){var d=this.getSortedSegments();var c=h.getSortedSegments();var b,a,n,A,f;var m=c.length;var l={point:true};outer:for(var v=0,w=d.length;v<w;++v){b=d[v];A=b.x1;f=b.y1;for(var u=0;u<m;++u){a=c[u];n=OpenLayers.Geometry.segmentsIntersect(b,a,l);if(n){t=0;e={distance:0,x0:n.x,y0:n.y,x1:n.x,y1:n.y};break outer}else{q=OpenLayers.Geometry.distanceToSegment({x:A,y:f},a);if(q.distance<t){t=q.distance;e={distance:t,x0:A,y0:f,x1:q.x,y1:q.y}}}}}if(!B){e=e.distance}if(t!==0){if(b){q=h.distanceTo(new OpenLayers.Geometry.Point(b.x2,b.y2),g);var s=B?q.distance:q;if(s<t){if(B){e={distance:t,x0:q.x1,y0:q.y1,x1:q.x0,y1:q.y0}}else{e=s}}}}}else{e=h.distanceTo(this,g);if(B){e={distance:e.distance,x0:e.x1,y0:e.y1,x1:e.x0,y1:e.y0}}}}return e},CLASS_NAME:"OpenLayers.Geometry.LineString"});OpenLayers.Geometry.LinearRing=OpenLayers.Class(OpenLayers.Geometry.LineString,{componentTypes:["OpenLayers.Geometry.Point"],initialize:function(a){OpenLayers.Geometry.LineString.prototype.initialize.apply(this,arguments)},addComponent:function(a,b){var c=false;var d=this.components.pop();if(b!=null||!a.equals(d)){c=OpenLayers.Geometry.Collection.prototype.addComponent.apply(this,arguments)}var e=this.components[0];OpenLayers.Geometry.Collection.prototype.addComponent.apply(this,[e]);return c},removeComponent:function(a){if(this.components.length>4){this.components.pop();OpenLayers.Geometry.Collection.prototype.removeComponent.apply(this,arguments);var b=this.components[0];OpenLayers.Geometry.Collection.prototype.addComponent.apply(this,[b])}},move:function(b,d){for(var c=0,a=this.components.length;c<a-1;c++){this.components[c].move(b,d)}},rotate:function(d,b){for(var c=0,a=this.components.length;c<a-1;++c){this.components[c].rotate(d,b)}},resize:function(e,b,d){for(var c=0,a=this.components.length;c<a-1;++c){this.components[c].resize(e,b,d)}return this},transform:function(e,c){if(e&&c){for(var d=0,a=this.components.length;d<a-1;d++){var b=this.components[d];b.transform(e,c)}this.bounds=null}return this},getCentroid:function(){if(this.components&&(this.components.length>2)){var h=0;var g=0;for(var e=0;e<this.components.length-1;e++){var d=this.components[e];var k=this.components[e+1];h+=(d.x+k.x)*(d.x*k.y-k.x*d.y);g+=(d.y+k.y)*(d.x*k.y-k.x*d.y)}var f=-1*this.getArea();var a=h/(6*f);var j=g/(6*f);return new OpenLayers.Geometry.Point(a,j)}else{return null}},getArea:function(){var g=0;if(this.components&&(this.components.length>2)){var f=0;for(var e=0,d=this.components.length;e<d-1;e++){var a=this.components[e];var h=this.components[e+1];f+=(a.x+h.x)*(h.y-a.y)}g=-f/2}return g},getGeodesicArea:function(b){var d=this;if(b){var c=new OpenLayers.Projection("EPSG:4326");if(!c.equals(b)){d=this.clone().transform(b,c)}}var f=0;var a=d.components&&d.components.length;if(a>2){var h,g;for(var e=0;e<a-1;e++){h=d.components[e];g=d.components[e+1];f+=OpenLayers.Util.rad(g.x-h.x)*(2+Math.sin(OpenLayers.Util.rad(h.y))+Math.sin(OpenLayers.Util.rad(g.y)))}f=f*6378137*6378137/2}return f},containsPoint:function(m){var s=OpenLayers.Number.limitSigDigs;var l=14;var k=s(m.x,l);var j=s(m.y,l);function r(w,t,v,i,u){return(((t-i)*w)+((i*v)-(t*u)))/(v-u)}var a=this.components.length-1;var g,f,q,d,o,b,e,c;var h=0;for(var n=0;n<a;++n){g=this.components[n];q=s(g.x,l);d=s(g.y,l);f=this.components[n+1];o=s(f.x,l);b=s(f.y,l);if(d==b){if(j==d){if(q<=o&&(k>=q&&k<=o)||q>=o&&(k<=q&&k>=o)){h=-1;break}}continue}e=s(r(j,q,d,o,b),l);if(e==k){if(d<b&&(j>=d&&j<=b)||d>b&&(j<=d&&j>=b)){h=-1;break}}if(e<=k){continue}if(q!=o&&(e<Math.min(q,o)||e>Math.max(q,o))){continue}if(d<b&&(j>=d&&j<b)||d>b&&(j<d&&j>=b)){++h}}var p=(h==-1)?1:!!(h&1);return p},intersects:function(d){var b=false;if(d.CLASS_NAME=="OpenLayers.Geometry.Point"){b=this.containsPoint(d)}else{if(d.CLASS_NAME=="OpenLayers.Geometry.LineString"){b=d.intersects(this)}else{if(d.CLASS_NAME=="OpenLayers.Geometry.LinearRing"){b=OpenLayers.Geometry.LineString.prototype.intersects.apply(this,[d])}else{for(var c=0,a=d.components.length;c<a;++c){b=d.components[c].intersects(this);if(b){break}}}}}return b},getVertices:function(a){return(a===true)?[]:this.components.slice(0,this.components.length-1)},CLASS_NAME:"OpenLayers.Geometry.LinearRing"}); \ No newline at end of file
+var OpenLayers={singleFile:true};(function(){var j=(typeof OpenLayers=="object"&&OpenLayers.singleFile);var a;window.OpenLayers={_scriptName:(!j)?"lib/OpenLayers.js":"OpenLayers.js",_getScriptLocation:function(){if(a!=undefined){return a}a="";var r=new RegExp("(^|(.*?\\/))("+OpenLayers._scriptName+")(\\?|$)");var n=document.getElementsByTagName("script");for(var p=0,h=n.length;p<h;p++){var q=n[p].getAttribute("src");if(q){var o=q.match(r);if(o){a=o[1];break}}}return a}};if(!j){var k=new Array("OpenLayers/Util.js","OpenLayers/BaseTypes.js","OpenLayers/BaseTypes/Class.js","OpenLayers/BaseTypes/Bounds.js","OpenLayers/BaseTypes/Element.js","OpenLayers/BaseTypes/LonLat.js","OpenLayers/BaseTypes/Pixel.js","OpenLayers/BaseTypes/Size.js","OpenLayers/Console.js","OpenLayers/Tween.js","Rico/Corner.js","Rico/Color.js","OpenLayers/Ajax.js","OpenLayers/Events.js","OpenLayers/Request.js","OpenLayers/Request/XMLHttpRequest.js","OpenLayers/Projection.js","OpenLayers/Map.js","OpenLayers/Layer.js","OpenLayers/Icon.js","OpenLayers/Marker.js","OpenLayers/Marker/Box.js","OpenLayers/Popup.js","OpenLayers/Tile.js","OpenLayers/Tile/Image.js","OpenLayers/Tile/Image/IFrame.js","OpenLayers/Tile/WFS.js","OpenLayers/Layer/Image.js","OpenLayers/Layer/SphericalMercator.js","OpenLayers/Layer/EventPane.js","OpenLayers/Layer/FixedZoomLevels.js","OpenLayers/Layer/VirtualEarth.js","OpenLayers/Layer/Yahoo.js","OpenLayers/Layer/HTTPRequest.js","OpenLayers/Layer/Grid.js","OpenLayers/Layer/MapGuide.js","OpenLayers/Layer/MapServer.js","OpenLayers/Layer/MapServer/Untiled.js","OpenLayers/Layer/KaMap.js","OpenLayers/Layer/KaMapCache.js","OpenLayers/Layer/MultiMap.js","OpenLayers/Layer/Markers.js","OpenLayers/Layer/Text.js","OpenLayers/Layer/WorldWind.js","OpenLayers/Layer/ArcGIS93Rest.js","OpenLayers/Layer/WMS.js","OpenLayers/Layer/WMS/Untiled.js","OpenLayers/Layer/WMS/Post.js","OpenLayers/Layer/WMTS.js","OpenLayers/Layer/ArcIMS.js","OpenLayers/Layer/GeoRSS.js","OpenLayers/Layer/Boxes.js","OpenLayers/Layer/XYZ.js","OpenLayers/Layer/TMS.js","OpenLayers/Layer/TileCache.js","OpenLayers/Layer/Zoomify.js","OpenLayers/Popup/Anchored.js","OpenLayers/Popup/AnchoredBubble.js","OpenLayers/Popup/Framed.js","OpenLayers/Popup/FramedCloud.js","OpenLayers/Feature.js","OpenLayers/Feature/Vector.js","OpenLayers/Feature/WFS.js","OpenLayers/Handler.js","OpenLayers/Handler/Click.js","OpenLayers/Handler/Hover.js","OpenLayers/Handler/Point.js","OpenLayers/Handler/Path.js","OpenLayers/Handler/Polygon.js","OpenLayers/Handler/Feature.js","OpenLayers/Handler/Drag.js","OpenLayers/Handler/RegularPolygon.js","OpenLayers/Handler/Box.js","OpenLayers/Handler/MouseWheel.js","OpenLayers/Handler/Keyboard.js","OpenLayers/Control.js","OpenLayers/Control/Attribution.js","OpenLayers/Control/Button.js","OpenLayers/Control/ZoomBox.js","OpenLayers/Control/ZoomToMaxExtent.js","OpenLayers/Control/DragPan.js","OpenLayers/Control/Navigation.js","OpenLayers/Control/MouseDefaults.js","OpenLayers/Control/MousePosition.js","OpenLayers/Control/OverviewMap.js","OpenLayers/Control/KeyboardDefaults.js","OpenLayers/Control/PanZoom.js","OpenLayers/Control/PanZoomBar.js","OpenLayers/Control/ArgParser.js","OpenLayers/Control/Permalink.js","OpenLayers/Control/Scale.js","OpenLayers/Control/ScaleLine.js","OpenLayers/Control/Snapping.js","OpenLayers/Control/Split.js","OpenLayers/Control/LayerSwitcher.js","OpenLayers/Control/DrawFeature.js","OpenLayers/Control/DragFeature.js","OpenLayers/Control/ModifyFeature.js","OpenLayers/Control/Panel.js","OpenLayers/Control/SelectFeature.js","OpenLayers/Control/NavigationHistory.js","OpenLayers/Control/Measure.js","OpenLayers/Control/WMSGetFeatureInfo.js","OpenLayers/Control/WMTSGetFeatureInfo.js","OpenLayers/Control/Graticule.js","OpenLayers/Control/TransformFeature.js","OpenLayers/Control/SLDSelect.js","OpenLayers/Geometry.js","OpenLayers/Geometry/Rectangle.js","OpenLayers/Geometry/Collection.js","OpenLayers/Geometry/Point.js","OpenLayers/Geometry/MultiPoint.js","OpenLayers/Geometry/Curve.js","OpenLayers/Geometry/LineString.js","OpenLayers/Geometry/LinearRing.js","OpenLayers/Geometry/Polygon.js","OpenLayers/Geometry/MultiLineString.js","OpenLayers/Geometry/MultiPolygon.js","OpenLayers/Geometry/Surface.js","OpenLayers/Renderer.js","OpenLayers/Renderer/Elements.js","OpenLayers/Renderer/SVG.js","OpenLayers/Renderer/Canvas.js","OpenLayers/Renderer/VML.js","OpenLayers/Layer/Vector.js","OpenLayers/Layer/Vector/RootContainer.js","OpenLayers/Strategy.js","OpenLayers/Strategy/Filter.js","OpenLayers/Strategy/Fixed.js","OpenLayers/Strategy/Cluster.js","OpenLayers/Strategy/Paging.js","OpenLayers/Strategy/BBOX.js","OpenLayers/Strategy/Save.js","OpenLayers/Strategy/Refresh.js","OpenLayers/Filter.js","OpenLayers/Filter/FeatureId.js","OpenLayers/Filter/Logical.js","OpenLayers/Filter/Comparison.js","OpenLayers/Filter/Spatial.js","OpenLayers/Protocol.js","OpenLayers/Protocol/HTTP.js","OpenLayers/Protocol/SQL.js","OpenLayers/Protocol/SQL/Gears.js","OpenLayers/Protocol/WFS.js","OpenLayers/Protocol/WFS/v1.js","OpenLayers/Protocol/WFS/v1_0_0.js","OpenLayers/Protocol/WFS/v1_1_0.js","OpenLayers/Protocol/SOS.js","OpenLayers/Protocol/SOS/v1_0_0.js","OpenLayers/Layer/PointTrack.js","OpenLayers/Layer/GML.js","OpenLayers/Style.js","OpenLayers/Style2.js","OpenLayers/StyleMap.js","OpenLayers/Rule.js","OpenLayers/Format.js","OpenLayers/Format/XML.js","OpenLayers/Format/Context.js","OpenLayers/Format/ArcXML.js","OpenLayers/Format/ArcXML/Features.js","OpenLayers/Format/GML.js","OpenLayers/Format/GML/Base.js","OpenLayers/Format/GML/v2.js","OpenLayers/Format/GML/v3.js","OpenLayers/Format/Atom.js","OpenLayers/Format/KML.js","OpenLayers/Format/GeoRSS.js","OpenLayers/Format/WFS.js","OpenLayers/Format/WFSCapabilities.js","OpenLayers/Format/WFSCapabilities/v1.js","OpenLayers/Format/WFSCapabilities/v1_0_0.js","OpenLayers/Format/WFSCapabilities/v1_1_0.js","OpenLayers/Format/WFSDescribeFeatureType.js","OpenLayers/Format/WMSDescribeLayer.js","OpenLayers/Format/WMSDescribeLayer/v1_1.js","OpenLayers/Format/WKT.js","OpenLayers/Format/OSM.js","OpenLayers/Format/GPX.js","OpenLayers/Format/Filter.js","OpenLayers/Format/Filter/v1.js","OpenLayers/Format/Filter/v1_0_0.js","OpenLayers/Format/Filter/v1_1_0.js","OpenLayers/Format/SLD.js","OpenLayers/Format/SLD/v1.js","OpenLayers/Format/SLD/v1_0_0.js","OpenLayers/Format/OWSCommon/v1.js","OpenLayers/Format/OWSCommon/v1_0_0.js","OpenLayers/Format/OWSCommon/v1_1_0.js","OpenLayers/Format/CSWGetDomain.js","OpenLayers/Format/CSWGetDomain/v2_0_2.js","OpenLayers/Format/CSWGetRecords.js","OpenLayers/Format/CSWGetRecords/v2_0_2.js","OpenLayers/Format/WFST.js","OpenLayers/Format/WFST/v1.js","OpenLayers/Format/WFST/v1_0_0.js","OpenLayers/Format/WFST/v1_1_0.js","OpenLayers/Format/Text.js","OpenLayers/Format/JSON.js","OpenLayers/Format/GeoJSON.js","OpenLayers/Format/WMC.js","OpenLayers/Format/WMC/v1.js","OpenLayers/Format/WMC/v1_0_0.js","OpenLayers/Format/WMC/v1_1_0.js","OpenLayers/Format/WMSCapabilities.js","OpenLayers/Format/WMSCapabilities/v1.js","OpenLayers/Format/WMSCapabilities/v1_1.js","OpenLayers/Format/WMSCapabilities/v1_1_0.js","OpenLayers/Format/WMSCapabilities/v1_1_1.js","OpenLayers/Format/WMSCapabilities/v1_3.js","OpenLayers/Format/WMSCapabilities/v1_3_0.js","OpenLayers/Format/WMSGetFeatureInfo.js","OpenLayers/Format/SOSCapabilities.js","OpenLayers/Format/SOSCapabilities/v1_0_0.js","OpenLayers/Format/SOSGetObservation.js","OpenLayers/Format/SOSGetFeatureOfInterest.js","OpenLayers/Format/OWSContext.js","OpenLayers/Format/OWSContext/v0_3_1.js","OpenLayers/Format/WMTSCapabilities.js","OpenLayers/Format/WMTSCapabilities/v1_0_0.js","OpenLayers/Layer/WFS.js","OpenLayers/Control/GetFeature.js","OpenLayers/Control/MouseToolbar.js","OpenLayers/Control/NavToolbar.js","OpenLayers/Control/PanPanel.js","OpenLayers/Control/Pan.js","OpenLayers/Control/ZoomIn.js","OpenLayers/Control/ZoomOut.js","OpenLayers/Control/ZoomPanel.js","OpenLayers/Control/EditingToolbar.js","OpenLayers/Symbolizer.js","OpenLayers/Symbolizer/Point.js","OpenLayers/Symbolizer/Line.js","OpenLayers/Symbolizer/Polygon.js","OpenLayers/Symbolizer/Text.js","OpenLayers/Symbolizer/Raster.js","OpenLayers/Lang.js","OpenLayers/Lang/en.js");var c=navigator.userAgent;var e=(c.match("MSIE")||c.match("Safari"));if(e){var b=new Array(k.length)}var l=OpenLayers._getScriptLocation()+"lib/";for(var d=0,g=k.length;d<g;d++){if(e){b[d]="<script src='"+l+k[d]+"'><\/script>"}else{var m=document.createElement("script");m.src=l+k[d];var f=document.getElementsByTagName("head").length?document.getElementsByTagName("head")[0]:document.body;f.appendChild(m)}}if(e){document.write(b.join(""))}}})();OpenLayers.VERSION_NUMBER="OpenLayers 2.10 -- $Revision: 10721 $";OpenLayers.String={startsWith:function(b,a){return(b.indexOf(a)==0)},contains:function(b,a){return(b.indexOf(a)!=-1)},trim:function(a){return a.replace(/^\s\s*/,"").replace(/\s\s*$/,"")},camelize:function(f){var d=f.split("-");var b=d[0];for(var c=1,a=d.length;c<a;c++){var e=d[c];b+=e.charAt(0).toUpperCase()+e.substring(1)}return b},format:function(d,c,a){if(!c){c=window}var b=function(j,e){var h;var g=e.split(/\.+/);for(var f=0;f<g.length;f++){if(f==0){h=c}h=h[g[f]]}if(typeof h=="function"){h=a?h.apply(null,a):h()}if(typeof h=="undefined"){return"undefined"}else{return h}};return d.replace(OpenLayers.String.tokenRegEx,b)},tokenRegEx:/\$\{([\w.]+?)\}/g,numberRegEx:/^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/,isNumeric:function(a){return OpenLayers.String.numberRegEx.test(a)},numericIf:function(a){return OpenLayers.String.isNumeric(a)?parseFloat(a):a}};if(!String.prototype.startsWith){String.prototype.startsWith=function(a){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.String.startsWith"}));return OpenLayers.String.startsWith(this,a)}}if(!String.prototype.contains){String.prototype.contains=function(a){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.String.contains"}));return OpenLayers.String.contains(this,a)}}if(!String.prototype.trim){String.prototype.trim=function(){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.String.trim"}));return OpenLayers.String.trim(this)}}if(!String.prototype.camelize){String.prototype.camelize=function(){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.String.camelize"}));return OpenLayers.String.camelize(this)}}OpenLayers.Number={decimalSeparator:".",thousandsSeparator:",",limitSigDigs:function(a,c){var b=0;if(c>0){b=parseFloat(a.toPrecision(c))}return b},format:function(c,a,g,i){a=(typeof a!="undefined")?a:0;g=(typeof g!="undefined")?g:OpenLayers.Number.thousandsSeparator;i=(typeof i!="undefined")?i:OpenLayers.Number.decimalSeparator;if(a!=null){c=parseFloat(c.toFixed(a))}var b=c.toString().split(".");if(b.length==1&&a==null){a=0}var d=b[0];if(g){var e=/(-?[0-9]+)([0-9]{3})/;while(e.test(d)){d=d.replace(e,"$1"+g+"$2")}}var f;if(a==0){f=d}else{var h=b.length>1?b[1]:"0";if(a!=null){h=h+new Array(a-h.length+1).join("0")}f=d+i+h}return f}};if(!Number.prototype.limitSigDigs){Number.prototype.limitSigDigs=function(a){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.Number.limitSigDigs"}));return OpenLayers.Number.limitSigDigs(this,a)}}OpenLayers.Function={bind:function(c,b){var a=Array.prototype.slice.apply(arguments,[2]);return function(){var d=a.concat(Array.prototype.slice.apply(arguments,[0]));return c.apply(b,d)}},bindAsEventListener:function(b,a){return function(c){return b.call(a,c||window.event)}},False:function(){return false},True:function(){return true}};if(!Function.prototype.bind){Function.prototype.bind=function(){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.Function.bind"}));Array.prototype.unshift.apply(arguments,[this]);return OpenLayers.Function.bind.apply(null,arguments)}}if(!Function.prototype.bindAsEventListener){Function.prototype.bindAsEventListener=function(a){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.Function.bindAsEventListener"}));return OpenLayers.Function.bindAsEventListener(this,a)}}OpenLayers.Array={filter:function(g,f,b){var d=[];if(Array.prototype.filter){d=g.filter(f,b)}else{var a=g.length;if(typeof f!="function"){throw new TypeError()}for(var c=0;c<a;c++){if(c in g){var e=g[c];if(f.call(b,e,c,g)){d.push(e)}}}}return d}};OpenLayers.Date={toISOString:(function(){if("toISOString" in Date.prototype){return function(b){return b.toISOString()}}else{function a(c,b){var d=c+"";while(d.length<b){d="0"+d}return d}return function(b){var c;if(isNaN(b.getTime())){c="Invalid Date"}else{c=b.getUTCFullYear()+"-"+a(b.getUTCMonth()+1,2)+"-"+a(b.getUTCDate(),2)+"T"+a(b.getUTCHours(),2)+":"+a(b.getUTCMinutes(),2)+":"+a(b.getUTCSeconds(),2)+"."+a(b.getUTCMilliseconds(),3)+"Z"}return c}}})(),parse:function(j){var b;var p=Date.parse(j);if(!isNaN(p)){b=new Date(p)}else{var h=j.match(/^(?:(\d{4})(?:-(\d{2})(?:-(\d{2}))?)?)?(?:T(\d{1,2}):(\d{2}):(\d{2}(?:\.\d+)?)(Z|(?:[+-]\d{1,2}(?::(\d{2}))?)))?$/);var b;if(h&&(h[1]||h[7])){var k=parseInt(h[1],10)||0;var i=(parseInt(h[2],10)-1)||0;var m=parseInt(h[3],10)||1;b=new Date(Date.UTC(k,i,m));var l=h[7];if(l){var n=parseInt(h[4],10);var d=parseInt(h[5],10);var a=parseFloat(h[6]);var o=a|0;var c=Math.round(1000*(a-o));b.setUTCHours(n,d,o,c);if(l!=="Z"){var g=parseInt(l,10);var f=parseInt(h[8])||0;var e=-1000*(60*(g*60)+f*60);b=new Date(b.getTime()+e)}}}else{b=new Date("invalid")}}return b}};OpenLayers.Class=function(){var e=function(){if(arguments&&arguments[0]!=OpenLayers.Class.isPrototype){this.initialize.apply(this,arguments)}};var c={};var g,b,d;for(var f=0,a=arguments.length;f<a;++f){d=arguments[f];if(typeof d=="function"){if(f==0&&a>1){b=d.prototype.initialize;d.prototype.initialize=function(){};c=new d();if(b===undefined){delete d.prototype.initialize}else{d.prototype.initialize=b}}g=d.prototype}else{g=d}OpenLayers.Util.extend(c,g)}e.prototype=c;return e};OpenLayers.Class.isPrototype=function(){};OpenLayers.Class.create=function(){return function(){if(arguments&&arguments[0]!=OpenLayers.Class.isPrototype){this.initialize.apply(this,arguments)}}};OpenLayers.Class.inherit=function(){var d=arguments[0];var e=new d(OpenLayers.Class.isPrototype);for(var c=1,a=arguments.length;c<a;c++){if(typeof arguments[c]=="function"){var b=arguments[c];arguments[c]=new b(OpenLayers.Class.isPrototype)}OpenLayers.Util.extend(e,arguments[c])}return e};OpenLayers.Util={};OpenLayers.Util.getElement=function(){var d=[];for(var c=0,a=arguments.length;c<a;c++){var b=arguments[c];if(typeof b=="string"){b=document.getElementById(b)}if(arguments.length==1){return b}d.push(b)}return d};OpenLayers.Util.isElement=function(a){return !!(a&&a.nodeType===1)};if(typeof window.$==="undefined"){window.$=OpenLayers.Util.getElement}OpenLayers.Util.extend=function(a,e){a=a||{};if(e){for(var d in e){var c=e[d];if(c!==undefined){a[d]=c}}var b=typeof window.Event=="function"&&e instanceof window.Event;if(!b&&e.hasOwnProperty&&e.hasOwnProperty("toString")){a.toString=e.toString}}return a};OpenLayers.Util.removeItem=function(c,b){for(var a=c.length-1;a>=0;a--){if(c[a]==b){c.splice(a,1)}}return c};OpenLayers.Util.clearArray=function(a){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"array = []"}));a.length=0};OpenLayers.Util.indexOf=function(d,c){if(typeof d.indexOf=="function"){return d.indexOf(c)}else{for(var b=0,a=d.length;b<a;b++){if(d[b]==c){return b}}return -1}};OpenLayers.Util.modifyDOMElement=function(e,h,d,f,a,c,g,b){if(h){e.id=h}if(d){e.style.left=d.x+"px";e.style.top=d.y+"px"}if(f){e.style.width=f.w+"px";e.style.height=f.h+"px"}if(a){e.style.position=a}if(c){e.style.border=c}if(g){e.style.overflow=g}if(parseFloat(b)>=0&&parseFloat(b)<1){e.style.filter="alpha(opacity="+(b*100)+")";e.style.opacity=b}else{if(parseFloat(b)==1){e.style.filter="";e.style.opacity=""}}};OpenLayers.Util.createDiv=function(a,i,h,f,e,c,b,g){var d=document.createElement("div");if(f){d.style.backgroundImage="url("+f+")"}if(!a){a=OpenLayers.Util.createUniqueID("OpenLayersDiv")}if(!e){e="absolute"}OpenLayers.Util.modifyDOMElement(d,a,i,h,e,c,b,g);return d};OpenLayers.Util.createImage=function(a,h,g,e,d,c,f,i){var b=document.createElement("img");if(!a){a=OpenLayers.Util.createUniqueID("OpenLayersDiv")}if(!d){d="relative"}OpenLayers.Util.modifyDOMElement(b,a,h,g,d,c,null,f);if(i){b.style.display="none";OpenLayers.Event.observe(b,"load",OpenLayers.Function.bind(OpenLayers.Util.onImageLoad,b));OpenLayers.Event.observe(b,"error",OpenLayers.Function.bind(OpenLayers.Util.onImageLoadError,b))}b.style.alt=a;b.galleryImg="no";if(e){b.src=e}return b};OpenLayers.Util.setOpacity=function(b,a){OpenLayers.Util.modifyDOMElement(b,null,null,null,null,null,null,a)};OpenLayers.Util.onImageLoad=function(){if(!this.viewRequestID||(this.map&&this.viewRequestID==this.map.viewRequestID)){this.style.display=""}OpenLayers.Element.removeClass(this,"olImageLoadError")};OpenLayers.IMAGE_RELOAD_ATTEMPTS=0;OpenLayers.Util.onImageLoadError=function(){this._attempts=(this._attempts)?(this._attempts+1):1;if(this._attempts<=OpenLayers.IMAGE_RELOAD_ATTEMPTS){var d=this.urls;if(d&&d instanceof Array&&d.length>1){var e=this.src.toString();var c,a;for(a=0;c=d[a];a++){if(e.indexOf(c)!=-1){break}}var f=Math.floor(d.length*Math.random());var b=d[f];a=0;while(b==c&&a++<4){f=Math.floor(d.length*Math.random());b=d[f]}this.src=e.replace(c,b)}else{this.src=this.src}}else{OpenLayers.Element.addClass(this,"olImageLoadError")}this.style.display=""};OpenLayers.Util.alphaHackNeeded=null;OpenLayers.Util.alphaHack=function(){if(OpenLayers.Util.alphaHackNeeded==null){var d=navigator.appVersion.split("MSIE");var a=parseFloat(d[1]);var b=false;try{b=!!(document.body.filters)}catch(c){}OpenLayers.Util.alphaHackNeeded=(b&&(a>=5.5)&&(a<7))}return OpenLayers.Util.alphaHackNeeded};OpenLayers.Util.modifyAlphaImageDiv=function(a,b,j,i,g,f,c,d,h){OpenLayers.Util.modifyDOMElement(a,b,j,i,f,null,null,h);var e=a.childNodes[0];if(g){e.src=g}OpenLayers.Util.modifyDOMElement(e,a.id+"_innerImage",null,i,"relative",c);if(OpenLayers.Util.alphaHack()){if(a.style.display!="none"){a.style.display="inline-block"}if(d==null){d="scale"}a.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+e.src+"', sizingMethod='"+d+"')";if(parseFloat(a.style.opacity)>=0&&parseFloat(a.style.opacity)<1){a.style.filter+=" alpha(opacity="+a.style.opacity*100+")"}e.style.filter="alpha(opacity=0)"}};OpenLayers.Util.createAlphaImageDiv=function(b,j,i,g,f,c,d,h,k){var a=OpenLayers.Util.createDiv();var e=OpenLayers.Util.createImage(null,null,null,null,null,null,null,false);a.appendChild(e);if(k){e.style.display="none";OpenLayers.Event.observe(e,"load",OpenLayers.Function.bind(OpenLayers.Util.onImageLoad,a));OpenLayers.Event.observe(e,"error",OpenLayers.Function.bind(OpenLayers.Util.onImageLoadError,a))}OpenLayers.Util.modifyAlphaImageDiv(a,b,j,i,g,f,c,d,h);return a};OpenLayers.Util.upperCaseObject=function(b){var a={};for(var c in b){a[c.toUpperCase()]=b[c]}return a};OpenLayers.Util.applyDefaults=function(d,c){d=d||{};var b=typeof window.Event=="function"&&c instanceof window.Event;for(var a in c){if(d[a]===undefined||(!b&&c.hasOwnProperty&&c.hasOwnProperty(a)&&!d.hasOwnProperty(a))){d[a]=c[a]}}if(!b&&c&&c.hasOwnProperty&&c.hasOwnProperty("toString")&&!d.hasOwnProperty("toString")){d.toString=c.toString}return d};OpenLayers.Util.getParameterString=function(c){var b=[];for(var h in c){var g=c[h];if((g!=null)&&(typeof g!="function")){var d;if(typeof g=="object"&&g.constructor==Array){var e=[];var i;for(var a=0,f=g.length;a<f;a++){i=g[a];e.push(encodeURIComponent((i===null||i===undefined)?"":i))}d=e.join(",")}else{d=encodeURIComponent(g)}b.push(encodeURIComponent(h)+"="+d)}}return b.join("&")};OpenLayers.Util.urlAppend=function(a,b){var d=a;if(b){var c=(a+" ").split(/[?&]/);d+=(c.pop()===" "?b:c.length?"&"+b:"?"+b)}return d};OpenLayers.ImgPath="";OpenLayers.Util.getImagesLocation=function(){return OpenLayers.ImgPath||(OpenLayers._getScriptLocation()+"img/")};OpenLayers.Util.Try=function(){var d=null;for(var c=0,a=arguments.length;c<a;c++){var b=arguments[c];try{d=b();break}catch(f){}}return d};OpenLayers.Util.getNodes=function(c,b){var a=OpenLayers.Util.Try(function(){return OpenLayers.Util._getNodes(c.documentElement.childNodes,b)},function(){return OpenLayers.Util._getNodes(c.childNodes,b)});return a};OpenLayers.Util._getNodes=function(c,e){var b=[];for(var d=0,a=c.length;d<a;d++){if(c[d].nodeName==e){b.push(c[d])}}return b};OpenLayers.Util.getTagText=function(c,d,b){var a=OpenLayers.Util.getNodes(c,d);if(a&&(a.length>0)){if(!b){b=0}if(a[b].childNodes.length>1){return a.childNodes[1].nodeValue}else{if(a[b].childNodes.length==1){return a[b].firstChild.nodeValue}}}else{return""}};OpenLayers.Util.getXmlNodeValue=function(a){var b=null;OpenLayers.Util.Try(function(){b=a.text;if(!b){b=a.textContent}if(!b){b=a.firstChild.nodeValue}},function(){b=a.textContent});return b};OpenLayers.Util.mouseLeft=function(a,c){var b=(a.relatedTarget)?a.relatedTarget:a.toElement;while(b!=c&&b!=null){b=b.parentNode}return(b!=c)};OpenLayers.Util.DEFAULT_PRECISION=14;OpenLayers.Util.toFloat=function(b,a){if(a==null){a=OpenLayers.Util.DEFAULT_PRECISION}var b;if(a==0){b=parseFloat(b)}else{b=parseFloat(parseFloat(b).toPrecision(a))}return b};OpenLayers.Util.rad=function(a){return a*Math.PI/180};OpenLayers.Util.deg=function(a){return a*180/Math.PI};OpenLayers.Util.VincentyConstants={a:6378137,b:6356752.3142,f:1/298.257223563};OpenLayers.Util.distVincenty=function(g,e){var k=OpenLayers.Util.VincentyConstants;var M=k.a,K=k.b,G=k.f;var n=OpenLayers.Util.rad(e.lon-g.lon);var J=Math.atan((1-G)*Math.tan(OpenLayers.Util.rad(g.lat)));var I=Math.atan((1-G)*Math.tan(OpenLayers.Util.rad(e.lat)));var m=Math.sin(J),i=Math.cos(J);var l=Math.sin(I),h=Math.cos(I);var r=n,o=2*Math.PI;var q=20;while(Math.abs(r-o)>1e-12&&--q>0){var z=Math.sin(r),c=Math.cos(r);var N=Math.sqrt((h*z)*(h*z)+(i*l-m*h*c)*(i*l-m*h*c));if(N==0){return 0}var E=m*l+i*h*c;var y=Math.atan2(N,E);var j=Math.asin(i*h*z/N);var F=Math.cos(j)*Math.cos(j);var p=E-2*m*l/F;var v=G/16*F*(4+G*(4-3*F));o=r;r=n+(1-v)*G*Math.sin(j)*(y+v*N*(p+v*E*(-1+2*p*p)))}if(q==0){return NaN}var u=F*(M*M-K*K)/(K*K);var x=1+u/16384*(4096+u*(-768+u*(320-175*u)));var w=u/1024*(256+u*(-128+u*(74-47*u)));var D=w*N*(p+w/4*(E*(-1+2*p*p)-w/6*p*(-3+4*N*N)*(-3+4*p*p)));var t=K*x*(y-D);var H=t.toFixed(3)/1000;return H};OpenLayers.Util.destinationVincenty=function(l,P,E){var o=OpenLayers.Util;var i=o.VincentyConstants;var Q=i.a,O=i.b,J=i.f;var N=l.lon;var g=l.lat;var q=E;var D=o.rad(P);var G=Math.sin(D);var h=Math.cos(D);var F=(1-J)*Math.tan(o.rad(g));var c=1/Math.sqrt((1+F*F)),j=F*c;var p=Math.atan2(F,h);var y=c*G;var I=1-y*y;var t=I*(Q*Q-O*O)/(O*O);var x=1+t/16384*(4096+t*(-768+t*(320-175*t)));var v=t/1024*(256+t*(-128+t*(74-47*t)));var w=q/(O*x),K=2*Math.PI;while(Math.abs(w-K)>1e-12){var m=Math.cos(2*p+w);var R=Math.sin(w);var H=Math.cos(w);var z=v*R*(m+v/4*(H*(-1+2*m*m)-v/6*m*(-3+4*R*R)*(-3+4*m*m)));K=w;w=q/(O*x)+z}var M=j*R-c*H*h;var d=Math.atan2(j*H+c*R*h,(1-J)*Math.sqrt(y*y+M*M));var n=Math.atan2(R*G,c*H-j*R*h);var r=J/16*I*(4+J*(4-3*I));var k=n-(1-r)*J*y*(w+r*R*(m+r*H*(-1+2*m*m)));var e=Math.atan2(y,-M);return new OpenLayers.LonLat(N+o.deg(k),o.deg(d))};OpenLayers.Util.getParameters=function(b){b=b||window.location.href;var a="";if(OpenLayers.String.contains(b,"?")){var c=b.indexOf("?")+1;var e=OpenLayers.String.contains(b,"#")?b.indexOf("#"):b.length;a=b.substring(c,e)}var l={};var d=a.split(/[&;]/);for(var g=0,h=d.length;g<h;++g){var f=d[g].split("=");if(f[0]){var k=decodeURIComponent(f[0]);var j=f[1]||"";j=decodeURIComponent(j.replace(/\+/g," ")).split(",");if(j.length==1){j=j[0]}l[k]=j}}return l};OpenLayers.Util.getArgs=function(a){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.Util.getParameters"}));return OpenLayers.Util.getParameters(a)};OpenLayers.Util.lastSeqID=0;OpenLayers.Util.createUniqueID=function(a){if(a==null){a="id_"}OpenLayers.Util.lastSeqID+=1;return a+OpenLayers.Util.lastSeqID};OpenLayers.INCHES_PER_UNIT={inches:1,ft:12,mi:63360,m:39.3701,km:39370.1,dd:4374754,yd:36};OpenLayers.INCHES_PER_UNIT["in"]=OpenLayers.INCHES_PER_UNIT.inches;OpenLayers.INCHES_PER_UNIT.degrees=OpenLayers.INCHES_PER_UNIT.dd;OpenLayers.INCHES_PER_UNIT.nmi=1852*OpenLayers.INCHES_PER_UNIT.m;OpenLayers.METERS_PER_INCH=0.0254000508001016;OpenLayers.Util.extend(OpenLayers.INCHES_PER_UNIT,{Inch:OpenLayers.INCHES_PER_UNIT.inches,Meter:1/OpenLayers.METERS_PER_INCH,Foot:0.3048006096012192/OpenLayers.METERS_PER_INCH,IFoot:0.3048/OpenLayers.METERS_PER_INCH,ClarkeFoot:0.3047972651151/OpenLayers.METERS_PER_INCH,SearsFoot:0.30479947153867626/OpenLayers.METERS_PER_INCH,GoldCoastFoot:0.3047997101815088/OpenLayers.METERS_PER_INCH,IInch:0.0254/OpenLayers.METERS_PER_INCH,MicroInch:0.0000254/OpenLayers.METERS_PER_INCH,Mil:2.54e-8/OpenLayers.METERS_PER_INCH,Centimeter:0.01/OpenLayers.METERS_PER_INCH,Kilometer:1000/OpenLayers.METERS_PER_INCH,Yard:0.9144018288036576/OpenLayers.METERS_PER_INCH,SearsYard:0.914398414616029/OpenLayers.METERS_PER_INCH,IndianYard:0.9143985307444408/OpenLayers.METERS_PER_INCH,IndianYd37:0.91439523/OpenLayers.METERS_PER_INCH,IndianYd62:0.9143988/OpenLayers.METERS_PER_INCH,IndianYd75:0.9143985/OpenLayers.METERS_PER_INCH,IndianFoot:0.30479951/OpenLayers.METERS_PER_INCH,IndianFt37:0.30479841/OpenLayers.METERS_PER_INCH,IndianFt62:0.3047996/OpenLayers.METERS_PER_INCH,IndianFt75:0.3047995/OpenLayers.METERS_PER_INCH,Mile:1609.3472186944373/OpenLayers.METERS_PER_INCH,IYard:0.9144/OpenLayers.METERS_PER_INCH,IMile:1609.344/OpenLayers.METERS_PER_INCH,NautM:1852/OpenLayers.METERS_PER_INCH,"Lat-66":110943.31648893273/OpenLayers.METERS_PER_INCH,"Lat-83":110946.25736872235/OpenLayers.METERS_PER_INCH,Decimeter:0.1/OpenLayers.METERS_PER_INCH,Millimeter:0.001/OpenLayers.METERS_PER_INCH,Dekameter:10/OpenLayers.METERS_PER_INCH,Decameter:10/OpenLayers.METERS_PER_INCH,Hectometer:100/OpenLayers.METERS_PER_INCH,GermanMeter:1.0000135965/OpenLayers.METERS_PER_INCH,CaGrid:0.999738/OpenLayers.METERS_PER_INCH,ClarkeChain:20.1166194976/OpenLayers.METERS_PER_INCH,GunterChain:20.11684023368047/OpenLayers.METERS_PER_INCH,BenoitChain:20.116782494375872/OpenLayers.METERS_PER_INCH,SearsChain:20.11676512155/OpenLayers.METERS_PER_INCH,ClarkeLink:0.201166194976/OpenLayers.METERS_PER_INCH,GunterLink:0.2011684023368047/OpenLayers.METERS_PER_INCH,BenoitLink:0.20116782494375873/OpenLayers.METERS_PER_INCH,SearsLink:0.2011676512155/OpenLayers.METERS_PER_INCH,Rod:5.02921005842012/OpenLayers.METERS_PER_INCH,IntnlChain:20.1168/OpenLayers.METERS_PER_INCH,IntnlLink:0.201168/OpenLayers.METERS_PER_INCH,Perch:5.02921005842012/OpenLayers.METERS_PER_INCH,Pole:5.02921005842012/OpenLayers.METERS_PER_INCH,Furlong:201.1684023368046/OpenLayers.METERS_PER_INCH,Rood:3.778266898/OpenLayers.METERS_PER_INCH,CapeFoot:0.3047972615/OpenLayers.METERS_PER_INCH,Brealey:375/OpenLayers.METERS_PER_INCH,ModAmFt:0.304812252984506/OpenLayers.METERS_PER_INCH,Fathom:1.8288/OpenLayers.METERS_PER_INCH,"NautM-UK":1853.184/OpenLayers.METERS_PER_INCH,"50kilometers":50000/OpenLayers.METERS_PER_INCH,"150kilometers":150000/OpenLayers.METERS_PER_INCH});OpenLayers.Util.extend(OpenLayers.INCHES_PER_UNIT,{mm:OpenLayers.INCHES_PER_UNIT.Meter/1000,cm:OpenLayers.INCHES_PER_UNIT.Meter/100,dm:OpenLayers.INCHES_PER_UNIT.Meter*100,km:OpenLayers.INCHES_PER_UNIT.Meter*1000,kmi:OpenLayers.INCHES_PER_UNIT.nmi,fath:OpenLayers.INCHES_PER_UNIT.Fathom,ch:OpenLayers.INCHES_PER_UNIT.IntnlChain,link:OpenLayers.INCHES_PER_UNIT.IntnlLink,"us-in":OpenLayers.INCHES_PER_UNIT.inches,"us-ft":OpenLayers.INCHES_PER_UNIT.Foot,"us-yd":OpenLayers.INCHES_PER_UNIT.Yard,"us-ch":OpenLayers.INCHES_PER_UNIT.GunterChain,"us-mi":OpenLayers.INCHES_PER_UNIT.Mile,"ind-yd":OpenLayers.INCHES_PER_UNIT.IndianYd37,"ind-ft":OpenLayers.INCHES_PER_UNIT.IndianFt37,"ind-ch":20.11669506/OpenLayers.METERS_PER_INCH});OpenLayers.DOTS_PER_INCH=72;OpenLayers.Util.normalizeScale=function(b){var a=(b>1)?(1/b):b;return a};OpenLayers.Util.getResolutionFromScale=function(d,a){var b;if(d){if(a==null){a="degrees"}var c=OpenLayers.Util.normalizeScale(d);b=1/(c*OpenLayers.INCHES_PER_UNIT[a]*OpenLayers.DOTS_PER_INCH)}return b};OpenLayers.Util.getScaleFromResolution=function(b,a){if(a==null){a="degrees"}var c=b*OpenLayers.INCHES_PER_UNIT[a]*OpenLayers.DOTS_PER_INCH;return c};OpenLayers.Util.safeStopPropagation=function(a){OpenLayers.Event.stop(a,true)};OpenLayers.Util.pagePosition=function(f){var a=0,d=0;var b=f;var g=f;while(b){if(b==document.body){if(OpenLayers.Element.getStyle(g,"position")=="absolute"){break}}a+=b.offsetTop||0;d+=b.offsetLeft||0;g=b;try{b=b.offsetParent}catch(c){OpenLayers.Console.error(OpenLayers.i18n("pagePositionFailed",{elemId:b.id}));break}}b=f;while(b){a-=b.scrollTop||0;d-=b.scrollLeft||0;b=b.parentNode}return[d,a]};OpenLayers.Util.isEquivalentUrl=function(f,e,c){c=c||{};OpenLayers.Util.applyDefaults(c,{ignoreCase:true,ignorePort80:true,ignoreHash:true});var b=OpenLayers.Util.createUrlObject(f,c);var a=OpenLayers.Util.createUrlObject(e,c);for(var d in b){if(d!=="args"){if(b[d]!=a[d]){return false}}}for(var d in b.args){if(b.args[d]!=a.args[d]){return false}delete a.args[d]}for(var d in a.args){return false}return true};OpenLayers.Util.createUrlObject=function(c,k){k=k||{};if(!(/^\w+:\/\//).test(c)){var g=window.location;var e=g.port?":"+g.port:"";var h=g.protocol+"//"+g.host.split(":").shift()+e;if(c.indexOf("/")===0){c=h+c}else{var f=g.pathname.split("/");f.pop();c=h+f.join("/")+"/"+c}}if(k.ignoreCase){c=c.toLowerCase()}var i=document.createElement("a");i.href=c;var d={};d.host=i.host.split(":").shift();d.protocol=i.protocol;if(k.ignorePort80){d.port=(i.port=="80"||i.port=="0")?"":i.port}else{d.port=(i.port==""||i.port=="0")?"80":i.port}d.hash=(k.ignoreHash||i.hash==="#")?"":i.hash;var b=i.search;if(!b){var j=c.indexOf("?");b=(j!=-1)?c.substr(j):""}d.args=OpenLayers.Util.getParameters(b);d.pathname=(i.pathname.charAt(0)=="/")?i.pathname:"/"+i.pathname;return d};OpenLayers.Util.removeTail=function(b){var c=null;var a=b.indexOf("?");var d=b.indexOf("#");if(a==-1){c=(d!=-1)?b.substr(0,d):b}else{c=(d!=-1)?b.substr(0,Math.min(a,d)):b.substr(0,a)}return c};OpenLayers.Util.getBrowserName=function(){var b="";var a=navigator.userAgent.toLowerCase();if(a.indexOf("opera")!=-1){b="opera"}else{if(a.indexOf("msie")!=-1){b="msie"}else{if(a.indexOf("safari")!=-1){b="safari"}else{if(a.indexOf("mozilla")!=-1){if(a.indexOf("firefox")!=-1){b="firefox"}else{b="mozilla"}}}}}return b};OpenLayers.Util.getRenderedDimensions=function(b,o,p){var k,e;var a=document.createElement("div");a.style.visibility="hidden";var n=(p&&p.containerElement)?p.containerElement:document.body;if(o){if(o.w){k=o.w;a.style.width=k+"px"}else{if(o.h){e=o.h;a.style.height=e+"px"}}}if(p&&p.displayClass){a.className=p.displayClass}var f=document.createElement("div");f.innerHTML=b;f.style.overflow="visible";if(f.childNodes){for(var d=0,c=f.childNodes.length;d<c;d++){if(!f.childNodes[d].style){continue}f.childNodes[d].style.overflow="visible"}}a.appendChild(f);n.appendChild(a);var m=false;var j=a.parentNode;while(j&&j.tagName.toLowerCase()!="body"){var g=OpenLayers.Element.getStyle(j,"position");if(g=="absolute"){m=true;break}else{if(g&&g!="static"){break}}j=j.parentNode}if(!m){a.style.position="absolute"}if(!k){k=parseInt(f.scrollWidth);a.style.width=k+"px"}if(!e){e=parseInt(f.scrollHeight)}a.removeChild(f);n.removeChild(a);return new OpenLayers.Size(k,e)};OpenLayers.Util.getScrollbarWidth=function(){var c=OpenLayers.Util._scrollbarWidth;if(c==null){var e=null;var d=null;var a=0;var b=0;e=document.createElement("div");e.style.position="absolute";e.style.top="-1000px";e.style.left="-1000px";e.style.width="100px";e.style.height="50px";e.style.overflow="hidden";d=document.createElement("div");d.style.width="100%";d.style.height="200px";e.appendChild(d);document.body.appendChild(e);a=d.offsetWidth;e.style.overflow="scroll";b=d.offsetWidth;document.body.removeChild(document.body.lastChild);OpenLayers.Util._scrollbarWidth=(a-b);c=OpenLayers.Util._scrollbarWidth}return c};OpenLayers.Util.getFormattedLonLat=function(h,b,e){if(!e){e="dms"}var d=Math.abs(h);var i=Math.floor(d);var a=(d-i)/(1/60);var c=a;a=Math.floor(a);var g=(c-a)/(1/60);g=Math.round(g*10);g/=10;if(i<10){i="0"+i}var f=i+"\u00B0";if(e.indexOf("dm")>=0){if(a<10){a="0"+a}f+=a+"'";if(e.indexOf("dms")>=0){if(g<10){g="0"+g}f+=g+'"'}}if(b=="lon"){f+=h<0?OpenLayers.i18n("W"):OpenLayers.i18n("E")}else{f+=h<0?OpenLayers.i18n("S"):OpenLayers.i18n("N")}return f};OpenLayers.Element={visible:function(a){return OpenLayers.Util.getElement(a).style.display!="none"},toggle:function(){for(var c=0,a=arguments.length;c<a;c++){var b=OpenLayers.Util.getElement(arguments[c]);var d=OpenLayers.Element.visible(b)?"hide":"show";OpenLayers.Element[d](b)}},hide:function(){for(var c=0,a=arguments.length;c<a;c++){var b=OpenLayers.Util.getElement(arguments[c]);if(b){b.style.display="none"}}},show:function(){for(var c=0,a=arguments.length;c<a;c++){var b=OpenLayers.Util.getElement(arguments[c]);if(b){b.style.display=""}}},remove:function(a){a=OpenLayers.Util.getElement(a);a.parentNode.removeChild(a)},getHeight:function(a){a=OpenLayers.Util.getElement(a);return a.offsetHeight},getDimensions:function(c){c=OpenLayers.Util.getElement(c);if(OpenLayers.Element.getStyle(c,"display")!="none"){return{width:c.offsetWidth,height:c.offsetHeight}}var b=c.style;var f=b.visibility;var d=b.position;var a=b.display;b.visibility="hidden";b.position="absolute";b.display="";var g=c.clientWidth;var e=c.clientHeight;b.display=a;b.position=d;b.visibility=f;return{width:g,height:e}},hasClass:function(b,a){var c=b.className;return(!!c&&new RegExp("(^|\\s)"+a+"(\\s|$)").test(c))},addClass:function(b,a){if(!OpenLayers.Element.hasClass(b,a)){b.className+=(b.className?" ":"")+a}return b},removeClass:function(b,a){var c=b.className;if(c){b.className=OpenLayers.String.trim(c.replace(new RegExp("(^|\\s+)"+a+"(\\s+|$)")," "))}return b},toggleClass:function(b,a){if(OpenLayers.Element.hasClass(b,a)){OpenLayers.Element.removeClass(b,a)}else{OpenLayers.Element.addClass(b,a)}return b},getStyle:function(c,d){c=OpenLayers.Util.getElement(c);var e=null;if(c&&c.style){e=c.style[OpenLayers.String.camelize(d)];if(!e){if(document.defaultView&&document.defaultView.getComputedStyle){var b=document.defaultView.getComputedStyle(c,null);e=b?b.getPropertyValue(d):null}else{if(c.currentStyle){e=c.currentStyle[OpenLayers.String.camelize(d)]}}}var a=["left","top","right","bottom"];if(window.opera&&(OpenLayers.Util.indexOf(a,d)!=-1)&&(OpenLayers.Element.getStyle(c,"position")=="static")){e="auto"}}return e=="auto"?null:e}};OpenLayers.Size=OpenLayers.Class({w:0,h:0,initialize:function(a,b){this.w=parseFloat(a);this.h=parseFloat(b)},toString:function(){return("w="+this.w+",h="+this.h)},clone:function(){return new OpenLayers.Size(this.w,this.h)},equals:function(b){var a=false;if(b!=null){a=((this.w==b.w&&this.h==b.h)||(isNaN(this.w)&&isNaN(this.h)&&isNaN(b.w)&&isNaN(b.h)))}return a},CLASS_NAME:"OpenLayers.Size"});OpenLayers.Console={log:function(){},debug:function(){},info:function(){},warn:function(){},error:function(){},userError:function(a){alert(a)},assert:function(){},dir:function(){},dirxml:function(){},trace:function(){},group:function(){},groupEnd:function(){},time:function(){},timeEnd:function(){},profile:function(){},profileEnd:function(){},count:function(){},CLASS_NAME:"OpenLayers.Console"};(function(){var b=document.getElementsByTagName("script");for(var c=0,a=b.length;c<a;++c){if(b[c].src.indexOf("firebug.js")!=-1){if(console){OpenLayers.Util.extend(OpenLayers.Console,console);break}}}})();OpenLayers.Icon=OpenLayers.Class({url:null,size:null,offset:null,calculateOffset:null,imageDiv:null,px:null,initialize:function(a,b,d,c){this.url=a;this.size=(b)?b:new OpenLayers.Size(20,20);this.offset=d?d:new OpenLayers.Pixel(-(this.size.w/2),-(this.size.h/2));this.calculateOffset=c;var e=OpenLayers.Util.createUniqueID("OL_Icon_");this.imageDiv=OpenLayers.Util.createAlphaImageDiv(e)},destroy:function(){this.erase();OpenLayers.Event.stopObservingElement(this.imageDiv.firstChild);this.imageDiv.innerHTML="";this.imageDiv=null},clone:function(){return new OpenLayers.Icon(this.url,this.size,this.offset,this.calculateOffset)},setSize:function(a){if(a!=null){this.size=a}this.draw()},setUrl:function(a){if(a!=null){this.url=a}this.draw()},draw:function(a){OpenLayers.Util.modifyAlphaImageDiv(this.imageDiv,null,null,this.size,this.url,"absolute");this.moveTo(a);return this.imageDiv},erase:function(){if(this.imageDiv!=null&&this.imageDiv.parentNode!=null){OpenLayers.Element.remove(this.imageDiv)}},setOpacity:function(a){OpenLayers.Util.modifyAlphaImageDiv(this.imageDiv,null,null,null,null,null,null,null,a)},moveTo:function(a){if(a!=null){this.px=a}if(this.imageDiv!=null){if(this.px==null){this.display(false)}else{if(this.calculateOffset){this.offset=this.calculateOffset(this.size)}var b=this.px.offset(this.offset);OpenLayers.Util.modifyAlphaImageDiv(this.imageDiv,null,b)}}},display:function(a){this.imageDiv.style.display=(a)?"":"none"},isDrawn:function(){var a=(this.imageDiv&&this.imageDiv.parentNode&&(this.imageDiv.parentNode.nodeType!=11));return a},CLASS_NAME:"OpenLayers.Icon"});OpenLayers.Popup=OpenLayers.Class({events:null,id:"",lonlat:null,div:null,contentSize:null,size:null,contentHTML:null,backgroundColor:"",opacity:"",border:"",contentDiv:null,groupDiv:null,closeDiv:null,autoSize:false,minSize:null,maxSize:null,displayClass:"olPopup",contentDisplayClass:"olPopupContent",padding:0,disableFirefoxOverflowHack:false,fixPadding:function(){if(typeof this.padding=="number"){this.padding=new OpenLayers.Bounds(this.padding,this.padding,this.padding,this.padding)}},panMapIfOutOfView:false,keepInMap:false,closeOnMove:false,map:null,initialize:function(g,c,f,b,e,d){if(g==null){g=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")}this.id=g;this.lonlat=c;this.contentSize=(f!=null)?f:new OpenLayers.Size(OpenLayers.Popup.WIDTH,OpenLayers.Popup.HEIGHT);if(b!=null){this.contentHTML=b}this.backgroundColor=OpenLayers.Popup.COLOR;this.opacity=OpenLayers.Popup.OPACITY;this.border=OpenLayers.Popup.BORDER;this.div=OpenLayers.Util.createDiv(this.id,null,null,null,null,null,"hidden");this.div.className=this.displayClass;var a=this.id+"_GroupDiv";this.groupDiv=OpenLayers.Util.createDiv(a,null,null,null,"relative",null,"hidden");var g=this.div.id+"_contentDiv";this.contentDiv=OpenLayers.Util.createDiv(g,null,this.contentSize.clone(),null,"relative");this.contentDiv.className=this.contentDisplayClass;this.groupDiv.appendChild(this.contentDiv);this.div.appendChild(this.groupDiv);if(e){this.addCloseBox(d)}this.registerEvents()},destroy:function(){this.id=null;this.lonlat=null;this.size=null;this.contentHTML=null;this.backgroundColor=null;this.opacity=null;this.border=null;if(this.closeOnMove&&this.map){this.map.events.unregister("movestart",this,this.hide)}this.events.destroy();this.events=null;if(this.closeDiv){OpenLayers.Event.stopObservingElement(this.closeDiv);this.groupDiv.removeChild(this.closeDiv)}this.closeDiv=null;this.div.removeChild(this.groupDiv);this.groupDiv=null;if(this.map!=null){this.map.removePopup(this)}this.map=null;this.div=null;this.autoSize=null;this.minSize=null;this.maxSize=null;this.padding=null;this.panMapIfOutOfView=null},draw:function(a){if(a==null){if((this.lonlat!=null)&&(this.map!=null)){a=this.map.getLayerPxFromLonLat(this.lonlat)}}if(this.closeOnMove){this.map.events.register("movestart",this,this.hide)}if(!this.disableFirefoxOverflowHack&&OpenLayers.Util.getBrowserName()=="firefox"){this.map.events.register("movestart",this,function(){var b=document.defaultView.getComputedStyle(this.contentDiv,null);var c=b.getPropertyValue("overflow");if(c!="hidden"){this.contentDiv._oldOverflow=c;this.contentDiv.style.overflow="hidden"}});this.map.events.register("moveend",this,function(){var b=this.contentDiv._oldOverflow;if(b){this.contentDiv.style.overflow=b;this.contentDiv._oldOverflow=null}})}this.moveTo(a);if(!this.autoSize&&!this.size){this.setSize(this.contentSize)}this.setBackgroundColor();this.setOpacity();this.setBorder();this.setContentHTML();if(this.panMapIfOutOfView){this.panIntoView()}return this.div},updatePosition:function(){if((this.lonlat)&&(this.map)){var a=this.map.getLayerPxFromLonLat(this.lonlat);if(a){this.moveTo(a)}}},moveTo:function(a){if((a!=null)&&(this.div!=null)){this.div.style.left=a.x+"px";this.div.style.top=a.y+"px"}},visible:function(){return OpenLayers.Element.visible(this.div)},toggle:function(){if(this.visible()){this.hide()}else{this.show()}},show:function(){OpenLayers.Element.show(this.div);if(this.panMapIfOutOfView){this.panIntoView()}},hide:function(){OpenLayers.Element.hide(this.div)},setSize:function(c){this.size=c.clone();var b=this.getContentDivPadding();var a=b.left+b.right;var e=b.top+b.bottom;this.fixPadding();a+=this.padding.left+this.padding.right;e+=this.padding.top+this.padding.bottom;if(this.closeDiv){var d=parseInt(this.closeDiv.style.width);a+=d+b.right}this.size.w+=a;this.size.h+=e;if(OpenLayers.Util.getBrowserName()=="msie"){this.contentSize.w+=b.left+b.right;this.contentSize.h+=b.bottom+b.top}if(this.div!=null){this.div.style.width=this.size.w+"px";this.div.style.height=this.size.h+"px"}if(this.contentDiv!=null){this.contentDiv.style.width=c.w+"px";this.contentDiv.style.height=c.h+"px"}},updateSize:function(){var e="<div class='"+this.contentDisplayClass+"'>"+this.contentDiv.innerHTML+"</div>";var h=(this.map)?this.map.layerContainerDiv:document.body;var i=OpenLayers.Util.getRenderedDimensions(e,null,{displayClass:this.displayClass,containerElement:h});var g=this.getSafeContentSize(i);var f=null;if(g.equals(i)){f=i}else{var b=new OpenLayers.Size();b.w=(g.w<i.w)?g.w:null;b.h=(g.h<i.h)?g.h:null;if(b.w&&b.h){f=g}else{var d=OpenLayers.Util.getRenderedDimensions(e,b,{displayClass:this.contentDisplayClass,containerElement:h});var c=OpenLayers.Element.getStyle(this.contentDiv,"overflow");if((c!="hidden")&&(d.equals(g))){var a=OpenLayers.Util.getScrollbarWidth();if(b.w){d.h+=a}else{d.w+=a}}f=this.getSafeContentSize(d)}}this.setSize(f)},setBackgroundColor:function(a){if(a!=undefined){this.backgroundColor=a}if(this.div!=null){this.div.style.backgroundColor=this.backgroundColor}},setOpacity:function(a){if(a!=undefined){this.opacity=a}if(this.div!=null){this.div.style.opacity=this.opacity;this.div.style.filter="alpha(opacity="+this.opacity*100+")"}},setBorder:function(a){if(a!=undefined){this.border=a}if(this.div!=null){this.div.style.border=this.border}},setContentHTML:function(a){if(a!=null){this.contentHTML=a}if((this.contentDiv!=null)&&(this.contentHTML!=null)&&(this.contentHTML!=this.contentDiv.innerHTML)){this.contentDiv.innerHTML=this.contentHTML;if(this.autoSize){this.registerImageListeners();this.updateSize()}}},registerImageListeners:function(){var f=function(){this.popup.updateSize();if(this.popup.visible()&&this.popup.panMapIfOutOfView){this.popup.panIntoView()}OpenLayers.Event.stopObserving(this.img,"load",this.img._onImageLoad)};var b=this.contentDiv.getElementsByTagName("img");for(var e=0,a=b.length;e<a;e++){var c=b[e];if(c.width==0||c.height==0){var d={popup:this,img:c};c._onImgLoad=OpenLayers.Function.bind(f,d);OpenLayers.Event.observe(c,"load",c._onImgLoad)}}},getSafeContentSize:function(k){var d=k.clone();var i=this.getContentDivPadding();var j=i.left+i.right;var g=i.top+i.bottom;this.fixPadding();j+=this.padding.left+this.padding.right;g+=this.padding.top+this.padding.bottom;if(this.closeDiv){var c=parseInt(this.closeDiv.style.width);j+=c+i.right}if(this.minSize){d.w=Math.max(d.w,(this.minSize.w-j));d.h=Math.max(d.h,(this.minSize.h-g))}if(this.maxSize){d.w=Math.min(d.w,(this.maxSize.w-j));d.h=Math.min(d.h,(this.maxSize.h-g))}if(this.map&&this.map.size){var f=0,e=0;if(this.keepInMap&&!this.panMapIfOutOfView){var h=this.map.getPixelFromLonLat(this.lonlat);switch(this.relativePosition){case"tr":f=h.x;e=this.map.size.h-h.y;break;case"tl":f=this.map.size.w-h.x;e=this.map.size.h-h.y;break;case"bl":f=this.map.size.w-h.x;e=h.y;break;case"br":f=h.x;e=h.y;break;default:f=h.x;e=this.map.size.h-h.y;break}}var a=this.map.size.h-this.map.paddingForPopups.top-this.map.paddingForPopups.bottom-g-e;var b=this.map.size.w-this.map.paddingForPopups.left-this.map.paddingForPopups.right-j-f;d.w=Math.min(d.w,b);d.h=Math.min(d.h,a)}return d},getContentDivPadding:function(){var a=this._contentDivPadding;if(!a){if(this.div.parentNode==null){this.div.style.display="none";document.body.appendChild(this.div)}a=new OpenLayers.Bounds(OpenLayers.Element.getStyle(this.contentDiv,"padding-left"),OpenLayers.Element.getStyle(this.contentDiv,"padding-bottom"),OpenLayers.Element.getStyle(this.contentDiv,"padding-right"),OpenLayers.Element.getStyle(this.contentDiv,"padding-top"));this._contentDivPadding=a;if(this.div.parentNode==document.body){document.body.removeChild(this.div);this.div.style.display=""}}return a},addCloseBox:function(c){this.closeDiv=OpenLayers.Util.createDiv(this.id+"_close",null,new OpenLayers.Size(17,17));this.closeDiv.className="olPopupCloseBox";var b=this.getContentDivPadding();this.closeDiv.style.right=b.right+"px";this.closeDiv.style.top=b.top+"px";this.groupDiv.appendChild(this.closeDiv);var a=c||function(d){this.hide();OpenLayers.Event.stop(d)};OpenLayers.Event.observe(this.closeDiv,"click",OpenLayers.Function.bindAsEventListener(a,this))},panIntoView:function(){var e=this.map.getSize();var d=this.map.getViewPortPxFromLayerPx(new OpenLayers.Pixel(parseInt(this.div.style.left),parseInt(this.div.style.top)));var c=d.clone();if(d.x<this.map.paddingForPopups.left){c.x=this.map.paddingForPopups.left}else{if((d.x+this.size.w)>(e.w-this.map.paddingForPopups.right)){c.x=e.w-this.map.paddingForPopups.right-this.size.w}}if(d.y<this.map.paddingForPopups.top){c.y=this.map.paddingForPopups.top}else{if((d.y+this.size.h)>(e.h-this.map.paddingForPopups.bottom)){c.y=e.h-this.map.paddingForPopups.bottom-this.size.h}}var b=d.x-c.x;var a=d.y-c.y;this.map.pan(b,a)},registerEvents:function(){this.events=new OpenLayers.Events(this,this.div,null,true);this.events.on({mousedown:this.onmousedown,mousemove:this.onmousemove,mouseup:this.onmouseup,click:this.onclick,mouseout:this.onmouseout,dblclick:this.ondblclick,scope:this})},onmousedown:function(a){this.mousedown=true;OpenLayers.Event.stop(a,true)},onmousemove:function(a){if(this.mousedown){OpenLayers.Event.stop(a,true)}},onmouseup:function(a){if(this.mousedown){this.mousedown=false;OpenLayers.Event.stop(a,true)}},onclick:function(a){OpenLayers.Event.stop(a,true)},onmouseout:function(a){this.mousedown=false},ondblclick:function(a){OpenLayers.Event.stop(a,true)},CLASS_NAME:"OpenLayers.Popup"});OpenLayers.Popup.WIDTH=200;OpenLayers.Popup.HEIGHT=200;OpenLayers.Popup.COLOR="white";OpenLayers.Popup.OPACITY=1;OpenLayers.Popup.BORDER="0px";OpenLayers.Bounds=OpenLayers.Class({left:null,bottom:null,right:null,top:null,centerLonLat:null,initialize:function(d,a,b,c){if(d!=null){this.left=OpenLayers.Util.toFloat(d)}if(a!=null){this.bottom=OpenLayers.Util.toFloat(a)}if(b!=null){this.right=OpenLayers.Util.toFloat(b)}if(c!=null){this.top=OpenLayers.Util.toFloat(c)}},clone:function(){return new OpenLayers.Bounds(this.left,this.bottom,this.right,this.top)},equals:function(b){var a=false;if(b!=null){a=((this.left==b.left)&&(this.right==b.right)&&(this.top==b.top)&&(this.bottom==b.bottom))}return a},toString:function(){return("left-bottom=("+this.left+","+this.bottom+") right-top=("+this.right+","+this.top+")")},toArray:function(a){if(a===true){return[this.bottom,this.left,this.top,this.right]}else{return[this.left,this.bottom,this.right,this.top]}},toBBOX:function(b,e){if(b==null){b=6}var g=Math.pow(10,b);var f=Math.round(this.left*g)/g;var d=Math.round(this.bottom*g)/g;var c=Math.round(this.right*g)/g;var a=Math.round(this.top*g)/g;if(e===true){return d+","+f+","+a+","+c}else{return f+","+d+","+c+","+a}},toGeometry:function(){return new OpenLayers.Geometry.Polygon([new OpenLayers.Geometry.LinearRing([new OpenLayers.Geometry.Point(this.left,this.bottom),new OpenLayers.Geometry.Point(this.right,this.bottom),new OpenLayers.Geometry.Point(this.right,this.top),new OpenLayers.Geometry.Point(this.left,this.top)])])},getWidth:function(){return(this.right-this.left)},getHeight:function(){return(this.top-this.bottom)},getSize:function(){return new OpenLayers.Size(this.getWidth(),this.getHeight())},getCenterPixel:function(){return new OpenLayers.Pixel((this.left+this.right)/2,(this.bottom+this.top)/2)},getCenterLonLat:function(){if(!this.centerLonLat){this.centerLonLat=new OpenLayers.LonLat((this.left+this.right)/2,(this.bottom+this.top)/2)}return this.centerLonLat},scale:function(e,c){if(c==null){c=this.getCenterLonLat()}var a,h;if(c.CLASS_NAME=="OpenLayers.LonLat"){a=c.lon;h=c.lat}else{a=c.x;h=c.y}var g=(this.left-a)*e+a;var b=(this.bottom-h)*e+h;var d=(this.right-a)*e+a;var f=(this.top-h)*e+h;return new OpenLayers.Bounds(g,b,d,f)},add:function(a,c){if((a==null)||(c==null)){var b=OpenLayers.i18n("boundsAddError");OpenLayers.Console.error(b);return null}return new OpenLayers.Bounds(this.left+a,this.bottom+c,this.right+a,this.top+c)},extend:function(a){var b=null;if(a){switch(a.CLASS_NAME){case"OpenLayers.LonLat":b=new OpenLayers.Bounds(a.lon,a.lat,a.lon,a.lat);break;case"OpenLayers.Geometry.Point":b=new OpenLayers.Bounds(a.x,a.y,a.x,a.y);break;case"OpenLayers.Bounds":b=a;break}if(b){this.centerLonLat=null;if((this.left==null)||(b.left<this.left)){this.left=b.left}if((this.bottom==null)||(b.bottom<this.bottom)){this.bottom=b.bottom}if((this.right==null)||(b.right>this.right)){this.right=b.right}if((this.top==null)||(b.top>this.top)){this.top=b.top}}}},containsLonLat:function(b,a){return this.contains(b.lon,b.lat,a)},containsPixel:function(b,a){return this.contains(b.x,b.y,a)},contains:function(b,d,a){if(a==null){a=true}if(b==null||d==null){return false}b=OpenLayers.Util.toFloat(b);d=OpenLayers.Util.toFloat(d);var c=false;if(a){c=((b>=this.left)&&(b<=this.right)&&(d>=this.bottom)&&(d<=this.top))}else{c=((b>this.left)&&(b<this.right)&&(d>this.bottom)&&(d<this.top))}return c},intersectsBounds:function(e,b){if(b==null){b=true}var d=false;var h=(this.left==e.right||this.right==e.left||this.top==e.bottom||this.bottom==e.top);if(b||!h){var g=(((e.bottom>=this.bottom)&&(e.bottom<=this.top))||((this.bottom>=e.bottom)&&(this.bottom<=e.top)));var f=(((e.top>=this.bottom)&&(e.top<=this.top))||((this.top>e.bottom)&&(this.top<e.top)));var c=(((e.left>=this.left)&&(e.left<=this.right))||((this.left>=e.left)&&(this.left<=e.right)));var a=(((e.right>=this.left)&&(e.right<=this.right))||((this.right>=e.left)&&(this.right<=e.right)));d=((g||f)&&(c||a))}return d},containsBounds:function(g,b,a){if(b==null){b=false}if(a==null){a=true}var c=this.contains(g.left,g.bottom,a);var d=this.contains(g.right,g.bottom,a);var f=this.contains(g.left,g.top,a);var e=this.contains(g.right,g.top,a);return(b)?(c||d||f||e):(c&&d&&f&&e)},determineQuadrant:function(c){var b="";var a=this.getCenterLonLat();b+=(c.lat<a.lat)?"b":"t";b+=(c.lon<a.lon)?"l":"r";return b},transform:function(d,b){this.centerLonLat=null;var e=OpenLayers.Projection.transform({x:this.left,y:this.bottom},d,b);var a=OpenLayers.Projection.transform({x:this.right,y:this.bottom},d,b);var c=OpenLayers.Projection.transform({x:this.left,y:this.top},d,b);var f=OpenLayers.Projection.transform({x:this.right,y:this.top},d,b);this.left=Math.min(e.x,c.x);this.bottom=Math.min(e.y,a.y);this.right=Math.max(a.x,f.x);this.top=Math.max(c.y,f.y);return this},wrapDateLine:function(a,c){c=c||{};var d=c.leftTolerance||0;var b=c.rightTolerance||0;var e=this.clone();if(a){while(e.left<a.left&&(e.right-b)<=a.left){e=e.add(a.getWidth(),0)}while((e.left+d)>=a.right&&e.right>a.right){e=e.add(-a.getWidth(),0)}}return e},CLASS_NAME:"OpenLayers.Bounds"});OpenLayers.Bounds.fromString=function(b){var a=b.split(",");return OpenLayers.Bounds.fromArray(a)};OpenLayers.Bounds.fromArray=function(a){return new OpenLayers.Bounds(parseFloat(a[0]),parseFloat(a[1]),parseFloat(a[2]),parseFloat(a[3]))};OpenLayers.Bounds.fromSize=function(a){return new OpenLayers.Bounds(0,a.h,a.w,0)};OpenLayers.Bounds.oppositeQuadrant=function(a){var b="";b+=(a.charAt(0)=="t")?"b":"t";b+=(a.charAt(1)=="l")?"r":"l";return b};OpenLayers.LonLat=OpenLayers.Class({lon:0,lat:0,initialize:function(b,a){this.lon=OpenLayers.Util.toFloat(b);this.lat=OpenLayers.Util.toFloat(a)},toString:function(){return("lon="+this.lon+",lat="+this.lat)},toShortString:function(){return(this.lon+", "+this.lat)},clone:function(){return new OpenLayers.LonLat(this.lon,this.lat)},add:function(c,a){if((c==null)||(a==null)){var b=OpenLayers.i18n("lonlatAddError");OpenLayers.Console.error(b);return null}return new OpenLayers.LonLat(this.lon+OpenLayers.Util.toFloat(c),this.lat+OpenLayers.Util.toFloat(a))},equals:function(b){var a=false;if(b!=null){a=((this.lon==b.lon&&this.lat==b.lat)||(isNaN(this.lon)&&isNaN(this.lat)&&isNaN(b.lon)&&isNaN(b.lat)))}return a},transform:function(c,b){var a=OpenLayers.Projection.transform({x:this.lon,y:this.lat},c,b);this.lon=a.x;this.lat=a.y;return this},wrapDateLine:function(a){var b=this.clone();if(a){while(b.lon<a.left){b.lon+=a.getWidth()}while(b.lon>a.right){b.lon-=a.getWidth()}}return b},CLASS_NAME:"OpenLayers.LonLat"});OpenLayers.LonLat.fromString=function(b){var a=b.split(",");return new OpenLayers.LonLat(a[0],a[1])};OpenLayers.Pixel=OpenLayers.Class({x:0,y:0,initialize:function(a,b){this.x=parseFloat(a);this.y=parseFloat(b)},toString:function(){return("x="+this.x+",y="+this.y)},clone:function(){return new OpenLayers.Pixel(this.x,this.y)},equals:function(a){var b=false;if(a!=null){b=((this.x==a.x&&this.y==a.y)||(isNaN(this.x)&&isNaN(this.y)&&isNaN(a.x)&&isNaN(a.y)))}return b},add:function(a,c){if((a==null)||(c==null)){var b=OpenLayers.i18n("pixelAddError");OpenLayers.Console.error(b);return null}return new OpenLayers.Pixel(this.x+a,this.y+c)},offset:function(a){var b=this.clone();if(a){b=this.add(a.x,a.y)}return b},CLASS_NAME:"OpenLayers.Pixel"});OpenLayers.Control=OpenLayers.Class({id:null,map:null,div:null,type:null,allowSelection:false,displayClass:"",title:"",autoActivate:false,active:null,handler:null,eventListeners:null,events:null,EVENT_TYPES:["activate","deactivate"],initialize:function(a){this.displayClass=this.CLASS_NAME.replace("OpenLayers.","ol").replace(/\./g,"");OpenLayers.Util.extend(this,a);this.events=new OpenLayers.Events(this,null,this.EVENT_TYPES);if(this.eventListeners instanceof Object){this.events.on(this.eventListeners)}if(this.id==null){this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")}},destroy:function(){if(this.events){if(this.eventListeners){this.events.un(this.eventListeners)}this.events.destroy();this.events=null}this.eventListeners=null;if(this.handler){this.handler.destroy();this.handler=null}if(this.handlers){for(var a in this.handlers){if(this.handlers.hasOwnProperty(a)&&typeof this.handlers[a].destroy=="function"){this.handlers[a].destroy()}}this.handlers=null}if(this.map){this.map.removeControl(this);this.map=null}},setMap:function(a){this.map=a;if(this.handler){this.handler.setMap(a)}},draw:function(a){if(this.div==null){this.div=OpenLayers.Util.createDiv(this.id);this.div.className=this.displayClass;if(!this.allowSelection){this.div.className+=" olControlNoSelect";this.div.setAttribute("unselectable","on",0);this.div.onselectstart=OpenLayers.Function.False}if(this.title!=""){this.div.title=this.title}}if(a!=null){this.position=a.clone()}this.moveTo(this.position);return this.div},moveTo:function(a){if((a!=null)&&(this.div!=null)){this.div.style.left=a.x+"px";this.div.style.top=a.y+"px"}},activate:function(){if(this.active){return false}if(this.handler){this.handler.activate()}this.active=true;if(this.map){OpenLayers.Element.addClass(this.map.viewPortDiv,this.displayClass.replace(/ /g,"")+"Active")}this.events.triggerEvent("activate");return true},deactivate:function(){if(this.active){if(this.handler){this.handler.deactivate()}this.active=false;if(this.map){OpenLayers.Element.removeClass(this.map.viewPortDiv,this.displayClass.replace(/ /g,"")+"Active")}this.events.triggerEvent("deactivate");return true}return false},CLASS_NAME:"OpenLayers.Control"});OpenLayers.Control.TYPE_BUTTON=1;OpenLayers.Control.TYPE_TOGGLE=2;OpenLayers.Control.TYPE_TOOL=3;OpenLayers.Lang={code:null,defaultCode:"en",getCode:function(){if(!OpenLayers.Lang.code){OpenLayers.Lang.setCode()}return OpenLayers.Lang.code},setCode:function(b){var d;if(!b){b=(OpenLayers.Util.getBrowserName()=="msie")?navigator.userLanguage:navigator.language}var c=b.split("-");c[0]=c[0].toLowerCase();if(typeof OpenLayers.Lang[c[0]]=="object"){d=c[0]}if(c[1]){var a=c[0]+"-"+c[1].toUpperCase();if(typeof OpenLayers.Lang[a]=="object"){d=a}}if(!d){OpenLayers.Console.warn("Failed to find OpenLayers.Lang."+c.join("-")+" dictionary, falling back to default language");d=OpenLayers.Lang.defaultCode}OpenLayers.Lang.code=d},translate:function(b,a){var d=OpenLayers.Lang[OpenLayers.Lang.getCode()];var c=d[b];if(!c){c=b}if(a){c=OpenLayers.String.format(c,a)}return c}};OpenLayers.i18n=OpenLayers.Lang.translate;OpenLayers.Popup.Anchored=OpenLayers.Class(OpenLayers.Popup,{relativePosition:null,keepInMap:true,anchor:null,initialize:function(h,d,g,c,b,f,e){var a=[h,d,g,c,f,e];OpenLayers.Popup.prototype.initialize.apply(this,a);this.anchor=(b!=null)?b:{size:new OpenLayers.Size(0,0),offset:new OpenLayers.Pixel(0,0)}},destroy:function(){this.anchor=null;this.relativePosition=null;OpenLayers.Popup.prototype.destroy.apply(this,arguments)},show:function(){this.updatePosition();OpenLayers.Popup.prototype.show.apply(this,arguments)},moveTo:function(c){var b=this.relativePosition;this.relativePosition=this.calculateRelativePosition(c);var d=this.calculateNewPx(c);var a=new Array(d);OpenLayers.Popup.prototype.moveTo.apply(this,a);if(this.relativePosition!=b){this.updateRelativePosition()}},setSize:function(b){OpenLayers.Popup.prototype.setSize.apply(this,arguments);if((this.lonlat)&&(this.map)){var a=this.map.getLayerPxFromLonLat(this.lonlat);this.moveTo(a)}},calculateRelativePosition:function(b){var d=this.map.getLonLatFromLayerPx(b);var c=this.map.getExtent();var a=c.determineQuadrant(d);return OpenLayers.Bounds.oppositeQuadrant(a)},updateRelativePosition:function(){},calculateNewPx:function(b){var e=b.offset(this.anchor.offset);var a=this.size||this.contentSize;var d=(this.relativePosition.charAt(0)=="t");e.y+=(d)?-(a.h+this.anchor.size.h):this.anchor.size.h;var c=(this.relativePosition.charAt(1)=="l");e.x+=(c)?-(a.w+this.anchor.size.w):this.anchor.size.w;return e},CLASS_NAME:"OpenLayers.Popup.Anchored"});OpenLayers.Tween=OpenLayers.Class({INTERVAL:10,easing:null,begin:null,finish:null,duration:null,callbacks:null,time:null,interval:null,playing:false,initialize:function(a){this.easing=(a)?a:OpenLayers.Easing.Expo.easeOut},start:function(c,b,d,a){this.playing=true;this.begin=c;this.finish=b;this.duration=d;this.callbacks=a.callbacks;this.time=0;if(this.interval){window.clearInterval(this.interval);this.interval=null}if(this.callbacks&&this.callbacks.start){this.callbacks.start.call(this,this.begin)}this.interval=window.setInterval(OpenLayers.Function.bind(this.play,this),this.INTERVAL)},stop:function(){if(!this.playing){return}if(this.callbacks&&this.callbacks.done){this.callbacks.done.call(this,this.finish)}window.clearInterval(this.interval);this.interval=null;this.playing=false},play:function(){var g={};for(var d in this.begin){var a=this.begin[d];var e=this.finish[d];if(a==null||e==null||isNaN(a)||isNaN(e)){OpenLayers.Console.error("invalid value for Tween")}var h=e-a;g[d]=this.easing.apply(this,[this.time,a,h,this.duration])}this.time++;if(this.callbacks&&this.callbacks.eachStep){this.callbacks.eachStep.call(this,g)}if(this.time>this.duration){this.stop()}},CLASS_NAME:"OpenLayers.Tween"});OpenLayers.Easing={CLASS_NAME:"OpenLayers.Easing"};OpenLayers.Easing.Linear={easeIn:function(e,a,g,f){return g*e/f+a},easeOut:function(e,a,g,f){return g*e/f+a},easeInOut:function(e,a,g,f){return g*e/f+a},CLASS_NAME:"OpenLayers.Easing.Linear"};OpenLayers.Easing.Expo={easeIn:function(e,a,g,f){return(e==0)?a:g*Math.pow(2,10*(e/f-1))+a},easeOut:function(e,a,g,f){return(e==f)?a+g:g*(-Math.pow(2,-10*e/f)+1)+a},easeInOut:function(e,a,g,f){if(e==0){return a}if(e==f){return a+g}if((e/=f/2)<1){return g/2*Math.pow(2,10*(e-1))+a}return g/2*(-Math.pow(2,-10*--e)+2)+a},CLASS_NAME:"OpenLayers.Easing.Expo"};OpenLayers.Easing.Quad={easeIn:function(e,a,g,f){return g*(e/=f)*e+a},easeOut:function(e,a,g,f){return -g*(e/=f)*(e-2)+a},easeInOut:function(e,a,g,f){if((e/=f/2)<1){return g/2*e*e+a}return -g/2*((--e)*(e-2)-1)+a},CLASS_NAME:"OpenLayers.Easing.Quad"};OpenLayers.Control.ArgParser=OpenLayers.Class(OpenLayers.Control,{center:null,zoom:null,layers:null,displayProjection:null,initialize:function(a){OpenLayers.Control.prototype.initialize.apply(this,arguments)},setMap:function(e){OpenLayers.Control.prototype.setMap.apply(this,arguments);for(var c=0,a=this.map.controls.length;c<a;c++){var d=this.map.controls[c];if((d!=this)&&(d.CLASS_NAME=="OpenLayers.Control.ArgParser")){if(d.displayProjection!=this.displayProjection){this.displayProjection=d.displayProjection}break}}if(c==this.map.controls.length){var b=OpenLayers.Util.getParameters();if(b.layers){this.layers=b.layers;this.map.events.register("addlayer",this,this.configureLayers);this.configureLayers()}if(b.lat&&b.lon){this.center=new OpenLayers.LonLat(parseFloat(b.lon),parseFloat(b.lat));if(b.zoom){this.zoom=parseInt(b.zoom)}this.map.events.register("changebaselayer",this,this.setCenter);this.setCenter()}}},setCenter:function(){if(this.map.baseLayer){this.map.events.unregister("changebaselayer",this,this.setCenter);if(this.displayProjection){this.center.transform(this.displayProjection,this.map.getProjectionObject())}this.map.setCenter(this.center,this.zoom)}},configureLayers:function(){if(this.layers.length==this.map.layers.length){this.map.events.unregister("addlayer",this,this.configureLayers);for(var d=0,a=this.layers.length;d<a;d++){var b=this.map.layers[d];var e=this.layers.charAt(d);if(e=="B"){this.map.setBaseLayer(b)}else{if((e=="T")||(e=="F")){b.setVisibility(e=="T")}}}}},CLASS_NAME:"OpenLayers.Control.ArgParser"});OpenLayers.Control.Attribution=OpenLayers.Class(OpenLayers.Control,{separator:", ",initialize:function(a){OpenLayers.Control.prototype.initialize.apply(this,arguments)},destroy:function(){this.map.events.un({removelayer:this.updateAttribution,addlayer:this.updateAttribution,changelayer:this.updateAttribution,changebaselayer:this.updateAttribution,scope:this});OpenLayers.Control.prototype.destroy.apply(this,arguments)},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);this.map.events.on({changebaselayer:this.updateAttribution,changelayer:this.updateAttribution,addlayer:this.updateAttribution,removelayer:this.updateAttribution,scope:this});this.updateAttribution();return this.div},updateAttribution:function(){var d=[];if(this.map&&this.map.layers){for(var c=0,a=this.map.layers.length;c<a;c++){var b=this.map.layers[c];if(b.attribution&&b.getVisibility()){if(OpenLayers.Util.indexOf(d,b.attribution)===-1){d.push(b.attribution)}}}this.div.innerHTML=d.join(this.separator)}},CLASS_NAME:"OpenLayers.Control.Attribution"});OpenLayers.Control.PanZoom=OpenLayers.Class(OpenLayers.Control,{slideFactor:50,slideRatio:null,buttons:null,position:null,initialize:function(a){this.position=new OpenLayers.Pixel(OpenLayers.Control.PanZoom.X,OpenLayers.Control.PanZoom.Y);OpenLayers.Control.prototype.initialize.apply(this,arguments)},destroy:function(){OpenLayers.Control.prototype.destroy.apply(this,arguments);this.removeButtons();this.buttons=null;this.position=null},draw:function(b){OpenLayers.Control.prototype.draw.apply(this,arguments);b=this.position;this.buttons=[];var c=new OpenLayers.Size(18,18);var a=new OpenLayers.Pixel(b.x+c.w/2,b.y);this._addButton("panup","north-mini.png",a,c);b.y=a.y+c.h;this._addButton("panleft","west-mini.png",b,c);this._addButton("panright","east-mini.png",b.add(c.w,0),c);this._addButton("pandown","south-mini.png",a.add(0,c.h*2),c);this._addButton("zoomin","zoom-plus-mini.png",a.add(0,c.h*3+5),c);this._addButton("zoomworld","zoom-world-mini.png",a.add(0,c.h*4+5),c);this._addButton("zoomout","zoom-minus-mini.png",a.add(0,c.h*5+5),c);return this.div},_addButton:function(a,d,i,g){var f=OpenLayers.Util.getImagesLocation()+d;var b=OpenLayers.Util.createAlphaImageDiv(this.id+"_"+a,i,g,f,"absolute");this.div.appendChild(b);OpenLayers.Event.observe(b,"mousedown",OpenLayers.Function.bindAsEventListener(this.buttonDown,b));OpenLayers.Event.observe(b,"dblclick",OpenLayers.Function.bindAsEventListener(this.doubleClick,b));OpenLayers.Event.observe(b,"click",OpenLayers.Function.bindAsEventListener(this.doubleClick,b));b.action=a;b.map=this.map;if(!this.slideRatio){var c=this.slideFactor;var e=function(){return c}}else{var h=this.slideRatio;var e=function(j){return this.map.getSize()[j]*h}}b.getSlideFactor=e;this.buttons.push(b);return b},_removeButton:function(a){OpenLayers.Event.stopObservingElement(a);a.map=null;a.getSlideFactor=null;this.div.removeChild(a);OpenLayers.Util.removeItem(this.buttons,a)},removeButtons:function(){for(var a=this.buttons.length-1;a>=0;--a){this._removeButton(this.buttons[a])}},doubleClick:function(a){OpenLayers.Event.stop(a);return false},buttonDown:function(a){if(!OpenLayers.Event.isLeftClick(a)){return}switch(this.action){case"panup":this.map.pan(0,-this.getSlideFactor("h"));break;case"pandown":this.map.pan(0,this.getSlideFactor("h"));break;case"panleft":this.map.pan(-this.getSlideFactor("w"),0);break;case"panright":this.map.pan(this.getSlideFactor("w"),0);break;case"zoomin":this.map.zoomIn();break;case"zoomout":this.map.zoomOut();break;case"zoomworld":this.map.zoomToMaxExtent();break}OpenLayers.Event.stop(a)},CLASS_NAME:"OpenLayers.Control.PanZoom"});OpenLayers.Control.PanZoom.X=4;OpenLayers.Control.PanZoom.Y=4;OpenLayers.Event={observers:false,KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,element:function(a){return a.target||a.srcElement},isLeftClick:function(a){return(((a.which)&&(a.which==1))||((a.button)&&(a.button==1)))},isRightClick:function(a){return(((a.which)&&(a.which==3))||((a.button)&&(a.button==2)))},stop:function(b,a){if(!a){if(b.preventDefault){b.preventDefault()}else{b.returnValue=false}}if(b.stopPropagation){b.stopPropagation()}else{b.cancelBubble=true}},findElement:function(c,b){var a=OpenLayers.Event.element(c);while(a.parentNode&&(!a.tagName||(a.tagName.toUpperCase()!=b.toUpperCase()))){a=a.parentNode}return a},observe:function(b,d,c,a){var e=OpenLayers.Util.getElement(b);a=a||false;if(d=="keypress"&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||e.attachEvent)){d="keydown"}if(!this.observers){this.observers={}}if(!e._eventCacheID){var f="eventCacheID_";if(e.id){f=e.id+"_"+f}e._eventCacheID=OpenLayers.Util.createUniqueID(f)}var g=e._eventCacheID;if(!this.observers[g]){this.observers[g]=[]}this.observers[g].push({element:e,name:d,observer:c,useCapture:a});if(e.addEventListener){e.addEventListener(d,c,a)}else{if(e.attachEvent){e.attachEvent("on"+d,c)}}},stopObservingElement:function(a){var b=OpenLayers.Util.getElement(a);var c=b._eventCacheID;this._removeElementObservers(OpenLayers.Event.observers[c])},_removeElementObservers:function(e){if(e){for(var b=e.length-1;b>=0;b--){var c=e[b];var a=new Array(c.element,c.name,c.observer,c.useCapture);var d=OpenLayers.Event.stopObserving.apply(this,a)}}},stopObserving:function(h,a,g,b){b=b||false;var f=OpenLayers.Util.getElement(h);var d=f._eventCacheID;if(a=="keypress"){if(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||f.detachEvent){a="keydown"}}var k=false;var c=OpenLayers.Event.observers[d];if(c){var e=0;while(!k&&e<c.length){var j=c[e];if((j.name==a)&&(j.observer==g)&&(j.useCapture==b)){c.splice(e,1);if(c.length==0){delete OpenLayers.Event.observers[d]}k=true;break}e++}}if(k){if(f.removeEventListener){f.removeEventListener(a,g,b)}else{if(f&&f.detachEvent){f.detachEvent("on"+a,g)}}}return k},unloadCache:function(){if(OpenLayers.Event&&OpenLayers.Event.observers){for(var a in OpenLayers.Event.observers){var b=OpenLayers.Event.observers[a];OpenLayers.Event._removeElementObservers.apply(this,[b])}OpenLayers.Event.observers=false}},CLASS_NAME:"OpenLayers.Event"};OpenLayers.Event.observe(window,"unload",OpenLayers.Event.unloadCache,false);if(window.Event){OpenLayers.Util.applyDefaults(window.Event,OpenLayers.Event)}else{var Event=OpenLayers.Event}OpenLayers.Events=OpenLayers.Class({BROWSER_EVENTS:["mouseover","mouseout","mousedown","mouseup","mousemove","click","dblclick","rightclick","dblrightclick","resize","focus","blur"],listeners:null,object:null,element:null,eventTypes:null,eventHandler:null,fallThrough:null,includeXY:false,clearMouseListener:null,initialize:function(c,e,g,f,b){OpenLayers.Util.extend(this,b);this.object=c;this.fallThrough=f;this.listeners={};this.eventHandler=OpenLayers.Function.bindAsEventListener(this.handleBrowserEvent,this);this.clearMouseListener=OpenLayers.Function.bind(this.clearMouseCache,this);this.eventTypes=[];if(g!=null){for(var d=0,a=g.length;d<a;d++){this.addEventType(g[d])}}if(e!=null){this.attachToElement(e)}},destroy:function(){if(this.element){OpenLayers.Event.stopObservingElement(this.element);if(this.element.hasScrollEvent){OpenLayers.Event.stopObserving(window,"scroll",this.clearMouseListener)}}this.element=null;this.listeners=null;this.object=null;this.eventTypes=null;this.fallThrough=null;this.eventHandler=null},addEventType:function(a){if(!this.listeners[a]){this.eventTypes.push(a);this.listeners[a]=[]}},attachToElement:function(d){if(this.element){OpenLayers.Event.stopObservingElement(this.element)}this.element=d;for(var c=0,a=this.BROWSER_EVENTS.length;c<a;c++){var b=this.BROWSER_EVENTS[c];this.addEventType(b);OpenLayers.Event.observe(d,b,this.eventHandler)}OpenLayers.Event.observe(d,"dragstart",OpenLayers.Event.stop)},on:function(a){for(var b in a){if(b!="scope"){this.register(b,a.scope,a[b])}}},register:function(b,d,c){if((c!=null)&&(OpenLayers.Util.indexOf(this.eventTypes,b)!=-1)){if(d==null){d=this.object}var a=this.listeners[b];a.push({obj:d,func:c})}},registerPriority:function(b,d,c){if(c!=null){if(d==null){d=this.object}var a=this.listeners[b];if(a!=null){a.unshift({obj:d,func:c})}}},un:function(a){for(var b in a){if(b!="scope"){this.unregister(b,a.scope,a[b])}}},unregister:function(d,f,e){if(f==null){f=this.object}var c=this.listeners[d];if(c!=null){for(var b=0,a=c.length;b<a;b++){if(c[b].obj==f&&c[b].func==e){c.splice(b,1);break}}}},remove:function(a){if(this.listeners[a]!=null){this.listeners[a]=[]}},triggerEvent:function(e,b){var d=this.listeners[e];if(!d||d.length==0){return}if(b==null){b={}}b.object=this.object;b.element=this.element;if(!b.type){b.type=e}var d=d.slice(),f;for(var c=0,a=d.length;c<a;c++){var g=d[c];f=g.func.apply(g.obj,[b]);if((f!=undefined)&&(f==false)){break}}if(!this.fallThrough){OpenLayers.Event.stop(b,true)}return f},handleBrowserEvent:function(a){if(this.includeXY){a.xy=this.getMousePosition(a)}this.triggerEvent(a.type,a)},clearMouseCache:function(){this.element.scrolls=null;this.element.lefttop=null;this.element.offsets=null},getMousePosition:function(a){if(!this.includeXY){this.clearMouseCache()}else{if(!this.element.hasScrollEvent){OpenLayers.Event.observe(window,"scroll",this.clearMouseListener);this.element.hasScrollEvent=true}}if(!this.element.scrolls){this.element.scrolls=[(document.documentElement.scrollLeft||document.body.scrollLeft),(document.documentElement.scrollTop||document.body.scrollTop)]}if(!this.element.lefttop){this.element.lefttop=[(document.documentElement.clientLeft||0),(document.documentElement.clientTop||0)]}if(!this.element.offsets){this.element.offsets=OpenLayers.Util.pagePosition(this.element);this.element.offsets[0]+=this.element.scrolls[0];this.element.offsets[1]+=this.element.scrolls[1]}return new OpenLayers.Pixel((a.clientX+this.element.scrolls[0])-this.element.offsets[0]-this.element.lefttop[0],(a.clientY+this.element.scrolls[1])-this.element.offsets[1]-this.element.lefttop[1])},CLASS_NAME:"OpenLayers.Events"});OpenLayers.Format=OpenLayers.Class({options:null,externalProjection:null,internalProjection:null,data:null,keepData:false,initialize:function(a){OpenLayers.Util.extend(this,a);this.options=a},destroy:function(){},read:function(a){OpenLayers.Console.userError(OpenLayers.i18n("readNotImplemented"))},write:function(a){OpenLayers.Console.userError(OpenLayers.i18n("writeNotImplemented"))},CLASS_NAME:"OpenLayers.Format"});OpenLayers.Lang.en={unhandledRequest:"Unhandled request return ${statusText}",permalink:"Permalink",overlays:"Overlays",baseLayer:"Base Layer",sameProjection:"The overview map only works when it is in the same projection as the main map",readNotImplemented:"Read not implemented.",writeNotImplemented:"Write not implemented.",noFID:"Can't update a feature for which there is no FID.",errorLoadingGML:"Error in loading GML file ${url}",browserNotSupported:"Your browser does not support vector rendering. Currently supported renderers are:\n${renderers}",componentShouldBe:"addFeatures : component should be an ${geomType}",getFeatureError:"getFeatureFromEvent called on layer with no renderer. This usually means you destroyed a layer, but not some handler which is associated with it.",minZoomLevelError:"The minZoomLevel property is only intended for use with the FixedZoomLevels-descendent layers. That this wfs layer checks for minZoomLevel is a relic of thepast. We cannot, however, remove it without possibly breaking OL based applications that may depend on it. Therefore we are deprecating it -- the minZoomLevel check below will be removed at 3.0. Please instead use min/max resolution setting as described here: http://trac.openlayers.org/wiki/SettingZoomLevels",commitSuccess:"WFS Transaction: SUCCESS ${response}",commitFailed:"WFS Transaction: FAILED ${response}",Warning:"The Layer was unable to load correctly.<br><br>To get rid of this message, select a new BaseLayer in the layer switcher in the upper-right corner.",getLayerWarning:"The ${layerType} Layer was unable to load correctly.<br><br>To get rid of this message, select a new BaseLayer in the layer switcher in the upper-right corner.<br><br>Most likely, this is because the ${layerLib} library script was not correctly included.<br><br>Developers: For help getting this working correctly, <a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>click here</a>",scale:"Scale = 1 : ${scaleDenom}",W:"W",E:"E",N:"N",S:"S",graticule:"Graticule",layerAlreadyAdded:"You tried to add the layer: ${layerName} to the map, but it has already been added",reprojectDeprecated:"You are using the 'reproject' option on the ${layerName} layer. This option is deprecated: its use was designed to support displaying data over commercial basemaps, but that functionality should now be achieved by using Spherical Mercator support. More information is available from http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"This method has been deprecated and will be removed in 3.0. Please use ${newMethod} instead.",boundsAddError:"You must pass both x and y values to the add function.",lonlatAddError:"You must pass both lon and lat values to the add function.",pixelAddError:"You must pass both x and y values to the add function.",unsupportedGeometryType:"Unsupported geometry type: ${geomType}",pagePositionFailed:"OpenLayers.Util.pagePosition failed: element with id ${elemId} may be misplaced.",filterEvaluateNotImplemented:"evaluate is not implemented for this filter type.",end:""};OpenLayers.Popup.AnchoredBubble=OpenLayers.Class(OpenLayers.Popup.Anchored,{rounded:false,initialize:function(g,c,f,b,a,e,d){this.padding=new OpenLayers.Bounds(0,OpenLayers.Popup.AnchoredBubble.CORNER_SIZE,0,OpenLayers.Popup.AnchoredBubble.CORNER_SIZE);OpenLayers.Popup.Anchored.prototype.initialize.apply(this,arguments)},draw:function(a){OpenLayers.Popup.Anchored.prototype.draw.apply(this,arguments);this.setContentHTML();this.setBackgroundColor();this.setOpacity();return this.div},updateRelativePosition:function(){this.setRicoCorners()},setSize:function(a){OpenLayers.Popup.Anchored.prototype.setSize.apply(this,arguments);this.setRicoCorners()},setBackgroundColor:function(a){if(a!=undefined){this.backgroundColor=a}if(this.div!=null){if(this.contentDiv!=null){this.div.style.background="transparent";OpenLayers.Rico.Corner.changeColor(this.groupDiv,this.backgroundColor)}}},setOpacity:function(a){OpenLayers.Popup.Anchored.prototype.setOpacity.call(this,a);if(this.div!=null){if(this.groupDiv!=null){OpenLayers.Rico.Corner.changeOpacity(this.groupDiv,this.opacity)}}},setBorder:function(a){this.border=0},setRicoCorners:function(){var a=this.getCornersToRound(this.relativePosition);var b={corners:a,color:this.backgroundColor,bgColor:"transparent",blend:false};if(!this.rounded){OpenLayers.Rico.Corner.round(this.div,b);this.rounded=true}else{OpenLayers.Rico.Corner.reRound(this.groupDiv,b);this.setBackgroundColor();this.setOpacity()}},getCornersToRound:function(){var a=["tl","tr","bl","br"];var b=OpenLayers.Bounds.oppositeQuadrant(this.relativePosition);OpenLayers.Util.removeItem(a,b);return a.join(" ")},CLASS_NAME:"OpenLayers.Popup.AnchoredBubble"});OpenLayers.Popup.AnchoredBubble.CORNER_SIZE=5;OpenLayers.Projection=OpenLayers.Class({proj:null,projCode:null,initialize:function(b,a){OpenLayers.Util.extend(this,a);this.projCode=b;if(window.Proj4js){this.proj=new Proj4js.Proj(b)}},getCode:function(){return this.proj?this.proj.srsCode:this.projCode},getUnits:function(){return this.proj?this.proj.units:null},toString:function(){return this.getCode()},equals:function(a){if(a&&a.getCode){return this.getCode()==a.getCode()}else{return false}},destroy:function(){delete this.proj;delete this.projCode},CLASS_NAME:"OpenLayers.Projection"});OpenLayers.Projection.transforms={};OpenLayers.Projection.addTransform=function(c,b,a){if(!OpenLayers.Projection.transforms[c]){OpenLayers.Projection.transforms[c]={}}OpenLayers.Projection.transforms[c][b]=a};OpenLayers.Projection.transform=function(a,c,b){if(c.proj&&b.proj){a=Proj4js.transform(c.proj,b.proj,a)}else{if(c&&b&&OpenLayers.Projection.transforms[c.getCode()]&&OpenLayers.Projection.transforms[c.getCode()][b.getCode()]){OpenLayers.Projection.transforms[c.getCode()][b.getCode()](a)}}return a};OpenLayers.Tile=OpenLayers.Class({EVENT_TYPES:["loadstart","loadend","reload","unload"],events:null,id:null,layer:null,url:null,bounds:null,size:null,position:null,isLoading:false,initialize:function(d,a,e,b,c){this.layer=d;this.position=a.clone();this.bounds=e.clone();this.url=b;this.size=c.clone();this.id=OpenLayers.Util.createUniqueID("Tile_");this.events=new OpenLayers.Events(this,null,this.EVENT_TYPES)},unload:function(){if(this.isLoading){this.isLoading=false;this.events.triggerEvent("unload")}},destroy:function(){this.layer=null;this.bounds=null;this.size=null;this.position=null;this.events.destroy();this.events=null},clone:function(a){if(a==null){a=new OpenLayers.Tile(this.layer,this.position,this.bounds,this.url,this.size)}OpenLayers.Util.applyDefaults(a,this);return a},draw:function(){var a=this.layer.maxExtent;var b=(a&&this.bounds.intersectsBounds(a,false));this.shouldDraw=(b||this.layer.displayOutsideMaxExtent);this.clear();return this.shouldDraw},moveTo:function(b,a,c){if(c==null){c=true}this.bounds=b.clone();this.position=a.clone();if(c){this.draw()}},clear:function(){},getBoundsFromBaseLayer:function(a){var f=OpenLayers.i18n("reprojectDeprecated",{layerName:this.layer.name});OpenLayers.Console.warn(f);var d=this.layer.map.getLonLatFromLayerPx(a);var c=a.clone();c.x+=this.size.w;c.y+=this.size.h;var b=this.layer.map.getLonLatFromLayerPx(c);if(d.lon>b.lon){if(d.lon<0){d.lon=-180-(d.lon+180)}else{b.lon=180+b.lon+180}}var e=new OpenLayers.Bounds(d.lon,b.lat,b.lon,d.lat);return e},showTile:function(){if(this.shouldDraw){this.show()}},show:function(){},hide:function(){},CLASS_NAME:"OpenLayers.Tile"});OpenLayers.Handler=OpenLayers.Class({id:null,control:null,map:null,keyMask:null,active:false,evt:null,initialize:function(d,b,a){OpenLayers.Util.extend(this,a);this.control=d;this.callbacks=b;var c=this.map||d.map;if(c){this.setMap(c)}this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},setMap:function(a){this.map=a},checkModifiers:function(a){if(this.keyMask==null){return true}var b=(a.shiftKey?OpenLayers.Handler.MOD_SHIFT:0)|(a.ctrlKey?OpenLayers.Handler.MOD_CTRL:0)|(a.altKey?OpenLayers.Handler.MOD_ALT:0);return(b==this.keyMask)},activate:function(){if(this.active){return false}var c=OpenLayers.Events.prototype.BROWSER_EVENTS;for(var b=0,a=c.length;b<a;b++){if(this[c[b]]){this.register(c[b],this[c[b]])}}this.active=true;return true},deactivate:function(){if(!this.active){return false}var c=OpenLayers.Events.prototype.BROWSER_EVENTS;for(var b=0,a=c.length;b<a;b++){if(this[c[b]]){this.unregister(c[b],this[c[b]])}}this.active=false;return true},callback:function(b,a){if(b&&this.callbacks[b]){this.callbacks[b].apply(this.control,a)}},register:function(a,b){this.map.events.registerPriority(a,this,b);this.map.events.registerPriority(a,this,this.setEvent)},unregister:function(a,b){this.map.events.unregister(a,this,b);this.map.events.unregister(a,this,this.setEvent)},setEvent:function(a){this.evt=a;return true},destroy:function(){this.deactivate();this.control=this.map=null},CLASS_NAME:"OpenLayers.Handler"});OpenLayers.Handler.MOD_NONE=0;OpenLayers.Handler.MOD_SHIFT=1;OpenLayers.Handler.MOD_CTRL=2;OpenLayers.Handler.MOD_ALT=4;OpenLayers.Map=OpenLayers.Class({Z_INDEX_BASE:{BaseLayer:100,Overlay:325,Feature:725,Popup:750,Control:1000},EVENT_TYPES:["preaddlayer","addlayer","removelayer","changelayer","movestart","move","moveend","zoomend","popupopen","popupclose","addmarker","removemarker","clearmarkers","mouseover","mouseout","mousemove","dragstart","drag","dragend","changebaselayer"],id:null,fractionalZoom:false,events:null,allOverlays:false,div:null,dragging:false,size:null,viewPortDiv:null,layerContainerOrigin:null,layerContainerDiv:null,layers:null,controls:null,popups:null,baseLayer:null,center:null,resolution:null,zoom:0,panRatio:1.5,viewRequestID:0,tileSize:null,projection:"EPSG:4326",units:"degrees",resolutions:null,maxResolution:1.40625,minResolution:null,maxScale:null,minScale:null,maxExtent:null,minExtent:null,restrictedExtent:null,numZoomLevels:16,theme:null,displayProjection:null,fallThrough:true,panTween:null,eventListeners:null,panMethod:OpenLayers.Easing.Expo.easeOut,panDuration:50,paddingForPopups:null,initialize:function(h,d){if(arguments.length===1&&typeof h==="object"){d=h;h=d&&d.div}this.tileSize=new OpenLayers.Size(OpenLayers.Map.TILE_WIDTH,OpenLayers.Map.TILE_HEIGHT);this.maxExtent=new OpenLayers.Bounds(-180,-90,180,90);this.paddingForPopups=new OpenLayers.Bounds(15,15,15,15);this.theme=OpenLayers._getScriptLocation()+"theme/default/style.css";OpenLayers.Util.extend(this,d);this.layers=[];this.id=OpenLayers.Util.createUniqueID("OpenLayers.Map_");this.div=OpenLayers.Util.getElement(h);if(!this.div){this.div=document.createElement("div");this.div.style.height="1px";this.div.style.width="1px"}OpenLayers.Element.addClass(this.div,"olMap");var g=this.id+"_OpenLayers_ViewPort";this.viewPortDiv=OpenLayers.Util.createDiv(g,null,null,null,"relative",null,"hidden");this.viewPortDiv.style.width="100%";this.viewPortDiv.style.height="100%";this.viewPortDiv.className="olMapViewport";this.div.appendChild(this.viewPortDiv);g=this.id+"_OpenLayers_Container";this.layerContainerDiv=OpenLayers.Util.createDiv(g);this.layerContainerDiv.style.zIndex=this.Z_INDEX_BASE.Popup-1;this.viewPortDiv.appendChild(this.layerContainerDiv);this.events=new OpenLayers.Events(this,this.div,this.EVENT_TYPES,this.fallThrough,{includeXY:true});this.updateSize();if(this.eventListeners instanceof Object){this.events.on(this.eventListeners)}this.events.register("movestart",this,this.updateSize);if(OpenLayers.String.contains(navigator.appName,"Microsoft")){this.events.register("resize",this,this.updateSize)}else{this.updateSizeDestroy=OpenLayers.Function.bind(this.updateSize,this);OpenLayers.Event.observe(window,"resize",this.updateSizeDestroy)}if(this.theme){var f=true;var c=document.getElementsByTagName("link");for(var e=0,a=c.length;e<a;++e){if(OpenLayers.Util.isEquivalentUrl(c.item(e).href,this.theme)){f=false;break}}if(f){var b=document.createElement("link");b.setAttribute("rel","stylesheet");b.setAttribute("type","text/css");b.setAttribute("href",this.theme);document.getElementsByTagName("head")[0].appendChild(b)}}if(this.controls==null){if(OpenLayers.Control!=null){this.controls=[new OpenLayers.Control.Navigation(),new OpenLayers.Control.PanZoom(),new OpenLayers.Control.ArgParser(),new OpenLayers.Control.Attribution()]}else{this.controls=[]}}for(var e=0,a=this.controls.length;e<a;e++){this.addControlToMap(this.controls[e])}this.popups=[];this.unloadDestroy=OpenLayers.Function.bind(this.destroy,this);OpenLayers.Event.observe(window,"unload",this.unloadDestroy);if(d&&d.layers){this.addLayers(d.layers);if(d.center){this.setCenter(d.center,d.zoom)}}},render:function(a){this.div=OpenLayers.Util.getElement(a);OpenLayers.Element.addClass(this.div,"olMap");this.events.attachToElement(this.div);this.viewPortDiv.parentNode.removeChild(this.viewPortDiv);this.div.appendChild(this.viewPortDiv);this.updateSize()},unloadDestroy:null,updateSizeDestroy:null,destroy:function(){if(!this.unloadDestroy){return false}if(this.panTween){this.panTween.stop();this.panTween=null}OpenLayers.Event.stopObserving(window,"unload",this.unloadDestroy);this.unloadDestroy=null;if(this.updateSizeDestroy){OpenLayers.Event.stopObserving(window,"resize",this.updateSizeDestroy)}else{this.events.unregister("resize",this,this.updateSize)}this.paddingForPopups=null;if(this.controls!=null){for(var a=this.controls.length-1;a>=0;--a){this.controls[a].destroy()}this.controls=null}if(this.layers!=null){for(var a=this.layers.length-1;a>=0;--a){this.layers[a].destroy(false)}this.layers=null}if(this.viewPortDiv){this.div.removeChild(this.viewPortDiv)}this.viewPortDiv=null;if(this.eventListeners){this.events.un(this.eventListeners);this.eventListeners=null}this.events.destroy();this.events=null},setOptions:function(a){OpenLayers.Util.extend(this,a)},getTileSize:function(){return this.tileSize},getBy:function(e,c,a){var d=(typeof a.test=="function");var b=OpenLayers.Array.filter(this[e],function(f){return f[c]==a||(d&&a.test(f[c]))});return b},getLayersBy:function(b,a){return this.getBy("layers",b,a)},getLayersByName:function(a){return this.getLayersBy("name",a)},getLayersByClass:function(a){return this.getLayersBy("CLASS_NAME",a)},getControlsBy:function(b,a){return this.getBy("controls",b,a)},getControlsByClass:function(a){return this.getControlsBy("CLASS_NAME",a)},getLayer:function(e){var b=null;for(var d=0,a=this.layers.length;d<a;d++){var c=this.layers[d];if(c.id==e){b=c;break}}return b},setLayerZIndex:function(b,a){b.setZIndex(this.Z_INDEX_BASE[b.isBaseLayer?"BaseLayer":"Overlay"]+a*5)},resetLayersZIndex:function(){for(var c=0,a=this.layers.length;c<a;c++){var b=this.layers[c];this.setLayerZIndex(b,c)}},addLayer:function(c){for(var b=0,a=this.layers.length;b<a;b++){if(this.layers[b]==c){var d=OpenLayers.i18n("layerAlreadyAdded",{layerName:c.name});OpenLayers.Console.warn(d);return false}}if(this.allOverlays){c.isBaseLayer=false}if(this.events.triggerEvent("preaddlayer",{layer:c})===false){return}c.div.className="olLayerDiv";c.div.style.overflow="";this.setLayerZIndex(c,this.layers.length);if(c.isFixed){this.viewPortDiv.appendChild(c.div)}else{this.layerContainerDiv.appendChild(c.div)}this.layers.push(c);c.setMap(this);if(c.isBaseLayer||(this.allOverlays&&!this.baseLayer)){if(this.baseLayer==null){this.setBaseLayer(c)}else{c.setVisibility(false)}}else{c.redraw()}this.events.triggerEvent("addlayer",{layer:c});c.afterAdd()},addLayers:function(c){for(var b=0,a=c.length;b<a;b++){this.addLayer(c[b])}},removeLayer:function(c,e){if(e==null){e=true}if(c.isFixed){this.viewPortDiv.removeChild(c.div)}else{this.layerContainerDiv.removeChild(c.div)}OpenLayers.Util.removeItem(this.layers,c);c.removeMap(this);c.map=null;if(this.baseLayer==c){this.baseLayer=null;if(e){for(var b=0,a=this.layers.length;b<a;b++){var d=this.layers[b];if(d.isBaseLayer||this.allOverlays){this.setBaseLayer(d);break}}}}this.resetLayersZIndex();this.events.triggerEvent("removelayer",{layer:c})},getNumLayers:function(){return this.layers.length},getLayerIndex:function(a){return OpenLayers.Util.indexOf(this.layers,a)},setLayerIndex:function(d,b){var e=this.getLayerIndex(d);if(b<0){b=0}else{if(b>this.layers.length){b=this.layers.length}}if(e!=b){this.layers.splice(e,1);this.layers.splice(b,0,d);for(var c=0,a=this.layers.length;c<a;c++){this.setLayerZIndex(this.layers[c],c)}this.events.triggerEvent("changelayer",{layer:d,property:"order"});if(this.allOverlays){if(b===0){this.setBaseLayer(d)}else{if(this.baseLayer!==this.layers[0]){this.setBaseLayer(this.layers[0])}}}}},raiseLayer:function(b,c){var a=this.getLayerIndex(b)+c;this.setLayerIndex(b,a)},setBaseLayer:function(c){if(c!=this.baseLayer){if(OpenLayers.Util.indexOf(this.layers,c)!=-1){var a=this.getCenter();var d=OpenLayers.Util.getResolutionFromScale(this.getScale(),c.units);if(this.baseLayer!=null&&!this.allOverlays){this.baseLayer.setVisibility(false)}this.baseLayer=c;this.viewRequestID++;if(!this.allOverlays||this.baseLayer.visibility){this.baseLayer.setVisibility(true)}if(a!=null){var b=this.getZoomForResolution(d||this.resolution,true);this.setCenter(a,b,false,true)}this.events.triggerEvent("changebaselayer",{layer:this.baseLayer})}}},addControl:function(b,a){this.controls.push(b);this.addControlToMap(b,a)},addControls:function(b,g){var e=(arguments.length===1)?[]:g;for(var d=0,a=b.length;d<a;d++){var f=b[d];var c=(e[d])?e[d]:null;this.addControl(f,c)}},addControlToMap:function(b,a){b.outsideViewport=(b.div!=null);if(this.displayProjection&&!b.displayProjection){b.displayProjection=this.displayProjection}b.setMap(this);var c=b.draw(a);if(c){if(!b.outsideViewport){c.style.zIndex=this.Z_INDEX_BASE.Control+this.controls.length;this.viewPortDiv.appendChild(c)}}if(b.autoActivate){b.activate()}},getControl:function(e){var b=null;for(var c=0,a=this.controls.length;c<a;c++){var d=this.controls[c];if(d.id==e){b=d;break}}return b},removeControl:function(a){if((a)&&(a==this.getControl(a.id))){if(a.div&&(a.div.parentNode==this.viewPortDiv)){this.viewPortDiv.removeChild(a.div)}OpenLayers.Util.removeItem(this.controls,a)}},addPopup:function(a,d){if(d){for(var b=this.popups.length-1;b>=0;--b){this.removePopup(this.popups[b])}}a.map=this;this.popups.push(a);var c=a.draw();if(c){c.style.zIndex=this.Z_INDEX_BASE.Popup+this.popups.length;this.layerContainerDiv.appendChild(c)}},removePopup:function(a){OpenLayers.Util.removeItem(this.popups,a);if(a.div){try{this.layerContainerDiv.removeChild(a.div)}catch(b){}}a.map=null},getSize:function(){var a=null;if(this.size!=null){a=this.size.clone()}return a},updateSize:function(){var c=this.getCurrentSize();if(c&&!isNaN(c.h)&&!isNaN(c.w)){this.events.clearMouseCache();var f=this.getSize();if(f==null){this.size=f=c}if(!c.equals(f)){this.size=c;for(var d=0,b=this.layers.length;d<b;d++){this.layers[d].onMapResize()}var a=this.getCenter();if(this.baseLayer!=null&&a!=null){var e=this.getZoom();this.zoom=null;this.setCenter(a,e)}}}},getCurrentSize:function(){var a=new OpenLayers.Size(this.div.clientWidth,this.div.clientHeight);if(a.w==0&&a.h==0||isNaN(a.w)&&isNaN(a.h)){a.w=this.div.offsetWidth;a.h=this.div.offsetHeight}if(a.w==0&&a.h==0||isNaN(a.w)&&isNaN(a.h)){a.w=parseInt(this.div.style.width);a.h=parseInt(this.div.style.height)}return a},calculateBounds:function(a,b){var e=null;if(a==null){a=this.getCenter()}if(b==null){b=this.getResolution()}if((a!=null)&&(b!=null)){var d=this.getSize();var f=d.w*b;var c=d.h*b;e=new OpenLayers.Bounds(a.lon-f/2,a.lat-c/2,a.lon+f/2,a.lat+c/2)}return e},getCenter:function(){var a=null;if(this.center){a=this.center.clone()}return a},getZoom:function(){return this.zoom},pan:function(d,c,e){e=OpenLayers.Util.applyDefaults(e,{animate:true,dragging:false});var f=this.getViewPortPxFromLonLat(this.getCenter());var b=f.add(d,c);if(!e.dragging||!b.equals(f)){var a=this.getLonLatFromViewPortPx(b);if(e.animate){this.panTo(a)}else{this.setCenter(a,null,e.dragging)}}},panTo:function(b){if(this.panMethod&&this.getExtent().scale(this.panRatio).containsLonLat(b)){if(!this.panTween){this.panTween=new OpenLayers.Tween(this.panMethod)}var a=this.getCenter();if(b.lon==a.lon&&b.lat==a.lat){return}var d={lon:a.lon,lat:a.lat};var c={lon:b.lon,lat:b.lat};this.panTween.start(d,c,this.panDuration,{callbacks:{start:OpenLayers.Function.bind(function(e){this.events.triggerEvent("movestart")},this),eachStep:OpenLayers.Function.bind(function(e){e=new OpenLayers.LonLat(e.lon,e.lat);this.moveTo(e,this.zoom,{dragging:true,noEvent:true})},this),done:OpenLayers.Function.bind(function(e){e=new OpenLayers.LonLat(e.lon,e.lat);this.moveTo(e,this.zoom,{noEvent:true});this.events.triggerEvent("moveend")},this)}})}else{this.setCenter(b)}},setCenter:function(c,a,b,d){this.moveTo(c,a,{dragging:b,forceZoomChange:d,caller:"setCenter"})},moveTo:function(g,n,q){if(!q){q={}}if(n!=null){n=parseFloat(n);if(!this.fractionalZoom){n=Math.round(n)}}var m=q.dragging;var c=q.forceZoomChange;var h=q.noEvent;if(this.panTween&&q.caller=="setCenter"){this.panTween.stop()}if(!this.center&&!this.isValidLonLat(g)){g=this.maxExtent.getCenterLonLat()}if(this.restrictedExtent!=null){if(g==null){g=this.getCenter()}if(n==null){n=this.getZoom()}var d=this.getResolutionForZoom(n);var o=this.calculateBounds(g,d);if(!this.restrictedExtent.containsBounds(o)){var p=this.restrictedExtent.getCenterLonLat();if(o.getWidth()>this.restrictedExtent.getWidth()){g=new OpenLayers.LonLat(p.lon,g.lat)}else{if(o.left<this.restrictedExtent.left){g=g.add(this.restrictedExtent.left-o.left,0)}else{if(o.right>this.restrictedExtent.right){g=g.add(this.restrictedExtent.right-o.right,0)}}}if(o.getHeight()>this.restrictedExtent.getHeight()){g=new OpenLayers.LonLat(g.lon,p.lat)}else{if(o.bottom<this.restrictedExtent.bottom){g=g.add(0,this.restrictedExtent.bottom-o.bottom)}else{if(o.top>this.restrictedExtent.top){g=g.add(0,this.restrictedExtent.top-o.top)}}}}}var b=c||((this.isValidZoomLevel(n))&&(n!=this.getZoom()));var e=(this.isValidLonLat(g))&&(!g.equals(this.center));if(b||e||!m){if(!this.dragging&&!h){this.events.triggerEvent("movestart")}if(e){if((!b)&&(this.center)){this.centerLayerContainer(g)}this.center=g.clone()}if((b)||(this.layerContainerOrigin==null)){this.layerContainerOrigin=this.center.clone();this.layerContainerDiv.style.left="0px";this.layerContainerDiv.style.top="0px"}if(b){this.zoom=n;this.resolution=this.getResolutionForZoom(n);this.viewRequestID++}var a=this.getExtent();if(this.baseLayer.visibility){this.baseLayer.moveTo(a,b,m);if(m){this.baseLayer.events.triggerEvent("move")}else{this.baseLayer.events.triggerEvent("moveend",{zoomChanged:b})}}a=this.baseLayer.getExtent();for(var f=0,k=this.layers.length;f<k;f++){var j=this.layers[f];if(j!==this.baseLayer&&!j.isBaseLayer){var l=j.calculateInRange();if(j.inRange!=l){j.inRange=l;if(!l){j.display(false)}this.events.triggerEvent("changelayer",{layer:j,property:"visibility"})}if(l&&j.visibility){j.moveTo(a,b,m);if(m){j.events.triggerEvent("move")}else{j.events.triggerEvent("moveend",{zoomChanged:b})}}}}if(b){for(var f=0,k=this.popups.length;f<k;f++){this.popups[f].updatePosition()}}this.events.triggerEvent("move");if(b){this.events.triggerEvent("zoomend")}}if(!m&&!h){this.events.triggerEvent("moveend")}this.dragging=!!m},centerLayerContainer:function(b){var a=this.getViewPortPxFromLonLat(this.layerContainerOrigin);var c=this.getViewPortPxFromLonLat(b);if((a!=null)&&(c!=null)){this.layerContainerDiv.style.left=Math.round(a.x-c.x)+"px";this.layerContainerDiv.style.top=Math.round(a.y-c.y)+"px"}},isValidZoomLevel:function(a){return((a!=null)&&(a>=0)&&(a<this.getNumZoomLevels()))},isValidLonLat:function(c){var b=false;if(c!=null){var a=this.getMaxExtent();b=a.containsLonLat(c)}return b},getProjection:function(){var a=this.getProjectionObject();return a?a.getCode():null},getProjectionObject:function(){var a=null;if(this.baseLayer!=null){a=this.baseLayer.projection}return a},getMaxResolution:function(){var a=null;if(this.baseLayer!=null){a=this.baseLayer.maxResolution}return a},getMaxExtent:function(b){var a=null;if(b&&b.restricted&&this.restrictedExtent){a=this.restrictedExtent}else{if(this.baseLayer!=null){a=this.baseLayer.maxExtent}}return a},getNumZoomLevels:function(){var a=null;if(this.baseLayer!=null){a=this.baseLayer.numZoomLevels}return a},getExtent:function(){var a=null;if(this.baseLayer!=null){a=this.baseLayer.getExtent()}return a},getResolution:function(){var a=null;if(this.baseLayer!=null){a=this.baseLayer.getResolution()}else{if(this.allOverlays===true&&this.layers.length>0){a=this.layers[0].getResolution()}}return a},getUnits:function(){var a=null;if(this.baseLayer!=null){a=this.baseLayer.units}return a},getScale:function(){var c=null;if(this.baseLayer!=null){var b=this.getResolution();var a=this.baseLayer.units;c=OpenLayers.Util.getScaleFromResolution(b,a)}return c},getZoomForExtent:function(c,b){var a=null;if(this.baseLayer!=null){a=this.baseLayer.getZoomForExtent(c,b)}return a},getResolutionForZoom:function(b){var a=null;if(this.baseLayer){a=this.baseLayer.getResolutionForZoom(b)}return a},getZoomForResolution:function(a,c){var b=null;if(this.baseLayer!=null){b=this.baseLayer.getZoomForResolution(a,c)}return b},zoomTo:function(a){if(this.isValidZoomLevel(a)){this.setCenter(null,a)}},zoomIn:function(){this.zoomTo(this.getZoom()+1)},zoomOut:function(){this.zoomTo(this.getZoom()-1)},zoomToExtent:function(d,c){var b=d.getCenterLonLat();if(this.baseLayer.wrapDateLine){var a=this.getMaxExtent();d=d.clone();while(d.right<d.left){d.right+=a.getWidth()}b=d.getCenterLonLat().wrapDateLine(a)}this.setCenter(b,this.getZoomForExtent(d,c))},zoomToMaxExtent:function(c){var b=(c)?c.restricted:true;var a=this.getMaxExtent({restricted:b});this.zoomToExtent(a)},zoomToScale:function(h,g){var d=OpenLayers.Util.getResolutionFromScale(h,this.baseLayer.units);var c=this.getSize();var f=c.w*d;var b=c.h*d;var a=this.getCenter();var e=new OpenLayers.Bounds(a.lon-f/2,a.lat-b/2,a.lon+f/2,a.lat+b/2);this.zoomToExtent(e,g)},getLonLatFromViewPortPx:function(a){var b=null;if(this.baseLayer!=null){b=this.baseLayer.getLonLatFromViewPortPx(a)}return b},getViewPortPxFromLonLat:function(b){var a=null;if(this.baseLayer!=null){a=this.baseLayer.getViewPortPxFromLonLat(b)}return a},getLonLatFromPixel:function(a){return this.getLonLatFromViewPortPx(a)},getPixelFromLonLat:function(b){var a=this.getViewPortPxFromLonLat(b);a.x=Math.round(a.x);a.y=Math.round(a.y);return a},getGeodesicPixelSize:function(g){var d=g?this.getLonLatFromPixel(g):(this.getCenter()||new OpenLayers.LonLat(0,0));var e=this.getResolution();var c=d.add(-e/2,0);var i=d.add(e/2,0);var b=d.add(0,-e/2);var f=d.add(0,e/2);var h=new OpenLayers.Projection("EPSG:4326");var a=this.getProjectionObject()||h;if(!a.equals(h)){c.transform(a,h);i.transform(a,h);b.transform(a,h);f.transform(a,h)}return new OpenLayers.Size(OpenLayers.Util.distVincenty(c,i),OpenLayers.Util.distVincenty(b,f))},getViewPortPxFromLayerPx:function(d){var c=null;if(d!=null){var b=parseInt(this.layerContainerDiv.style.left);var a=parseInt(this.layerContainerDiv.style.top);c=d.add(b,a)}return c},getLayerPxFromViewPortPx:function(c){var d=null;if(c!=null){var b=-parseInt(this.layerContainerDiv.style.left);var a=-parseInt(this.layerContainerDiv.style.top);d=c.add(b,a);if(isNaN(d.x)||isNaN(d.y)){d=null}}return d},getLonLatFromLayerPx:function(a){a=this.getViewPortPxFromLayerPx(a);return this.getLonLatFromViewPortPx(a)},getLayerPxFromLonLat:function(b){var a=this.getPixelFromLonLat(b);return this.getLayerPxFromViewPortPx(a)},CLASS_NAME:"OpenLayers.Map"});OpenLayers.Map.TILE_WIDTH=256;OpenLayers.Map.TILE_HEIGHT=256;OpenLayers.Marker=OpenLayers.Class({icon:null,lonlat:null,events:null,map:null,initialize:function(c,b){this.lonlat=c;var a=(b)?b:OpenLayers.Marker.defaultIcon();if(this.icon==null){this.icon=a}else{this.icon.url=a.url;this.icon.size=a.size;this.icon.offset=a.offset;this.icon.calculateOffset=a.calculateOffset}this.events=new OpenLayers.Events(this,this.icon.imageDiv,null)},destroy:function(){this.erase();this.map=null;this.events.destroy();this.events=null;if(this.icon!=null){this.icon.destroy();this.icon=null}},draw:function(a){return this.icon.draw(a)},erase:function(){if(this.icon!=null){this.icon.erase()}},moveTo:function(a){if((a!=null)&&(this.icon!=null)){this.icon.moveTo(a)}this.lonlat=this.map.getLonLatFromLayerPx(a)},isDrawn:function(){var a=(this.icon&&this.icon.isDrawn());return a},onScreen:function(){var b=false;if(this.map){var a=this.map.getExtent();b=a.containsLonLat(this.lonlat)}return b},inflate:function(b){if(this.icon){var a=new OpenLayers.Size(this.icon.size.w*b,this.icon.size.h*b);this.icon.setSize(a)}},setOpacity:function(a){this.icon.setOpacity(a)},setUrl:function(a){this.icon.setUrl(a)},display:function(a){this.icon.display(a)},CLASS_NAME:"OpenLayers.Marker"});OpenLayers.Marker.defaultIcon=function(){var a=OpenLayers.Util.getImagesLocation()+"marker.png";var b=new OpenLayers.Size(21,25);var c=function(d){return new OpenLayers.Pixel(-(d.w/2),-d.h)};return new OpenLayers.Icon(a,b,null,c)};OpenLayers.Tile.Image=OpenLayers.Class(OpenLayers.Tile,{url:null,imgDiv:null,frame:null,layerAlphaHack:null,isBackBuffer:false,lastRatio:1,isFirstDraw:true,backBufferTile:null,initialize:function(d,a,e,b,c){OpenLayers.Tile.prototype.initialize.apply(this,arguments);this.url=b;this.frame=document.createElement("div");this.frame.style.overflow="hidden";this.frame.style.position="absolute";this.layerAlphaHack=this.layer.alpha&&OpenLayers.Util.alphaHack()},destroy:function(){if(this.imgDiv!=null){if(this.layerAlphaHack){OpenLayers.Event.stopObservingElement(this.imgDiv.childNodes[0])}OpenLayers.Event.stopObservingElement(this.imgDiv);if(this.imgDiv.parentNode==this.frame){this.frame.removeChild(this.imgDiv);this.imgDiv.map=null}this.imgDiv.urls=null;this.imgDiv.src=OpenLayers.Util.getImagesLocation()+"blank.gif"}this.imgDiv=null;if((this.frame!=null)&&(this.frame.parentNode==this.layer.div)){this.layer.div.removeChild(this.frame)}this.frame=null;if(this.backBufferTile){this.backBufferTile.destroy();this.backBufferTile=null}this.layer.events.unregister("loadend",this,this.resetBackBuffer);OpenLayers.Tile.prototype.destroy.apply(this,arguments)},clone:function(a){if(a==null){a=new OpenLayers.Tile.Image(this.layer,this.position,this.bounds,this.url,this.size)}a=OpenLayers.Tile.prototype.clone.apply(this,[a]);a.imgDiv=null;return a},draw:function(){if(this.layer!=this.layer.map.baseLayer&&this.layer.reproject){this.bounds=this.getBoundsFromBaseLayer(this.position)}var a=OpenLayers.Tile.prototype.draw.apply(this,arguments);if((OpenLayers.Util.indexOf(this.layer.SUPPORTED_TRANSITIONS,this.layer.transitionEffect)!=-1)||this.layer.singleTile){if(a){if(!this.backBufferTile){this.backBufferTile=this.clone();this.backBufferTile.hide();this.backBufferTile.isBackBuffer=true;this.events.register("loadend",this,this.resetBackBuffer);this.layer.events.register("loadend",this,this.resetBackBuffer)}this.startTransition()}else{if(this.backBufferTile){this.backBufferTile.clear()}}}else{if(a&&this.isFirstDraw){this.events.register("loadend",this,this.showTile);this.isFirstDraw=false}}if(!a){return false}if(this.isLoading){this.events.triggerEvent("reload")}else{this.isLoading=true;this.events.triggerEvent("loadstart")}return this.renderTile()},resetBackBuffer:function(){this.showTile();if(this.backBufferTile&&(this.isFirstDraw||!this.layer.numLoadingTiles)){this.isFirstDraw=false;var a=this.layer.maxExtent;var b=(a&&this.bounds.intersectsBounds(a,false));if(b){this.backBufferTile.position=this.position;this.backBufferTile.bounds=this.bounds;this.backBufferTile.size=this.size;this.backBufferTile.imageSize=this.layer.getImageSize(this.bounds)||this.size;this.backBufferTile.imageOffset=this.layer.imageOffset;this.backBufferTile.resolution=this.layer.getResolution();this.backBufferTile.renderTile()}this.backBufferTile.hide()}},renderTile:function(){if(this.imgDiv==null){this.initImgDiv()}this.imgDiv.viewRequestID=this.layer.map.viewRequestID;if(this.layer.async){this.layer.getURLasync(this.bounds,this,"url",this.positionImage)}else{if(this.layer.url instanceof Array){this.imgDiv.urls=this.layer.url.slice()}this.url=this.layer.getURL(this.bounds);this.positionImage()}return true},positionImage:function(){if(this.layer===null){return}OpenLayers.Util.modifyDOMElement(this.frame,null,this.position,this.size);var a=this.layer.getImageSize(this.bounds);if(this.layerAlphaHack){OpenLayers.Util.modifyAlphaImageDiv(this.imgDiv,null,null,a,this.url)}else{OpenLayers.Util.modifyDOMElement(this.imgDiv,null,null,a);this.imgDiv.src=this.url}},clear:function(){if(this.imgDiv){this.hide();if(OpenLayers.Tile.Image.useBlankTile){this.imgDiv.src=OpenLayers.Util.getImagesLocation()+"blank.gif"}}},initImgDiv:function(){var d=this.layer.imageOffset;var b=this.layer.getImageSize(this.bounds);if(this.layerAlphaHack){this.imgDiv=OpenLayers.Util.createAlphaImageDiv(null,d,b,null,"relative",null,null,null,true)}else{this.imgDiv=OpenLayers.Util.createImage(null,d,b,null,"relative",null,null,true)}this.imgDiv.className="olTileImage";this.frame.style.zIndex=this.isBackBuffer?0:1;this.frame.appendChild(this.imgDiv);this.layer.div.appendChild(this.frame);if(this.layer.opacity!=null){OpenLayers.Util.modifyDOMElement(this.imgDiv,null,null,null,null,null,null,this.layer.opacity)}this.imgDiv.map=this.layer.map;var c=function(){if(this.isLoading){this.isLoading=false;this.events.triggerEvent("loadend")}};if(this.layerAlphaHack){OpenLayers.Event.observe(this.imgDiv.childNodes[0],"load",OpenLayers.Function.bind(c,this))}else{OpenLayers.Event.observe(this.imgDiv,"load",OpenLayers.Function.bind(c,this))}var a=function(){if(this.imgDiv._attempts>OpenLayers.IMAGE_RELOAD_ATTEMPTS){c.call(this)}};OpenLayers.Event.observe(this.imgDiv,"error",OpenLayers.Function.bind(a,this))},checkImgURL:function(){if(this.layer){var a=this.layerAlphaHack?this.imgDiv.firstChild.src:this.imgDiv.src;if(!OpenLayers.Util.isEquivalentUrl(a,this.url)){this.hide()}}},startTransition:function(){if(!this.backBufferTile||!this.backBufferTile.imgDiv){return}var d=1;if(this.backBufferTile.resolution){d=this.backBufferTile.resolution/this.layer.getResolution()}if(d!=this.lastRatio){if(this.layer.transitionEffect=="resize"){var c=new OpenLayers.LonLat(this.backBufferTile.bounds.left,this.backBufferTile.bounds.top);var b=new OpenLayers.Size(this.backBufferTile.size.w*d,this.backBufferTile.size.h*d);var a=this.layer.map.getLayerPxFromLonLat(c);OpenLayers.Util.modifyDOMElement(this.backBufferTile.frame,null,a,b);var e=this.backBufferTile.imageSize;e=new OpenLayers.Size(e.w*d,e.h*d);var f=this.backBufferTile.imageOffset;if(f){f=new OpenLayers.Pixel(f.x*d,f.y*d)}OpenLayers.Util.modifyDOMElement(this.backBufferTile.imgDiv,null,f,e);this.backBufferTile.show()}}else{if(this.layer.singleTile){this.backBufferTile.show()}else{this.backBufferTile.hide()}}this.lastRatio=d},show:function(){this.frame.style.display="";if(OpenLayers.Util.indexOf(this.layer.SUPPORTED_TRANSITIONS,this.layer.transitionEffect)!=-1){if(navigator.userAgent.toLowerCase().indexOf("gecko")!=-1){this.frame.scrollLeft=this.frame.scrollLeft}}},hide:function(){this.frame.style.display="none"},CLASS_NAME:"OpenLayers.Tile.Image"});OpenLayers.Tile.Image.useBlankTile=(OpenLayers.Util.getBrowserName()=="safari"||OpenLayers.Util.getBrowserName()=="opera");OpenLayers.Feature=OpenLayers.Class({layer:null,id:null,lonlat:null,data:null,marker:null,popupClass:OpenLayers.Popup.AnchoredBubble,popup:null,initialize:function(a,c,b){this.layer=a;this.lonlat=c;this.data=(b!=null)?b:{};this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},destroy:function(){if((this.layer!=null)&&(this.layer.map!=null)){if(this.popup!=null){this.layer.map.removePopup(this.popup)}}if(this.layer!=null&&this.marker!=null){this.layer.removeMarker(this.marker)}this.layer=null;this.id=null;this.lonlat=null;this.data=null;if(this.marker!=null){this.destroyMarker(this.marker);this.marker=null}if(this.popup!=null){this.destroyPopup(this.popup);this.popup=null}},onScreen:function(){var b=false;if((this.layer!=null)&&(this.layer.map!=null)){var a=this.layer.map.getExtent();b=a.containsLonLat(this.lonlat)}return b},createMarker:function(){if(this.lonlat!=null){this.marker=new OpenLayers.Marker(this.lonlat,this.data.icon)}return this.marker},destroyMarker:function(){this.marker.destroy()},createPopup:function(b){if(this.lonlat!=null){var c=this.id+"_popup";var a=(this.marker)?this.marker.icon:null;if(!this.popup){this.popup=new this.popupClass(c,this.lonlat,this.data.popupSize,this.data.popupContentHTML,a,b)}if(this.data.overflow!=null){this.popup.contentDiv.style.overflow=this.data.overflow}this.popup.feature=this}return this.popup},destroyPopup:function(){if(this.popup){this.popup.feature=null;this.popup.destroy();this.popup=null}},CLASS_NAME:"OpenLayers.Feature"});OpenLayers.Handler.Click=OpenLayers.Class(OpenLayers.Handler,{delay:300,single:true,"double":false,pixelTolerance:0,stopSingle:false,stopDouble:false,timerId:null,down:null,rightclickTimerId:null,initialize:function(c,b,a){OpenLayers.Handler.prototype.initialize.apply(this,arguments);if(this.pixelTolerance!=null){this.mousedown=function(d){this.down=d.xy;return true}}},mousedown:null,mouseup:function(b){var a=true;if(this.checkModifiers(b)&&this.control.handleRightClicks&&OpenLayers.Event.isRightClick(b)){a=this.rightclick(b)}return a},rightclick:function(b){if(this.passesTolerance(b)){if(this.rightclickTimerId!=null){this.clearTimer();this.callback("dblrightclick",[b]);return !this.stopDouble}else{var a=this["double"]?OpenLayers.Util.extend({},b):this.callback("rightclick",[b]);var c=OpenLayers.Function.bind(this.delayedRightCall,this,a);this.rightclickTimerId=window.setTimeout(c,this.delay)}}return !this.stopSingle},delayedRightCall:function(a){this.rightclickTimerId=null;if(a){this.callback("rightclick",[a])}return !this.stopSingle},dblclick:function(a){if(this.passesTolerance(a)){if(this["double"]){this.callback("dblclick",[a])}this.clearTimer()}return !this.stopDouble},click:function(b){if(this.passesTolerance(b)){if(this.timerId!=null){this.clearTimer()}else{var a=this.single?OpenLayers.Util.extend({},b):null;this.timerId=window.setTimeout(OpenLayers.Function.bind(this.delayedCall,this,a),this.delay)}}return !this.stopSingle},passesTolerance:function(b){var c=true;if(this.pixelTolerance!=null&&this.down){var a=Math.sqrt(Math.pow(this.down.x-b.xy.x,2)+Math.pow(this.down.y-b.xy.y,2));if(a>this.pixelTolerance){c=false}}return c},clearTimer:function(){if(this.timerId!=null){window.clearTimeout(this.timerId);this.timerId=null}if(this.rightclickTimerId!=null){window.clearTimeout(this.rightclickTimerId);this.rightclickTimerId=null}},delayedCall:function(a){this.timerId=null;if(a){this.callback("click",[a])}},deactivate:function(){var a=false;if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){this.clearTimer();this.down=null;a=true}return a},CLASS_NAME:"OpenLayers.Handler.Click"});OpenLayers.Handler.Drag=OpenLayers.Class(OpenLayers.Handler,{started:false,stopDown:true,dragging:false,last:null,start:null,oldOnselectstart:null,interval:0,timeoutId:null,documentDrag:false,documentEvents:null,initialize:function(c,b,a){OpenLayers.Handler.prototype.initialize.apply(this,arguments)},down:function(a){},move:function(a){},up:function(a){},out:function(a){},mousedown:function(b){var a=true;this.dragging=false;if(this.checkModifiers(b)&&OpenLayers.Event.isLeftClick(b)){this.started=true;this.start=b.xy;this.last=b.xy;OpenLayers.Element.addClass(this.map.viewPortDiv,"olDragDown");this.down(b);this.callback("down",[b.xy]);OpenLayers.Event.stop(b);if(!this.oldOnselectstart){this.oldOnselectstart=(document.onselectstart)?document.onselectstart:OpenLayers.Function.True}document.onselectstart=OpenLayers.Function.False;a=!this.stopDown}else{this.started=false;this.start=null;this.last=null}return a},mousemove:function(a){if(this.started&&!this.timeoutId&&(a.xy.x!=this.last.x||a.xy.y!=this.last.y)){if(this.documentDrag===true&&this.documentEvents){if(a.element===document){this.adjustXY(a);this.setEvent(a)}else{this.destroyDocumentEvents()}}if(this.interval>0){this.timeoutId=setTimeout(OpenLayers.Function.bind(this.removeTimeout,this),this.interval)}this.dragging=true;this.move(a);this.callback("move",[a.xy]);if(!this.oldOnselectstart){this.oldOnselectstart=document.onselectstart;document.onselectstart=OpenLayers.Function.False}this.last=this.evt.xy}return true},removeTimeout:function(){this.timeoutId=null},mouseup:function(b){if(this.started){if(this.documentDrag===true&&this.documentEvents){this.adjustXY(b);this.destroyDocumentEvents()}var a=(this.start!=this.last);this.started=false;this.dragging=false;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDragDown");this.up(b);this.callback("up",[b.xy]);if(a){this.callback("done",[b.xy])}document.onselectstart=this.oldOnselectstart}return true},mouseout:function(b){if(this.started&&OpenLayers.Util.mouseLeft(b,this.map.div)){if(this.documentDrag===true){this.documentEvents=new OpenLayers.Events(this,document,null,null,{includeXY:true});this.documentEvents.on({mousemove:this.mousemove,mouseup:this.mouseup});OpenLayers.Element.addClass(document.body,"olDragDown")}else{var a=(this.start!=this.last);this.started=false;this.dragging=false;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDragDown");this.out(b);this.callback("out",[]);if(a){this.callback("done",[b.xy])}if(document.onselectstart){document.onselectstart=this.oldOnselectstart}}}return true},click:function(a){return(this.start==this.last)},activate:function(){var a=false;if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){this.dragging=false;a=true}return a},deactivate:function(){var a=false;if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){this.started=false;this.dragging=false;this.start=null;this.last=null;a=true;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDragDown")}return a},adjustXY:function(a){var b=OpenLayers.Util.pagePosition(this.map.div);a.xy.x-=b[0];a.xy.y-=b[1]},destroyDocumentEvents:function(){OpenLayers.Element.removeClass(document.body,"olDragDown");this.documentEvents.destroy();this.documentEvents=null},CLASS_NAME:"OpenLayers.Handler.Drag"});OpenLayers.Handler.MouseWheel=OpenLayers.Class(OpenLayers.Handler,{wheelListener:null,mousePosition:null,interval:0,delta:0,cumulative:true,initialize:function(c,b,a){OpenLayers.Handler.prototype.initialize.apply(this,arguments);this.wheelListener=OpenLayers.Function.bindAsEventListener(this.onWheelEvent,this)},destroy:function(){OpenLayers.Handler.prototype.destroy.apply(this,arguments);this.wheelListener=null},onWheelEvent:function(k){if(!this.map||!this.checkModifiers(k)){return}var g=false;var m=false;var f=false;var b=OpenLayers.Event.element(k);while((b!=null)&&!f&&!g){if(!g){try{if(b.currentStyle){c=b.currentStyle.overflow}else{var a=document.defaultView.getComputedStyle(b,null);var c=a.getPropertyValue("overflow")}g=(c&&(c=="auto")||(c=="scroll"))}catch(d){}}if(!m){for(var h=0,j=this.map.layers.length;h<j;h++){if(b==this.map.layers[h].div||b==this.map.layers[h].pane){m=true;break}}}f=(b==this.map.div);b=b.parentNode}if(!g&&f){if(m){var l=0;if(!k){k=window.event}if(k.wheelDelta){l=k.wheelDelta/120;if(window.opera&&window.opera.version()<9.2){l=-l}}else{if(k.detail){l=-k.detail/3}}this.delta=this.delta+l;if(this.interval){window.clearTimeout(this._timeoutId);this._timeoutId=window.setTimeout(OpenLayers.Function.bind(function(){this.wheelZoom(k)},this),this.interval)}else{this.wheelZoom(k)}}OpenLayers.Event.stop(k)}},wheelZoom:function(a){var b=this.delta;this.delta=0;if(b){if(this.mousePosition){a.xy=this.mousePosition}if(!a.xy){a.xy=this.map.getPixelFromLonLat(this.map.getCenter())}if(b<0){this.callback("down",[a,this.cumulative?b:-1])}else{this.callback("up",[a,this.cumulative?b:1])}}},mousemove:function(a){this.mousePosition=a.xy},activate:function(a){if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){var b=this.wheelListener;OpenLayers.Event.observe(window,"DOMMouseScroll",b);OpenLayers.Event.observe(window,"mousewheel",b);OpenLayers.Event.observe(document,"mousewheel",b);return true}else{return false}},deactivate:function(a){if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){var b=this.wheelListener;OpenLayers.Event.stopObserving(window,"DOMMouseScroll",b);OpenLayers.Event.stopObserving(window,"mousewheel",b);OpenLayers.Event.stopObserving(document,"mousewheel",b);return true}else{return false}},CLASS_NAME:"OpenLayers.Handler.MouseWheel"});OpenLayers.Layer=OpenLayers.Class({id:null,name:null,div:null,opacity:null,alwaysInRange:null,EVENT_TYPES:["loadstart","loadend","loadcancel","visibilitychanged","move","moveend"],RESOLUTION_PROPERTIES:["scales","resolutions","maxScale","minScale","maxResolution","minResolution","numZoomLevels","maxZoomLevel"],events:null,map:null,isBaseLayer:false,alpha:false,displayInLayerSwitcher:true,visibility:true,attribution:null,inRange:false,imageSize:null,imageOffset:null,options:null,eventListeners:null,gutter:0,projection:null,units:null,scales:null,resolutions:null,maxExtent:null,minExtent:null,maxResolution:null,minResolution:null,numZoomLevels:null,minScale:null,maxScale:null,displayOutsideMaxExtent:false,wrapDateLine:false,transitionEffect:null,SUPPORTED_TRANSITIONS:["resize"],metadata:{},initialize:function(b,a){this.addOptions(a);this.name=b;if(this.id==null){this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_");this.div=OpenLayers.Util.createDiv(this.id);this.div.style.width="100%";this.div.style.height="100%";this.div.dir="ltr";this.events=new OpenLayers.Events(this,this.div,this.EVENT_TYPES);if(this.eventListeners instanceof Object){this.events.on(this.eventListeners)}}if(this.wrapDateLine){this.displayOutsideMaxExtent=true}},destroy:function(a){if(a==null){a=true}if(this.map!=null){this.map.removeLayer(this,a)}this.projection=null;this.map=null;this.name=null;this.div=null;this.options=null;if(this.events){if(this.eventListeners){this.events.un(this.eventListeners)}this.events.destroy()}this.eventListeners=null;this.events=null},clone:function(a){if(a==null){a=new OpenLayers.Layer(this.name,this.getOptions())}OpenLayers.Util.applyDefaults(a,this);a.map=null;return a},getOptions:function(){var a={};for(var b in this.options){a[b]=this[b]}return a},setName:function(a){if(a!=this.name){this.name=a;if(this.map!=null){this.map.events.triggerEvent("changelayer",{layer:this,property:"name"})}}},addOptions:function(c){if(this.options==null){this.options={}}OpenLayers.Util.extend(this.options,c);OpenLayers.Util.extend(this,c);if(typeof this.projection=="string"){this.projection=new OpenLayers.Projection(this.projection)}if(this.projection&&this.projection.getUnits()){this.units=this.projection.getUnits()}if(this.map){var a=this.RESOLUTION_PROPERTIES.concat(["projection","units","minExtent","maxExtent"]);for(var b in c){if(c.hasOwnProperty(b)&&OpenLayers.Util.indexOf(a,b)>=0){this.initResolutions();break}}}},onMapResize:function(){},redraw:function(){var b=false;if(this.map){this.inRange=this.calculateInRange();var c=this.getExtent();if(c&&this.inRange&&this.visibility){var a=true;this.moveTo(c,a,false);this.events.triggerEvent("moveend",{zoomChanged:a});b=true}}return b},moveTo:function(b,a,c){var d=this.visibility;if(!this.isBaseLayer){d=d&&this.inRange}this.display(d)},setMap:function(b){if(this.map==null){this.map=b;this.maxExtent=this.maxExtent||this.map.maxExtent;this.minExtent=this.minExtent||this.map.minExtent;this.projection=this.projection||this.map.projection;if(typeof this.projection=="string"){this.projection=new OpenLayers.Projection(this.projection)}this.units=this.projection.getUnits()||this.units||this.map.units;this.initResolutions();if(!this.isBaseLayer){this.inRange=this.calculateInRange();var a=((this.visibility)&&(this.inRange));this.div.style.display=a?"":"none"}this.setTileSize()}},afterAdd:function(){},removeMap:function(a){},getImageSize:function(a){return(this.imageSize||this.tileSize)},setTileSize:function(a){var b=(a)?a:((this.tileSize)?this.tileSize:this.map.getTileSize());this.tileSize=b;if(this.gutter){this.imageOffset=new OpenLayers.Pixel(-this.gutter,-this.gutter);this.imageSize=new OpenLayers.Size(b.w+(2*this.gutter),b.h+(2*this.gutter))}},getVisibility:function(){return this.visibility},setVisibility:function(a){if(a!=this.visibility){this.visibility=a;this.display(a);this.redraw();if(this.map!=null){this.map.events.triggerEvent("changelayer",{layer:this,property:"visibility"})}this.events.triggerEvent("visibilitychanged")}},display:function(a){if(a!=(this.div.style.display!="none")){this.div.style.display=(a&&this.calculateInRange())?"block":"none"}},calculateInRange:function(){var b=false;if(this.alwaysInRange){b=true}else{if(this.map){var a=this.map.getResolution();b=((a>=this.minResolution)&&(a<=this.maxResolution))}}return b},setIsBaseLayer:function(a){if(a!=this.isBaseLayer){this.isBaseLayer=a;if(this.map!=null){this.map.events.triggerEvent("changebaselayer",{layer:this})}}},initResolutions:function(){var e,a;var f={},d=true;for(e=0,a=this.RESOLUTION_PROPERTIES.length;e<a;e++){var h=this.RESOLUTION_PROPERTIES[e];f[h]=this.options[h];if(d&&this.options[h]){d=false}}if(this.alwaysInRange==null){this.alwaysInRange=d}if(f.resolutions==null){f.resolutions=this.resolutionsFromScales(f.scales)}if(f.resolutions==null){f.resolutions=this.calculateResolutions(f)}if(f.resolutions==null){for(e=0,a=this.RESOLUTION_PROPERTIES.length;e<a;e++){var h=this.RESOLUTION_PROPERTIES[e];f[h]=this.options[h]!=null?this.options[h]:this.map[h]}if(f.resolutions==null){f.resolutions=this.resolutionsFromScales(f.scales)}if(f.resolutions==null){f.resolutions=this.calculateResolutions(f)}}var c;if(this.options.maxResolution&&this.options.maxResolution!=="auto"){c=this.options.maxResolution}if(this.options.minScale){c=OpenLayers.Util.getResolutionFromScale(this.options.minScale,this.units)}var b;if(this.options.minResolution&&this.options.minResolution!=="auto"){b=this.options.minResolution}if(this.options.maxScale){b=OpenLayers.Util.getResolutionFromScale(this.options.maxScale,this.units)}if(f.resolutions){f.resolutions.sort(function(j,i){return(i-j)});if(!c){c=f.resolutions[0]}if(!b){var g=f.resolutions.length-1;b=f.resolutions[g]}}this.resolutions=f.resolutions;if(this.resolutions){a=this.resolutions.length;this.scales=new Array(a);for(e=0;e<a;e++){this.scales[e]=OpenLayers.Util.getScaleFromResolution(this.resolutions[e],this.units)}this.numZoomLevels=a}this.minResolution=b;if(b){this.maxScale=OpenLayers.Util.getScaleFromResolution(b,this.units)}this.maxResolution=c;if(c){this.minScale=OpenLayers.Util.getScaleFromResolution(c,this.units)}},resolutionsFromScales:function(d){if(d==null){return}var b,c,a;a=d.length;b=new Array(a);for(c=0;c<a;c++){b[c]=OpenLayers.Util.getResolutionFromScale(d[c],this.units)}return b},calculateResolutions:function(k){var m=k.maxResolution;if(k.minScale!=null){m=OpenLayers.Util.getResolutionFromScale(k.minScale,this.units)}else{if(m=="auto"&&this.maxExtent!=null){var l=this.map.getSize();var j=this.maxExtent.getWidth()/l.w;var g=this.maxExtent.getHeight()/l.h;m=Math.max(j,g)}}var f=k.minResolution;if(k.maxScale!=null){f=OpenLayers.Util.getResolutionFromScale(k.maxScale,this.units)}else{if(k.minResolution=="auto"&&this.minExtent!=null){var l=this.map.getSize();var j=this.minExtent.getWidth()/l.w;var g=this.minExtent.getHeight()/l.h;f=Math.max(j,g)}}var a=k.maxZoomLevel;var b=k.numZoomLevels;if(typeof f==="number"&&typeof m==="number"&&b===undefined){var h=m/f;b=Math.floor(Math.log(h)/Math.log(2))+1}else{if(b===undefined&&a!=null){b=a+1}}if(typeof b!=="number"||b<=0||(typeof m!=="number"&&typeof f!=="number")){return}var d=new Array(b);var c=2;if(typeof f=="number"&&typeof m=="number"){c=Math.pow((m/f),(1/(b-1)))}var e;if(typeof m==="number"){for(e=0;e<b;e++){d[e]=m/Math.pow(c,e)}}else{for(e=0;e<b;e++){d[b-1-e]=f*Math.pow(c,e)}}return d},getResolution:function(){var a=this.map.getZoom();return this.getResolutionForZoom(a)},getExtent:function(){return this.map.calculateBounds()},getZoomForExtent:function(b,c){var d=this.map.getSize();var a=Math.max(b.getWidth()/d.w,b.getHeight()/d.h);return this.getZoomForResolution(a,c)},getDataExtent:function(){},getResolutionForZoom:function(c){c=Math.max(0,Math.min(c,this.resolutions.length-1));var b;if(this.map.fractionalZoom){var a=Math.floor(c);var d=Math.ceil(c);b=this.resolutions[a]-((c-a)*(this.resolutions[a]-this.resolutions[d]))}else{b=this.resolutions[Math.round(c)]}return b},getZoomForResolution:function(e,a){var n;if(this.map.fractionalZoom){var k=0;var c=this.resolutions.length-1;var d=this.resolutions[k];var b=this.resolutions[c];var j;for(var f=0,g=this.resolutions.length;f<g;++f){j=this.resolutions[f];if(j>=e){d=j;k=f}if(j<=e){b=j;c=f;break}}var h=d-b;if(h>0){n=k+((d-e)/h)}else{n=k}}else{var l;var m=Number.POSITIVE_INFINITY;for(var f=0,g=this.resolutions.length;f<g;f++){if(a){l=Math.abs(this.resolutions[f]-e);if(l>m){break}m=l}else{if(this.resolutions[f]<e){break}}}n=Math.max(0,f-1)}return n},getLonLatFromViewPortPx:function(b){var e=null;if(b!=null){var d=this.map.getSize();var a=this.map.getCenter();if(a){var c=this.map.getResolution();var g=b.x-(d.w/2);var f=b.y-(d.h/2);e=new OpenLayers.LonLat(a.lon+g*c,a.lat-f*c);if(this.wrapDateLine){e=e.wrapDateLine(this.maxExtent)}}}return e},getViewPortPxFromLonLat:function(d){var b=null;if(d!=null){var a=this.map.getResolution();var c=this.map.getExtent();b=new OpenLayers.Pixel((1/a*(d.lon-c.left)),(1/a*(c.top-d.lat)))}return b},setOpacity:function(b){if(b!=this.opacity){this.opacity=b;for(var d=0,a=this.div.childNodes.length;d<a;++d){var c=this.div.childNodes[d].firstChild;OpenLayers.Util.modifyDOMElement(c,null,null,null,null,null,null,b)}if(this.map!=null){this.map.events.triggerEvent("changelayer",{layer:this,property:"opacity"})}}},getZIndex:function(){return this.div.style.zIndex},setZIndex:function(a){this.div.style.zIndex=a},adjustBounds:function(b){if(this.gutter){var a=this.gutter*this.map.getResolution();b=new OpenLayers.Bounds(b.left-a,b.bottom-a,b.right+a,b.top+a)}if(this.wrapDateLine){var c={rightTolerance:this.getResolution()};b=b.wrapDateLine(this.maxExtent,c)}return b},CLASS_NAME:"OpenLayers.Layer"});OpenLayers.Control.DragPan=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_TOOL,panned:false,interval:25,documentDrag:false,draw:function(){this.handler=new OpenLayers.Handler.Drag(this,{move:this.panMap,done:this.panMapDone},{interval:this.interval,documentDrag:this.documentDrag})},panMap:function(a){this.panned=true;this.map.pan(this.handler.last.x-a.x,this.handler.last.y-a.y,{dragging:this.handler.dragging,animate:false})},panMapDone:function(a){if(this.panned){this.panMap(a);this.panned=false}},CLASS_NAME:"OpenLayers.Control.DragPan"});OpenLayers.State={UNKNOWN:"Unknown",INSERT:"Insert",UPDATE:"Update",DELETE:"Delete"};OpenLayers.Feature.Vector=OpenLayers.Class(OpenLayers.Feature,{fid:null,geometry:null,attributes:null,bounds:null,state:null,style:null,url:null,renderIntent:"default",initialize:function(c,a,b){OpenLayers.Feature.prototype.initialize.apply(this,[null,null,a]);this.lonlat=null;this.geometry=c?c:null;this.state=null;this.attributes={};if(a){this.attributes=OpenLayers.Util.extend(this.attributes,a)}this.style=b?b:null},destroy:function(){if(this.layer){this.layer.removeFeatures(this);this.layer=null}this.geometry=null;OpenLayers.Feature.prototype.destroy.apply(this,arguments)},clone:function(){return new OpenLayers.Feature.Vector(this.geometry?this.geometry.clone():null,this.attributes,this.style)},onScreen:function(d){var c=false;if(this.layer&&this.layer.map){var a=this.layer.map.getExtent();if(d){var b=this.geometry.getBounds();c=a.intersectsBounds(b)}else{var e=a.toGeometry();c=e.intersects(this.geometry)}}return c},getVisibility:function(){return !(this.style&&this.style.display=="none"||!this.layer||this.layer&&this.layer.styleMap&&this.layer.styleMap.createSymbolizer(this,this.renderIntent).display=="none"||this.layer&&!this.layer.getVisibility())},createMarker:function(){return null},destroyMarker:function(){},createPopup:function(){return null},atPoint:function(b,d,c){var a=false;if(this.geometry){a=this.geometry.atPoint(b,d,c)}return a},destroyPopup:function(){},move:function(a){if(!this.layer||!this.geometry.move){return}var b;if(a.CLASS_NAME=="OpenLayers.LonLat"){b=this.layer.getViewPortPxFromLonLat(a)}else{b=a}var d=this.layer.getViewPortPxFromLonLat(this.geometry.getBounds().getCenterLonLat());var c=this.layer.map.getResolution();this.geometry.move(c*(b.x-d.x),c*(d.y-b.y));this.layer.drawFeature(this);return d},toState:function(a){if(a==OpenLayers.State.UPDATE){switch(this.state){case OpenLayers.State.UNKNOWN:case OpenLayers.State.DELETE:this.state=a;break;case OpenLayers.State.UPDATE:case OpenLayers.State.INSERT:break}}else{if(a==OpenLayers.State.INSERT){switch(this.state){case OpenLayers.State.UNKNOWN:break;default:this.state=a;break}}else{if(a==OpenLayers.State.DELETE){switch(this.state){case OpenLayers.State.INSERT:break;case OpenLayers.State.DELETE:break;case OpenLayers.State.UNKNOWN:case OpenLayers.State.UPDATE:this.state=a;break}}else{if(a==OpenLayers.State.UNKNOWN){this.state=a}}}}},CLASS_NAME:"OpenLayers.Feature.Vector"});OpenLayers.Feature.Vector.style={"default":{fillColor:"#ee9900",fillOpacity:0.4,hoverFillColor:"white",hoverFillOpacity:0.8,strokeColor:"#ee9900",strokeOpacity:1,strokeWidth:1,strokeLinecap:"round",strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:0.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"inherit"},select:{fillColor:"blue",fillOpacity:0.4,hoverFillColor:"white",hoverFillOpacity:0.8,strokeColor:"blue",strokeOpacity:1,strokeWidth:2,strokeLinecap:"round",strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:0.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"pointer"},temporary:{fillColor:"#66cccc",fillOpacity:0.2,hoverFillColor:"white",hoverFillOpacity:0.8,strokeColor:"#66cccc",strokeOpacity:1,strokeLinecap:"round",strokeWidth:2,strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:0.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"inherit"},"delete":{display:"none"}};OpenLayers.Handler.Box=OpenLayers.Class(OpenLayers.Handler,{dragHandler:null,boxDivClassName:"olHandlerBoxZoomBox",boxCharacteristics:null,initialize:function(c,b,a){OpenLayers.Handler.prototype.initialize.apply(this,arguments);var b={down:this.startBox,move:this.moveBox,out:this.removeBox,up:this.endBox};this.dragHandler=new OpenLayers.Handler.Drag(this,b,{keyMask:this.keyMask})},destroy:function(){if(this.dragHandler){this.dragHandler.destroy();this.dragHandler=null}OpenLayers.Handler.prototype.destroy.apply(this,arguments)},setMap:function(a){OpenLayers.Handler.prototype.setMap.apply(this,arguments);if(this.dragHandler){this.dragHandler.setMap(a)}},startBox:function(a){this.zoomBox=OpenLayers.Util.createDiv("zoomBox",this.dragHandler.start);this.zoomBox.className=this.boxDivClassName;this.zoomBox.style.zIndex=this.map.Z_INDEX_BASE.Popup-1;this.map.viewPortDiv.appendChild(this.zoomBox);OpenLayers.Element.addClass(this.map.viewPortDiv,"olDrawBox")},moveBox:function(f){var d=this.dragHandler.start.x;var b=this.dragHandler.start.y;var c=Math.abs(d-f.x);var a=Math.abs(b-f.y);this.zoomBox.style.width=Math.max(1,c)+"px";this.zoomBox.style.height=Math.max(1,a)+"px";this.zoomBox.style.left=f.x<d?f.x+"px":d+"px";this.zoomBox.style.top=f.y<b?f.y+"px":b+"px";var e=this.getBoxCharacteristics();if(e.newBoxModel){if(f.x>d){this.zoomBox.style.width=Math.max(1,c-e.xOffset)+"px"}if(f.y>b){this.zoomBox.style.height=Math.max(1,a-e.yOffset)+"px"}}},endBox:function(b){var a;if(Math.abs(this.dragHandler.start.x-b.x)>5||Math.abs(this.dragHandler.start.y-b.y)>5){var g=this.dragHandler.start;var f=Math.min(g.y,b.y);var c=Math.max(g.y,b.y);var e=Math.min(g.x,b.x);var d=Math.max(g.x,b.x);a=new OpenLayers.Bounds(e,c,d,f)}else{a=this.dragHandler.start.clone()}this.removeBox();this.callback("done",[a])},removeBox:function(){this.map.viewPortDiv.removeChild(this.zoomBox);this.zoomBox=null;this.boxCharacteristics=null;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDrawBox")},activate:function(){if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){this.dragHandler.activate();return true}else{return false}},deactivate:function(){if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){this.dragHandler.deactivate();return true}else{return false}},getBoxCharacteristics:function(){if(!this.boxCharacteristics){var a=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-left-width"))+parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-right-width"))+1;var c=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-top-width"))+parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-bottom-width"))+1;var b=OpenLayers.Util.getBrowserName()=="msie"?document.compatMode!="BackCompat":true;this.boxCharacteristics={xOffset:a,yOffset:c,newBoxModel:b}}return this.boxCharacteristics},CLASS_NAME:"OpenLayers.Handler.Box"});OpenLayers.Layer.HTTPRequest=OpenLayers.Class(OpenLayers.Layer,{URL_HASH_FACTOR:(Math.sqrt(5)-1)/2,url:null,params:null,reproject:false,initialize:function(d,c,e,b){var a=arguments;a=[d,b];OpenLayers.Layer.prototype.initialize.apply(this,a);this.url=c;this.params=OpenLayers.Util.extend({},e)},destroy:function(){this.url=null;this.params=null;OpenLayers.Layer.prototype.destroy.apply(this,arguments)},clone:function(a){if(a==null){a=new OpenLayers.Layer.HTTPRequest(this.name,this.url,this.params,this.getOptions())}a=OpenLayers.Layer.prototype.clone.apply(this,[a]);return a},setUrl:function(a){this.url=a},mergeNewParams:function(b){this.params=OpenLayers.Util.extend(this.params,b);var a=this.redraw();if(this.map!=null){this.map.events.triggerEvent("changelayer",{layer:this,property:"params"})}return a},redraw:function(a){if(a){return this.mergeNewParams({_olSalt:Math.random()})}else{return OpenLayers.Layer.prototype.redraw.apply(this,[])}},selectUrl:function(e,d){var c=1;for(var b=0,a=e.length;b<a;b++){c*=e.charCodeAt(b)*this.URL_HASH_FACTOR;c-=Math.floor(c)}return d[Math.floor(c*d.length)]},getFullRequestString:function(g,d){var b=d||this.url;var f=OpenLayers.Util.extend({},this.params);f=OpenLayers.Util.extend(f,g);var e=OpenLayers.Util.getParameterString(f);if(b instanceof Array){b=this.selectUrl(e,b)}var a=OpenLayers.Util.upperCaseObject(OpenLayers.Util.getParameters(b));for(var c in f){if(c.toUpperCase() in a){delete f[c]}}e=OpenLayers.Util.getParameterString(f);return OpenLayers.Util.urlAppend(b,e)},CLASS_NAME:"OpenLayers.Layer.HTTPRequest"});OpenLayers.Layer.Markers=OpenLayers.Class(OpenLayers.Layer,{isBaseLayer:false,markers:null,drawn:false,initialize:function(b,a){OpenLayers.Layer.prototype.initialize.apply(this,arguments);this.markers=[]},destroy:function(){this.clearMarkers();this.markers=null;OpenLayers.Layer.prototype.destroy.apply(this,arguments)},setOpacity:function(b){if(b!=this.opacity){this.opacity=b;for(var c=0,a=this.markers.length;c<a;c++){this.markers[c].setOpacity(this.opacity)}}},moveTo:function(d,b,e){OpenLayers.Layer.prototype.moveTo.apply(this,arguments);if(b||!this.drawn){for(var c=0,a=this.markers.length;c<a;c++){this.drawMarker(this.markers[c])}this.drawn=true}},addMarker:function(a){this.markers.push(a);if(this.opacity!=null){a.setOpacity(this.opacity)}if(this.map&&this.map.getExtent()){a.map=this.map;this.drawMarker(a)}},removeMarker:function(a){if(this.markers&&this.markers.length){OpenLayers.Util.removeItem(this.markers,a);a.erase()}},clearMarkers:function(){if(this.markers!=null){while(this.markers.length>0){this.removeMarker(this.markers[0])}}},drawMarker:function(a){var b=this.map.getLayerPxFromLonLat(a.lonlat);if(b==null){a.display(false)}else{if(!a.isDrawn()){var c=a.draw(b);this.div.appendChild(c)}else{if(a.icon){a.icon.moveTo(b)}}}},getDataExtent:function(){var b=null;if(this.markers&&(this.markers.length>0)){var b=new OpenLayers.Bounds();for(var d=0,a=this.markers.length;d<a;d++){var c=this.markers[d];b.extend(c.lonlat)}}return b},CLASS_NAME:"OpenLayers.Layer.Markers"});OpenLayers.Control.ZoomBox=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_TOOL,out:false,alwaysZoom:false,draw:function(){this.handler=new OpenLayers.Handler.Box(this,{done:this.zoomBox},{keyMask:this.keyMask})},zoomBox:function(h){if(h instanceof OpenLayers.Bounds){var b;if(!this.out){var i=this.map.getLonLatFromPixel(new OpenLayers.Pixel(h.left,h.bottom));var m=this.map.getLonLatFromPixel(new OpenLayers.Pixel(h.right,h.top));b=new OpenLayers.Bounds(i.lon,i.lat,m.lon,m.lat)}else{var g=Math.abs(h.right-h.left);var j=Math.abs(h.top-h.bottom);var e=Math.min((this.map.size.h/j),(this.map.size.w/g));var n=this.map.getExtent();var a=this.map.getLonLatFromPixel(h.getCenterPixel());var c=a.lon-(n.getWidth()/2)*e;var f=a.lon+(n.getWidth()/2)*e;var l=a.lat-(n.getHeight()/2)*e;var d=a.lat+(n.getHeight()/2)*e;b=new OpenLayers.Bounds(c,l,f,d)}var k=this.map.getZoom();this.map.zoomToExtent(b);if(k==this.map.getZoom()&&this.alwaysZoom==true){this.map.zoomTo(k+(this.out?-1:1))}}else{if(!this.out){this.map.setCenter(this.map.getLonLatFromPixel(h),this.map.getZoom()+1)}else{this.map.setCenter(this.map.getLonLatFromPixel(h),this.map.getZoom()-1)}}},CLASS_NAME:"OpenLayers.Control.ZoomBox"});OpenLayers.Format.WKT=OpenLayers.Class(OpenLayers.Format,{initialize:function(a){this.regExes={typeStr:/^\s*(\w+)\s*\(\s*(.*)\s*\)\s*$/,spaces:/\s+/,parenComma:/\)\s*,\s*\(/,doubleParenComma:/\)\s*\)\s*,\s*\(\s*\(/,trimParens:/^\s*\(?(.*?)\)?\s*$/};OpenLayers.Format.prototype.initialize.apply(this,[a])},read:function(f){var e,d,h;var g=this.regExes.typeStr.exec(f);if(g){d=g[1].toLowerCase();h=g[2];if(this.parse[d]){e=this.parse[d].apply(this,[h])}if(this.internalProjection&&this.externalProjection){if(e&&e.CLASS_NAME=="OpenLayers.Feature.Vector"){e.geometry.transform(this.externalProjection,this.internalProjection)}else{if(e&&d!="geometrycollection"&&typeof e=="object"){for(var c=0,a=e.length;c<a;c++){var b=e[c];b.geometry.transform(this.externalProjection,this.internalProjection)}}}}}return e},write:function(a){var f,j,h,d,b;if(a.constructor==Array){f=a;b=true}else{f=[a];b=false}var c=[];if(b){c.push("GEOMETRYCOLLECTION(")}for(var e=0,g=f.length;e<g;++e){if(b&&e>0){c.push(",")}j=f[e].geometry;h=j.CLASS_NAME.split(".")[2].toLowerCase();if(!this.extract[h]){return null}if(this.internalProjection&&this.externalProjection){j=j.clone();j.transform(this.internalProjection,this.externalProjection)}d=this.extract[h].apply(this,[j]);c.push(h.toUpperCase()+"("+d+")")}if(b){c.push(")")}return c.join("")},extract:{point:function(a){return a.x+" "+a.y},multipoint:function(c){var d=[];for(var b=0,a=c.components.length;b<a;++b){d.push("("+this.extract.point.apply(this,[c.components[b]])+")")}return d.join(",")},linestring:function(b){var d=[];for(var c=0,a=b.components.length;c<a;++c){d.push(this.extract.point.apply(this,[b.components[c]]))}return d.join(",")},multilinestring:function(c){var d=[];for(var b=0,a=c.components.length;b<a;++b){d.push("("+this.extract.linestring.apply(this,[c.components[b]])+")")}return d.join(",")},polygon:function(c){var d=[];for(var b=0,a=c.components.length;b<a;++b){d.push("("+this.extract.linestring.apply(this,[c.components[b]])+")")}return d.join(",")},multipolygon:function(d){var c=[];for(var b=0,a=d.components.length;b<a;++b){c.push("("+this.extract.polygon.apply(this,[d.components[b]])+")")}return c.join(",")}},parse:{point:function(b){var a=OpenLayers.String.trim(b).split(this.regExes.spaces);return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(a[0],a[1]))},multipoint:function(f){var b;var d=OpenLayers.String.trim(f).split(this.regExes.parenComma);var e=[];for(var c=0,a=d.length;c<a;++c){b=d[c].replace(this.regExes.trimParens,"$1");e.push(this.parse.point.apply(this,[b]).geometry)}return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.MultiPoint(e))},linestring:function(e){var c=OpenLayers.String.trim(e).split(",");var d=[];for(var b=0,a=c.length;b<a;++b){d.push(this.parse.point.apply(this,[c[b]]).geometry)}return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.LineString(d))},multilinestring:function(f){var c;var b=OpenLayers.String.trim(f).split(this.regExes.parenComma);var e=[];for(var d=0,a=b.length;d<a;++d){c=b[d].replace(this.regExes.trimParens,"$1");e.push(this.parse.linestring.apply(this,[c]).geometry)}return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.MultiLineString(e))},polygon:function(h){var c,b,f;var g=OpenLayers.String.trim(h).split(this.regExes.parenComma);var e=[];for(var d=0,a=g.length;d<a;++d){c=g[d].replace(this.regExes.trimParens,"$1");b=this.parse.linestring.apply(this,[c]).geometry;f=new OpenLayers.Geometry.LinearRing(b.components);e.push(f)}return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Polygon(e))},multipolygon:function(f){var d;var b=OpenLayers.String.trim(f).split(this.regExes.doubleParenComma);var e=[];for(var c=0,a=b.length;c<a;++c){d=b[c].replace(this.regExes.trimParens,"$1");e.push(this.parse.polygon.apply(this,[d]).geometry)}return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.MultiPolygon(e))},geometrycollection:function(e){e=e.replace(/,\s*([A-Za-z])/g,"|$1");var d=OpenLayers.String.trim(e).split("|");var c=[];for(var b=0,a=d.length;b<a;++b){c.push(OpenLayers.Format.WKT.prototype.read.apply(this,[d[b]]))}return c}},CLASS_NAME:"OpenLayers.Format.WKT"});OpenLayers.Layer.Grid=OpenLayers.Class(OpenLayers.Layer.HTTPRequest,{tileSize:null,grid:null,singleTile:false,ratio:1.5,buffer:2,numLoadingTiles:0,initialize:function(c,b,d,a){OpenLayers.Layer.HTTPRequest.prototype.initialize.apply(this,arguments);this.events.addEventType("tileloaded");this.grid=[]},destroy:function(){this.clearGrid();this.grid=null;this.tileSize=null;OpenLayers.Layer.HTTPRequest.prototype.destroy.apply(this,arguments)},clearGrid:function(){if(this.grid){for(var f=0,b=this.grid.length;f<b;f++){var e=this.grid[f];for(var c=0,a=e.length;c<a;c++){var d=e[c];this.removeTileMonitoringHooks(d);d.destroy()}}this.grid=[]}},clone:function(a){if(a==null){a=new OpenLayers.Layer.Grid(this.name,this.url,this.params,this.getOptions())}a=OpenLayers.Layer.HTTPRequest.prototype.clone.apply(this,[a]);if(this.tileSize!=null){a.tileSize=this.tileSize.clone()}a.grid=[];return a},moveTo:function(d,a,e){OpenLayers.Layer.HTTPRequest.prototype.moveTo.apply(this,arguments);d=d||this.map.getExtent();if(d!=null){var c=!this.grid.length||a;var b=this.getTilesBounds();if(this.singleTile){if(c||(!e&&!b.containsBounds(d))){this.initSingleTile(d)}}else{if(c||!b.containsBounds(d,true)){this.initGriddedTiles(d)}else{this.moveGriddedTiles(d)}}}},setTileSize:function(a){if(this.singleTile){a=this.map.getSize();a.h=parseInt(a.h*this.ratio);a.w=parseInt(a.w*this.ratio)}OpenLayers.Layer.HTTPRequest.prototype.setTileSize.apply(this,[a])},getGridBounds:function(){var a="The getGridBounds() function is deprecated. It will be removed in 3.0. Please use getTilesBounds() instead.";OpenLayers.Console.warn(a);return this.getTilesBounds()},getTilesBounds:function(){var e=null;if(this.grid.length){var a=this.grid.length-1;var d=this.grid[a][0];var b=this.grid[0].length-1;var c=this.grid[0][b];e=new OpenLayers.Bounds(d.bounds.left,d.bounds.bottom,c.bounds.right,c.bounds.top)}return e},initSingleTile:function(f){var a=f.getCenterLonLat();var h=f.getWidth()*this.ratio;var b=f.getHeight()*this.ratio;var g=new OpenLayers.Bounds(a.lon-(h/2),a.lat-(b/2),a.lon+(h/2),a.lat+(b/2));var d=new OpenLayers.LonLat(g.left,g.top);var c=this.map.getLayerPxFromLonLat(d);if(!this.grid.length){this.grid[0]=[]}var e=this.grid[0][0];if(!e){e=this.addTile(g,c);this.addTileMonitoringHooks(e);e.draw();this.grid[0][0]=e}else{e.moveTo(g,c)}this.removeExcessTiles(1,1)},calculateGridLayout:function(a,o,e){var k=e*this.tileSize.w;var c=e*this.tileSize.h;var i=a.left-o.left;var l=Math.floor(i/k)-this.buffer;var j=i/k-l;var f=-j*this.tileSize.w;var m=o.left+l*k;var b=a.top-(o.bottom+c);var h=Math.ceil(b/c)+this.buffer;var n=h-b/c;var d=-n*this.tileSize.h;var g=o.bottom+h*c;return{tilelon:k,tilelat:c,tileoffsetlon:m,tileoffsetlat:g,tileoffsetx:f,tileoffsety:d}},initGriddedTiles:function(i){var g=this.map.getSize();var v=Math.ceil(g.h/this.tileSize.h)+Math.max(1,2*this.buffer);var z=Math.ceil(g.w/this.tileSize.w)+Math.max(1,2*this.buffer);var o=this.getMaxExtent();var r=this.map.getResolution();var q=this.calculateGridLayout(i,o,r);var f=Math.round(q.tileoffsetx);var c=Math.round(q.tileoffsety);var k=q.tileoffsetlon;var n=q.tileoffsetlat;var e=q.tilelon;var j=q.tilelat;this.origin=new OpenLayers.Pixel(f,c);var u=f;var w=k;var t=0;var a=parseInt(this.map.layerContainerDiv.style.left);var s=parseInt(this.map.layerContainerDiv.style.top);do{var h=this.grid[t++];if(!h){h=[];this.grid.push(h)}k=w;f=u;var d=0;do{var b=new OpenLayers.Bounds(k,n,k+e,n+j);var m=f;m-=a;var l=c;l-=s;var p=new OpenLayers.Pixel(m,l);var A=h[d++];if(!A){A=this.addTile(b,p);this.addTileMonitoringHooks(A);h.push(A)}else{A.moveTo(b,p,false)}k+=e;f+=this.tileSize.w}while((k<=i.right+e*this.buffer)||d<z);n-=j;c+=this.tileSize.h}while((n>=i.bottom-j*this.buffer)||t<v);this.removeExcessTiles(t,d);this.spiralTileLoad()},getMaxExtent:function(){return this.maxExtent},spiralTileLoad:function(){var b=[];var h=["right","down","left","up"];var g=0;var a=-1;var k=OpenLayers.Util.indexOf(h,"right");var l=0;while(l<h.length){var j=g;var c=a;switch(h[k]){case"right":c++;break;case"down":j++;break;case"left":c--;break;case"up":j--;break}var f=null;if((j<this.grid.length)&&(j>=0)&&(c<this.grid[0].length)&&(c>=0)){f=this.grid[j][c]}if((f!=null)&&(!f.queued)){b.unshift(f);f.queued=true;l=0;g=j;a=c}else{k=(k+1)%4;l++}}for(var d=0,e=b.length;d<e;d++){var f=b[d];f.draw();f.queued=false}},addTile:function(b,a){},addTileMonitoringHooks:function(a){a.onLoadStart=function(){if(this.numLoadingTiles==0){this.events.triggerEvent("loadstart")}this.numLoadingTiles++};a.events.register("loadstart",this,a.onLoadStart);a.onLoadEnd=function(){this.numLoadingTiles--;this.events.triggerEvent("tileloaded");if(this.numLoadingTiles==0){this.events.triggerEvent("loadend")}};a.events.register("loadend",this,a.onLoadEnd);a.events.register("unload",this,a.onLoadEnd)},removeTileMonitoringHooks:function(a){a.unload();a.events.un({loadstart:a.onLoadStart,loadend:a.onLoadEnd,unload:a.onLoadEnd,scope:this})},moveGriddedTiles:function(c){var b=this.buffer||1;while(true){var a=this.grid[0][0].position;var d=this.map.getViewPortPxFromLayerPx(a);if(d.x>-this.tileSize.w*(b-1)){this.shiftColumn(true)}else{if(d.x<-this.tileSize.w*b){this.shiftColumn(false)}else{if(d.y>-this.tileSize.h*(b-1)){this.shiftRow(true)}else{if(d.y<-this.tileSize.h*b){this.shiftRow(false)}else{break}}}}}},shiftRow:function(n){var c=(n)?0:(this.grid.length-1);var b=this.grid;var f=b[c];var e=this.map.getResolution();var h=(n)?-this.tileSize.h:this.tileSize.h;var g=e*-h;var m=(n)?b.pop():b.shift();for(var j=0,l=f.length;j<l;j++){var d=f[j];var a=d.bounds.clone();var k=d.position.clone();a.bottom=a.bottom+g;a.top=a.top+g;k.y=k.y+h;m[j].moveTo(a,k)}if(n){b.unshift(m)}else{b.push(m)}},shiftColumn:function(m){var d=(m)?-this.tileSize.w:this.tileSize.w;var c=this.map.getResolution();var k=c*d;for(var e=0,g=this.grid.length;e<g;e++){var l=this.grid[e];var j=(m)?0:(l.length-1);var b=l[j];var a=b.bounds.clone();var f=b.position.clone();a.left=a.left+k;a.right=a.right+k;f.x=f.x+d;var h=m?this.grid[e].pop():this.grid[e].shift();h.moveTo(a,f);if(m){l.unshift(h)}else{l.push(h)}}},removeExcessTiles:function(e,c){while(this.grid.length>e){var f=this.grid.pop();for(var b=0,a=f.length;b<a;b++){var d=f[b];this.removeTileMonitoringHooks(d);d.destroy()}}while(this.grid[0].length>c){for(var b=0,a=this.grid.length;b<a;b++){var f=this.grid[b];var d=f.pop();this.removeTileMonitoringHooks(d);d.destroy()}}},onMapResize:function(){if(this.singleTile){this.clearGrid();this.setTileSize()}},getTileBounds:function(d){var c=this.maxExtent;var f=this.getResolution();var e=f*this.tileSize.w;var b=f*this.tileSize.h;var h=this.getLonLatFromViewPortPx(d);var a=c.left+(e*Math.floor((h.lon-c.left)/e));var g=c.bottom+(b*Math.floor((h.lat-c.bottom)/b));return new OpenLayers.Bounds(a,g,a+e,g+b)},CLASS_NAME:"OpenLayers.Layer.Grid"});OpenLayers.Control.Navigation=OpenLayers.Class(OpenLayers.Control,{dragPan:null,dragPanOptions:null,documentDrag:false,zoomBox:null,zoomBoxEnabled:true,zoomWheelEnabled:true,mouseWheelOptions:null,handleRightClicks:false,zoomBoxKeyMask:OpenLayers.Handler.MOD_SHIFT,autoActivate:true,initialize:function(a){this.handlers={};OpenLayers.Control.prototype.initialize.apply(this,arguments)},destroy:function(){this.deactivate();if(this.dragPan){this.dragPan.destroy()}this.dragPan=null;if(this.zoomBox){this.zoomBox.destroy()}this.zoomBox=null;OpenLayers.Control.prototype.destroy.apply(this,arguments)},activate:function(){this.dragPan.activate();if(this.zoomWheelEnabled){this.handlers.wheel.activate()}this.handlers.click.activate();if(this.zoomBoxEnabled){this.zoomBox.activate()}return OpenLayers.Control.prototype.activate.apply(this,arguments)},deactivate:function(){this.zoomBox.deactivate();this.dragPan.deactivate();this.handlers.click.deactivate();this.handlers.wheel.deactivate();return OpenLayers.Control.prototype.deactivate.apply(this,arguments)},draw:function(){if(this.handleRightClicks){this.map.viewPortDiv.oncontextmenu=OpenLayers.Function.False}var a={dblclick:this.defaultDblClick,dblrightclick:this.defaultDblRightClick};var b={"double":true,stopDouble:true};this.handlers.click=new OpenLayers.Handler.Click(this,a,b);this.dragPan=new OpenLayers.Control.DragPan(OpenLayers.Util.extend({map:this.map,documentDrag:this.documentDrag},this.dragPanOptions));this.zoomBox=new OpenLayers.Control.ZoomBox({map:this.map,keyMask:this.zoomBoxKeyMask});this.dragPan.draw();this.zoomBox.draw();this.handlers.wheel=new OpenLayers.Handler.MouseWheel(this,{up:this.wheelUp,down:this.wheelDown},this.mouseWheelOptions)},defaultDblClick:function(b){var a=this.map.getLonLatFromViewPortPx(b.xy);this.map.setCenter(a,this.map.zoom+1)},defaultDblRightClick:function(b){var a=this.map.getLonLatFromViewPortPx(b.xy);this.map.setCenter(a,this.map.zoom-1)},wheelChange:function(i,c){var h=this.map.getZoom();var f=this.map.getZoom()+Math.round(c);f=Math.max(f,0);f=Math.min(f,this.map.getNumZoomLevels());if(f===h){return}var j=this.map.getSize();var e=j.w/2-i.xy.x;var d=i.xy.y-j.h/2;var g=this.map.baseLayer.getResolutionForZoom(f);var a=this.map.getLonLatFromPixel(i.xy);var b=new OpenLayers.LonLat(a.lon+e*g,a.lat+d*g);this.map.setCenter(b,f)},wheelUp:function(a,b){this.wheelChange(a,b||1)},wheelDown:function(a,b){this.wheelChange(a,b||-1)},disableZoomBox:function(){this.zoomBoxEnabled=false;this.zoomBox.deactivate()},enableZoomBox:function(){this.zoomBoxEnabled=true;if(this.active){this.zoomBox.activate()}},disableZoomWheel:function(){this.zoomWheelEnabled=false;this.handlers.wheel.deactivate()},enableZoomWheel:function(){this.zoomWheelEnabled=true;if(this.active){this.handlers.wheel.activate()}},CLASS_NAME:"OpenLayers.Control.Navigation"});OpenLayers.Geometry=OpenLayers.Class({id:null,parent:null,bounds:null,initialize:function(){this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},destroy:function(){this.id=null;this.bounds=null},clone:function(){return new OpenLayers.Geometry()},setBounds:function(a){if(a){this.bounds=a.clone()}},clearBounds:function(){this.bounds=null;if(this.parent){this.parent.clearBounds()}},extendBounds:function(b){var a=this.getBounds();if(!a){this.setBounds(b)}else{this.bounds.extend(b)}},getBounds:function(){if(this.bounds==null){this.calculateBounds()}return this.bounds},calculateBounds:function(){},distanceTo:function(b,a){},getVertices:function(a){},atPoint:function(e,h,f){var c=false;var d=this.getBounds();if((d!=null)&&(e!=null)){var b=(h!=null)?h:0;var a=(f!=null)?f:0;var g=new OpenLayers.Bounds(this.bounds.left-b,this.bounds.bottom-a,this.bounds.right+b,this.bounds.top+a);c=g.containsLonLat(e)}return c},getLength:function(){return 0},getArea:function(){return 0},getCentroid:function(){return null},toString:function(){return OpenLayers.Format.WKT.prototype.write(new OpenLayers.Feature.Vector(this))},CLASS_NAME:"OpenLayers.Geometry"});OpenLayers.Geometry.fromWKT=function(f){var g=arguments.callee.format;if(!g){g=new OpenLayers.Format.WKT();arguments.callee.format=g}var d;var b=g.read(f);if(b instanceof OpenLayers.Feature.Vector){d=b.geometry}else{if(b instanceof Array){var a=b.length;var e=new Array(a);for(var c=0;c<a;++c){e[c]=b[c].geometry}d=new OpenLayers.Geometry.Collection(e)}}return d};OpenLayers.Geometry.segmentsIntersect=function(a,H,b){var s=b&&b.point;var z=b&&b.tolerance;var f=false;var B=a.x1-H.x1;var F=a.y1-H.y1;var o=a.x2-a.x1;var w=a.y2-a.y1;var t=H.y2-H.y1;var l=H.x2-H.x1;var D=(t*o)-(l*w);var e=(l*F)-(t*B);var c=(o*F)-(w*B);if(D==0){if(e==0&&c==0){f=true}}else{var E=e/D;var C=c/D;if(E>=0&&E<=1&&C>=0&&C<=1){if(!s){f=true}else{var h=a.x1+(E*o);var g=a.y1+(E*w);f=new OpenLayers.Geometry.Point(h,g)}}}if(z){var r;if(f){if(s){var n=[a,H];var A,h,g;outer:for(var v=0;v<2;++v){A=n[v];for(var u=1;u<3;++u){h=A["x"+u];g=A["y"+u];r=Math.sqrt(Math.pow(h-f.x,2)+Math.pow(g-f.y,2));if(r<z){f.x=h;f.y=g;break outer}}}}}else{var n=[a,H];var q,G,h,g,m,k;outer:for(var v=0;v<2;++v){q=n[v];G=n[(v+1)%2];for(var u=1;u<3;++u){m={x:q["x"+u],y:q["y"+u]};k=OpenLayers.Geometry.distanceToSegment(m,G);if(k.distance<z){if(s){f=new OpenLayers.Geometry.Point(m.x,m.y)}else{f=true}break outer}}}}}return f};OpenLayers.Geometry.distanceToSegment=function(k,d){var c=k.x;var j=k.y;var b=d.x1;var i=d.y1;var a=d.x2;var f=d.y2;var m=a-b;var l=f-i;var h=((m*(c-b))+(l*(j-i)))/(Math.pow(m,2)+Math.pow(l,2));var g,e;if(h<=0){g=b;e=i}else{if(h>=1){g=a;e=f}else{g=b+h*m;e=i+h*l}}return{distance:Math.sqrt(Math.pow(g-c,2)+Math.pow(e-j,2)),x:g,y:e}};OpenLayers.Layer.TMS=OpenLayers.Class(OpenLayers.Layer.Grid,{serviceVersion:"1.0.0",isBaseLayer:true,tileOrigin:null,serverResolutions:null,zoomOffset:0,initialize:function(d,c,b){var a=[];a.push(d,c,{},b);OpenLayers.Layer.Grid.prototype.initialize.apply(this,a)},destroy:function(){OpenLayers.Layer.Grid.prototype.destroy.apply(this,arguments)},clone:function(a){if(a==null){a=new OpenLayers.Layer.TMS(this.name,this.url,this.getOptions())}a=OpenLayers.Layer.Grid.prototype.clone.apply(this,[a]);return a},getURL:function(d){d=this.adjustBounds(d);var c=this.map.getResolution();var a=Math.round((d.left-this.tileOrigin.lon)/(c*this.tileSize.w));var g=Math.round((d.bottom-this.tileOrigin.lat)/(c*this.tileSize.h));var f=this.serverResolutions!=null?OpenLayers.Util.indexOf(this.serverResolutions,c):this.map.getZoom()+this.zoomOffset;var e=this.serviceVersion+"/"+this.layername+"/"+f+"/"+a+"/"+g+"."+this.type;var b=this.url;if(b instanceof Array){b=this.selectUrl(e,b)}return b+e},addTile:function(b,a){return new OpenLayers.Tile.Image(this,a,b,null,this.tileSize)},setMap:function(a){OpenLayers.Layer.Grid.prototype.setMap.apply(this,arguments);if(!this.tileOrigin){this.tileOrigin=new OpenLayers.LonLat(this.map.maxExtent.left,this.map.maxExtent.bottom)}},CLASS_NAME:"OpenLayers.Layer.TMS"});OpenLayers.Layer.WMS=OpenLayers.Class(OpenLayers.Layer.Grid,{DEFAULT_PARAMS:{service:"WMS",version:"1.1.1",request:"GetMap",styles:"",exceptions:"application/vnd.ogc.se_inimage",format:"image/jpeg"},reproject:false,isBaseLayer:true,encodeBBOX:false,noMagic:false,yx:{"EPSG:4326":true},initialize:function(d,c,e,b){var a=[];e=OpenLayers.Util.upperCaseObject(e);if(parseFloat(e.VERSION)>=1.3&&!e.EXCEPTIONS){e.EXCEPTIONS="INIMAGE"}a.push(d,c,e,b);OpenLayers.Layer.Grid.prototype.initialize.apply(this,a);OpenLayers.Util.applyDefaults(this.params,OpenLayers.Util.upperCaseObject(this.DEFAULT_PARAMS));if(!this.noMagic&&this.params.TRANSPARENT&&this.params.TRANSPARENT.toString().toLowerCase()=="true"){if((b==null)||(!b.isBaseLayer)){this.isBaseLayer=false}if(this.params.FORMAT=="image/jpeg"){this.params.FORMAT=OpenLayers.Util.alphaHack()?"image/gif":"image/png"}}},destroy:function(){OpenLayers.Layer.Grid.prototype.destroy.apply(this,arguments)},clone:function(a){if(a==null){a=new OpenLayers.Layer.WMS(this.name,this.url,this.params,this.getOptions())}a=OpenLayers.Layer.Grid.prototype.clone.apply(this,[a]);return a},reverseAxisOrder:function(){return(parseFloat(this.params.VERSION)>=1.3&&!!this.yx[this.map.getProjectionObject().getCode()])},getURL:function(c){c=this.adjustBounds(c);var d=this.getImageSize();var e={};var b=this.reverseAxisOrder();e.BBOX=this.encodeBBOX?c.toBBOX(null,b):c.toArray(b);e.WIDTH=d.w;e.HEIGHT=d.h;var a=this.getFullRequestString(e);return a},addTile:function(b,a){return new OpenLayers.Tile.Image(this,a,b,null,this.tileSize)},mergeNewParams:function(c){var b=OpenLayers.Util.upperCaseObject(c);var a=[b];return OpenLayers.Layer.Grid.prototype.mergeNewParams.apply(this,a)},getFullRequestString:function(d,b){var a=this.map.getProjection();var c=(a=="none")?null:a;if(parseFloat(this.params.VERSION)>=1.3){this.params.CRS=c}else{this.params.SRS=c}return OpenLayers.Layer.Grid.prototype.getFullRequestString.apply(this,arguments)},CLASS_NAME:"OpenLayers.Layer.WMS"});OpenLayers.Geometry.Collection=OpenLayers.Class(OpenLayers.Geometry,{components:null,componentTypes:null,initialize:function(a){OpenLayers.Geometry.prototype.initialize.apply(this,arguments);this.components=[];if(a!=null){this.addComponents(a)}},destroy:function(){this.components.length=0;this.components=null;OpenLayers.Geometry.prototype.destroy.apply(this,arguments)},clone:function(){var geometry=eval("new "+this.CLASS_NAME+"()");for(var i=0,len=this.components.length;i<len;i++){geometry.addComponent(this.components[i].clone())}OpenLayers.Util.applyDefaults(geometry,this);return geometry},getComponentsString:function(){var b=[];for(var c=0,a=this.components.length;c<a;c++){b.push(this.components[c].toShortString())}return b.join(",")},calculateBounds:function(){this.bounds=null;if(this.components&&this.components.length>0){this.setBounds(this.components[0].getBounds());for(var b=1,a=this.components.length;b<a;b++){this.extendBounds(this.components[b].getBounds())}}},addComponents:function(c){if(!(c instanceof Array)){c=[c]}for(var b=0,a=c.length;b<a;b++){this.addComponent(c[b])}},addComponent:function(b,a){var d=false;if(b){if(this.componentTypes==null||(OpenLayers.Util.indexOf(this.componentTypes,b.CLASS_NAME)>-1)){if(a!=null&&(a<this.components.length)){var e=this.components.slice(0,a);var c=this.components.slice(a,this.components.length);e.push(b);this.components=e.concat(c)}else{this.components.push(b)}b.parent=this;this.clearBounds();d=true}}return d},removeComponents:function(b){if(!(b instanceof Array)){b=[b]}for(var a=b.length-1;a>=0;--a){this.removeComponent(b[a])}},removeComponent:function(a){OpenLayers.Util.removeItem(this.components,a);this.clearBounds()},getLength:function(){var c=0;for(var b=0,a=this.components.length;b<a;b++){c+=this.components[b].getLength()}return c},getArea:function(){var c=0;for(var b=0,a=this.components.length;b<a;b++){c+=this.components[b].getArea()}return c},getGeodesicArea:function(b){var d=0;for(var c=0,a=this.components.length;c<a;c++){d+=this.components[c].getGeodesicArea(b)}return d},getCentroid:function(g){if(!g){return this.components.length&&this.components[0].getCentroid()}var l=this.components.length;if(!l){return false}var b=[];var c=[];var d=0;var h=Number.MAX_VALUE;var m;for(var k=0;k<l;++k){m=this.components[k];var e=m.getArea();var f=m.getCentroid(true);if(isNaN(e)||isNaN(f.x)||isNaN(f.y)){continue}b.push(e);d+=e;h=(e<h&&e>0)?e:h;c.push(f)}l=b.length;if(d===0){for(var k=0;k<l;++k){b[k]=1}d=b.length}else{for(var k=0;k<l;++k){b[k]/=h}d/=h}var j=0,a=0,f,e;for(var k=0;k<l;++k){f=c[k];e=b[k];j+=f.x*e;a+=f.y*e}return new OpenLayers.Geometry.Point(j/d,a/d)},getGeodesicLength:function(b){var d=0;for(var c=0,a=this.components.length;c<a;c++){d+=this.components[c].getGeodesicLength(b)}return d},move:function(b,d){for(var c=0,a=this.components.length;c<a;c++){this.components[c].move(b,d)}},rotate:function(d,b){for(var c=0,a=this.components.length;c<a;++c){this.components[c].rotate(d,b)}},resize:function(d,a,c){for(var b=0;b<this.components.length;++b){this.components[b].resize(d,a,c)}return this},distanceTo:function(h,j){var c=!(j&&j.edge===false);var a=c&&j&&j.details;var k,d,b;var e=Number.POSITIVE_INFINITY;for(var f=0,g=this.components.length;f<g;++f){k=this.components[f].distanceTo(h,j);b=a?k.distance:k;if(b<e){e=b;d=k;if(e==0){break}}}return d},equals:function(d){var b=true;if(!d||!d.CLASS_NAME||(this.CLASS_NAME!=d.CLASS_NAME)){b=false}else{if(!(d.components instanceof Array)||(d.components.length!=this.components.length)){b=false}else{for(var c=0,a=this.components.length;c<a;++c){if(!this.components[c].equals(d.components[c])){b=false;break}}}}return b},transform:function(e,c){if(e&&c){for(var d=0,a=this.components.length;d<a;d++){var b=this.components[d];b.transform(e,c)}this.bounds=null}return this},intersects:function(d){var b=false;for(var c=0,a=this.components.length;c<a;++c){b=d.intersects(this.components[c]);if(b){break}}return b},getVertices:function(b){var c=[];for(var d=0,a=this.components.length;d<a;++d){Array.prototype.push.apply(c,this.components[d].getVertices(b))}return c},CLASS_NAME:"OpenLayers.Geometry.Collection"});OpenLayers.Geometry.Point=OpenLayers.Class(OpenLayers.Geometry,{x:null,y:null,initialize:function(a,b){OpenLayers.Geometry.prototype.initialize.apply(this,arguments);this.x=parseFloat(a);this.y=parseFloat(b)},clone:function(a){if(a==null){a=new OpenLayers.Geometry.Point(this.x,this.y)}OpenLayers.Util.applyDefaults(a,this);return a},calculateBounds:function(){this.bounds=new OpenLayers.Bounds(this.x,this.y,this.x,this.y)},distanceTo:function(f,j){var d=!(j&&j.edge===false);var a=d&&j&&j.details;var b,e,h,c,g,i;if(f instanceof OpenLayers.Geometry.Point){e=this.x;h=this.y;c=f.x;g=f.y;b=Math.sqrt(Math.pow(e-c,2)+Math.pow(h-g,2));i=!a?b:{x0:e,y0:h,x1:c,y1:g,distance:b}}else{i=f.distanceTo(this,j);if(a){i={x0:i.x1,y0:i.y1,x1:i.x0,y1:i.y0,distance:i.distance}}}return i},equals:function(a){var b=false;if(a!=null){b=((this.x==a.x&&this.y==a.y)||(isNaN(this.x)&&isNaN(this.y)&&isNaN(a.x)&&isNaN(a.y)))}return b},toShortString:function(){return(this.x+", "+this.y)},move:function(a,b){this.x=this.x+a;this.y=this.y+b;this.clearBounds()},rotate:function(d,b){d*=Math.PI/180;var a=this.distanceTo(b);var c=d+Math.atan2(this.y-b.y,this.x-b.x);this.x=b.x+(a*Math.cos(c));this.y=b.y+(a*Math.sin(c));this.clearBounds()},getCentroid:function(){return new OpenLayers.Geometry.Point(this.x,this.y)},resize:function(c,a,b){b=(b==undefined)?1:b;this.x=a.x+(c*b*(this.x-a.x));this.y=a.y+(c*(this.y-a.y));this.clearBounds();return this},intersects:function(b){var a=false;if(b.CLASS_NAME=="OpenLayers.Geometry.Point"){a=this.equals(b)}else{a=b.intersects(this)}return a},transform:function(b,a){if((b&&a)){OpenLayers.Projection.transform(this,b,a);this.bounds=null}return this},getVertices:function(a){return[this]},CLASS_NAME:"OpenLayers.Geometry.Point"});OpenLayers.Geometry.MultiPoint=OpenLayers.Class(OpenLayers.Geometry.Collection,{componentTypes:["OpenLayers.Geometry.Point"],initialize:function(a){OpenLayers.Geometry.Collection.prototype.initialize.apply(this,arguments)},addPoint:function(a,b){this.addComponent(a,b)},removePoint:function(a){this.removeComponent(a)},CLASS_NAME:"OpenLayers.Geometry.MultiPoint"});OpenLayers.Geometry.Curve=OpenLayers.Class(OpenLayers.Geometry.MultiPoint,{componentTypes:["OpenLayers.Geometry.Point"],initialize:function(a){OpenLayers.Geometry.MultiPoint.prototype.initialize.apply(this,arguments)},getLength:function(){var c=0;if(this.components&&(this.components.length>1)){for(var b=1,a=this.components.length;b<a;b++){c+=this.components[b-1].distanceTo(this.components[b])}}return c},getGeodesicLength:function(b){var e=this;if(b){var c=new OpenLayers.Projection("EPSG:4326");if(!c.equals(b)){e=this.clone().transform(b,c)}}var f=0;if(e.components&&(e.components.length>1)){var h,g;for(var d=1,a=e.components.length;d<a;d++){h=e.components[d-1];g=e.components[d];f+=OpenLayers.Util.distVincenty({lon:h.x,lat:h.y},{lon:g.x,lat:g.y})}}return f*1000},CLASS_NAME:"OpenLayers.Geometry.Curve"});OpenLayers.Geometry.LineString=OpenLayers.Class(OpenLayers.Geometry.Curve,{initialize:function(a){OpenLayers.Geometry.Curve.prototype.initialize.apply(this,arguments)},removeComponent:function(a){if(this.components&&(this.components.length>2)){OpenLayers.Geometry.Collection.prototype.removeComponent.apply(this,arguments)}},intersects:function(m){var c=false;var l=m.CLASS_NAME;if(l=="OpenLayers.Geometry.LineString"||l=="OpenLayers.Geometry.LinearRing"||l=="OpenLayers.Geometry.Point"){var p=this.getSortedSegments();var n;if(l=="OpenLayers.Geometry.Point"){n=[{x1:m.x,y1:m.y,x2:m.x,y2:m.y}]}else{n=m.getSortedSegments()}var s,g,e,a,r,q,d,b;outer:for(var h=0,k=p.length;h<k;++h){s=p[h];g=s.x1;e=s.x2;a=s.y1;r=s.y2;inner:for(var f=0,o=n.length;f<o;++f){q=n[f];if(q.x1>e){break}if(q.x2<g){continue}d=q.y1;b=q.y2;if(Math.min(d,b)>Math.max(a,r)){continue}if(Math.max(d,b)<Math.min(a,r)){continue}if(OpenLayers.Geometry.segmentsIntersect(s,q)){c=true;break outer}}}}else{c=m.intersects(this)}return c},getSortedSegments:function(){var a=this.components.length-1;var b=new Array(a),e,d;for(var c=0;c<a;++c){e=this.components[c];d=this.components[c+1];if(e.x<d.x){b[c]={x1:e.x,y1:e.y,x2:d.x,y2:d.y}}else{b[c]={x1:d.x,y1:d.y,x2:e.x,y2:e.y}}}function f(h,g){return h.x1-g.x1}return b.sort(f)},splitWithSegment:function(r,b){var c=!(b&&b.edge===false);var o=b&&b.tolerance;var a=[];var t=this.getVertices();var n=[];var v=[];var h=false;var e,d,l;var j,q,u;var f={point:true,tolerance:o};var g=null;for(var m=0,k=t.length-2;m<=k;++m){e=t[m];n.push(e.clone());d=t[m+1];u={x1:e.x,y1:e.y,x2:d.x,y2:d.y};l=OpenLayers.Geometry.segmentsIntersect(r,u,f);if(l instanceof OpenLayers.Geometry.Point){if((l.x===r.x1&&l.y===r.y1)||(l.x===r.x2&&l.y===r.y2)||l.equals(e)||l.equals(d)){q=true}else{q=false}if(q||c){if(!l.equals(v[v.length-1])){v.push(l.clone())}if(m===0){if(l.equals(e)){continue}}if(l.equals(d)){continue}h=true;if(!l.equals(e)){n.push(l)}a.push(new OpenLayers.Geometry.LineString(n));n=[l.clone()]}}}if(h){n.push(d.clone());a.push(new OpenLayers.Geometry.LineString(n))}if(v.length>0){var p=r.x1<r.x2?1:-1;var s=r.y1<r.y2?1:-1;g={lines:a,points:v.sort(function(w,i){return(p*w.x-p*i.x)||(s*w.y-s*i.y)})}}return g},split:function(x,b){var n=null;var d=b&&b.mutual;var l,e,m,c;if(x instanceof OpenLayers.Geometry.LineString){var w=this.getVertices();var g,f,v,h,a,p;var s=[];m=[];for(var t=0,o=w.length-2;t<=o;++t){g=w[t];f=w[t+1];v={x1:g.x,y1:g.y,x2:f.x,y2:f.y};c=c||[x];if(d){s.push(g.clone())}for(var r=0;r<c.length;++r){h=c[r].splitWithSegment(v,b);if(h){a=h.lines;if(a.length>0){a.unshift(r,1);Array.prototype.splice.apply(c,a);r+=a.length-2}if(d){for(var q=0,u=h.points.length;q<u;++q){p=h.points[q];if(!p.equals(g)){s.push(p);m.push(new OpenLayers.Geometry.LineString(s));if(p.equals(f)){s=[]}else{s=[p.clone()]}}}}}}}if(d&&m.length>0&&s.length>0){s.push(f.clone());m.push(new OpenLayers.Geometry.LineString(s))}}else{n=x.splitWith(this,b)}if(c&&c.length>1){e=true}else{c=[]}if(m&&m.length>1){l=true}else{m=[]}if(e||l){if(d){n=[m,c]}else{n=c}}return n},splitWith:function(b,a){return b.split(this,a)},getVertices:function(a){var b;if(a===true){b=[this.components[0],this.components[this.components.length-1]]}else{if(a===false){b=this.components.slice(1,this.components.length-1)}else{b=this.components.slice()}}return b},distanceTo:function(h,g){var k=!(g&&g.edge===false);var B=k&&g&&g.details;var q,e={};var t=Number.POSITIVE_INFINITY;if(h instanceof OpenLayers.Geometry.Point){var r=this.getSortedSegments();var p=h.x;var o=h.y;var z;for(var v=0,w=r.length;v<w;++v){z=r[v];q=OpenLayers.Geometry.distanceToSegment(h,z);if(q.distance<t){t=q.distance;e=q;if(t===0){break}}else{if(z.x2>p&&((o>z.y1&&o<z.y2)||(o<z.y1&&o>z.y2))){break}}}if(B){e={distance:e.distance,x0:e.x,y0:e.y,x1:p,y1:o}}else{e=e.distance}}else{if(h instanceof OpenLayers.Geometry.LineString){var d=this.getSortedSegments();var c=h.getSortedSegments();var b,a,n,A,f;var m=c.length;var l={point:true};outer:for(var v=0,w=d.length;v<w;++v){b=d[v];A=b.x1;f=b.y1;for(var u=0;u<m;++u){a=c[u];n=OpenLayers.Geometry.segmentsIntersect(b,a,l);if(n){t=0;e={distance:0,x0:n.x,y0:n.y,x1:n.x,y1:n.y};break outer}else{q=OpenLayers.Geometry.distanceToSegment({x:A,y:f},a);if(q.distance<t){t=q.distance;e={distance:t,x0:A,y0:f,x1:q.x,y1:q.y}}}}}if(!B){e=e.distance}if(t!==0){if(b){q=h.distanceTo(new OpenLayers.Geometry.Point(b.x2,b.y2),g);var s=B?q.distance:q;if(s<t){if(B){e={distance:t,x0:q.x1,y0:q.y1,x1:q.x0,y1:q.y0}}else{e=s}}}}}else{e=h.distanceTo(this,g);if(B){e={distance:e.distance,x0:e.x1,y0:e.y1,x1:e.x0,y1:e.y0}}}}return e},CLASS_NAME:"OpenLayers.Geometry.LineString"});OpenLayers.Geometry.LinearRing=OpenLayers.Class(OpenLayers.Geometry.LineString,{componentTypes:["OpenLayers.Geometry.Point"],initialize:function(a){OpenLayers.Geometry.LineString.prototype.initialize.apply(this,arguments)},addComponent:function(a,b){var c=false;var d=this.components.pop();if(b!=null||!a.equals(d)){c=OpenLayers.Geometry.Collection.prototype.addComponent.apply(this,arguments)}var e=this.components[0];OpenLayers.Geometry.Collection.prototype.addComponent.apply(this,[e]);return c},removeComponent:function(a){if(this.components.length>4){this.components.pop();OpenLayers.Geometry.Collection.prototype.removeComponent.apply(this,arguments);var b=this.components[0];OpenLayers.Geometry.Collection.prototype.addComponent.apply(this,[b])}},move:function(b,d){for(var c=0,a=this.components.length;c<a-1;c++){this.components[c].move(b,d)}},rotate:function(d,b){for(var c=0,a=this.components.length;c<a-1;++c){this.components[c].rotate(d,b)}},resize:function(e,b,d){for(var c=0,a=this.components.length;c<a-1;++c){this.components[c].resize(e,b,d)}return this},transform:function(e,c){if(e&&c){for(var d=0,a=this.components.length;d<a-1;d++){var b=this.components[d];b.transform(e,c)}this.bounds=null}return this},getCentroid:function(){if(this.components&&(this.components.length>2)){var h=0;var g=0;for(var e=0;e<this.components.length-1;e++){var d=this.components[e];var k=this.components[e+1];h+=(d.x+k.x)*(d.x*k.y-k.x*d.y);g+=(d.y+k.y)*(d.x*k.y-k.x*d.y)}var f=-1*this.getArea();var a=h/(6*f);var j=g/(6*f);return new OpenLayers.Geometry.Point(a,j)}else{return null}},getArea:function(){var g=0;if(this.components&&(this.components.length>2)){var f=0;for(var e=0,d=this.components.length;e<d-1;e++){var a=this.components[e];var h=this.components[e+1];f+=(a.x+h.x)*(h.y-a.y)}g=-f/2}return g},getGeodesicArea:function(b){var d=this;if(b){var c=new OpenLayers.Projection("EPSG:4326");if(!c.equals(b)){d=this.clone().transform(b,c)}}var f=0;var a=d.components&&d.components.length;if(a>2){var h,g;for(var e=0;e<a-1;e++){h=d.components[e];g=d.components[e+1];f+=OpenLayers.Util.rad(g.x-h.x)*(2+Math.sin(OpenLayers.Util.rad(h.y))+Math.sin(OpenLayers.Util.rad(g.y)))}f=f*6378137*6378137/2}return f},containsPoint:function(m){var s=OpenLayers.Number.limitSigDigs;var l=14;var k=s(m.x,l);var j=s(m.y,l);function r(w,t,v,i,u){return(((t-i)*w)+((i*v)-(t*u)))/(v-u)}var a=this.components.length-1;var g,f,q,d,o,b,e,c;var h=0;for(var n=0;n<a;++n){g=this.components[n];q=s(g.x,l);d=s(g.y,l);f=this.components[n+1];o=s(f.x,l);b=s(f.y,l);if(d==b){if(j==d){if(q<=o&&(k>=q&&k<=o)||q>=o&&(k<=q&&k>=o)){h=-1;break}}continue}e=s(r(j,q,d,o,b),l);if(e==k){if(d<b&&(j>=d&&j<=b)||d>b&&(j<=d&&j>=b)){h=-1;break}}if(e<=k){continue}if(q!=o&&(e<Math.min(q,o)||e>Math.max(q,o))){continue}if(d<b&&(j>=d&&j<b)||d>b&&(j<d&&j>=b)){++h}}var p=(h==-1)?1:!!(h&1);return p},intersects:function(d){var b=false;if(d.CLASS_NAME=="OpenLayers.Geometry.Point"){b=this.containsPoint(d)}else{if(d.CLASS_NAME=="OpenLayers.Geometry.LineString"){b=d.intersects(this)}else{if(d.CLASS_NAME=="OpenLayers.Geometry.LinearRing"){b=OpenLayers.Geometry.LineString.prototype.intersects.apply(this,[d])}else{for(var c=0,a=d.components.length;c<a;++c){b=d.components[c].intersects(this);if(b){break}}}}}return b},getVertices:function(a){return(a===true)?[]:this.components.slice(0,this.components.length-1)},CLASS_NAME:"OpenLayers.Geometry.LinearRing"}); \ No newline at end of file
diff --git a/plugins/Mapstraction/OpenLayers/theme/default/google.css b/plugins/Mapstraction/OpenLayers/theme/default/google.css
deleted file mode 100644
index 3c1c1872a1..0000000000
--- a/plugins/Mapstraction/OpenLayers/theme/default/google.css
+++ /dev/null
@@ -1,10 +0,0 @@
-.olLayerGoogleCopyright {
- right: 3px;
- bottom: 2px;
- left: auto;
-}
-.olLayerGooglePoweredBy {
- left: 2px;
- bottom: 2px;
-}
-
diff --git a/plugins/Mapstraction/OpenLayers/theme/default/style.css b/plugins/Mapstraction/OpenLayers/theme/default/style.css
index 0627f0e153..8a315812c3 100644
--- a/plugins/Mapstraction/OpenLayers/theme/default/style.css
+++ b/plugins/Mapstraction/OpenLayers/theme/default/style.css
@@ -13,19 +13,11 @@ div.olLayerDiv {
-moz-user-select: none;
}
-.olLayerGoogleCopyright {
- left: 2px;
- bottom: 2px;
-}
-.olLayerGooglePoweredBy {
- left: 2px;
- bottom: 15px;
-}
.olControlAttribution {
- font-size: smaller;
- right: 3px;
- bottom: 4.5em;
- position: absolute;
+ font-size: smaller;
+ right: 3px;
+ bottom: 4.5em;
+ position: absolute;
display: block;
}
.olControlScale {
@@ -60,7 +52,7 @@ div.olLayerDiv {
display: block;
position: absolute;
font-size: smaller;
-}
+}
div.olControlMousePosition {
bottom: 0em;
@@ -86,7 +78,7 @@ div.olControlMousePosition {
.olControlOverviewMapMinimizeButton {
right: 0px;
bottom: 80px;
-}
+}
.olControlOverviewMapMaximizeButton {
right: 0px;
@@ -127,12 +119,12 @@ div.olControlMousePosition {
.olPopupContent {
padding:5px;
overflow: auto;
-}
-.olControlNavToolbar {
+}
+.olControlNavToolbar {
width:0px;
height:0px;
-}
-.olControlNavToolbar div {
+}
+.olControlNavToolbar div {
display:block;
width: 28px;
height: 28px;
@@ -148,43 +140,43 @@ div.olControlMousePosition {
height: 24px;
}
-.olControlNavigationHistoryPreviousItemActive {
+.olControlNavigationHistoryPreviousItemActive {
background-position: 0px 0px;
}
-.olControlNavigationHistoryPreviousItemInactive {
+.olControlNavigationHistoryPreviousItemInactive {
background-position: 0px -24px;
}
-.olControlNavigationHistoryNextItemActive {
+.olControlNavigationHistoryNextItemActive {
background-position: -24px 0px;
}
-.olControlNavigationHistoryNextItemInactive {
+.olControlNavigationHistoryNextItemInactive {
background-position: -24px -24px;
}
-.olControlNavToolbar .olControlNavigationItemActive {
+.olControlNavToolbar .olControlNavigationItemActive {
background-image: url("img/panning-hand-on.png");
background-repeat: no-repeat;
}
-.olControlNavToolbar .olControlNavigationItemInactive {
+.olControlNavToolbar .olControlNavigationItemInactive {
background-image: url("img/panning-hand-off.png");
background-repeat: no-repeat;
}
-.olControlNavToolbar .olControlZoomBoxItemActive {
+.olControlNavToolbar .olControlZoomBoxItemActive {
background-image: url("img/drag-rectangle-on.png");
background-color: orange;
background-repeat: no-repeat;
}
-.olControlNavToolbar .olControlZoomBoxItemInactive {
+.olControlNavToolbar .olControlZoomBoxItemInactive {
background-image: url("img/drag-rectangle-off.png");
background-repeat: no-repeat;
}
.olControlEditingToolbar {
float:right;
right: 0px;
- height: 30px;
+ height: 30px;
width: 200px;
}
-.olControlEditingToolbar div {
+.olControlEditingToolbar div {
background-image: url("img/editing_tool_bar.png");
background-repeat: no-repeat;
float:right;
@@ -192,36 +184,36 @@ div.olControlMousePosition {
height: 24px;
margin: 5px;
}
-.olControlEditingToolbar .olControlNavigationItemActive {
- background-position: -103px -23px;
+.olControlEditingToolbar .olControlNavigationItemActive {
+ background-position: -103px -23px;
}
-.olControlEditingToolbar .olControlNavigationItemInactive {
- background-position: -103px -0px;
+.olControlEditingToolbar .olControlNavigationItemInactive {
+ background-position: -103px -0px;
}
-.olControlEditingToolbar .olControlDrawFeaturePointItemActive {
- background-position: -77px -23px;
+.olControlEditingToolbar .olControlDrawFeaturePointItemActive {
+ background-position: -77px -23px;
}
-.olControlEditingToolbar .olControlDrawFeaturePointItemInactive {
- background-position: -77px -0px;
+.olControlEditingToolbar .olControlDrawFeaturePointItemInactive {
+ background-position: -77px -0px;
}
-.olControlEditingToolbar .olControlDrawFeaturePathItemInactive {
- background-position: -51px 0px;
+.olControlEditingToolbar .olControlDrawFeaturePathItemInactive {
+ background-position: -51px 0px;
}
-.olControlEditingToolbar .olControlDrawFeaturePathItemActive {
- background-position: -51px -23px;
+.olControlEditingToolbar .olControlDrawFeaturePathItemActive {
+ background-position: -51px -23px;
}
-.olControlEditingToolbar .olControlDrawFeaturePolygonItemInactive {
- background-position: -26px 0px;
+.olControlEditingToolbar .olControlDrawFeaturePolygonItemInactive {
+ background-position: -26px 0px;
}
-.olControlEditingToolbar .olControlDrawFeaturePolygonItemActive {
- background-position: -26px -23px ;
+.olControlEditingToolbar .olControlDrawFeaturePolygonItemActive {
+ background-position: -26px -23px ;
}
-div.olControlSaveFeaturesItemActive {
+div.olControlSaveFeaturesItemActive {
background-image: url(img/save_features_on.png);
background-repeat: no-repeat;
background-position: 0px 1px;
}
-div.olControlSaveFeaturesItemInactive {
+div.olControlSaveFeaturesItemInactive {
background-image: url(img/save_features_off.png);
background-repeat: no-repeat;
background-position: 0px 1px;
@@ -242,12 +234,12 @@ div.olControlSaveFeaturesItemInactive {
opacity: 0.50;
font-size: 1px;
filter: alpha(opacity=50);
-}
+}
.olControlPanPanel {
top: 10px;
left: 5px;
-}
+}
.olControlPanPanel div {
background-image: url(img/pan-panel.png);
@@ -282,7 +274,7 @@ div.olControlSaveFeaturesItemInactive {
.olControlZoomPanel {
top: 71px;
left: 14px;
-}
+}
.olControlZoomPanel div {
background-image: url(img/zoom-panel.png);
diff --git a/plugins/Mapstraction/js/mxn.(provider).core.js b/plugins/Mapstraction/js/mxn.(provider).core.js
index cc9752ffd4..e8418daf56 100644
--- a/plugins/Mapstraction/js/mxn.(provider).core.js
+++ b/plugins/Mapstraction/js/mxn.(provider).core.js
@@ -1,129 +1,129 @@
-mxn.register('{{api_id}}', {
+mxn.register('{{api_id}}', {
Mapstraction: {
-
- init: function(element, api) {
+
+ init: function(element, api) {
var me = this;
-
+
// TODO: Add provider code
},
-
+
applyOptions: function(){
var map = this.maps[this.api];
-
+
// TODO: Add provider code
},
- resizeTo: function(width, height){
+ resizeTo: function(width, height){
// TODO: Add provider code
},
addControls: function( args ) {
var map = this.maps[this.api];
-
+
// TODO: Add provider code
},
addSmallControls: function() {
var map = this.maps[this.api];
-
+
// TODO: Add provider code
},
addLargeControls: function() {
var map = this.maps[this.api];
-
+
// TODO: Add provider code
},
addMapTypeControls: function() {
var map = this.maps[this.api];
-
+
// TODO: Add provider code
},
- setCenterAndZoom: function(point, zoom) {
+ setCenterAndZoom: function(point, zoom) {
var map = this.maps[this.api];
var pt = point.toProprietary(this.api);
-
+
// TODO: Add provider code
},
-
+
addMarker: function(marker, old) {
var map = this.maps[this.api];
var pin = marker.toProprietary(this.api);
-
+
// TODO: Add provider code
-
+
return pin;
},
removeMarker: function(marker) {
var map = this.maps[this.api];
-
+
// TODO: Add provider code
},
removeAllMarkers: function() {
var map = this.maps[this.api];
-
+
// TODO: Add provider code
},
-
+
declutterMarkers: function(opts) {
var map = this.maps[this.api];
-
+
// TODO: Add provider code
},
addPolyline: function(polyline, old) {
var map = this.maps[this.api];
var pl = polyline.toProprietary(this.api);
-
+
// TODO: Add provider code
-
+
return pl;
},
removePolyline: function(polyline) {
var map = this.maps[this.api];
-
+
// TODO: Add provider code
},
-
+
getCenter: function() {
var point;
var map = this.maps[this.api];
-
+
// TODO: Add provider code
-
+
return point;
},
setCenter: function(point, options) {
var map = this.maps[this.api];
var pt = point.toProprietary(this.api);
- if(options && options.pan) {
+ if(options && options.pan) {
// TODO: Add provider code
}
- else {
+ else {
// TODO: Add provider code
}
},
setZoom: function(zoom) {
var map = this.maps[this.api];
-
+
// TODO: Add provider code
-
+
},
-
+
getZoom: function() {
var map = this.maps[this.api];
var zoom;
-
+
// TODO: Add provider code
-
+
return zoom;
},
@@ -133,9 +133,9 @@ Mapstraction: {
var ne = bbox.getNorthEast();
var sw = bbox.getSouthWest();
var zoom;
-
+
// TODO: Add provider code
-
+
return zoom;
},
@@ -153,12 +153,12 @@ Mapstraction: {
break;
default:
// TODO: Add provider code
- }
+ }
},
getMapType: function() {
var map = this.maps[this.api];
-
+
// TODO: Add provider code
//return mxn.Mapstraction.ROAD;
@@ -169,9 +169,9 @@ Mapstraction: {
getBounds: function () {
var map = this.maps[this.api];
-
+
// TODO: Add provider code
-
+
//return new mxn.BoundingBox( , , , );
},
@@ -179,14 +179,14 @@ Mapstraction: {
var map = this.maps[this.api];
var sw = bounds.getSouthWest();
var ne = bounds.getNorthEast();
-
+
// TODO: Add provider code
-
+
},
addImageOverlay: function(id, src, opacity, west, south, east, north, oContext) {
var map = this.maps[this.api];
-
+
// TODO: Add provider code
},
@@ -201,58 +201,58 @@ Mapstraction: {
//oContext.pixels.bottom = ...;
//oContext.pixels.right = ...;
},
-
+
addOverlay: function(url, autoCenterAndZoom) {
var map = this.maps[this.api];
-
+
// TODO: Add provider code
-
+
},
addTileLayer: function(tile_url, opacity, copyright_text, min_zoom, max_zoom) {
var map = this.maps[this.api];
-
+
// TODO: Add provider code
},
toggleTileLayer: function(tile_url) {
var map = this.maps[this.api];
-
+
// TODO: Add provider code
},
getPixelRatio: function() {
var map = this.maps[this.api];
- // TODO: Add provider code
+ // TODO: Add provider code
},
-
+
mousePosition: function(element) {
var map = this.maps[this.api];
- // TODO: Add provider code
+ // TODO: Add provider code
}
},
LatLonPoint: {
-
+
toProprietary: function() {
// TODO: Add provider code
},
- fromProprietary: function(googlePoint) {
+ fromProprietary: function(point) {
// TODO: Add provider code
}
-
+
},
Marker: {
-
+
toProprietary: function() {
// TODO: Add provider code
},
- openBubble: function() {
+ openBubble: function() {
// TODO: Add provider code
},
@@ -267,7 +267,7 @@ Marker: {
update: function() {
// TODO: Add provider code
}
-
+
},
Polyline: {
@@ -275,7 +275,7 @@ Polyline: {
toProprietary: function() {
// TODO: Add provider code
},
-
+
show: function() {
// TODO: Add provider code
},
@@ -283,7 +283,7 @@ Polyline: {
hide: function() {
// TODO: Add provider code
}
-
+
}
}); \ No newline at end of file
diff --git a/plugins/Mapstraction/js/mxn.cloudmade.core.js b/plugins/Mapstraction/js/mxn.cloudmade.core.js
index b6ee70b8f2..a865ebe01e 100644
--- a/plugins/Mapstraction/js/mxn.cloudmade.core.js
+++ b/plugins/Mapstraction/js/mxn.cloudmade.core.js
@@ -1,9 +1,9 @@
-mxn.register('cloudmade', {
+mxn.register('cloudmade', {
Mapstraction: {
- init: function(element, api) {
- var me = this;
+ init: function(element, api) {
+ var me = this;
var cloudmade = new CM.Tiles.CloudMade.Web({key: cloudmade_key});
this.maps[api] = new CM.Map(element, cloudmade);
this.loaded[api] = true;
@@ -16,7 +16,7 @@ mxn.register('cloudmade', {
me.click.fire({'location': new mxn.LatLonPoint(location.lat(), location.lng())});
}
- // If the user puts their own Google markers directly on the map
+ // If the user puts their own markers directly on the map
// then there is no location and this event should not fire.
if ( location ) {
me.clickHandler(location.lat(),location.lng(),location,me);
@@ -31,7 +31,7 @@ mxn.register('cloudmade', {
}
},
- resizeTo: function(width, height){
+ resizeTo: function(width, height){
this.maps[this.api].checkResize();
},
@@ -86,7 +86,7 @@ mxn.register('cloudmade', {
}
},
- setCenterAndZoom: function(point, zoom) {
+ setCenterAndZoom: function(point, zoom) {
var map = this.maps[this.api];
var pt = point.toProprietary(this.api);
map.setCenter(pt, zoom);
@@ -179,7 +179,7 @@ mxn.register('cloudmade', {
break;
default:
// TODO: Add provider code
- }
+ }
},
getMapType: function() {
@@ -247,13 +247,13 @@ mxn.register('cloudmade', {
getPixelRatio: function() {
var map = this.maps[this.api];
- // TODO: Add provider code
+ // TODO: Add provider code
},
mousePosition: function(element) {
var map = this.maps[this.api];
- // TODO: Add provider code
+ // TODO: Add provider code
}
},
@@ -306,7 +306,7 @@ mxn.register('cloudmade', {
return cmarker;
},
- openBubble: function() {
+ openBubble: function() {
var pin = this.proprietary_marker;
pin.openInfoWindow(this.infoBubble);
},
diff --git a/plugins/Mapstraction/js/mxn.core.js b/plugins/Mapstraction/js/mxn.core.js
index c75d0969e4..23796a98c1 100644
--- a/plugins/Mapstraction/js/mxn.core.js
+++ b/plugins/Mapstraction/js/mxn.core.js
@@ -6,7 +6,7 @@
var $m = mxn.util.$m;
/**
- * Initialise our provider. This function should only be called
+ * Initialise our provider. This function should only be called
* from within mapstraction code, not exposed as part of the API.
* @private
*/
@@ -20,7 +20,7 @@ var init = function() {
* @name mxn.Mapstraction
* @constructor
* @param {String} element The HTML element to replace with a map
- * @param {String} api The API to use, one of 'google', 'googlev3', 'yahoo', 'microsoft', 'openstreetmap', 'multimap', 'map24', 'openlayers', 'mapquest'. If omitted, first loaded provider implementation is used.
+ * @param {String} api The API to use, one of 'yahoo', 'microsoft', 'openstreetmap', 'multimap', 'map24', 'openlayers', 'mapquest'. If omitted, first loaded provider implementation is used.
* @param {Bool} debug optional parameter to turn on debug support - this uses alert panels for unsupported actions
* @exports Mapstraction as mxn.Mapstraction
*/
@@ -36,74 +36,74 @@ var Mapstraction = mxn.Mapstraction = function(element, api, debug) {
this.layers = [];
this.polylines = [];
this.images = [];
- this.controls = [];
+ this.controls = [];
this.loaded = {};
this.onload = {};
this.element = element;
-
+
// option defaults
this.options = {
enableScrollWheelZoom: false,
enableDragging: true
};
-
+
this.addControlsArgs = {};
-
+
// set up our invoker for calling API methods
this.invoker = new mxn.Invoker(this, 'Mapstraction', function(){ return this.api; });
-
+
// Adding our events
mxn.addEvents(this, [
-
+
/**
* Map has loaded
* @name mxn.Mapstraction#load
* @event
*/
'load',
-
+
/**
* Map is clicked {location: LatLonPoint}
* @name mxn.Mapstraction#click
* @event
*/
'click',
-
+
/**
* Map is panned
* @name mxn.Mapstraction#endPan
* @event
*/
'endPan',
-
+
/**
* Zoom is changed
* @name mxn.Mapstraction#changeZoom
* @event
*/
'changeZoom',
-
+
/**
* Marker is removed {marker: Marker}
* @name mxn.Mapstraction#markerAdded
* @event
*/
'markerAdded',
-
+
/**
* Marker is removed {marker: Marker}
* @name mxn.Mapstraction#markerRemoved
* @event
*/
'markerRemoved',
-
+
/**
* Polyline is added {polyline: Polyline}
* @name mxn.Mapstraction#polylineAdded
* @event
*/
'polylineAdded',
-
+
/**
* Polyline is removed {polyline: Polyline}
* @name mxn.Mapstraction#polylineRemoved
@@ -111,7 +111,7 @@ var Mapstraction = mxn.Mapstraction = function(element, api, debug) {
*/
'polylineRemoved'
]);
-
+
// finally initialize our proper API map
init.apply(this);
};
@@ -122,21 +122,21 @@ Mapstraction.SATELLITE = 2;
Mapstraction.HYBRID = 3;
// methods that have no implementation in mapstraction core
-mxn.addProxyMethods(Mapstraction, [
+mxn.addProxyMethods(Mapstraction, [
/**
* Adds a large map panning control and zoom buttons to the map
* @name mxn.Mapstraction#addLargeControls
* @function
*/
'addLargeControls',
-
+
/**
* Adds a map type control to the map (streets, aerial imagery etc)
* @name mxn.Mapstraction#addMapTypeControls
* @function
*/
- 'addMapTypeControls',
-
+ 'addMapTypeControls',
+
/**
* Adds a GeoRSS or KML overlay to the map
* some flavors of GeoRSS and KML are not supported by some of the Map providers
@@ -145,38 +145,38 @@ mxn.addProxyMethods(Mapstraction, [
* @param {String} url GeoRSS or KML feed URL
* @param {Boolean} autoCenterAndZoom Set true to auto center and zoom after the feed is loaded
*/
- 'addOverlay',
-
+ 'addOverlay',
+
/**
* Adds a small map panning control and zoom buttons to the map
* @name mxn.Mapstraction#addSmallControls
* @function
*/
- 'addSmallControls',
-
+ 'addSmallControls',
+
/**
* Applies the current option settings
* @name mxn.Mapstraction#applyOptions
* @function
*/
'applyOptions',
-
+
/**
* Gets the BoundingBox of the map
* @name mxn.Mapstraction#getBounds
* @function
* @returns {BoundingBox} The bounding box for the current map state
*/
- 'getBounds',
-
+ 'getBounds',
+
/**
* Gets the central point of the map
* @name mxn.Mapstraction#getCenter
* @function
* @returns {LatLonPoint} The center point of the map
*/
- 'getCenter',
-
+ 'getCenter',
+
/**
* Gets the imagery type for the map.
* The type can be one of:
@@ -185,9 +185,9 @@ mxn.addProxyMethods(Mapstraction, [
* mxn.Mapstraction.HYBRID
* @name mxn.Mapstraction#getMapType
* @function
- * @returns {Number}
+ * @returns {Number}
*/
- 'getMapType',
+ 'getMapType',
/**
* Returns a ratio to turn distance into pixels based on current projection
@@ -195,16 +195,16 @@ mxn.addProxyMethods(Mapstraction, [
* @function
* @returns {Float} ratio
*/
- 'getPixelRatio',
-
+ 'getPixelRatio',
+
/**
* Returns the zoom level of the map
* @name mxn.Mapstraction#getZoom
* @function
* @returns {Integer} The zoom level of the map
*/
- 'getZoom',
-
+ 'getZoom',
+
/**
* Returns the best zoom level for bounds given
* @name mxn.Mapstraction#getZoomLevelForBoundingBox
@@ -212,8 +212,8 @@ mxn.addProxyMethods(Mapstraction, [
* @param {BoundingBox} bbox The bounds to fit
* @returns {Integer} The closest zoom level that contains the bounding box
*/
- 'getZoomLevelForBoundingBox',
-
+ 'getZoomLevelForBoundingBox',
+
/**
* Displays the coordinates of the cursor in the HTML element
* @name mxn.Mapstraction#mousePosition
@@ -221,7 +221,7 @@ mxn.addProxyMethods(Mapstraction, [
* @param {String} element ID of the HTML element to display the coordinates in
*/
'mousePosition',
-
+
/**
* Resize the current map to the specified width and height
* (since it is actually on a child div of the mapElement passed
@@ -232,16 +232,16 @@ mxn.addProxyMethods(Mapstraction, [
* @param {Integer} width The width the map should be.
* @param {Integer} height The width the map should be.
*/
- 'resizeTo',
-
+ 'resizeTo',
+
/**
* Sets the map to the appropriate location and zoom for a given BoundingBox
* @name mxn.Mapstraction#setBounds
* @function
* @param {BoundingBox} bounds The bounding box you want the map to show
*/
- 'setBounds',
-
+ 'setBounds',
+
/**
* setCenter sets the central point of the map
* @name mxn.Mapstraction#setCenter
@@ -250,8 +250,8 @@ mxn.addProxyMethods(Mapstraction, [
* @param {Object} options Optional parameters
* @param {Boolean} options.pan Whether the map should move to the locations using a pan or just jump straight there
*/
- 'setCenter',
-
+ 'setCenter',
+
/**
* Centers the map to some place and zoom level
* @name mxn.Mapstraction#setCenterAndZoom
@@ -259,8 +259,8 @@ mxn.addProxyMethods(Mapstraction, [
* @param {LatLonPoint} point Where the center of the map should be
* @param {Integer} zoom The zoom level where 0 is all the way out.
*/
- 'setCenterAndZoom',
-
+ 'setCenterAndZoom',
+
/**
* Sets the imagery type for the map
* The type can be one of:
@@ -269,10 +269,10 @@ mxn.addProxyMethods(Mapstraction, [
* mxn.Mapstraction.HYBRID
* @name mxn.Mapstraction#setMapType
* @function
- * @param {Number} type
+ * @param {Number} type
*/
- 'setMapType',
-
+ 'setMapType',
+
/**
* Sets the zoom level for the map
* MS doesn't seem to do zoom=0, and Gg's sat goes closer than it's maps, and MS's sat goes closer than Y!'s
@@ -282,7 +282,7 @@ mxn.addProxyMethods(Mapstraction, [
* @param {Number} zoom The (native to the map) level zoom the map to.
*/
'setZoom',
-
+
/**
* Turns a Tile Layer on or off
* @name mxn.Mapstraction#toggleTileLayer
@@ -505,7 +505,7 @@ Mapstraction.prototype.addMarker = function(marker, old) {
marker.mapstraction = this;
marker.api = this.api;
marker.location.api = this.api;
- marker.map = this.maps[this.api];
+ marker.map = this.maps[this.api];
var propMarker = this.invoker.go('addMarker', arguments);
marker.setChild(propMarker);
if (!old) {
@@ -538,7 +538,7 @@ Mapstraction.prototype.addPolylineWithData = function(polyline, data) {
* removeMarker removes a Marker from the map
* @param {Marker} marker The marker to remove
*/
-Mapstraction.prototype.removeMarker = function(marker) {
+Mapstraction.prototype.removeMarker = function(marker) {
var current_marker;
for(var i = 0; i < this.markers.length; i++){
current_marker = this.markers[i];
@@ -583,9 +583,6 @@ Mapstraction.prototype.declutterMarkers = function(opts) {
// case 'yahoo':
//
// break;
- // case 'google':
- //
- // break;
// case 'openstreetmap':
//
// break;
@@ -824,7 +821,7 @@ Mapstraction.prototype.polylineCenterAndZoom = function(radius) {
* @param {north} north boundary
*/
Mapstraction.prototype.addImageOverlay = function(id, src, opacity, west, south, east, north) {
-
+
var b = document.createElement("img");
b.style.display = 'block';
b.setAttribute('id',id);
@@ -835,11 +832,11 @@ Mapstraction.prototype.addImageOverlay = function(id, src, opacity, west, south,
b.setAttribute('south',south);
b.setAttribute('east',east);
b.setAttribute('north',north);
-
+
var oContext = {
imgElm: b
};
-
+
this.invoker.go('addImageOverlay', arguments, { context: oContext });
};
@@ -869,7 +866,7 @@ Mapstraction.prototype.setImageOpacity = function(id, opacity) {
Mapstraction.prototype.setImagePosition = function(id) {
var imgElement = document.getElementById(id);
var oContext = {
- latLng: {
+ latLng: {
top: imgElement.getAttribute('north'),
left: imgElement.getAttribute('west'),
bottom: imgElement.getAttribute('south'),
@@ -877,7 +874,7 @@ Mapstraction.prototype.setImagePosition = function(id) {
},
pixels: { top: 0, right: 0, bottom: 0, left: 0 }
};
-
+
this.invoker.go('setImagePosition', arguments, { context: oContext });
imgElement.style.top = oContext.pixels.top.toString() + 'px';
@@ -967,8 +964,8 @@ Mapstraction.prototype.addTileLayer = function(tile_url, opacity, copyright_text
if(!tile_url) {
return;
}
-
- this.tileLayers = this.tileLayers || [];
+
+ this.tileLayers = this.tileLayers || [];
opacity = opacity || 0.6;
copyright_text = copyright_text || "Mapstraction";
min_zoom = min_zoom || 1;
@@ -1085,8 +1082,8 @@ Mapstraction.prototype.doFilter = function(showCallback, hideCallback) {
else {
this.markers[m].show();
}
- }
- else {
+ }
+ else {
if (hideCallback){
hideCallback(this.markers[m]);
}
@@ -1185,11 +1182,11 @@ var LatLonPoint = mxn.LatLonPoint = function(lat, lon) {
this.lat = lat;
this.lon = lon;
this.lng = lon; // lets be lon/lng agnostic
-
- this.invoker = new mxn.Invoker(this, 'LatLonPoint');
+
+ this.invoker = new mxn.Invoker(this, 'LatLonPoint');
};
-mxn.addProxyMethods(LatLonPoint, [
+mxn.addProxyMethods(LatLonPoint, [
'fromProprietary', 'toProprietary'
], true);
@@ -1212,10 +1209,10 @@ LatLonPoint.prototype.distance = function(otherPoint) {
// Uses Haversine formula from http://www.movable-type.co.uk
var rads = Math.PI / 180;
var diffLat = (this.lat-otherPoint.lat) * rads;
- var diffLon = (this.lon-otherPoint.lon) * rads;
+ var diffLon = (this.lon-otherPoint.lon) * rads;
var a = Math.sin(diffLat / 2) * Math.sin(diffLat / 2) +
- Math.cos(this.lat*rads) * Math.cos(otherPoint.lat*rads) *
- Math.sin(diffLon/2) * Math.sin(diffLon/2);
+ Math.cos(this.lat*rads) * Math.cos(otherPoint.lat*rads) *
+ Math.sin(diffLon/2) * Math.sin(diffLon/2);
return 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)) * 6371; // Earth's mean radius in km
};
@@ -1354,14 +1351,14 @@ var Marker = mxn.Marker = function(point) {
this.proprietary_marker = false;
this.attributes = [];
this.invoker = new mxn.Invoker(this, 'Marker', function(){return this.api;});
- mxn.addEvents(this, [
+ mxn.addEvents(this, [
'openInfoBubble', // Info bubble opened
'closeInfoBubble', // Info bubble closed
'click' // Marker clicked
]);
};
-mxn.addProxyMethods(Marker, [
+mxn.addProxyMethods(Marker, [
'fromProprietary',
'hide',
'openBubble',
@@ -1572,8 +1569,8 @@ var Polyline = mxn.Polyline = function(points) {
this.invoker = new mxn.Invoker(this, 'Polyline', function(){return this.api;});
};
-mxn.addProxyMethods(Polyline, [
- 'fromProprietary',
+mxn.addProxyMethods(Polyline, [
+ 'fromProprietary',
'hide',
'show',
'toProprietary',
diff --git a/plugins/Mapstraction/js/mxn.geocommons.core.js b/plugins/Mapstraction/js/mxn.geocommons.core.js
index 08be811fac..7c80a6d542 100644
--- a/plugins/Mapstraction/js/mxn.geocommons.core.js
+++ b/plugins/Mapstraction/js/mxn.geocommons.core.js
@@ -1,8 +1,8 @@
-mxn.register('geocommons', {
+mxn.register('geocommons', {
Mapstraction: {
- init: function(element, api) {
+ init: function(element, api) {
var me = this;
this.element = element;
Maker.maker_host='http://maker.geocommons.com';
@@ -16,7 +16,7 @@ mxn.register('geocommons', {
// TODO: Add provider code
},
- resizeTo: function(width, height){
+ resizeTo: function(width, height){
var map = this.maps[this.api];
map.setSize(width,height);
},
@@ -25,23 +25,23 @@ mxn.register('geocommons', {
var map = this.maps[this.api];
map.showControl("Zoom", args.zoom || false);
map.showControl("Layers", args.layers || false);
- map.showControl("Styles", args.styles || false);
+ map.showControl("Styles", args.styles || false);
map.showControl("Basemap", args.map_type || false);
- map.showControl("Legend", args.legend || false, "open");
- // showControl("Legend", true, "close");
+ map.showControl("Legend", args.legend || false, "open");
+ // showControl("Legend", true, "close");
},
addSmallControls: function() {
var map = this.maps[this.api];
showControl("Zoom", args.zoom);
- showControl("Legend", args.legend, "open");
+ showControl("Legend", args.legend, "open");
},
addLargeControls: function() {
var map = this.maps[this.api];
showControl("Zoom", args.zoom);
showControl("Layers", args.layers);
- showControl("Legend", args.legend, "open");
+ showControl("Legend", args.legend, "open");
},
addMapTypeControls: function() {
@@ -56,7 +56,7 @@ mxn.register('geocommons', {
// TODO: Add provider code
},
- setCenterAndZoom: function(point, zoom) {
+ setCenterAndZoom: function(point, zoom) {
var map = this.maps[this.api];
map.setCenterZoom(point.lat, point.lon,zoom);
},
@@ -69,7 +69,7 @@ mxn.register('geocommons', {
setCenter: function(point, options) {
var map = this.maps[this.api];
- map.setCenter(point.lat, point.lon);
+ map.setCenter(point.lat, point.lon);
},
setZoom: function(zoom) {
@@ -103,12 +103,9 @@ mxn.register('geocommons', {
case mxn.Mapstraction.SATELLITE:
map.setMapProvider("BlueMarble");
break;
- case mxn.Mapstraction.HYBRID:
- map.setMapProvider("Google Hybrid");
- break;
default:
map.setMapProvider(type);
- }
+ }
},
getMapType: function() {
@@ -116,7 +113,7 @@ mxn.register('geocommons', {
switch(map.getMapProvider) {
case "OpenStreetMap (Road)":
retu
-
+
}
// TODO: Add provider code
@@ -168,13 +165,13 @@ mxn.register('geocommons', {
getPixelRatio: function() {
var map = this.maps[this.api];
- // TODO: Add provider code
+ // TODO: Add provider code
},
mousePosition: function(element) {
var map = this.maps[this.api];
- // TODO: Add provider code
+ // TODO: Add provider code
}
},
@@ -184,7 +181,7 @@ mxn.register('geocommons', {
// TODO: Add provider code
},
- fromProprietary: function(googlePoint) {
+ fromProprietary: function(point) {
// TODO: Add provider code
}
@@ -196,7 +193,7 @@ mxn.register('geocommons', {
// TODO: Add provider code
},
- openBubble: function() {
+ openBubble: function() {
// TODO: Add provider code
},
diff --git a/plugins/Mapstraction/js/mxn.google.core.js b/plugins/Mapstraction/js/mxn.google.core.js
deleted file mode 100644
index 17e4415f5f..0000000000
--- a/plugins/Mapstraction/js/mxn.google.core.js
+++ /dev/null
@@ -1,519 +0,0 @@
-mxn.register('google', {
-
-Mapstraction: {
-
- init: function(element,api) {
- var me = this;
- if (GMap2) {
- if (GBrowserIsCompatible()) {
- this.maps[api] = new GMap2(element);
-
- GEvent.addListener(this.maps[api], 'click', function(marker,location) {
-
- if ( marker && marker.mapstraction_marker ) {
- marker.mapstraction_marker.click.fire();
- }
- else if ( location ) {
- me.click.fire({'location': new mxn.LatLonPoint(location.y, location.x)});
- }
-
- // If the user puts their own Google markers directly on the map
- // then there is no location and this event should not fire.
- if ( location ) {
- me.clickHandler(location.y,location.x,location,me);
- }
- });
-
- GEvent.addListener(this.maps[api], 'moveend', function() {
- me.moveendHandler(me);
- me.endPan.fire();
- });
-
- GEvent.addListener(this.maps[api], 'zoomend', function() {
- me.changeZoom.fire();
- });
-
- this.loaded[api] = true;
- me.load.fire();
- }
- else {
- alert('browser not compatible with Google Maps');
- }
- }
- else {
- alert(api + ' map script not imported');
- }
- },
-
- applyOptions: function(){
- var map = this.maps[this.api];
-
- if(this.options.enableScrollWheelZoom){
- map.enableContinuousZoom();
- map.enableScrollWheelZoom();
- }
-
- if (this.options.enableDragging) {
- map.enableDragging();
- } else {
- map.disableDragging();
- }
-
- },
-
- resizeTo: function(width, height){
- this.currentElement.style.width = width;
- this.currentElement.style.height = height;
- this.maps[this.api].checkResize();
- },
-
- addControls: function( args ) {
- var map = this.maps[this.api];
-
- // remove old controls
- if (this.controls) {
- while ((ctl = this.controls.pop())) {
- // Google specific method
- map.removeControl(ctl);
- }
- } else {
- this.controls = [];
- }
- c = this.controls;
-
- // Google has a combined zoom and pan control.
- if (args.zoom || args.pan) {
- if (args.zoom == 'large'){
- this.addLargeControls();
- } else {
- this.addSmallControls();
- }
- }
-
- if (args.scale) {
- this.controls.unshift(new GScaleControl());
- map.addControl(this.controls[0]);
- this.addControlsArgs.scale = true;
- }
-
- if (args.overview) {
- c.unshift(new GOverviewMapControl());
- map.addControl(c[0]);
- this.addControlsArgs.overview = true;
- }
- if (args.map_type) {
- this.addMapTypeControls();
- }
- },
-
- addSmallControls: function() {
- var map = this.maps[this.api];
- this.controls.unshift(new GSmallMapControl());
- map.addControl(this.controls[0]);
- this.addControlsArgs.zoom = 'small';
- this.addControlsArgs.pan = true;
- },
-
- addLargeControls: function() {
- var map = this.maps[this.api];
- this.controls.unshift(new GLargeMapControl());
- map.addControl(this.controls[0]);
- this.addControlsArgs.zoom = 'large';
- this.addControlsArgs.pan = true;
- },
-
- addMapTypeControls: function() {
- var map = this.maps[this.api];
- this.controls.unshift(new GMapTypeControl());
- map.addControl(this.controls[0]);
- this.addControlsArgs.map_type = true;
- },
-
- setCenterAndZoom: function(point, zoom) {
- var map = this.maps[this.api];
- var pt = point.toProprietary(this.api);
- map.setCenter(pt, zoom);
- },
-
- addMarker: function(marker, old) {
- var map = this.maps[this.api];
- var gpin = marker.toProprietary(this.api);
- map.addOverlay(gpin);
-
- GEvent.addListener(gpin, 'infowindowopen', function() {
- marker.openInfoBubble.fire();
- });
- GEvent.addListener(gpin, 'infowindowclose', function() {
- marker.closeInfoBubble.fire();
- });
- return gpin;
- },
-
- removeMarker: function(marker) {
- var map = this.maps[this.api];
- map.removeOverlay(marker.proprietary_marker);
- },
-
- removeAllMarkers: function() {
- var map = this.maps[this.api];
- // FIXME: got a feeling this doesn't only delete markers
- map.clearOverlays();
- },
-
- declutterMarkers: function(opts) {
- throw 'Not implemented';
- },
-
- addPolyline: function(polyline, old) {
- var map = this.maps[this.api];
- gpolyline = polyline.toProprietary(this.api);
- map.addOverlay(gpolyline);
- return gpolyline;
- },
-
- removePolyline: function(polyline) {
- var map = this.maps[this.api];
- map.removeOverlay(polyline.proprietary_polyline);
- },
-
- getCenter: function() {
- var map = this.maps[this.api];
- var pt = map.getCenter();
- var point = new mxn.LatLonPoint(pt.lat(),pt.lng());
- return point;
- },
-
- setCenter: function(point, options) {
- var map = this.maps[this.api];
- var pt = point.toProprietary(this.api);
- if(options && options.pan) {
- map.panTo(pt);
- }
- else {
- map.setCenter(pt);
- }
- },
-
- setZoom: function(zoom) {
- var map = this.maps[this.api];
- map.setZoom(zoom);
- },
-
- getZoom: function() {
- var map = this.maps[this.api];
- return map.getZoom();
- },
-
- getZoomLevelForBoundingBox: function( bbox ) {
- var map = this.maps[this.api];
- // NE and SW points from the bounding box.
- var ne = bbox.getNorthEast();
- var sw = bbox.getSouthWest();
- var gbox = new GLatLngBounds( sw.toProprietary(this.api), ne.toProprietary(this.api) );
- var zoom = map.getBoundsZoomLevel( gbox );
- return zoom;
- },
-
- setMapType: function(type) {
- var map = this.maps[this.api];
- switch(type) {
- case mxn.Mapstraction.ROAD:
- map.setMapType(G_NORMAL_MAP);
- break;
- case mxn.Mapstraction.SATELLITE:
- map.setMapType(G_SATELLITE_MAP);
- break;
- case mxn.Mapstraction.HYBRID:
- map.setMapType(G_HYBRID_MAP);
- break;
- default:
- map.setMapType(type || G_NORMAL_MAP);
- }
- },
-
- getMapType: function() {
- var map = this.maps[this.api];
- var type = map.getCurrentMapType();
- switch(type) {
- case G_NORMAL_MAP:
- return mxn.Mapstraction.ROAD;
- case G_SATELLITE_MAP:
- return mxn.Mapstraction.SATELLITE;
- case G_HYBRID_MAP:
- return mxn.Mapstraction.HYBRID;
- default:
- return null;
- }
- },
-
- getBounds: function () {
- var map = this.maps[this.api];
- var ne, sw, nw, se;
- var gbox = map.getBounds();
- sw = gbox.getSouthWest();
- ne = gbox.getNorthEast();
- return new mxn.BoundingBox(sw.lat(), sw.lng(), ne.lat(), ne.lng());
- },
-
- setBounds: function(bounds){
- var map = this.maps[this.api];
- var sw = bounds.getSouthWest();
- var ne = bounds.getNorthEast();
- var gbounds = new GLatLngBounds(new GLatLng(sw.lat,sw.lon),new GLatLng(ne.lat,ne.lon));
- map.setCenter(gbounds.getCenter(), map.getBoundsZoomLevel(gbounds));
- },
-
- addImageOverlay: function(id, src, opacity, west, south, east, north, oContext) {
- var map = this.maps[this.api];
- map.getPane(G_MAP_MAP_PANE).appendChild(oContext.imgElm);
- this.setImageOpacity(id, opacity);
- this.setImagePosition(id);
- GEvent.bind(map, "zoomend", this, function() {
- this.setImagePosition(id);
- });
- GEvent.bind(map, "moveend", this, function() {
- this.setImagePosition(id);
- });
- },
-
- setImagePosition: function(id, oContext) {
- var map = this.maps[this.api];
- var topLeftPoint; var bottomRightPoint;
-
- topLeftPoint = map.fromLatLngToDivPixel( new GLatLng(oContext.latLng.top, oContext.latLng.left) );
- bottomRightPoint = map.fromLatLngToDivPixel( new GLatLng(oContext.latLng.bottom, oContext.latLng.right) );
-
- oContext.pixels.top = topLeftPoint.y;
- oContext.pixels.left = topLeftPoint.x;
- oContext.pixels.bottom = bottomRightPoint.y;
- oContext.pixels.right = bottomRightPoint.x;
- },
-
- addOverlay: function(url, autoCenterAndZoom) {
- var map = this.maps[this.api];
- var geoXML = new GGeoXml(url);
- map.addOverlay(geoXML, function() {
- if(autoCenterAndZoom) {
- geoXML.gotoDefaultViewport(map);
- }
- });
- },
-
- addTileLayer: function(tile_url, opacity, copyright_text, min_zoom, max_zoom, map_type) {
- var copyright = new GCopyright(1, new GLatLngBounds(new GLatLng(-90,-180), new GLatLng(90,180)), 0, "copyleft");
- var copyrightCollection = new GCopyrightCollection(copyright_text);
- copyrightCollection.addCopyright(copyright);
- var tilelayers = [];
- tilelayers[0] = new GTileLayer(copyrightCollection, min_zoom, max_zoom);
- tilelayers[0].isPng = function() {
- return true;
- };
- tilelayers[0].getOpacity = function() {
- return opacity;
- };
- tilelayers[0].getTileUrl = function (a, b) {
- url = tile_url;
- url = url.replace(/\{Z\}/g,b);
- url = url.replace(/\{X\}/g,a.x);
- url = url.replace(/\{Y\}/g,a.y);
- return url;
- };
- if(map_type) {
- var tileLayerOverlay = new GMapType(tilelayers, new GMercatorProjection(19), copyright_text, {
- errorMessage:"More "+copyright_text+" tiles coming soon"
- });
- this.maps[this.api].addMapType(tileLayerOverlay);
- } else {
- tileLayerOverlay = new GTileLayerOverlay(tilelayers[0]);
- this.maps[this.api].addOverlay(tileLayerOverlay);
- }
- this.tileLayers.push( [tile_url, tileLayerOverlay, true] );
- return tileLayerOverlay;
- },
-
- toggleTileLayer: function(tile_url) {
- for (var f=0; f<this.tileLayers.length; f++) {
- if(this.tileLayers[f][0] == tile_url) {
- if(this.tileLayers[f][2]) {
- this.maps[this.api].removeOverlay(this.tileLayers[f][1]);
- this.tileLayers[f][2] = false;
- }
- else {
- this.maps[this.api].addOverlay(this.tileLayers[f][1]);
- this.tileLayers[f][2] = true;
- }
- }
- }
- },
-
- getPixelRatio: function() {
- var map = this.maps[this.api];
-
- var projection = G_NORMAL_MAP.getProjection();
- var centerPoint = map.getCenter();
- var zoom = map.getZoom();
- var centerPixel = projection.fromLatLngToPixel(centerPoint, zoom);
- // distance is the distance in metres for 5 pixels (3-4-5 triangle)
- var distancePoint = projection.fromPixelToLatLng(new GPoint(centerPixel.x + 3, centerPixel.y + 4), zoom);
- //*1000(km to m), /5 (pythag), *2 (radius to diameter)
- return 10000/distancePoint.distanceFrom(centerPoint);
-
- },
-
- mousePosition: function(element) {
- var locDisp = document.getElementById(element);
- if (locDisp !== null) {
- var map = this.maps[this.api];
- GEvent.addListener(map, 'mousemove', function (point) {
- var loc = point.lat().toFixed(4) + ' / ' + point.lng().toFixed(4);
- locDisp.innerHTML = loc;
- });
- locDisp.innerHTML = '0.0000 / 0.0000';
- }
- }
-},
-
-LatLonPoint: {
-
- toProprietary: function() {
- return new GLatLng(this.lat,this.lon);
- },
-
- fromProprietary: function(googlePoint) {
- this.lat = googlePoint.lat();
- this.lon = googlePoint.lng();
- }
-
-},
-
-Marker: {
-
- toProprietary: function() {
- var infoBubble, event_action, infoDiv, div;
- var options = {};
- if(this.labelText){
- options.title = this.labelText;
- }
- if(this.iconUrl){
- var icon = new GIcon(G_DEFAULT_ICON, this.iconUrl);
- icon.printImage = icon.mozPrintImage = icon.image;
- if(this.iconSize) {
- icon.iconSize = new GSize(this.iconSize[0], this.iconSize[1]);
- var anchor;
- if(this.iconAnchor) {
- anchor = new GPoint(this.iconAnchor[0], this.iconAnchor[1]);
- }
- else {
- // FIXME: hard-coding the anchor point
- anchor = new GPoint(this.iconSize[0]/2, this.iconSize[1]/2);
- }
- icon.iconAnchor = anchor;
- }
- if(typeof(this.iconShadowUrl) != 'undefined') {
- icon.shadow = this.iconShadowUrl;
- if(this.iconShadowSize) {
- icon.shadowSize = new GSize(this.iconShadowSize[0], this.iconShadowSize[1]);
- }
- } else { // turn off shadow
- icon.shadow = '';
- icon.shadowSize = '';
- }
- if(this.transparent) {
- icon.transparent = this.transparent;
- }
- if(this.imageMap) {
- icon.imageMap = this.imageMap;
- }
- options.icon = icon;
- }
- if(this.draggable){
- options.draggable = this.draggable;
- }
- var gmarker = new GMarker( this.location.toProprietary('google'),options);
-
- if(this.infoBubble){
- infoBubble = this.infoBubble;
- if(this.hover) {
- event_action = "mouseover";
- }
- else {
- event_action = "click";
- }
- GEvent.addListener(gmarker, event_action, function() {
- gmarker.openInfoWindowHtml(infoBubble, {
- maxWidth: 100
- });
- });
- }
-
- if(this.hoverIconUrl){
- GEvent.addListener(gmarker, "mouseover", function() {
- gmarker.setImage(this.hoverIconUrl);
- });
- GEvent.addListener(gmarker, "mouseout", function() {
- gmarker.setImage(this.iconUrl);
- });
- }
-
- if(this.infoDiv){
- infoDiv = this.infoDiv;
- div = this.div;
- if(this.hover) {
- event_action = "mouseover";
- }
- else {
- event_action = "click";
- }
- GEvent.addListener(gmarker, event_action, function() {
- document.getElementById(div).innerHTML = infoDiv;
- });
- }
-
- return gmarker;
- },
-
- openBubble: function() {
- var gpin = this.proprietary_marker;
- gpin.openInfoWindowHtml(this.infoBubble);
- },
-
- hide: function() {
- this.proprietary_marker.hide();
- },
-
- show: function() {
- this.proprietary_marker.show();
- },
-
- update: function() {
- point = new mxn.LatLonPoint();
- point.fromGoogle(this.proprietary_marker.getPoint());
- this.location = point;
- }
-
-},
-
-Polyline: {
-
- toProprietary: function() {
- var gpoints = [];
- for (var i = 0, length = this.points.length ; i< length; i++){
- gpoints.push(this.points[i].toProprietary('google'));
- }
- if (this.closed || gpoints[0].equals(gpoints[length-1])) {
- return new GPolygon(gpoints, this.color, this.width, this.opacity, this.fillColor || "#5462E3", this.opacity || "0.3");
- } else {
- return new GPolyline(gpoints, this.color, this.width, this.opacity);
- }
- },
-
- show: function() {
- throw 'Not implemented';
- },
-
- hide: function() {
- throw 'Not implemented';
- }
-}
-
-});
diff --git a/plugins/Mapstraction/js/mxn.google.geocoder.js b/plugins/Mapstraction/js/mxn.google.geocoder.js
deleted file mode 100644
index 5119c00a17..0000000000
--- a/plugins/Mapstraction/js/mxn.google.geocoder.js
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- Copyright (c) 2007, Andrew Turner
- All rights reserved.
-
- 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.
- * 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 the Mapstraction 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 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.
- */
-
-
-// Use http://jsdoc.sourceforge.net/ to generate documentation
-
-// TODO: add reverse geocoding support
-
-/**
- * MapstractionGeocoder instantiates a geocoder with some API choice
- * @param {Function} callback The function to call when a geocode request returns (function(waypoint))
- * @param {String} api The API to use, currently only 'mapquest' is supported
- * @param {Function} error_callback The optional function to call when a geocode request fails
- * @constructor
- */
-function MapstractionGeocoder(callback, api, error_callback) {
- this.api = api;
- this.callback = callback;
- this.geocoders = new Object();
- if(error_callback == null) {
- this.error_callback = this.geocode_error
- } else {
- this.error_callback = error_callback;
- }
-
- // This is so that it is easy to tell which revision of this file
- // has been copied into other projects.
- this.svn_revision_string = '$Revision: 107 $';
-
- this.addAPI(api);
-
-}
-
-
-/**
- * Internal function to actually set the router specific parameters
- */
-MapstractionGeocoder.prototype.addAPI = function(api) {
-
- me = this;
- switch (api) {
- case 'google':
- this.geocoders[api] = new GClientGeocoder();
- break;
- case 'mapquest':
- //set up the connection to the geocode server
- var proxyServerName = "";
- var proxyServerPort = "";
- var ProxyServerPath = "mapquest_proxy/JSReqHandler.php";
-
- var serverName = "geocode.access.mapquest.com";
- var serverPort = "80";
- var serverPath = "mq";
- this.geocoders[api] = new MQExec(serverName, serverPath, serverPort, proxyServerName,
- ProxyServerPath, proxyServerPort );
-
- break;
- default:
- alert(api + ' not supported by mapstraction-geocoder');
- }
-}
-/**
- * Change the Routing API to use
- * @param {String} api The API to swap to
- */
-MapstractionGeocoder.prototype.swap = function(api) {
- if (this.api == api) { return; }
-
- this.api = api;
- if (this.geocoders[this.api] == undefined) {
- this.addAPI($(element),api);
- }
-}
-
-/**
- * Default Geocode error function
- */
-MapstractionGeocoder.prototype.geocode_error = function(response) {
- alert("Sorry, we were unable to geocode that address");
-}
-
-/**
- * Default handler for geocode request completion
- */
-MapstractionGeocoder.prototype.geocode_callback = function(response, mapstraction_geocoder) {
- var return_location = new Object();
-
- // TODO: what if the api is switched during a geocode request?
- // TODO: provide an option error callback
- switch (mapstraction_geocoder.api) {
- case 'google':
- if (!response || response.Status.code != 200) {
- mapstraction_geocoder.error_callback(response);
- } else {
- return_location.street = "";
- return_location.locality = "";
- return_location.region = "";
- return_location.country = "";
-
- var place = response.Placemark[0];
- if(place.AddressDetails.Country.AdministrativeArea != null) {
- return_location.region = place.AddressDetails.Country.AdministrativeArea.AdministrativeAreaName;
-
- if(place.AddressDetails.Country.AdministrativeArea.SubAdministrativeArea != null) {
- if(place.AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality != null) {
- return_location.locality = place.AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.LocalityName;
-
- if(place.AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.Thoroughfare != null)
- return_location.street = place.AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.Thoroughfare.ThoroughfareName;
- }
-
- }
-
- }
- return_location.country = place.AddressDetails.Country.CountryNameCode;
- return_location.address = place.address;
-
- return_location.point = new mxn.LatLonPoint(place.Point.coordinates[1],
- place.Point.coordinates[0]);
- mapstraction_geocoder.callback(return_location);
- }
- break;
- case 'mapquest':
- break;
- }
-}
-
-
-/**
- * Performs a geocoding and then calls the specified callback function with the location
- * @param {Object} address The address object to geocode
- */
- MapstractionGeocoder.prototype.geocode = function(address) {
- var return_location = new Object();
-
- // temporary variable for later using in function closure
- var mapstraction_geocoder = this;
-
- switch (this.api) {
- case 'google':
- if (address.address == null || address.address == "")
- address.address = address.street + ", " + address.locality + ", " + address.region + ", " + address.country
- this.geocoders[this.api].getLocations(address.address, function(response) { mapstraction_geocoder.geocode_callback(response, mapstraction_geocoder); });
- break;
- case 'mapquest':
- var mqaddress = new MQAddress();
- var gaCollection = new MQLocationCollection("MQGeoAddress");
- //populate the address object with the information from the form
- mqaddress.setStreet(address.street);
- mqaddress.setCity(address.locality);
- mqaddress.setState(address.region);
- mqaddress.setPostalCode(address.postalcode);
- mqaddress.setCountry(address.country);
-
- this.geocoders[this.api].geocode(mqaddress, gaCollection);
- var geoAddr = gaCollection.get(0);
- var mqpoint = geoAddr.getMQLatLng();
- return_location.street = geoAddr.getStreet();
- return_location.locality = geoAddr.getCity();
- return_location.region = geoAddr.getState();
- return_location.country = geoAddr.getCountry();
- return_location.point = new mxn.LatLonPoint(mqpoint.getLatitude(), mqpoint.getLongitude());
- this.callback(return_location, this);
- break;
- default:
- alert(api + ' not supported by mapstraction-geocoder');
- break;
- }
- }
diff --git a/plugins/Mapstraction/js/mxn.googlev3.core.js b/plugins/Mapstraction/js/mxn.googlev3.core.js
deleted file mode 100644
index 7ca07ec7fb..0000000000
--- a/plugins/Mapstraction/js/mxn.googlev3.core.js
+++ /dev/null
@@ -1,443 +0,0 @@
-mxn.register('googlev3', {
-
-Mapstraction: {
-
- init: function(element, api){
- var me = this;
- if ( google && google.maps ){
- // by default no controls and road map
- var myOptions = {
- disableDefaultUI: true,
- mapTypeId: google.maps.MapTypeId.ROADMAP
- };
- var map = new google.maps.Map(element, myOptions);
-
- // deal with click
- google.maps.event.addListener(map, 'click', function(location){
- me.clickHandler(location.latLng.lat(),location.latLng.lng(),location,me);
- });
-
- // deal with zoom change
- google.maps.event.addListener(map, 'zoom_changed', function(){
- me.changeZoom.fire();
- });
- // deal with map movement
- google.maps.event.addListener(map, 'dragend', function(){
- me.moveendHandler(me);
- me.endPan.fire();
- });
- this.maps[api] = map;
- this.loaded[api] = true;
- me.load.fire();
- }
- else {
- alert(api + ' map script not imported');
- }
- },
-
- applyOptions: function(){
- var map = this.maps[this.api];
- var myOptions = [];
- if (this.options.enableDragging) {
- myOptions.draggable = true;
- }
- if (this.options.enableScrollWheelZoom){
- myOptions.scrollwheel = true;
- }
- map.setOptions(myOptions);
- },
-
- resizeTo: function(width, height){
- this.currentElement.style.width = width;
- this.currentElement.style.height = height;
- var map = this.maps[this.api];
- google.maps.event.trigger(map,'resize');
- },
-
- addControls: function( args ) {
- var map = this.maps[this.api];
- // remove old controls
-
- // Google has a combined zoom and pan control.
- if (args.zoom || args.pan) {
- if (args.zoom == 'large'){
- this.addLargeControls();
- } else {
- this.addSmallControls();
- }
- }
- if (args.scale){
- var myOptions = {
- scaleControl:true,
- scaleControlOptions: {style:google.maps.ScaleControlStyle.DEFAULT}
- };
- map.setOptions(myOptions);
- this.addControlsArgs.scale = true;
- }
- },
-
- addSmallControls: function() {
- var map = this.maps[this.api];
- var myOptions = {
- navigationControl: true,
- navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL}
- };
- map.setOptions(myOptions);
-
- this.addControlsArgs.pan = false;
- this.addControlsArgs.scale = false;
- this.addControlsArgs.zoom = 'small';
- },
-
- addLargeControls: function() {
- var map = this.maps[this.api];
- var myOptions = {
- navigationControl:true,
- navigationControlOptions: {style:google.maps.NavigationControlStyle.DEFAULT}
- };
- map.setOptions(myOptions);
- this.addControlsArgs.pan = true;
- this.addControlsArgs.zoom = 'large';
- },
-
- addMapTypeControls: function() {
- var map = this.maps[this.api];
- var myOptions = {
- mapTypeControl: true,
- mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DEFAULT}
- };
- map.setOptions(myOptions);
- this.addControlsArgs.map_type = true;
- },
-
- setCenterAndZoom: function(point, zoom) {
- var map = this.maps[this.api];
- var pt = point.toProprietary(this.api);
- map.setCenter(pt);
- map.setZoom(zoom);
- },
-
- addMarker: function(marker, old) {
- return marker.toProprietary(this.api);
- },
-
- removeMarker: function(marker) {
- // doesn't really remove them, just hides them
- marker.hide();
- },
-
- removeAllMarkers: function() {
- var map = this.maps[this.api];
- // TODO: Add provider code
- },
-
- declutterMarkers: function(opts) {
- var map = this.maps[this.api];
- // TODO: Add provider code
- },
-
- addPolyline: function(polyline, old) {
- var map = this.maps[this.api];
- return polyline.toProprietary(this.api);
- },
-
- removePolyline: function(polyline) {
- var map = this.maps[this.api];
- // TODO: Add provider code
- },
-
- getCenter: function() {
- var map = this.maps[this.api];
- var pt = map.getCenter();
- return new mxn.LatLonPoint(pt.lat(),pt.lng());
- },
-
- setCenter: function(point, options) {
- var map = this.maps[this.api];
- var pt = point.toProprietary(this.api);
- if(options && options.pan) {
- map.panTo(pt);
- }
- else {
- map.setCenter(pt);
- }
- },
-
- setZoom: function(zoom) {
- var map = this.maps[this.api];
- map.setZoom(zoom);
- },
-
- getZoom: function() {
- var map = this.maps[this.api];
- return map.getZoom();
- },
-
- getZoomLevelForBoundingBox: function( bbox ) {
- var map = this.maps[this.api];
- var sw = bbox.getSouthWest().toProprietary(this.api);
- var ne = bbox.getNorthEast().toProprietary(this.api);
- var gLatLngBounds = new google.maps.LatLngBounds(sw, ne);
- map.fitBounds(gLatLngBounds);
- return map.getZoom();
- },
-
- setMapType: function(type) {
- var map = this.maps[this.api];
- switch(type) {
- case mxn.Mapstraction.ROAD:
- map.setMapTypeId(google.maps.MapTypeId.ROADMAP);
- break;
- case mxn.Mapstraction.SATELLITE:
- map.setMapTypeId(google.maps.MapTypeId.SATELLITE);
- break;
- case mxn.Mapstraction.HYBRID:
- map.setMapTypeId(google.maps.MapTypeId.HYBRID);
- break;
- default:
- map.setMapTypeId(google.maps.MapTypeId.ROADMAP);
- }
- },
-
- getMapType: function() {
- var map = this.maps[this.api];
- var type = map.getMapTypeId();
- switch(type) {
- case google.maps.MapTypeId.ROADMAP:
- return mxn.Mapstraction.ROAD;
- case google.maps.MapTypeId.SATELLITE:
- return mxn.Mapstraction.SATELLITE;
- case google.maps.MapTypeId.HYBRID:
- return mxn.Mapstraction.HYBRID;
- //case google.maps.MapTypeId.TERRAIN:
- // return something;
- default:
- return null;
- }
- },
-
- getBounds: function () {
- var map = this.maps[this.api];
- var gLatLngBounds = map.getBounds();
- var sw = gLatLngBounds.getSouthWest();
- var ne = gLatLngBounds.getNorthEast();
- return new mxn.BoundingBox(sw.lat(), sw.lng(), ne.lat(), ne.lng());
- },
-
- setBounds: function(bounds){
- var map = this.maps[this.api];
- var sw = bounds.getSouthWest().toProprietary(this.api);
- var ne = bounds.getNorthEast().toProprietary(this.api);
- var gLatLngBounds = new google.maps.LatLngBounds(sw, ne);
- map.fitBounds(gLatLngBounds);
- },
-
- addImageOverlay: function(id, src, opacity, west, south, east, north, oContext) {
- var map = this.maps[this.api];
-
- // TODO: Add provider code
- },
-
- setImagePosition: function(id, oContext) {
- var map = this.maps[this.api];
- var topLeftPoint; var bottomRightPoint;
-
- // TODO: Add provider code
-
- //oContext.pixels.top = ...;
- //oContext.pixels.left = ...;
- //oContext.pixels.bottom = ...;
- //oContext.pixels.right = ...;
- },
-
- addOverlay: function(url, autoCenterAndZoom) {
- var map = this.maps[this.api];
-
- // TODO: Add provider code
-
- },
-
- addTileLayer: function(tile_url, opacity, copyright_text, min_zoom, max_zoom, map_type) {
- var map = this.maps[this.api];
-
- // TODO: Add provider code
- },
-
- toggleTileLayer: function(tile_url) {
- var map = this.maps[this.api];
-
- // TODO: Add provider code
- },
-
- getPixelRatio: function() {
- var map = this.maps[this.api];
-
- // TODO: Add provider code
- },
-
- mousePosition: function(element) {
- var map = this.maps[this.api];
-
- // TODO: Add provider code
- }
-},
-
-LatLonPoint: {
-
- toProprietary: function() {
- return new google.maps.LatLng(this.lat, this.lon);
- },
-
- fromProprietary: function(googlePoint) {
- this.lat = googlePoint.lat();
- this.lon = googlePoint.lng();
- }
-
-},
-
-Marker: {
-
- toProprietary: function() {
- var options = {};
-
- // do we have an Anchor?
- var ax = 0; // anchor x
- var ay = 0; // anchor y
-
- if (this.iconAnchor) {
- ax = this.iconAnchor[0];
- ay = this.iconAnchor[1];
- }
- var gAnchorPoint = new google.maps.Point(ax,ay);
-
- if (this.iconUrl) {
- options.icon = new google.maps.MarkerImage(
- this.iconUrl,
- new google.maps.Size(this.iconSize[0],
- this.iconSize[1]),
- new google.maps.Point(0,0),
- gAnchorPoint
- );
-
- // do we have a Shadow?
- if (this.iconShadowUrl) {
- if (this.iconShadowSize) {
- var x = this.iconShadowSize[0];
- var y = this.iconShadowSize[1];
- options.shadow = new google.maps.MarkerImage(
- this.iconShadowUrl,
- new google.maps.Size(x,y),
- new google.maps.Point(0,0),
- gAnchorPoint
- );
- }
- else {
- options.shadow = new google.maps.MarkerImage(this.iconShadowUrl);
- }
- }
- }
- if (this.draggable){
- options.draggable = this.draggable;
- }
- if (this.labelText){
- options.title = this.labelText;
- }
- if (this.imageMap){
- options.shape = {
- coord: this.imageMap,
- type: 'poly'
- };
- }
-
- options.position = this.location.toProprietary(this.api);
- options.map = this.map;
-
- var marker = new google.maps.Marker(options);
-
- if (this.infoBubble){
- var infowindow = new google.maps.InfoWindow({
- content: this.infoBubble
- });
-
- var event_action = "click";
- if (this.hover) {
- event_action = "mouseover";
- }
- google.maps.event.addListener(marker, event_action, function() { infowindow.open(this.map,marker); });
- }
-
- if (this.hoverIconUrl){
- var gSize = new google.maps.Size(this.iconSize[0],
- this.iconSize[1]);
- var zerozero = new google.maps.Point(0,0);
- var hIcon = new google.maps.MarkerImage(
- this.hoverIconUrl,
- gSize,
- zerozero,
- gAnchorPoint
- );
- var Icon = new google.maps.MarkerImage(
- this.iconUrl,
- gSize,
- zerozero,
- gAnchorPoint
- );
- google.maps.event.addListener(
- marker,
- "mouseover",
- function(){
- marker.setIcon(hIcon);
- }
- );
- google.maps.event.addListener(
- marker,
- "mouseout",
- function(){ marker.setIcon(Icon); }
- );
- }
-
- google.maps.event.addListener(marker, 'click', function() {
- marker.mapstraction_marker.click.fire();
- });
-
- return marker;
- },
-
- openBubble: function() {
- var infowindow = new google.maps.InfoWindow({
- content: this.infoBubble
- });
- infowindow.open(this.map,this.proprietary_marker);
- },
-
- hide: function() {
- this.proprietary_marker.setOptions({visible:false});
- },
-
- show: function() {
- this.proprietary_marker.setOptions({visible:true});
- },
-
- update: function() {
- // TODO: Add provider code
- }
-
-},
-
-Polyline: {
-
- toProprietary: function() {
- throw 'Not implemented';
- },
-
- show: function() {
- throw 'Not implemented';
- },
-
- hide: function() {
- throw 'Not implemented';
- }
-
-}
-
-});
diff --git a/plugins/Mapstraction/js/mxn.js b/plugins/Mapstraction/js/mxn.js
index 7ade41d516..4851fb6b41 100644
--- a/plugins/Mapstraction/js/mxn.js
+++ b/plugins/Mapstraction/js/mxn.js
@@ -16,7 +16,7 @@
var scriptBase;
var scripts = document.getElementsByTagName('script');
- // Determine which scripts we need to load
+ // Determine which scripts we need to load
for (var i = 0; i < scripts.length; i++) {
var match = scripts[i].src.replace(/%20/g , '').match(/^(.*?)mxn\.js(\?\(\[?(.*?)\]?\))?$/);
if (match != null) {
@@ -29,7 +29,7 @@
break;
}
}
-
+
if (providers == null || providers == 'none') return; // Bail out if no auto-load has been found
providers = providers.replace(/ /g, '').split(',');
modules = modules.replace(/ /g, '').split(',');
@@ -57,9 +57,9 @@ var invoke = function(sApiId, sObjName, sFnName, oScope, args){
}
return apis[sApiId][sObjName][sFnName].apply(oScope, args);
};
-
+
/**
- * Determines whether the specified API provides an implementation for the
+ * Determines whether the specified API provides an implementation for the
* specified object and function name.
* @private
*/
@@ -68,7 +68,7 @@ var hasImplementation = function(sApiId, sObjName, sFnName){
throw 'API ' + sApiId + ' not loaded. Are you missing a script tag?';
}
if(typeof(apis[sApiId][sObjName]) == 'undefined') {
- throw 'Object definition ' + sObjName + ' in API ' + sApiId + ' not loaded. Are you missing a script tag?';
+ throw 'Object definition ' + sObjName + ' in API ' + sApiId + ' not loaded. Are you missing a script tag?';
}
return typeof(apis[sApiId][sObjName][sFnName]) == 'function';
};
@@ -78,7 +78,7 @@ var hasImplementation = function(sApiId, sObjName, sFnName){
* @namespace
*/
var mxn = window.mxn = /** @lends mxn */ {
-
+
/**
* Registers a set of provider specific implementation functions.
* @function
@@ -90,10 +90,10 @@ var mxn = window.mxn = /** @lends mxn */ {
apis[sApiId] = {};
}
mxn.util.merge(apis[sApiId], oApiImpl);
- },
-
+ },
+
/**
- * Adds a list of named proxy methods to the prototype of a
+ * Adds a list of named proxy methods to the prototype of a
* specified constructor function.
* @function
* @param {Function} func Constructor function to add methods to
@@ -111,7 +111,7 @@ var mxn = window.mxn = /** @lends mxn */ {
}
}
},
-
+
/*
checkLoad: function(funcDetails){
if(this.loaded[this.api] === false) {
@@ -122,7 +122,7 @@ var mxn = window.mxn = /** @lends mxn */ {
return false;
},
*/
-
+
/**
* Bulk add some named events to an object.
* @function
@@ -138,11 +138,11 @@ var mxn = window.mxn = /** @lends mxn */ {
oEvtSrc[sEvtName] = new mxn.Event(sEvtName, oEvtSrc);
}
}
-
+
};
/**
- * Instantiates a new Event
+ * Instantiates a new Event
* @constructor
* @param {String} sEvtName The name of the event.
* @param {Object} oEvtSource The source object of the event.
@@ -191,7 +191,7 @@ mxn.Event = function(sEvtName, oEvtSource){
};
/**
- * Creates a new Invoker, a class which helps with on-the-fly
+ * Creates a new Invoker, a class which helps with on-the-fly
* invocation of the correct API methods.
* @constructor
* @param {Object} aobj The core object whose methods will make cals to go()
@@ -202,12 +202,12 @@ mxn.Invoker = function(aobj, asClassName, afnApiIdGetter){
var obj = aobj;
var sClassName = asClassName;
var fnApiIdGetter = afnApiIdGetter;
- var defOpts = {
+ var defOpts = {
overrideApi: false, // {Boolean} API ID is overridden by value in first argument
context: null, // {Object} Local vars can be passed from the body of the method to the API method within this object
fallback: null // {Function} If an API implementation doesn't exist this function is run instead
};
-
+
/**
* Invoke the API implementation of a specific method.
* @param {String} sMethodName The method name to invoke
@@ -218,40 +218,40 @@ mxn.Invoker = function(aobj, asClassName, afnApiIdGetter){
* @param {Function} oOptions.fallback A fallback function to run if the provider implementation is missing.
*/
this.go = function(sMethodName, args, oOptions){
-
+
if(typeof(oOptions) == 'undefined'){
oOptions = defOpts;
}
-
+
var sApiId = oOptions.overrideApi ? args[0] : fnApiIdGetter.apply(obj);
-
+
if(typeof(sApiId) != 'string'){
throw 'API ID not available.';
}
-
+
if(typeof(oOptions.context) != 'undefined' && oOptions.context !== null){
// make sure args is an array
args = Array.prototype.slice.apply(args);
args.push(oOptions.context);
}
-
+
if(typeof(oOptions.fallback) == 'function' && !hasImplementation(sApiId, sClassName, sMethodName)){
// we've got no implementation but have got a fallback function
return oOptions.fallback.apply(obj, args);
}
- else {
+ else {
return invoke(sApiId, sClassName, sMethodName, obj, args);
}
-
+
};
-
+
};
/**
* @namespace
*/
mxn.util = {
-
+
/**
* Merges properties of one object into another recursively.
* @param {Object} oRecv The object receiveing properties
@@ -269,7 +269,7 @@ mxn.util = {
}
}
},
-
+
/**
* $m, the dollar function, elegantising getElementById()
* @return An HTML element or array of HTML elements
@@ -310,7 +310,7 @@ mxn.util = {
callback();
}
});
- }
+ }
}
var h = document.getElementsByTagName('head')[0];
h.appendChild( script );
@@ -403,29 +403,6 @@ mxn.util = {
return miles * 1.609344;
},
- // stuff to convert google zoom levels to/from degrees
- // assumes zoom 0 = 256 pixels = 360 degrees
- // zoom 1 = 256 pixels = 180 degrees
- // etc.
-
- /**
- *
- * @param {Object} pixels
- * @param {Object} zoom
- */
- getDegreesFromGoogleZoomLevel: function(pixels, zoom) {
- return (360 * pixels) / (Math.pow(2, zoom + 8));
- },
-
- /**
- *
- * @param {Object} pixels
- * @param {Object} degrees
- */
- getGoogleZoomLevelFromDegrees: function(pixels, degrees) {
- return mxn.util.logN((360 * pixels) / degrees, 2) - 8;
- },
-
/**
*
* @param {Object} number
@@ -434,7 +411,7 @@ mxn.util = {
logN: function(number, base) {
return Math.log(number) / Math.log(base);
},
-
+
/**
* Returns array of loaded provider apis
* @returns {Array} providers
@@ -448,7 +425,7 @@ mxn.util = {
}
return providers;
}
-
+
};
/**
@@ -456,7 +433,7 @@ mxn.util = {
* Accepts either a HTML color string argument or three integers for R, G and B.
* @constructor
*/
-mxn.util.Color = function() {
+mxn.util.Color = function() {
if(arguments.length == 3) {
this.red = arguments[0];
this.green = arguments[1];
diff --git a/plugins/Mapstraction/js/mxn.openlayers.core.js b/plugins/Mapstraction/js/mxn.openlayers.core.js
index c04c3321b4..7d253f8b12 100644
--- a/plugins/Mapstraction/js/mxn.openlayers.core.js
+++ b/plugins/Mapstraction/js/mxn.openlayers.core.js
@@ -1,4 +1,4 @@
-mxn.register('openlayers', {
+mxn.register('openlayers', {
Mapstraction: {
@@ -86,21 +86,21 @@ mxn.register('openlayers', {
// var myOptions = [];
// if (this.options.enableDragging) {
// myOptions.draggable = true;
- // }
+ // }
// if (this.options.enableScrollWheelZoom){
// myOptions.scrollwheel = true;
- // }
+ // }
// map.setOptions(myOptions);
},
- resizeTo: function(width, height){
+ resizeTo: function(width, height){
this.currentElement.style.width = width;
this.currentElement.style.height = height;
this.maps[this.api].updateSize();
},
addControls: function( args ) {
- var map = this.maps[this.api];
+ var map = this.maps[this.api];
// FIXME: OpenLayers has a bug removing all the controls says crschmidt
for (var i = map.controls.length; i>1; i--) {
map.controls[i-1].deactivate();
@@ -112,12 +112,12 @@ mxn.register('openlayers', {
else if ( args.zoom == 'small' ) {
map.addControl(new OpenLayers.Control.ZoomPanel());
if ( args.pan) {
- map.addControl(new OpenLayers.Control.PanPanel());
+ map.addControl(new OpenLayers.Control.PanPanel());
}
}
else {
if ( args.pan){
- map.addControl(new OpenLayers.Control.PanPanel());
+ map.addControl(new OpenLayers.Control.PanPanel());
}
}
if ( args.overview ) {
@@ -131,12 +131,12 @@ mxn.register('openlayers', {
addSmallControls: function() {
var map = this.maps[this.api];
this.addControlsArgs.pan = false;
- this.addControlsArgs.scale = false;
+ this.addControlsArgs.scale = false;
this.addControlsArgs.zoom = 'small';
map.addControl(new OpenLayers.Control.ZoomBox());
map.addControl(new OpenLayers.Control.LayerSwitcher({
'ascending':false
- }));
+ }));
},
addLargeControls: function() {
@@ -154,7 +154,7 @@ mxn.register('openlayers', {
this.addControlsArgs.map_type = true;
},
- setCenterAndZoom: function(point, zoom) {
+ setCenterAndZoom: function(point, zoom) {
var map = this.maps[this.api];
var pt = point.toProprietary(this.api);
map.setCenter(point.toProprietary(this.api), zoom);
@@ -215,7 +215,7 @@ mxn.register('openlayers', {
for(var i = 0, length = this.polylines.length; i < length; i++){
olpolylines.push(this.polylines[i].toProprietary(this.api));
}
- if (this.layers['polylines']) this.layers['polylines'].removeFeatures(olpolylines);
+ if (this.layers['polylines']) this.layers['polylines'].removeFeatures(olpolylines);
},
getCenter: function() {
@@ -228,7 +228,7 @@ mxn.register('openlayers', {
var map = this.maps[this.api];
var pt = point.toProprietary(this.api);
map.setCenter(pt);
-
+
},
setZoom: function(zoom) {
@@ -250,46 +250,18 @@ mxn.register('openlayers', {
setMapType: function(type) {
var map = this.maps[this.api];
throw 'Not implemented (setMapType)';
-
- // switch(type) {
- // case mxn.Mapstraction.ROAD:
- // map.setMapTypeId(google.maps.MapTypeId.ROADMAP);
- // break;
- // case mxn.Mapstraction.SATELLITE:
- // map.setMapTypeId(google.maps.MapTypeId.SATELLITE);
- // break;
- // case mxn.Mapstraction.HYBRID:
- // map.setMapTypeId(google.maps.MapTypeId.HYBRID);
- // break;
- // default:
- // map.setMapTypeId(google.maps.MapTypeId.ROADMAP);
- // }
},
getMapType: function() {
var map = this.maps[this.api];
// TODO: implement actual layer support
return mxn.Mapstraction.ROAD;
-
- // var type = map.getMapTypeId();
- // switch(type) {
- // case google.maps.MapTypeId.ROADMAP:
- // return mxn.Mapstraction.ROAD;
- // case google.maps.MapTypeId.SATELLITE:
- // return mxn.Mapstraction.SATELLITE;
- // case google.maps.MapTypeId.HYBRID:
- // return mxn.Mapstraction.HYBRID;
- // //case google.maps.MapTypeId.TERRAIN:
- // // return something;
- // default:
- // return null;
- // }
},
getBounds: function () {
var map = this.maps[this.api];
var olbox = map.calculateBounds();
- return new mxn.BoundingBox(olbox.bottom, olbox.left, olbox.top, olbox.right);
+ return new mxn.BoundingBox(olbox.bottom, olbox.left, olbox.top, olbox.right);
},
setBounds: function(bounds){
@@ -302,7 +274,7 @@ mxn.register('openlayers', {
}
var obounds = new OpenLayers.Bounds();
-
+
obounds.extend(new mxn.LatLonPoint(sw.lat,sw.lon).toProprietary(this.api));
obounds.extend(new mxn.LatLonPoint(ne.lat,ne.lon).toProprietary(this.api));
map.zoomToExtent(obounds);
@@ -348,13 +320,13 @@ mxn.register('openlayers', {
getPixelRatio: function() {
var map = this.maps[this.api];
- // TODO: Add provider code
+ // TODO: Add provider code
},
mousePosition: function(element) {
var map = this.maps[this.api];
- // TODO: Add provider code
+ // TODO: Add provider code
}
},
@@ -364,7 +336,7 @@ mxn.register('openlayers', {
var ollon = this.lon * 20037508.34 / 180;
var ollat = Math.log(Math.tan((90 + this.lat) * Math.PI / 360)) / (Math.PI / 180);
ollat = ollat * 20037508.34 / 180;
- return new OpenLayers.LonLat(ollon, ollat);
+ return new OpenLayers.LonLat(ollon, ollat);
},
fromProprietary: function(olPoint) {
@@ -448,7 +420,7 @@ mxn.register('openlayers', {
return marker;
},
- openBubble: function() {
+ openBubble: function() {
// TODO: Add provider code
},
diff --git a/plugins/Minify/extlib/minify/README.txt b/plugins/Minify/extlib/minify/README.txt
index 3899b99536..eeb37c66c4 100644
--- a/plugins/Minify/extlib/minify/README.txt
+++ b/plugins/Minify/extlib/minify/README.txt
@@ -1,11 +1,10 @@
WELCOME TO MINIFY 2.1!
-Minify is an HTTP content server. It compresses sources of content
-(usually files), combines the result and serves it with appropriate
-HTTP headers. These headers can allow clients to perform conditional
-GETs (serving content only when clients do not have a valid cache)
-and tell clients to cache the file for a period of time.
-More info: http://code.google.com/p/minify/
+Minify is an HTTP content server. It compresses sources of content
+(usually files), combines the result and serves it with appropriate
+HTTP headers. These headers can allow clients to perform conditional
+GETs (serving content only when clients do not have a valid cache)
+and tell clients to cache the file for a period of time.
UPGRADING
@@ -15,7 +14,7 @@ See UPGRADING.txt for instructions.
INSTALLATION AND USAGE:
-1. Place the /min/ directory as a child of your DOCUMENT_ROOT
+1. Place the /min/ directory as a child of your DOCUMENT_ROOT
directory: i.e. you will have: /home/user/www/public_html/min
2. Open http://yourdomain/min/ in a web browser. This will forward
@@ -25,7 +24,7 @@ quickly start using Minify to serve content on your site.
UNIT TESTING:
-1. Place the /min_unit_tests/ directory as a child of your DOCUMENT_ROOT
+1. Place the /min_unit_tests/ directory as a child of your DOCUMENT_ROOT
directory: i.e. you will have: /home/user/www/public_html/min_unit_tests
2. To run unit tests, access: http://yourdomain/min_unit_tests/test_all.php
@@ -44,10 +43,9 @@ and a couple single-use tools. DO NOT place this on your production server.
FILE ENCODINGS
-Minify *should* work fine with files encoded in UTF-8 or other 8-bit
+Minify *should* work fine with files encoded in UTF-8 or other 8-bit
encodings like ISO 8859/Windows-1252. By default Minify appends
-";charset=utf-8" to the Content-Type headers it sends.
+";charset=utf-8" to the Content-Type headers it sends.
-Leading UTF-8 BOMs are stripped from all sources to prevent
+Leading UTF-8 BOMs are stripped from all sources to prevent
duplication in output files, and files are converted to Unix newlines.
-
diff --git a/plugins/Minify/extlib/minify/UPGRADING.txt b/plugins/Minify/extlib/minify/UPGRADING.txt
index 5025faf9b7..fa2b495325 100644
--- a/plugins/Minify/extlib/minify/UPGRADING.txt
+++ b/plugins/Minify/extlib/minify/UPGRADING.txt
@@ -4,7 +4,7 @@ UPGRADING FROM 2.1.*
1. Rename the following files:
- /min/config.php --> /min/old_config.php
+ /min/config.php --> /min/old_config.php
/min/groupsConfig.php --> /min/old_groupsConfig.php
2. Overwrite all files in /min (and /min_unit_tests) with those from this zip.
@@ -21,15 +21,13 @@ UPGRADING FROM 2.1.*
* $min_errorLogger adds the ability to enable FirePHP logging.
-6. (optional) Delete /min/old_config.php and the Minify files from your cache
+6. (optional) Delete /min/old_config.php and the Minify files from your cache
directory (specified in $min_cachePath).
INSTALLING FRESH
See README.txt for instructions on installing this app for the first time.
-
-SUPPORT
-Send a message to http://groups.google.com/group/minify \ No newline at end of file
+SUPPORT
diff --git a/plugins/Minify/extlib/minify/min/README.txt b/plugins/Minify/extlib/minify/min/README.txt
index a7cf774a18..7c4666e31f 100644
--- a/plugins/Minify/extlib/minify/min/README.txt
+++ b/plugins/Minify/extlib/minify/min/README.txt
@@ -23,7 +23,7 @@ Let's say you want to serve this file:
Here's the "Minify URL" for this file:
http://example.com/min/?f=wp-content/themes/default/default.css
-In other words, the "f" argument is set to the file path from root without the
+In other words, the "f" argument is set to the file path from root without the
initial "/". As CSS files may contain relative URIs, Minify will automatically
"fix" these by rewriting them as root relative.
@@ -59,8 +59,8 @@ In (X)HTML files, don't forget to replace any "&" characters with "&amp;".
SPECIFYING ALLOWED DIRECTORIES
By default, Minify will serve any *.css/*.js files within the DOCUMENT_ROOT. If
-you'd prefer to limit Minify's access to certain directories, set the
-$min_serveOptions['minApp']['allowDirs'] array in config.php. E.g. to limit
+you'd prefer to limit Minify's access to certain directories, set the
+$min_serveOptions['minApp']['allowDirs'] array in config.php. E.g. to limit
to the /js and /themes/default directories, use:
$min_serveOptions['minApp']['allowDirs'] = array('//js', '//themes/default');
@@ -68,27 +68,27 @@ $min_serveOptions['minApp']['allowDirs'] = array('//js', '//themes/default');
GROUPS: FASTER PERFORMANCE AND BETTER URLS
-For the best performance, edit groupsConfig.php to pre-specify groups of files
-to be combined under preset keys. E.g., here's an example configuration in
+For the best performance, edit groupsConfig.php to pre-specify groups of files
+to be combined under preset keys. E.g., here's an example configuration in
groupsConfig.php:
-return array(
- 'js' => array('//js/Class.js', '//js/email.js')
+return array(
+ 'js' => array('//js/Class.js', '//js/email.js')
);
This pre-selects the following files to be combined under the key "js":
http://example.com/js/Class.js
http://example.com/js/email.js
-
+
You can now serve these files with this simple URL:
http://example.com/min/?g=js
-
+
GROUPS: SPECIFYING FILES OUTSIDE THE DOC_ROOT
In the groupsConfig.php array, the "//" in the file paths is a shortcut for
the DOCUMENT_ROOT, but you can also specify paths from the root of the filesystem
-or relative to the DOC_ROOT:
+or relative to the DOC_ROOT:
return array(
'js' => array(
@@ -102,8 +102,8 @@ return array(
FAR-FUTURE EXPIRES HEADERS
Minify can send far-future (one year) Expires headers. To enable this you must
-add a number to the querystring (e.g. /min/?g=js&1234 or /min/f=file.js&1234)
-and alter it whenever a source file is changed. If you have a build process you
+add a number to the querystring (e.g. /min/?g=js&1234 or /min/f=file.js&1234)
+and alter it whenever a source file is changed. If you have a build process you
can use a build/source control revision number.
If you serve files as a group, you can use the utility function Minify_groupUri()
@@ -113,7 +113,7 @@ to get a "versioned" Minify URI for use in your HTML. E.g.:
// add /min/lib to your include_path first!
require $_SERVER['DOCUMENT_ROOT'] . '/min/utils.php';
-$jsUri = Minify_groupUri('js');
+$jsUri = Minify_groupUri('js');
echo "<script type='text/javascript' src='{$jsUri}'></script>";
@@ -128,5 +128,3 @@ Known issue: files with comment-like strings/regexps can cause problems in this
QUESTIONS?
-
-http://groups.google.com/group/minify \ No newline at end of file
diff --git a/plugins/Minify/extlib/minify/min/builder/index.php b/plugins/Minify/extlib/minify/min/builder/index.php
index 1b20982220..d12f278317 100644
--- a/plugins/Minify/extlib/minify/min/builder/index.php
+++ b/plugins/Minify/extlib/minify/min/builder/index.php
@@ -1,4 +1,4 @@
-<?php
+<?php
if (phpversion() < 5) {
exit('Minify requires PHP5 or greater.');
@@ -41,12 +41,12 @@ b {color:#c00}
</head>
<?php if (! isset($min_cachePath)): ?>
-<p class=topNote><strong>Note:</strong> Please set <code>$min_cachePath</code>
+<p class=topNote><strong>Note:</strong> Please set <code>$min_cachePath</code>
in /min/config.php to improve performance.</p>
<?php endIf; ?>
<p id=minRewriteFailed class="hide"><strong>Note:</strong> Your webserver does not seem to
- support mod_rewrite (used in /min/.htaccess). Your Minify URIs will contain "?", which
+ support mod_rewrite (used in /min/.htaccess). Your Minify URIs will contain "?", which
<a href="http://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/"
>may reduce the benefit of proxy cache servers</a>.</p>
@@ -100,9 +100,9 @@ available URIs to add.</p>
</div>
<h3>Combining CSS files that contain <code>@import</code></h3>
-<p>If your CSS files contain <code>@import</code> declarations, Minify will not
+<p>If your CSS files contain <code>@import</code> declarations, Minify will not
remove them. Therefore, you will want to remove those that point to files already
-in your list, and move any others to the top of the first file in your list
+in your list, and move any others to the top of the first file in your list
(imports below any styles will be ignored by browsers as invalid).</p>
<p>If you desire, you can use Minify URIs in imports and they will not be touched
by Minify. E.g. <code>@import "<span class=minRoot>/min/?</span>g=css2";</code></p>
@@ -110,13 +110,8 @@ by Minify. E.g. <code>@import "<span class=minRoot>/min/?</span>g=css2";</code><
</div><!-- #app -->
<hr>
-<p>Need help? Search or post to the <a class=ext
-href="http://groups.google.com/group/minify">Minify discussion list</a>.</p>
-<p><small>This app is minified :) <a class=ext
-href="http://code.google.com/p/minify/source/browse/trunk/min/builder/index.php">view
-source</a></small></p>
-<script type="text/javascript"
+<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
<script type="text/javascript">
@@ -127,11 +122,11 @@ $(function () {
$.get(url, function (ocStatus) {
$.get(url + '&hello=1', function (ocHello) {
if (ocHello != 'World!') {
- msg += 'It appears output is being automatically compressed, interfering '
+ msg += 'It appears output is being automatically compressed, interfering '
+ ' with Minify\'s own compression. ';
if (ocStatus == '1')
msg += 'The option "zlib.output_compression" is enabled in your PHP configuration. '
- + 'Minify set this to "0", but it had no effect. This option must be disabled '
+ + 'Minify set this to "0", but it had no effect. This option must be disabled '
+ 'in php.ini or .htaccess.';
else
msg += 'The option "zlib.output_compression" is disabled in your PHP configuration '
diff --git a/plugins/Minify/extlib/minify/min/lib/JSMin.php b/plugins/Minify/extlib/minify/min/lib/JSMin.php
index 770e1c6104..bef5bffdde 100644
--- a/plugins/Minify/extlib/minify/min/lib/JSMin.php
+++ b/plugins/Minify/extlib/minify/min/lib/JSMin.php
@@ -6,7 +6,7 @@
* modifications to preserve some comments (see below). Also, rather than using
* stdin/stdout, JSMin::minify() accepts a string as input and returns another
* string as output.
- *
+ *
* Comments containing IE conditional compilation are preserved, as are multi-line
* comments that begin with "/*!" (for documentation purposes). In the latter case
* newlines are inserted around the comment to enhance readability.
@@ -47,7 +47,6 @@
* @copyright 2002 Douglas Crockford <douglas@crockford.com> (jsmin.c)
* @copyright 2008 Ryan Grove <ryan@wonko.com> (PHP port)
* @license http://opensource.org/licenses/mit-license.php MIT License
- * @link http://code.google.com/p/jsmin-php/
*/
class JSMin {
@@ -56,7 +55,7 @@ class JSMin {
const ACTION_KEEP_A = 1;
const ACTION_DELETE_A = 2;
const ACTION_DELETE_A_B = 3;
-
+
protected $a = "\n";
protected $b = '';
protected $input = '';
@@ -64,7 +63,7 @@ class JSMin {
protected $inputLength = 0;
protected $lookAhead = null;
protected $output = '';
-
+
/**
* Minify Javascript
*
@@ -76,7 +75,7 @@ class JSMin {
$jsmin = new JSMin($js);
return $jsmin->min();
}
-
+
/**
* Setup process
*/
@@ -85,7 +84,7 @@ class JSMin {
$this->input = str_replace("\r\n", "\n", $input);
$this->inputLength = strlen($this->input);
}
-
+
/**
* Perform minification, return result
*/
@@ -95,7 +94,7 @@ class JSMin {
return $this->output;
}
$this->action(self::ACTION_DELETE_A_B);
-
+
while ($this->a !== null) {
// determine next command
$command = self::ACTION_KEEP_A; // default
@@ -106,13 +105,13 @@ class JSMin {
} elseif ($this->a === "\n") {
if ($this->b === ' ') {
$command = self::ACTION_DELETE_A_B;
- } elseif (false === strpos('{[(+-', $this->b)
+ } elseif (false === strpos('{[(+-', $this->b)
&& ! $this->isAlphaNum($this->b)) {
$command = self::ACTION_DELETE_A;
}
} elseif (! $this->isAlphaNum($this->a)) {
if ($this->b === ' '
- || ($this->b === "\n"
+ || ($this->b === "\n"
&& (false === strpos('}])+-"\'', $this->a)))) {
$command = self::ACTION_DELETE_A_B;
}
@@ -122,7 +121,7 @@ class JSMin {
$this->output = trim($this->output);
return $this->output;
}
-
+
/**
* ACTION_KEEP_A = Output A. Copy B to A. Get the next B.
* ACTION_DELETE_A = Copy B to A. Get the next B.
@@ -182,7 +181,7 @@ class JSMin {
// end case ACTION_DELETE_A_B
}
}
-
+
protected function isRegexpLiteral()
{
if (false !== strpos("\n{;(,=:[!&|?", $this->a)) { // we aren't dividing
@@ -207,7 +206,7 @@ class JSMin {
}
return false;
}
-
+
/**
* Get next char. Convert ctrl char to space.
*/
@@ -231,7 +230,7 @@ class JSMin {
}
return $c;
}
-
+
/**
* Get next char. If is ctrl character, translate to a space or newline.
*/
@@ -240,7 +239,7 @@ class JSMin {
$this->lookAhead = $this->get();
return $this->lookAhead;
}
-
+
/**
* Is $c a letter, digit, underscore, dollar sign, escape, or non-ASCII?
*/
@@ -248,7 +247,7 @@ class JSMin {
{
return (preg_match('/^[0-9a-zA-Z_\\$\\\\]$/', $c) || ord($c) > 126);
}
-
+
protected function singleLineComment()
{
$comment = '';
@@ -264,7 +263,7 @@ class JSMin {
}
}
}
-
+
protected function multipleLineComment()
{
$this->get();
@@ -290,7 +289,7 @@ class JSMin {
$comment .= $get;
}
}
-
+
/**
* Get the next character, skipping over comments.
* Some comments may be preserved.
diff --git a/plugins/Minify/extlib/minify/min/lib/Minify.php b/plugins/Minify/extlib/minify/min/lib/Minify.php
index 2c0ca346ca..abb6d01175 100644
--- a/plugins/Minify/extlib/minify/min/lib/Minify.php
+++ b/plugins/Minify/extlib/minify/min/lib/Minify.php
@@ -1,6 +1,6 @@
<?php
/**
- * Class Minify
+ * Class Minify
* @package Minify
*/
@@ -8,7 +8,7 @@
* Minify_Source
*/
require_once 'Minify/Source.php';
-
+
/**
* Minify - Combines, minifies, and caches JavaScript and CSS files on demand.
*
@@ -25,30 +25,29 @@ require_once 'Minify/Source.php';
* @author Stephen Clay <steve@mrclay.org>
* @copyright 2008 Ryan Grove, Stephen Clay. All rights reserved.
* @license http://opensource.org/licenses/bsd-license.php New BSD License
- * @link http://code.google.com/p/minify/
*/
class Minify {
-
+
const VERSION = '2.1.3';
const TYPE_CSS = 'text/css';
const TYPE_HTML = 'text/html';
// there is some debate over the ideal JS Content-Type, but this is the
// Apache default and what Yahoo! uses..
const TYPE_JS = 'application/x-javascript';
-
+
/**
* How many hours behind are the file modification times of uploaded files?
- *
+ *
* If you upload files from Windows to a non-Windows server, Windows may report
- * incorrect mtimes for the files. Immediately after modifying and uploading a
- * file, use the touch command to update the mtime on the server. If the mtime
- * jumps ahead by a number of hours, set this variable to that number. If the mtime
+ * incorrect mtimes for the files. Immediately after modifying and uploading a
+ * file, use the touch command to update the mtime on the server. If the mtime
+ * jumps ahead by a number of hours, set this variable to that number. If the mtime
* moves back, this should not be needed.
*
* @var int $uploaderHoursBehind
*/
public static $uploaderHoursBehind = 0;
-
+
/**
* If this string is not empty AND the serve() option 'bubbleCssImports' is
* NOT set, then serve() will check CSS files for @import declarations that
@@ -57,18 +56,18 @@ class Minify {
*
* @var string $importWarning
*/
- public static $importWarning = "/* See http://code.google.com/p/minify/wiki/CommonProblems#@imports_can_appear_in_invalid_locations_in_combined_CSS_files */\n";
-
+ public static $importWarning = "";
+
/**
* Specify a cache object (with identical interface as Minify_Cache_File) or
* a path to use with Minify_Cache_File.
- *
- * If not called, Minify will not use a cache and, for each 200 response, will
+ *
+ * If not called, Minify will not use a cache and, for each 200 response, will
* need to recombine files, minify and encode the output.
*
* @param mixed $cache object with identical interface as Minify_Cache_File or
* a directory path, or null to disable caching. (default = '')
- *
+ *
* @param bool $fileLocking (default = true) This only applies if the first
* parameter is a string.
*
@@ -83,76 +82,76 @@ class Minify {
self::$_cache = $cache;
}
}
-
+
/**
- * Serve a request for a minified file.
- *
+ * Serve a request for a minified file.
+ *
* Here are the available options and defaults in the base controller:
- *
- * 'isPublic' : send "public" instead of "private" in Cache-Control
+ *
+ * 'isPublic' : send "public" instead of "private" in Cache-Control
* headers, allowing shared caches to cache the output. (default true)
- *
+ *
* 'quiet' : set to true to have serve() return an array rather than sending
* any headers/output (default false)
- *
+ *
* 'encodeOutput' : set to false to disable content encoding, and not send
* the Vary header (default true)
- *
- * 'encodeMethod' : generally you should let this be determined by
+ *
+ * 'encodeMethod' : generally you should let this be determined by
* HTTP_Encoder (leave null), but you can force a particular encoding
* to be returned, by setting this to 'gzip' or '' (no encoding)
- *
+ *
* 'encodeLevel' : level of encoding compression (0 to 9, default 9)
- *
+ *
* 'contentTypeCharset' : appended to the Content-Type header sent. Set to a falsey
- * value to remove. (default 'utf-8')
- *
+ * value to remove. (default 'utf-8')
+ *
* 'maxAge' : set this to the number of seconds the client should use its cache
* before revalidating with the server. This sets Cache-Control: max-age and the
* Expires header. Unlike the old 'setExpires' setting, this setting will NOT
* prevent conditional GETs. Note this has nothing to do with server-side caching.
- *
+ *
* 'rewriteCssUris' : If true, serve() will automatically set the 'currentDir'
* minifier option to enable URI rewriting in CSS files (default true)
- *
+ *
* 'bubbleCssImports' : If true, all @import declarations in combined CSS
* files will be move to the top. Note this may alter effective CSS values
* due to a change in order. (default false)
- *
+ *
* 'debug' : set to true to minify all sources with the 'Lines' controller, which
* eases the debugging of combined files. This also prevents 304 responses.
* @see Minify_Lines::minify()
- *
- * 'minifiers' : to override Minify's default choice of minifier function for
- * a particular content-type, specify your callback under the key of the
+ *
+ * 'minifiers' : to override Minify's default choice of minifier function for
+ * a particular content-type, specify your callback under the key of the
* content-type:
* <code>
* // call customCssMinifier($css) for all CSS minification
* $options['minifiers'][Minify::TYPE_CSS] = 'customCssMinifier';
- *
+ *
* // don't minify Javascript at all
* $options['minifiers'][Minify::TYPE_JS] = '';
* </code>
- *
+ *
* 'minifierOptions' : to send options to the minifier function, specify your options
- * under the key of the content-type. E.g. To send the CSS minifier an option:
+ * under the key of the content-type. E.g. To send the CSS minifier an option:
* <code>
- * // give CSS minifier array('optionName' => 'optionValue') as 2nd argument
+ * // give CSS minifier array('optionName' => 'optionValue') as 2nd argument
* $options['minifierOptions'][Minify::TYPE_CSS]['optionName'] = 'optionValue';
* </code>
- *
- * 'contentType' : (optional) this is only needed if your file extension is not
+ *
+ * 'contentType' : (optional) this is only needed if your file extension is not
* js/css/html. The given content-type will be sent regardless of source file
* extension, so this should not be used in a Groups config with other
* Javascript/CSS files.
- *
+ *
* Any controller options are documented in that controller's setupSources() method.
- *
+ *
* @param mixed instance of subclass of Minify_Controller_Base or string name of
* controller. E.g. 'Files'
- *
+ *
* @param array $options controller/serve options
- *
+ *
* @return mixed null, or, if the 'quiet' option is set to true, an array
* with keys "success" (bool), "statusCode" (int), "content" (string), and
* "headers" (array).
@@ -163,18 +162,18 @@ class Minify {
// make $controller into object
$class = 'Minify_Controller_' . $controller;
if (! class_exists($class, false)) {
- require_once "Minify/Controller/"
- . str_replace('_', '/', $controller) . ".php";
+ require_once "Minify/Controller/"
+ . str_replace('_', '/', $controller) . ".php";
}
$controller = new $class();
}
-
+
// set up controller sources and mix remaining options with
// controller defaults
$options = $controller->setupSources($options);
$options = $controller->analyzeSources($options);
self::$_options = $controller->mixInDefaultOptions($options);
-
+
// check request validity
if (! $controller->sources) {
// invalid request!
@@ -192,14 +191,14 @@ class Minify {
);
}
}
-
+
self::$_controller = $controller;
-
+
if (self::$_options['debug']) {
self::_setupDebug($controller->sources);
self::$_options['maxAge'] = 0;
}
-
+
// determine encoding
if (self::$_options['encodeOutput']) {
if (self::$_options['encodeMethod'] !== null) {
@@ -208,7 +207,7 @@ class Minify {
} else {
// sniff request header
require_once 'HTTP/Encoder.php';
- // depending on what the client accepts, $contentEncoding may be
+ // depending on what the client accepts, $contentEncoding may be
// 'x-gzip' while our internal encodeMethod is 'gzip'. Calling
// getAcceptedEncoding(false, false) leaves out compress and deflate as options.
list(self::$_options['encodeMethod'], $contentEncoding) = HTTP_Encoder::getAcceptedEncoding(false, false);
@@ -216,7 +215,7 @@ class Minify {
} else {
self::$_options['encodeMethod'] = ''; // identity (no encoding)
}
-
+
// check client cache
require_once 'HTTP/ConditionalGet.php';
$cgOptions = array(
@@ -246,12 +245,12 @@ class Minify {
$headers = $cg->getHeaders();
unset($cg);
}
-
+
if (self::$_options['contentType'] === self::TYPE_CSS
&& self::$_options['rewriteCssUris']) {
reset($controller->sources);
while (list($key, $source) = each($controller->sources)) {
- if ($source->filepath
+ if ($source->filepath
&& !isset($source->minifyOptions['currentDir'])
&& !isset($source->minifyOptions['prependRelativePath'])
) {
@@ -259,11 +258,11 @@ class Minify {
}
}
}
-
+
// check server cache
if (null !== self::$_cache) {
// using cache
- // the goal is to use only the cache methods to sniff the length and
+ // the goal is to use only the cache methods to sniff the length and
// output the content, as they do not require ever loading the file into
// memory.
$cacheId = 'minify_' . self::_getCacheId();
@@ -271,9 +270,9 @@ class Minify {
? $cacheId . '.gz'
: $cacheId;
// check cache for valid entry
- $cacheIsReady = self::$_cache->isValid($fullCacheId, self::$_options['lastModifiedTime']);
+ $cacheIsReady = self::$_cache->isValid($fullCacheId, self::$_options['lastModifiedTime']);
if ($cacheIsReady) {
- $cacheContentLength = self::$_cache->getSize($fullCacheId);
+ $cacheContentLength = self::$_cache->getSize($fullCacheId);
} else {
// generate & cache content
$content = self::_combineMinify();
@@ -291,7 +290,7 @@ class Minify {
// still need to encode
$content = gzencode($content, self::$_options['encodeLevel']);
}
-
+
// add headers
$headers['Content-Length'] = $cacheIsReady
? $cacheContentLength
@@ -327,17 +326,17 @@ class Minify {
);
}
}
-
+
/**
* Return combined minified content for a set of sources
*
* No internal caching will be used and the content will not be HTTP encoded.
- *
+ *
* @param array $sources array of filepaths and/or Minify_Source objects
- *
+ *
* @param array $options (optional) array of options for serve. By default
* these are already set: quiet = true, encodeMethod = '', lastModifiedTime = 0.
- *
+ *
* @return string
*/
public static function combine($sources, $options = array())
@@ -354,13 +353,13 @@ class Minify {
self::$_cache = $cache;
return $out['content'];
}
-
+
/**
* On IIS, create $_SERVER['DOCUMENT_ROOT']
- *
+ *
* @param bool $unsetPathInfo (default false) if true, $_SERVER['PATH_INFO']
* will be unset (it is inconsistent with Apache's setting)
- *
+ *
* @return null
*/
public static function setDocRoot($unsetPathInfo = false)
@@ -380,22 +379,22 @@ class Minify {
Minify_Logger::log("setDocRoot() set DOCUMENT_ROOT to \"{$_SERVER['DOCUMENT_ROOT']}\"");
}
}
-
+
/**
* @var mixed Minify_Cache_* object or null (i.e. no server cache is used)
*/
private static $_cache = null;
-
+
/**
* @var Minify_Controller active controller for current request
*/
protected static $_controller = null;
-
+
/**
* @var array options for current request
*/
protected static $_options = null;
-
+
/**
* Set up sources to use Minify_Lines
*
@@ -413,7 +412,7 @@ class Minify {
);
}
}
-
+
/**
* Combines sources and minifies the result.
*
@@ -422,7 +421,7 @@ class Minify {
protected static function _combineMinify()
{
$type = self::$_options['contentType']; // ease readability
-
+
// when combining scripts, make sure all statements separated and
// trailing single line comment is terminated
$implodeSeparator = ($type === self::TYPE_JS)
@@ -439,7 +438,7 @@ class Minify {
$defaultMinifier = isset(self::$_options['minifiers'][$type])
? self::$_options['minifiers'][$type]
: false;
-
+
if (Minify_Source::haveNoMinifyPrefs(self::$_controller->sources)) {
// all source have same options/minifier, better performance
// to combine, then minify once
@@ -449,7 +448,7 @@ class Minify {
$content = implode($implodeSeparator, $pieces);
if ($defaultMinifier) {
self::$_controller->loadMinifier($defaultMinifier);
- $content = call_user_func($defaultMinifier, $content, $defaultOptions);
+ $content = call_user_func($defaultMinifier, $content, $defaultOptions);
}
} else {
// minify each source with its own options and minifier, then combine
@@ -464,18 +463,18 @@ class Minify {
if ($minifier) {
self::$_controller->loadMinifier($minifier);
// get source content and minify it
- $pieces[] = call_user_func($minifier, $source->getContent(), $options);
+ $pieces[] = call_user_func($minifier, $source->getContent(), $options);
} else {
- $pieces[] = $source->getContent();
+ $pieces[] = $source->getContent();
}
}
$content = implode($implodeSeparator, $pieces);
}
-
+
if ($type === self::TYPE_CSS && false !== strpos($content, '@import')) {
$content = self::_handleCssImports($content);
}
-
+
// do any post-processing (esp. for editing build URIs)
if (self::$_options['postprocessorRequire']) {
require_once self::$_options['postprocessorRequire'];
@@ -485,11 +484,11 @@ class Minify {
}
return $content;
}
-
+
/**
* Make a unique cache id for for this request.
- *
- * Any settings that could affect output are taken into consideration
+ *
+ * Any settings that could affect output are taken into consideration
*
* @return string
*/
@@ -497,13 +496,13 @@ class Minify {
{
return md5(serialize(array(
Minify_Source::getDigest(self::$_controller->sources)
- ,self::$_options['minifiers']
+ ,self::$_options['minifiers']
,self::$_options['minifierOptions']
,self::$_options['postprocessor']
,self::$_options['bubbleCssImports']
)));
}
-
+
/**
* Bubble CSS @imports to the top or prepend a warning if an
* @import is detected not at the top.
diff --git a/plugins/Minify/extlib/minify/min/lib/Minify/CSS.php b/plugins/Minify/extlib/minify/min/lib/Minify/CSS.php
index 2220cf2211..539fe73fd0 100644
--- a/plugins/Minify/extlib/minify/min/lib/Minify/CSS.php
+++ b/plugins/Minify/extlib/minify/min/lib/Minify/CSS.php
@@ -12,7 +12,6 @@
*
* @package Minify
* @author Stephen Clay <steve@mrclay.org>
- * @author http://code.google.com/u/1stvamp/ (Issue 64 patch)
*/
class Minify_CSS {
@@ -36,10 +35,10 @@ class Minify_CSS {
* the desired files. For this to work, the files *must* exist and be
* visible by the PHP process.
*
- * 'symlinks': (default = array()) If the CSS file is stored in
+ * 'symlinks': (default = array()) If the CSS file is stored in
* a symlink-ed directory, provide an array of link paths to
- * target paths, where the link paths are within the document root. Because
- * paths need to be normalized for this to work, use "//" to substitute
+ * target paths, where the link paths are within the document root. Because
+ * paths need to be normalized for this to work, use "//" to substitute
* the doc root in the link paths (the array keys). E.g.:
* <code>
* array('//symlink' => '/real/target/path') // unix
diff --git a/plugins/Minify/extlib/minify/min/lib/Minify/CSS/Compressor.php b/plugins/Minify/extlib/minify/min/lib/Minify/CSS/Compressor.php
index a34828681d..a2c64181c5 100644
--- a/plugins/Minify/extlib/minify/min/lib/Minify/CSS/Compressor.php
+++ b/plugins/Minify/extlib/minify/min/lib/Minify/CSS/Compressor.php
@@ -1,6 +1,6 @@
<?php
/**
- * Class Minify_CSS_Compressor
+ * Class Minify_CSS_Compressor
* @package Minify
*/
@@ -9,24 +9,23 @@
*
* This is a heavy regex-based removal of whitespace, unnecessary
* comments and tokens, and some CSS value minimization, where practical.
- * Many steps have been taken to avoid breaking comment-based hacks,
+ * Many steps have been taken to avoid breaking comment-based hacks,
* including the ie5/mac filter (and its inversion), but expect tricky
* hacks involving comment tokens in 'content' value strings to break
* minimization badly. A test suite is available.
- *
+ *
* @package Minify
* @author Stephen Clay <steve@mrclay.org>
- * @author http://code.google.com/u/1stvamp/ (Issue 64 patch)
*/
class Minify_CSS_Compressor {
/**
* Minify a CSS string
- *
+ *
* @param string $css
- *
+ *
* @param array $options (currently ignored)
- *
+ *
* @return string
*/
public static function process($css, $options = array())
@@ -34,51 +33,51 @@ class Minify_CSS_Compressor {
$obj = new Minify_CSS_Compressor($options);
return $obj->_process($css);
}
-
+
/**
* @var array options
*/
protected $_options = null;
-
+
/**
* @var bool Are we "in" a hack?
- *
+ *
* I.e. are some browsers targetted until the next comment?
*/
protected $_inHack = false;
-
-
+
+
/**
* Constructor
- *
+ *
* @param array $options (currently ignored)
- *
+ *
* @return null
*/
private function __construct($options) {
$this->_options = $options;
}
-
+
/**
* Minify a CSS string
- *
+ *
* @param string $css
- *
+ *
* @return string
*/
protected function _process($css)
{
$css = str_replace("\r\n", "\n", $css);
-
+
// preserve empty comment after '>'
// http://www.webdevout.net/css-hacks#in_css-selectors
$css = preg_replace('@>/\\*\\s*\\*/@', '>/*keep*/', $css);
-
+
// preserve empty comment between property and value
// http://css-discuss.incutio.com/?page=BoxModelHack
$css = preg_replace('@/\\*\\s*\\*/\\s*:@', '/*keep*/:', $css);
$css = preg_replace('@:\\s*/\\*\\s*\\*/@', ':/*keep*/', $css);
-
+
// apply callback to all valid comments (and strip out surrounding ws
$css = preg_replace_callback('@\\s*/\\*([\\s\\S]*?)\\*/\\s*@'
,array($this, '_commentCB'), $css);
@@ -86,10 +85,10 @@ class Minify_CSS_Compressor {
// remove ws around { } and last semicolon in declaration block
$css = preg_replace('/\\s*{\\s*/', '{', $css);
$css = preg_replace('/;?\\s*}\\s*/', '}', $css);
-
+
// remove ws surrounding semicolons
$css = preg_replace('/\\s*;\\s*/', ';', $css);
-
+
// remove ws around urls
$css = preg_replace('/
url\\( # url(
@@ -98,11 +97,11 @@ class Minify_CSS_Compressor {
\\s*
\\) # )
/x', 'url($1)', $css);
-
+
// remove ws between rules and colons
$css = preg_replace('/
\\s*
- ([{;]) # 1 = beginning of block or rule separator
+ ([{;]) # 1 = beginning of block or rule separator
\\s*
([\\*_]?[\\w\\-]+) # 2 = property (and maybe IE filter)
\\s*
@@ -110,7 +109,7 @@ class Minify_CSS_Compressor {
\\s*
(\\b|[#\'"]) # 3 = first character of a value
/x', '$1$2:$3', $css);
-
+
// remove ws in selectors
$css = preg_replace_callback('/
(?: # non-capture
@@ -124,41 +123,41 @@ class Minify_CSS_Compressor {
{ # open declaration block
/x'
,array($this, '_selectorsCB'), $css);
-
+
// minimize hex colors
$css = preg_replace('/([^=])#([a-f\\d])\\2([a-f\\d])\\3([a-f\\d])\\4([\\s;\\}])/i'
, '$1#$2$3$4$5', $css);
-
+
// remove spaces between font families
$css = preg_replace_callback('/font-family:([^;}]+)([;}])/'
,array($this, '_fontFamilyCB'), $css);
-
+
$css = preg_replace('/@import\\s+url/', '@import url', $css);
-
+
// replace any ws involving newlines with a single newline
$css = preg_replace('/[ \\t]*\\n+\\s*/', "\n", $css);
-
+
// separate common descendent selectors w/ newlines (to limit line lengths)
$css = preg_replace('/([\\w#\\.\\*]+)\\s+([\\w#\\.\\*]+){/', "$1\n$2{", $css);
-
+
// Use newline after 1st numeric value (to limit line lengths).
$css = preg_replace('/
((?:padding|margin|border|outline):\\d+(?:px|em)?) # 1 = prop : 1st numeric value
\\s+
/x'
,"$1\n", $css);
-
+
// prevent triggering IE6 bug: http://www.crankygeek.com/ie6pebug/
$css = preg_replace('/:first-l(etter|ine)\\{/', ':first-l$1 {', $css);
-
+
return trim($css);
}
-
+
/**
- * Replace what looks like a set of selectors
+ * Replace what looks like a set of selectors
*
* @param array $m regex matches
- *
+ *
* @return string
*/
protected function _selectorsCB($m)
@@ -166,19 +165,19 @@ class Minify_CSS_Compressor {
// remove ws around the combinators
return preg_replace('/\\s*([,>+~])\\s*/', '$1', $m[0]);
}
-
+
/**
* Process a comment and return a replacement
- *
+ *
* @param array $m regex matches
- *
+ *
* @return string
*/
protected function _commentCB($m)
{
$hasSurroundingWs = (trim($m[0]) !== $m[1]);
- $m = $m[1];
- // $m is the comment content w/o the surrounding tokens,
+ $m = $m[1];
+ // $m is the comment content w/o the surrounding tokens,
// but the return value will replace the entire comment.
if ($m === 'keep') {
return '/**/';
@@ -220,19 +219,19 @@ class Minify_CSS_Compressor {
$this->_inHack = false;
return '/**/';
}
- // Issue 107: if there's any surrounding whitespace, it may be important, so
+ // Issue 107: if there's any surrounding whitespace, it may be important, so
// replace the comment with a single space
return $hasSurroundingWs // remove all other comments
? ' '
: '';
}
-
+
/**
* Process a font-family listing and return a replacement
- *
+ *
* @param array $m regex matches
- *
- * @return string
+ *
+ * @return string
*/
protected function _fontFamilyCB($m)
{
diff --git a/plugins/Minify/extlib/minify/min/lib/Minify/Controller/Page.php b/plugins/Minify/extlib/minify/min/lib/Minify/Controller/Page.php
index fa4599abd9..14d2226e27 100644
--- a/plugins/Minify/extlib/minify/min/lib/Minify/Controller/Page.php
+++ b/plugins/Minify/extlib/minify/min/lib/Minify/Controller/Page.php
@@ -1,6 +1,6 @@
<?php
/**
- * Class Minify_Controller_Page
+ * Class Minify_Controller_Page
* @package Minify
*/
@@ -8,30 +8,29 @@ require_once 'Minify/Controller/Base.php';
/**
* Controller class for serving a single HTML page
- *
- * @link http://code.google.com/p/minify/source/browse/trunk/web/examples/1/index.php#59
+ *
* @package Minify
* @author Stephen Clay <steve@mrclay.org>
*/
class Minify_Controller_Page extends Minify_Controller_Base {
-
+
/**
* Set up source of HTML content
- *
+ *
* @param array $options controller and Minify options
* @return array Minify options
- *
+ *
* Controller options:
- *
+ *
* 'content': (required) HTML markup
- *
+ *
* 'id': (required) id of page (string for use in server-side caching)
- *
+ *
* 'lastModifiedTime': timestamp of when this content changed. This
* is recommended to allow both server and client-side caching.
- *
- * 'minifyAll': should all CSS and Javascript blocks be individually
- * minified? (default false)
+ *
+ * 'minifyAll': should all CSS and Javascript blocks be individually
+ * minified? (default false)
*
* @todo Add 'file' option to read HTML file.
*/
@@ -58,13 +57,13 @@ class Minify_Controller_Page extends Minify_Controller_Base {
unset($options['minifyAll']);
}
$this->sources[] = new Minify_Source($sourceSpec);
-
+
$options['contentType'] = Minify::TYPE_HTML;
return $options;
}
-
+
protected $_loadCssJsMinifiers = false;
-
+
/**
* @see Minify_Controller_Base::loadMinifier()
*/
@@ -79,4 +78,3 @@ class Minify_Controller_Page extends Minify_Controller_Base {
parent::loadMinifier($minifierCallback); // load Minify/HTML.php
}
}
-
diff --git a/plugins/Minify/extlib/minify/min/lib/Minify/Packer.php b/plugins/Minify/extlib/minify/min/lib/Minify/Packer.php
index 949c3eef04..4a9666dbe9 100644
--- a/plugins/Minify/extlib/minify/min/lib/Minify/Packer.php
+++ b/plugins/Minify/extlib/minify/min/lib/Minify/Packer.php
@@ -4,27 +4,26 @@
*
* To use this class you must first download the PHP port of Packer
* and place the file "class.JavaScriptPacker.php" in /lib (or your
- * include_path).
+ * include_path).
* @link http://joliclic.free.fr/php/javascript-packer/en/
*
* Be aware that, as long as HTTP encoding is used, scripts minified with JSMin
* will provide better client-side performance, as they need not be unpacked in
* client-side code.
- *
- * @package Minify
+ *
+ * @package Minify
*/
if (false === (@include 'class.JavaScriptPacker.php')) {
trigger_error(
- 'The script "class.JavaScriptPacker.php" is required. Please see: http:'
- .'//code.google.com/p/minify/source/browse/trunk/min/lib/Minify/Packer.php'
+ 'The script "class.JavaScriptPacker.php" is required.'
,E_USER_ERROR
);
}
/**
* Minify Javascript using Dean Edward's Packer
- *
+ *
* @package Minify
*/
class Minify_Packer {
diff --git a/plugins/OStatus/lib/magicenvelope.php b/plugins/OStatus/lib/magicenvelope.php
index 35171895ab..579659fa51 100644
--- a/plugins/OStatus/lib/magicenvelope.php
+++ b/plugins/OStatus/lib/magicenvelope.php
@@ -107,7 +107,6 @@ class MagicEnvelope
* you'll only get the public key ;)
*
* The string will (hopefully) be formatted as described in Magicsig specification:
- * https://salmon-protocol.googlecode.com/svn/trunk/draft-panzer-magicsig-01.html#anchor13
*
* @return string formatted as Magicsig keypair
*/
@@ -156,7 +155,7 @@ class MagicEnvelope
}
if ($keypair === false) {
- // For debugging clarity. Keypair did not pass count()-check above.
+ // For debugging clarity. Keypair did not pass count()-check above.
// TRANS: Exception when public key was not properly formatted.
throw new Exception(_m('Incorrectly formatted public key element.'));
}
@@ -270,7 +269,7 @@ class MagicEnvelope
$prov->appendChild($alg);
$sig = $dom->createElementNS(self::NS, 'me:sig', $this->getSignature());
$prov->appendChild($sig);
-
+
$dom->documentElement->appendChild($prov);
break;
default:
diff --git a/plugins/OStatus/tests/MagicEnvelopeTest.php b/plugins/OStatus/tests/MagicEnvelopeTest.php
index fd5ad54129..a64a1cfbfb 100644
--- a/plugins/OStatus/tests/MagicEnvelopeTest.php
+++ b/plugins/OStatus/tests/MagicEnvelopeTest.php
@@ -27,7 +27,6 @@ class MagicEnvelopeTest extends PHPUnit_Framework_TestCase
static public function provider()
{
// Sample case given in spec:
- // http://salmon-protocol.googlecode.com/svn/trunk/draft-panzer-magicsig-00.html#signing
$magic_env = new MagicEnvelope();
$magic_env->data = 'Tm90IHJlYWxseSBBdG9t';
$magic_env->data_type = 'application/atom+xml';
diff --git a/plugins/PiwikAnalytics/PiwikAnalyticsPlugin.php b/plugins/PiwikAnalytics/PiwikAnalyticsPlugin.php
index fa5894a8f5..31f62cc2ca 100644
--- a/plugins/PiwikAnalytics/PiwikAnalyticsPlugin.php
+++ b/plugins/PiwikAnalytics/PiwikAnalyticsPlugin.php
@@ -33,7 +33,7 @@ if (!defined('STATUSNET')) {
}
/**
- * Plugin to use Piwik Analytics (based on the Google Analytics plugin by Evan)
+ * Plugin to use Piwik Analytics (based on the Analytics plugin by Evan)
*
* This plugin will spoot out the correct JavaScript spell to invoke
* Piwik Analytics on a page.
diff --git a/plugins/Recaptcha/LICENSE b/plugins/Recaptcha/LICENSE
deleted file mode 100644
index b612f71f01..0000000000
--- a/plugins/Recaptcha/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-Copyright (c) 2007 reCAPTCHA -- http://recaptcha.net
-AUTHORS:
- Mike Crawford
- Ben Maurer
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/plugins/Recaptcha/README b/plugins/Recaptcha/README
deleted file mode 100644
index 49c4b9c27d..0000000000
--- a/plugins/Recaptcha/README
+++ /dev/null
@@ -1,28 +0,0 @@
-StatusNet reCAPTCHA plugin 0.3 11/16/09
-=======================================
-Adds a captcha to your registration page to reduce automated spam bots registering.
-
-Use:
-1. Get an API key from http://recaptcha.net
-
-2. In config.php add:
-addPlugin('recaptcha', array('private_key' => 'YourKeyHere',
- 'public_key' => 'ReplaceWithYourKey'));
-or
-addPlugin('recaptcha', array('private_key' => 'YourKeyHere',
- 'public_key' => 'ReplaceWithYourKey',
- 'display_errors' => true));
-Changelog
-=========
-0.1 initial release
-0.2 Work around for webkit browsers
-0.3 Moved to new plugin arch for SN
- **YOU WILL NEED TO CHANGE YOUR CONFIG.PHP!**
-
-reCAPTCHA Lib README
-====================
-
-The reCAPTCHA PHP Lirary helps you use the reCAPTCHA API. Documentation
-for this library can be found at
-
- http://recaptcha.net/plugins/php
diff --git a/plugins/Recaptcha/RecaptchaPlugin.php b/plugins/Recaptcha/RecaptchaPlugin.php
deleted file mode 100644
index c039dd5350..0000000000
--- a/plugins/Recaptcha/RecaptchaPlugin.php
+++ /dev/null
@@ -1,119 +0,0 @@
-<?php
-/**
- * StatusNet, the distributed open-source microblogging tool
- *
- * Plugin to show reCaptcha when a user registers
- *
- * PHP version 5
- *
- * LICENCE: This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- * @category Plugin
- * @package StatusNet
- * @author Eric Helgeson <erichelgeson@gmail.com>
- * @copyright 2009
- * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link http://status.net/
- */
-
-if (!defined('STATUSNET') && !defined('LACONICA')) {
- exit(1);
-}
-
-require_once(INSTALLDIR.'/plugins/Recaptcha/recaptchalib.php');
-
-class RecaptchaPlugin extends Plugin
-{
- var $private_key;
- var $public_key;
- var $display_errors;
- var $failed;
- var $ssl;
-
- function onInitializePlugin()
- {
- if(!isset($this->private_key)) {
- common_log(LOG_ERR, 'Recaptcha: Must specify private_key in config.php');
- }
- if(!isset($this->public_key)) {
- common_log(LOG_ERR, 'Recaptcha: Must specify public_key in config.php');
- }
- }
-
- function onEndRegistrationFormData($action)
- {
- $action->elementStart('li');
- // TRANS: Field label.
- $action->raw('<label for="recaptcha">'._m('Captcha').'</label>');
-
- // AJAX API will fill this div out.
- // We're calling that instead of the regular one so we stay compatible
- // with application/xml+xhtml output as for mobile.
- $action->element('div', array('id' => 'recaptcha'));
- $action->elementEnd('li');
-
- $action->recaptchaPluginNeedsOutput = true;
- return true;
- }
-
- function onEndShowScripts($action)
- {
- if (isset($action->recaptchaPluginNeedsOutput) && $action->recaptchaPluginNeedsOutput) {
- // Load the AJAX API
- if (GNUsocial::isHTTPS()) {
- $url = "https://www.google.com/recaptcha/api/js/recaptcha_ajax.js";
- } else {
- $url = "http://www.google.com/recaptcha/api/js/recaptcha_ajax.js";
- }
- $action->script($url);
-
- // And when we're ready, fill out the captcha!
- $key = json_encode($this->public_key);
- $action->inlinescript("\$(function(){Recaptcha.create($key, 'recaptcha');});");
- }
- return true;
- }
-
- function onStartRegistrationTry($action)
- {
- $resp = recaptcha_check_answer ($this->private_key,
- $_SERVER["REMOTE_ADDR"],
- $action->trimmed('recaptcha_challenge_field'),
- $action->trimmed('recaptcha_response_field'));
-
- if (!$resp->is_valid) {
- if($this->display_errors) {
- // TRANS: Error message displayed if there is in error communicating with the
- // TRANS: reCAPTCHA server. %s is the error.
- $action->showForm(sprintf(_m('(reCAPTCHA error: %s)', $resp->error)));
- }
- // TRANS: Error message displayed if a provided captcha response does not match.
- $action->showForm(_m('Captcha does not match!'));
- return false;
- }
- }
-
- function onPluginVersion(array &$versions)
- {
- $versions[] = array('name' => 'Recaptcha',
- 'version' => GNUSOCIAL_VERSION,
- 'author' => 'Eric Helgeson',
- 'homepage' => 'http://status.net/wiki/Plugin:Recaptcha',
- 'rawdescription' =>
- // TRANS: Plugin description.
- _m('Uses <a href="http://recaptcha.org/">Recaptcha</a> service to add a '.
- 'captcha to the registration page.'));
- return true;
- }
-}
diff --git a/plugins/Recaptcha/locale/Recaptcha.pot b/plugins/Recaptcha/locale/Recaptcha.pot
deleted file mode 100644
index e8cfa5896c..0000000000
--- a/plugins/Recaptcha/locale/Recaptcha.pot
+++ /dev/null
@@ -1,35 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-27 16:31+0100\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/af/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/af/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index a0e1171009..0000000000
--- a/plugins/Recaptcha/locale/af/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Afrikaans (http://www.transifex.com/gnu-social/gnu-social/language/af/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: af\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/ar/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/ar/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index b975b09fda..0000000000
--- a/plugins/Recaptcha/locale/ar/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Arabic (http://www.transifex.com/gnu-social/gnu-social/language/ar/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: ar\n"
-"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/arz/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/arz/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 9fae16adc5..0000000000
--- a/plugins/Recaptcha/locale/arz/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Arabic (Egypt) (http://www.transifex.com/gnu-social/gnu-social/language/ar_EG/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: ar_EG\n"
-"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/ast/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/ast/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index f8544f29f2..0000000000
--- a/plugins/Recaptcha/locale/ast/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Asturian (http://www.transifex.com/gnu-social/gnu-social/language/ast/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: ast\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/be-tarask/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/be-tarask/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 80dbc4f7a0..0000000000
--- a/plugins/Recaptcha/locale/be-tarask/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Belarusian (Tarask) (http://www.transifex.com/gnu-social/gnu-social/language/be@tarask/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: be@tarask\n"
-"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/bg/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/bg/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 11069b12cf..0000000000
--- a/plugins/Recaptcha/locale/bg/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Bulgarian (http://www.transifex.com/gnu-social/gnu-social/language/bg/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: bg\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/bn_IN/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/bn_IN/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index ce76e8fcc2..0000000000
--- a/plugins/Recaptcha/locale/bn_IN/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Bengali (India) (http://www.transifex.com/gnu-social/gnu-social/language/bn_IN/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: bn_IN\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/br/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/br/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index aaaa23a2ec..0000000000
--- a/plugins/Recaptcha/locale/br/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Breton (http://www.transifex.com/gnu-social/gnu-social/language/br/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: br\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/ca/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/ca/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 5e19eef3da..0000000000
--- a/plugins/Recaptcha/locale/ca/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:53+0000\n"
-"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
-"Language-Team: Catalan (http://www.transifex.com/gnu-social/gnu-social/language/ca/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: ca\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr "Captcha"
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr "El Captcha no coincideix!"
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr "Feu servir el servei <a href=\"http://recaptcha.org/\">Recaptcha</a> per a afegir un captcha a la pàgina de registre."
diff --git a/plugins/Recaptcha/locale/cs/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/cs/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 4413deba1d..0000000000
--- a/plugins/Recaptcha/locale/cs/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Czech (http://www.transifex.com/gnu-social/gnu-social/language/cs/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: cs\n"
-"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/da/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/da/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index a4eabc7a11..0000000000
--- a/plugins/Recaptcha/locale/da/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Danish (http://www.transifex.com/gnu-social/gnu-social/language/da/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: da\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/de/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/de/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 6dc297c395..0000000000
--- a/plugins/Recaptcha/locale/de/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:42+0000\n"
-"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
-"Language-Team: German (http://www.transifex.com/gnu-social/gnu-social/language/de/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: de\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr "Captcha"
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr "Captcha stimmt nicht mit Text überein!"
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr "Verwendet <a href=\"http://recaptcha.org/\">Recaptcha</a> um ein CAPTCHA zur Registrierung hinzuzufügen."
diff --git a/plugins/Recaptcha/locale/el/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/el/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 27c3f8f6ac..0000000000
--- a/plugins/Recaptcha/locale/el/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Greek (http://www.transifex.com/gnu-social/gnu-social/language/el/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: el\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/en_GB/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/en_GB/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index d7e790e3c9..0000000000
--- a/plugins/Recaptcha/locale/en_GB/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,37 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-# Luke Hollins <luke@farcry.ca>, 2015
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-03-07 15:41+0000\n"
-"Last-Translator: Luke Hollins <luke@farcry.ca>\n"
-"Language-Team: English (United Kingdom) (http://www.transifex.com/gnu-social/gnu-social/language/en_GB/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: en_GB\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr "Captcha"
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr "Captcha does not match!"
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr "Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a captcha to the registration page."
diff --git a/plugins/Recaptcha/locale/eo/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/eo/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 749384394f..0000000000
--- a/plugins/Recaptcha/locale/eo/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Esperanto (http://www.transifex.com/gnu-social/gnu-social/language/eo/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: eo\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/es/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/es/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index fab5d9afd3..0000000000
--- a/plugins/Recaptcha/locale/es/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,37 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-# Juan Riquelme González <soulchainer@gmail.com>, 2015
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-27 22:30+0000\n"
-"Last-Translator: Juan Riquelme González <soulchainer@gmail.com>\n"
-"Language-Team: Spanish (http://www.transifex.com/gnu-social/gnu-social/language/es/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr "Captcha"
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr "¡La respuesta no coincide con el texto del captcha!"
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr "Usa el servicio <a href=\"http://recaptcha.org/\">Recaptcha</a> para añadir una prueba captcha a la página de registro."
diff --git a/plugins/Recaptcha/locale/eu/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/eu/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 46595b8d7e..0000000000
--- a/plugins/Recaptcha/locale/eu/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Basque (http://www.transifex.com/gnu-social/gnu-social/language/eu/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: eu\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/fa/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/fa/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 3537179c50..0000000000
--- a/plugins/Recaptcha/locale/fa/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Persian (http://www.transifex.com/gnu-social/gnu-social/language/fa/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: fa\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/fi/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/fi/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 0d9944093a..0000000000
--- a/plugins/Recaptcha/locale/fi/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Finnish (http://www.transifex.com/gnu-social/gnu-social/language/fi/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: fi\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/fr/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/fr/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 8d56626c1a..0000000000
--- a/plugins/Recaptcha/locale/fr/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:42+0000\n"
-"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
-"Language-Team: French (http://www.transifex.com/gnu-social/gnu-social/language/fr/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: fr\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr "Vérificateur anti-robot Captcha"
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr "Le Captcha ne correspond pas !"
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr "Utilise le service <a href=\"http://recaptcha.org/\">Recaptcha</a> pour ajouter un captcha à la page d’enregistrement."
diff --git a/plugins/Recaptcha/locale/fur/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/fur/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index a1ccf52ae5..0000000000
--- a/plugins/Recaptcha/locale/fur/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:53+0000\n"
-"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
-"Language-Team: Friulian (http://www.transifex.com/gnu-social/gnu-social/language/fur/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: fur\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr "Captcha"
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr "Il Captcha nol corispuint!"
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr "Dopre il servizi <a href=\"http://recaptcha.org/\">Recaptcha</a> par zontâ un captcha ae pagjine di regjistrazion."
diff --git a/plugins/Recaptcha/locale/gl/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/gl/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index da25f097ec..0000000000
--- a/plugins/Recaptcha/locale/gl/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:53+0000\n"
-"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
-"Language-Team: Galician (http://www.transifex.com/gnu-social/gnu-social/language/gl/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: gl\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr "Captcha"
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr "O captcha non coincide!"
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr "Usa o servizo <a href=\"http://recaptcha.org/\">Recaptcha</a> para engadir o captcha á páxina de rexistro."
diff --git a/plugins/Recaptcha/locale/he/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/he/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 5ce8b356c6..0000000000
--- a/plugins/Recaptcha/locale/he/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Hebrew (http://www.transifex.com/gnu-social/gnu-social/language/he/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: he\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/hsb/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/hsb/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 77a4c97225..0000000000
--- a/plugins/Recaptcha/locale/hsb/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Upper Sorbian (http://www.transifex.com/gnu-social/gnu-social/language/hsb/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: hsb\n"
-"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/hu/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/hu/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 1ce3f15aad..0000000000
--- a/plugins/Recaptcha/locale/hu/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Hungarian (http://www.transifex.com/gnu-social/gnu-social/language/hu/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: hu\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/hy_AM/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/hy_AM/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index b48602a047..0000000000
--- a/plugins/Recaptcha/locale/hy_AM/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Armenian (Armenia) (http://www.transifex.com/gnu-social/gnu-social/language/hy_AM/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: hy_AM\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/ia/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/ia/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 1672e64d23..0000000000
--- a/plugins/Recaptcha/locale/ia/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:53+0000\n"
-"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
-"Language-Team: Interlingua (http://www.transifex.com/gnu-social/gnu-social/language/ia/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: ia\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr "Captcha"
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr "Captcha non corresponde!"
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr "Usa le servicio <a href=\"http://recaptcha.org/\">Recaptcha</a> pro adder un captcha al pagina de registration."
diff --git a/plugins/Recaptcha/locale/id/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/id/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index d90b2de158..0000000000
--- a/plugins/Recaptcha/locale/id/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Indonesian (http://www.transifex.com/gnu-social/gnu-social/language/id/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: id\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/io/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/io/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 7f67206062..0000000000
--- a/plugins/Recaptcha/locale/io/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,37 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-# William <fxinkeo@mail.com>, 2015
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-06-22 09:25+0000\n"
-"Last-Translator: William <fxinkeo@mail.com>\n"
-"Language-Team: Ido (http://www.transifex.com/gnu-social/gnu-social/language/io/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: io\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr "Captcha"
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr "La Captcha ne korespondez!"
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr "Uzas <a href=\"http://recaptcha.org/\">Recaptcha</a> servado adjuntar Captcha a la registrago-pagino."
diff --git a/plugins/Recaptcha/locale/is/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/is/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 17ceb18561..0000000000
--- a/plugins/Recaptcha/locale/is/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Icelandic (http://www.transifex.com/gnu-social/gnu-social/language/is/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: is\n"
-"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/it/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/it/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index dba9ccdf50..0000000000
--- a/plugins/Recaptcha/locale/it/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,37 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-# Giuseppe Pignataro <rogepix@gmail.com>, 2015
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-05-30 01:00+0000\n"
-"Last-Translator: Giuseppe Pignataro <rogepix@gmail.com>\n"
-"Language-Team: Italian (http://www.transifex.com/gnu-social/gnu-social/language/it/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: it\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr "Captcha"
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/ja/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/ja/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 1182bcc807..0000000000
--- a/plugins/Recaptcha/locale/ja/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:53+0000\n"
-"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
-"Language-Team: Japanese (http://www.transifex.com/gnu-social/gnu-social/language/ja/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: ja\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr "登録ページにキャプチャとして<a href=\"http://recaptcha.org/\">Recaptcha</a>サービスを利用する。"
diff --git a/plugins/Recaptcha/locale/ka/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/ka/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 3f4ea81e30..0000000000
--- a/plugins/Recaptcha/locale/ka/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Georgian (http://www.transifex.com/gnu-social/gnu-social/language/ka/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: ka\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/ko/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/ko/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 243dadf837..0000000000
--- a/plugins/Recaptcha/locale/ko/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Korean (http://www.transifex.com/gnu-social/gnu-social/language/ko/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: ko\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/ksh/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/ksh/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index fbbc16c867..0000000000
--- a/plugins/Recaptcha/locale/ksh/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Colognian (http://www.transifex.com/gnu-social/gnu-social/language/ksh/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: ksh\n"
-"Plural-Forms: nplurals=3; plural=(n==0) ? 0 : (n==1) ? 1 : 2;\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/lb/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/lb/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 6f396611be..0000000000
--- a/plugins/Recaptcha/locale/lb/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Luxembourgish (http://www.transifex.com/gnu-social/gnu-social/language/lb/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: lb\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/lt/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/lt/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index b25ee185d6..0000000000
--- a/plugins/Recaptcha/locale/lt/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Lithuanian (http://www.transifex.com/gnu-social/gnu-social/language/lt/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: lt\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/lv/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/lv/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 74a553715a..0000000000
--- a/plugins/Recaptcha/locale/lv/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Latvian (http://www.transifex.com/gnu-social/gnu-social/language/lv/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: lv\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/mg/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/mg/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 29bde821a8..0000000000
--- a/plugins/Recaptcha/locale/mg/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Malagasy (http://www.transifex.com/gnu-social/gnu-social/language/mg/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: mg\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/mk/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/mk/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 763eda7fd1..0000000000
--- a/plugins/Recaptcha/locale/mk/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:42+0000\n"
-"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
-"Language-Team: Macedonian (http://www.transifex.com/gnu-social/gnu-social/language/mk/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: mk\n"
-"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr "Captcha"
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr "Captcha не се совпаѓа!"
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr "Ја користи слкубата <a href=\"http://recaptcha.org/\">Recaptcha</a> за додавање на captcha во страницата за регистрација."
diff --git a/plugins/Recaptcha/locale/ml/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/ml/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 8d0780dbec..0000000000
--- a/plugins/Recaptcha/locale/ml/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Malayalam (http://www.transifex.com/gnu-social/gnu-social/language/ml/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: ml\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/ms/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/ms/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 93067410c2..0000000000
--- a/plugins/Recaptcha/locale/ms/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Malay (http://www.transifex.com/gnu-social/gnu-social/language/ms/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: ms\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/my/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/my/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 068771204b..0000000000
--- a/plugins/Recaptcha/locale/my/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Burmese (http://www.transifex.com/gnu-social/gnu-social/language/my/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: my\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/nb/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/nb/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index f51fcac64b..0000000000
--- a/plugins/Recaptcha/locale/nb/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:42+0000\n"
-"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
-"Language-Team: Norwegian Bokmål (http://www.transifex.com/gnu-social/gnu-social/language/nb/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: nb\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr "Captcha"
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr "Captcha stemmer ikke."
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr "Bruker <a href=\"http://recaptcha.org/\">Recaptcha</a>-tjenesten for å legge en captcha til registreringssiden."
diff --git a/plugins/Recaptcha/locale/ne/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/ne/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 73d6d61398..0000000000
--- a/plugins/Recaptcha/locale/ne/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Nepali (http://www.transifex.com/gnu-social/gnu-social/language/ne/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: ne\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/nl/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/nl/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index f29de0dee2..0000000000
--- a/plugins/Recaptcha/locale/nl/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:42+0000\n"
-"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
-"Language-Team: Dutch (http://www.transifex.com/gnu-social/gnu-social/language/nl/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: nl\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr "Captcha"
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr "Captcha komt niet overeen!"
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr "Gebruikt de dienst <a href=\"http://recaptcha.org/\">Recaptcha</a> om een captcha toe te voegen aan de registratiepagina."
diff --git a/plugins/Recaptcha/locale/nn/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/nn/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 1e17e1e441..0000000000
--- a/plugins/Recaptcha/locale/nn/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Norwegian Nynorsk (http://www.transifex.com/gnu-social/gnu-social/language/nn/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: nn\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/pl/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/pl/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 35d535d6e5..0000000000
--- a/plugins/Recaptcha/locale/pl/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:42+0000\n"
-"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
-"Language-Team: Polish (http://www.transifex.com/gnu-social/gnu-social/language/pl/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: pl\n"
-"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr "Captcha"
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr "Kod Captcha nie został przepisany prawidłowo!"
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr "Używa serwisu <a href=\"http://recaptcha.org/\">Recaptcha</a> aby umieścić kod captcha na stronę rejestracji."
diff --git a/plugins/Recaptcha/locale/pt/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/pt/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 9b2d2e072d..0000000000
--- a/plugins/Recaptcha/locale/pt/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:42+0000\n"
-"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
-"Language-Team: Portuguese (http://www.transifex.com/gnu-social/gnu-social/language/pt/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: pt\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr "Imagem de verificação"
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr "A imagem de verificação não corresponde!"
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr "Usa o serviço <a href=\"http://recaptcha.org/\">Recaptcha</a> para adicionar uma imagem de verificação à página de registo."
diff --git a/plugins/Recaptcha/locale/pt_BR/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/pt_BR/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index f954220328..0000000000
--- a/plugins/Recaptcha/locale/pt_BR/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,37 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-# no and no <nicolasmaia@tutanota.com>, 2015
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-04-15 14:52+0000\n"
-"Last-Translator: no and no <nicolasmaia@tutanota.com>\n"
-"Language-Team: Portuguese (Brazil) (http://www.transifex.com/gnu-social/gnu-social/language/pt_BR/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: pt_BR\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr "Captcha"
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr "O captcha não coincide!"
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr "Usa o serviço <a href=\"http://recaptcha.org/\">Recaptcha</a> para adicionar um captcha na página de cadastro."
diff --git a/plugins/Recaptcha/locale/ro_RO/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/ro_RO/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index cc41618b41..0000000000
--- a/plugins/Recaptcha/locale/ro_RO/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Romanian (Romania) (http://www.transifex.com/gnu-social/gnu-social/language/ro_RO/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: ro_RO\n"
-"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/ru/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/ru/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index abcfdb2180..0000000000
--- a/plugins/Recaptcha/locale/ru/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:42+0000\n"
-"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
-"Language-Team: Russian (http://www.transifex.com/gnu-social/gnu-social/language/ru/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: ru\n"
-"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr "Капча"
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr "Код проверки не совпадает!"
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr "Добавляет на страницу регистрации каптчу с использованием <a href=\"http://recaptcha.org/\">Recaptcha</a>."
diff --git a/plugins/Recaptcha/locale/sl/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/sl/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 7028470805..0000000000
--- a/plugins/Recaptcha/locale/sl/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Slovenian (http://www.transifex.com/gnu-social/gnu-social/language/sl/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: sl\n"
-"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/sr-ec/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/sr-ec/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index c412503d7d..0000000000
--- a/plugins/Recaptcha/locale/sr-ec/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Serbian (http://www.transifex.com/gnu-social/gnu-social/language/sr/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: sr\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/sv/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/sv/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 5bdeed3929..0000000000
--- a/plugins/Recaptcha/locale/sv/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:42+0000\n"
-"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
-"Language-Team: Swedish (http://www.transifex.com/gnu-social/gnu-social/language/sv/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: sv\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr "Captcha"
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr "Captcha stämmer inte!"
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr "Använder <a href=\"http://recaptcha.org/\">Recaptcha</a>-tjänsten för att lägga till en captcha till registreringssidan."
diff --git a/plugins/Recaptcha/locale/ta/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/ta/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 766f437cbd..0000000000
--- a/plugins/Recaptcha/locale/ta/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Tamil (http://www.transifex.com/gnu-social/gnu-social/language/ta/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: ta\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/te/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/te/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index a69d160393..0000000000
--- a/plugins/Recaptcha/locale/te/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Telugu (http://www.transifex.com/gnu-social/gnu-social/language/te/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: te\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/tl/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/tl/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 007c91a695..0000000000
--- a/plugins/Recaptcha/locale/tl/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:42+0000\n"
-"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
-"Language-Team: Tagalog (http://www.transifex.com/gnu-social/gnu-social/language/tl/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: tl\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr "Captcha"
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr "Hindi tugma ang Captcha!"
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr "Gumagamit ng palingkurang <a href=\"http://recaptcha.org/\">Recaptcha</a> upang magdagdag ng isang captcha sa pahina ng pagpapatala."
diff --git a/plugins/Recaptcha/locale/tr/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/tr/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index d127735771..0000000000
--- a/plugins/Recaptcha/locale/tr/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Turkish (http://www.transifex.com/gnu-social/gnu-social/language/tr/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: tr\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/uk/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/uk/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index c2feca4f71..0000000000
--- a/plugins/Recaptcha/locale/uk/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:53+0000\n"
-"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
-"Language-Team: Ukrainian (http://www.transifex.com/gnu-social/gnu-social/language/uk/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: uk\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr "Captcha"
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr "Коди перевірки не збігаються!"
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr "Використання <a href=\"http://recaptcha.org/\">Recaptcha</a> у якості інструменту для перевірки на «людяність» на сторінці реєстрації."
diff --git a/plugins/Recaptcha/locale/ur_PK/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/ur_PK/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index f4552e749e..0000000000
--- a/plugins/Recaptcha/locale/ur_PK/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Urdu (Pakistan) (http://www.transifex.com/gnu-social/gnu-social/language/ur_PK/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: ur_PK\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/vi/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/vi/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 9d35279fbb..0000000000
--- a/plugins/Recaptcha/locale/vi/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Vietnamese (http://www.transifex.com/gnu-social/gnu-social/language/vi/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: vi\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/zh/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/zh/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 995d6dbf5b..0000000000
--- a/plugins/Recaptcha/locale/zh/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Chinese (http://www.transifex.com/gnu-social/gnu-social/language/zh/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: zh\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/zh_CN/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/zh_CN/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index a56b9e6726..0000000000
--- a/plugins/Recaptcha/locale/zh_CN/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Chinese (China) (http://www.transifex.com/gnu-social/gnu-social/language/zh_CN/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: zh_CN\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/locale/zh_TW/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/zh_TW/LC_MESSAGES/Recaptcha.po
deleted file mode 100644
index 2557d8b2f6..0000000000
--- a/plugins/Recaptcha/locale/zh_TW/LC_MESSAGES/Recaptcha.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU social\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-02 17:47+0100\n"
-"PO-Revision-Date: 2015-02-07 09:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Chinese (Taiwan) (http://www.transifex.com/gnu-social/gnu-social/language/zh_TW/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: zh_TW\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#. TRANS: Field label.
-#: RecaptchaPlugin.php:58
-msgid "Captcha"
-msgstr ""
-
-#. TRANS: Error message displayed if a provided captcha response does not
-#. match.
-#: RecaptchaPlugin.php:102
-msgid "Captcha does not match!"
-msgstr ""
-
-#. TRANS: Plugin description.
-#: RecaptchaPlugin.php:115
-msgid ""
-"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
-"captcha to the registration page."
-msgstr ""
diff --git a/plugins/Recaptcha/recaptchalib.php b/plugins/Recaptcha/recaptchalib.php
deleted file mode 100644
index 4dc082b33d..0000000000
--- a/plugins/Recaptcha/recaptchalib.php
+++ /dev/null
@@ -1,276 +0,0 @@
-<?php
-/*
- * @todo FIXME: Outdated URLs.
- *
- * This is a PHP library that handles calling reCAPTCHA.
- * - Documentation and latest version
- * http://recaptcha.net/plugins/php/
- * - Get a reCAPTCHA API Key
- * http://recaptcha.net/api/getkey
- * - Discussion group
- * http://groups.google.com/group/recaptcha
- *
- * Copyright (c) 2007 reCAPTCHA -- http://recaptcha.net
- * AUTHORS:
- * Mike Crawford
- * Ben Maurer
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-/**
- * The reCAPTCHA server URL's
- */
-define("RECAPTCHA_API_SERVER", "http://api.recaptcha.net");
-define("RECAPTCHA_API_SECURE_SERVER", "https://api-secure.recaptcha.net");
-define("RECAPTCHA_VERIFY_SERVER", "api-verify.recaptcha.net");
-
-/**
- * Encodes the given data into a query string format
- * @param $data - array of string elements to be encoded
- * @return string - encoded request
- */
-function _recaptcha_qsencode ($data) {
- $req = "";
- foreach ( $data as $key => $value )
- $req .= $key . '=' . urlencode( stripslashes($value) ) . '&';
-
- // Cut the last '&'
- $req=substr($req,0,strlen($req)-1);
- return $req;
-}
-
-
-
-/**
- * Submits an HTTP POST to a reCAPTCHA server
- * @param string $host
- * @param string $path
- * @param array $data
- * @param int port
- * @return array response
- */
-function _recaptcha_http_post($host, $path, $data, $port = 80) {
-
- $req = _recaptcha_qsencode ($data);
-
- $http_request = "POST $path HTTP/1.0\r\n";
- $http_request .= "Host: $host\r\n";
- $http_request .= "Content-Type: application/x-www-form-urlencoded;\r\n";
- $http_request .= "Content-Length: " . strlen($req) . "\r\n";
- $http_request .= "User-Agent: reCAPTCHA/PHP\r\n";
- $http_request .= "\r\n";
- $http_request .= $req;
-
- $response = '';
- if( false == ( $fs = @fsockopen($host, $port, $errno, $errstr, 10) ) ) {
- die ('Could not open socket');
- }
-
- fwrite($fs, $http_request);
-
- while ( !feof($fs) )
- $response .= fgets($fs, 1160); // One TCP-IP packet
- fclose($fs);
- $response = explode("\r\n\r\n", $response, 2);
-
- return $response;
-}
-
-
-
-/**
- * Gets the challenge HTML (javascript and non-javascript version).
- * This is called from the browser, and the resulting reCAPTCHA HTML widget
- * is embedded within the HTML form it was called from.
- * @param string $pubkey A public key for reCAPTCHA
- * @param string $error The error given by reCAPTCHA (optional, default is null)
- * @param boolean $use_ssl Should the request be made over ssl? (optional, default is false)
-
- * @return string - The HTML to be embedded in the user's form.
- */
-function recaptcha_get_html ($pubkey, $error = null, $use_ssl = false)
-{
- if ($pubkey == null || $pubkey == '') {
- die ("To use reCAPTCHA you must get an API key from <a href='http://recaptcha.net/api/getkey'>http://recaptcha.net/api/getkey</a>");
- }
-
- if ($use_ssl) {
- $server = RECAPTCHA_API_SECURE_SERVER;
- } else {
- $server = RECAPTCHA_API_SERVER;
- }
-
- $errorpart = "";
- if ($error) {
- $errorpart = "&amp;error=" . $error;
- }
- return '<script type="text/javascript" src="'. $server . '/challenge?k=' . $pubkey . $errorpart . '"></script>
-
- <noscript>
- <iframe src="'. $server . '/noscript?k=' . $pubkey . $errorpart . '" height="300" width="500" frameborder="0"></iframe><br/>
- <textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
- <input type="hidden" name="recaptcha_response_field" value="manual_challenge"/>
- </noscript>';
-}
-
-
-
-
-/**
- * A ReCaptchaResponse is returned from recaptcha_check_answer()
- */
-class ReCaptchaResponse {
- var $is_valid;
- var $error;
-}
-
-
-/**
- * Calls an HTTP POST function to verify if the user's guess was correct
- * @param string $privkey
- * @param string $remoteip
- * @param string $challenge
- * @param string $response
- * @param array $extra_params an array of extra variables to post to the server
- * @return ReCaptchaResponse
- */
-function recaptcha_check_answer ($privkey, $remoteip, $challenge, $response, $extra_params = array())
-{
- if ($privkey == null || $privkey == '') {
- die ("To use reCAPTCHA you must get an API key from <a href='http://recaptcha.net/api/getkey'>http://recaptcha.net/api/getkey</a>");
- }
-
- if ($remoteip == null || $remoteip == '') {
- die ("For security reasons, you must pass the remote ip to reCAPTCHA");
- }
-
-
-
- //discard spam submissions
- if ($challenge == null || strlen($challenge) == 0 || $response == null || strlen($response) == 0) {
- $recaptcha_response = new ReCaptchaResponse();
- $recaptcha_response->is_valid = false;
- $recaptcha_response->error = 'incorrect-captcha-sol';
- return $recaptcha_response;
- }
-
- $response = _recaptcha_http_post (RECAPTCHA_VERIFY_SERVER, "/verify",
-