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
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
-------
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
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
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.
-
-
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
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
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
(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
### License help from
* Bradley M. Kuhn
-
<truncated>false</truncated>
<created_at>Wed Mar 31 01:33:02 +0000 2010</created_at>
<in_reply_to_status_id/>
- <source><a href="http://code.google.com/p/microblog-purple/">mbpidgin</a></source>
+ <source><a href="http://somesourcecode.net/microblog/">mbpidgin</a></source>
<id>26674201</id>
<in_reply_to_user_id/>
<in_reply_to_screen_name/>
$notices = array();
$stream = new InboxNoticeStream($this->target, $this->scoped);
-
+
$notice = $stream->getNotices(($this->page-1) * $this->count,
$this->count,
$this->since_id,
('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()),
('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()),
// <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
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><a href=""></code></th>
- </tr>
+ <tr>
+ <th>Key</th>
+ <th>Description</th>
+ <th>Example <code><a href=""></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
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;
}
}
/**
- * 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")
*/
}
/**
- * 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")
*/
}
/**
- * 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")
*
}
/**
- * 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")
*/
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';
}
* 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;
* 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;
throw new OAuthException(
'Missing timestamp parameter. The parameter is required'
);
-
+
// verify that timestamp is recentish
$now = time();
if (abs($now - $timestamp) > $this->timestamp_threshold) {
// 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)) {
- 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
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
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;
// 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 ) {
+++ /dev/null
-// 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();
-
-})();
-}
{
$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);
}
* [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";
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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
# 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 ""
"\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 ""
# 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 ""
"\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
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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
"\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
# 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 ""
"\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 ""
# 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 ""
"\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
# 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 ""
"\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 ""
# 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 ""
"\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 ""
"* [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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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 ""
"\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 ""
# 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
"\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 ""
*/
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()), '', '&');
'facebook' => 'Facebook',
'linkedin' => 'LinkedIn',
'flickr' => 'Flickr',
- 'google' => 'Google Profile',
'other' => 'Other',
'twitter' => 'Twitter'
),
# 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 ""
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 ""
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
$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.');
}
return $template;
}
}
-
-
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;
/**
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;
-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
+++ /dev/null
-.olLayerGoogleCopyright {
- right: 3px;
- bottom: 2px;
- left: auto;
-}
-.olLayerGooglePoweredBy {
- left: 2px;
- bottom: 2px;
-}
-
-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 {
display: block;
position: absolute;
font-size: smaller;
-}
+}
div.olControlMousePosition {
bottom: 0em;
.olControlOverviewMapMinimizeButton {
right: 0px;
bottom: 80px;
-}
+}
.olControlOverviewMapMaximizeButton {
right: 0px;
.olPopupContent {
padding:5px;
overflow: auto;
-}
-.olControlNavToolbar {
+}
+.olControlNavToolbar {
width:0px;
height:0px;
-}
-.olControlNavToolbar div {
+}
+.olControlNavToolbar div {
display:block;
width: 28px;
height: 28px;
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;
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;
opacity: 0.50;
font-size: 1px;
filter: alpha(opacity=50);
-}
+}
.olControlPanPanel {
top: 10px;
left: 5px;
-}
+}
.olControlPanPanel div {
background-image: url(img/pan-panel.png);
.olControlZoomPanel {
top: 71px;
left: 14px;
-}
+}
.olControlZoomPanel div {
background-image: url(img/zoom-panel.png);
-mxn.register('{{api_id}}', { \r
+mxn.register('{{api_id}}', {\r
\r
Mapstraction: {\r
- \r
- init: function(element, api) { \r
+\r
+ init: function(element, api) {\r
var me = this;\r
- \r
+\r
// TODO: Add provider code\r
},\r
- \r
+\r
applyOptions: function(){\r
var map = this.maps[this.api];\r
- \r
+\r
// TODO: Add provider code\r
},\r
\r
- resizeTo: function(width, height){ \r
+ resizeTo: function(width, height){\r
// TODO: Add provider code\r
},\r
\r
addControls: function( args ) {\r
var map = this.maps[this.api];\r
- \r
+\r
// TODO: Add provider code\r
},\r
\r
addSmallControls: function() {\r
var map = this.maps[this.api];\r
- \r
+\r
// TODO: Add provider code\r
},\r
\r
addLargeControls: function() {\r
var map = this.maps[this.api];\r
- \r
+\r
// TODO: Add provider code\r
},\r
\r
addMapTypeControls: function() {\r
var map = this.maps[this.api];\r
- \r
+\r
// TODO: Add provider code\r
},\r
\r
- setCenterAndZoom: function(point, zoom) { \r
+ setCenterAndZoom: function(point, zoom) {\r
var map = this.maps[this.api];\r
var pt = point.toProprietary(this.api);\r
- \r
+\r
// TODO: Add provider code\r
},\r
- \r
+\r
addMarker: function(marker, old) {\r
var map = this.maps[this.api];\r
var pin = marker.toProprietary(this.api);\r
- \r
+\r
// TODO: Add provider code\r
- \r
+\r
return pin;\r
},\r
\r
removeMarker: function(marker) {\r
var map = this.maps[this.api];\r
- \r
+\r
// TODO: Add provider code\r
},\r
\r
removeAllMarkers: function() {\r
var map = this.maps[this.api];\r
- \r
+\r
// TODO: Add provider code\r
},\r
- \r
+\r
declutterMarkers: function(opts) {\r
var map = this.maps[this.api];\r
- \r
+\r
// TODO: Add provider code\r
},\r
\r
addPolyline: function(polyline, old) {\r
var map = this.maps[this.api];\r
var pl = polyline.toProprietary(this.api);\r
- \r
+\r
// TODO: Add provider code\r
- \r
+\r
return pl;\r
},\r
\r
removePolyline: function(polyline) {\r
var map = this.maps[this.api];\r
- \r
+\r
// TODO: Add provider code\r
},\r
- \r
+\r
getCenter: function() {\r
var point;\r
var map = this.maps[this.api];\r
- \r
+\r
// TODO: Add provider code\r
- \r
+\r
return point;\r
},\r
\r
setCenter: function(point, options) {\r
var map = this.maps[this.api];\r
var pt = point.toProprietary(this.api);\r
- if(options && options.pan) { \r
+ if(options && options.pan) {\r
// TODO: Add provider code\r
}\r
- else { \r
+ else {\r
// TODO: Add provider code\r
}\r
},\r
\r
setZoom: function(zoom) {\r
var map = this.maps[this.api];\r
- \r
+\r
// TODO: Add provider code\r
- \r
+\r
},\r
- \r
+\r
getZoom: function() {\r
var map = this.maps[this.api];\r
var zoom;\r
- \r
+\r
// TODO: Add provider code\r
- \r
+\r
return zoom;\r
},\r
\r
var ne = bbox.getNorthEast();\r
var sw = bbox.getSouthWest();\r
var zoom;\r
- \r
+\r
// TODO: Add provider code\r
- \r
+\r
return zoom;\r
},\r
\r
break;\r
default:\r
// TODO: Add provider code\r
- } \r
+ }\r
},\r
\r
getMapType: function() {\r
var map = this.maps[this.api];\r
- \r
+\r
// TODO: Add provider code\r
\r
//return mxn.Mapstraction.ROAD;\r
\r
getBounds: function () {\r
var map = this.maps[this.api];\r
- \r
+\r
// TODO: Add provider code\r
- \r
+\r
//return new mxn.BoundingBox( , , , );\r
},\r
\r
var map = this.maps[this.api];\r
var sw = bounds.getSouthWest();\r
var ne = bounds.getNorthEast();\r
- \r
+\r
// TODO: Add provider code\r
- \r
+\r
},\r
\r
addImageOverlay: function(id, src, opacity, west, south, east, north, oContext) {\r
var map = this.maps[this.api];\r
- \r
+\r
// TODO: Add provider code\r
},\r
\r
//oContext.pixels.bottom = ...;\r
//oContext.pixels.right = ...;\r
},\r
- \r
+\r
addOverlay: function(url, autoCenterAndZoom) {\r
var map = this.maps[this.api];\r
- \r
+\r
// TODO: Add provider code\r
- \r
+\r
},\r
\r
addTileLayer: function(tile_url, opacity, copyright_text, min_zoom, max_zoom) {\r
var map = this.maps[this.api];\r
- \r
+\r
// TODO: Add provider code\r
},\r
\r
toggleTileLayer: function(tile_url) {\r
var map = this.maps[this.api];\r
- \r
+\r
// TODO: Add provider code\r
},\r
\r
getPixelRatio: function() {\r
var map = this.maps[this.api];\r
\r
- // TODO: Add provider code \r
+ // TODO: Add provider code\r
},\r
- \r
+\r
mousePosition: function(element) {\r
var map = this.maps[this.api];\r
\r
- // TODO: Add provider code \r
+ // TODO: Add provider code\r
}\r
},\r
\r
LatLonPoint: {\r
- \r
+\r
toProprietary: function() {\r
// TODO: Add provider code\r
},\r
\r
- fromProprietary: function(googlePoint) {\r
+ fromProprietary: function(point) {\r
// TODO: Add provider code\r
}\r
- \r
+\r
},\r
\r
Marker: {\r
- \r
+\r
toProprietary: function() {\r
// TODO: Add provider code\r
},\r
\r
- openBubble: function() { \r
+ openBubble: function() {\r
// TODO: Add provider code\r
},\r
\r
update: function() {\r
// TODO: Add provider code\r
}\r
- \r
+\r
},\r
\r
Polyline: {\r
toProprietary: function() {\r
// TODO: Add provider code\r
},\r
- \r
+\r
show: function() {\r
// TODO: Add provider code\r
},\r
hide: function() {\r
// TODO: Add provider code\r
}\r
- \r
+\r
}\r
\r
});
\ No newline at end of file
-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;
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);
}
},
- resizeTo: function(width, height){
+ resizeTo: function(width, height){
this.maps[this.api].checkResize();
},
}
},
- setCenterAndZoom: function(point, zoom) {
+ setCenterAndZoom: function(point, zoom) {
var map = this.maps[this.api];
var pt = point.toProprietary(this.api);
map.setCenter(pt, zoom);
break;
default:
// TODO: Add provider code
- }
+ }
},
getMapType: function() {
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
}
},
return cmarker;
},
- openBubble: function() {
+ openBubble: function() {
var pin = this.proprietary_marker;
pin.openInfoWindow(this.infoBubble);
},
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
*/
* @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
*/
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
*/
'polylineRemoved'
]);
-
+
// finally initialize our proper API map
init.apply(this);
};
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
* @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:
* 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
* @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
* @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
* @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
* @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
* @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
* @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:
* 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
* @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
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) {
* 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];
// case 'yahoo':
//
// break;
- // case 'google':
- //
- // break;
// case 'openstreetmap':
//
// break;
* @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);
b.setAttribute('south',south);
b.setAttribute('east',east);
b.setAttribute('north',north);
-
+
var oContext = {
imgElm: b
};
-
+
this.invoker.go('addImageOverlay', arguments, { context: oContext });
};
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'),
},
pixels: { top: 0, right: 0, bottom: 0, left: 0 }
};
-
+
this.invoker.go('setImagePosition', arguments, { context: oContext });
imgElement.style.top = oContext.pixels.top.toString() + 'px';
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;
else {
this.markers[m].show();
}
- }
- else {
+ }
+ else {
if (hideCallback){
hideCallback(this.markers[m]);
}
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);
// 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
};
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',
this.invoker = new mxn.Invoker(this, 'Polyline', function(){return this.api;});
};
-mxn.addProxyMethods(Polyline, [
- 'fromProprietary',
+mxn.addProxyMethods(Polyline, [
+ 'fromProprietary',
'hide',
'show',
'toProprietary',
-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';
// TODO: Add provider code
},
- resizeTo: function(width, height){
+ resizeTo: function(width, height){
var map = this.maps[this.api];
map.setSize(width,height);
},
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() {
// 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);
},
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) {
case mxn.Mapstraction.SATELLITE:
map.setMapProvider("BlueMarble");
break;
- case mxn.Mapstraction.HYBRID:
- map.setMapProvider("Google Hybrid");
- break;
default:
map.setMapProvider(type);
- }
+ }
},
getMapType: function() {
switch(map.getMapProvider) {
case "OpenStreetMap (Road)":
retu
-
+
}
// 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
}
},
// TODO: Add provider code
},
- fromProprietary: function(googlePoint) {
+ fromProprietary: function(point) {
// TODO: Add provider code
}
// TODO: Add provider code
},
- openBubble: function() {
+ openBubble: function() {
// TODO: Add provider code
},
+++ /dev/null
-mxn.register('google', { \r
-\r
-Mapstraction: {\r
- \r
- init: function(element,api) { \r
- var me = this;\r
- if (GMap2) {\r
- if (GBrowserIsCompatible()) {\r
- this.maps[api] = new GMap2(element);\r
-\r
- GEvent.addListener(this.maps[api], 'click', function(marker,location) {\r
- \r
- if ( marker && marker.mapstraction_marker ) {\r
- marker.mapstraction_marker.click.fire();\r
- }\r
- else if ( location ) {\r
- me.click.fire({'location': new mxn.LatLonPoint(location.y, location.x)});\r
- }\r
- \r
- // If the user puts their own Google markers directly on the map\r
- // then there is no location and this event should not fire.\r
- if ( location ) {\r
- me.clickHandler(location.y,location.x,location,me);\r
- }\r
- });\r
-\r
- GEvent.addListener(this.maps[api], 'moveend', function() {\r
- me.moveendHandler(me);\r
- me.endPan.fire();\r
- });\r
- \r
- GEvent.addListener(this.maps[api], 'zoomend', function() {\r
- me.changeZoom.fire();\r
- });\r
- \r
- this.loaded[api] = true;\r
- me.load.fire();\r
- }\r
- else {\r
- alert('browser not compatible with Google Maps');\r
- }\r
- }\r
- else {\r
- alert(api + ' map script not imported');\r
- } \r
- },\r
- \r
- applyOptions: function(){\r
- var map = this.maps[this.api];\r
- \r
- if(this.options.enableScrollWheelZoom){\r
- map.enableContinuousZoom();\r
- map.enableScrollWheelZoom();\r
- }\r
- \r
- if (this.options.enableDragging) {\r
- map.enableDragging();\r
- } else {\r
- map.disableDragging();\r
- }\r
- \r
- },\r
-\r
- resizeTo: function(width, height){ \r
- this.currentElement.style.width = width;\r
- this.currentElement.style.height = height;\r
- this.maps[this.api].checkResize(); \r
- },\r
-\r
- addControls: function( args ) {\r
- var map = this.maps[this.api];\r
- \r
- // remove old controls\r
- if (this.controls) {\r
- while ((ctl = this.controls.pop())) {\r
- // Google specific method\r
- map.removeControl(ctl);\r
- }\r
- } else {\r
- this.controls = [];\r
- }\r
- c = this.controls;\r
- \r
- // Google has a combined zoom and pan control.\r
- if (args.zoom || args.pan) {\r
- if (args.zoom == 'large'){ \r
- this.addLargeControls();\r
- } else {\r
- this.addSmallControls();\r
- }\r
- }\r
-\r
- if (args.scale) {\r
- this.controls.unshift(new GScaleControl());\r
- map.addControl(this.controls[0]);\r
- this.addControlsArgs.scale = true;\r
- }\r
- \r
- if (args.overview) {\r
- c.unshift(new GOverviewMapControl()); \r
- map.addControl(c[0]);\r
- this.addControlsArgs.overview = true;\r
- }\r
- if (args.map_type) {\r
- this.addMapTypeControls();\r
- } \r
- },\r
-\r
- addSmallControls: function() {\r
- var map = this.maps[this.api];\r
- this.controls.unshift(new GSmallMapControl());\r
- map.addControl(this.controls[0]);\r
- this.addControlsArgs.zoom = 'small';\r
- this.addControlsArgs.pan = true;\r
- },\r
-\r
- addLargeControls: function() {\r
- var map = this.maps[this.api]; \r
- this.controls.unshift(new GLargeMapControl());\r
- map.addControl(this.controls[0]);\r
- this.addControlsArgs.zoom = 'large';\r
- this.addControlsArgs.pan = true;\r
- },\r
-\r
- addMapTypeControls: function() {\r
- var map = this.maps[this.api];\r
- this.controls.unshift(new GMapTypeControl());\r
- map.addControl(this.controls[0]);\r
- this.addControlsArgs.map_type = true;\r
- },\r
-\r
- setCenterAndZoom: function(point, zoom) { \r
- var map = this.maps[this.api];\r
- var pt = point.toProprietary(this.api);\r
- map.setCenter(pt, zoom); \r
- },\r
- \r
- addMarker: function(marker, old) {\r
- var map = this.maps[this.api];\r
- var gpin = marker.toProprietary(this.api);\r
- map.addOverlay(gpin);\r
- \r
- GEvent.addListener(gpin, 'infowindowopen', function() {\r
- marker.openInfoBubble.fire();\r
- });\r
- GEvent.addListener(gpin, 'infowindowclose', function() {\r
- marker.closeInfoBubble.fire();\r
- }); \r
- return gpin;\r
- },\r
-\r
- removeMarker: function(marker) {\r
- var map = this.maps[this.api];\r
- map.removeOverlay(marker.proprietary_marker);\r
- },\r
-\r
- removeAllMarkers: function() {\r
- var map = this.maps[this.api];\r
- // FIXME: got a feeling this doesn't only delete markers\r
- map.clearOverlays();\r
- },\r
- \r
- declutterMarkers: function(opts) {\r
- throw 'Not implemented';\r
- },\r
-\r
- addPolyline: function(polyline, old) {\r
- var map = this.maps[this.api];\r
- gpolyline = polyline.toProprietary(this.api);\r
- map.addOverlay(gpolyline);\r
- return gpolyline;\r
- },\r
-\r
- removePolyline: function(polyline) {\r
- var map = this.maps[this.api];\r
- map.removeOverlay(polyline.proprietary_polyline);\r
- },\r
-\r
- getCenter: function() {\r
- var map = this.maps[this.api];\r
- var pt = map.getCenter();\r
- var point = new mxn.LatLonPoint(pt.lat(),pt.lng());\r
- return point;\r
- },\r
-\r
- setCenter: function(point, options) {\r
- var map = this.maps[this.api];\r
- var pt = point.toProprietary(this.api);\r
- if(options && options.pan) { \r
- map.panTo(pt); \r
- }\r
- else { \r
- map.setCenter(pt);\r
- }\r
- },\r
-\r
- setZoom: function(zoom) {\r
- var map = this.maps[this.api];\r
- map.setZoom(zoom); \r
- },\r
- \r
- getZoom: function() {\r
- var map = this.maps[this.api];\r
- return map.getZoom();\r
- },\r
-\r
- getZoomLevelForBoundingBox: function( bbox ) {\r
- var map = this.maps[this.api];\r
- // NE and SW points from the bounding box.\r
- var ne = bbox.getNorthEast();\r
- var sw = bbox.getSouthWest();\r
- var gbox = new GLatLngBounds( sw.toProprietary(this.api), ne.toProprietary(this.api) );\r
- var zoom = map.getBoundsZoomLevel( gbox );\r
- return zoom;\r
- },\r
-\r
- setMapType: function(type) {\r
- var map = this.maps[this.api];\r
- switch(type) {\r
- case mxn.Mapstraction.ROAD:\r
- map.setMapType(G_NORMAL_MAP);\r
- break;\r
- case mxn.Mapstraction.SATELLITE:\r
- map.setMapType(G_SATELLITE_MAP);\r
- break;\r
- case mxn.Mapstraction.HYBRID:\r
- map.setMapType(G_HYBRID_MAP);\r
- break;\r
- default:\r
- map.setMapType(type || G_NORMAL_MAP);\r
- } \r
- },\r
-\r
- getMapType: function() {\r
- var map = this.maps[this.api];\r
- var type = map.getCurrentMapType();\r
- switch(type) {\r
- case G_NORMAL_MAP:\r
- return mxn.Mapstraction.ROAD;\r
- case G_SATELLITE_MAP:\r
- return mxn.Mapstraction.SATELLITE;\r
- case G_HYBRID_MAP:\r
- return mxn.Mapstraction.HYBRID;\r
- default:\r
- return null;\r
- }\r
- },\r
-\r
- getBounds: function () {\r
- var map = this.maps[this.api];\r
- var ne, sw, nw, se;\r
- var gbox = map.getBounds();\r
- sw = gbox.getSouthWest();\r
- ne = gbox.getNorthEast();\r
- return new mxn.BoundingBox(sw.lat(), sw.lng(), ne.lat(), ne.lng());\r
- },\r
-\r
- setBounds: function(bounds){\r
- var map = this.maps[this.api];\r
- var sw = bounds.getSouthWest();\r
- var ne = bounds.getNorthEast();\r
- var gbounds = new GLatLngBounds(new GLatLng(sw.lat,sw.lon),new GLatLng(ne.lat,ne.lon));\r
- map.setCenter(gbounds.getCenter(), map.getBoundsZoomLevel(gbounds)); \r
- },\r
-\r
- addImageOverlay: function(id, src, opacity, west, south, east, north, oContext) {\r
- var map = this.maps[this.api];\r
- map.getPane(G_MAP_MAP_PANE).appendChild(oContext.imgElm);\r
- this.setImageOpacity(id, opacity);\r
- this.setImagePosition(id);\r
- GEvent.bind(map, "zoomend", this, function() {\r
- this.setImagePosition(id);\r
- });\r
- GEvent.bind(map, "moveend", this, function() {\r
- this.setImagePosition(id);\r
- });\r
- },\r
-\r
- setImagePosition: function(id, oContext) {\r
- var map = this.maps[this.api];\r
- var topLeftPoint; var bottomRightPoint;\r
-\r
- topLeftPoint = map.fromLatLngToDivPixel( new GLatLng(oContext.latLng.top, oContext.latLng.left) );\r
- bottomRightPoint = map.fromLatLngToDivPixel( new GLatLng(oContext.latLng.bottom, oContext.latLng.right) );\r
- \r
- oContext.pixels.top = topLeftPoint.y;\r
- oContext.pixels.left = topLeftPoint.x;\r
- oContext.pixels.bottom = bottomRightPoint.y;\r
- oContext.pixels.right = bottomRightPoint.x;\r
- },\r
- \r
- addOverlay: function(url, autoCenterAndZoom) {\r
- var map = this.maps[this.api];\r
- var geoXML = new GGeoXml(url);\r
- map.addOverlay(geoXML, function() {\r
- if(autoCenterAndZoom) {\r
- geoXML.gotoDefaultViewport(map);\r
- }\r
- });\r
- },\r
-\r
- addTileLayer: function(tile_url, opacity, copyright_text, min_zoom, max_zoom, map_type) {\r
- var copyright = new GCopyright(1, new GLatLngBounds(new GLatLng(-90,-180), new GLatLng(90,180)), 0, "copyleft");\r
- var copyrightCollection = new GCopyrightCollection(copyright_text);\r
- copyrightCollection.addCopyright(copyright);\r
- var tilelayers = [];\r
- tilelayers[0] = new GTileLayer(copyrightCollection, min_zoom, max_zoom);\r
- tilelayers[0].isPng = function() {\r
- return true;\r
- };\r
- tilelayers[0].getOpacity = function() {\r
- return opacity;\r
- };\r
- tilelayers[0].getTileUrl = function (a, b) {\r
- url = tile_url;\r
- url = url.replace(/\{Z\}/g,b);\r
- url = url.replace(/\{X\}/g,a.x);\r
- url = url.replace(/\{Y\}/g,a.y);\r
- return url;\r
- };\r
- if(map_type) {\r
- var tileLayerOverlay = new GMapType(tilelayers, new GMercatorProjection(19), copyright_text, {\r
- errorMessage:"More "+copyright_text+" tiles coming soon"\r
- }); \r
- this.maps[this.api].addMapType(tileLayerOverlay);\r
- } else {\r
- tileLayerOverlay = new GTileLayerOverlay(tilelayers[0]);\r
- this.maps[this.api].addOverlay(tileLayerOverlay);\r
- } \r
- this.tileLayers.push( [tile_url, tileLayerOverlay, true] );\r
- return tileLayerOverlay;\r
- },\r
-\r
- toggleTileLayer: function(tile_url) {\r
- for (var f=0; f<this.tileLayers.length; f++) {\r
- if(this.tileLayers[f][0] == tile_url) {\r
- if(this.tileLayers[f][2]) {\r
- this.maps[this.api].removeOverlay(this.tileLayers[f][1]);\r
- this.tileLayers[f][2] = false;\r
- }\r
- else {\r
- this.maps[this.api].addOverlay(this.tileLayers[f][1]);\r
- this.tileLayers[f][2] = true;\r
- }\r
- }\r
- } \r
- },\r
-\r
- getPixelRatio: function() {\r
- var map = this.maps[this.api];\r
-\r
- var projection = G_NORMAL_MAP.getProjection();\r
- var centerPoint = map.getCenter();\r
- var zoom = map.getZoom();\r
- var centerPixel = projection.fromLatLngToPixel(centerPoint, zoom);\r
- // distance is the distance in metres for 5 pixels (3-4-5 triangle)\r
- var distancePoint = projection.fromPixelToLatLng(new GPoint(centerPixel.x + 3, centerPixel.y + 4), zoom);\r
- //*1000(km to m), /5 (pythag), *2 (radius to diameter)\r
- return 10000/distancePoint.distanceFrom(centerPoint);\r
- \r
- },\r
- \r
- mousePosition: function(element) {\r
- var locDisp = document.getElementById(element);\r
- if (locDisp !== null) {\r
- var map = this.maps[this.api];\r
- GEvent.addListener(map, 'mousemove', function (point) {\r
- var loc = point.lat().toFixed(4) + ' / ' + point.lng().toFixed(4);\r
- locDisp.innerHTML = loc;\r
- });\r
- locDisp.innerHTML = '0.0000 / 0.0000';\r
- }\r
- }\r
-},\r
-\r
-LatLonPoint: {\r
- \r
- toProprietary: function() {\r
- return new GLatLng(this.lat,this.lon);\r
- },\r
-\r
- fromProprietary: function(googlePoint) {\r
- this.lat = googlePoint.lat();\r
- this.lon = googlePoint.lng();\r
- }\r
- \r
-},\r
-\r
-Marker: {\r
- \r
- toProprietary: function() {\r
- var infoBubble, event_action, infoDiv, div;\r
- var options = {};\r
- if(this.labelText){\r
- options.title = this.labelText;\r
- }\r
- if(this.iconUrl){\r
- var icon = new GIcon(G_DEFAULT_ICON, this.iconUrl);\r
- icon.printImage = icon.mozPrintImage = icon.image;\r
- if(this.iconSize) {\r
- icon.iconSize = new GSize(this.iconSize[0], this.iconSize[1]);\r
- var anchor;\r
- if(this.iconAnchor) {\r
- anchor = new GPoint(this.iconAnchor[0], this.iconAnchor[1]);\r
- }\r
- else {\r
- // FIXME: hard-coding the anchor point\r
- anchor = new GPoint(this.iconSize[0]/2, this.iconSize[1]/2);\r
- }\r
- icon.iconAnchor = anchor;\r
- }\r
- if(typeof(this.iconShadowUrl) != 'undefined') {\r
- icon.shadow = this.iconShadowUrl;\r
- if(this.iconShadowSize) {\r
- icon.shadowSize = new GSize(this.iconShadowSize[0], this.iconShadowSize[1]);\r
- }\r
- } else { // turn off shadow\r
- icon.shadow = '';\r
- icon.shadowSize = '';\r
- }\r
- if(this.transparent) {\r
- icon.transparent = this.transparent;\r
- }\r
- if(this.imageMap) {\r
- icon.imageMap = this.imageMap;\r
- }\r
- options.icon = icon;\r
- }\r
- if(this.draggable){\r
- options.draggable = this.draggable;\r
- }\r
- var gmarker = new GMarker( this.location.toProprietary('google'),options);\r
- \r
- if(this.infoBubble){\r
- infoBubble = this.infoBubble;\r
- if(this.hover) {\r
- event_action = "mouseover";\r
- }\r
- else {\r
- event_action = "click";\r
- }\r
- GEvent.addListener(gmarker, event_action, function() {\r
- gmarker.openInfoWindowHtml(infoBubble, {\r
- maxWidth: 100\r
- });\r
- });\r
- }\r
-\r
- if(this.hoverIconUrl){\r
- GEvent.addListener(gmarker, "mouseover", function() {\r
- gmarker.setImage(this.hoverIconUrl);\r
- });\r
- GEvent.addListener(gmarker, "mouseout", function() {\r
- gmarker.setImage(this.iconUrl);\r
- });\r
- }\r
-\r
- if(this.infoDiv){\r
- infoDiv = this.infoDiv;\r
- div = this.div;\r
- if(this.hover) {\r
- event_action = "mouseover";\r
- }\r
- else {\r
- event_action = "click";\r
- }\r
- GEvent.addListener(gmarker, event_action, function() {\r
- document.getElementById(div).innerHTML = infoDiv;\r
- });\r
- }\r
-\r
- return gmarker;\r
- },\r
-\r
- openBubble: function() {\r
- var gpin = this.proprietary_marker;\r
- gpin.openInfoWindowHtml(this.infoBubble);\r
- },\r
-\r
- hide: function() {\r
- this.proprietary_marker.hide();\r
- },\r
-\r
- show: function() {\r
- this.proprietary_marker.show();\r
- },\r
-\r
- update: function() {\r
- point = new mxn.LatLonPoint();\r
- point.fromGoogle(this.proprietary_marker.getPoint());\r
- this.location = point;\r
- }\r
- \r
-},\r
-\r
-Polyline: {\r
-\r
- toProprietary: function() {\r
- var gpoints = [];\r
- for (var i = 0, length = this.points.length ; i< length; i++){\r
- gpoints.push(this.points[i].toProprietary('google'));\r
- }\r
- if (this.closed || gpoints[0].equals(gpoints[length-1])) {\r
- return new GPolygon(gpoints, this.color, this.width, this.opacity, this.fillColor || "#5462E3", this.opacity || "0.3");\r
- } else {\r
- return new GPolyline(gpoints, this.color, this.width, this.opacity);\r
- }\r
- },\r
- \r
- show: function() {\r
- throw 'Not implemented';\r
- },\r
-\r
- hide: function() {\r
- throw 'Not implemented';\r
- }\r
-}\r
-\r
-});\r
+++ /dev/null
-/*
- 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;
- }
- }
+++ /dev/null
-mxn.register('googlev3', { \r
-\r
-Mapstraction: {\r
- \r
- init: function(element, api){ \r
- var me = this; \r
- if ( google && google.maps ){\r
- // by default no controls and road map\r
- var myOptions = {\r
- disableDefaultUI: true,\r
- mapTypeId: google.maps.MapTypeId.ROADMAP\r
- };\r
- var map = new google.maps.Map(element, myOptions);\r
- \r
- // deal with click\r
- google.maps.event.addListener(map, 'click', function(location){\r
- me.clickHandler(location.latLng.lat(),location.latLng.lng(),location,me);\r
- });\r
-\r
- // deal with zoom change\r
- google.maps.event.addListener(map, 'zoom_changed', function(){\r
- me.changeZoom.fire();\r
- });\r
- // deal with map movement\r
- google.maps.event.addListener(map, 'dragend', function(){\r
- me.moveendHandler(me);\r
- me.endPan.fire();\r
- });\r
- this.maps[api] = map;\r
- this.loaded[api] = true;\r
- me.load.fire();\r
- }\r
- else {\r
- alert(api + ' map script not imported');\r
- }\r
- },\r
- \r
- applyOptions: function(){\r
- var map = this.maps[this.api];\r
- var myOptions = [];\r
- if (this.options.enableDragging) {\r
- myOptions.draggable = true;\r
- } \r
- if (this.options.enableScrollWheelZoom){\r
- myOptions.scrollwheel = true;\r
- } \r
- map.setOptions(myOptions);\r
- },\r
-\r
- resizeTo: function(width, height){ \r
- this.currentElement.style.width = width;\r
- this.currentElement.style.height = height;\r
- var map = this.maps[this.api];\r
- google.maps.event.trigger(map,'resize');\r
- },\r
-\r
- addControls: function( args ) {\r
- var map = this.maps[this.api]; \r
- // remove old controls\r
-\r
- // Google has a combined zoom and pan control.\r
- if (args.zoom || args.pan) {\r
- if (args.zoom == 'large'){ \r
- this.addLargeControls();\r
- } else { \r
- this.addSmallControls();\r
- }\r
- }\r
- if (args.scale){\r
- var myOptions = {\r
- scaleControl:true,\r
- scaleControlOptions: {style:google.maps.ScaleControlStyle.DEFAULT} \r
- };\r
- map.setOptions(myOptions);\r
- this.addControlsArgs.scale = true;\r
- }\r
- },\r
-\r
- addSmallControls: function() {\r
- var map = this.maps[this.api];\r
- var myOptions = {\r
- navigationControl: true,\r
- navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL}\r
- };\r
- map.setOptions(myOptions);\r
-\r
- this.addControlsArgs.pan = false;\r
- this.addControlsArgs.scale = false; \r
- this.addControlsArgs.zoom = 'small';\r
- },\r
-\r
- addLargeControls: function() {\r
- var map = this.maps[this.api];\r
- var myOptions = {\r
- navigationControl:true,\r
- navigationControlOptions: {style:google.maps.NavigationControlStyle.DEFAULT}\r
- };\r
- map.setOptions(myOptions);\r
- this.addControlsArgs.pan = true;\r
- this.addControlsArgs.zoom = 'large';\r
- },\r
-\r
- addMapTypeControls: function() {\r
- var map = this.maps[this.api];\r
- var myOptions = {\r
- mapTypeControl: true,\r
- mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DEFAULT}\r
- };\r
- map.setOptions(myOptions);\r
- this.addControlsArgs.map_type = true;\r
- },\r
-\r
- setCenterAndZoom: function(point, zoom) { \r
- var map = this.maps[this.api];\r
- var pt = point.toProprietary(this.api);\r
- map.setCenter(pt);\r
- map.setZoom(zoom);\r
- },\r
- \r
- addMarker: function(marker, old) {\r
- return marker.toProprietary(this.api); \r
- },\r
-\r
- removeMarker: function(marker) {\r
- // doesn't really remove them, just hides them\r
- marker.hide();\r
- },\r
-\r
- removeAllMarkers: function() {\r
- var map = this.maps[this.api]; \r
- // TODO: Add provider code\r
- },\r
- \r
- declutterMarkers: function(opts) {\r
- var map = this.maps[this.api];\r
- // TODO: Add provider code\r
- },\r
-\r
- addPolyline: function(polyline, old) {\r
- var map = this.maps[this.api];\r
- return polyline.toProprietary(this.api);\r
- },\r
-\r
- removePolyline: function(polyline) {\r
- var map = this.maps[this.api]; \r
- // TODO: Add provider code\r
- },\r
- \r
- getCenter: function() {\r
- var map = this.maps[this.api];\r
- var pt = map.getCenter();\r
- return new mxn.LatLonPoint(pt.lat(),pt.lng());\r
- },\r
-\r
- setCenter: function(point, options) {\r
- var map = this.maps[this.api];\r
- var pt = point.toProprietary(this.api);\r
- if(options && options.pan) { \r
- map.panTo(pt);\r
- }\r
- else { \r
- map.setCenter(pt);\r
- }\r
- },\r
-\r
- setZoom: function(zoom) {\r
- var map = this.maps[this.api];\r
- map.setZoom(zoom);\r
- },\r
- \r
- getZoom: function() {\r
- var map = this.maps[this.api];\r
- return map.getZoom();\r
- },\r
-\r
- getZoomLevelForBoundingBox: function( bbox ) {\r
- var map = this.maps[this.api];\r
- var sw = bbox.getSouthWest().toProprietary(this.api);\r
- var ne = bbox.getNorthEast().toProprietary(this.api);\r
- var gLatLngBounds = new google.maps.LatLngBounds(sw, ne);\r
- map.fitBounds(gLatLngBounds);\r
- return map.getZoom();\r
- },\r
-\r
- setMapType: function(type) {\r
- var map = this.maps[this.api];\r
- switch(type) {\r
- case mxn.Mapstraction.ROAD:\r
- map.setMapTypeId(google.maps.MapTypeId.ROADMAP);\r
- break;\r
- case mxn.Mapstraction.SATELLITE:\r
- map.setMapTypeId(google.maps.MapTypeId.SATELLITE);\r
- break;\r
- case mxn.Mapstraction.HYBRID:\r
- map.setMapTypeId(google.maps.MapTypeId.HYBRID);\r
- break;\r
- default:\r
- map.setMapTypeId(google.maps.MapTypeId.ROADMAP);\r
- } \r
- },\r
-\r
- getMapType: function() {\r
- var map = this.maps[this.api];\r
- var type = map.getMapTypeId();\r
- switch(type) {\r
- case google.maps.MapTypeId.ROADMAP:\r
- return mxn.Mapstraction.ROAD;\r
- case google.maps.MapTypeId.SATELLITE:\r
- return mxn.Mapstraction.SATELLITE;\r
- case google.maps.MapTypeId.HYBRID:\r
- return mxn.Mapstraction.HYBRID;\r
- //case google.maps.MapTypeId.TERRAIN:\r
- // return something;\r
- default:\r
- return null;\r
- }\r
- },\r
-\r
- getBounds: function () {\r
- var map = this.maps[this.api];\r
- var gLatLngBounds = map.getBounds(); \r
- var sw = gLatLngBounds.getSouthWest();\r
- var ne = gLatLngBounds.getNorthEast();\r
- return new mxn.BoundingBox(sw.lat(), sw.lng(), ne.lat(), ne.lng());\r
- },\r
-\r
- setBounds: function(bounds){\r
- var map = this.maps[this.api];\r
- var sw = bounds.getSouthWest().toProprietary(this.api);\r
- var ne = bounds.getNorthEast().toProprietary(this.api);\r
- var gLatLngBounds = new google.maps.LatLngBounds(sw, ne);\r
- map.fitBounds(gLatLngBounds);\r
- },\r
-\r
- addImageOverlay: function(id, src, opacity, west, south, east, north, oContext) {\r
- var map = this.maps[this.api];\r
- \r
- // TODO: Add provider code\r
- },\r
-\r
- setImagePosition: function(id, oContext) {\r
- var map = this.maps[this.api];\r
- var topLeftPoint; var bottomRightPoint;\r
-\r
- // TODO: Add provider code\r
-\r
- //oContext.pixels.top = ...;\r
- //oContext.pixels.left = ...;\r
- //oContext.pixels.bottom = ...;\r
- //oContext.pixels.right = ...;\r
- },\r
- \r
- addOverlay: function(url, autoCenterAndZoom) {\r
- var map = this.maps[this.api];\r
- \r
- // TODO: Add provider code\r
- \r
- },\r
-\r
- addTileLayer: function(tile_url, opacity, copyright_text, min_zoom, max_zoom, map_type) {\r
- var map = this.maps[this.api];\r
- \r
- // TODO: Add provider code\r
- },\r
-\r
- toggleTileLayer: function(tile_url) {\r
- var map = this.maps[this.api];\r
- \r
- // TODO: Add provider code\r
- },\r
-\r
- getPixelRatio: function() {\r
- var map = this.maps[this.api];\r
-\r
- // TODO: Add provider code \r
- },\r
- \r
- mousePosition: function(element) {\r
- var map = this.maps[this.api];\r
-\r
- // TODO: Add provider code \r
- }\r
-},\r
-\r
-LatLonPoint: {\r
- \r
- toProprietary: function() {\r
- return new google.maps.LatLng(this.lat, this.lon);\r
- },\r
-\r
- fromProprietary: function(googlePoint) {\r
- this.lat = googlePoint.lat();\r
- this.lon = googlePoint.lng();\r
- }\r
- \r
-},\r
-\r
-Marker: {\r
- \r
- toProprietary: function() {\r
- var options = {};\r
-\r
- // do we have an Anchor?\r
- var ax = 0; // anchor x \r
- var ay = 0; // anchor y\r
-\r
- if (this.iconAnchor) {\r
- ax = this.iconAnchor[0];\r
- ay = this.iconAnchor[1];\r
- }\r
- var gAnchorPoint = new google.maps.Point(ax,ay);\r
-\r
- if (this.iconUrl) {\r
- options.icon = new google.maps.MarkerImage(\r
- this.iconUrl,\r
- new google.maps.Size(this.iconSize[0],\r
- this.iconSize[1]),\r
- new google.maps.Point(0,0),\r
- gAnchorPoint\r
- );\r
-\r
- // do we have a Shadow?\r
- if (this.iconShadowUrl) {\r
- if (this.iconShadowSize) {\r
- var x = this.iconShadowSize[0];\r
- var y = this.iconShadowSize[1];\r
- options.shadow = new google.maps.MarkerImage(\r
- this.iconShadowUrl,\r
- new google.maps.Size(x,y),\r
- new google.maps.Point(0,0),\r
- gAnchorPoint \r
- );\r
- }\r
- else {\r
- options.shadow = new google.maps.MarkerImage(this.iconShadowUrl);\r
- }\r
- }\r
- }\r
- if (this.draggable){\r
- options.draggable = this.draggable;\r
- }\r
- if (this.labelText){\r
- options.title = this.labelText;\r
- }\r
- if (this.imageMap){\r
- options.shape = {\r
- coord: this.imageMap,\r
- type: 'poly'\r
- };\r
- }\r
- \r
- options.position = this.location.toProprietary(this.api);\r
- options.map = this.map;\r
-\r
- var marker = new google.maps.Marker(options);\r
-\r
- if (this.infoBubble){\r
- var infowindow = new google.maps.InfoWindow({\r
- content: this.infoBubble\r
- });\r
-\r
- var event_action = "click";\r
- if (this.hover) {\r
- event_action = "mouseover";\r
- }\r
- google.maps.event.addListener(marker, event_action, function() { infowindow.open(this.map,marker); });\r
- }\r
-\r
- if (this.hoverIconUrl){\r
- var gSize = new google.maps.Size(this.iconSize[0],\r
- this.iconSize[1]);\r
- var zerozero = new google.maps.Point(0,0);\r
- var hIcon = new google.maps.MarkerImage(\r
- this.hoverIconUrl,\r
- gSize,\r
- zerozero,\r
- gAnchorPoint\r
- );\r
- var Icon = new google.maps.MarkerImage(\r
- this.iconUrl,\r
- gSize,\r
- zerozero,\r
- gAnchorPoint\r
- );\r
- google.maps.event.addListener(\r
- marker, \r
- "mouseover", \r
- function(){ \r
- marker.setIcon(hIcon); \r
- }\r
- );\r
- google.maps.event.addListener(\r
- marker, \r
- "mouseout", \r
- function(){ marker.setIcon(Icon); }\r
- );\r
- }\r
-\r
- google.maps.event.addListener(marker, 'click', function() {\r
- marker.mapstraction_marker.click.fire();\r
- });\r
- \r
- return marker;\r
- },\r
-\r
- openBubble: function() {\r
- var infowindow = new google.maps.InfoWindow({\r
- content: this.infoBubble\r
- });\r
- infowindow.open(this.map,this.proprietary_marker);\r
- },\r
-\r
- hide: function() {\r
- this.proprietary_marker.setOptions({visible:false});\r
- },\r
-\r
- show: function() {\r
- this.proprietary_marker.setOptions({visible:true});\r
- },\r
-\r
- update: function() {\r
- // TODO: Add provider code\r
- }\r
- \r
-},\r
-\r
-Polyline: {\r
-\r
- toProprietary: function() {\r
- throw 'Not implemented';\r
- },\r
- \r
- show: function() {\r
- throw 'Not implemented';\r
- },\r
-\r
- hide: function() {\r
- throw 'Not implemented';\r
- }\r
- \r
-}\r
-\r
-});\r
var scriptBase;\r
var scripts = document.getElementsByTagName('script');\r
\r
- // Determine which scripts we need to load \r
+ // Determine which scripts we need to load\r
for (var i = 0; i < scripts.length; i++) {\r
var match = scripts[i].src.replace(/%20/g , '').match(/^(.*?)mxn\.js(\?\(\[?(.*?)\]?\))?$/);\r
if (match != null) {\r
break;\r
}\r
}\r
- \r
+\r
if (providers == null || providers == 'none') return; // Bail out if no auto-load has been found\r
providers = providers.replace(/ /g, '').split(',');\r
modules = modules.replace(/ /g, '').split(',');\r
}\r
return apis[sApiId][sObjName][sFnName].apply(oScope, args);\r
};\r
- \r
+\r
/**\r
- * Determines whether the specified API provides an implementation for the \r
+ * Determines whether the specified API provides an implementation for the\r
* specified object and function name.\r
* @private\r
*/\r
throw 'API ' + sApiId + ' not loaded. Are you missing a script tag?';\r
}\r
if(typeof(apis[sApiId][sObjName]) == 'undefined') {\r
- throw 'Object definition ' + sObjName + ' in API ' + sApiId + ' not loaded. Are you missing a script tag?'; \r
+ throw 'Object definition ' + sObjName + ' in API ' + sApiId + ' not loaded. Are you missing a script tag?';\r
}\r
return typeof(apis[sApiId][sObjName][sFnName]) == 'function';\r
};\r
* @namespace\r
*/\r
var mxn = window.mxn = /** @lends mxn */ {\r
- \r
+\r
/**\r
* Registers a set of provider specific implementation functions.\r
* @function\r
apis[sApiId] = {};\r
}\r
mxn.util.merge(apis[sApiId], oApiImpl);\r
- }, \r
- \r
+ },\r
+\r
/**\r
- * Adds a list of named proxy methods to the prototype of a \r
+ * Adds a list of named proxy methods to the prototype of a\r
* specified constructor function.\r
* @function\r
* @param {Function} func Constructor function to add methods to\r
}\r
}\r
},\r
- \r
+\r
/*\r
checkLoad: function(funcDetails){\r
if(this.loaded[this.api] === false) {\r
return false;\r
},\r
*/\r
- \r
+\r
/**\r
* Bulk add some named events to an object.\r
* @function\r
oEvtSrc[sEvtName] = new mxn.Event(sEvtName, oEvtSrc);\r
}\r
}\r
- \r
+\r
};\r
\r
/**\r
- * Instantiates a new Event \r
+ * Instantiates a new Event\r
* @constructor\r
* @param {String} sEvtName The name of the event.\r
* @param {Object} oEvtSource The source object of the event.\r
};\r
\r
/**\r
- * Creates a new Invoker, a class which helps with on-the-fly \r
+ * Creates a new Invoker, a class which helps with on-the-fly\r
* invocation of the correct API methods.\r
* @constructor\r
* @param {Object} aobj The core object whose methods will make cals to go()\r
var obj = aobj;\r
var sClassName = asClassName;\r
var fnApiIdGetter = afnApiIdGetter;\r
- var defOpts = { \r
+ var defOpts = {\r
overrideApi: false, // {Boolean} API ID is overridden by value in first argument\r
context: null, // {Object} Local vars can be passed from the body of the method to the API method within this object\r
fallback: null // {Function} If an API implementation doesn't exist this function is run instead\r
};\r
- \r
+\r
/**\r
* Invoke the API implementation of a specific method.\r
* @param {String} sMethodName The method name to invoke\r
* @param {Function} oOptions.fallback A fallback function to run if the provider implementation is missing.\r
*/\r
this.go = function(sMethodName, args, oOptions){\r
- \r
+\r
if(typeof(oOptions) == 'undefined'){\r
oOptions = defOpts;\r
}\r
- \r
+\r
var sApiId = oOptions.overrideApi ? args[0] : fnApiIdGetter.apply(obj);\r
- \r
+\r
if(typeof(sApiId) != 'string'){\r
throw 'API ID not available.';\r
}\r
- \r
+\r
if(typeof(oOptions.context) != 'undefined' && oOptions.context !== null){\r
// make sure args is an array\r
args = Array.prototype.slice.apply(args);\r
args.push(oOptions.context);\r
}\r
- \r
+\r
if(typeof(oOptions.fallback) == 'function' && !hasImplementation(sApiId, sClassName, sMethodName)){\r
// we've got no implementation but have got a fallback function\r
return oOptions.fallback.apply(obj, args);\r
}\r
- else { \r
+ else {\r
return invoke(sApiId, sClassName, sMethodName, obj, args);\r
}\r
- \r
+\r
};\r
- \r
+\r
};\r
\r
/**\r
* @namespace\r
*/\r
mxn.util = {\r
- \r
+\r
/**\r
* Merges properties of one object into another recursively.\r
* @param {Object} oRecv The object receiveing properties\r
}\r
}\r
},\r
- \r
+\r
/**\r
* $m, the dollar function, elegantising getElementById()\r
* @return An HTML element or array of HTML elements\r
callback();\r
}\r
});\r
- } \r
+ }\r
}\r
var h = document.getElementsByTagName('head')[0];\r
h.appendChild( script );\r
return miles * 1.609344;\r
},\r
\r
- // stuff to convert google zoom levels to/from degrees\r
- // assumes zoom 0 = 256 pixels = 360 degrees\r
- // zoom 1 = 256 pixels = 180 degrees\r
- // etc.\r
-\r
- /**\r
- *\r
- * @param {Object} pixels\r
- * @param {Object} zoom\r
- */\r
- getDegreesFromGoogleZoomLevel: function(pixels, zoom) {\r
- return (360 * pixels) / (Math.pow(2, zoom + 8));\r
- },\r
-\r
- /**\r
- *\r
- * @param {Object} pixels\r
- * @param {Object} degrees\r
- */\r
- getGoogleZoomLevelFromDegrees: function(pixels, degrees) {\r
- return mxn.util.logN((360 * pixels) / degrees, 2) - 8;\r
- },\r
-\r
/**\r
*\r
* @param {Object} number\r
logN: function(number, base) {\r
return Math.log(number) / Math.log(base);\r
},\r
- \r
+\r
/**\r
* Returns array of loaded provider apis\r
* @returns {Array} providers\r
}\r
return providers;\r
}\r
- \r
+\r
};\r
\r
/**\r
* Accepts either a HTML color string argument or three integers for R, G and B.\r
* @constructor\r
*/\r
-mxn.util.Color = function() { \r
+mxn.util.Color = function() {\r
if(arguments.length == 3) {\r
this.red = arguments[0];\r
this.green = arguments[1];\r
-mxn.register('openlayers', {
+mxn.register('openlayers', {
Mapstraction: {
// 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();
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 ) {
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() {
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);
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() {
var map = this.maps[this.api];
var pt = point.toProprietary(this.api);
map.setCenter(pt);
-
+
},
setZoom: function(zoom) {
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){
}
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);
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
}
},
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) {
return marker;
},
- openBubble: function() {
+ openBubble: function() {
// TODO: Add provider code
},
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
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
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
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.
-
1. Rename the following files:
- /min/config.php --> /min/old_config.php\r
+ /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.
* $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
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.
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');
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(\r
- 'js' => array('//js/Class.js', '//js/email.js')\r
+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(
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()
// 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>";
QUESTIONS?
-
-http://groups.google.com/group/minify
\ No newline at end of file
-<?php
+<?php
if (phpversion() < 5) {
exit('Minify requires PHP5 or greater.');
</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>
</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>
</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">
$.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 '
* 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.
* @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 {
const ACTION_KEEP_A = 1;
const ACTION_DELETE_A = 2;
const ACTION_DELETE_A_B = 3;
-
+
protected $a = "\n";
protected $b = '';
protected $input = '';
protected $inputLength = 0;
protected $lookAhead = null;
protected $output = '';
-
+
/**
* Minify Javascript
*
$jsmin = new JSMin($js);
return $jsmin->min();
}
-
+
/**
* Setup process
*/
$this->input = str_replace("\r\n", "\n", $input);
$this->inputLength = strlen($this->input);
}
-
+
/**
* Perform minification, return result
*/
return $this->output;
}
$this->action(self::ACTION_DELETE_A_B);
-
+
while ($this->a !== null) {
// determine next command
$command = self::ACTION_KEEP_A; // default
} 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;
}
$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.
// end case ACTION_DELETE_A_B
}
}
-
+
protected function isRegexpLiteral()
{
if (false !== strpos("\n{;(,=:[!&|?", $this->a)) { // we aren't dividing
}
return false;
}
-
+
/**
* Get next char. Convert ctrl char to space.
*/
}
return $c;
}
-
+
/**
* Get next char. If is ctrl character, translate to a space or newline.
*/
$this->lookAhead = $this->get();
return $this->lookAhead;
}
-
+
/**
* Is $c a letter, digit, underscore, dollar sign, escape, or non-ASCII?
*/
{
return (preg_match('/^[0-9a-zA-Z_\\$\\\\]$/', $c) || ord($c) > 126);
}
-
+
protected function singleLineComment()
{
$comment = '';
}
}
}
-
+
protected function multipleLineComment()
{
$this->get();
$comment .= $get;
}
}
-
+
/**
* Get the next character, skipping over comments.
* Some comments may be preserved.
<?php
/**
- * Class Minify
+ * Class Minify
* @package Minify
*/
* Minify_Source
*/
require_once 'Minify/Source.php';
-
+
/**
* Minify - Combines, minifies, and caches JavaScript and CSS files on demand.
*
* @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
*
* @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.
*
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).
// 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!
);
}
}
-
+
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) {
} 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);
} else {
self::$_options['encodeMethod'] = ''; // identity (no encoding)
}
-
+
// check client cache
require_once 'HTTP/ConditionalGet.php';
$cgOptions = array(
$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'])
) {
}
}
}
-
+
// 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();
? $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();
// still need to encode
$content = gzencode($content, self::$_options['encodeLevel']);
}
-
+
// add headers
$headers['Content-Length'] = $cacheIsReady
? $cacheContentLength
);
}
}
-
+
/**
* 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())
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)
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
*
);
}
}
-
+
/**
* Combines sources and minifies the result.
*
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)
$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
$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
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'];
}
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
*/
{
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.
* \r
* @package Minify\r
* @author Stephen Clay <steve@mrclay.org>\r
- * @author http://code.google.com/u/1stvamp/ (Issue 64 patch)\r
*/\r
class Minify_CSS {\r
\r
* the desired files. For this to work, the files *must* exist and be\r
* visible by the PHP process.\r
*\r
- * '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
<?php\r
/**\r
- * Class Minify_CSS_Compressor \r
+ * Class Minify_CSS_Compressor\r
* @package Minify\r
*/\r
\r
*\r
* This is a heavy regex-based removal of whitespace, unnecessary\r
* comments and tokens, and some CSS value minimization, where practical.\r
- * Many steps have been taken to avoid breaking comment-based hacks, \r
+ * Many steps have been taken to avoid breaking comment-based hacks,\r
* including the ie5/mac filter (and its inversion), but expect tricky\r
* hacks involving comment tokens in 'content' value strings to break\r
* minimization badly. A test suite is available.\r
- * \r
+ *\r
* @package Minify\r
* @author Stephen Clay <steve@mrclay.org>\r
- * @author http://code.google.com/u/1stvamp/ (Issue 64 patch)\r
*/\r
class Minify_CSS_Compressor {\r
\r
/**\r
* Minify a CSS string\r
- * \r
+ *\r
* @param string $css\r
- * \r
+ *\r
* @param array $options (currently ignored)\r
- * \r
+ *\r
* @return string\r
*/\r
public static function process($css, $options = array())\r
$obj = new Minify_CSS_Compressor($options);\r
return $obj->_process($css);\r
}\r
- \r
+\r
/**\r
* @var array options\r
*/\r
protected $_options = null;\r
- \r
+\r
/**\r
* @var bool Are we "in" a hack?\r
- * \r
+ *\r
* I.e. are some browsers targetted until the next comment?\r
*/\r
protected $_inHack = false;\r
- \r
- \r
+\r
+\r
/**\r
* Constructor\r
- * \r
+ *\r
* @param array $options (currently ignored)\r
- * \r
+ *\r
* @return null\r
*/\r
private function __construct($options) {\r
$this->_options = $options;\r
}\r
- \r
+\r
/**\r
* Minify a CSS string\r
- * \r
+ *\r
* @param string $css\r
- * \r
+ *\r
* @return string\r
*/\r
protected function _process($css)\r
{\r
$css = str_replace("\r\n", "\n", $css);\r
- \r
+\r
// preserve empty comment after '>'\r
// http://www.webdevout.net/css-hacks#in_css-selectors\r
$css = preg_replace('@>/\\*\\s*\\*/@', '>/*keep*/', $css);\r
- \r
+\r
// preserve empty comment between property and value\r
// http://css-discuss.incutio.com/?page=BoxModelHack\r
$css = preg_replace('@/\\*\\s*\\*/\\s*:@', '/*keep*/:', $css);\r
$css = preg_replace('@:\\s*/\\*\\s*\\*/@', ':/*keep*/', $css);\r
- \r
+\r
// apply callback to all valid comments (and strip out surrounding ws\r
$css = preg_replace_callback('@\\s*/\\*([\\s\\S]*?)\\*/\\s*@'\r
,array($this, '_commentCB'), $css);\r
// remove ws around { } and last semicolon in declaration block\r
$css = preg_replace('/\\s*{\\s*/', '{', $css);\r
$css = preg_replace('/;?\\s*}\\s*/', '}', $css);\r
- \r
+\r
// remove ws surrounding semicolons\r
$css = preg_replace('/\\s*;\\s*/', ';', $css);\r
- \r
+\r
// remove ws around urls\r
$css = preg_replace('/\r
url\\( # url(\r
\\s*\r
\\) # )\r
/x', 'url($1)', $css);\r
- \r
+\r
// remove ws between rules and colons\r
$css = preg_replace('/\r
\\s*\r
- ([{;]) # 1 = beginning of block or rule separator \r
+ ([{;]) # 1 = beginning of block or rule separator\r
\\s*\r
([\\*_]?[\\w\\-]+) # 2 = property (and maybe IE filter)\r
\\s*\r
\\s*\r
(\\b|[#\'"]) # 3 = first character of a value\r
/x', '$1$2:$3', $css);\r
- \r
+\r
// remove ws in selectors\r
$css = preg_replace_callback('/\r
(?: # non-capture\r
{ # open declaration block\r
/x'\r
,array($this, '_selectorsCB'), $css);\r
- \r
+\r
// minimize hex colors\r
$css = preg_replace('/([^=])#([a-f\\d])\\2([a-f\\d])\\3([a-f\\d])\\4([\\s;\\}])/i'\r
, '$1#$2$3$4$5', $css);\r
- \r
+\r
// remove spaces between font families\r
$css = preg_replace_callback('/font-family:([^;}]+)([;}])/'\r
,array($this, '_fontFamilyCB'), $css);\r
- \r
+\r
$css = preg_replace('/@import\\s+url/', '@import url', $css);\r
- \r
+\r
// replace any ws involving newlines with a single newline\r
$css = preg_replace('/[ \\t]*\\n+\\s*/', "\n", $css);\r
- \r
+\r
// separate common descendent selectors w/ newlines (to limit line lengths)\r
$css = preg_replace('/([\\w#\\.\\*]+)\\s+([\\w#\\.\\*]+){/', "$1\n$2{", $css);\r
- \r
+\r
// Use newline after 1st numeric value (to limit line lengths).\r
$css = preg_replace('/\r
((?:padding|margin|border|outline):\\d+(?:px|em)?) # 1 = prop : 1st numeric value\r
\\s+\r
/x'\r
,"$1\n", $css);\r
- \r
+\r
// prevent triggering IE6 bug: http://www.crankygeek.com/ie6pebug/\r
$css = preg_replace('/:first-l(etter|ine)\\{/', ':first-l$1 {', $css);\r
- \r
+\r
return trim($css);\r
}\r
- \r
+\r
/**\r
- * Replace what looks like a set of selectors \r
+ * Replace what looks like a set of selectors\r
*\r
* @param array $m regex matches\r
- * \r
+ *\r
* @return string\r
*/\r
protected function _selectorsCB($m)\r
// remove ws around the combinators\r
return preg_replace('/\\s*([,>+~])\\s*/', '$1', $m[0]);\r
}\r
- \r
+\r
/**\r
* Process a comment and return a replacement\r
- * \r
+ *\r
* @param array $m regex matches\r
- * \r
+ *\r
* @return string\r
*/\r
protected function _commentCB($m)\r
{\r
$hasSurroundingWs = (trim($m[0]) !== $m[1]);\r
- $m = $m[1]; \r
- // $m is the comment content w/o the surrounding tokens, \r
+ $m = $m[1];\r
+ // $m is the comment content w/o the surrounding tokens,\r
// but the return value will replace the entire comment.\r
if ($m === 'keep') {\r
return '/**/';\r
$this->_inHack = false;\r
return '/**/';\r
}\r
- // Issue 107: if there's any surrounding whitespace, it may be important, so \r
+ // Issue 107: if there's any surrounding whitespace, it may be important, so\r
// replace the comment with a single space\r
return $hasSurroundingWs // remove all other comments\r
? ' '\r
: '';\r
}\r
- \r
+\r
/**\r
* Process a font-family listing and return a replacement\r
- * \r
+ *\r
* @param array $m regex matches\r
- * \r
- * @return string \r
+ *\r
+ * @return string\r
*/\r
protected function _fontFamilyCB($m)\r
{\r
<?php
/**
- * Class Minify_Controller_Page
+ * Class Minify_Controller_Page
* @package Minify
*/
/**
* 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.
*/
unset($options['minifyAll']);
}
$this->sources[] = new Minify_Source($sourceSpec);
-
+
$options['contentType'] = Minify::TYPE_HTML;
return $options;
}
-
+
protected $_loadCssJsMinifiers = false;
-
+
/**
* @see Minify_Controller_Base::loadMinifier()
*/
parent::loadMinifier($minifierCallback); // load Minify/HTML.php
}
}
-
*
* 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 {
* 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
*/
}
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.'));
}
$prov->appendChild($alg);
$sig = $dom->createElementNS(self::NS, 'me:sig', $this->getSignature());
$prov->appendChild($sig);
-
+
$dom->documentElement->appendChild($prov);
break;
default:
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';
}
/**
- * 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.
+++ /dev/null
-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.
+++ /dev/null
-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
+++ /dev/null
-<?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;
- }
-}
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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."
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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."
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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."
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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."
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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."
+++ /dev/null
-# 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."
+++ /dev/null
-# 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."
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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."
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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."
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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>サービスを利用する。"
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 во страницата за регистрација."
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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."
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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."
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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."
+++ /dev/null
-# 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."
+++ /dev/null
-# 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."
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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>."
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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."
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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."
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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> у якості інструменту для перевірки на «людяність» на сторінці реєстрації."
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-# 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 ""
+++ /dev/null
-<?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 = "&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",
- array (
- 'privatekey' => $privkey,
- 'remoteip' => $remoteip,
- 'challenge' => $challenge,
- 'response' => $response
- ) + $extra_params
- );
-
- $answers = explode ("\n", $response [1]);
- $recaptcha_response = new ReCaptchaResponse();
-
- if (trim ($answers [0]) == 'true') {
- $recaptcha_response->is_valid = true;
- }
- else {
- $recaptcha_response->is_valid = false;
- $recaptcha_response->error = $answers [1];
- }
- return $recaptcha_response;
-
-}
-
-/**
- * gets a URL where the user can sign up for reCAPTCHA. If your application
- * has a configuration page where you enter a key, you should provide a link
- * using this function.
- * @param string $domain The domain where the page is hosted
- * @param string $appname The name of your application
- */
-function recaptcha_get_signup_url ($domain = null, $appname = null) {
- return "http://recaptcha.net/api/getkey?" . _recaptcha_qsencode (array ('domain' => $domain, 'app' => $appname));
-}
-
-function _recaptcha_aes_pad($val) {
- $block_size = 16;
- $numpad = $block_size - (strlen ($val) % $block_size);
- return str_pad($val, strlen ($val) + $numpad, chr($numpad));
-}
-
-/* Mailhide related code */
-
-function _recaptcha_aes_encrypt($val,$ky) {
- if (! function_exists ("mcrypt_encrypt")) {
- die ("To use reCAPTCHA Mailhide, you need to have the mcrypt php module installed.");
- }
- $mode=MCRYPT_MODE_CBC;
- $enc=MCRYPT_RIJNDAEL_128;
- $val=_recaptcha_aes_pad($val);
- return mcrypt_encrypt($enc, $ky, $val, $mode, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0");
-}
-
-
-function _recaptcha_mailhide_urlbase64 ($x) {
- return strtr(base64_encode ($x), '+/', '-_');
-}
-
-/* gets the reCAPTCHA Mailhide url for a given email, public key and private key */
-function recaptcha_mailhide_url($pubkey, $privkey, $email) {
- if ($pubkey == '' || $pubkey == null || $privkey == "" || $privkey == null) {
- die ("To use reCAPTCHA Mailhide, you have to sign up for a public and private key, " .
- "you can do so at <a href='http://mailhide.recaptcha.net/apikey'>http://mailhide.recaptcha.net/apikey</a>");
- }
-
-
- $ky = pack('H*', $privkey);
- $cryptmail = _recaptcha_aes_encrypt ($email, $ky);
-
- return "http://mailhide.recaptcha.net/d?k=" . $pubkey . "&c=" . _recaptcha_mailhide_urlbase64 ($cryptmail);
-}
-
-/**
- * gets the parts of the email to expose to the user.
- * eg, given johndoe@example,com return ["john", "example.com"].
- * the email is then displayed as john...@example.com
- */
-function _recaptcha_mailhide_email_parts ($email) {
- $arr = preg_split("/@/", $email );
-
- if (strlen ($arr[0]) <= 4) {
- $arr[0] = substr ($arr[0], 0, 1);
- } else if (strlen ($arr[0]) <= 6) {
- $arr[0] = substr ($arr[0], 0, 3);
- } else {
- $arr[0] = substr ($arr[0], 0, 4);
- }
- return $arr;
-}
-
-/**
- * Gets html to display an email address given a public an private key.
- * to get a key, go to:
- *
- * http://mailhide.recaptcha.net/apikey
- */
-function recaptcha_mailhide_html($pubkey, $privkey, $email) {
- $emailparts = _recaptcha_mailhide_email_parts ($email);
- $url = recaptcha_mailhide_url ($pubkey, $privkey, $email);
-
- return htmlentities($emailparts[0]) . "<a href='" . htmlentities ($url) .
- "' onclick=\"window.open('" . htmlentities ($url) . "', '', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=500,height=300'); return false;\" title=\"Reveal this e-mail address\">...</a>@" . htmlentities ($emailparts [1]);
-
-}
/**
* Meta tags for "claiming" a site
*
- * We add extra meta tags that search engines like Yahoo!, Google, and Bing
+ * We add extra meta tags that search engines like Yahoo! and Bing
* require to let you claim your site.
*
* @param Action $action Action being executed
if (($singleUser && $actionName == 'showstream') ||
(!$singleUser && $actionName == 'public')) {
- $keys = array('googlekey' => 'google-site-verification',
- 'yahookey' => 'y_key',
+ $keys = array('yahookey' => 'y_key',
'bingkey' => 'msvalidate.01'); // XXX: is this the same for all sites?
foreach ($keys as $config => $metaname) {
'homepage' => $url,
'rawdescription' =>
// TRANS: Plugin description.
- _m('This plugin allows creation of sitemaps for Bing, Yahoo! and Google.'));
+ _m('This plugin allows creation of sitemaps for Bing and Yahoo!.'));
return true;
}
*/
function saveSettings()
{
- static $settings = array('sitemap' => array('googlekey', 'yahookey', 'bingkey'));
+ static $settings = array('sitemap' => array('yahookey', 'bingkey'));
$values = array();
{
$this->out->elementStart('ul', 'form_data');
$this->li();
- $this->input('googlekey',
- // TRANS: Field label.
- _m('Google key'),
- // TRANS: Title for field label.
- _m('Google Webmaster Tools verification key.'),
- 'sitemap');
- $this->unli();
- $this->li();
$this->input('yahookey',
// TRANS: Field label.
_m('Yahoo key'),
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr "Alc'hwez Google"
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
-msgstr "Gant an astenn-mañ e c'haller sevel tresoù lec'hiennoù evit Bing, Yahoo! ha Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
+msgstr "Gant an astenn-mañ e c'haller sevel tresoù lec'hiennoù evit Bing and Yahoo!."
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr "Sitemap-Einstellungen dieser StatusNet-Website"
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr "Google-Schlüssel"
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr "Google Webmaster-Tools-Verifikationsschlüssel."
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
-msgstr "Dieses Plugin ermöglicht die Erstellung von Sitemaps für Bing, Yahoo! und Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
+msgstr "Dieses Plugin ermöglicht die Erstellung von Sitemaps für Bing and Yahoo!."
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-msgid "Google key"
-msgstr "Google kesa"
-
-#. TRANS: Title for field label.
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
msgid "Yahoo key"
msgstr "Yahoo kesa"
msgstr "Pusulay sita"
#. TRANS: Plugin description.
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr "Sitemap settings for this StatusNet site"
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr "Google key"
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr "Google Webmaster Tools verification key."
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
-msgstr "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
+msgstr "This plugin allows creation of sitemaps for Bing and Yahoo!."
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr "Configuración del mapa del sitio para esta instancia de GNU social"
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr "Clave Google"
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr "Clave de verificación de Google Webmaster Tools."
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
-msgstr "Este complemento permite la creación de mapas del sitio para Bing, Yahoo! y Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
+msgstr "Este complemento permite la creación de mapas del sitio para Bing, Yahoo!."
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr "Saio-ezarpenak StatusNet gune honetarako"
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr "Google gakoa"
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr "Paramètres de plan du site pour ce site StatusNet"
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr "Clé Google"
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr "Clé de vérification pour les outils Google Webmaster."
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
-msgstr "Cette extension permet de créer des plans du site pour Bing, Yahoo! et Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
+msgstr "Cette extension permet de créer des plans du site pour Bing et Yahoo!."
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr "Configuración de mapa do sitio para este sitio StatusNet"
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr "Clave Google"
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr "Clave de verificación para as ferramentas de Google Webmaster."
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
-msgstr "Este complemento permite a creación de mapas do sitio para Bing, Yahoo! e Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
+msgstr "Este complemento permite a creación de mapas do sitio para Bing e Yahoo!."
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr "Configuration de mappa de sito pro iste sito StatusNet"
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr "Clave Google"
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr "Clave de verification de Google Webmaster Tools."
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
-msgstr "Iste plug-in permitte le creation de mappas de sito pro Bing, Yahoo! e Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
+msgstr "Iste plug-in permitte le creation de mappas de sito pro Bing e Yahoo!."
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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
msgid ""
msgid "Sitemap settings for this StatusNet site"
msgstr "Ajusti dil situomapo por ica retosituo GNU social"
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr "Google-klefo"
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr "Verifikado-klefo da Google Webmaster Tools."
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
-msgstr "Ca extensigo posibligas la kreo di situomapi por Bing, Yahoo! e Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
+msgstr "Ca extensigo posibligas la kreo di situomapi por Bing e Yahoo!."
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr "Google キー"
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr "Нагодувања за планот на ова StatusNet-мрежно место"
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr "Google-клуч"
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr "Потврден клуч за Управните алатки на Google."
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
-msgstr "Овој приклучок овозможува создавање на планови на мреж. места на Bing, Yahoo! и Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
+msgstr "Овој приклучок овозможува создавање на планови на мреж. места на Bing и Yahoo!."
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr "Sitemapinstellingen voor deze StatusNetwebsite"
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr "Googlesleutel"
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr "Verificatiesleutel voor Google Webmaster Tools."
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
-msgstr "Deze plugin maakt het mogelijk sitemaps aan te maken voor Bing, Yahoo! en Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
+msgstr "Deze plugin maakt het mogelijk sitemaps aan te maken voor Bing en Yahoo!."
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr "Настройки карты этого сайта на движке StatusNet"
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr "Ключ Google"
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr "Ключ для подтверждения в инструментах вебмастера Google."
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
-msgstr "Этот плагин позволяет создавать карты сайта для Bing, Yahoo! и Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
+msgstr "Этот плагин позволяет создавать карты сайта для Bing и Yahoo!."
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr "Google-nyckel"
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr "Mga katakdaan ng mapa ng sityo para sa sityong ito ng StatusNet"
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr "Susi ng Google"
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr "Susing pantiyak ng mga Kasangkapan ng Maestro ng Web ng Google."
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
-msgstr "Nagpapahintulot ang pampasak na ito ng paglikha ng mga mapa ng sityo para sa Bing, Yahoo! at Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
+msgstr "Nagpapahintulot ang pampasak na ito ng paglikha ng mga mapa ng sityo para sa Bing and Yahoo!."
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr "Налаштування карти сайту на даному сайті StatusNet"
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr "Ключ Google"
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr "Ключ підтвердження Google Webmaster Tools"
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
-msgstr "Цей додаток дозволяє створювати карти сайту для Bing, Yahoo! та Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
+msgstr "Цей додаток дозволяє створювати карти сайту для Bing та Yahoo!."
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
# 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 ""
msgid "Sitemap settings for this StatusNet site"
msgstr ""
-#. TRANS: Field label.
-#: actions/sitemapadminpanel.php:167
-msgid "Google key"
-msgstr ""
-
-#. TRANS: Title for field label.
-#: actions/sitemapadminpanel.php:169
-msgid "Google Webmaster Tools verification key."
-msgstr ""
-
#. TRANS: Field label.
#: actions/sitemapadminpanel.php:175
msgid "Yahoo key"
#. TRANS: Plugin description.
#: SitemapPlugin.php:187
-msgid "This plugin allows creation of sitemaps for Bing, Yahoo! and Google."
+msgid "This plugin allows creation of sitemaps for Bing and Yahoo!."
msgstr ""
<Link rel="http://webfinger.net/rel/profile-page"
type="text/html"
href="https://social.example.com/user/1"/>
-
- <Link rel="http://schemas.google.com/g/2010#updates-from"
- type="application/atom+xml"
- href="https://social.example.com/api/statuses/user_timeline/1.atom"/>
-
+
<!-- Is this/was this ever supported?
<Link rel="http://microformats.org/profile/hcard"
type="text/html"
href="https://social.example.com/hcard"/> -->
-
+
<Link rel="http://gmpg.org/xfn/11"
type="text/html"
href="https://social.example.com/user/1"/>
-
+
<Link rel="describedby"
type="application/rdf+xml"
href="https://social.example.com/username/foaf"/>
<Link rel="http://salmon-protocol.org/ns/salmon-replies"
href="https://social.example.com/main/salmon/user/1"/>
-
+
<Link rel="http://salmon-protocol.org/ns/salmon-mention"
href="https://social.example.com/main/salmon/user/1"/>
-
+
<Link rel="http://ostatus.org/schema/1.0/subscribe"
template="https://social.example.com/main/ostatussub?profile={uri}"/>
</XRD>
<category><![CDATA[rss]]></category>
<guid isPermaLink="false">http://en.blog.wordpress.com/?p=3857</guid>
- <description><![CDATA[From the tongue twisting name department we welcome PubSubHubbub, or as some people have shortened it to: PuSH. Like rssCloud, PuSH is a way for services that subscribe to updates from your blog (think Google Reader, Bloglines or Netvibes) to get updates even faster. In a nutshell, instead of having to periodically ask [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=en.blog.wordpress.com&blog=3584907&post=3857&subd=en.blog&ref=&feed=1" />]]></description>
- <content:encoded><![CDATA[<p>From the tongue twisting name department we welcome <a href="http://code.google.com/p/pubsubhubbub/">PubSubHubbub</a>, or as some people have shortened it to: PuSH. Like <a href="http://en.blog.wordpress.com/2009/09/07/rss-in-the-clouds/">rssCloud</a>, PuSH is a way for services that subscribe to updates from your blog (think Google Reader, Bloglines or Netvibes) to get updates even faster. In a nutshell, instead of having to periodically ask your blog if there are any updates they can now register to automatically receive updates each time you publish new content. In most cases these updates are sent out within a second or two of when you hit the publish button.</p>
+ <description><![CDATA[From the tongue twisting name department we welcome PubSubHubbub, or as some people have shortened it to: PuSH. Like rssCloud, PuSH is a way for services that subscribe to updates from your blog to get updates even faster. In a nutshell, instead of having to periodically ask [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=en.blog.wordpress.com&blog=3584907&post=3857&subd=en.blog&ref=&feed=1" />]]></description>
+ <content:encoded><![CDATA[<p>From the tongue twisting name department we welcome PubSubHubbub, or as some people have shortened it to: PuSH. Like <a href="http://en.blog.wordpress.com/2009/09/07/rss-in-the-clouds/">rssCloud</a>, PuSH is a way for services that subscribe to updates from your blog to get updates even faster. In a nutshell, instead of having to periodically ask your blog if there are any updates they can now register to automatically receive updates each time you publish new content. In most cases these updates are sent out within a second or two of when you hit the publish button.</p>
<p>Today we’ve turned on PuSH support for the more than 10.5 million blogs on WordPress.com. There’s nothing to configure, it’s working right now behind the scenes to help others keep up to date with your posts.</p>
<p>For those using the WordPress.org software we are releasing a new PuSH plugin: <a href="http://wordpress.org/extend/plugins/pushpress/">PuSHPress</a>. This plugin differs from the current PuSH related plugins by including a built-in hub.</p>
- <p>For more PuSH related reading check out the <a href="http://code.google.com/p/pubsubhubbub/">PubSubHubbub project site</a> and <a href="http://groups.google.com/group/pubsubhubbub?pli=1">Google Group</a>. And if you really want to geek out there’s always the <a href="http://pubsubhubbub.googlecode.com/svn/trunk/pubsubhubbub-core-0.3.html">PubSubHubbub Spec</a> <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<br /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/en.blog.wordpress.com/3857/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/en.blog.wordpress.com/3857/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/en.blog.wordpress.com/3857/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/en.blog.wordpress.com/3857/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/en.blog.wordpress.com/3857/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/en.blog.wordpress.com/3857/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/en.blog.wordpress.com/3857/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/en.blog.wordpress.com/3857/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/en.blog.wordpress.com/3857/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/en.blog.wordpress.com/3857/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=en.blog.wordpress.com&blog=3584907&post=3857&subd=en.blog&ref=&feed=1" />]]></content:encoded>
<wfw:commentRss>http://en.blog.wordpress.com/2010/03/03/rub-a-dub-dub-in-the-pubsubhubbub/feed/</wfw:commentRss>
$_example9 = <<<EXAMPLE9
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:media="http://search.yahoo.com/mrss" xmlns:activity="http://activitystrea.ms/spec/1.0/">
- <link rel="self" type="application/atom+xml" href="http://buzz.googleapis.com/feeds/117848251937215158042/public/posted"/>
+ <link rel="self" type="application/atom+xml" href=""/>
<link rel="hub" href="http://pubsubhubbub.appspot.com/"/>
- <title type="text">Google Buzz</title>
+ <title type="text">Test</title>
<updated>2010-03-22T01:55:53.596Z</updated>
- <id>tag:google.com,2009:buzz-feed/public/posted/117848251937215158042</id>
- <generator>Google - Google Buzz</generator>
+ <id>test53725745374</id>
+ <generator>test</generator>
<entry>
<title type="html">Buzz by Zach Copley from Flickr</title>
<summary type="text">IMG_1366</summary>
<published>2010-03-18T04:29:23.000Z</published>
<updated>2010-03-18T05:14:03.325Z</updated>
- <id>tag:google.com,2009:buzz/z12zwdhxowq2d13q204cjr04kzu0cns5gh0</id>
- <link rel="alternate" type="text/html" href="http://www.google.com/buzz/117848251937215158042/ZU7b6mHJEmC/IMG-1366"/>
+ <id></id>
+ <link rel="alternate" type="text/html" href=""/>
<author>
<name>Zach Copley</name>
- <uri>http://www.google.com/profiles/zcopley</uri>
+ <uri>https://mywebsite.net/profiles/zcopley</uri>
</author>
<content type="html"><div>IMG_1366</div></content>
<link rel="enclosure" href="http://www.flickr.com/photos/22823034@N00/4442630700" type="image/jpeg" title="IMG_1366"/>
<media:player url="http://farm5.static.flickr.com/4043/4442630390_62da5560ae_o.jpg" height="1200" width="1600"/>
</media:content>
<activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
- <activity:object>
- <activity:object-type>http://activitystrea.ms/schema/1.0/photo</activity:object-type>
- <id>tag:google.com,2009:buzz/z12zwdhxowq2d13q204cjr04kzu0cns5gh0</id>
- <title>Buzz by Zach Copley from Flickr</title>
- <content type="html"><div>IMG_1366</div></content>
- <link rel="enclosure" href="http://www.flickr.com/photos/22823034@N00/4442630700" type="image/jpeg" title="IMG_1366"/>
- <link rel="enclosure" href="http://www.flickr.com/photos/22823034@N00/4442630390" type="image/jpeg" title="IMG_1365"/>
- </activity:object>
- <link rel="replies" type="application/atom+xml" href="http://buzz.googleapis.com/feeds/117848251937215158042/comments/z12zwdhxowq2d13q204cjr04kzu0cns5gh0" thr:count="0"/>
+ <link rel="replies" type="application/atom+xml" href="" thr:count="0"/>
<thr:total>0</thr:total>
</entry>
</feed>
/**
- * @author Paul Jarvis http://code.google.com/p/twotiny/
+ * @author Paul Jarvis
* @license http://dev.perl.org/licenses/ Artistic License/GPL
* @note
White left arrow with green background
* Version: 1
* GitHub: <https://github.com/hannesmannerheim/neo-quitter>
-Neo Quitter 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 three of the License or (at
-your option) any later version.
-
-Neo Quitter is distributed in hope that it will be useful but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILTY 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 Neo Quitter. If not, see <http://www.gnu.org/licenses/>.
-
+Neo Quitter 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 three of the License or (at
+your option) any later version.
+
+Neo Quitter is distributed in hope that it will be useful but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILTY 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 Neo Quitter. If not, see <http://www.gnu.org/licenses/>.
+
About
-----
-Neo Quitter is based Neo, the standard theme for GNU Social.
+Neo Quitter is based Neo, the standard theme for GNU Social.
Setup
http://www.famfamfam.com/lab/icons/silk/
http://creativecommons.org/licenses/by/2.5/ Creative Commons Attribution 2.5 License
-Lato font by Łukasz Dziedzic (http://www.typoland.com) via Google Web Fonts (http://www.google.com/webfonts)
+Lato font by Łukasz Dziedzic (http://www.typoland.com)
SIL Open Font License, 1.1 (http://scripts.sil.org/OFL)
Prepared for web with Font Squirrel (http://www.fontsquirrel.com/fontface/generator)
+++ /dev/null
-<!DOCTYPE html>
-<html>
-<head>
-<title>Genericons</title>
-<link rel="stylesheet" href="genericons.css">
-<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
-<style type="text/css">
-/**
- * Example page CSS
- */
-
-body {
- font-family: sans-serif;
- line-height: 1.5;
- margin: 0;
- color: #2f2d2c;
- background: #fff;
- font-size: 11pt;
-}
-
-a {
- color: #2f2d2c;
-}
-
-h4 {
- margin-top: 40px;
-}
-
-#iconlist {
- clear: both;
- margin-bottom: 20px;
-}
-
-#iconlist div {
- padding: 10px;
- overflow: hidden;
- white-space: nowrap;
- font-size: 32px;
- line-height: 1;
- position: relative;
- width: 32px;
- height: 32px;
-}
-
-#iconlist div:before {
- margin-right: 20px;
-}
-
-#iconlist div:hover {
- cursor: pointer;
- color: #e4c05c;
-}
-
-#primary {
- background: #e4c05c;
- overflow: hidden;
-}
-
-#content {
- position: relative;
- color: #fff;
- max-width: 980px;
- padding: 0 10px;
- margin: 0 auto;
-}
-
-#icons {
- background: #fbfbfb;
-}
-
-#icons #iconlist {
- max-width: 980px;
- box-sizing: border-box;
- -moz-box-sizing:border-box;
- -webkit-box-sizing:border-box;
- padding: 20px 0;
- margin: 0 auto;
-}
-
-#glyph {
- float: left;
- width: 50%;
- box-sizing: border-box;
- -moz-box-sizing:border-box;
- -webkit-box-sizing:border-box;
- -ms-box-sizing:border-box;
- padding: 20px 0;
-}
-
-#glyph .info {
- float: right;
- width: 180px;
- padding: 36px 0 0 0;
-}
-
-#glyph .info a {
- color: #2f2d2c;
- display: block;
- padding: 8px 0 8px 15px;
-}
-
-#glyph .info strong {
- font-weight: normal;
- display: block;
- padding: 8px 0;
-}
-
-#glyph .genericon {
- font-size: 256px;
- width: 256px;
- height: 256px;
- overflow: visible;
- float: left;
-}
-
-.description {
- margin-top: 50px;
- width: 48%;
- float: right;
- padding-left: 40px;
- margin-left: 2%;
- box-sizing: border-box;
- -moz-box-sizing:border-box;
- -webkit-box-sizing:border-box;
- -ms-box-sizing:border-box;
- background-size: 4px 4px;
-}
-
-#primary h2 {
- color: white;
- margin: 0 auto;
- padding: 22px 0 0 20px;
- max-width: 980px;
- font-size: 2em;
-}
-
-#primary h2 span {
- display: block;
- font-weight: normal;
- font-size: 12pt;
-}
-
-#footer {
- clear: both;
- max-width: 980px;
- margin: 80px auto;
- text-align: center;
- text-transform: uppercase;
- letter-spacing: .1em;
- font-size: 7pt;
- color: #ddd;
-}
-
-#footer a {
- color: #ccc;
- display: inline-block;
- width: 150px;
- overflow: hidden;
- text-indent: 100%;
- position: relative;
- top: 2px;
- opacity: .3;
- background-repeat: no-repeat;
- background-position: center top;
- background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjQsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTUwcHgiIGhlaWdodD0iMTRweCIgdmlld0JveD0iMTAgMCAxNTAgMTQiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMTAgMCAxNTAgMTQiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzQ0NDQ0NCIgZD0iTTY1LjQzOCwxMi41Yy0zLjYyNiwwLTUuOTc2LTIuNjEyLTUuOTc2LTUuMzMxVjYuODMxYzAtMi43NjUsMi4zNTEtNS4zMyw1Ljk3Ni01LjMzDQoJCWMzLjY0MSwwLDUuOTksMi41NjUsNS45OSw1LjMzdjAuMzM5QzcxLjQyOCw5Ljg4OCw2OS4wNzksMTIuNSw2NS40MzgsMTIuNXogTTY5LjQ5Miw2Ljg2MWMwLTEuOTgtMS40NDQtMy43NDgtNC4wNTUtMy43NDgNCgkJcy00LjA0LDEuNzY4LTQuMDQsMy43NDh2MC4yNDZjMCwxLjk4MSwxLjQyOSwzLjc3OSw0LjA0LDMuNzc5czQuMDU1LTEuNzk4LDQuMDU1LTMuNzc5VjYuODYxeiIvPg0KCTxwYXRoIGZpbGw9IiM0NDQ0NDQiIGQ9Ik0yNC40OTgsMTIuMWwtMS4zNTItMi41MzVoLTYuMDA3TDE1LjgzNCwxMi4xaC0yLjAyOGw1LjUzMS0xMC4yM2gxLjU5N2w1LjYyMiwxMC4yM0gyNC40OThMMjQuNDk4LDEyLjF6DQoJCSBNMjAuMDksMy44NjZsLTIuMjI4LDQuMzAxaDQuNTMxTDIwLjA5LDMuODY2eiIvPg0KCTxwYXRoIGZpbGw9IiM0NDQ0NDQiIGQ9Ik0zNS4yODEsMTIuNWMtMy42NzEsMC01LjM3Ni0xLjk5Ni01LjM3Ni00LjY1NFYxLjg3aDEuOTA0djYuMDA2YzAsMS44OTEsMS4yNDUsMy4wMTMsMy42MSwzLjAxMw0KCQljMi40MjgsMCwzLjQyNi0xLjEyMiwzLjQyNi0zLjAxM1YxLjg3aDEuOTJ2NS45NzZDNDAuNzY3LDEwLjM4LDM5LjEzOCwxMi41LDM1LjI4MSwxMi41eiIvPg0KCTxwYXRoIGZpbGw9IiM0NDQ0NDQiIGQ9Ik01MS40NTgsMy40NjdWMTIuMWgtMS45MTlWMy40NjdoLTQuNDcxVjEuODdoMTAuODZ2MS41OThMNTEuNDU4LDMuNDY3TDUxLjQ1OCwzLjQ2N3oiLz4NCgk8cGF0aCBmaWxsPSIjNDQ0NDQ0IiBkPSJNODguNTQzLDEyLjFWNC4wMDRsLTAuNTA5LDAuODkxTDgzLjc0OSwxMi4xaC0wLjkzN2wtNC4yNC03LjIwNWwtMC41MDYtMC44OTFWMTIuMWgtMS44NzVWMS44N2gyLjY1OA0KCQlsNC4wNCw3LjAyMWwwLjQ3NiwwLjg2bDAuNDc3LTAuODZsMy45OTQtNy4wMjFoMi42MjdWMTIuMUg4OC41NDNMODguNTQzLDEyLjF6Ii8+DQoJPHBhdGggZmlsbD0iIzQ0NDQ0NCIgZD0iTTEwNC45NzgsMTIuMWwtMS4zNTItMi41MzVoLTYuMDA4TDk2LjMxMywxMi4xaC0yLjAyOGw1LjUzMS0xMC4yMzFoMS41OTlsNS42MjIsMTAuMjMxSDEwNC45Nzh6DQoJCSBNMTAwLjU3LDMuODY2bC0yLjIyOCw0LjMwMWg0LjUyOUwxMDAuNTcsMy44NjZ6Ii8+DQoJPHBhdGggZmlsbD0iIzQ0NDQ0NCIgZD0iTTExNC43NzgsMy40NjdWMTIuMWgtMS45MlYzLjQ2N2gtNC40N1YxLjg3aDEwLjg2djEuNTk4TDExNC43NzgsMy40NjdMMTE0Ljc3OCwzLjQ2N3oiLz4NCgk8cGF0aCBmaWxsPSIjNDQ0NDQ0IiBkPSJNMTI4Ljg2NiwzLjQ2N1YxMi4xaC0xLjkxOVYzLjQ2N2gtNC40NzJWMS44N2gxMC44NnYxLjU5OEwxMjguODY2LDMuNDY3TDEyOC44NjYsMy40Njd6Ii8+DQoJPHBhdGggZmlsbD0iIzQ0NDQ0NCIgZD0iTTEzOC4wNjcsMTIuMVYyLjgzN2MwLjc2OSwwLDEuMDc2LTAuNDE1LDEuMDc2LTAuOTY4aDAuODE0VjEyLjFIMTM4LjA2N0wxMzguMDY3LDEyLjF6Ii8+DQoJPHBhdGggZmlsbD0iIzQ0NDQ0NCIgZD0iTTE1NC45OTYsNC43NTdjLTAuOTIxLTAuODQ1LTIuMjc0LTEuNjQ0LTQuMTAyLTEuNjQ0Yy0yLjczMywwLTQuMjcsMS44NzUtNC4yNywzLjgyNXYwLjINCgkJYzAsMS45MzcsMS41NTEsMy43NDgsNC40MDgsMy43NDhjMS43MDUsMCwzLjExOC0wLjgxNCw0LjAwOS0xLjY0NGwxLjE1MiwxLjIxNWMtMS4xMjEsMS4xMDctMy4wMjYsMi4wNDMtNS4yODUsMi4wNDMNCgkJYy0zLjg3LDAtNi4yMjMtMi41MjEtNi4yMjMtNS4yODRWNi44NzdjMC0yLjc2NiwyLjU2Ni01LjM3Nyw2LjMxNC01LjM3N2MyLjE2NywwLDQuMTM2LDAuOTA2LDUuMTk0LDIuMDQzTDE1NC45OTYsNC43NTd6Ii8+DQoJPHBhdGggZmlsbD0iIzQ0NDQ0NCIgZD0iTTY2LjcwMiw1LjA2YzAuMzQ3LDAuMjI0LDAuNDQ0LDAuNjg3LDAuMjE5LDEuMDM3TDY1LjE2OSw4LjgxYy0wLjIyNSwwLjM0Ny0wLjY4OCwwLjQ0OC0xLjAzMywwLjIyOWwwLDANCgkJQzYzLjc5LDguODEyLDYzLjY5Miw4LjM1MSw2My45MTcsOGwxLjc1MS0yLjcxM0M2NS44OTMsNC45MzgsNjYuMzU1LDQuODM3LDY2LjcwMiw1LjA2TDY2LjcwMiw1LjA2eiIvPg0KPC9nPg0KPC9zdmc+DQo=');
-}
-
-#footer a:hover {
- opacity: 1;
-}
-
-pre, code {
- font: 14px/1.5 monospace;
-}
-
-.code {
- display: block;
- font: 14px/1.5 monospace;
- width: 600px;
- white-space: pre;
- border: 1px solid #ccc;
- padding: 10px;
- overflow: auto;
- min-height: 110px;
-}
-
-#iconlist .new, #iconlist .update {
- position: relative;
-}
-
-#iconlist .new:after, #iconlist .update:after {
- color: #e4c05c;
- display: block;
- content: "NEW";
- font: bold 8px/1 sans-serif;
- position: absolute;
- top: 0px;
- text-align: center;
- z-index: 10;
- width: 100%;
-}
-
-#iconlist .update:after {
- content: "UPDATE";
- left: -1px;
-}
-
-body.searching #iconlist span.update:after, body.searching #iconlist span.new:after {
- display: none;
-}
-
-#search {
- border: 0;
- border-radius: 2px;
- position: absolute;
- right: 20px;
- font: 11pt sans-serif;
- padding: 10px;
- top: 20px;
- background: rgba(255,255,255,.8);
-}
-
-#search:focus {
- background: #fff;
- outline: none;
-}
-
-.genericon-404 {
- display: none !important; /* This is an easter egg */
-}
-
-.genericon:after {
- content: attr(alt);
- display: block;
- font-size: 9px;
- color: #999;
- text-align: center;
-}
-
-.hideUACs.genericon:after {
- content: none;
-}
-
-
-@media only screen and ( max-width: 900px ) {
-
- #glyph {
- float: none;
- width: 100%;
- }
-
- #glyph .info {
- width: 30%;
- }
- #glyph .genericon {
- width: 70%;
- }
-
- .description {
- clear: both;
- width: 100%;
- background: none;
- padding-left: 0;
- float: none;
- }
-
-}
-</style>
-<script type="text/javascript">
-/**
- * Example page JS
- */
-
-function copyToClipboard ( text, copyMode ) {
- if ( copyMode == "css" ) {
- window.prompt( "Copy this, then paste in your CSS :before selector.", text );
- } else if ( copyMode == "html" ) {
- window.prompt( "Copy this, then paste in your HTML.", text );
- } else {
- window.prompt( "Copy this, then paste in your Photoshop textfield.", text );
- }
-}
-
-function pickRandomIcon() {
- var divs = jQuery("#iconlist div").get().sort(function(){
- return Math.round(Math.random())-0.5;
- }).slice(0,1);
-
- attr = jQuery(divs).attr('alt');
- cssclass = jQuery(divs).attr('class');
- displayGlyph( attr, cssclass );
-
-}
-
-function displayGlyph( attr, cssclass ) {
-
- // set permalink
- var permalink = cssclass.split(' genericon-')[1];
- window.location.hash = permalink;
-
- // css copy string
- csstext = "content: \'\\" + attr + "';";
-
- // html copy string
- htmltext = '<span class="' + cssclass + '"></span>';
-
- // glyph copy string
- glyphtemp = "&#x" + attr + ";";
- jQuery('#temp').html( glyphtemp );
- glyphtext = jQuery('#temp').text();
-
- // final output
- output = '<div class="' + cssclass + '"></div>'
- + '<div class="info">'
- + '<strong>← ' + cssclass.split( ' ' )[1] + '</strong>'
- + '<a href="javascript:copyToClipboard(csstext, \'css\')">Copy CSS</a>'
- + '<a href="javascript:copyToClipboard(htmltext, \'html\')">Copy HTML</a>'
- + '<a href="javascript:copyToClipboard(glyphtext)">Copy Glyph</a>'
- + '</div>';
-
- jQuery( '#glyph' ).html( output );
-
-}
-
-function sortUnicode ( a, b ) {
- var numberA = jQuery(a).attr('alt').replace('f', '');
- var numberB = jQuery(b).attr('alt').replace('f', '');
- var contentA =parseInt( numberA, 16 );
- var contentB =parseInt( numberB, 16 );
- return (contentA < contentB) ? -1 : (contentA > contentB) ? 1 : 0;
-}
-
-jQuery(document).ready(function() {
-
- // pick random icon if no permalink, otherwise go to permalink
- if ( window.location.hash ) {
- permalink = "genericon-" + window.location.hash.split('#')[1];
- attr = jQuery( '.' + permalink ).attr( 'alt' );
- cssclass = jQuery( '.' + permalink ).attr('class');
- displayGlyph( attr, cssclass );
- } else {
- pickRandomIcon();
- }
-
- jQuery( '#iconlist div' ).click(function() {
-
- attr = jQuery( this ).attr( 'alt' );
- cssclass = jQuery( this ).attr( 'class' );
-
- displayGlyph( attr, cssclass );
-
- });
-
- var $rows = jQuery('#iconlist div');
- jQuery('#search').keyup(function() {
-
- // remove update text when using search
- jQuery('body').addClass('searching');
-
- var val = jQuery.trim(jQuery(this).val()).replace(/ +/g, ' ').toLowerCase();
-
- $rows.show().filter(function() {
- var text = jQuery(this).text().replace(/\s+/g, ' ').toLowerCase();
- return !~text.indexOf(val);
- }).hide();
- });
-
- jQuery('input#search').focus();
-
- // sort based on number
- jQuery('#iconlist div').sort( sortUnicode ).appendTo('#iconlist');
-
-});
-
-function toggleUACs() {
- jQuery('.genericon').toggleClass('hideUACs');
-}
-</script>
-</head>
-
-<body>
-
-<div id="main">
-
- <div id="primary">
- <div id="content">
-
- <h2>Genericons <span>— A free, GPL, flexible icon font for blogs!</span></h2>
-
- <input placeholder="Filter..." name="search" id="search" type="text" value="" maxlength="150" />
-
- <div id="glyph">
- </div>
-
- <div class="description">
- <p>Genericons are vector icons embedded in a webfont designed to be clean and simple keeping with a generic aesthetic. Use for instant HiDPI or to easily change colors on the fly.</p>
- </div>
-
- </div>
- </div>
-
- <div id="icons">
- <div id="iconlist">
-
- <!-- note, the text inside the HTML elements is purely for the seach -->
-
- <div alt="f423" class="genericon genericon-404" title="genericon-404">404</div>
-
- <div alt="f508" class="genericon genericon-activity" title="genericon-activity">activity</div>
-
- <div alt="f509" class="genericon genericon-anchor" title="genericon-anchor">anchor</div>
-
- <div alt="f101" class="genericon genericon-aside" title="genericon-aside">aside</div>
-
- <div alt="f416" class="genericon genericon-attachment" title="genericon-attachment">attachment</div>
-
- <div alt="f109" class="genericon genericon-audio" title="genericon-audio">audio</div>
-
- <div alt="f471" class="genericon genericon-bold" title="genericon-bold">bold</div>
-
- <div alt="f444" class="genericon genericon-book" title="genericon-book">book</div>
-
- <div alt="f50a" class="genericon genericon-bug" title="genericon-bug">bug</div>
-
- <div alt="f447" class="genericon genericon-cart" title="genericon-cart">cart</div>
-
- <div alt="f301" class="genericon genericon-category" title="genericon-category">category</div>
-
- <div alt="f108" class="genericon genericon-chat" title="genericon-chat">chat</div>
-
- <div alt="f418" class="genericon genericon-checkmark" title="genericon-checkmark">checkmark</div>
-
- <div alt="f405" class="genericon genericon-close" title="genericon-close">close</div>
-
- <div alt="f406" class="genericon genericon-close-alt" title="genericon-close-alt">close-alt</div>
-
- <div alt="f426" class="genericon genericon-cloud" title="genericon-cloud">cloud</div>
-
- <div alt="f440" class="genericon genericon-cloud-download" title="genericon-cloud-download">cloud-download</div>
-
- <div alt="f441" class="genericon genericon-cloud-upload" title="genericon-cloud-upload">cloud-upload</div>
-
- <div alt="f462" class="genericon genericon-code" title="genericon-code">code</div>
-
- <div alt="f216" class="genericon genericon-codepen" title="genericon-codepen">codepen</div>
-
- <div alt="f445" class="genericon genericon-cog" title="genericon-cog">cog</div>
-
- <div alt="f432" class="genericon genericon-collapse" title="genericon-collapse">collapse</div>
-
- <div alt="f300" class="genericon genericon-comment" title="genericon-comment">comment</div>
-
- <div alt="f305" class="genericon genericon-day" title="genericon-day">day</div>
-
- <div alt="f221" class="genericon genericon-digg" title="genericon-digg">digg</div>
-
- <div alt="f443" class="genericon genericon-document" title="genericon-document">document</div>
-
- <div alt="f428" class="genericon genericon-dot" title="genericon-dot">dot</div>
-
- <div alt="f502" class="genericon genericon-downarrow" title="genericon-downarrow">downarrow</div>
-
- <div alt="f50b" class="genericon genericon-download" title="genericon-download">download</div>
-
- <div alt="f436" class="genericon genericon-draggable" title="genericon-draggable">draggable</div>
-
- <div alt="f201" class="genericon genericon-dribbble" title="genericon-dribbble">dribbble</div>
-
- <div alt="f225" class="genericon genericon-dropbox" title="genericon-dropbox">dropbox</div>
-
- <div alt="f433" class="genericon genericon-dropdown" title="genericon-dropdown">dropdown</div>
-
- <div alt="f434" class="genericon genericon-dropdown-left" title="genericon-dropdown-left">dropdown-left</div>
-
- <div alt="f411" class="genericon genericon-edit" title="genericon-edit">edit</div>
-
- <div alt="f476" class="genericon genericon-ellipsis" title="genericon-ellipsis">ellipsis</div>
-
- <div alt="f431" class="genericon genericon-expand" title="genericon-expand">expand</div>
-
- <div alt="f442" class="genericon genericon-external" title="genericon-external">external</div>
-
- <div alt="f203" class="genericon genericon-facebook" title="genericon-facebook">facebook</div>
-
- <div alt="f204" class="genericon genericon-facebook-alt" title="genericon-facebook-alt">facebook-alt</div>
-
- <div alt="f458" class="genericon genericon-fastforward" title="genericon-fastforward">fastforward</div>
-
- <div alt="f413" class="genericon genericon-feed" title="genericon-feed">feed</div>
-
- <div alt="f468" class="genericon genericon-flag" title="genericon-flag">flag</div>
-
- <div alt="f211" class="genericon genericon-flickr" title="genericon-flickr">flickr</div>
-
- <div alt="f226" class="genericon genericon-foursquare" title="genericon-foursquare">foursquare</div>
-
- <div alt="f474" class="genericon genericon-fullscreen" title="genericon-fullscreen">fullscreen</div>
-
- <div alt="f103" class="genericon genericon-gallery" title="genericon-gallery">gallery</div>
-
- <div alt="f200" class="genericon genericon-github" title="genericon-github">github</div>
-
- <div alt="f206" class="genericon genericon-googleplus" title="genericon-googleplus">googleplus</div>
-
- <div alt="f218" class="genericon genericon-googleplus-alt" title="genericon-googleplus-alt">googleplus-alt</div>
-
- <div alt="f50c" class="genericon genericon-handset" title="genericon-handset">handset</div>
-
- <div alt="f461" class="genericon genericon-heart" title="genericon-heart">heart</div>
-
- <div alt="f457" class="genericon genericon-help" title="genericon-help">help</div>
-
- <div alt="f404" class="genericon genericon-hide" title="genericon-hide">hide</div>
-
- <div alt="f505" class="genericon genericon-hierarchy" title="genericon-hierarchy">hierarchy</div>
-
- <div alt="f409" class="genericon genericon-home" title="genericon-home">home</div>
-
- <div alt="f102" class="genericon genericon-image" title="genericon-image">image</div>
-
- <div alt="f455" class="genericon genericon-info" title="genericon-info">info</div>
-
- <div alt="f215" class="genericon genericon-instagram" title="genericon-instagram">instagram</div>
-
- <div alt="f472" class="genericon genericon-italic" title="genericon-italic">italic</div>
-
- <div alt="f427" class="genericon genericon-key" title="genericon-key">key</div>
-
- <div alt="f503" class="genericon genericon-leftarrow" title="genericon-leftarrow">leftarrow</div>
-
- <div alt="f107" class="genericon genericon-link" title="genericon-link">link</div>
-
- <div alt="f207" class="genericon genericon-linkedin" title="genericon-linkedin">linkedin</div>
-
- <div alt="f208" class="genericon genericon-linkedin-alt" title="genericon-linkedin-alt">linkedin-alt</div>
-
- <div alt="f417" class="genericon genericon-location" title="genericon-location">location</div>
-
- <div alt="f470" class="genericon genericon-lock" title="genericon-lock">lock</div>
-
- <div alt="f410" class="genericon genericon-mail" title="genericon-mail">mail</div>
-
- <div alt="f422" class="genericon genericon-maximize" title="genericon-maximize">maximize</div>
-
- <div alt="f419" class="genericon genericon-menu" title="genericon-menu">menu</div>
-
- <div alt="f50d" class="genericon genericon-microphone" title="genericon-microphone">microphone</div>
-
- <div alt="f421" class="genericon genericon-minimize" title="genericon-minimize">minimize</div>
-
- <div alt="f50e" class="genericon genericon-minus" title="genericon-minus">minus</div>
-
- <div alt="f307" class="genericon genericon-month" title="genericon-month">month</div>
-
- <div alt="f50f" class="genericon genericon-move" title="genericon-move">move</div>
-
- <div alt="f429" class="genericon genericon-next" title="genericon-next">next</div>
-
- <div alt="f456" class="genericon genericon-notice" title="genericon-notice">notice</div>
-
- <div alt="f506" class="genericon genericon-paintbrush" title="genericon-paintbrush">paintbrush</div>
-
- <div alt="f219" class="genericon genericon-path" title="genericon-path">path</div>
-
- <div alt="f448" class="genericon genericon-pause" title="genericon-pause">pause</div>
-
- <div alt="f437" class="genericon genericon-phone" title="genericon-phone">phone</div>
-
- <div alt="f473" class="genericon genericon-picture" title="genericon-picture">picture</div>
-
- <div alt="f308" class="genericon genericon-pinned" title="genericon-pinned">pinned</div>
-
- <div alt="f209" class="genericon genericon-pinterest" title="genericon-pinterest">pinterest</div>
-
- <div alt="f210" class="genericon genericon-pinterest-alt" title="genericon-pinterest-alt">pinterest-alt</div>
-
- <div alt="f452" class="genericon genericon-play" title="genericon-play">play</div>
-
- <div alt="f439" class="genericon genericon-plugin" title="genericon-plugin">plugin</div>
-
- <div alt="f510" class="genericon genericon-plus" title="genericon-plus">plus</div>
-
- <div alt="f224" class="genericon genericon-pocket" title="genericon-pocket">pocket</div>
-
- <div alt="f217" class="genericon genericon-polldaddy" title="genericon-polldaddy">polldaddy</div>
-
- <div alt="f460" class="genericon genericon-portfolio" title="genericon-portfolio">portfolio</div>
-
- <div alt="f430" class="genericon genericon-previous" title="genericon-previous">previous</div>
-
- <div alt="f469" class="genericon genericon-print" title="genericon-print">print</div>
-
- <div alt="f106" class="genericon genericon-quote" title="genericon-quote">quote</div>
-
- <div alt="f511" class="genericon genericon-rating-empty" title="genericon-rating-empty">rating-empty</div>
-
- <div alt="f512" class="genericon genericon-rating-full" title="genericon-rating-full">rating-full</div>
-
- <div alt="f513" class="genericon genericon-rating-half" title="genericon-rating-half">rating-half</div>
-
- <div alt="f222" class="genericon genericon-reddit" title="genericon-reddit">reddit</div>
-
- <div alt="f420" class="genericon genericon-refresh" title="genericon-refresh">refresh</div>
-
- <div alt="f412" class="genericon genericon-reply" title="genericon-reply">reply</div>
-
- <div alt="f466" class="genericon genericon-reply-alt" title="genericon-reply-alt">reply-alt</div>
-
- <div alt="f467" class="genericon genericon-reply-single" title="genericon-reply-single">reply-single</div>
-
- <div alt="f459" class="genericon genericon-rewind" title="genericon-rewind">rewind</div>
-
- <div alt="f501" class="genericon genericon-rightarrow" title="genericon-rightarrow">rightarrow</div>
-
- <div alt="f400" class="genericon genericon-search" title="genericon-search">search</div>
-
- <div alt="f438" class="genericon genericon-send-to-phone" title="genericon-send-to-phone">send-to-phone</div>
-
- <div alt="f454" class="genericon genericon-send-to-tablet" title="genericon-send-to-tablet">send-to-tablet</div>
-
- <div alt="f415" class="genericon genericon-share" title="genericon-share">share</div>
-
- <div alt="f403" class="genericon genericon-show" title="genericon-show">show</div>
-
- <div alt="f514" class="genericon genericon-shuffle" title="genericon-shuffle">shuffle</div>
-
- <div alt="f507" class="genericon genericon-sitemap" title="genericon-sitemap">sitemap</div>
-
- <div alt="f451" class="genericon genericon-skip-ahead" title="genericon-skip-ahead">skip-ahead</div>
-
- <div alt="f450" class="genericon genericon-skip-back" title="genericon-skip-back">skip-back</div>
-
- <div alt="f220" class="genericon genericon-skype" title="genericon-skype">skype</div>
-
- <div alt="f424" class="genericon genericon-spam" title="genericon-spam">spam</div>
-
- <div alt="f515" class="genericon genericon-spotify" title="genericon-spotify">spotify</div>
-
- <div alt="f100" class="genericon genericon-standard" title="genericon-standard">standard</div>
-
- <div alt="f408" class="genericon genericon-star" title="genericon-star">star</div>
-
- <div alt="f105" class="genericon genericon-status" title="genericon-status">status</div>
-
- <div alt="f449" class="genericon genericon-stop" title="genericon-stop">stop</div>
-
- <div alt="f223" class="genericon genericon-stumbleupon" title="genericon-stumbleupon">stumbleupon</div>
-
- <div alt="f463" class="genericon genericon-subscribe" title="genericon-subscribe">subscribe</div>
-
- <div alt="f465" class="genericon genericon-subscribed" title="genericon-subscribed">subscribed</div>
-
- <div alt="f425" class="genericon genericon-summary" title="genericon-summary">summary</div>
-
- <div alt="f453" class="genericon genericon-tablet" title="genericon-tablet">tablet</div>
-
- <div alt="f302" class="genericon genericon-tag" title="genericon-tag">tag</div>
-
- <div alt="f303" class="genericon genericon-time" title="genericon-time">time</div>
-
- <div alt="f435" class="genericon genericon-top" title="genericon-top">top</div>
-
- <div alt="f407" class="genericon genericon-trash" title="genericon-trash">trash</div>
-
- <div alt="f214" class="genericon genericon-tumblr" title="genericon-tumblr">tumblr</div>
-
- <div alt="f516" class="genericon genericon-twitch" title="genericon-twitch">twitch</div>
-
- <div alt="f202" class="genericon genericon-twitter" title="genericon-twitter">twitter</div>
-
- <div alt="f446" class="genericon genericon-unapprove" title="genericon-unapprove">unapprove</div>
-
- <div alt="f464" class="genericon genericon-unsubscribe" title="genericon-unsubscribe">unsubscribe</div>
-
- <div alt="f401" class="genericon genericon-unzoom" title="genericon-unzoom">unzoom</div>
-
- <div alt="f500" class="genericon genericon-uparrow" title="genericon-uparrow">uparrow</div>
-
- <div alt="f304" class="genericon genericon-user" title="genericon-user">user</div>
-
- <div alt="f104" class="genericon genericon-video" title="genericon-video">video</div>
-
- <div alt="f517" class="genericon genericon-videocamera" title="genericon-videocamera">videocamera</div>
-
- <div alt="f212" class="genericon genericon-vimeo" title="genericon-vimeo">vimeo</div>
-
- <div alt="f414" class="genericon genericon-warning" title="genericon-warning">warning</div>
-
- <div alt="f475" class="genericon genericon-website" title="genericon-website">website</div>
-
- <div alt="f306" class="genericon genericon-week" title="genericon-week">week</div>
-
- <div alt="f205" class="genericon genericon-wordpress" title="genericon-wordpress">wordpress</div>
-
- <div alt="f504" class="genericon genericon-xpost" title="genericon-xpost">xpost</div>
-
- <div alt="f213" class="genericon genericon-youtube" title="genericon-youtube">youtube</div>
-
- <div alt="f402" class="genericon genericon-zoom" title="genericon-zoom">zoom</div>
-
-
- </div>
-
- <div id="temp" style="display: none;"></div>
-
- </div>
-
- <div id="footer">
-
- <p>An <a href="http://automattic.com" rel="nofollow">Automattic</a> Portrayal</p>
- <p>No designers were harmed in the making of this icon font.</p>
-
-
- </div>
-
-</div>
-
-</body>
-</html>
\ No newline at end of file
*/
-/* IE8 and below use EOT and allow cross-site embedding.
+/* IE8 and below use EOT and allow cross-site embedding.
IE9 uses WOFF which is base64 encoded to allow cross-site embedding.
So unfortunately, IE9 will throw a console error, but it'll still work.
When the font is base64 encoded, cross-site embedding works in Firefox */
.genericon-fullscreen:before { content: "\f474"; }
.genericon-gallery:before { content: "\f103"; }
.genericon-github:before { content: "\f200"; }
-.genericon-googleplus:before { content: "\f206"; }
-.genericon-googleplus-alt:before { content: "\f218"; }
.genericon-handset:before { content: "\f50c"; }
.genericon-heart:before { content: "\f461"; }
.genericon-help:before { content: "\f457"; }
.genericon-xpost:before { content: "\f504"; }
.genericon-youtube:before { content: "\f213"; }
.genericon-zoom:before { content: "\f402"; }
-
-
-
-
http://www.famfamfam.com/lab/icons/silk/
http://creativecommons.org/licenses/by/2.5/ Creative Commons Attribution 2.5 License
-Lato font by Łukasz Dziedzic (http://www.typoland.com) via Google Web Fonts (http://www.google.com/webfonts)
+Lato font by Łukasz Dziedzic (http://www.typoland.com)
SIL Open Font License, 1.1 (http://scripts.sil.org/OFL)
Prepared for web with Font Squirrel (http://www.fontsquirrel.com/fontface/generator)