<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://en.wikifur.com/w/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://pool.wikifur.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kakurady</id>
		<title>WikiFur - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://pool.wikifur.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kakurady"/>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Special:Contributions/Kakurady"/>
		<updated>2026-11-06T04:38:29Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.23.16</generator>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2020-01-02T00:02:12Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[//en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, and copy the first two numbers after the '@' in the URL (including the decimal portion). &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe (') in a name or location, put a backslash (\) in front of it.&lt;br /&gt;
&lt;br /&gt;
// Please also help keep the main WikiFur articles, [[:en:Template:Timeline of conventions|timeline]] and [[:en:List of conventions by attendance|list of conventions by attendance]] and the [[:en:Template:Upcoming events|upcoming events list]] up to date.&amp;lt;pre&amp;gt;&lt;br /&gt;
'use strict';&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
//'enum' specifying which region is selected in the drop down, with&lt;br /&gt;
//hacky functions to classify conventions into geographic regions&lt;br /&gt;
var Filter = {&lt;br /&gt;
  ALL: {name: &amp;quot;Everywhere&amp;quot;, count: 0, in: function(lat, lng) {return true}},&lt;br /&gt;
  NA: {name: &amp;quot;North America&amp;quot;, count: 0, in: function(lat, lng) {return (lat &amp;gt; 14 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48)}},&lt;br /&gt;
  EU: {name: &amp;quot;Europe&amp;quot;, count: 0, in: function(lat, lng) {return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40)}},&lt;br /&gt;
  APEJ: {name: &amp;quot;South &amp;amp;amp; East Asia&amp;quot;, count: 0, in: function(lat, lng) {return (lat &amp;gt; -9.3 &amp;amp;&amp;amp; lat &amp;lt; 50 &amp;amp;&amp;amp; lng &amp;gt; 93 &amp;amp;&amp;amp; lng &amp;lt; 129.3)}},&lt;br /&gt;
  OCEANIA: {name: &amp;quot;Oceania&amp;quot;, count: 0, in: function(lat, lng) {return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -9.3 &amp;amp;&amp;amp; lng &amp;gt; 110)}},&lt;br /&gt;
  SA: {name: &amp;quot;South America&amp;quot;, count: 0, in: function(lat, lng) {return (lat &amp;gt; -68 &amp;amp;&amp;amp; lat &amp;lt; 13 &amp;amp;&amp;amp; lng &amp;gt; -82 &amp;amp;&amp;amp; lng &amp;lt; -35)}},&lt;br /&gt;
  JAPAN: {name: &amp;quot;Japan&amp;quot;, count: 0, in: function(lat, lng) {return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145)}},&lt;br /&gt;
  OTHERS: {name: &amp;quot;Rest of the World&amp;quot;, count: 0, in: function(lat, lng) {return !(Filter.NA.in(lat, lng) || Filter.EU.in(lat, lng) || Filter.APEJ.in(lat, lng) || Filter.OCEANIA.in(lat, lng) || Filter.SA.in(lat, lng) || Filter.JAPAN.in(lat, lng))}},&lt;br /&gt;
  ALLAGES: {name: &amp;quot;Open to all ages&amp;quot;, count: 0, in: function(lat, lng, age) {return !age}},&lt;br /&gt;
  RESTRICTED: {name: &amp;quot;Age-restricted&amp;quot;, count: 0, in: function(lat, lng, age) {return !!age}}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
var useragent = navigator.userAgent;&lt;br /&gt;
is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
  //document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
  document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
  document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
if (typeof google!=='undefined') {&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: new google.maps.LatLng(40,-40),&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// try to detect user location and recenter on them&lt;br /&gt;
var ipcheck = new XMLHttpRequest();&lt;br /&gt;
ipcheck.open(&amp;quot;GET&amp;quot;, &amp;quot;//ipapi.co/json/&amp;quot;);&lt;br /&gt;
ipcheck.onload = function(){&lt;br /&gt;
	if (ipcheck.status &amp;gt;= 200 &amp;amp;&amp;amp; ipcheck.status &amp;lt; 300) {&lt;br /&gt;
		var loc = JSON.parse(ipcheck.responseText);&lt;br /&gt;
		map.panTo({lat: loc.latitude, lng: loc.longitude});&lt;br /&gt;
		map.setZoom(5); // more local detail, more useful for them&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
ipcheck.send();&lt;br /&gt;
} //google&lt;br /&gt;
&lt;br /&gt;
/* Add map points, details and optional pre-reg per https://developers.google.com/search/docs/data-types/event - escape internal apostrophies, e.g. 'Dealer\'s'.&lt;br /&gt;
addLocation(latitude, longitude, 'Name' {English WikiFur article}, 'XX/Logo.XXX' or ['XX/Logo.XXX','YY/Flyer.YYY',...] or null {last part of original image URL on en.wikifur.com, or full URL; logo first; current flyer second, ideally width 720px+, 50K+ px total}, 'furry.web/site' {no http[s]://}, 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country [notes in brackets]', 'Phone Number' {or ''}, 'Jan 1[-[Feb ]3] 20XX' {or 'Dec YY 20XX-Jan Z'}, attendance {or null}, minimum age {restrictions allowed; or null}, 'https://event/registration' {or null}, 'reg currency code' {ISO 4217; 'USD' not '$'; or ['USD','ARS'] if available in multiple currencies; or null}, [&lt;br /&gt;
['Name', 'Brief description', Price {include fees; 50 or 50.50, not 50,50; use [14.50,504.20] if multiple currencies}, 'Available from' {at price, datetime with offset; check DST}, 'Available until', 'SoldOut'/'PreOrder'/'InStoreOnly' {optional, use if definitively sold out/put to waiting list/only at-con respectively}],&lt;br /&gt;
[...]&lt;br /&gt;
]', e.g. [&lt;br /&gt;
['Attending (early-bird)','Friday-Sunday; early-bird until March 20',50,'2020-01-01T19:30-0500','2020-03-20T24:00-0500'],&lt;br /&gt;
['Attending','Friday-Sunday',60,'2020-03-20T24:00-0500','2020-04-20T24:00-0400'],&lt;br /&gt;
['Sponsor','Friday-Sunday; T-shirt, priority seating',95,'2020-01-01T19:30-0500','2020-04-20T24:00-0400', 'SoldOut']&lt;br /&gt;
] {or null if no registration; use an offer with price '0' if you can/must pre-register for free} );&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
addLocation(29.4318682,-98.4907969, 'Alamo City Furry Invasion', ['b2/AlamoCityFurryInvasion.png','af/ACFI2019.jpg'], 'furryinvasion.org', 'El Tropicano Riverwalk&amp;lt;br&amp;gt;110 Lexington Avenue&amp;lt;br&amp;gt;San Antonio, TX 78205&amp;lt;br&amp;gt;USA', '+1 (210) 254-5665', 'Oct 4-6 2019', 1006, null, 'https://reg.furryinvasion.org/kiosk/2019/', 'USD', [&lt;br /&gt;
['Attending','Event access; conbook, wristband, pet tag',45,'2018-11-02T19:35-0600','2019-09-16T23:59-0600'],&lt;br /&gt;
['Sponsor','Event access; conbook, wristbad, pet tag, perks',80,'2018-11-02T19:35-0600','2019-09-16T23:59-0600'],&lt;br /&gt;
['Super Sponsor', 'Event access; GoH dinner, conbook, wristband, pet tag, perks',125,'2018-11-02T19:35-0600','2019-09-16T23:59-0600']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(35.833243, -78.771843, 'Anthro Crossroads East', 'e9/ACE_Logo.jpeg', 'anthrocrossroads.com', 'Embassy Suites Research Triangle&amp;lt;br&amp;gt;201 Harrison Oaks Blvd&amp;lt;br&amp;gt;Cary, NC 27513&amp;lt;br&amp;gt;USA', '+1 (919) 677-1840', 'Jan 18-20 2019', 295, null);&lt;br /&gt;
addLocation(42.3507047,-71.0721189, 'Anthro New England', ['82/ANE.jpg','5a/ANE2020.jpg'], 'anthronewengland.com', 'Boston Park Plaza Hotel&amp;lt;br&amp;gt;50 Park Plaza&amp;lt;br&amp;gt;Boston, MA 02116-3912&amp;lt;br&amp;gt;USA', '+1 (617) 426-2000', 'Feb 20-23 2020', 2251, null, 'https://www.anthronewengland.com/registration', 'USD', [&lt;br /&gt;
['Attending (14+)','Thursday-Sunday',50,'2018-06-01','2019-01-31'],&lt;br /&gt;
['Sponsor','Thursday-Sunday; 10% con store discount; T-shirt; early access to ballroom events and dealers den ',100,'2018-06-01','2019-01-31'],&lt;br /&gt;
['Super Sponsor','Thursday-Sunday; mystery gift; 20% con store discount; early access to ballroom events and dealers den',175,'2018-06-01','2019-01-31'],&lt;br /&gt;
['Teen (11-13)','Thursday-Sunday',25,'2018-06-01','2019-01-31'],&lt;br /&gt;
['Friday','Friday only',25,'2018-06-01','2019-01-31'],&lt;br /&gt;
['Saturday','Saturday only',25,'2018-06-01','2019-01-31'],&lt;br /&gt;
['Sunday','Sunday only',20,'2018-06-01','2019-01-31']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(47.6145297,-122.3336784, 'Anthro Northwest', ['59/AnthroNorthwestlogo.jpg','68/AnthroNorthwest2019.jpg'], 'anthronw.com', 'Hyatt Regency Seattle&amp;lt;br&amp;gt;808 Howell Street&amp;lt;br&amp;gt;Seattle, WA 98101&amp;lt;br&amp;gt;USA', '+1 (662) 426-8476', 'Nov 21-24 2019', 1051, null, 'https://anthronw.com/2019/register/', 'USD', [&lt;br /&gt;
['Adult (16+)','Thursday-Sunday; Thanksgiving feast',65,'2018-11-18','2019-10-20'],&lt;br /&gt;
['Sponsor','Thursday-Sunday; Thanksgiving feast; special gifts; sponsor dinner; special event access; early vendor access; ',150,'2018-11-18','2019-10-20'],&lt;br /&gt;
['Super Sponsor','Thursday-Sunday; Thanksgiving feast; priority badge pickup; special and very special gifts; sponsor dinner; special event access; early vendor access; ',225,'2018-11-18','2019-10-20'],&lt;br /&gt;
['Youth (13-15)','Thursday-Sunday; Thanksgiving feast',35,'2018-11-18','2019-10-20']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(35.0401986, -85.3110755, 'Anthro SouthEast', ['6b/AnthroSouthEast.jpg','49/AnthroSouthEast2019.png'], 'anthrose.com', 'The Chattanoogan&amp;lt;br&amp;gt;1201 Broad St&amp;lt;br&amp;gt;Chattanooga, TN 37402&amp;lt;br&amp;gt;USA', '+1 423-756-3400', 'Oct 25-27 2019', 605, null, 'https://www.eventbrite.com/e/anthro-southeast-the-worlds-within-tickets-51475856673', 'USD', [&lt;br /&gt;
['3 Day (Early Bird)','Friday-Sunday; Thursday early-bird social',52.83,'2019-02-11T12:00-0500','2019-06-30T24:00-0400'],&lt;br /&gt;
['3 Day','Friday-Sunday; Thursday early-bird social',58.70,'2019-02-11T12:00-0500','2019-10-05T00:00-0400'],&lt;br /&gt;
['Sponsor','Friday-Sunday; Thursday early-bird social; T-shirt',103.91,'2019-02-11T12:00-0500','2019-10-05T00:00-0400'],&lt;br /&gt;
['Super Sponsor','Friday-Sunday; Thursday early-bird social; hoodie or T-shirt; bandanna; gift',172.01,'2019-02-11T12:00-0500','2019-10-05T00:00-0400'],&lt;br /&gt;
['Ultra Sponsor','Friday-Sunday; Thursday early-bird social; one week priority hotel booking; guest of honor dinner; special surprise; hoodie or T-shirt; bandanna; gift',228.77,'2019-02-11T12:00-0500','2019-10-05T00:00-0400'],&lt;br /&gt;
['Friday','Friday only',24.45,'2019-02-11T12:00-0500','2019-10-05T00:00-0400'],&lt;br /&gt;
['Saturday','Saturday only',24.45,'2019-02-11T12:00-0500','2019-10-05T00:00-0400'],&lt;br /&gt;
['Sunday','Sunday only',24.45,'2019-02-11T12:00-0500','2019-10-05T00:00-0400'],&lt;br /&gt;
]);&lt;br /&gt;
addLocation(41.0849157,-111.9832517, 'Anthro Weekend Utah', 'd7/AnthroWeekendUtah.png', 'anthroweekendutah.org', 'Davis Conference Center&amp;lt;br&amp;gt;1651 North 700 West&amp;lt;br&amp;gt;Layton, UT 84041&amp;lt;br&amp;gt;USA', '+1 (801) 416-8888', 'Jul 19-21 2019', 603, null, 'https://anthroweekendutah.org/register', [&lt;br /&gt;
['Basic (Super Early)','Friday-Sunday',41,'2019-12-21T12:00-0700','2018-12-29T00:00-0700'],&lt;br /&gt;
['Awesome (Super Early)','Friday-Sunday; T-shirt; lanyard; poster; stylus pen',71,'2019-12-21T12:00-0700','2018-12-29T00:00-0700'],&lt;br /&gt;
['Ultimate (Super Early)','Friday-Sunday; mug; belt; buttons; detective notebook; super-secret gift; T-shirt; lanyard; poster; stylus pen',91,'2019-12-21T12:00-0700','2018-12-29T00:00-0700'],&lt;br /&gt;
['Basic (Early Bird)','Friday-Sunday',46,'2018-12-29T00:00-0700','2019-04-01T00:00-0600'],&lt;br /&gt;
['Awesome (Early Bird)','Friday-Sunday; T-shirt; lanyard; poster; stylus pen',76,'2018-12-29T00:00-0700','2019-04-01T00:00-0600'],&lt;br /&gt;
['Ultimate (Early Bird)','Friday-Sunday; mug; belt; buttons; detective notebook; super-secret gift; T-shirt; lanyard; poster; stylus pen',96,'2018-12-29T00:00-0700','2019-04-01T00:00-0600'],&lt;br /&gt;
['Basic','Friday-Sunday',51,'2019-04-01T00:00-0600'],&lt;br /&gt;
['Awesome','Friday-Sunday; T-shirt; lanyard; poster; stylus pen',81,'2019-04-01T00:00-0600'],&lt;br /&gt;
['Ultimate','Friday-Sunday; mug; belt; buttons; detective notebook; super-secret gift; T-shirt; lanyard; poster; stylus pen',101,'2019-04-01T00:00-0600']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(35.527932, -97.567312, 'AnthroExpo', '86/AnthroExpo2020.png', 'anthroexpo.net', 'Wyndham Oklahoma City&amp;lt;br&amp;gt;2945 Northwest Expy&amp;lt;br&amp;gt;Oklahoma City, OK 73112&amp;lt;br&amp;gt;USA', '+1 (405) 848-4811', 'Jan 31-Feb 2 2020', null, null, 'https://www.anthroexpo.net/registration', 'USD', [&lt;br /&gt;
['Attending','Friday-Sunday; enamel pin; con-book; gift bag',40,'2019-07-22','2020-01-30'],&lt;br /&gt;
['Patron','Friday-Sunday; mascot print; T-shirt; enamel pin; con-book; gift bag',65,'2019-07-22','2020-01-30'],&lt;br /&gt;
['Sponsor','Friday-Sunday; priority seating; mascot print and statue; T-shirt; enamel pin; con-book; gift bag',100,'2019-07-22','2020-01-30'],&lt;br /&gt;
['Super Sponsor','Friday-Sunday; Guest of Honor dinner and signed print; priority seating; mascot print and statue; T-shirt; enamel pin; con-book; gift bag',200,'2019-07-22','2020-01-30','LimitedAvailability']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(40.0995858,-82.9886064, 'AnthrOhio', '0b/AnthrOhioLogo.png', 'anthrohio.org', 'Crowne Plaza Worthington&amp;lt;br&amp;gt;6500 Doubletree Avenue&amp;lt;br&amp;gt;Columbus, Ohio 43229&amp;lt;br&amp;gt;USA', '+1 (614) 885-1885', 'May 23-26 2019', 862, null, 'http://anthrohio.org/Registration', 'USD', [&lt;br /&gt;
['Daily','One day admission; hospitality suite',20,'2018-12-13T12:00-0500','2019-04-21T24:00-0400'],&lt;br /&gt;
['Basic','Thursday-Sunday admission; hospitality suite',40,'2018-12-13T12:00-0500','2019-04-21T24:00-0400'],&lt;br /&gt;
['Sponsor','Thursday-Sunday admission; hospitality suite; ice-cream social; sponsor button; art print;',55,'2018-12-13T12:00-0500','2019-04-21T24:00-0400'],&lt;br /&gt;
['Patron','Thursday-Sunday admission; hospitality suite; ice-cream social; sponsor button; art print; GoH dinner; shirt; early pickup',95,'2018-12-13T12:00-0500','2019-04-21T24:00-0400'],&lt;br /&gt;
['PhilAnthropist','Thursday-Sunday admission, hospitality suite; ice-cream social; sponsor button; art print; GoH dinner; shirt; early pickup; themed reward; custom badge',225,'2018-12-13T12:00-0500','2019-03-19T24:00-0400'],&lt;br /&gt;
['Daily','One day admission; hospitality suite',30,'2019-04-21T24:00-0400','2019-05-22T24:00-0400'],&lt;br /&gt;
['Basic','Thursday-Sunday admission; hospitality suite',50,'2019-04-21T24:00-0400','2019-05-22T24:00-0400'],&lt;br /&gt;
['Sponsor','Thursday-Sunday admission; hospitality suite; ice-cream social; sponsor button; art print;',65,'2019-04-21T24:00-0400','2019-05-22T24:00-0400'],&lt;br /&gt;
['Patron','Thursday-Sunday admission; hospitality suite; ice-cream social; sponsor button; art print; GoH dinner; shirt; early pickup',105,'2019-04-21T24:00-0400','2019-05-22T24:00-0400']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(40.445799, -79.996162, 'Anthrocon', 'b7/Anthrocon.gif', 'anthrocon.org', 'DLCC Pittsburgh&amp;lt;br&amp;gt;1000 Fort Duquesne Blvd&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jul 4-7 2019', 8407, null, 'https://www.anthrocon.org/registration', 'USD', [&lt;br /&gt;
['Attending','Thursday-Sunday','60','2018-10-10T20:00-0500','2019-06-16T23:59-0400'],&lt;br /&gt;
['Sponsor','Thursday-Sunday; T-shirt; ribbon; priority reg and dealers room admission','115','2018-10-10T20:00-0500','2019-06-16T23:59-0400'],&lt;br /&gt;
['Supersponsor','Thursday-Sunday; early hotel booking [before Feb 1]; Saturday Guest of Honor lunch; T-shirt; ribbon and gift; priority reg and dealers room admission; prime seating','275','2018-10-10T20:00-0500','2019-06-16T23:59-0400']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(43.6650078,-89.7873581, 'AquatiFur', ['44/AquatiFur.jpg','36/AquatiFur2019.jpg'], 'aquatifur.com', 'Chula Vista Resort&amp;lt;br&amp;gt;2501 River Road&amp;lt;br&amp;gt;Wisconsin Dells, WI 53965&amp;lt;br&amp;gt;USA', '+1 (855) 388-4782', 'Oct 11-13 2019', 463, null, 'https://www.eventbrite.com/e/aquatifur-2019-tickets-54832324960', 'USD', [&lt;br /&gt;
['Pre-Reg (2018*)','Post-con sale',38.92,'2019-01-13T19:10-0600','2019-01-14T10:00-0600'],&lt;br /&gt;
['Sponsor (2018*)','Post-con sale; lanyard; T-shirt; poster; Sponsor gift and lounge; priority seating and dealers den access',86.39,'2019-01-13T19:10-0600','2019-01-14T10:00-0600'],&lt;br /&gt;
['Pre-Reg','',44.19,'2019-01-14T10:00-0600','2019-05-01T00:00-0500'],&lt;br /&gt;
['Sponsor','Lanyard; T-shirt; poster; Sponsor gift and lounge; priority seating and dealers den access',107.49,'2019-01-14T10:00-0600','2019-10-01T00:00-0500'],&lt;br /&gt;
['Super Sponsor','Super Sponsor dinner; GoH cocktail meet and greet; lanyard; T-shirt; poster; Sponsor gift and lounge; priority seating and dealers den access',160.24,'2019-01-14T10:00-0600','2019-10-01T00:00-0500'],&lt;br /&gt;
['Super Sponsor Plus','Four-night two-person suite; Super Sponsor dinner; GoH cocktail meet and greet; lanyard; T-shirt; poster; Sponsor gift; lounge; priority seating and dealers den access',1054.95,'2019-01-14T10:00-0600','2019-10-01T00:00-0500']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(-34.609142, -58.382638, 'Argentina FurFiesta', '3a/Logo_Arff.JPG', 'furfiesta.com', 'Castelar Hotel&amp;lt;br&amp;gt;Av. de Mayo 1152&amp;lt;br&amp;gt;CABA, Buenos Aires&amp;lt;br&amp;gt;Argentina', '','Jun 28-30 2019', 234);&lt;br /&gt;
addLocation(33.4199573,-111.8310621, 'Arizona Fur Con', ['4a/AFC.jpeg','dd/ArizonaFurCon2019.jpg','9d/ArizonaFurCon2016Logo.jpg'], 'arizonafurcon.com', 'Delta Hotels Phoenix Mesa&amp;lt;br&amp;gt;200 North Centennial Way&amp;lt;br&amp;gt;Mesa, AZ 85201&amp;lt;br&amp;gt;USA', '+1 (623) 232-0580', 'Oct 25-27 2019', 1196, null, 'http://www.arizonafurcon.com/badges', 'USD', [&lt;br /&gt;
['Full Event Badge','Access to non-paid events',36.65,'2018-11-09T22:30-0800','2019-06-30T00:00-0700'],&lt;br /&gt;
['Full Event Badge','Access to non-paid events',41.65,'2019-06-30T00:00-0700','2019-08-25T00:00-0700'],&lt;br /&gt;
['Full Event Badge','Access to non-paid events',46.65,'2019-08-25T00:00-0700','2019-10-25T00:00-0700'],&lt;br /&gt;
['Sponsor','T-Shirt; messenger bag; water bottle; neck wallet; early access to dealers den and main events',82.70,'2018-11-09T22:30-0800','2019-10-25T00:00-0700'],&lt;br /&gt;
['Super Sponsor','GoH mixer; sponsor badge; T-Shirt; messenger bag; water bottle; neck wallet; early access to dealers den and main events',154.80,'2018-11-09T22:30-0800','2019-10-25T00:00-0700']&lt;br /&gt;
]);//Service charge: 3%+0.3 on latest pre-con price?&lt;br /&gt;
addLocation(39.384661, -74.428310, 'Atlantic City Fur Con', 'e9/AtlanticCityFurCon2019Logo.jpg', 'acfurcon.com', 'Harrah\'s Resort Atlantic City&amp;lt;br&amp;gt;777 Harrah\'s Blvd&amp;lt;br&amp;gt;Atlantic City, NJ 08401&amp;lt;br&amp;gt;USA', '+1 (609) 441-5000', 'Apr 26-28 2019', 19, 18, 'https://www.acfurcon.com/registration', 'USD', [&lt;br /&gt;
['Attendee RSVP','Thursday-Sunday suite access; can pre-order shirts',0,'2019-01-01','2019-04-26']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(-33.934384, 151.1569122, 'Aurawra', ['51/Aurawra_logo.png','2a/Aurawra_banner.png'], 'aurawra.org', 'Novotel Sydney International Airport&amp;lt;br&amp;gt;22 Levey St&amp;lt;br&amp;gt;Wolli Creek NSW 2205&amp;lt;br&amp;gt;Australia', '+61 2 9518 2000', 'Jul 24-26 2020', null, 18, 'https://www.aurawra.org/register', 'AUD', [&lt;br /&gt;
['Standard (Early Bird)','Friday-Sunday; shirt +$35 extra',90,'2019-09-21','2020-05-31'],&lt;br /&gt;
['Standard','Friday-Sunday; shirt +$35 extra',110,'2020-06-01','2020-07-26']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(46.589912,   -114.127239, 'Big Sky Camp Paw', ['13/BigSkyCampPaw.png', '59/Big_Sky_Paw_Camp_2017.jpeg'], 'camppaw.org', 'Larry Creek Group Campground&amp;lt;br&amp;gt;Florence, MT 59833&amp;lt;br&amp;gt;USA', '', 'Jun 27-30 2019', 73, null, 'https://bigskyanthro.regfox.com/camp-paw-2019', 'USD', [&lt;br /&gt;
['Basic','Attendance; Saturday night dinner',25,'2019-01-01','2019-06-26','PreOrder'],&lt;br /&gt;
['Sponsor','T-shirt; Attendance; Saturday night dinner',50,'2019-01-01','2019-06-26','SoldOut']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(39.523177,   -119.78106, 'Biggest Little Fur Con', 'df/BiggestLittleFurCon.png', 'goblfc.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, NV 89595&amp;lt;br&amp;gt;USA', '+1 (775) 789-2000', 'May 16-19 2019', 5435, null, 'https://www.goblfc.org/registration/', 'USD', [&lt;br /&gt;
['Attendee (Early-Bird)','Free games; pool party; poker chip; half-price food; choice of badge art',60,'2019-01-25T18:00-0800','2019-03-10T24:00-0700'],&lt;br /&gt;
['Sponsor (Early-Bird)','5% chance free 2020 reg; T-shirt; conbook credit; priority badge and event access; metal water bottle; free games; pool party; poker chip; half-price food; choice of badge art',100,'2019-01-25T18:00-0800','2019-03-10T24:00-0700'],&lt;br /&gt;
['Patron (Early-Bird)','10% chance free 2020 reg; bag of holding; T-shirt; conbook credit; priority badge and event access; metal water bottle; free games; pool party; poker chip; half-price food; choice of badge art',150,'2019-01-25T18:00-0800','2019-03-10T24:00-0700'],&lt;br /&gt;
['Attendee','Free games; pool party; poker chip; half-price food; choice of badge art',70,'2019-03-10T24:00-0700','2019-05-15T24:00-0700'],&lt;br /&gt;
['Sponsor','5% chance free 2020 reg; T-shirt; conbook credit; priority badge and event access; metal water bottle; free games; pool party; poker chip; half-price food; choice of badge art',120,'2019-03-10T24:00-0700','2019-03-30T24:00-0700'],&lt;br /&gt;
['Patron','10% chance free 2020 reg; bag of holding; T-shirt; conbook credit; priority badge and event access; metal water bottle; free games; pool party; poker chip; half-price food; choice of badge art',180,'2019-03-10T24:00-0700','2019-03-30T24:00-0700'],&lt;br /&gt;
['Epic','Bata (bear barbarian), Therrin (sergal swashbuckler) and Mr. Arden Renshaw (dog wizard) miniatures; 10% chance free 2020 reg; bag of holding; T-shirt; conbook credit; priority badge and event access; metal water bottle; free games; pool party; poker chip; half-price food; choice of badge art',225,'2019-02-25T12:00-0800','2019-03-30T24:00-0700','SoldOut']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(35.5628804, -82.5425946, 'Blue Ridge Furfare', '5c/BRFF_Logo.png', 'blueridgefurfare.com', 'DoubleTree Asheville - Biltmore&amp;lt;br&amp;gt;115 Hendersonville Rd&amp;lt;br&amp;gt;Asheville, NC 28803&amp;lt;br&amp;gt;USA', '+1 828-274-1800', 'Mar 12-15 2020', null, null, 'https://www.blueridgefurfare.com/registration', 'USD', [&lt;br /&gt;
['Regular (Early Bird)','Thursday-Sunday; poster',53.5,'2019-05-06T00:00-0400','2019-09-01T17:00-0400'],&lt;br /&gt;
['Regular','Thursday-Sunday; poster',58.85,'2019-09-01T17:00-0400','2020-03-12'],&lt;br /&gt;
['Sponsor','Thursday-Sunday; T-shirt; prom gift; poster',107,'2019-05-06T00:00-0400','2020-03-12'],&lt;br /&gt;
['Super-Sponsor','Thursday-Sunday; Hoodie; early event entry; T-shirt; prom gift; poster',160.5,'2019-05-06T00:00-0400','2020-03-12'],&lt;br /&gt;
['Fursona','Thursday-Sunday; fursona featured in life-sized room poster, con group poster, BRFF Telegram stickers and BRFF 2010 trailer; GoH dinner; hoodie; early event entry; T-shirt; prom gift; poster',267.5,'2019-05-06T00:00-0200','2020-03-12','SoldOut'],&lt;br /&gt;
['Friday','Friday only',21.4,'2019-05-06T00:00-0400','2020-03-12'],&lt;br /&gt;
['Saturday','Saturday only',21.4,'2019-05-06T00:00-0400','2020-03-12'],&lt;br /&gt;
['Sunday','Sunday only',21.4,'2019-05-06T00:00-0400','2020-03-12']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(-25.518127,  -49.255450, 'Boliche Furry Paraná', 'c2/BolicheFurryParan%C3%A1-logo.png', 'fb.me/bolichefurryparana', 'Big Bowl Boliche&amp;lt;br&amp;gt;R. Francisco Derosso, 3480&amp;lt;br&amp;gt;Curitiba, PR&amp;lt;br&amp;gt;Brazil', '', 'Apr 28 2018', 45, null);&lt;br /&gt;
addLocation(-23.970691,  -46.329962, 'Brasil FurFest', ['f1/Logobffwikifur.jpg','33/BrasilFurFest2019.png','ff/Poster-bff-2018.jpg','66/BFF-2018-fursuitparade.jpg','f1/BFFstaff2016-Photo-Toberal%2Cjpg.jpeg'], 'brasilfurfest.com.br', 'Mercure Santos Hotel&amp;lt;br&amp;gt;Av. Washington Luiz, 565&amp;lt;br&amp;gt;Santos, SP&amp;lt;br&amp;gt;Brazil', '+55 (13) 3036-1013', 'Jul 31-Aug 2 2020', 571, null, 'https://brasilfurfest.com.br/en/shop/', 'BRL', [&lt;br /&gt;
['Regular','Friday-Sunday; conbook; badge',125,'2019-01-06T00:00-0300','2019-07-29'],&lt;br /&gt;
['Sponsor','Friday-Sunday; T-shirt; lanyard; conbook; badge',300,'2019-01-06T00:00-0300','2019-07-29'],&lt;br /&gt;
['Super Sponsor','Friday-Sunday; meal with GoH; VIP seating and priority reg; special gift; exclusive T-shirt; VIP lanyard; conbook; badge',600,'2019-01-06T00:00-0200','2019-07-29']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(54.2932359, -0.4075073, 'Cabincon (UK)', null, 'cabincon.wixsite.com/home', 'Scarborough Beach Chalets&amp;lt;br&amp;gt;North Bay&amp;lt;br&amp;gt;Scarborough YO12 7TN&amp;lt;br&amp;gt;United Kingdom', '+44 1723 367659', 'Jul 25 2020', null, 18);&lt;br /&gt;
addLocation(43.7272, -121.4236, 'Campfire Tails', ['ec/CampfireTailsMascot.jpg','/dc/CampfireTails2019.png'], 'campfiretails.org', 'Ogden Group Camp&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, OR&amp;lt;br&amp;gt;USA', '', 'Aug 1-5 2019', 143, 18, 'https://campfiretails.org/registration/', 'USD', [&lt;br /&gt;
['Attendee','Cold breakfast and lunch; hot dinner',60,'2019-05-13T06:00-0700','2019-07-31T05:59-0700'],&lt;br /&gt;
['Sponsor','Cold breakfast; hot lunch and dinner; T-shirt; Sponsor gift',90,'2019-05-13T06:00-0700','2019-07-31T05:59-0700'],&lt;br /&gt;
['Patron','Hot breakfast, lunch and dinner; personalized T-shirt; Patron and Sponsor gifts',120,'2019-05-13T06:00-0700','2019-07-31T05:59-0700']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(19.528372, -99.443180, 'Camping Paws', '5a/Camping_paws_logo2.png', 'fb.me/CapitalFurCampingPaws', 'Presa Capoxi&amp;lt;br&amp;gt;54570 Jilotzingo, Estado de Mexico&amp;lt;br&amp;gt;Mexico', '55 8171 2729', 'Mar 14-15 2020', 54);&lt;br /&gt;
addLocation(41.388786, -73.515143, 'Camp Tiny Paws', ['05/CampTinyPawsMascot.jpg','4d/CampTinyPaws2019.png'], 'tinypawscon.org', 'Crowne Plaza Danbury&amp;lt;br&amp;gt;18 Old Ridgebury Rd&amp;lt;br&amp;gt;Danbury, CT 06810&amp;lt;br&amp;gt;USA', '+1 (203) 794-0600', 'Aug 14-16 2020', 294, null, 'https://ourtinypawsinc.wixsite.com/ctp2019/for-campers', 'USD', [&lt;br /&gt;
['Chipmunk','Fri-Sun admission; badge; conbook','2019-01-01',45,'2019-07-15T24:00-0700'],&lt;br /&gt;
['Owl','Fri-Sun admission; T-shirt; raffle ticket; badge; conbook',65,'2019-01-01','2019-07-15T24:00-0700'],&lt;br /&gt;
['Deer','Fri-Sun admission; special gift #1; T-shirt; raffle ticket; badge; conbook',110,'2019-01-01','2019-07-15T24:00-0700'],&lt;br /&gt;
['Wolf','Fri-Sun admission; special gift #1+2; T-shirt; raffle ticket; badge; conbook with thanks',210,'2019-01-01','2019-07-15T24:00-0700'],&lt;br /&gt;
['Fruit Bat (13-17)','Fri-Sun admission; badge; conbook',45,'2019-01-01','2019-07-15T24:00-0700'],&lt;br /&gt;
['Butterfly (7-12)','Fri-Sun admission; badge; conbook',10,'2019-01-01','2019-07-15T24:00-0700']&lt;br /&gt;
]); &lt;br /&gt;
addLocation(45.3481137,-75.9201629, 'CanFURence', '08/CanFURenceLogo.png', 'canfurence.ca', 'The Brookstreet Hotel&amp;lt;br&amp;gt;525 Legget Drive&amp;lt;br&amp;gt;Kanata, ON K2K 2W2&amp;lt;br&amp;gt;Canada', '+1 (613) 271-1800', 'Aug 2-4 2019', 457, null, 'https://canfurence.ca/registration', 'CAD', [&lt;br /&gt;
['Attendee (Early-Bird)','Friday-Sunday',50,'2018-10-26','2019-02-01T24:00-0500'],&lt;br /&gt;
['Sponsor (Early-Bird)','Friday-Sunday; T-shirt; art print; Sunday brunch',100,'2018-10-26','2019-02-01T24:00-0500'],&lt;br /&gt;
['Patron (Early-Bird)','Friday-Sunday; two surprise items; Patrons\' dinner; T-shirt; art print; Sunday brunch',200,'2018-10-26','2019-02-01T24:00-0500'],&lt;br /&gt;
['Benefactor (Early-Bird)','Friday-Sunday; five-course Benefactors\' feast; medal; oversized, signed and numbered art print; four surprise items; Patrons\' dinner; T-shirt; art print; Sunday brunch',500,'2018-10-26','2019-02-01T24:00-0500'],&lt;br /&gt;
['Attendee','Friday-Sunday',55,'2019-02-01T24:00-0500','2019-07-01T24:00-0400'],&lt;br /&gt;
['Sponsor','Friday-Sunday; T-shirt; art print; Sunday brunch',105,'2019-02-01T24:00-0500','2019-07-01T24:00-0400'],&lt;br /&gt;
['Patron','Friday-Sunday; T-shirt; art print; two surprise items; Patrons\' dinner; Sunday brunch',205,'2019-02-01T24:00-0500','2019-07-01T24:00-0400'],&lt;br /&gt;
['Benefactor','Friday-Sunday; T-shirt; art print; five-course Benefactors\' feast; medal; oversized, signed and numbered art print; four surprise items; Patrons\' dinner; Sunday brunch',500,'2019-02-01T24:00-0500','2019-07-01T24:00-0400'],&lt;br /&gt;
['Open Case','Friday only',30,'2019-02-01T24:00-0500','2019-07-01T24:00-0400'],&lt;br /&gt;
['Investigations','Saturday only',40,'2019-02-01T24:00-0500','2019-07-01T24:00-0400'],&lt;br /&gt;
['Case Closed','Sunday only',30,'2019-02-01T24:00-0500','2019-07-01T24:00-0400']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(40.2602036, -76.881895, 'Capital City Fur Con', 'bb/CapitalCityFurCon.png', 'capitalcityfurcon.org', 'Hilton Harrisburg&amp;lt;br&amp;gt;1 N 2nd St&amp;lt;br&amp;gt;Harrisburg, PA 17101&amp;lt;br&amp;gt;USA', '+1 717-233-6000', 'Jan 2-5 2020', null, 13, 'https://capitalcityfurcon.org/registration/', 'USD', [&lt;br /&gt;
['Bite Sized','Thursday-Sunday; conbook',50,'2019-08-03','2020-01-01'],&lt;br /&gt;
['Snack Sized','Thursday-Sunday; T-shirt; dealer\'s den early access; conbook',90,'2019-08-03','2020-01-01'],&lt;br /&gt;
['King Sized','Thursday-Sunday; Super Sponsor luncheon; candy gift; water bottle; lanyard; T-shirt; dealer\'s den early access; conbook',150,'2019-08-03','2020-01-01'],&lt;br /&gt;
['Thursday','Thursday only; conbook',30,'2019-08-03','2020-01-01'],&lt;br /&gt;
['Friday','Friday only; conbook',35,'2019-08-03','2020-01-01'],&lt;br /&gt;
['Saturday','Saturday only; conbook',35,'2019-08-03','2020-01-01'],&lt;br /&gt;
['Sunday','Sunday only; conbook',30,'2019-08-03','2020-01-01']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(48.4456534,  8.6762568, 'CastleCon', '05/CastleCon.png', 'castlecon.de', 'Leisure Park Camping Schüttehof&amp;lt;br&amp;gt;Schütteberg 7-9&amp;lt;br&amp;gt;72160 Horb am Neckar&amp;lt;br&amp;gt;Germany', '+49 7451 3951', 'Jun 14-16 2019', 103, 16, 'https://castlecon.de/?Seite=Reg', 'EUR', [&lt;br /&gt;
['Basic','Friday-Sunday; badge; self-catering camping facilities and outdoor pool; electricity for accessories; community BBQ and coal',22,'2019-01-20','2019-06-07T24:00+0200'],&lt;br /&gt;
['Early','Thursday-Sunday; badge; self-catering camping facilities and outdoor pool; electricity for accessories; community BBQ and coal',30,'2019-01-20','2019-06-07T24:00+0200']&lt;br /&gt;
]); //Usually closes one week before; 16+ with guardian, but may change to 18+&lt;br /&gt;
addLocation(-35.2587297,149.1330045, 'CBRFUR', ['57/CBRFURLogo.png','02/CBRFUR6.jpg'], 'furcon.com.au/cbrfur', 'Pavilion on Northbourne&amp;lt;br&amp;gt;242 Northbourne Ave&amp;lt;br&amp;gt;Dickson ACT 2602&amp;lt;br&amp;gt;Australia', '+61 2 6247 6888', 'Nov 16-18 2018', 68, 18, 'https://furcon.com.au/register/cbrfur10', 'AUD', [&lt;br /&gt;
['Standard','Friday-Sunday; lanyard',40,'2018-08-12T12:00+1200','2018-11-16'],&lt;br /&gt;
['Carbon','Friday-Sunday; personal Telegram sticker featured in co sticker pack; custom lanyard with stickers',70,'2018-08-12T12:00+1200','2018-11-16']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(37.611267, -97.631684, 'Central Plains Fur Meet', null, 'centralplainsfurmeet.com', 'Lake Afton&amp;lt;br&amp;gt;24715 West 39th St S&amp;lt;br&amp;gt;Goddard, KS 67052&amp;lt;br&amp;gt;USA', '', 'May 9-12 2019', null);&lt;br /&gt;
addLocation(49.5647858,  16.1792244, 'ČeSFuR', 'aa/CF2011LogoOlven.jpg', 'cesfur.org', 'Hotel Skalský dvůr&amp;lt;br&amp;gt;Lísek 52&amp;lt;br&amp;gt;593 01 Bystřice nad Pernštejnem&amp;lt;br&amp;gt;Czechia', '+420 606 725 502', 'Jul 10-14 2019', 289, 18, 'https://www.cesfur.org/en/prices/', 'CZK', [&lt;br /&gt;
['Mechanic','Wednesday-Sunday (room/food extra)',2000,'2019-03-12T21:00+0100','2019-03-13T13:51+0100'],&lt;br /&gt;
['Engineer','Wednesday-Sunday (room/food extra); acknowledgement; small party with orgateam; exclusive print; T-shirt',3000,'2019-03-12T21:00+0100','2019-03-13T13:51+0100'],&lt;br /&gt;
['Inventor','Wednesday-Sunday (room/food extra); Guest of Honor dinner; refreshment voucher; themed souvenir; acknowledgement; small party with orgateam; exclusive print; T-shirt',4500,'2019-03-12T21:00+0100','2019-03-13T13:51+0100']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(20.673552, -103.389225, 'Confuror', ['45/Mex2018.jpeg','ed/Confuror2019.jpg','d9/Confuror2018.jpg'], 'confuror.org', 'Fiesta Americana Guadalajara&amp;lt;br&amp;gt;Calle Aurelio Aceves 225&amp;lt;br&amp;gt;Vallarta Poniente 44110&amp;lt;br&amp;gt;Guadalajara, Jalisco&amp;lt;br&amp;gt;Mexico', '+52 (33) 38 18 14 00', 'Oct 11-13 2019', 541, null, 'http://confuror.org/en/registration/', 'MXN', [&lt;br /&gt;
['General (Early Bird)','Friday-Sunday',519,'2019-01-15T19:00-0600','2019-02-01T24:00-0600','SoldOut'],&lt;br /&gt;
['Sponsor (Early Bird)','Friday-Sunday; Sponsor gift and T-shirt; raffle ticket credit; early vendor access',799,'2019-01-15T19:00-0600','2019-02-01T24:00-0600','SoldOut'],&lt;br /&gt;
['Super Sponsor (Early Bird)','Friday-Sunday; Super Sponsor Meet and Greet breakfast; Sponsor and Super Sponsor gifts and T-shirts; two raffle tickets; credit; early vendor access',999,'2019-01-15T19:00-0600','2019-02-01T24:00-0600','SoldOut'],&lt;br /&gt;
['General (Presale)','Friday-Sunday',619,'2019-01-15T19:00-0600','2019-07-31T24:00-0500'],&lt;br /&gt;
['Sponsor (Presale)','Friday-Sunday; Sponsor gift and T-shirt; raffle ticket credit; early vendor access',1049,'2019-01-15T19:00-0600','2019-07-31T24:00-0500'],&lt;br /&gt;
['Super Sponsor (Presale)','Friday-Sunday; Super Sponsor Meet and Greet breakfast; Sponsor and Super Sponsor gifts and T-shirts; two raffle tickets; credit; early vendor access',1419,'2019-01-15T19:00-0600','2019-07-31T24:00-0500'],&lt;br /&gt;
['General','Friday-Sunday',829,'2019-07-31T24:00-0500','2019-08-31T24:00-0500'],&lt;br /&gt;
['Sponsor','Friday-Sunday; Sponsor gift and T-shirt; raffle ticket; credit; early vendor access',1299,'2019-07-31T24:00-0500','2019-08-31T24:00-0500'],&lt;br /&gt;
['Super Sponsor','Friday-Sunday; Super Sponsor Meet and Greet breakfast; Sponsor and Super Sponsor gifts and T-shirts; two raffle tickets; credit; early vendor access',1659,'2019-07-31T24:00-0500','2019-08-31T24:00-0500'],&lt;br /&gt;
['Dealer (Single Table)','Friday-Sunday General; one 244x76cm table and Assistant pass',2219,'2019-01-15T19:00-0600','2019-08-31T24:00-0500'],&lt;br /&gt;
['Dealer (Double Table)','Friday-Sunday General; two 244x76cm tables and Assistant passes',3379,'2019-01-15T19:00-0600','2019-08-31T24:00-0500']&lt;br /&gt;
]);//Artist Alley is an addon, can't be done here&lt;br /&gt;
addLocation(19.433884, -99.137853, 'ConFurtiva', '9b/Confurtiva19.jpg', 'facebook.com/groups/furrymx', 'Hotel Ritz&amp;lt;br&amp;gt;Av Francisco I. Madero 30&amp;lt;br&amp;gt;Centro Histórico, 06000&amp;lt;br&amp;gt; Ciudad de México&amp;lt;br&amp;gt;CDMX&amp;lt;br&amp;gt;Mexico', '', 'Aug 3-4 2019', 60);&lt;br /&gt;
addLocation(52.450713,    -1.715519, 'ConFuzzled', 'e7/Confuzzled-brokbadger.jpg', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 121 780 4242', 'May 22-26 2020', 2116, 18, 'https://reg.confuzzled.org.uk/2019/', 'GBP', [&lt;br /&gt;
['Single (Early Bird)','Thursday-Monday events; bed in a single room',330,'2019-10-06T19:00+0100','2019-01-06T1900+0000'],&lt;br /&gt;
['Double/Twin/Triple (Early Bird)','Thursday-Monday events; bed in a double, twin or triple room',290,'2019-10-06T19:00+0100','2019-01-06T1900+0000'],&lt;br /&gt;
['Executive Double/Twin (Early Bird)','Thursday-Monday events; bed in a Executive double, twin room; Executive Lounge access',400,'2019-10-06T19:00+0100','2019-01-06T1900+0000'],&lt;br /&gt;
['Attending (Early Bird)','Thursday-Monday events; must leave after last event',80,'2019-10-06T19:00+0100','2019-01-06T1900+0000'],&lt;br /&gt;
['Attending Plus (Early Bird)','Thursday-Monday events; must leave after last event; T-shirt; treat',95,'2019-10-06T19:00+0100','2019-01-06T1900+0000'],&lt;br /&gt;
['Attending Sponsor (Early Bird)','Thursday-Monday events; must leave after last event; stainless steel bottle; tote bag; notepad; magic cube; early Dealers Den and Art Show entry; T-shirt; treat',130,'','2019-01-06T1900+0000'],&lt;br /&gt;
['Attending Super Sposor (Early Bird)','Thursday-Monday events; must leave after last event; Super Sponsor meal; exclusive prints; engraved crystal glass; stainless steel bottle; tote bag; notepad; magic cube; early Dealers Den and Art Show entry; T-shirt; treat',230,'2019-10-06T19:00+0100','2019-01-06T1900+0000'],&lt;br /&gt;
['Single','Thursday-Monday events; bed in a single room',340,'2019-01-06T1900+0000','2019-04-13T1900+0100','SoldOut'],&lt;br /&gt;
['Double/Twin/Triple','Thursday-Monday events; bed in a double, twin or triple room',300,'2019-01-06T1900+0000','2019-04-13T1900+0100','SoldOut'],&lt;br /&gt;
['Executive Double/Twin','Thursday-Monday events; bed in a Executive double, twin room; Executive Lounge access',410,'2019-01-06T1900+0000','2019-04-13T1900+0100','SoldOut'],&lt;br /&gt;
['Attending','Thursday-Monday events; must leave after last event',90,'2019-01-06T1900+0000','2019-05-04T1900+0100'],&lt;br /&gt;
['Attending Plus','Thursday-Monday events; must leave after last event; T-shirt; treat',105,'2019-01-06T1900+0000','2019-05-04T1900+0100'],&lt;br /&gt;
['Attending Sponsor','Thursday-Monday events; must leave after last event; stainless steel bottle; tote bag; notepad; magic cube; early Dealers Den and Art Show entry; T-shirt; treat',140,'2019-01-06T1900+0000','2019-05-04T1900+0100'],&lt;br /&gt;
['Attending Super Sponsor','Thursday-Monday events; must leave after last event; Super Sponsor meal; exclusive prints; engraved crystal glass; stainless steel bottle; tote bag; notepad; magic cube; early Dealers Den and Art Show entry; T-shirt; treat',240,'2019-01-06T1900+0000','2019-05-04T1900+0100'],&lt;br /&gt;
['One Day','One day events; must leave after last event',30,'2018-01-23T1900+0000','2019-05-04T1900+0100'],&lt;br /&gt;
['Two Days ','Two days events; must leave after last event',55,'2018-01-23T1900+0000','2019-05-04T1900+0100'],&lt;br /&gt;
['Three Days','Three days events; must leave after last event',80,'2018-01-23T1900+0000','2019-05-04T1900+0100']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(-15.653101, -56.122124, 'Cuiabark', 'c6/Flef-logo.png', 'fb.me/cuiabark', 'Gran Boliche&amp;lt;br&amp;gt;Av. Presidente Artur Bernardes, s/n &amp;lt;br&amp;gt;Cuiabá, MT &amp;lt;br&amp;gt;Brazil', '','Feb 24 2018', 20);&lt;br /&gt;
addLocation(39.771895, -104.806944, 'DenFur', 'c2/DenFur2019.jpg', 'denfur.org', 'Crowne Plaza Denver Airport&amp;lt;br&amp;gt;15500 E 40th Ave&amp;lt;br&amp;gt;Denver, CO 80239&amp;lt;br&amp;gt;USA', '+1 (303) 371-9494', 'Aug 2-4 2019', 2806, null, 'https://www.denfur.org/register', 'USD', [&lt;br /&gt;
['Pre-Reg (Phase 1)','Friday-Sunday',44.47,'2018-11-07','2018-03-31'],&lt;br /&gt;
['Pre-Reg (Phase 2)','Friday-Sunday',49.47,'2018-04-01','2019-07-14'],&lt;br /&gt;
['Pre-Reg (Phase 3)','Friday-Sunday',54.47,'2019-07-15','2019-08-04'],&lt;br /&gt;
['Sponsor','Sponsor gift and lounge access; priority dealer access and seating; Lanyard; T-shirt; poster',91.67,'2018-11-07','2019-07-02'],&lt;br /&gt;
['Patron','Patron badge, gift and dinner; Sponsor gift and lounge access; priority dealer access and seating; Lanyard; T-shirt; poster',191.89,'2018-11-07','2019-07-02'],&lt;br /&gt;
['Super Patron','Early room booking; Super Patron badge, gift and guest of honor cocktail hour; Patron gift and dinner; Sponsor gift and lounge access; priority dealer access and seating; Lanyard; T-shirt; poster',423.99,'2018-11-07','2019-07-01'],&lt;br /&gt;
['Child (0-13)',23.09,'2018-11-07','2019-08-04']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(51.7846222,5.9349226, 'Dutch FurCon', '62/Dutch_Furcon_logo.png', 'dutchfurcon.com', 'Big Hill Groepsaccommodatie&amp;lt;br&amp;gt;Wylerbaan 2b&amp;lt;br&amp;gt;6561 KR Groesbeek&amp;lt;br&amp;gt;Netherlands', '+31 24-3971715', 'Jul 26-29 2019', 120, null, 'https://www.dutchfurcon.com/registration', 'EUR', [&lt;br /&gt;
['Early Bird','Friday-Monday morning',135,'2019-01-01','2019-02-28T00:00+0100'],&lt;br /&gt;
['Regular','Friday-Monday morning',145,'2019-02-28T00:00+0100','2019-05-26T24:00+0200'],&lt;br /&gt;
['Early Bird Sponsor','Friday-Monday morning; small present on arrival; eternal gratitude',150,'2019-01-01','2019-02-28T00:00+0100'],&lt;br /&gt;
['Sponsor','Friday-Monday morning; small present on arrival; eternal gratitude',160,'2019-02-28T00:00+0100','2019-05-26T24:00+0200']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(50.6166849,    10.7232134, 'EAST', '53/East2018Logo.jpeg', 'sachsenfurs.de/en/east', 'Ringberg Hotel&amp;lt;br&amp;gt; Ringberg 10&amp;lt;br&amp;gt;98527 Suhl&amp;lt;br&amp;gt;Germany', '+493681 3890', 'Jul 24-28 2019', 503, 18, 'https://east.sachsenfurs.de/', 'EUR', [&lt;br /&gt;
['Normal','Wednesday-Sunday',80,'2018-11-01T00:00+0100','2019-01-31T24:00+0100'],&lt;br /&gt;
['Sponsor','Wednesday-Sunday',105,'2018-11-01T00:00+0100','2019-01-31T24:00+0100'],&lt;br /&gt;
['Normal','Wednesday-Sunday',90,'2019-01-31T24:00+0100','2019-03-31T24:00+0200'],&lt;br /&gt;
['Sponsor','Wednesday-Sunday',115,'2019-01-31T24:00+0100','2019-03-31T24:00+0200'],&lt;br /&gt;
['Normal','Wednesday-Sunday',100,'2019-03-31T24:00+0200','2019-06-30T24:00+0200'],&lt;br /&gt;
['Sponsor','Wednesday-Sunday',125,'2019-03-31T24:00+0200','2019-06-30T24:00+0200'],&lt;br /&gt;
['Normal','Wednesday-Sunday',120,'2019-06-30T24:00+0200','2019-07-28T24:00+0200'],&lt;br /&gt;
['Sponsor','Wednesday-Sunday',145,'2019-06-30T24:00+0200','2019-07-28T24:00+0200']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(52.474897,    13.459467, 'Eurofurence', '2f/Eurofurence_logo_crop.gif', 'eurofurence.org', 'Estrel Hotel Berlin&amp;lt;br&amp;gt;Sonnenallee 225&amp;lt;br&amp;gt;12057 Berlin&amp;lt;br&amp;gt;Germany', '+49 391 5949 0', 'Aug 19-23 2020', 3412, 18, 'https://reg.eurofurence.org/regsys/start.jsp', 'EUR', [&lt;br /&gt;
['Basic (Early Bird)','Wednesday-Sunday',90,'2019-01-19T07:00+0100','2019-02-01T00:00+0100'],&lt;br /&gt;
['Sponsor (Early Bird)','Wednesday-Sunday; T-shirt; Sponsor gifts; conbook mention',155,'2019-01-19T07:00+0100','2019-02-01T00:00+0100'],&lt;br /&gt;
['Super Sponsor (Early Bird)','Wednesday-Sunday; exclusive event access; T-shirt; Sponsor gifts; conbook mention',250,'2019-01-19T07:00+0100','2019-02-01T00:00+0100'],&lt;br /&gt;
['Basic','Wednesday-Sunday',100,'2019-02-01T00:00+0100','2019-04-01T00:00+0200'],&lt;br /&gt;
['Sponsor','Wednesday-Sunday; T-shirt; Sponsor gifts; conbook mention',165,'2019-02-01T00:00+0100','2019-04-01T00:00+0200'],&lt;br /&gt;
['Super Sponsor','Wednesday-Sunday; exclusive event access; T-shirt; Sponsor gifts; conbook mention',270,'2019-02-01T00:00+0100','2019-04-01T00:00+0200'],&lt;br /&gt;
['Basic (Late)','Wednesday-Sunday',125,'2019-04-01T00:00+0200','2019-08-01T00:00+0200'],&lt;br /&gt;
['Sponsor (Late)','Wednesday-Sunday; T-shirt; Sponsor gifts; conbook mention',190,'2019-04-01T00:00+0200','2019-08-01T00:00+0200'],&lt;br /&gt;
['Super Sponsor (Late)','Wednesday-Sunday; exclusive event access; T-shirt; Sponsor gifts; conbook mention',295,'2019-04-01T00:00+0200','2019-08-01T00:00+0200'],&lt;br /&gt;
['Single Day','Access for one day',60,'2019-08-01T00:00+0200','2019-08-17T24:00+0200']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(38.960831,   -77.423238, 'FA: United', '70/FAU2019Postcard.jpg', 'faunited.org', 'Hyatt Regency Dulles&amp;lt;br&amp;gt;2300 Dulles Corner Blvd.&amp;lt;br&amp;gt;Herndon, Virginia 20171&amp;lt;br&amp;gt;USA', '+1 703 713 1234', 'Oct 4-6 2019', 528, null, 'http://www.faunited.org/registration.shtml', 'USD', [&lt;br /&gt;
['Basic (Early Bird)','Friday-Sunday; conbook',40,'2019-01-01','2019-06-01T00:00-0400'],&lt;br /&gt;
['Basic','Friday-Sunday; conbook',50,'2019-06-01T00:00-0400','2019-08-01T00:00-0400'],&lt;br /&gt;
['Sponsor','Friday-Sunday; T-shirt; collectible pin; Sponsor badge; conbook',80,'2019-06-01T00:00-0400','2019-08-01T00:00-0400'],&lt;br /&gt;
['Super Sponsor','Friday-Sunday; two drink vouchers; VIP reception; T-shirt; collectible pin; Sponsor badge; conbook',150,'2019-06-01T00:00-0400','2019-08-01T00:00-0400'],&lt;br /&gt;
['Elite Sponsor','Friday-Sunday; bag; tumbler mug; unique con badge design; Elite lanyard and stickers; four drink vouchers; VIP reception; T-shirt; collectible pin; Sponsor badge; conbook',250,'2019-06-01T00:00-0400','2019-08-01T00:00-0400'],&lt;br /&gt;
['Minor (7-12)','Friday-Sunday; conbook',25,'2019-01-01','2019-08-01T00:00-0400']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(33.43743,    -86.726235, 'Fangcon', ['51/Fangcon.gif','8a/Fangcon2020.png'], 'fangcon.com', 'DoubleTree Perimeter Park&amp;lt;br&amp;gt;8 Perimeter Park S&amp;lt;br&amp;gt;Birmingham, AL 35243&amp;lt;br&amp;gt;USA', '+1 (205) 972-1141', 'Jan 9-13 2019', 155, null, 'https://www.fangcon.com/registration', 'USD'); /* Pending ,[&lt;br /&gt;
['Attending',',45,,],&lt;br /&gt;
['Sponsor',,90,,]&lt;br /&gt;
['Super Sponsor',,150,,],&lt;br /&gt;
['Furry Elitist',,200,,],&lt;br /&gt;
['Ludicrous Level',,250,,],&lt;br /&gt;
['Elitist Ludicrous Level',,300,,]&lt;br /&gt;
]); */&lt;br /&gt;
addLocation(45.827585,     5.419862, 'Fauntastic', 'e0/FauntasticMascot.jpg', 'fauntastic.eu', 'Hôtel Vallée Bleue&amp;lt;br&amp;gt;19 Rue des Carrières&amp;lt;br&amp;gt;Rive gauche&amp;lt;br&amp;gt;38390 Montalieu-Vercieu&amp;lt;br&amp;gt;France', '+33 4 74 88 69 20', 'May 30-Jun 2 2019', null, 18, 'https://fauntastic.eu#prices', 'EUR', [&lt;br /&gt;
['Residential (Early Bird)','Thursday evening-Sunday morning (hotel and Aquaparc); 3x breakfast and dinner; conbook; lanyard',265,'2018-11-24T20:00+0100','2019-01-20T00:00+0100'],&lt;br /&gt;
['Sponsor (Early Bird)','Thursday evening-Sunday morning (hotel and Aquaparc); shirt; reusable cup; Sponsor conbadge and lanyard and extra surprise; 3x breakfast and dinner; conbook',295,'2018-12-01T20:00+0100','2019-01-24T00:00+0100'],&lt;br /&gt;
['Residential','Thursday evening-Sunday morning (hotel and Aquaparc); 3x breakfast and dinner; conbook; lanyard',265,'2019-01-20T00:00+0100','2019-04-30T20:00+0200'],&lt;br /&gt;
['Sponsor','Thursday evening-Sunday morning (hotel and Aquaparc); shirt; reusable cup; Sponsor conbadge and lanyard and extra surprise; 3x breakfast and dinner; conbook',295,'2019-01-20T00:00+0100','2019-04-30T20:00+0200'],&lt;br /&gt;
['Thursday','Day pass (hotel and Aquaparc); dinner; conbook; lanyard',30,'2019-04-01T20:00+0200','2019-04-30T20:00+0200','InStoreOnly'],&lt;br /&gt;
['Friday','Day pass (hotel and Aquaparc); dinner; conbook; lanyard',35,'2019-04-01T20:00+0200','2019-04-30T20:00+0200','InStoreOnly'],&lt;br /&gt;
['Saturday','Day pass (hotel and Aquaparc); dinner; conbook; lanyard',35,'2019-04-01T20:00+0200','2019-04-30T20:00+0200','SoldOut']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(-12.970364,  -38.473011, 'FeraBowl', 'a8/FeraBowl.jpg', 'fb.me/ferabowlbahia', 'Bela Bowling&amp;lt;br&amp;gt;Alameda Euvaldo Luz, 92&amp;lt;br&amp;gt;Salvador, BA&amp;lt;br&amp;gt;Brazil', '', 'Dec 1 2018', 27);&lt;br /&gt;
addLocation(45.880449,   -78.564606, 'Feral!', 'f5/Feral.png', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park&amp;lt;br&amp;gt;Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 22-26 2019', 220, 19, 'https://campferal.org/registration/', 'CAD', [&lt;br /&gt;
['Camper','Thursday-Monday; cabin space for four nights; three meals a day',400,'2019-04-03T21:00-0500','2019-01-01T00:00-0400','PreOrder'],&lt;br /&gt;
['Sponsor','Thursday-Monday; T-shirt; five raffle tickets; wine and cheese event; cabin space for four nights; three meals a day',450,'2019-04-03T21:00-0500','2019-01-01T00:00-0400','PreOrder'],&lt;br /&gt;
['Patron','Thursday-Monday; one-of-a-kind gift; T-shirt and hoodie; ten raffle tickets; wine and cheese event; cabin space for four nights; three meals a day',550,'2019-04-03T21:00-0500','2019-01-01T00:00-0400','PreOrder']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(60.412912,    25.038261, 'FinFur Animus', ['da/FinFurAnimus.png','a3/FinFurAnimus2019.png'], 'animus.finfur.net', 'Kokoushotelli Gustavelund&amp;lt;br&amp;gt;Kirkkotie 36&amp;lt;br&amp;gt;04310 Tuusula&amp;lt;br&amp;gt;Finland', '+358 9 273751', 'Oct 10-13 2019', 152, 18, 'https://animus.finfur.net/en/participate', 'EUR', [&lt;br /&gt;
['Grain (Early Bird)','Thursday-Sunday',80,'2019-05-25T18:00+0300','2019-06-20T24:00+0300'],&lt;br /&gt;
['Gold (Early Bird)','Thursday-Sunday; T-shirt; small Sponsor gift; conbook mention',120,'2019-05-25T18:00+0300','2019-06-20T24:00+0300'],&lt;br /&gt;
['Salt (Early Bird)','Thursday-Sunday; something extra; T-shirt; small Sponsor gift; conbook mention',160,'2019-05-25T18:00+0300','2019-06-20T24:00+0300'],&lt;br /&gt;
['Grain','Thursday-Sunday',90,'2019-06-20T24:00+0300','2019-09-09T24:00+0300'],&lt;br /&gt;
['Gold','Thursday-Sunday; T-shirt; small Sponsor gift; conbook mention',130,'2019-06-20T24:00+0300','2019-09-09T24:00+0300'],&lt;br /&gt;
['Salt','Thursday-Sunday; something extra; T-shirt; small Sponsor gift; conbook mention',170,'2019-06-20T24:00+0300','2019-09-09T24:00+0300']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(51.3205213,   3.1541396, 'Flüüfff', ['b8/Fluufff2019.jpg','10/Fluufff2017Logo.jpg','34/Fluufff.svg'], 'fluufff.org', 'Corsendonk Duinse Polders&amp;lt;br&amp;gt;A. Ruzettelaan 195&amp;lt;br&amp;gt;8370 Blankenberge&amp;lt;br&amp;gt;Belgium', '+32 50 43 24 00', 'Nov 20-24 2019', 180, 18, 'https://fluufff.org/tickets', 'EUR', [&lt;br /&gt;
['Standard 2-person room slot (Early Bird)','Wednesday-Sunday; breakfast buffet',260.01,'2019-03-30T12:00+0100','2019-05-31T24:00+0200'],&lt;br /&gt;
['Standard 3-person room slot (Early Bird)','Wednesday-Sunday; breakfast buffet',249.50,'2019-03-30T12:00+0100','2019-05-31T24:00+0200'], &lt;br /&gt;
['Standard 4-person room slot (Early Bird)','Wednesday-Sunday; breakfast buffet',242,'2019-03-30T12:00+0100','2019-05-31T24:00+0200'],&lt;br /&gt;
['Standard 5-person room slot (Early Bird)','Wednesday-Sunday; breakfast buffet',238.50,'2019-03-30T12:00+0100','2019-05-31T24:00+0200'],&lt;br /&gt;
['Standard 6-person room slot (Early Bird)','Wednesday-Sunday; breakfast buffet',237,'2019-03-30T12:00+0100','2019-05-31T24:00+0200'],&lt;br /&gt;
['Budget 2-person room slot (Early Bird)','Wednesday-Sunday; breakfast buffet',252.01,'2019-03-30T12:00+0100','2019-05-31T24:00+0200'],&lt;br /&gt;
['Budget 4-person room slot (Early Bird)','Wednesday-Sunday; breakfast buffet',235,'2019-03-30T12:00+0100','2019-05-31T24:00+0200'],&lt;br /&gt;
['Budget 5-person room slot (Early Bird)','Wednesday-Sunday; breakfast buffet',232,'2019-03-30T12:00+0100','2019-05-31T24:00+0200'],&lt;br /&gt;
['Wednesday (Early Bird)','Day-ticket, events only',21,'2019-04-13T20:00+0200','2019-05-31T24:00+0200'],&lt;br /&gt;
['Thursday (Early Bird)','Day-ticket, events only',27,'2019-04-13T20:00+0200','2019-05-31T24:00+0200'],&lt;br /&gt;
['Friday (Early Bird)','Day-ticket, events only',27,'2019-04-13T20:00+0200','2019-05-31T24:00+0200'],&lt;br /&gt;
['Saturday (Early Bird)','Day-ticket, events only',27,'2019-04-13T20:00+0200','2019-05-31T24:00+0200'],&lt;br /&gt;
['Sunday (Early Bird)','Day-ticket, events only',15,'2019-04-13T20:00+0200','2019-05-31T24:00+0200'],&lt;br /&gt;
['Weekend Pack (Early Bird)','Saturday-Sunday, events only',36.50,'2019-04-13T20:00+0200','2019-05-31T24:00+0200'],&lt;br /&gt;
['All Days (Early Bird)','Wednesday-Sunday, events only',102,'2019-04-13T20:00+0200','2019-05-31T24:00+0200'],&lt;br /&gt;
['Standard 2-person room slot','Wednesday-Sunday; breakfast buffet',270.01,'2019-05-31T24:00+0200','2019-11-06T24:00+0100'],&lt;br /&gt;
['Standard 3-person room slot','Wednesday-Sunday; breakfast buffet',259.50,'2019-05-31T24:00+0200','2019-11-06T24:00+0100'], &lt;br /&gt;
['Standard 4-person room slot','Wednesday-Sunday; breakfast buffet',252,'2019-05-31T24:00+0200','2019-11-06T24:00+0100'],&lt;br /&gt;
['Standard 5-person room slot','Wednesday-Sunday; breakfast buffet',248.50,'2019-05-31T24:00+0200','2019-11-06T24:00+0100'],&lt;br /&gt;
['Standard 6-person room slot','Wednesday-Sunday; breakfast buffet',247,'2019-05-31T24:00+0200','2019-11-06T24:00+0100'],&lt;br /&gt;
['Budget 2-person room slot','Wednesday-Sunday; breakfast buffet',262.01,'2019-05-31T24:00+0200','2019-11-06T24:00+0100'],&lt;br /&gt;
['Budget 4-person room slot','Wednesday-Sunday; breakfast buffet',245,'2019-05-31T24:00+0200','2019-11-06T24:00+0100'],&lt;br /&gt;
['Budget 5-person room slot','Wednesday-Sunday; breakfast buffet',242,'2019-05-31T24:00+0200','2019-11-06T24:00+0100'],&lt;br /&gt;
['Wednesday','Day-ticket; events only',23,'2019-05-31T24:00+0200','2019-11-13T24:00+0100'],&lt;br /&gt;
['Thursday','Day-ticket; events only',29,'2019-05-31T24:00+0200','2019-11-13T24:00+0100'],&lt;br /&gt;
['Friday','Day-ticket; events only',29,'2019-05-31T24:00+0200','2019-11-13T24:00+0100'],&lt;br /&gt;
['Saturday','Day-ticket; events only',29,'2019-05-31T24:00+0200','2019-11-13T24:00+0100'],&lt;br /&gt;
['Sunday','Day-ticket; events only',17,'2019-05-31T24:00+0200','2019-11-13T24:00+0100'],&lt;br /&gt;
['Weekend Pack','Saturday-Sunday; events only',40.50,'2019-05-31T24:00+0200','2019-11-13T24:00+0100'],&lt;br /&gt;
['All Days','Wednesday-Sunday; events only',112,'2019-05-31T24:00+0200','2019-11-13T24:00+0100']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(43.027227,   -88.108102, 'Fur Squared', 'db/FurSquaredLogo.jpeg', 'fursquared.com', 'Sheraton Milwaukee Brookfield&amp;lt;br&amp;gt;375 S Moorland Rd&amp;lt;br&amp;gt;Brookfield, WI 53005&amp;lt;br&amp;gt;USA', '+1 (262) 364-1100', 'Feb 22-24 2019', 1120, null);&lt;br /&gt;
addLocation(51.2767754,  -3.0119008, 'Furcation', 'da/Furcation2019.png', 'furcation.org.uk', 'Sandy Glade Holiday Park&amp;lt;br&amp;gt;Coast Rd, Brean&amp;lt;br&amp;gt;Burnham-on-Sea TA8 2QX&amp;lt;br&amp;gt;United Kingdom', '+44 844 318 3050', 'Nov 8-10 2019', 341, 18);&lt;br /&gt;
addLocation(44.150581, -89.164606, 'FURconsin', '01/Furconsin-2010.png', 'furconsin.com', 'Grandview Lakeside Log Lodge&amp;lt;br&amp;gt;Little Hills Lake&amp;lt;br&amp;gt;Wild Rose, WI 54984&amp;lt;br&amp;gt;USA', '', 'Oct 2019', 28);&lt;br /&gt;
addLocation(-38.906997,  175.938234, 'FurCoNZ', 'd8/FurcoNZLogo.png', 'furconz.org.nz', 'MiCamp Taupo&amp;lt;br&amp;gt;100 Rawhira Rd&amp;lt;br&amp;gt;Tauranga, Taupo 3382&amp;lt;br&amp;gt;New Zealand', '', 'Feb 2-5 2018', 102);&lt;br /&gt;
addLocation(-23.668839,  -46.577533, 'Furboliche', '01/Furboliche-logo-byDanny.jpg', 'furboliche.com.br', 'Bomboliche UP Trampoline Park&amp;lt;br&amp;gt;R. García Lorca, 301&amp;lt;br&amp;gt;S&amp;amp;atilde;o Bernardo do Campo, SP&amp;lt;br&amp;gt;Brazil', '','Oct 26 2019', 242);&lt;br /&gt;
addLocation(-24.309323,  -48.273633, 'FurCamp', '45/Furcamp2019logo.jpg', 'facebook.com/events/183414388930807', 'Intervales State Park&amp;lt;br&amp;gt;Estrada Municipal, km 25&amp;lt;br&amp;gt;Ribeir&amp;amp;atilde;o Grande, SP&amp;lt;br&amp;gt;Brazil', '', 'Mar 2-5 2019', 0);&lt;br /&gt;
addLocation(19.0312898,-98.2056133, 'FurCan', 'ec/Furcan19.jpg', 'facebook.com/FurCan-1838565646175492', 'Option (changing in 2020)&amp;lt;br&amp;gt;Huexotitla 33, Oriente 7&amp;lt;br&amp;gt;72534 Puebla City, Puebla&amp;lt;br&amp;gt;Mexico', '+52 222 243 4828', 'Jul 18-19 2020', 292);&lt;br /&gt;
addLocation(25.0616313, 121.4920637, 'Furrymosa', '7f/Furrymosa.png', 'furrymosa.gjs.tw', 'Triple Sports Complex (三重綜合體育館)&amp;lt;br&amp;gt;No. 2, Section 1&amp;lt;br&amp;gt;New Taipei Blvd&amp;lt;br&amp;gt;Sanchong District&amp;lt;br&amp;gt;New Taipei City&amp;lt;br&amp;gt;Taiwan [atnd. is number of dealers]', '+886 2 2982 6151', 'Jun 1 2019', 120, null, 'https://furrymosa.gjs.tw/dealer-reg.html', 'TWD', [&lt;br /&gt;
['Dealer','90*90 cm booth with a chair, including tablecloths, postal cost',400,'2019-02-23T18:00+0800','2019-04-13T18:00+0800','SoldOut'],&lt;br /&gt;
['Cosplayer','Cleaning and locker fee',50,'2019-02-23T18:00+0800','2019-05-25T18:00+0800','SoldOut']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(-22.997039,  -43.358095, 'Furstrike', '35/Furstrikelogo.jpg', 'fb.me/furstrike', 'Barra Shopping&amp;lt;br&amp;gt;Av. das Américas, 4666 &amp;lt;br&amp;gt;Rio de Janeiro, RJ &amp;lt;br&amp;gt;Brazil', '','Oct 13 2018', 107);&lt;br /&gt;
addLocation(-27.997818,  153.429297, 'FurDU', ['ea/Furry_Down_Under_-_logo.jpg','ac/FurDU2019Shirt.png'], 'furdu.com.au', 'The Mantra on View&amp;lt;br&amp;gt;22 View Avenue&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'May 31-Jun 2 2019', 680, 18, 'https://furdu.com.au/registration/', 'AUD', [&lt;br /&gt;
['Standard','Friday-Sunday',100,'2018-08-06T22:00+1000','2019-04-02T22:00+1000','SoldOut'],&lt;br /&gt;
['Sponsor','Friday-Sunday; can purchase Hawaiian shirt',200,'2018-08-06T22:00+1000','2019-04-02T22:00+1000','SoldOut'],&lt;br /&gt;
['Super Sponsor','Friday-Sunday; Super Sponsor privileges; Hawaiian shirt included',300,'2018-08-06T22:00+1000','2019-04-02T22:00+1000','SoldOut']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(53.5687483,-113.5238331, 'Fur-Eh!', '1d/Fur-Eh!.png', 'fureh.ca', 'Edmonton Inn &amp;amp; Conference Centre&amp;lt;br&amp;gt;11830 Kingsway Avenue&amp;lt;br&amp;gt;Edmonton, Alberta&amp;lt;br&amp;gt;T5G 3J5&amp;lt;br&amp;gt;Canada', '+1 (780) 454-5454', 'Jun 13-16 2019', 743, null, 'https://www.fureh.ca/registration', 'CAD', [&lt;br /&gt;
['Crew (Early Bird)','Thursday-Sunday',45,'2019-06-24T10:00-0600','2019-01-01T00:00-0700'],&lt;br /&gt;
['Star (Early Bird)','Thursday-Sunday; one studio token; T-shirt; early event access',80,'2019-06-24T10:00-0600','2019-01-01T00:00-0700'],&lt;br /&gt;
['Director (Early Bird)','Thursday-Sunday; three studio tokens; Poutine Social or Dog\'s Breakfast; GoH dinner; personalized clapper board; T-shirt; early event access',165,'2019-06-24T10:00-0600','2019-01-01T00:00-0700'],&lt;br /&gt;
['Executive Producer (Early Bird)','Thursday-Sunday; five studio tokens; front of the line; Poutine Social and Dog\'s Breakfast; GoH dinner; personalized clapper board; T-shirt; early event access',340,'2019-06-24T10:00-0600','2019-01-01T00:00-0700'],&lt;br /&gt;
['Crew','Thursday-Sunday',55,'2019-01-01T00:00-0700','2019-06-09T24:00-0600'],&lt;br /&gt;
['Star','Thursday-Sunday; one studio token; T-shirt; early event access',90,'2019-01-01T00:00-0700','2019-05-10T24:00-0600'],&lt;br /&gt;
['Director','Thursday-Sunday; three studio tokens; Poutine Social or Dog\'s Breakfast; GoH dinner; personalized clapper board; T-shirt; early event access',180,'2019-01-01T00:00-0700','2019-05-10T24:00-0600'],&lt;br /&gt;
['Executive Producer','Thursday-Sunday; five studio tokens; front of the line; Poutine Social and Dog\'s Breakfast; GoH dinner; personalized clapper board; T-shirt; early event access',360,'2019-01-01T00:00-0700','2019-05-10T24:00-0600']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(45.7817005, 10.9139343, 'Furizon', 'd1/FurizonLogo.jpg', 'furizon.net', 'Hotel Sole del Baldo&amp;lt;br&amp;gt;Via de la Pizzagrola 1&amp;lt;br&amp;gt;38060 Brentonico&amp;lt;br&amp;gt;San Valentino, Trento&amp;lt;br&amp;gt;Italy', '', 'May 29-Jun 2 2019', 55, 18, 'https://www.furizon.net/events/furizon-sovereign/', 'EUR', [&lt;br /&gt;
['Regular (Early Bird)','Wednesday-Sunday',125,'2018-11-10','2019-01-30'],&lt;br /&gt;
['Sponsor (Early Bird)','Wednesday-Sunday; sopnsor badge print; event pin; early access to event and Dealers Den; one free drink; conbook mention',160,'2018-11-10','2019-01-30'],&lt;br /&gt;
['Regular','Wednesday-Sunday',140,'2019-02-01','2019-04-30','PreOrder'],&lt;br /&gt;
['Sponsor','Wednesday-Sunday; event pin; sopnsor badge print; early access to event and Dealers Den; one free drink; conbook mention',175,'2019-02-01','2019-04-30','PreOrder'],&lt;br /&gt;
['Regular (Late)','Wednesday-Sunday',155,'2019-05-01','2019-05-30','PreOrder'],&lt;br /&gt;
['Sponsor (Late)','Wednesday-Sunday; sopnsor badge print; event pin; early access to event and Dealers Den; one free drink; conbook mention',190,'2019-05-01','2019-05-30','PreOrder']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(-33.859972,  151.211111, 'FurJAM', 'bf/FurJAM.png', 'furjam.org', 'Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Sep 20-22 2019', 327, null);&lt;br /&gt;
addLocation(45.582910,  -122.575732, 'Furlandia', ['78/FurlandiaLogoKitsumi500px.png','6f/Furlandia2019Logo.jpg'], 'furlandia.org', 'Sheraton PDX Airport &amp;lt;br&amp;gt;8235 NE Airport Way&amp;lt;br&amp;gt;Portland, Oregon 97220&amp;lt;br&amp;gt;USA', '+1 (503) 281-2500', 'May 24-26 2019', 1133, null, 'https://furlandia.org/2019/register.html', 'USD', [&lt;br /&gt;
['Attending','Friday-Sunday',50,'2018-08-08T20:00-0700','2019-04-19T24:00-0700'],&lt;br /&gt;
['Sponsor','Friday-Sunday; Sponsor-only events; T-shirt; faster reg; advance Dealers Den access',80,'2018-08-08T20:00-0700','2019-04-19T24:00-0700'],&lt;br /&gt;
['Patron','Friday-Sunday; Patron gift; name in conbook; priority event access; Patron-only and Sponsor-only events; T-shirt; faster reg; advance Dealers Den access',130,'2018-08-08T20:00-0700','2019-04-19T24:00-0700'],&lt;br /&gt;
['Friday','Friday only',25,'2019-05-24','2019-05-24','InStoreOnly'],&lt;br /&gt;
['Saturday','Saturday only',30,'2019-05-25','2019-05-25','InStoreOnly'],&lt;br /&gt;
['Sunday','Sunday only',20,'2019-05-26','2019-05-26','InStoreOnly']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', '74/Furloween06promo.png', 'furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 27 2018', 188);&lt;br /&gt;
addLocation(43.6412114, -79.3757486, 'Furnal Equinox', ['30/FElogo2016plus.png','3e/FurnalEquinox2020.jpg'], 'furnalequinox.com', 'Westin Harbour Castle&amp;lt;br&amp;gt;1 Harbour Square&amp;lt;br&amp;gt;Toronto, ON M5J 1A6&amp;lt;br&amp;gt;Canada', '+1 (416) 869-1600', 'Mar 20-22 2020', 2240, null, 'https://www.furnalequinox.com/register/', 'CAD', [&lt;br /&gt;
['Attending (Early Bird)','Friday-Sunday; conbook',50,'2019-08-11T00:00-0400','2019-11-01T00:00-0500'],&lt;br /&gt;
['Sponsor (Early Bird)','Friday-Sunday; $5 con-store voucher; T-shirt; drinking cup; pennant; priority registration; conbook',100,'2019-08-11T00:00-0400','2019-11-01T00:00-0500'],&lt;br /&gt;
['Supersponsor (Early Bird)','Friday-Sunday; Guest of Honour lunch; priority seating; early Dealers Den access; grad ring; bookbag; graduation cap; VIP laminate; name in conbook; 2x $5 con-store voucher; T-shirt; drinking cup; pennant; priority registration; conbook',170,'2019-08-11T00:00-0400','2019-11-01T00:00-0500'],&lt;br /&gt;
['Attending','Friday-Sunday; conbook',60,'2019-11-01T00:00-0500','2020-02-23T24:00-0500'],&lt;br /&gt;
['Sponsor','Friday-Sunday; $5 con-store voucher; T-shirt; drinking cup; pennant; priority registration; conbook',110,'2019-11-01T00:00-0500','2020-02-23T24:00-0500'],&lt;br /&gt;
['Supersponsor','Friday-Sunday; Guest of Honour lunch; priority seating; early Dealers Den access; grad ring; bookbag; graduation cap; VIP laminate; name in conbook; 2x $5 con-store voucher; T-shirt; drinking cup; pennant; priority registration; conbook',180,'2019-11-01T00:00-0500','2020-02-23T24:00-0500'],&lt;br /&gt;
['Friday','Friday only; conbook',25,'2020-03-19T12:00-0400','2020-03-22T12:00-0400','InStoreOnly'],&lt;br /&gt;
['Saturday','Saturday only; conbook',30,'2020-03-19T12:00-0400','2020-03-22T12:00-0400','InStoreOnly'],&lt;br /&gt;
['Sunday','Sunday only; conbook',25,'2020-03-19T12:00-0400','2020-03-22T12:00-0400','InStoreOnly']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(41.6042521, -72.7027335, 'Furpocalypse', ['78/FurpocalypseLogo.png','d1/Furpocalypse2019.jpg'], 'furpocalypse.org', 'Red Lion Cromwell&amp;lt;br&amp;gt;100 Berlin Road&amp;lt;br&amp;gt;Cromwell, CT 06416&amp;lt;br&amp;gt;USA', '+1 860-635-2000', 'Oct 25-27 2019', 1391, null, 'https://www.furpocalypse.org/registration/', 'USD', [&lt;br /&gt;
['Attendee (Early Bird)','Friday-Sunday',40,'2019-03-15T18:00-0400','2019-09-04T24:00-0400'],&lt;br /&gt;
['Sponsor (Early Bird)','Friday-Sunday; T-shirt; charity raffle ticket; conbook',60,'2019-03-15T18:00-0400','2019-09-04T24:00-0400'],&lt;br /&gt;
['Attendee','Friday-Sunday',50,'2019-09-04T24:00-0400','2019-09-24T24:00-0400'],&lt;br /&gt;
['Sponsor','Friday-Sunday; T-shirt; charity raffle ticket; conbook',70,'2019-09-04T24:00-0400','2019-09-24T24:00-0400'],&lt;br /&gt;
['Super Sponsor','Friday-Sunday; Dealer/Sponsor dinner invitation; glass; T-shirt; charity raffle ticket; conbook',100,'2019-03-15T18:00-0400','2019-09-24T24:00-0400'],&lt;br /&gt;
['Gold Sponsor','Friday-Sunday; hoodie; special gift; conbook listing; 2x Dealer/Sponsor dinner invitation; glass; T-shirt; charity raffle ticket; conbook',200,'2019-03-15T18:00-0400','2019-09-24T24:00-0400']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(40.091453,   -75.3716987, 'Furrydelphia', ['30/FurrydelphiaLogo.jpg','5d/Furrydelphia2019CelticKnights.jpg'], 'furrydelphia.com', 'DoubleTree Valley Forge&amp;lt;br&amp;gt;301 W Dekalb Pike&amp;lt;br&amp;gt;King of Prussia, PA 19406&amp;lt;br&amp;gt;USA', '+1 (610) 337-1200', 'Aug 16-18 2019', 903, null, 'https://www.furrydelphia.org/registration', 'USD', [&lt;br /&gt;
['Settler','Friday-Sunday; conbook',50,'2019-01-29T18:00-0500','2019-07-29T00:00-0400'],&lt;br /&gt;
['Page','Friday-Sunday; T-shirt; drawstring bag; shot glass; lanyard; conbook',90,'2019-01-29T18:00-0500','2019-07-29T00:00-0400'],&lt;br /&gt;
['Warrior','Friday-Sunday; T-shirt; 1x GoH dinner; mug; wristband; tank-top; leather badge; drawstring bag; shot glass; lanyard; conbook',150,'2019-01-29T18:00-0500','2019-07-29T00:00-0400'],&lt;br /&gt;
['Cheftain','Friday-Sunday; T-shirt; messenger bag; flask; blanket; tumbler; 2x GoH dinner; mug; wristband; tank-top; leather badge; drawstring bag; shot glass; lanyard; conbook',255,'2019-01-29T18:00-0500','2019-07-29T00:00-0400']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(32.324628,  -64.836331, 'Furry Cruise', 'dc/FurryCruiseFursonaPins.jpg', 'furrycruise.com', '&amp;lt;i&amp;gt;Norweigan Escape&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Royal Naval Dockyards&amp;lt;br&amp;gt;Bermuda [from New York City]', '+1 (734) 340-4553', 'Nov 3-10 2019', 33, null, 'http://my.furrycruise.com/booking/', 'USD', [&lt;br /&gt;
['Basic Economy','One person, double occupancy; interior; no group promos, room choice or extras',867,'2019-01-01','2019-06-01T00:00-0500'],&lt;br /&gt;
['Inside Stateroom','One person, double+ occupancy; interior; one group promo',1077,'2019-01-01','2019-06-01T00:00-0500'],&lt;br /&gt;
['Oceanview','One person, double+ occupancy; picture window or porthole; one group promo',1217,'2019-01-01','2019-06-01T00:00-0500'],&lt;br /&gt;
['Balcony','One person, double+ occupancy; balcony; 2+ group promos',1297,'2019-01-01','2019-06-01T00:00-0500']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(32.775681, -96.8097294, 'Furry Fiesta', ['e5/FFLogotForWikia.png','ce/FurryFiesta2020.jpg'], 'furryfiesta.org', 'Hyatt Regency Dallas&amp;lt;br&amp;gt;300 Reunion Blvd&amp;lt;br&amp;gt;Dallas, TX 75207&amp;lt;br&amp;gt;USA', '+1 (214) 651-1234', 'Feb 27-Mar 1 2020', 4844, null, 'https://2020.furryfiesta.org/attend/registration/', 'USD');&lt;br /&gt;
/* Preliminary; previously opened June 9, increased October 14 [&lt;br /&gt;
['Attending','Thursday-Sunday; digital con book',60,'2019-03-01','2020-02-10'],&lt;br /&gt;
['Sponsor','Thursday-Sunday; bag; T-shirt; lanyard; art poster; printed con book',120,'2019-03-01','2020-02-10'],&lt;br /&gt;
['Super Sponsor','Thursday-Sunday; GoH dinner; challenge coin; preferential seating; exclusive print; bag; T-shirt; lanyard; art poster; printed con book',240,'2019-03-01','2020-02-10']&lt;br /&gt;
]); */&lt;br /&gt;
addLocation(44.971198,    -93.27774, 'Furry Migration', '21/FurryMigrationLogo.jpg', 'furrymigration.org', 'Hyatt Regency Minneapolis&amp;lt;br&amp;gt;1300 Nicollet Mall&amp;lt;br&amp;gt;Minneapolis, Minnesota,&amp;lt;br&amp;gt;USA, 55403', '+1 (612) 370-1234', 'Sep 18-20 2020', 1107, null, 'https://www.furrymigration.org/reginfo/', 'USD', [&lt;br /&gt;
['Attendee','Friday-Sunday; conbook; program; restaurant guide',45,'2018-10-01','2019-08-15T00:00-0600'],&lt;br /&gt;
['Sponsor','Friday-Sunday; T-shirt and more; conbook; program; restaurant guide',100,'2018-10-01','2019-08-15T00:00-0600'],&lt;br /&gt;
['Super','Friday-Sunday; Saturday breakfast; early dealer access; priority seating; unique gift; T-shirt and more; conbook; program; restaurant guide',190,'2018-10-01','2019-08-15T00:00-0600'],&lt;br /&gt;
['Youth (7-17)','Friday-Sunday; conbook; program; restaurant guide',30,'2018-10-01','2019-08-15T00:00-0600']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(-34.5990772,-58.3742889, 'Furry Night', '25/FurryNight2018.jpg', 'furrynight.com', 'Teatro Payró&amp;lt;br&amp;gt;San Martín 766&amp;lt;br&amp;gt;CABA, Buenos Aires&amp;lt;br&amp;gt;Argentina', '+54 11 4312-5922', 'Oct 5 2019', 86, 18, 'https://www.furrynight.com/inscription', ['USD','ARS'], [&lt;br /&gt;
['Attendee','Rave admission',[14,600],'2019-07-20T00:00-0300','2019-10-06T00:00-0300']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(41.7838208,   -72.5803353, 'Furry Picnic', 'c8/FurryPicnic_3-header.jpg', 'furrypicnic.com', 'Wickham Park&amp;lt;br&amp;gt;1329 Middle Turnpike W&amp;lt;br&amp;gt;Manchester, CT 06040&amp;lt;br&amp;gt;USA', '+1 (860) 528-0856', 'Jun 8 2019', 133, null, 'http://www.furrypicnic.com/?page_id=688', 'USD', [&lt;br /&gt;
['Attendee','Non-stop, all-you-can-eat fooding; fun times; Wickham pavilion access; badge; color change mug',10,'2019-01-29','2019-06-29T24:00-0400']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(35.642936, -96.419021, 'Furry Retreat', '1d/FurryRetreat2018.jpg', 'furryretreat.com', 'Knight\'s Rest Retreat&amp;lt;br&amp;gt;37701 W 361st St S&amp;lt;br&amp;gt;Bristow, OK 74010&amp;lt;br&amp;gt;USA', 'N/A', 'Oct 19-21 2018', 38);&lt;br /&gt;
addLocation(39.502173, -106.151042, 'Furry Ski Weekend', 'ce/FurrySkiWeekend2015banner.jpg', 'furryskiweekend.com', 'Copper Mountain Resort&amp;lt;br&amp;gt;209 Ten Mile Cir&amp;lt;br&amp;gt;Frisco, CO 80443&amp;lt;br&amp;gt;USA', '+1 (866) 841-2481', 'Feb 21-24 2019', 65, 21, 'https://furryskiweekend.com/shop/', 'USD', [&lt;br /&gt;
['Full Package','Thursday-Sunday; three nights room; 2x lift tickets; breakfast, dinner, and snacks are provided; gift bag; open bar; open smoking',565,'2018-09-15','2018-10-13'],&lt;br /&gt;
['Membership','Thursday-Sunday; breakfast, dinner, and snacks are provided; gift bag; open bar; open smoking',145,'2018-09-15','2018-10-13'],&lt;br /&gt;
['Room','Thursday-Sunday; three nights room',300,'2018-09-15','2018-10-13'],&lt;br /&gt;
['Day Pass','One day only; open bar; open smoking',65,'2018-09-15','2018-10-13'],&lt;br /&gt;
['Lift Ticket','One day access to Copper Mountain',60,'2018-09-15','2018-10-13']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(32.976394, -96.7140306, 'Furry Siesta', '32/FurrySiesta.png', 'furrysiesta.com', 'Hyatt Regency North Dallas&amp;lt;br&amp;gt;701 E Campbell Rd&amp;lt;br&amp;gt;Richardson, TX 75081&amp;lt;br&amp;gt;USA', '+1 (972) 619-1234', 'Jul 19-20 2019', 575, null, 'https://www.furrysiesta.org/registration/', 'USD', [&lt;br /&gt;
['Attendee','Friday-Saturday',25,'2018-02-16T00:00-0600','2018-07-11T20:00-0500']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(33.761999,   -84.383352, 'Furry Weekend Atlanta', '2f/Furry_Weekend_Atlanta.png', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'May 9-13 2019', 5193, null, 'https://www.furryweekend.com/registration/', 'USD', [&lt;br /&gt;
['Attending (Early Bird)','Thursday-Sunday',60,'2018-12-06T12:00-0600','2019-02-15T00:00-0500'],&lt;br /&gt;
['Sponsor (Early Bird)','Thursday-Sunday',110,'2018-12-06T12:00-0600','2019-02-15T00:00-0500'],&lt;br /&gt;
['Super-Sponsor (Early Bird)','Thursday-Sunday',160,'2018-12-06T12:00-0600','2019-02-15T00:00-0500'],&lt;br /&gt;
['Attending','Thursday-Sunday',75,'2019-02-15T00:00-0500','2019-05-13'],&lt;br /&gt;
['Sponsor','Thursday-Sunday',125,'2019-02-15T00:00-0500','2019-05-13'],&lt;br /&gt;
['Super-Sponsor','Thursday-Sunday',180,'2019-02-15T00:00-0500','2019-05-13'],&lt;br /&gt;
['God-Level','Thursday-Sunday',350,'2018-12-06T12:00-0600','2019-05-13','SoldOut'],&lt;br /&gt;
['Thursday','Thursday only',35,'2019-05-08','2019-05-09','InStoreOnly'],&lt;br /&gt;
['Friday','Friday only',50,'2019-05-09','2019-05-10','InStoreOnly'],&lt;br /&gt;
['Saturday','Saturday only',60,'2019-05-10','2019-05-11','InStoreOnly'],&lt;br /&gt;
['Sunday','Sunday only',55,'2019-05-11','2019-05-12','InStoreOnly']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(51.342657,   6.112067, 'Furry Weekend Holland', 'fa/FWH2020.png', 'furryweekend.nl', 'Castle de Berckt&amp;lt;br&amp;gt;De Berckt 1 5991 PD&amp;lt;br&amp;gt;Baarlo&amp;lt;br&amp;gt;Netherlands', ' +31 77 477 1385', 'Apr 30-May 4 2020', 57, 18, 'https://furryweekend.nl', 'EUR', [&lt;br /&gt;
['4-Person Share (Early Pay)','Bed in a four-person room; three breakfasts and late-night snacks; two buffet lunches and dinners; unlimited soft drinks; T-shirt; lanyard; badge; conbook',225,'2018-08-01','2018-12-15T00:00+0100'],&lt;br /&gt;
['2-Person Share (Early Pay)','Bed in a two-person room; three breakfasts and late-night snacks; two buffet lunches and dinners; unlimited soft drinks; T-shirt; lanyard; badge; conbook',275,'2018-08-01','2018-12-15T00:00+0100'],&lt;br /&gt;
['4-Person Share','Bed in a four-person room; three breakfasts and late-night snacks; two buffet lunches and dinners; unlimited soft drinks; T-shirt; lanyard; badge; conbook',249,'2018-12-15T00:00+0100','2019-02-15T00:00+0200'],&lt;br /&gt;
['2-Person Share','Bed in a two-person room; three breakfasts and late-night snacks; two buffet lunches and dinners; unlimited soft drinks; T-shirt; lanyard; badge; conbook',299,'2018-12-15T00:00+0100','2019-02-15T00:00+0200']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(36.8441109, -76.1808112, 'FursonaCon', 'b7/FursonaConLogo.jpg', 'fursonacon.com', 'Holiday Inn VB - Norfolk&amp;lt;br&amp;gt;5655 Greenwich Rd&amp;lt;br&amp;gt;Virginia Beach, Virginia 23462&amp;lt;br&amp;gt;USA', '+1 (757) 499-4400', 'Aug 27-30 2020', 479);&lt;br /&gt;
addLocation(13.714429, 100.593183, 'FurSquare', '52/Fursquare_2018_logo.jpeg', 'anthro.ltd/fsq', 'E88 Bangkok&amp;lt;br&amp;gt;1599 Sukhumvit Rd&amp;lt;br&amp;gt;พระโขนงเหนือ Khet Watthana&amp;lt;br&amp;gt;Krung Thep Maha Nakhon 10110&amp;lt;br&amp;gt;Thailand [note: number of &amp;lt;i&amp;gt;dealers&amp;lt;/i&amp;gt;]', '+66 86 566 2929', 'Sep 5 2020', 54);&lt;br /&gt;
addLocation(52.588333,        14.65, 'Furstock', '8b/Logo_PolFurs.gif', 'polfurs.org', '', '', 'Jul 14-16 2016', 45);&lt;br /&gt;
addLocation(57.05,         9.916667, 'Furtastic', '7c/Furtastic2019.png', 'furtastic.dk', 'Fjeldholmlejren&amp;lt;br&amp;gt;Langholmvej 28&amp;lt;br&amp;gt;Gjerrild Nordstrand&amp;lt;br&amp;gt;8500 Grenå. 58&amp;lt;br&amp;gt;Denmark', '', 'Jul 8-12 2019', 70, 16);&lt;br /&gt;
addLocation(37.330294,  -121.888375, 'Further Confusion', 'be/Further_Confusion_logo.png', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 16-20 2020', 3850, null);&lt;br /&gt;
addLocation(52.4266942, -116.2497081, 'Furthest North', '26/FurthestNorth.png', 'furthestnorth.ca', 'Snow Creek Group Campground&amp;lt;br&amp;gt;west of Rocky Mountain House&amp;lt;br&amp;gt;Clearwater County&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (877) 537-2757', 'Aug 1-5 2019', 63);&lt;br /&gt;
addLocation(3.104127, 101.640800, 'FURUM', 'bc/FurumLogo.png', 'furum.org', 'Hotel Armada&amp;lt;br&amp;gt;Lot 6&amp;lt;br&amp;gt;Lorong Utara C&amp;lt;br&amp;gt;Section 52&amp;lt;br&amp;gt;46200 Petaling Jaya Selangor&amp;lt;br&amp;gt;Malaysia', '+60 3-7954 6888', 'Dec 14-15 2019', 287, 13);&lt;br /&gt;
addLocation(47.0084856, -124.163382, 'Furvana', '56/Furvanalogo.jpg', 'furvana.org', 'Ocean Shores Convention Center&amp;lt;br&amp;gt;120 W Chance a La Mer NW&amp;lt;br&amp;gt;Ocean Shores, WA 98569&amp;lt;br&amp;gt;USA', '+1 360-289-4411', 'Sep 27-29 2019', null);&lt;br /&gt;
addLocation(48.499678, 9.150536, 'Furvester', 'aa/Furvester-logo.svg', 'furvester.org', 'Hotel Fortuna Reutlingen/Tübingen&amp;lt;br&amp;gt;Carl-Zeiss-Straße 75&amp;lt;br&amp;gt;72770 Reutlingen&amp;lt;br&amp;gt;Germany', '+49 7121 5840', 'Dec 28 2019-Jan 1', 212, 18, 'https://furvester.org/attending/registration', 'EUR', [&lt;br /&gt;
['Attendee','Saturday-Wednesday; event access',70,'2019-06-02T20:00+0200','2019-07-01T00:00+0200'],&lt;br /&gt;
['Attendee','Saturday-Wednesday; event access',80,'2019-07-01T00:00+0200','2019-09-01T00:00+0200'],&lt;br /&gt;
['Attendee','Saturday-Wednesday; event access',90,'2019-09-01T20:00+0200','2020-01-01'],&lt;br /&gt;
['Day Ticket','One day only; event access',90,'2019-12-28','2020-01-01'],&lt;br /&gt;
['One Bed (Small Single)','Saturday-Wednesday; one person in a Small Single room',65,'2019-06-02T20:00+0200','2020-01-01'],&lt;br /&gt;
['One Bed','Saturday-Wednesday; one person in a Single, Double, Twin, French, Queen or Triple room',72,'2019-06-02T20:00+0200','2020-01-01'],&lt;br /&gt;
['Two Beds','Saturday-Wednesday; two people in a Single, Double, Twin, French, Queen or Triple room',92,'2019-06-02T20:00+0200','2020-01-01'],&lt;br /&gt;
['Three Beds','Saturday-Wednesday; three people in a Triple room',102,'2019-06-02T20:00+0200','2020-01-01'],&lt;br /&gt;
['One Bed (Junior Suite)','Saturday-Wednesday; one person in a Junior Suite',100,'2019-06-02T20:00+0200','2020-01-01','PreOrder'],&lt;br /&gt;
['Two Bed (Junior Suite)','Saturday-Wednesday; two people in a Junior Suite',120,'2019-06-02T20:00+0200','2020-01-01','PreOrder'],&lt;br /&gt;
['Three Bed (Junior Suite)','Saturday-Wednesday; three people in a Junior Suite',140,'2019-06-02T20:00+0200','2020-01-01','PreOrder'],&lt;br /&gt;
['Four Bed (Junior Suite)','Saturday-Wednesday; four people in a Junior Suite',150,'2019-06-02T20:00+0200','2020-01-01','PreOrder'],&lt;br /&gt;
['One Bed (Suite)','Saturday-Wednesday; one person in a Junior Suite',130,'2019-06-02T20:00+0200','2020-01-01','PreOrder'],&lt;br /&gt;
['Two Bed (Suite)','Saturday-Wednesday; two people in a Junior Suite',150,'2019-06-02T20:00+0200','2020-01-01','PreOrder'],&lt;br /&gt;
['Three Bed (Suite)','Saturday-Wednesday; three people in a Junior Suite',170,'2019-06-02T20:00+0200','2020-01-01','PreOrder'],&lt;br /&gt;
['Four Bed (Suite)','Saturday-Wednesday; four people in a Junior Suite',180,'2019-06-02T20:00+0200','2020-01-01','PreOrder']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(60.6058707, 11.2129992, 'Furway', '06/Furway.jpg', 'furway.no', 'Stiftelsen Olsby&amp;lt;br&amp;gt;Kongspartvegen 739&amp;lt;br&amp;gt;2337 Tangen&amp;lt;br&amp;gt;Norway', '+47 48 60 58 21', 'Jun 14-16 2019', 58);&lt;br /&gt;
addLocation(39.0998623,  -84.275091, 'Fur Reality', 'e6/FurReality2019.jpg', 'furreality.org', 'Holiday Inn Eastgate&amp;lt;br&amp;gt;4501 Eastgate Blvd.&amp;lt;br&amp;gt;Cincinnati, Ohio 45245&amp;lt;br&amp;gt;USA', '+1 (513) 752-4400', 'Oct 31-Nov 3 2019', 538, null);&lt;br /&gt;
addLocation(-32.5249978, 115.7218326, 'Fur Out West', '3d/FurOutWest2020-BeautyoftheBass.jpg', 'furoutwest.com', 'Atrium Hotel Mandurah&amp;lt;br&amp;gt;65 Ormsby Terrace&amp;lt;br&amp;gt;Mandurah, WA 6210&amp;lt;br&amp;gt;Australia', '+61 8 9535 6633', 'Mar 6-8 2020', 110, null, 'https://furoutwest.com/site/register/', 'AUD', [&lt;br /&gt;
['Pegasus','Friday-Sunday; entry to FOW 2.5; badge; con book',80,'2019-04-01','2020-02-29T24:00+0800'],&lt;br /&gt;
['Guardian','Friday-Sunday; for required guardian of under-18 who has their own ticket; entry to FOW 2.5; badge; con book',40,'2019-04-01','2020-02-29T24:00+0800'],&lt;br /&gt;
['Gryphon','Friday-Sunday; Sponsor T-shirt; poster; special items; allocated seating; entry to FOW 2.5; badge; con book',160,'2019-04-01','2020-02-29T24:00+0800'],&lt;br /&gt;
['Phoenix','Friday-Sunday; custom pop vinyl of your character; Super Sponsor and Sponsor T-shirt; chance to be refunded; poster; special items; allocated seating; entry to FOW 2.5; badge; con book',250,'2019-04-01','2020-02-29T24:00+0800']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(38.8488621,  -77.0516791, 'Fur the \'More', 'c8/FurThe\'More_twitter_profile_image.png', 'furthemore.org', 'Hyatt Regency Crystal City&amp;lt;br&amp;gt;2799 Richmond Hwy&amp;lt;br&amp;gt;Arlington, VA 22202&amp;lt;br&amp;gt;USA', '+1 (703) 418-1234', 'Mar 6-8 2020', 1487, null);&lt;br /&gt;
addLocation(40.4695949, -3.5822552, 'Furrnion', ['3d/Furrnion2019.png','10/Furrnion2017Logo.jpg'], 'furrnion.org', 'Hotel Meliá Barajas&amp;lt;br&amp;gt;Av. de Logroño, 305&amp;lt;br&amp;gt;28042 Madrid&amp;lt;br&amp;gt;Spain', '+34 912 76 47 47', 'Oct 17-20 2019', 341, 18, 'https://www.furrnion.org/registration', 'EUR', [&lt;br /&gt;
['Attendee (Early Bird)','Thursday-Sunday; badge; lanyard; conbook',66.50,'2019-03-22T22:00+0100','2019-04-28T24:00+0200'],&lt;br /&gt;
['Sponsor (Early Bird)','Thursday-Sunday; early access to dealers den and art show; preferential badge pickup; T-shirt; conbook mention; Sponsor badge; lanyard; conbook',90.5,'2019-03-22T22:00+0100','2019-04-28T24:00+0200'],&lt;br /&gt;
['Sponsor OLÉ (Early Bird)','Thursday-Sunday; exclusive gifts; website mention; earliest access to dealers den and art show; ultimate badge pickup; T-shirt; conbook mention; Sponsor OLÉ badge; lanyard; conbook',191.5,'2019-03-22T22:00+0100','2019-04-28T24:00+0200'],&lt;br /&gt;
['Attendee','Thursday-Sunday; badge; lanyard; conbook',95,'2019-04-28T24:00+0200','2019-10-20'],&lt;br /&gt;
['Sponsor','Thursday-Sunday; early access to dealers den and art show; preferential badge pickup; T-shirt; conbook mention; Sponsor badge; lanyard; conbook',119,'2019-04-28T24:00+0200','2019-10-20'],&lt;br /&gt;
['Sponsor OLÉ','Thursday-Sunday; exclusive gifts; website mention; earliest access to dealers den and art show; ultimate badge pickup; T-shirt; conbook mention; Sponsor OLÉ badge; lanyard; conbook',220,'2019-04-28T24:00+0200','2019-10-20']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(58.933549, 24.659442, 'FurryEST', '57/FurryEST.png', 'furryest.org', 'Parvemaja asukoht&amp;lt;br&amp;gt;Ummaru&amp;lt;br&amp;gt;78423 Rapla County&amp;lt;br&amp;gt;Estonia', '', 'Jul 4-7 2019', 64, 18, 'https://furryest.org/', 'EUR', [&lt;br /&gt;
['Tent','Thursday-Sunday; bring your own tent; three dinners and snacks',40,'2019-03-31T17:05+0000','2019-07-04T00:00+0200'],&lt;br /&gt;
['Bed Spot', 'Thursday-Sunday; three nights bed in a barge house; three dinners and snacks','2019-03-31T20:00+0300','2019-07-04T00:00+0300']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(14.5738434, 121.056914, 'FurryPinas', 'd5/FurryPinas-Main-Logo.png', 'furrypinas.com', 'Bayanihan Center&amp;lt;br&amp;gt;8008 Pioneer St.&amp;lt;br&amp;gt;Pasig City&amp;lt;br&amp;gt;Metro Manila&amp;lt;br&amp;gt;Philippines', '', 'Jun 8-9 2019', 1542);&lt;br /&gt;
addLocation(48.991127,    2.515215, 'Furry BlackLight', '9f/Fursuit_BlackLight.jpeg', 'fblacklight.org', 'Hyatt Regency Paris - Charles de Gaulle&amp;lt;br&amp;gt;351 Avenue du Bois de la Pie&amp;lt;br&amp;gt;95912 Roissy&amp;lt;br&amp;gt;France​', '+33 1 48 17 12 34', 'Oct 31-Nov 3 2019', 265, 18);&lt;br /&gt;
addLocation(19.435967, -99.151094, 'Furry Summer Mexico', 'ac/FSMexico.jpeg', 'fb.me/FurrySummer', 'Centro de Espectáculos Plaza&amp;lt;br&amp;gt;Avenida de la República 127-A&amp;lt;br&amp;gt;Cuauhtémoc, Tabacalera&amp;lt;br&amp;gt;06030 Ciudad de México, CDMX&amp;lt;br&amp;gt;Mexico', '+52 55 5514 2565', 'Jul 28-29 2018', 290);&lt;br /&gt;
addLocation(50.791632, 20.3316706, 'Futerkon', 'af/Futerkon-logo-ogolne.jpg', 'futerkon.pl', 'Ośrodek Wypoczynkowy Ptaszyniec&amp;lt;br&amp;gt;Bocheniec 55&amp;lt;br&amp;gt;C Małogoszcz, 28-366&amp;lt;br&amp;gt;Poland', '+48 880 606 266', 'Aug 7-11 2019', 93, 18, 'https://2019.futerkon.pl/akredytacja/', 'PLN', [&lt;br /&gt;
['Cottage','Wednesday-Sunday; accommodation in a cottage; welcome BBQ; three dinners; four Swedish buffet breakfasts; conbook; lanyard; badge',590,'2019-04-08T21:00+0200','2019-07-24'],&lt;br /&gt;
['Hotel','Wednesday-Sunday; accommodation in a hotel; welcome BBQ; three dinners; four Swedish buffet breakfasts; conbook; lanyard; badge',690,'2019-04-08T21:00+0200','2019-07-24'],&lt;br /&gt;
['Silver Sponsor','Add-on; T-shirt with your name on the sleeve; better auction credit/payment terms; named on commemorative plaque, conbook and opening and closing ceremonies',150,'2019-04-08T21:00+0200','2019-07-24'],&lt;br /&gt;
['Gold Sponsor','Add-on; early hotel booking; T-shirt with your name on the sleeve; better auction credit/payment terms; named on commemorative plaque, conbook and opening and closing ceremonies',200,'2019-04-08T21:00+0200','2019-07-24']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(31.186861,   121.4892, 'Furry Summer Gathering', null, 'shouxiaji.cn', 'Shanghai Expo Centre&amp;lt;br&amp;gt;1500 Shibo Ave&amp;lt;br&amp;gt;Pudong Xinqu&amp;lt;br&amp;gt;Shanghai Shi&amp;lt;br&amp;gt;China', '', 'Jul 20 2019');&lt;br /&gt;
addLocation(50.35219,     5.859006, 'Fuzzweekend', 'b0/Fuzzcon.svg', 'fuzzcon.be', 'Groepsaccommodatie Le Mont Saint Jacques&amp;lt;br&amp;gt;Saint-Jacques 19&amp;lt;br&amp;gt;4980 Trois-Ponts&amp;lt;br&amp;gt;Belgium', '+32 496 64 83 33', 'Aug 16-18 2019', 14, 16, 'https://t.me/Fuzzweekend2019', 'EUR', [&lt;br /&gt;
['Early-Bird','Friday-Sunday; soft drinks; three meals a day',180,'2019-07-16','2019-07-16'],&lt;br /&gt;
['Attendee','Friday-Sunday; soft drinks; three meals a day',200,'2019-07-17','2019-08-16'],&lt;br /&gt;
]);&lt;br /&gt;
addLocation(22.72612, 114.24548, &amp;quot;Fuzzy Oasis Party&amp;quot;, null, &amp;quot;twitter.com/fuzzyoasisparty&amp;quot; /* http://www.fuzzyoasisparty.com/ under construction */, &amp;quot;9009 Longxiang Avenue&amp;lt;br&amp;gt;Longgang District&amp;lt;br&amp;gt;Shenzhen&amp;lt;br&amp;gt;China&amp;quot;, null, &amp;quot;Jul 25-26 2020&amp;quot;)&lt;br /&gt;
addLocation(37.77279,  -122.30270, 'Galactic Camp', '6b/Galactic_Camp_Logo.png', 'galacticcamp.com', 'USS Hornet Museum&amp;lt;br&amp;gt;Alameda, California&amp;lt;br&amp;gt;USA', '', 'Feb 23 2019', 742, 18);&lt;br /&gt;
addLocation(38.6942416, -90.4492995, 'Gateway Furmeet', 'e6/GatewayFurMeetLogo.png', 'gatewayfurmeet.org', 'DoubleTree Westport&amp;lt;br&amp;gt;1937 Craigshire Road&amp;lt;br&amp;gt;St. Louis, Missouri 63146&amp;lt;br&amp;gt;USA', '+1 (314) 434-0100', 'Mar 1-3 2019', 484);&lt;br /&gt;
addLocation(54.5725499,   18.3811955, 'Gdakon', '10/Gdakon_2019_logo.png', 'gdakon.org', 'Hotel Faltom&amp;lt;br&amp;gt;Rumia&amp;lt;br&amp;gt;Gdańsk&amp;lt;br&amp;gt;Poland', '', 'Feb 26-Mar 1 2020', 311, 18);&lt;br /&gt;
addLocation(46.733424, 8.204974, 'Golden Leaves Con', '43/Glc_icon.png', 'glc.furry.ch', 'C\'est la vie &amp;amp; Panorama Hotel&amp;lt;br&amp;gt;Engi&amp;lt;br&amp;gt;6086 Hasliberg&amp;lt;br&amp;gt;Switzerland', '', 'Oct 30-Nov 3 2019', 271, 18, 'https://glc.furry.ch/?site=registration&amp;amp;lang=en', 'CHF', [&lt;br /&gt;
['C\'est la Vie','Wednesday-Sunday',245,'2019-06-01','2019-10-30'],&lt;br /&gt;
['Panorama','Wednesday-Sunday',375,'2019-06-01','2019-10-30']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(33.6749006,-117.8606763, 'Golden State Fur Con', '26/GoldenStateFurCon.png', 'gsfurcon.com', 'Hilton Irvine/Orange County Airport&amp;lt;br&amp;gt;18800 MacArthur Blvd&amp;lt;br&amp;gt;Irvine, CA 92612&amp;lt;br&amp;gt;USA', '+1 (949) 833-9999', 'Apr 19-21 2019', 1230, null);&lt;br /&gt;
addLocation(49.616848,     8.826463, 'H-Con', '6d/H-Con.gif', 'h-con.org', 'Petershof&amp;lt;br&amp;gt;Talweg 5&amp;lt;br&amp;gt;64711 Erbach/Erbuch&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Oct 2-6 2019', 57, 18);&lt;br /&gt;
addLocation(-33.8740819,151.2168275, 'Harbour City Fur Con', ['20/HarbourCityFurCon.jpg','4f/HarbourCityFurCon2019.jpg'], 'furcon.com.au/hcfc', 'Sydney Boulevard Hotel&amp;lt;br&amp;gt;90 William Street&amp;lt;br&amp;gt;Sydney NSW 2011&amp;lt;br&amp;gt;Australia', '+61 2 9383 7222', 'Jul 26-28 2019', 280, 18, 'https://furcon.com.au/register/hcfc2019', 'AUD', [&lt;br /&gt;
['Standard','Friday-Sunday; badge; lanyard; conbook',100,'2018-11-28T12:00+1200','2019-07-14'],&lt;br /&gt;
['Premium','Friday-Sunday; headshot commission from Tsaiwolf, featured in con materials and on a custom T-shirt and badge; lanyard featuring all Premium headshots; guaranteed entry to \'l o w e r c a s e\' event; conbook',200,'2018-11-28T12:00+1200','2019-07-14'],&lt;br /&gt;
['Ultra-Premium','Friday-Sunday; full-body commission from Tsaiwolf, featured in con materials and on a custom T-shirt and badge; lanyard featuring all Premium headshots; guaranteed entry to \'l o w e r c a s e\' event; conbook',400,'2018-11-28T12:00+1200','2019-07-14','SoldOut']&lt;br /&gt;
]);&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', null, 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.26716,   -123.010021, 'Howloween', '80/Howloween2017Logo.jpg', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', 'Nov 2-3 2018', 357);&lt;br /&gt;
addLocation(14.578327, 120.980701, 'HOwOlidays', '62/Howolidays_logo.png', 'furrypinas.com/en/HOwOlidays', 'Cowboy Grill&amp;lt;br&amp;gt;11910 A. Mabini St&amp;lt;br&amp;gt;Ermita&amp;lt;br&amp;gt;1000 Metro Manila&amp;lt;br&amp;gt;Philippines', '', 'Dec 8 2018', null, null, 'https://furrypinas.com/en/HOwOlidays/', 'PHP' [&lt;br /&gt;
['Attendee','Buffet; lanyard; ID badge; button pin',750,'2018-08-01','2018-12-07']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(25.1819426,   121.4137286, 'Infurnity', ['f5/Infurnity_logo.jpg','ef/Infurnity-2019.jpeg'], 'infurnity.com', 'Fullon Hotel Tamsui&amp;lt;br&amp;gt;251 新北市淡水區觀海路83號&amp;lt;br&amp;gt;Taiwan', '02-2628-7777', 'Oct 26-27 2019', 807, null, 'https://infurnity.com/en/registration-en/', 'TWD', [&lt;br /&gt;
['Attendee (Early Bird)','Saturday-Sunday; badge; lanyard; conbook',1000,'2019-06-01T00:00+0800','2019-09-01T00:00+0800'],&lt;br /&gt;
['Sponsor (Early Bird)','Saturday-Sunday; T-shirt; poster; Sponsor label; badge; lanyard; conbook',2000,'2019-06-01T00:00+0800','2019-09-01T00:00+0800'],&lt;br /&gt;
['Super Sponsor (Early Bird)','Saturday-Sunday; afternoon tea time; towel; fursuit photo booth priority; fursuit changing room; early event entry; credit in conbook and closing ceremony; T-shirt; poster; Sponsor label; badge; lanyard; conbook',3500,'2019-06-01T00:00+0800','2019-09-01T00:00+0800'],&lt;br /&gt;
['Friday Buffet (Early Bird)','Friday; lunch and dinner in Arcadia Café',765,'2019-06-01T00:00+0800','2019-09-01T00:00+0800'],&lt;br /&gt;
['Saturday-Sunday Buffet (Early Bird)','Saturday-Sunday; lunch and dinner in Arcadia Café',945,'2019-06-01T00:00+0800','2019-09-01T00:00+0800'],&lt;br /&gt;
['Gamix VR (Early Bird)','All days; one round',100,'2019-06-01T00:00+0800','2019-09-01T00:00+0800'],&lt;br /&gt;
['Attendee','Saturday-Sunday; badge; lanyard; conbook',1200,'2019-09-01T00:00+0800','2019-10-01T00:00+0800'],&lt;br /&gt;
['Sponsor','Saturday-Sunday; T-shirt; poster; Sponsor label; badge; lanyard; conbook',2200,'2019-09-01T00:00+0800','2019-10-01T00:00+0800'],&lt;br /&gt;
['Super Sponsor','Saturday-Sunday; afternoon tea time; towel; fursuit photo booth priority; fursuit changing room; early event entry; credit in conbook and closing ceremony; Sponsor lanyard and pin; T-shirt; poster; Sponsor label; badge; lanyard; conbook',3700,'2019-09-01T00:00+0800','2019-10-01T00:00+0800'],&lt;br /&gt;
['Friday Buffet','Friday; lunch and dinner in Arcadia Café',1078,'2019-09-01T00:00+0800','2019-10-01T00:00+0800'],&lt;br /&gt;
['Saturday-Sunday Buffet (Early Bird)','Saturday-Sunday; lunch and dinner in Arcadia Café',1078,'2019-09-01T00:00+0800','2019-10-01T00:00+0800'],&lt;br /&gt;
['Gamix VR (Early Bird)','All days; one round',250,'2019-09-01T00:00+0800','2019-10-01T00:00+0800'],&lt;br /&gt;
['Day Ticket','One day pass; badge; lanyard; conbook',700,'2019-10-01T00:00+0800','2019-10-28']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(39.797248,   -86.041109, 'IndyFurCon', '94/IndyFurConLogoNew.png', 'indyfurcon.com', 'Indianapolis Marriott East&amp;lt;br&amp;gt;7202 E 21st St&amp;lt;br&amp;gt;Indianapolis, IN 46219&amp;lt;br&amp;gt;USA', '+1 (317) 352-1231', 'Aug 23-25 2019', 1412, null);&lt;br /&gt;
addLocation(33.4198925,-111.8295393, 'Itty Bitty Fur Con', 'f5/IttyBittyFurCon2019.jpg', 'ittybittyfurcon.com', 'Mesa Convention Center&amp;lt;br&amp;gt;263 N Center Street&amp;lt;br&amp;gt;Mesa Az 85201&amp;lt;br&amp;gt;USA', '+1 (623) 232-0580', 'Jul 20-21 2019', 613);&lt;br /&gt;
addLocation(42.977258, -89.23633, 'It\'s Ruff Out', '3f/WisconsinWildernessCampout.png', 'wildernesscampout.org/itsruffout', 'Lake Kegonsa State Park&amp;lt;br&amp;gt;2405 Door Creek Road&amp;lt;br&amp;gt;Stoughton, WI 53589&amp;lt;br&amp;gt;USA', '+1 (608) 873-9695', 'May 17-19 2019', null, null, 'https://wifurs.regfox.com/its-ruff-out-2019', 'USD', [&lt;br /&gt;
['Camping Badge','Firewood and smores [vehicle pass extra]','10','2019-03-17','2019-05-17']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(34.743463,   137.370965, 'Japan Meeting of Furries', 'fd/JMoF-Logo.png', 'j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 10-12 2020', 1332, null);&lt;br /&gt;
addLocation(51.505072,   -2.536662, 'Just Fur The Weekend', ['41/Favian-JFTW-Mascot-200px.png','68/JFTWLogo.png'], 'justfurtheweekend.org.uk', 'Holiday Inn Bristol-Filton&amp;lt;br&amp;gt;Filton Road&amp;lt;br&amp;gt;Winterbourne, Bristol&amp;lt;br&amp;gt;United Kingdom', '', 'Apr 19-21 2019', 203, 18);&lt;br /&gt;
addLocation(39.114216, -94.626925, 'KCFur Howl', '20/KCFurHowl2015Logo.jpg', 'kchowl.com', 'Kansas City Metro Area&amp;lt;br&amp;gt;Kansas City, MO&amp;lt;br&amp;gt;USA', 'N/A', 'Oct 27 2018', null);&lt;br /&gt;
addLocation(35.453118, 139.6488943, 'Kemocon', 'd2/Kemocon2016Logo.jpg', 'www.kemocon.com', 'Osanbashi Hall&amp;lt;br&amp;gt;Yokohama Intl Passenger Terminal&amp;lt;br&amp;gt;1 Chome-1-4 Kaigandori&amp;lt;br&amp;gt;Naka Ward, Yokohama&amp;lt;br&amp;gt;Kanagawa Prefecture 〒231-0002&amp;lt;br&amp;gt;Japan', '', 'Nov 30-Dec 1 2019', 454);&lt;br /&gt;
addLocation(35.5791136, 139.7455147, 'Kemoket', 'ed/Kemoket_logo_2015-01.png', 'skypalette.jp/kemoket', 'Tokyo Ryutsu Center&amp;lt;br&amp;gt;6 Chome-1-1 Heiwajima, Japan&amp;lt;br&amp;gt;Ōta, Tokyo 143-0006&amp;lt;br&amp;gt;Japan [note: number of &amp;lt;i&amp;gt;dealers&amp;lt;/i&amp;gt;]', '', 'Apr 29 2019', 500, null, 'http://skypalette.jp/kemoket/kgrm.html', 'JPY', [&lt;br /&gt;
['Fursuiter','Changing area usage and mailed catalog',4000,'2019-03-24T00:00+0900','2019-04-07T23:59+0900']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(49.9983865, 36.2653376, 'Kharcon', '57/Kharcon.png', 'kharcon.in.ua', 'Artilna St, 39&amp;lt;br&amp;gt;Kharkiv&amp;lt;br&amp;gt;Kharkivs\'ka oblast&amp;lt;br&amp;gt;61000&amp;lt;br&amp;gt;Ukraine', '', 'Mar 7-10 2019', 28); &lt;br /&gt;
addLocation(49.4948508, 16.6860258, 'KRAZ', null, 'kraz.eu', 'Boskovice Western Park&amp;lt;br&amp;gt;Komenského 50&amp;lt;br&amp;gt;Boskovice&amp;lt;br&amp;gt;Czechia', '+420 737 000 000', 'Apr 19-22 2019', 85); &lt;br /&gt;
addLocation(35.594392,  139.347435, 'Hashimoto Kemono Lounge', '1f/KemonoSquareLogo.jpg', 'kemono-square.com', 'HK Lounge&amp;lt;br&amp;gt;HK 4th Building 6F 3-14-13 Hashimoto&amp;lt;br&amp;gt;Midori-ku&amp;lt;br&amp;gt;Sagamihara City&amp;lt;br&amp;gt;Kanagawa Prefecture&amp;lt;br&amp;gt;252-0143&amp;lt;br&amp;gt;Japan', '+81 42-770-7073', 'May 3 2019', 107, 20, 'https://kemono-square.jp/registration_hklounge.html', 'JPY', [&lt;br /&gt;
['Attendee','Badge and buffet dinner',6000,'2018-03-18','2019-04-26T23:59+0900']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(35.1584991, 136.9298391, 'Kigukemo', '86/KigukemoLogo.jpg', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center&amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan', '', 'Mar 30 2019', 68); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(41.845931,   -87.942533, 'LAFF New Year\'s Eve', 'c0/LAFFNewYear\'sEve2013-2014Logo.jpg', 'newyearsevecon.com', 'Residence Inn Oak Brook&amp;lt;br&amp;gt;790 Jorie Boulevard&amp;lt;br&amp;gt;Oak Brook, IL 60523&amp;lt;br&amp;gt;USA', '+1 (630) 571-1200', 'Dec 31 2019-Jan 1', 77);&lt;br /&gt;
addLocation(47.2445317,  12.1922111, 'Lakeside Furs', '49/LakesideFurs.gif', 'lakesidefurs.at', 'Chalet Bergerblick&amp;lt;br&amp;gt;Hinterwaldberg 39&amp;lt;br&amp;gt;5742 Wald im Pinzgau&amp;lt;br&amp;gt;Austria', '+31 6 53933594', 'Jun 22-29 2019', 51, 16, 'https://lakesidefurs.at/?p=registration', 'EUR', [&lt;br /&gt;
['Visitor','Saturday-Saturday; no bed, day access; food and soft drinks',35,'2019-01-01','2019-06-21'],&lt;br /&gt;
['Resident','Saturday-Saturday; bed (35€ * 7, shorter stays possible); food and soft drinks',280,'2019-01-01','2019-06-21']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(40.9114, -73.258, 'LIFurs OMGWTFBBQ', ['b8/Lifurs_logo.jpg','e8/Omgwtfbbq-2019.jpg'], 't.me/joinchat/JbUzZxfBuO9BZ9Wf6UQ4EQ', 'Sunken Meadow State Park&amp;lt;br&amp;gt;Kings Park&amp;lt;br&amp;gt;Smithtown, NY 11754&amp;lt;br&amp;gt;USA', '', 'Jul 27-28 2019', 97, null);&lt;br /&gt;
addLocation(1.3315209, 103.7394064, 'Little Island Furcon', ['66/Littleislandfurcon.png','6a/Littleislandfurcon2020-poster.jpg'], 'littleislandfur.com', 'Genting Hotel Jurong&amp;lt;br&amp;gt;2 Town Hall Link&amp;lt;br&amp;gt;Singapore 608516', '', 'Jul 4-5 2020', 150, 15, 'https://littleislandfur.com', 'SGD', [&lt;br /&gt;
['Mercenary (Early Bird)','Saturday-Sunday',59,'2019-10-01','2019-12-31'],&lt;br /&gt;
['Adventurer (Early Bird)','Saturday-Sunday',110,'2019-10-01','2019-12-31'],&lt;br /&gt;
['Hero (Early Bird)','Saturday-Sunday',210,'2019-10-01','2019-12-31'],&lt;br /&gt;
['Mercenary','Saturday-Sunday',65,'2020-01-01','2020-07-04'],&lt;br /&gt;
['Adventurer','Saturday-Sunday',120,'2020-01-01','2020-07-04'],&lt;br /&gt;
['Hero','Saturday-Sunday',220,'2020-01-01','2020-07-04']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(51.5106549,  -0.0828756, 'LondonFurs Summer Weekender', '81/Londonfurs.png', 'londonfurs.org.uk/meet', 'Tank &amp;amp; Paddle - Minster Court&amp;lt;br&amp;gt;(for the Saturday party)&amp;lt;br&amp;gt;3 Mincing Lane&amp;lt;br&amp;gt;London, EC3R 7AA&amp;lt;br&amp;gt;United Kingdom', '+44 20 7929 8399', 'Jul 19-20 2019', 250, 18, 'https://londonfurs.yapsody.com/', 'GBP', [&lt;br /&gt;
['Boat Party (Early Bird)','Partying from 7PM-11PM',25,'2019-04-07T08:00+0100','2019-07-19T00:00+0100','SoldOut'],&lt;br /&gt;
['Boat Party','Partying from 7PM-11PM',30,'2019-04-07T08:00+0100','2019-07-19T00:00+0100'],&lt;br /&gt;
['Fursuit Add-on','Required to bring a fursuit case on board',15,'2019-04-07T08:00+0100','2019-07-19T00:00+0100','LimitedAvailability'],&lt;br /&gt;
['Saturday Party','Free; details on main site',0,'2019-04-07T08:00+0100','2019-07-21T00:00+0100']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(49.8039816,  23.3503567, 'LvivFur', ['2a/LvivFur2019MascotIcon.png','90/LvivFur2019.png'], 'vk.com/lvivfur', 'Hotel &amp;quot;Mirage&amp;quot;&amp;lt;br&amp;gt;205в Vulytsya Zahorody&amp;lt;br&amp;gt;Sudova Vyshnia, Lviv Oblast&amp;lt;br&amp;gt;Ukraine', '+380 3234 37967', 'Jul 18-21 2019', 37, null, 'https://vk.com/lvivfur', 'UAH', [&lt;br /&gt;
['Membership','Thursday-Sunday (estimate from 2018)',500,'2019-05-18T12:00+0300','2019-07-18']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(28.418215,   -81.465091, 'Megaplex', '59/Megaplex_Logo.jpg', 'megaplexcon.org', 'Caribe Royale&amp;lt;br&amp;gt;8101 World Center Dr&amp;lt;br&amp;gt;Orlando, Florida, 32821&amp;lt;br&amp;gt;USA', '+1 407-238-8000', 'Aug 9-11 2019', 2602, null);&lt;br /&gt;
addLocation(-37.8068187,144.9612703, 'Melbourne Fur Con', ['9c/MelbourneFurCon-Blackpaw.png','6d/MelbourneFurCon2020.jpg'], 'melbfurcon.com', 'ibis Melbourne&amp;lt;br&amp;gt;15-21 Therry Street&amp;lt;br&amp;gt;Melbourne VIC 3000&amp;lt;br&amp;gt;Australia', '+61 3 9666 0000', 'Feb 21-23 2020', 150, null, 'https://www.melbfurcon.com/registration', 'AUD', [&lt;br /&gt;
['2 Day Pass','Saturday-Sunday; badge',85,'2019-02-25T10:00+1200','2020-02-21'],&lt;br /&gt;
['Sponsor Pass','Saturday-Sunday; sponsor pin; T-shirt; badge',155,'2019-02-25T10:00+1200','2020-02-21'],&lt;br /&gt;
['Super Sponsor','Saturday-Sunday; A6 greyscale fursona headshot; sponsor pin; T-shirt; badge',215,'2019-02-25T10:00+1200','2020-02-21'],&lt;br /&gt;
['Saturday','Saturday only; badge',50,'2019-09-01','2020-02-21'],&lt;br /&gt;
['Sunday','Sunday only; badge',50,'2019-09-01','2020-02-21'],&lt;br /&gt;
]);&lt;br /&gt;
addLocation(38.219466, -85.575556, 'The Menagerie', 'd8/The_Menagerie_Logo.png', 'kyanthros.org/menagerie', 'Triple Crown Pavilion&amp;lt;br&amp;gt;1776 Plantside Dr&amp;lt;br&amp;gt;Jeffersontown, KY, 40299&amp;lt;br&amp;gt;USA', '+1 (502) 491-4830', 'Jun 2-Jun 3 2018', 106);&lt;br /&gt;
addLocation(34.966572,   -89.791608, 'Mephit Furmeet', '7c/MFM-logo-2017-400px.png', 'mephitfurmeet.org', 'Whispering Woods Conf. Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Aug 30-Sep 1 2019', 544, null);&lt;br /&gt;
addLocation(50.825484,     7.887068, 'Mephit Mini Con', ['43/MMC2019.png','06/MephitMiniCon.png'], 'mephitminicon.de', 'Jugendherberge Freusburg&amp;lt;br&amp;gt;Burgstraße 46&amp;lt;br&amp;gt;57548 Kirchen (Sieg)&amp;lt;br&amp;gt;Germany', '', 'Jun 6-10 2019', 200, 18, 'https://reg.mephitminicon.de', 'EUR', [&lt;br /&gt;
['Attendee','Thursday-Sunday; room and food',222,'2019-01-03T18:00+0100','2019-06-01','LimitedAvailability']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(42.322128, -71.646046, 'Micro Fur Con', '23/MicroFurConLogo.jpg', 'microfurcon.com', 'First Parish Church Unitarian&amp;lt;br&amp;gt;40 Church St&amp;lt;br&amp;gt;Northborough, MA 01532&amp;lt;br&amp;gt;USA', '+1 (508) 393-6422', 'Sep 23 2017', 150);&lt;br /&gt;
addLocation(41.9792548, -87.8604978, 'Midwest FurFest', '81/MFF-2015-Logo.png', 'furfest.org', 'Donald E. Stephens Conv. Center&amp;lt;br&amp;gt;5555 N River Rd.&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 692-2220', 'Dec 5-8 2019', 10989);&lt;br /&gt;
addLocation(49.294895, 14.620967, 'MiniCon', null, 'minicon.cz', 'Hlavatce čp. 2&amp;lt;br&amp;gt;391 73 Hlavatce&amp;lt;br&amp;gt;Tábor District&amp;lt;br&amp;gt;Czechia', '+420 730 610 029', 'Nov 15-18 2018', 45);&lt;br /&gt;
addLocation(49.6091678, 15.9139977, 'Minifurr', '57/Minifur_logo.jpg', 'minifurr.rawu.eu', 'Cottage Sauna Polnička&amp;lt;br&amp;gt;Polnička 212&amp;lt;br&amp;gt;591 02 Žďár nad Sázavou&amp;lt;br&amp;gt;Czechia', '+420 777 770 159', 'Sep 27-29 2019', 43);&lt;br /&gt;
addLocation(45.0213768,-93.4358668, 'MNFurs Spring Picnic', '72/MNFurs.png', 'www.mnfurs.org/MNFurs_Talk/event/mnfurs-spring-picnic-2019', 'Skyview Picnic Area&amp;lt;br&amp;gt;French Regional Park&amp;lt;br&amp;gt;12615 Rockford Rd&amp;lt;br&amp;gt;Minneapolis, MN 55441&amp;lt;br&amp;gt;USA', '', 'May 25 2019', 53);&lt;br /&gt;
addLocation(13.7265687,  100.5282525, 'Morph Parade', ['35/MorphParade.jpg','c0/MorphParade2019.jpg'], 'twitter.com/mofuparade', 'ITF Tower, floor 35&amp;lt;br&amp;gt;Si Lom, Khwaeng Suriya Wong&amp;lt;br&amp;gt;Khet Bang Rak, Krung Thep Maha Nakhon 10500&amp;lt;br&amp;gt;Thailand [note: atnd. is number of dealers]', '+66 99 712 8065', 'Dec 1 2019', 50);&lt;br /&gt;
addLocation(42.475988, -83.244925, 'Motor City Furry Con', '8b/MotorCityFurryCon.png', 'motorcityfurrycon.org', 'Westin Southfield Detroit&amp;lt;br&amp;gt;1500 Town Center&amp;lt;br&amp;gt;Southfield, MI 48075&amp;lt;br&amp;gt;USA', '+1 (248) 827-4000', 'Apr 12-14 2019', 1611, 18);&lt;br /&gt;
addLocation(39.65924,   -75.75286, 'New Year\'s Furry Ball', 'f8/TheFurstState_NewYearsFurryBall2012-2013.jpg', 'thefurststate.com/nyfb', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 31 2018-Jan 1', 438) &lt;br /&gt;
addLocation(-28.1659612, 153.5452102, 'NeonFur', 'c4/NeonFur_convention2018_banner.jpg', 'neonfur.com', 'Greenmount Beach Hotel&amp;lt;br&amp;gt;3 Hill St&amp;lt;br&amp;gt;Coolangatta, QLD 4225&amp;lt;br&amp;gt;Australia', '+61 7 5536 1222', 'Nov 8-10 2019', 286, 18, 'https://www.neonfur.com/registration', 'AUD', [&lt;br /&gt;
['Support','No attendance; T-shirt featuring art by Ponah or Katsu; NeonFur sticker; digital conbook; access to supporter Telegram chat',60,'2018-10-15','2019-09-28T24:00+1200'],&lt;br /&gt;
['Standard (Early Bird)','Friday-Sunday; glowsticks; escaped specimen badge and lanyard; conbook; wristband',90,'2018-10-15','2019-01-01T00:00+1200'],&lt;br /&gt;
['Standard','Friday-Sunday; glowsticks; escaped specimen badge and lanyard; conbook; wristband',100,'2019-01-01T00:00+1200','2019-09-29T00:00+1200'],&lt;br /&gt;
['Special Snowflake','Friday-Sunday; hacky sack; bottle opener dog-tag; LED cap; shot glass; pocket zippered wrist wallet; boardshorts; more glowsticks; escaped specimen badge and lanyard; conbook; wristband',150,'2018-10-15','2019-09-29T00:00+1200'],&lt;br /&gt;
['Supreme Snowflake','Friday-Sunday; Hyena Agender shirt and merch; NeonFur shirt; beachball; Kaiju-themed towel; LED Bluetooth speaker; LED paw-print pillow hacky sack; bottle opener dog-tag; LED cap; shot glass; pocket zippered wrist wallet; boardshorts; more glowsticks; escaped specimen badge and lanyard; conbook; wristband',500,'2018-10-15','2019-09-29T00:00+1200']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(55.6074446,12.9944266, 'NordicFuzzCon', '67/NordicfuzzconLogo.png', 'nordicfuzzcon.org', 'Clarion Hotel Malmö Live&amp;lt;br&amp;gt;Dag Hammarskjölds Torg 2&amp;lt;br&amp;gt;211 18 Malmö&amp;lt;br&amp;gt;Sweden', '+46 040 20 75 00', 'Feb 19-23 2020', 1149, 18);&lt;br /&gt;
addLocation(47.3680236, -121.1057155, 'NorthWest CampCon', '1e/NorthWestCampCon.jpg', 'nwcampcon.com', 'Okanogan-Wenatchee Forest&amp;lt;br&amp;gt;Wenatchee, WA 98807&amp;lt;br&amp;gt;USA', 'N/A', 'Jun 28-30 2019', 100);&lt;br /&gt;
addLocation(-6.210647,  106.845236, 'PAWAI', '35/PAWAI-logo.png', 'pawai.id', 'YELLO Manggarai Jakarta&amp;lt;br&amp;gt;Jl. Minangkabau No. 9&amp;lt;br&amp;gt;RT 6/RW 8, Ps. Manggis&amp;lt;br&amp;gt;Kecamatan Setiabuadi&amp;lt;br&amp;gt;Kota Jakarta Selatan&amp;lt;br&amp;gt;Jakarta 12970, Java&amp;lt;br&amp;gt;Indonesia', '021 3042 8888', 'Jul 27 2019', 90);&lt;br /&gt;
addLocation(37.3718553,-121.9248902, 'PAWCon', 'fb/PAWCON_Logo.svg', 'pacanthro.org', 'DoubleTree San Jose&amp;lt;br&amp;gt;2050 Gateway Place&amp;lt;br&amp;gt;San Jose, CA 95110&amp;lt;br&amp;gt;USA', '+1 (408) 453-4000', 'Nov 1-3 2019', 723, null);&lt;br /&gt;
addLocation(33.541358, -111.926566, 'Painted Desert Fur Con', 'b8/Pdfc_logo.png', 'painteddesertfc.com', 'Scottsdale Plaza Resort&amp;lt;br&amp;gt;7200 N Scottsdale Rd&amp;lt;br&amp;gt;Paradise Valley, AZ 85253&amp;lt;br&amp;gt;USA', '+1 (480) 948-5000', 'Jan 3-5 2020', 1135, null);&lt;br /&gt;
addLocation(43.635466, -70.338801, 'Pine Fur Con', 'd0/PFC2019DiscoInfurno.jpg', 'pinefurcon.org', 'DoubleTree Portland&amp;lt;br&amp;gt;363 Maine Mall Rd&amp;lt;br&amp;gt;Portland, ME 04106&amp;lt;br&amp;gt;USA', '+1 (207) 775-6161', 'Apr 5-7 2019', 573, null);&lt;br /&gt;
addLocation(52.2622855,-113.810541, 'Red Deer Mini Con', ['ee/RedDeerMiniCon2018.jpg','6a/RedDeerMiniCon2019.jpg','04/RedDeerMiniCon2017Banner.jpg'], 'reddeerminicon.ca', 'Baymont by Wyndham&amp;lt;br&amp;gt;4311 49 Ave&amp;lt;br&amp;gt;Red Deer, AB&amp;lt;br&amp;gt;T4N 5Y7&amp;lt;br&amp;gt;Canada', '+1 (403) 346-8841', 'Oct 25-26 2019', 145, 18, 'https://www.reddeerminicon.ca/registration', 'CAD');&lt;br /&gt;
addLocation(54.9634219,   37.4579341, 'Rusfurence', 'e7/Rusfurence2007.gif', 'rusfurence.ru', 'Vozdvizhenskoe Park Hotel&amp;lt;br&amp;gt;Rossiyskaya ul.&amp;lt;br&amp;gt;Serpukhov&amp;lt;br&amp;gt;Moscow Oblast 142261&amp;lt;br&amp;gt;Russia', '+7 495 526-67-00', 'Aug 28-Sep 1 2019', 404, 16);&lt;br /&gt;
addLocation(55.886411,-3.5062347, 'Scotiacon', 'b2/Tshirt_copy.png', 'scotiacon.org.uk', 'Mercure Livingston&amp;lt;br&amp;gt;Almondview&amp;lt;br&amp;gt;Livingston, EH54 6QB&amp;lt;br&amp;gt;United Kingdom', '+44 844 815 9102', 'Nov 15-17 2019', 348, 18, 'https://www.scotiacon.org.uk/attending/', 'GBP', [&lt;br /&gt;
['Attending','Friday-Sunday; conbadge; lanyard; conbook',70,'2019-03-06T20:00+0000','2019-11-01'],&lt;br /&gt;
['Sponsor','Friday-Sunday; Eat Scotland entry; T-shirt; glowsticks; shiny goodies; conbadge; lanyard; conbook',110,'2019-03-06T20:00+0000','2019-11-01'],&lt;br /&gt;
['Attending (At-Con)','Friday-Sunday; conbadge; lanyard; conbook',80,'2019-11-15','2019-11-17'],&lt;br /&gt;
['Sponsor (At-Con)','Friday-Sunday; Eat Scotland entry; T-shirt; glowsticks; shiny goodies; conbadge; lanyard; conbook',110,'2019-11-15','2019-11-17'],&lt;br /&gt;
['Day Ticket (At-Con)','One day only; conbadge; lanyard; conbook',35,'2019-11-17','2019-11-17']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(54.755623, 83.0087138, 'SibFyr', '83/SibFyrLogo.jpg', 'vk.com/sibfurs', 'Berdskaya Kosa Nature Reserve&amp;lt;br&amp;gt;Berdsk&amp;lt;br&amp;gt;Novosibirsk Oblast&amp;lt;br&amp;gt;Russia', '+7 (953) 790-22-88', 'Jun 27-Jul 1 2018', 11);&lt;br /&gt;
addLocation(55.9460755, 37.0070547, 'SillyCon', 'dc/SillyCon2019.png', 'sillycon.ru', 'Aleksino Istra&amp;lt;br&amp;gt;Moscow&amp;lt;br&amp;gt;143511&amp;lt;br&amp;gt;Russia', '+7 967 176 7373', 'Sep 13-15 2019', 153, 18, 'https://sillycon.ru/', 'RUB', [&lt;br /&gt;
['Attendee','Friday-Sunday; a regular bed',7500,'2019-03-31T19:00+0300','2019-06-01T00:00+0300','LimitedAvailability'],&lt;br /&gt;
['Spare Bed','Friday-Sunday; a cot or sofa bed',6000,'2019-03-31T19:00+0300','2019-06-01T00:00+0300','SoldOut'],&lt;br /&gt;
['Guest','Friday-Sunday; events, no accommodation',3500,'2019-03-31T19:00+0300','2019-06-01T00:00+0300'],&lt;br /&gt;
['Attendee (Late)','Friday-Sunday; a regular bed',8000,'2019-06-01T00:00+0300','2019-08-01T00:00+0300','LimitedAvailability'],&lt;br /&gt;
['Spare Bed (Late)','Friday-Sunday; a cot or sofa bed',6500,'2019-06-01T00:00+0300','2019-08-01T00:00+0300','SoldOut'],&lt;br /&gt;
['Guest (Late)','Friday-Sunday; events, no accommodation',3750,'2019-06-01T00:00+0300','2019-08-01T00:00+0300'],&lt;br /&gt;
['Attendee (Very Late)','Friday-Sunday; a regular bed',8500,'2019-08-01T00:00+0300','2019-08-07T00:00+0300','LimitedAvailability'],&lt;br /&gt;
['Spare Bed (Very Late)','Friday-Sunday; a cot or sofa bed',7000,'2019-08-01T00:00+0300','2019-08-07T00:00+0300','SoldOut'],&lt;br /&gt;
['Guest (Very Late)','Friday-Sunday; events, no accommodation',4000,'2019-08-01T00:00+0300','2019-08-07T00:00+0300']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(31.279758,     121.4303036, 'Super Furry Fusion', '13/SuperFurryFusion.png', 'furrychina.com', 'Grand New Palace Banquet&amp;lt;br&amp;gt;88 Gaoping Rd&amp;lt;br&amp;gt;Zhabei District&amp;lt;br&amp;gt;Shanghai&amp;lt;br&amp;gt;China', '', 'Jul 28 2019', 253);&lt;br /&gt;
addLocation(33.7963444,   -117.7547691, 'SoCal FurBQ', 'b3/Socalfursmascot.gif', 'twitter.com/SoCalFurBQ', 'Irvine Regional Pk&amp;lt;br&amp;gt;1 Irvine Park Rd&amp;lt;br&amp;gt;Orange, CA 92869&amp;lt;br&amp;gt;USA', '+1 (714) 973-6835', 'Sep 28 2019', null);&lt;br /&gt;
addLocation(-43.0706148, 172.7432778, 'Southern Paws', ['db/SouthernPaws.png'], 'southernpaws.org.nz', 'Waipara Adventure Centre&amp;lt;br&amp;gt;137 Darnley Rd&amp;lt;br&amp;gt;Glasnevin 7483&amp;lt;br&amp;gt;New Zealand', '+64 3-314 6881', 'Aug 9-11 2019', null, null, 'https://southernpaws.org.nz/orders/create/', 'NZD', [&lt;br /&gt;
['Bunk Room','Slot in a 15-person room; no bedding',160,'2019-03-17T21:30+1200','2019-06-30T24:00+1200'],&lt;br /&gt;
['Cabin','Three or six person cabin; no bedding',190,'2019-02-05T21:30+1200','2019-06-30T24:00+1200'],&lt;br /&gt;
['Double','; no bedding',230,'2019-02-05T21:30+1200','2019-06-30T24:00+1200','SoldOut'],&lt;br /&gt;
]);&lt;br /&gt;
addLocation(-25.9683897, 27.8653654, 'South Afrifur', '3f/SouthAfrifur2017Logo.jpg', 'south-afrifur.co.za', 'Ekudeni Country Venue&amp;lt;br&amp;gt;Ekudeni Rd&amp;lt;br&amp;gt;Muldersdrift&amp;lt;br&amp;gt;Gauteng&amp;lt;br&amp;gt;South Africa', '+27 82 449 3669', 'Jul 12-15 2019', 43);&lt;br /&gt;
addLocation(47.6640566,-117.4094779, 'SpokAnthro', 'd7/SpokAnthro2019.jpg', 'spokanthro.org', 'Ruby River Inn&amp;lt;br&amp;gt;700 N Division St&amp;lt;br&amp;gt;Spokane, WA 99202&amp;lt;br&amp;gt;USA', '+1 509-326-5577', 'Aug 23-25 2019', 348, null);&lt;br /&gt;
addLocation(49.278252, -125.041257, 'Surfur', '3f/SurFurLogo.png', 'surfur.ca', 'Taylor Arm Park&amp;lt;br&amp;gt;Pacific Rim Hwy&amp;lt;br&amp;gt;Alberni-Clayoquot D, BC&amp;lt;br&amp;gt;V0R 1W0&amp;lt;br&amp;gt;Canada', '+1 250-474-1336', 'Jun 22-26 2018', 81);&lt;br /&gt;
addLocation(36.059611, -95.961180, 'Tails and Tornadoes', '66/Ttfclogo.png', 'tailsandtornadoes.org', 'Marriott Tulsa Southern Hills&amp;lt;br&amp;gt;1902 E 71st St&amp;lt;br&amp;gt;Tulsa, OK 74136&amp;lt;br&amp;gt;USA', '+1 (918) 493-7000', 'Sep 4-6 2020', 507, null, 'https://tailsandtornadoes.org/register-now/', 'USD', [&lt;br /&gt;
['Attending (Early Bird)','Friday-Sunday; conbook; badge; program',45,'2018-11-11T12:00-0600','2019-02-10T18:00-0500'],&lt;br /&gt;
['Attending','Friday-Sunday; conbook; badge; program',50,'2019-02-10T18:00-0500','2019-08-01'],&lt;br /&gt;
['Attending (At Door)','Friday-Sunday; conbook; badge; program',55,'2019-08-30','2018-09-01','InStoreOnly'],&lt;br /&gt;
['Sponsor','Friday-Sunday; T-shirt; poster; early-access seating; early badge pickup; conbook; badge; program',120,'2018-11-11T12:00-0600','2018-09-01'],&lt;br /&gt;
['Super Sponsor','Friday-Sunday; Guest of Honor dinner; reserved seating; early Dealers Den entry; T-shirt; poster; early-access seating; early badge pickup; conbook; badge; program',200,'2018-11-11T12:00-0600','2018-09-01'],&lt;br /&gt;
['Founder','Friday-Sunday; Attending upgradable membership for lifetime of con; glassware; personalized founder badge; premiere seating; name on registration plaque; Guest of Honor dinner; early Dealers Den entry; T-shirt; poster; early-access seating; early badge pickup; conbook; badge; program',500,'2018-02-10T18:00-0500','2018-09-01','LimitedAvailability']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(13.7465361, 100.5409268, 'Thaitails', '50/Thaitails2020.jpg', 'thaitails.net', 'Arnoma Grand Hotel Bangkok&amp;lt;br&amp;gt;99 Ratchadamri Rd&amp;lt;br&amp;gt;Khwaeng Lumphini&amp;lt;br&amp;gt;Khet Pathum Wan&amp;lt;br&amp;gt;Krung Thep Maha Nakhon&amp;lt;br&amp;gt;Bangkok 10330&amp;lt;br&amp;gt;Thailand', '+66 2 655 5555', 'Mar 21-22 2020', 358);&lt;br /&gt;
addLocation(38.8124198,-122.7119006, 'The Chase of Beasts', 'ea/TheChase.jpg', 'chase.pet', 'Whispering Pines Resort&amp;lt;br&amp;gt;17170 Hwy 175&amp;lt;br&amp;gt;Middletown, CA 95461&amp;lt;br&amp;gt;USA', '+1 707-928-5227', 'Oct 18-21 2019', null, 18, 'https://www.eventbrite.com/e/the-chase-2019-tickets-56307194334', 'USD', [&lt;br /&gt;
['Cabin Bed','Friday-Monday; single bed in a cabin; no bedding included',149,'2019-05-05','2019-10-18'],&lt;br /&gt;
['Camping Space','Friday-Monday; space to pitch a tend for one person',149,'2019-05-05','2019-10-22'],&lt;br /&gt;
['Bed Linens','Campground-provided, if not bringing your own',15,'2019-05-05','2019-10-18'],&lt;br /&gt;
['Meal Plan','Provided by L.S.D, order from page linked in description; Friday lunch and dinner; Saturday and Sunday breakfast and lunch; Saturday dinner is potluck (entrees and ice cream bar provided); Sunday dinner leftovers',42.99,'2019-05-05','2019-10-21']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(49.1706707,-123.1444377, 'VancouFur', '88/Vancoufur_Logo2.png', 'vancoufur.org', 'Sheraton Vancouver Airport&amp;lt;br&amp;gt;7551 Westminster Highway&amp;lt;br&amp;gt;Richmond, British Columbia&amp;lt;br&amp;gt;V6X 1A3&amp;lt;br&amp;gt;Canada', '+1 (604) 273-7878', 'Mar 12-15 2020', 1121, null);&lt;br /&gt;
addLocation(44.062919,-92.043204, 'Werecamp', '72/MNFurs.png', 'www.mnfurs.org/MNFurs_Talk/event/werecamp-2019', 'Whitewater State Park Group Center&amp;lt;br&amp;gt;MN-74, St Charles, MN 55972&amp;lt;br&amp;gt;USA', '', 'Mar 8-10 2019', 28);&lt;br /&gt;
addLocation(-31.9566319, 115.8655744, 'West Aussie Fur Frenzy', 'f7/WAFF2019.png', 'waff.net.au', 'Travelodge Perth&amp;lt;br&amp;gt;417 Hay St&amp;lt;br&amp;gt;Perth WA 6000&amp;lt;br&amp;gt;Australia', '+61 8 9238 1888', 'Sep 13-15 2019', null, 18, 'https://www.waff.net.au/#tickets', 'AUD', [&lt;br /&gt;
['Standard (Early Bird)','Friday-Sunday; con book; badge; lanyard',80,'2019-04-08T21:00+0800','2019-04-23T00:00+0800'],&lt;br /&gt;
['Premium (Early Bird)','Friday-Sunday; T-shirt; sticker; poster; con book; badge; lanyard',160,'2019-04-08T21:00+0800','2019-04-23T00:00+0800'],&lt;br /&gt;
['Sponsor (Early Bird)','Friday-Sunday; GoH meet and greet; custom headshot by Sneaky Lion Arts and name in con book; T-shirt; sticker; poster; con book; badge; lanyard',320,'2019-04-08T21:00+0800','2019-04-23T00:00+0800'],&lt;br /&gt;
['Standard (Pre-FurDu)','Friday-Sunday; con book; badge; lanyard',100,'2019-04-23T00:00+0800','2019-06-02T00:00+0800'],&lt;br /&gt;
['Premium (Pre-FurDu)','Friday-Sunday; T-shirt; sticker; poster; con book; badge; lanyard',180,'2019-04-23T00:00+0800','2019-06-02T00:00+0800'],&lt;br /&gt;
['Sponsor (Pre-FurDu)','Friday-Sunday; GoH meet and greet; custom headshot by Sneaky Lion Arts and name in con book; T-shirt; sticker; poster; con book; badge; lanyard',340,'2019-04-23T00:00+0800','2019-06-02T00:00+0800'],&lt;br /&gt;
['Standard','Friday-Sunday; con book; badge; lanyard',110,'2019-06-02T00:00+0800','2019-09-01T00:00+0800'],&lt;br /&gt;
['Premium','Friday-Sunday; T-shirt; sticker; poster; con book; badge; lanyard',190,'2019-06-02T00:00+0800','2019-09-01T00:00+0800'],&lt;br /&gt;
['Sponsor','Friday-Sunday; GoH meet and greet; custom headshot by Sneaky Lion Arts and name in con book; T-shirt; sticker; poster; con book; badge; lanyard',350,'2019-06-02T00:00+0800','2019-09-01T00:00+0800']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(40.4612, -79.7509, 'Western PA Furry Weekend', '27/WPAFWPaw.jpg', 'wpafw.org', 'Northpark Lodge&amp;lt;br&amp;gt;N Ridge Dr&amp;lt;br&amp;gt;Allison Park, PA 15101&amp;lt;br&amp;gt;USA', '+1 (724) 327-0338', 'Oct 4-6 2019', 368);&lt;br /&gt;
addLocation(43.327621, -88.950421, 'WI Wilderness Campout', '3f/WisconsinWildernessCampout.png', 'wildernesscampout.org', 'Astico County Park&amp;lt;br&amp;gt;8943 County Road T&amp;lt;br&amp;gt;Columbus, WI 53925&amp;lt;br&amp;gt;USA', '+1 (920) 386-3700', 'Aug 2-4 2019', 43, null, 'https://wifurs.regfox.com/wisconsin-wilderness-campout-2019', 'USD', [&lt;br /&gt;
['Standard','Firewood, Saturday/Sunday breakfast, Saturday dinner',20,'2019-01-01','2019-08-01T23:59-0500'],&lt;br /&gt;
['Sponsor','Firewood, Saturday/Sunday breakfast, Saturday dinner, T-shirt, secret gift',50,'2019-01-01','2019-08-01T23:59-0500']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(35.042611,   -95.317672, 'Wild Nights', ['1c/WildNightsMESA.png','f6/WildNights2019.jpg'], 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 25-30 2019', 292);&lt;br /&gt;
addLocation(54.9421823,  -2.5106227, 'Wild North', ['b9/WildNorthHead.jpg','7c/Wild_North_2018_Logo.jpg'], 'sites.google.com/view/wildnorth', 'Featherstone Castle&amp;lt;br&amp;gt;Hall Bank, near Haltwhistle&amp;lt;br&amp;gt;Northumberland NE49 0JG&amp;lt;br&amp;gt;United Kingdom', '+44 1434 320 202', 'Sep 25-28 2020', 24, 18, 'https://myfurry.name/WildNorth', 'GBP', [&lt;br /&gt;
['Standard','Shared bedroom; Friday evening-Monday morning, including meals',150,'2020-02-28','2020-08-31T24:00+0000'],&lt;br /&gt;
['Weekend','Shared bedroom; Saturday morning-Sunday afternoon or later; includes meals',100,'2020-02-28','2020-08-31T24:00+0000'],&lt;br /&gt;
['One Day','Shared bedroom; Friday, Saturday or Sunday nights, includes meals',50,'2020-02-28','2020-08-31T24:00+0000']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(49.8936546,-97.1424676, 'Wild Prairie Fur Con', '56/Wild_Prairie_Fur_Con_logo.jpg', 'wpfcon.ca', 'Raddison Winnipeg Downtown&amp;lt;br&amp;gt;288 Portage Ave&amp;lt;br&amp;gt;Winnipeg, MB&amp;lt;br&amp;gt;R3C 0B8&amp;lt;br&amp;gt;Canada', '+1 204-956-0410', 'Aug 9-11 2019', 181);&lt;br /&gt;
addLocation(39.433722, -84.4956152, 'World Wild Fur Camp', 'f8/WorldWildFurCamp.jpg', 'worldwildfurcamp.com', 'YMCA Camp Campbell Gard&amp;lt;br&amp;gt;4803 Augspurger Rd&amp;lt;br&amp;gt;Hamilton, Ohio&amp;lt;br&amp;gt;USA', '+1 513-867-0600', 'Oct 31-Nov 1 2019', 50);&lt;br /&gt;
addLocation(50.532995,    30.36253, 'WUFF', '54/WUFFPaw.jpg', 'wuff.ua', 'Konhres-Hotel &amp;quot;Pushcha&amp;quot;&amp;lt;br&amp;gt;Mykoly Yunkerova St, 20&amp;lt;br&amp;gt;Kiev&amp;lt;br&amp;gt;Ukraine', '+380 44 364 9000', 'May 2020', 209, null)&lt;br /&gt;
addLocation(47.3939555, 10.8657581, 'Zillercon', '5d/Zillercon4logo.jpg', 'twitter.com/hashtag/zillercon?f=tweets', 'Lermoos&amp;lt;br&amp;gt;Österreich&amp;lt;br&amp;gt;Austria', '', 'Jan 20-27 2018', 40, 18, 'mailto:zillercon@gmail.com', 'EUR', [&lt;br /&gt;
['Attendee','Saturday-Saturday; accommodation; half-board',270,'2017-01-29','2017-12-01']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(49.802422,   15.742647, 'ZodiaCon', '00/ZodiaCon2019.jpg', 'zodiacon.org', 'Vršovská Brána&amp;lt;br&amp;gt;Vršov 19&amp;lt;br&amp;gt;539 53 Horní Bradlo&amp;lt;br&amp;gt;Czechia', '+420 483 300 335', 'Jun 19-23 2019', 119);&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	return (b.datev - a.datev) || compare_name(a, b);&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
var bydate = document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return (meet.date?meet.date+&amp;quot; &amp;quot;:&amp;quot;&amp;quot;) + &amp;quot;&amp;lt;nobr&amp;gt;&amp;lt;b&amp;gt;&amp;quot; + meet.name + &amp;quot;&amp;lt;/b&amp;gt;&amp;quot; + (meet.age?&amp;quot; [&amp;quot;+meet.age+&amp;quot;+]&amp;quot;:&amp;quot;&amp;quot;) + &amp;quot;&amp;lt;/nobr&amp;gt;&amp;quot;});&lt;br /&gt;
}&lt;br /&gt;
bydate(); //trigger date sort&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh(function(meet){return &amp;quot;&amp;lt;nobr&amp;gt;&amp;lt;b&amp;gt;&amp;quot; + meet.name + &amp;quot;&amp;lt;/b&amp;gt;&amp;quot; + (meet.age?&amp;quot; [&amp;quot;+meet.age+&amp;quot;+]&amp;quot;:&amp;quot;&amp;quot;) + &amp;quot;&amp;lt;/nobr&amp;gt;&amp;quot;});&lt;br /&gt;
}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function(meet){return &amp;quot;&amp;lt;nobr&amp;gt;&amp;lt;b&amp;gt;&amp;quot; + meet.name + &amp;quot;&amp;lt;/b&amp;gt;&amp;lt;/nobr&amp;gt;&amp;quot; + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;)+(meet.age?&amp;quot; [&amp;quot;+meet.age+&amp;quot;+]&amp;quot;:&amp;quot;&amp;quot;)});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
var filterElement = document.getElementById(&amp;quot;filter&amp;quot;);&lt;br /&gt;
for (var filt in Filter) {&lt;br /&gt;
  var opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
  opt.innerHTML = Filter[filt].name+&amp;quot; (&amp;quot;+Filter[filt].count+&amp;quot;)&amp;quot;;&lt;br /&gt;
  opt.value = filt;&lt;br /&gt;
  filterElement.appendChild(opt);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
filterElement.onchange = function(){&lt;br /&gt;
    var selectedFilter = document.getElementById(&amp;quot;filter&amp;quot;).value &lt;br /&gt;
    var bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter function&lt;br /&gt;
        var visible = Filter[selectedFilter].in(meet.lat, meet.lng, meet.age);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
if (typeof google!=='undefined') {&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            var pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
} //google&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Page may be loaded with a hash (by Google or other links)&lt;br /&gt;
window.onhashchange = function(){&lt;br /&gt;
  document.getElementById(decodeURIComponent(window.location.hash.substring(1))).focus()&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// JSON-LD Events carousel for search engines&lt;br /&gt;
var eventItems = [];&lt;br /&gt;
var dateNow = Date.now();&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
  var addressParts = meet.address.replace(/&amp;quot;/g, '\\&amp;quot;').split('&amp;lt;br&amp;gt;');&lt;br /&gt;
  var locationName = addressParts[0];&lt;br /&gt;
  var country = addressParts.pop().split(' [')[0]; //pop off end, sans any notes&lt;br /&gt;
  var address = addressParts.slice(1).join(', '); //join back to string with commas, escape quotes&lt;br /&gt;
  var url = location.href.split('?')[0].split('#')[0]; //cut any query or fragment&lt;br /&gt;
  var endDate = meet.datev;&lt;br /&gt;
  var h = meet.date.indexOf('-');&lt;br /&gt;
  if(h &amp;gt; 0) {//multi-day event&lt;br /&gt;
    if(meet.date.length &amp;lt; h + 7){//New year; add one to prior year&lt;br /&gt;
      endDate = getmonthvalue(meet.date.substring(h+1) + &amp;quot; &amp;quot; + (parseInt(meet.date.substring(h-4, h))+1));&lt;br /&gt;
    }else if(meet.date.length &amp;lt; h + 9){//Shared month, need to splice&lt;br /&gt;
      endDate = getmonthvalue(meet.date.substring(0,4)+meet.date.substring(h+1));&lt;br /&gt;
    }else{//Already valid&lt;br /&gt;
      endDate = getmonthvalue(meet.date.substring(h+1));&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  var offers = [];&lt;br /&gt;
  if(meet.offers){&lt;br /&gt;
   for(var c = 0; c &amp;lt; meet.currency.length; c++){//length&amp;gt;1? expect a price array, else numeric&lt;br /&gt;
    for(var j = 0; j &amp;lt; meet.offers.length; j++){&lt;br /&gt;
      if(meet.offers[j].length &amp;gt; 4 &amp;amp;&amp;amp; new Date(meet.offers[j][4]) &amp;gt; dateNow)//no expired offers-check below if it's available yet&lt;br /&gt;
        offers.push('{\&lt;br /&gt;
&amp;quot;@type&amp;quot;: &amp;quot;Offer&amp;quot;'+(new Date(meet.offers[j][3]) &amp;lt;= dateNow?',\&lt;br /&gt;
&amp;quot;availability&amp;quot;: &amp;quot;'+(meet.offers[j].length&amp;gt;5?meet.offers[j][5]:'InStock')+'&amp;quot;':'')+',\&lt;br /&gt;
&amp;quot;url&amp;quot;: &amp;quot;'+meet.registration+'&amp;quot;,\&lt;br /&gt;
&amp;quot;name&amp;quot;: &amp;quot;'+meet.offers[j][0]+'&amp;quot;,\&lt;br /&gt;
&amp;quot;description&amp;quot;: &amp;quot;'+meet.offers[j][1]+'&amp;quot;,\&lt;br /&gt;
&amp;quot;price&amp;quot;: &amp;quot;'+(meet.currency.length&amp;gt;1?meet.offers[j][2][c]:meet.offers[j][2])+'&amp;quot;,\&lt;br /&gt;
&amp;quot;priceCurrency&amp;quot;: &amp;quot;'+meet.currency[c]+'&amp;quot;,\&lt;br /&gt;
&amp;quot;validFrom&amp;quot;: &amp;quot;'+meet.offers[j][3]+'&amp;quot;,\&lt;br /&gt;
&amp;quot;validThrough&amp;quot;: &amp;quot;'+meet.offers[j][4]+'&amp;quot;}');&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
  }&lt;br /&gt;
  eventItems.push('{\&lt;br /&gt;
&amp;quot;@type&amp;quot;: &amp;quot;ListItem&amp;quot;,\&lt;br /&gt;
&amp;quot;position&amp;quot;: &amp;quot;'+(i+1)+'&amp;quot;,\&lt;br /&gt;
&amp;quot;item&amp;quot;: {\&lt;br /&gt;
 &amp;quot;@type&amp;quot;: &amp;quot;Event&amp;quot;,\&lt;br /&gt;
 &amp;quot;name&amp;quot;: &amp;quot;'+meet.name.replace(/&amp;quot;/g, '\\&amp;quot;')+'&amp;quot;,\&lt;br /&gt;
 &amp;quot;url&amp;quot;: &amp;quot;'+url+'#'+meet.nameForWikiURL+'&amp;quot;'+(meet.img?',\&lt;br /&gt;
 &amp;quot;image&amp;quot;: [&amp;quot;'+meet.img.join('&amp;quot;,&amp;quot;')+'&amp;quot;]':'')+',\&lt;br /&gt;
 &amp;quot;sameAs&amp;quot;: [&amp;quot;http://'+meet.url+'&amp;quot;, &amp;quot;https://en.wikifur.com/wiki/'+meet.nameForWikiURL+'&amp;quot;],\&lt;br /&gt;
 &amp;quot;startDate&amp;quot;: &amp;quot;'+meet.datev+'&amp;quot;,\&lt;br /&gt;
 &amp;quot;endDate&amp;quot;: &amp;quot;'+endDate+'&amp;quot;'+(meet.age?',\&lt;br /&gt;
 &amp;quot;typicalAgeRange&amp;quot;: &amp;quot;'+meet.age+'-&amp;quot;':'')+(meet.attendance?',\&lt;br /&gt;
 &amp;quot;maximumAttendeeCapacity&amp;quot;: &amp;quot;'+meet.attendance+'&amp;quot;':'')+(offers.length&amp;gt;0?',\&lt;br /&gt;
 &amp;quot;offers&amp;quot;: ['+offers.join()+']':'')+',\&lt;br /&gt;
 &amp;quot;location&amp;quot;: {\&lt;br /&gt;
  &amp;quot;@type&amp;quot;: &amp;quot;Place&amp;quot;,\&lt;br /&gt;
  &amp;quot;name&amp;quot;: &amp;quot;'+locationName+'&amp;quot;,\&lt;br /&gt;
  &amp;quot;address&amp;quot;: {\&lt;br /&gt;
   &amp;quot;@type&amp;quot;: &amp;quot;PostalAddress&amp;quot;,\&lt;br /&gt;
   &amp;quot;streetAddress&amp;quot;: &amp;quot;'+address+'&amp;quot;,\&lt;br /&gt;
   &amp;quot;addressCountry&amp;quot;: &amp;quot;'+country+(meet.tel?'&amp;quot;,\&lt;br /&gt;
   &amp;quot;telephone&amp;quot;: &amp;quot;'+meet.tel:'')+'&amp;quot;\&lt;br /&gt;
  },\&lt;br /&gt;
  &amp;quot;geo&amp;quot;: {\&lt;br /&gt;
   &amp;quot;@type&amp;quot;: &amp;quot;GeoCoordinates&amp;quot;,\&lt;br /&gt;
   &amp;quot;latitude&amp;quot;: &amp;quot;'+meet.lat+'&amp;quot;,\&lt;br /&gt;
   &amp;quot;longitude&amp;quot;: &amp;quot;'+meet.lng+'&amp;quot;\&lt;br /&gt;
  }\&lt;br /&gt;
 }\&lt;br /&gt;
}\&lt;br /&gt;
}');&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var ld = document.createElement(&amp;quot;script&amp;quot;);&lt;br /&gt;
ld.type = 'application/ld+json';&lt;br /&gt;
ld.innerHTML = '{\&lt;br /&gt;
&amp;quot;@context&amp;quot;: &amp;quot;http://schema.org&amp;quot;,\&lt;br /&gt;
&amp;quot;@type&amp;quot;: &amp;quot;ItemList&amp;quot;,\&lt;br /&gt;
&amp;quot;name&amp;quot;: &amp;quot;Upcoming Furry Events&amp;quot;,\&lt;br /&gt;
&amp;quot;description&amp;quot;: &amp;quot;List of upcoming events on WikiFur\'s Furry Convention Map.&amp;quot;,\&lt;br /&gt;
&amp;quot;url&amp;quot;: &amp;quot;https://en.wikifur.com/FurryConventionMap.html&amp;quot;,\&lt;br /&gt;
&amp;quot;sameAs&amp;quot;: [&amp;quot;https://en.wikifur.com/wiki/Template:Upcoming_events&amp;quot;, &amp;quot;https://pool.wikifur.com/wiki/Convention_map_script&amp;quot;],\&lt;br /&gt;
&amp;quot;itemListOrder&amp;quot;: &amp;quot;ItemListUnordered&amp;quot;,\&lt;br /&gt;
&amp;quot;itemListElement&amp;quot;:\&lt;br /&gt;
['+eventItems.join()+']}';&lt;br /&gt;
document.getElementsByTagName('head')[0].appendChild(ld);&lt;br /&gt;
eventItems = null;&lt;br /&gt;
&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates like &amp;quot;Jan 17-Feb 2 2014&amp;quot; into an integer like 20140117 for sorting&lt;br /&gt;
// should accept anything that looks like a date.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
    var x; &lt;br /&gt;
    var v;&lt;br /&gt;
    var y;&lt;br /&gt;
    var day; &lt;br /&gt;
    var month; &lt;br /&gt;
    var year;&lt;br /&gt;
    &lt;br /&gt;
	if (!s) {return 20000101;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (x &amp;amp;&amp;amp; x[1]) {&lt;br /&gt;
	    day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	    if (day &amp;gt; 1980) {day = 1;}&lt;br /&gt;
	&lt;br /&gt;
	    switch (x[1]){&lt;br /&gt;
		    case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		    case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		    case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		    case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		    case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		    case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		    case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		    case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		    case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		    case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		    case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		    case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		    default:	month = 1;&lt;br /&gt;
	    }&lt;br /&gt;
	} else {&lt;br /&gt;
	    month = 1;&lt;br /&gt;
	    day = 1;&lt;br /&gt;
	} &lt;br /&gt;
	&lt;br /&gt;
	y = /[0-9]{4}/.exec(s);&lt;br /&gt;
	if (y) {&lt;br /&gt;
		year = (v=parseInt(y[0]))?v:0;&lt;br /&gt;
    	if (year &amp;gt; 9999) {year = 9999;}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return year * 10000 + month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(meet) {&lt;br /&gt;
  return '&amp;lt;center&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a title=&amp;quot;' + meet.name + ' on WikiFur&amp;quot; href=&amp;quot;/wiki/' + meet.nameForWikiURL + '&amp;quot;&amp;gt;' + meet.name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' +&lt;br /&gt;
	(meet.url?'&amp;amp;nbsp;–&amp;amp;nbsp;&amp;lt;a href=&amp;quot;http://' + meet.url + '&amp;quot;&amp;gt;' + meet.url + '&amp;lt;/a&amp;gt;':'') + (meet.age?'&amp;amp;nbsp;'+meet.age+'+':'') + '&amp;lt;/center&amp;gt;' +&lt;br /&gt;
        '&amp;lt;table style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;tr valign=top&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	'&amp;lt;a title=&amp;quot;Directions on Google Maps&amp;quot; href=&amp;quot;//www.google.com/maps/dir/?api=1&amp;amp;destination=' + encodeURIComponent(meet.address.split(' [')[0].replace(/&amp;lt;br\s*\/?&amp;gt;/gi,', ')) + '&amp;quot;&amp;gt;' + meet.address + '&amp;lt;/a&amp;gt;' +&lt;br /&gt;
	 (meet.tel?&lt;br /&gt;
		'&amp;lt;br&amp;gt;' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a title=&amp;quot;Call venue&amp;quot; href=&amp;quot;tel:' + meet.tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + meet.tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:meet.tel)&lt;br /&gt;
		:'') + &lt;br /&gt;
	(meet.date?'&amp;lt;br&amp;gt;'+meet.date:'') +&lt;br /&gt;
	(meet.attendance?'&amp;lt;br&amp;gt;Past atnd. '+ meet.attendance:'') +&lt;br /&gt;
	'&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;' + (meet.img?'&amp;lt;td&amp;gt;&amp;lt;img src=&amp;quot;' + meet.img[0] + '&amp;quot; style=&amp;quot;margin-top:5px;max-width:250px;max-height:110px&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;':'') + '&amp;lt;/table&amp;gt;';&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function processImages(img){&lt;br /&gt;
  if(!img) return;&lt;br /&gt;
  if(typeof img==='string') //'xx/xx.jpg' &lt;br /&gt;
    img = [img];&lt;br /&gt;
&lt;br /&gt;
  for (var i = 0;i &amp;lt; img.length;i++){ //['xx/xx.jpg','yy/yy.jpg']&lt;br /&gt;
    if (0!==img[i].indexOf('http'))&lt;br /&gt;
      img[i]='https://en.wikifur.com/w/images/'+img[i].substring(0,1)+'/'+img[i];&lt;br /&gt;
  }&lt;br /&gt;
  return img;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, img, url, address, tel, date, attendance, age, registration, currency, offers){&lt;br /&gt;
  //If null or full URL, pass img through, else generate from suffix (first character is name of interveing directory)&lt;br /&gt;
  meets.push({'lat':lat, 'lng':lng, 'name':name, 'nameForWikiURL':name.replace(/\s/g, '_'), 'img':processImages(img), 'url':url, 'address':address, 'tel':tel, 'date':date, 'datev':getmonthvalue(date), 'attendance':attendance, 'age':age, 'registration':registration, 'currency':typeof currency==='string'?[currency]:currency, 'offers':offers});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.li){&lt;br /&gt;
&lt;br /&gt;
        var link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
        link.id = a.nameForWikiURL;&lt;br /&gt;
&lt;br /&gt;
if (typeof google!=='undefined') {&lt;br /&gt;
        //make the marker -- defined colours are red, purple, blue, yellow, green, ltblue, pink, orange&lt;br /&gt;
        a.marker = new google.maps.Marker({&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: a.name,&lt;br /&gt;
            icon: {url: &amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/ms/micons/&amp;quot;+(a.attendance &amp;gt;= 3000 ? &amp;quot;red&amp;quot; : (a.attendance &amp;gt;= 1250 ? &amp;quot;yellow&amp;quot; : (a.attendance &amp;gt;= 800 ? &amp;quot;green&amp;quot; : (a.attendance &amp;gt;= 400 ? &amp;quot;purple&amp;quot; : &amp;quot;blue&amp;quot; ) ) ) )+&amp;quot;-dot.png&amp;quot;},&lt;br /&gt;
            zIndex: (a.attendance || 0)&lt;br /&gt;
        });&lt;br /&gt;
        var fn = function() {&lt;br /&gt;
            //if we can't see the marker, show it in the center&lt;br /&gt;
            if (!map.getBounds().contains(a.marker.getPosition())){&lt;br /&gt;
                map.panTo(a.marker.getPosition());&lt;br /&gt;
            }&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
            location.hash = a.nameForWikiURL;&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        link.onfocus = fn;&lt;br /&gt;
        link.href = &amp;quot;#&amp;quot;+a.nameForWikiURL;&lt;br /&gt;
} else {&lt;br /&gt;
        link.href = &amp;quot;/wiki/&amp;quot;+a.nameForWikiURL;&lt;br /&gt;
}//google        &lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        for(var filt in Filter) {&lt;br /&gt;
            if (Filter[filt].in(a.lat, a.lng, a.age)) Filter[filt].count++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    //(re)insert the item into list&lt;br /&gt;
    document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2019-05-09T01:19:42Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: fix extra quotation mark&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[//en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, and copy the first two numbers after the '@' in the URL (including the decimal portion). &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe (') in a name or location, put a backslash (\) in front of it.&lt;br /&gt;
&lt;br /&gt;
// Please also help keep the main WikiFur articles, [[:en:Template:Timeline of conventions|timeline]] and [[:en:List of conventions by attendance|list of conventions by attendance]] and the [[:en:Template:Upcoming events|upcoming events list]] up to date.&amp;lt;pre&amp;gt;&lt;br /&gt;
'use strict';&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
//'enum' specifying which region is selected in the drop down, with&lt;br /&gt;
//hacky functions to classify conventions into geographic regions&lt;br /&gt;
var Filter = {&lt;br /&gt;
  ALL: {name: &amp;quot;Everywhere&amp;quot;, count: 0, in: function(lat, lng) {return true}},&lt;br /&gt;
  NA: {name: &amp;quot;North America&amp;quot;, count: 0, in: function(lat, lng) {return (lat &amp;gt; 14 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48)}},&lt;br /&gt;
  EU: {name: &amp;quot;Europe&amp;quot;, count: 0, in: function(lat, lng) {return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40)}},&lt;br /&gt;
  APEJ: {name: &amp;quot;South &amp;amp;amp; East Asia&amp;quot;, count: 0, in: function(lat, lng) {return (lat &amp;gt; -9.3 &amp;amp;&amp;amp; lat &amp;lt; 50 &amp;amp;&amp;amp; lng &amp;gt; 93 &amp;amp;&amp;amp; lng &amp;lt; 129.3)}},&lt;br /&gt;
  OCEANIA: {name: &amp;quot;Oceania&amp;quot;, count: 0, in: function(lat, lng) {return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -9.3 &amp;amp;&amp;amp; lng &amp;gt; 110)}},&lt;br /&gt;
  SA: {name: &amp;quot;South America&amp;quot;, count: 0, in: function(lat, lng) {return (lat &amp;gt; -68 &amp;amp;&amp;amp; lat &amp;lt; 13 &amp;amp;&amp;amp; lng &amp;gt; -82 &amp;amp;&amp;amp; lng &amp;lt; -35)}},&lt;br /&gt;
  JAPAN: {name: &amp;quot;Japan&amp;quot;, count: 0, in: function(lat, lng) {return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145)}},&lt;br /&gt;
  OTHERS: {name: &amp;quot;Rest of the World&amp;quot;, count: 0, in: function(lat, lng) {return !(Filter.NA.in(lat, lng) || Filter.EU.in(lat, lng) || Filter.APEJ.in(lat, lng) || Filter.OCEANIA.in(lat, lng) || Filter.SA.in(lat, lng) || Filter.JAPAN.in(lat, lng))}},&lt;br /&gt;
  ALLAGES: {name: &amp;quot;Open to all ages&amp;quot;, count: 0, in: function(lat, lng, age) {return !age}},&lt;br /&gt;
  RESTRICTED: {name: &amp;quot;Age-restricted&amp;quot;, count: 0, in: function(lat, lng, age) {return !!age}}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
var useragent = navigator.userAgent;&lt;br /&gt;
is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
  //document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
  document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
  document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
if (typeof google!=='undefined') {&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: new google.maps.LatLng(40,-40),&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// try to detect user location and recenter on them&lt;br /&gt;
var ipcheck = new XMLHttpRequest();&lt;br /&gt;
ipcheck.open(&amp;quot;GET&amp;quot;, &amp;quot;//ipapi.co/json/&amp;quot;);&lt;br /&gt;
ipcheck.onload = function(){&lt;br /&gt;
	if (ipcheck.status &amp;gt;= 200 &amp;amp;&amp;amp; ipcheck.status &amp;lt; 300) {&lt;br /&gt;
		var loc = JSON.parse(ipcheck.responseText);&lt;br /&gt;
		map.panTo({lat: loc.latitude, lng: loc.longitude});&lt;br /&gt;
		map.setZoom(5); // more local detail, more useful for them&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
ipcheck.send();&lt;br /&gt;
} //google&lt;br /&gt;
&lt;br /&gt;
/* Add map points, details and optional pre-reg per https://developers.google.com/search/docs/data-types/event - escape internal apostrophies, e.g. 'Dealer\'s'.&lt;br /&gt;
addLocation(latitude, longitude, 'Name' {English WikiFur article}, 'XX/Logo.XXX' or ['XX/Logo.XXX','YY/Flyer.YYY',...] or null {last part of original image URL on en.wikifur.com, or full URL; logo first; current flyer second, ideally width 720px+, 50K+ px total}, 'furry.web/site' {no http[s]://}, 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country [notes in brackets]', 'Phone Number' {or ''}, 'Jan 1[-[Feb ]3] 20XX' {or 'Dec YY 20XX-Jan Z'}, attendance {or null}, minimum age {restrictions allowed; or null}, 'https://event/registration' {or null}, 'reg currency code' {ISO 4217; 'USD' not '$'; or ['USD','ARS'] if available in multiple currencies; or null}, [&lt;br /&gt;
['Name', 'Brief description', Price {include fees; 50 or 50.50, not 50,50; use [14.50,504.20] if multiple currencies}, 'Available from' {at price, datetime with offset; check DST}, 'Available until', 'SoldOut'/'PreOrder'/'InStoreOnly' {optional, use if definitively sold out/put to waiting list/only at-con respectively}],&lt;br /&gt;
[...]&lt;br /&gt;
]', e.g. [&lt;br /&gt;
['Attending (early-bird)','Friday-Sunday; early-bird until March 20',50,'2020-01-01T19:30-0500','2020-03-20T24:00-0500'],&lt;br /&gt;
['Attending','Friday-Sunday',60,'2020-03-20T24:00-0500','2020-04-20T24:00-0400'],&lt;br /&gt;
['Sponsor','Friday-Sunday; T-shirt, priority seating',95,'2020-01-01T19:30-0500','2020-04-20T24:00-0400', 'SoldOut']&lt;br /&gt;
] {or null if no registration; use an offer with price '0' if you can/must pre-register for free} );&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
addLocation(29.4318682,-98.4907969, 'Alamo City Furry Invasion', ['b2/AlamoCityFurryInvasion.png','af/ACFI2019.jpg'], 'furryinvasion.org', 'El Tropicano Riverwalk&amp;lt;br&amp;gt;110 Lexington Avenue&amp;lt;br&amp;gt;San Antonio, TX 78205&amp;lt;br&amp;gt;USA', '+1 (210) 254-5665', 'Oct 4-6 2019', 1006, null, 'https://reg.furryinvasion.org/kiosk/2019/', 'USD', [&lt;br /&gt;
['Attending','Event access; conbook, wristband, pet tag',45,'2018-11-02T19:35-0600','2019-09-16T23:59-0600'],&lt;br /&gt;
['Sponsor','Event access; conbook, wristbad, pet tag, perks',80,'2018-11-02T19:35-0600','2019-09-16T23:59-0600'],&lt;br /&gt;
['Super Sponsor', 'Event access; GoH dinner, conbook, wristband, pet tag, perks',125,'2018-11-02T19:35-0600','2019-09-16T23:59-0600']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(35.833243, -78.771843, 'Anthro Crossroads East', 'e9/ACE_Logo.jpeg', 'anthrocrossroads.com', 'Embassy Suites Research Triangle&amp;lt;br&amp;gt;201 Harrison Oaks Blvd&amp;lt;br&amp;gt;Cary, NC 27513&amp;lt;br&amp;gt;USA', '+1 (919) 677-1840', 'Jan 18-20 2019', 295, null);&lt;br /&gt;
addLocation(42.3507047,-71.0721189, 'Anthro New England', ['82/ANE.jpg','5a/ANE2020.jpg'], 'anthronewengland.com', 'Boston Park Plaza Hotel&amp;lt;br&amp;gt;50 Park Plaza&amp;lt;br&amp;gt;Boston, MA 02116-3912&amp;lt;br&amp;gt;USA', '+1 (617) 426-2000', 'Feb 20-23 2020', 2251, null, 'https://www.anthronewengland.com/registration', 'USD', [&lt;br /&gt;
['Attending (14+)','Thursday-Sunday',50,'2018-06-01','2019-01-31'],&lt;br /&gt;
['Sponsor','Thursday-Sunday; 10% con store discount; T-shirt; early access to ballroom events and dealers den ',100,'2018-06-01','2019-01-31'],&lt;br /&gt;
['Super Sponsor','Thursday-Sunday; mystery gift; 20% con store discount; early access to ballroom events and dealers den',175,'2018-06-01','2019-01-31'],&lt;br /&gt;
['Teen (11-13)','Thursday-Sunday',25,'2018-06-01','2019-01-31'],&lt;br /&gt;
['Friday','Friday only',25,'2018-06-01','2019-01-31'],&lt;br /&gt;
['Saturday','Saturday only',25,'2018-06-01','2019-01-31'],&lt;br /&gt;
['Sunday','Sunday only',20,'2018-06-01','2019-01-31']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(47.6145297,-122.3336784, 'Anthro Northwest', ['59/AnthroNorthwestlogo.jpg','68/AnthroNorthwest2019.jpg'], 'anthronw.com', 'Hyatt Regency Seattle&amp;lt;br&amp;gt;808 Howell Street&amp;lt;br&amp;gt;Seattle, WA 98101&amp;lt;br&amp;gt;USA', '+1 (662) 426-8476', 'Nov 21-24 2019', 1051, null, 'https://anthronw.com/2019/register/', 'USD', [&lt;br /&gt;
['Adult (16+)','Thursday-Sunday; Thanksgiving feast',65,'2018-11-18','2019-10-20'],&lt;br /&gt;
['Sponsor','Thursday-Sunday; Thanksgiving feast; special gifts; sponsor dinner; special event access; early vendor access; ',150,'2018-11-18','2019-10-20'],&lt;br /&gt;
['Super Sponsor','Thursday-Sunday; Thanksgiving feast; priority badge pickup; special and very special gifts; sponsor dinner; special event access; early vendor access; ',225,'2018-11-18','2019-10-20'],&lt;br /&gt;
['Youth (13-15)','Thursday-Sunday; Thanksgiving feast',35,'2018-11-18','2019-10-20']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(35.0401986, -85.3110755, 'Anthro SouthEast', ['6b/AnthroSouthEast.jpg','49/AnthroSouthEast2019.png'], 'anthrose.com', 'The Chattanoogan&amp;lt;br&amp;gt;1201 Broad St&amp;lt;br&amp;gt;Chattanooga, TN 37402&amp;lt;br&amp;gt;USA', '+1 423-756-3400', 'Oct 25-27 2019', 605, null, 'https://www.eventbrite.com/e/anthro-southeast-the-worlds-within-tickets-51475856673', 'USD', [&lt;br /&gt;
['3 Day (Early Bird)','Friday-Sunday; Thursday early-bird social',52.83,'2019-02-11T12:00-0500','2019-06-30T24:00-0400'],&lt;br /&gt;
['3 Day','Friday-Sunday; Thursday early-bird social',58.70,'2019-02-11T12:00-0500','2019-10-05T00:00-0400'],&lt;br /&gt;
['Sponsor','Friday-Sunday; Thursday early-bird social; T-shirt',103.91,'2019-02-11T12:00-0500','2019-10-05T00:00-0400'],&lt;br /&gt;
['Super Sponsor','Friday-Sunday; Thursday early-bird social; hoodie or T-shirt; bandanna; gift',172.01,'2019-02-11T12:00-0500','2019-10-05T00:00-0400'],&lt;br /&gt;
['Ultra Sponsor','Friday-Sunday; Thursday early-bird social; one week priority hotel booking; guest of honor dinner; special surprise; hoodie or T-shirt; bandanna; gift',228.77,'2019-02-11T12:00-0500','2019-10-05T00:00-0400'],&lt;br /&gt;
['Friday','Friday only',24.45,'2019-02-11T12:00-0500','2019-10-05T00:00-0400'],&lt;br /&gt;
['Saturday','Saturday only',24.45,'2019-02-11T12:00-0500','2019-10-05T00:00-0400'],&lt;br /&gt;
['Sunday','Sunday only',24.45,'2019-02-11T12:00-0500','2019-10-05T00:00-0400'],&lt;br /&gt;
]);&lt;br /&gt;
addLocation(41.0849157,-111.9832517, 'Anthro Weekend Utah', 'd7/AnthroWeekendUtah.png', 'anthroweekendutah.org', 'Davis Conference Center&amp;lt;br&amp;gt;1651 North 700 West&amp;lt;br&amp;gt;Layton, UT 84041&amp;lt;br&amp;gt;USA', '+1 (801) 416-8888', 'Jul 19-21 2019', 603, null, 'https://anthroweekendutah.org/register', [&lt;br /&gt;
['Basic (Super Early)','Friday-Sunday',41,'2019-12-21T12:00-0700','2018-12-29T00:00-0700'],&lt;br /&gt;
['Awesome (Super Early)','Friday-Sunday; T-shirt; lanyard; poster; stylus pen',71,'2019-12-21T12:00-0700','2018-12-29T00:00-0700'],&lt;br /&gt;
['Ultimate (Super Early)','Friday-Sunday; mug; belt; buttons; detective notebook; super-secret gift; T-shirt; lanyard; poster; stylus pen',91,'2019-12-21T12:00-0700','2018-12-29T00:00-0700'],&lt;br /&gt;
['Basic (Early Bird)','Friday-Sunday',46,'2018-12-29T00:00-0700','2019-04-01T00:00-0600'],&lt;br /&gt;
['Awesome (Early Bird)','Friday-Sunday; T-shirt; lanyard; poster; stylus pen',76,'2018-12-29T00:00-0700','2019-04-01T00:00-0600'],&lt;br /&gt;
['Ultimate (Early Bird)','Friday-Sunday; mug; belt; buttons; detective notebook; super-secret gift; T-shirt; lanyard; poster; stylus pen',96,'2018-12-29T00:00-0700','2019-04-01T00:00-0600'],&lt;br /&gt;
['Basic','Friday-Sunday',51,'2019-04-01T00:00-0600'],&lt;br /&gt;
['Awesome','Friday-Sunday; T-shirt; lanyard; poster; stylus pen',81,'2019-04-01T00:00-0600'],&lt;br /&gt;
['Ultimate','Friday-Sunday; mug; belt; buttons; detective notebook; super-secret gift; T-shirt; lanyard; poster; stylus pen',101,'2019-04-01T00:00-0600']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(35.527932, -97.567312, 'AnthroExpo', '86/AnthroExpo2020.png', 'anthroexpo.net', 'Wyndham Oklahoma City&amp;lt;br&amp;gt;2945 Northwest Expy&amp;lt;br&amp;gt;Oklahoma City, OK 73112&amp;lt;br&amp;gt;USA', '+1 (405) 848-4811', 'Jan 31-Feb 2 2020', null);&lt;br /&gt;
addLocation(40.0995858,-82.9886064, 'AnthrOhio', '0b/AnthrOhioLogo.png', 'anthrohio.org', 'Crowne Plaza Worthington&amp;lt;br&amp;gt;6500 Doubletree Avenue&amp;lt;br&amp;gt;Columbus, Ohio 43229&amp;lt;br&amp;gt;USA', '+1 (614) 885-1885', 'May 23-26 2019', 862, null, 'http://anthrohio.org/Registration', 'USD', [&lt;br /&gt;
['Daily','One day admission; hospitality suite',20,'2018-12-13T12:00-0500','2019-04-21T24:00-0400'],&lt;br /&gt;
['Basic','Thursday-Sunday admission; hospitality suite',40,'2018-12-13T12:00-0500','2019-04-21T24:00-0400'],&lt;br /&gt;
['Sponsor','Thursday-Sunday admission; hospitality suite; ice-cream social; sponsor button; art print;',55,'2018-12-13T12:00-0500','2019-04-21T24:00-0400'],&lt;br /&gt;
['Patron','Thursday-Sunday admission; hospitality suite; ice-cream social; sponsor button; art print; GoH dinner; shirt; early pickup',95,'2018-12-13T12:00-0500','2019-04-21T24:00-0400'],&lt;br /&gt;
['PhilAnthropist','Thursday-Sunday admission, hospitality suite; ice-cream social; sponsor button; art print; GoH dinner; shirt; early pickup; themed reward; custom badge',225,'2018-12-13T12:00-0500','2019-03-19T24:00-0400'],&lt;br /&gt;
['Daily','One day admission; hospitality suite',30,'2019-04-21T24:00-0400','2019-05-22T24:00-0400'],&lt;br /&gt;
['Basic','Thursday-Sunday admission; hospitality suite',50,'2019-04-21T24:00-0400','2019-05-22T24:00-0400'],&lt;br /&gt;
['Sponsor','Thursday-Sunday admission; hospitality suite; ice-cream social; sponsor button; art print;',65,'2019-04-21T24:00-0400','2019-05-22T24:00-0400'],&lt;br /&gt;
['Patron','Thursday-Sunday admission; hospitality suite; ice-cream social; sponsor button; art print; GoH dinner; shirt; early pickup',105,'2019-04-21T24:00-0400','2019-05-22T24:00-0400']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(40.445799, -79.996162, 'Anthrocon', 'b7/Anthrocon.gif', 'anthrocon.org', 'DLCC Pittsburgh&amp;lt;br&amp;gt;1000 Fort Duquesne Blvd&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jul 4-7 2019', 8407, null, 'https://www.anthrocon.org/registration', 'USD', [&lt;br /&gt;
['Attending','Thursday-Sunday','60','2018-10-10T20:00-0500','2019-06-16T23:59-0400'],&lt;br /&gt;
['Sponsor','Thursday-Sunday; T-shirt; ribbon; priority reg and dealers room admission','115','2018-10-10T20:00-0500','2019-06-16T23:59-0400'],&lt;br /&gt;
['Supersponsor','Thursday-Sunday; early hotel booking [before Feb 1]; Saturday Guest of Honor lunch; T-shirt; ribbon and gift; priority reg and dealers room admission; prime seating','275','2018-10-10T20:00-0500','2019-06-16T23:59-0400']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(43.6650078,-89.7873581, 'AquatiFur', ['44/AquatiFur.jpg','36/AquatiFur2019.jpg'], 'aquatifur.com', 'Chula Vista Resort&amp;lt;br&amp;gt;2501 River Road&amp;lt;br&amp;gt;Wisconsin Dells, WI 53965&amp;lt;br&amp;gt;USA', '+1 (855) 388-4782', 'Oct 11-13 2019', 463, null, 'https://www.eventbrite.com/e/aquatifur-2019-tickets-54832324960', 'USD', [&lt;br /&gt;
['Pre-Reg (2018*)','Post-con sale',38.92,'2019-01-13T19:10-0600','2019-01-14T10:00-0600'],&lt;br /&gt;
['Sponsor (2018*)','Post-con sale; lanyard; T-shirt; poster; Sponsor gift and lounge; priority seating and dealers den access',86.39,'2019-01-13T19:10-0600','2019-01-14T10:00-0600'],&lt;br /&gt;
['Pre-Reg','',44.19,'2019-01-14T10:00-0600','2019-05-01T00:00-0500'],&lt;br /&gt;
['Sponsor','Lanyard; T-shirt; poster; Sponsor gift and lounge; priority seating and dealers den access',107.49,'2019-01-14T10:00-0600','2019-10-01T00:00-0500'],&lt;br /&gt;
['Super Sponsor','Super Sponsor dinner; GoH cocktail meet and greet; lanyard; T-shirt; poster; Sponsor gift and lounge; priority seating and dealers den access',160.24,'2019-01-14T10:00-0600','2019-10-01T00:00-0500'],&lt;br /&gt;
['Super Sponsor Plus','Four-night two-person suite; Super Sponsor dinner; GoH cocktail meet and greet; lanyard; T-shirt; poster; Sponsor gift; lounge; priority seating and dealers den access',1054.95,'2019-01-14T10:00-0600','2019-10-01T00:00-0500']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(-34.609142, -58.382638, 'Argentina FurFiesta', '3a/Logo_Arff.JPG', 'furfiesta.com', 'Castelar Hotel&amp;lt;br&amp;gt;Av. de Mayo 1152&amp;lt;br&amp;gt;CABA, Buenos Aires&amp;lt;br&amp;gt;Argentina', '','Jun 28-30 2019', null);&lt;br /&gt;
addLocation(33.4199573,-111.8310621, 'Arizona Fur Con', ['4a/AFC.jpeg','dd/ArizonaFurCon2019.jpg','9d/ArizonaFurCon2016Logo.jpg'], 'arizonafurcon.com', 'Delta Hotels Phoenix Mesa&amp;lt;br&amp;gt;200 North Centennial Way&amp;lt;br&amp;gt;Mesa, AZ 85201&amp;lt;br&amp;gt;USA', '+1 (623) 232-0580', 'Oct 25-27 2019', 1196, null, 'http://www.arizonafurcon.com/badges', 'USD', [&lt;br /&gt;
['Full Event Badge','Access to non-paid events',36.65,'2018-11-09T22:30-0800','2019-06-30T00:00-0700'],&lt;br /&gt;
['Full Event Badge','Access to non-paid events',41.65,'2019-06-30T00:00-0700','2019-08-25T00:00-0700'],&lt;br /&gt;
['Full Event Badge','Access to non-paid events',46.65,'2019-08-25T00:00-0700','2019-10-25T00:00-0700'],&lt;br /&gt;
['Sponsor','T-Shirt; messenger bag; water bottle; neck wallet; early access to dealers den and main events',82.70,'2018-11-09T22:30-0800','2019-10-25T00:00-0700'],&lt;br /&gt;
['Super Sponsor','GoH mixer; sponsor badge; T-Shirt; messenger bag; water bottle; neck wallet; early access to dealers den and main events',154.80,'2018-11-09T22:30-0800','2019-10-25T00:00-0700']&lt;br /&gt;
]);//Service charge: 3%+0.3 on latest pre-con price?&lt;br /&gt;
addLocation(39.384661, -74.428310, 'Atlantic City Fur Con', 'e9/AtlanticCityFurCon2019Logo.jpg', 'acfurcon.com', 'Harrah\'s Resort Atlantic City&amp;lt;br&amp;gt;777 Harrah\'s Blvd&amp;lt;br&amp;gt;Atlantic City, NJ 08401&amp;lt;br&amp;gt;USA', '+1 (609) 441-5000', 'Apr 26-28 2019', 19, 18, 'https://www.acfurcon.com/registration', 'USD', [&lt;br /&gt;
['Attendee RSVP','Thursday-Sunday suite access; can pre-order shirts',0,'2019-01-01','2019-04-26']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(50.0378706,    5.2047374, 'Belgian Fuzzcon', 'b0/Fuzzcon.svg', 'fuzzcon.be', '6870 Saint-Hubert&amp;lt;br&amp;gt;Belgium', '', 'Aug 7-13 2019', 14, 18);&lt;br /&gt;
addLocation(46.589912,   -114.127239, 'Big Sky Camp Paw', ['13/BigSkyCampPaw.png', '59/Big_Sky_Paw_Camp_2017.jpeg'], 'camppaw.org', 'Larry Creek Group Campground&amp;lt;br&amp;gt;Florence, MT 59833&amp;lt;br&amp;gt;USA', '', 'Jun 27-30 2019', 56, null, 'https://bigskyanthro.regfox.com/camp-paw-2019', 'USD', [&lt;br /&gt;
['Basic','Attendance; Saturday night dinner',25,'2019-01-01','2019-06-26','PreOrder'],&lt;br /&gt;
['Sponsor','T-shirt; Attendance; Saturday night dinner',50,'2019-01-01','2019-06-26','SoldOut']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(39.523177,   -119.78106, 'Biggest Little Fur Con', 'df/BiggestLittleFurCon.png', 'goblfc.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, NV 89595&amp;lt;br&amp;gt;USA', '+1 (775) 789-2000', 'May 16-19 2019', 5435, null, 'https://www.goblfc.org/registration/', 'USD', [&lt;br /&gt;
['Attendee (Early-Bird)','Free games; pool party; poker chip; half-price food; choice of badge art',60,'2019-01-25T18:00-0800','2019-03-10T24:00-0700'],&lt;br /&gt;
['Sponsor (Early-Bird)','5% chance free 2020 reg; T-shirt; conbook credit; priority badge and event access; metal water bottle; free games; pool party; poker chip; half-price food; choice of badge art',100,'2019-01-25T18:00-0800','2019-03-10T24:00-0700'],&lt;br /&gt;
['Patron (Early-Bird)','10% chance free 2020 reg; bag of holding; T-shirt; conbook credit; priority badge and event access; metal water bottle; free games; pool party; poker chip; half-price food; choice of badge art',150,'2019-01-25T18:00-0800','2019-03-10T24:00-0700'],&lt;br /&gt;
['Attendee','Free games; pool party; poker chip; half-price food; choice of badge art',70,'2019-03-10T24:00-0700','2019-05-15T24:00-0700'],&lt;br /&gt;
['Sponsor','5% chance free 2020 reg; T-shirt; conbook credit; priority badge and event access; metal water bottle; free games; pool party; poker chip; half-price food; choice of badge art',120,'2019-03-10T24:00-0700','2019-03-30T24:00-0700'],&lt;br /&gt;
['Patron','10% chance free 2020 reg; bag of holding; T-shirt; conbook credit; priority badge and event access; metal water bottle; free games; pool party; poker chip; half-price food; choice of badge art',180,'2019-03-10T24:00-0700','2019-03-30T24:00-0700'],&lt;br /&gt;
['Epic','Bata (bear barbarian), Therrin (sergal swashbuckler) and Mr. Arden Renshaw (dog wizard) miniatures; 10% chance free 2020 reg; bag of holding; T-shirt; conbook credit; priority badge and event access; metal water bottle; free games; pool party; poker chip; half-price food; choice of badge art',225,'2019-02-25T12:00-0800','2019-03-30T24:00-0700','SoldOut']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(-25.518127,  -49.255450, 'Boliche Furry Paraná', 'https://pt.wikifur.com/w/images/c/c2/BolicheFurryParan%C3%A1-logo.png', 'fb.me/bolichefurryparana', 'Big Bowl Boliche&amp;lt;br&amp;gt;R. Francisco Derosso, 3480&amp;lt;br&amp;gt;Curitiba, PR&amp;lt;br&amp;gt;Brazil', '', 'Apr 28 2018', 45, null);&lt;br /&gt;
addLocation(-23.970691,  -46.329962, 'Brasil FurFest', ['f1/Logobffwikifur.jpg','33/BrasilFurFest2019.png','ff/Poster-bff-2018.jpg','66/BFF-2018-fursuitparade.jpg','f1/BFFstaff2016-Photo-Toberal%2Cjpg.jpeg'], 'brasilfurfest.com.br', 'Mercure Santos Hotel&amp;lt;br&amp;gt;Av. Washington Luiz, 565&amp;lt;br&amp;gt;Santos, SP&amp;lt;br&amp;gt;Brazil', '+55 (13) 3036-1013','Aug 23-25 2019', 431, null, 'https://brasilfurfest.com.br/en/shop/', 'BRL', [&lt;br /&gt;
['Regular','Friday-Sunday; conbook; badge',125,'2019-01-06T00:00-0300','2019-07-29'],&lt;br /&gt;
['Sponsor','Friday-Sunday; T-shirt; lanyard; conbook; badge',300,'2019-01-06T00:00-0300','2019-07-29'],&lt;br /&gt;
['Super Sponsor','Friday-Sunday; meal with GoH; VIP seating and priority reg; special gift; exclusive T-shirt; VIP lanyard; conbook; badge',600,'2019-01-06T00:00-0200','2019-07-29']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(43.7272, -121.4236, 'Campfire Tails', ['ec/CampfireTailsMascot.jpg','/dc/CampfireTails2019.png'], 'campfiretails.org', 'Ogden Group Camp&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, OR&amp;lt;br&amp;gt;USA', '', 'Aug 1-5 2019', 143, 18, 'https://campfiretails.org/registration/', 'USD', [&lt;br /&gt;
['Attendee','Cold breakfast and lunch; hot dinner',60,'2019-05-13T06:00-0700','2019-07-31T05:59-0700'],&lt;br /&gt;
['Sponsor','Cold breakfast; hot lunch and dinner; T-shirt; Sponsor gift',90,'2019-05-13T06:00-0700','2019-07-31T05:59-0700'],&lt;br /&gt;
['Patron','Hot breakfast, lunch and dinner; personalized T-shirt; Patron and Sponsor gifts',120,'2019-05-13T06:00-0700','2019-07-31T05:59-0700']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(19.528372, -99.443180, 'Camping Paws', '5a/Camping_paws_logo2.png', 'fb.me/CapitalFurCampingPaws', 'Presa Capoxi&amp;lt;br&amp;gt;54570 Jilotzingo, Estado de Mexico&amp;lt;br&amp;gt;Mexico', '55 8171 2729', 'Mar 30-31 2019', 54);&lt;br /&gt;
addLocation(41.388786, -73.515143, 'Camp Tiny Paws', ['05/CampTinyPawsMascot.jpg','4d/CampTinyPaws2019.png'], 'tinypawscon.org', 'Crowne Plaza Danbury&amp;lt;br&amp;gt;18 Old Ridgebury Rd&amp;lt;br&amp;gt;Danbury, CT 06810&amp;lt;br&amp;gt;USA', '+1 (203) 794-0600', 'Sep 9-11 2019', 294, null, 'https://ourtinypawsinc.wixsite.com/ctp2019/for-campers', 'USD', [&lt;br /&gt;
['Chipmunk','Fri-Sun admission; badge; conbook','2019-01-01',45,'2019-07-15T24:00-0700'],&lt;br /&gt;
['Owl','Fri-Sun admission; T-shirt; raffle ticket; badge; conbook','2019-01-01',65,'2019-07-15T24:00-0700'],&lt;br /&gt;
['Deer','Fri-Sun admission; special gift #1; T-shirt; raffle ticket; badge; conbook','2019-01-01',110,'2019-07-15T24:00-0700'],&lt;br /&gt;
['Wolf','Fri-Sun admission; special gift #1+2; T-shirt; raffle ticket; badge; conbook with thanks','2019-01-01',210,'2019-07-15T24:00-0700'],&lt;br /&gt;
['Fruit Bat (13-17)','Fri-Sun admission; badge; conbook',45,'2019-01-01','2019-07-15T24:00-0700'],&lt;br /&gt;
['Butterfly (7-12)','Fri-Sun admission; badge; conbook',10,'2019-01-01','2019-07-15T24:00-0700']&lt;br /&gt;
]); &lt;br /&gt;
addLocation(45.3481137,-75.9201629, 'CanFURence', '08/CanFURenceLogo.png', 'canfurence.ca', 'The Brookstreet Hotel&amp;lt;br&amp;gt;525 Legget Drive&amp;lt;br&amp;gt;Kanata, ON K2K 2W2&amp;lt;br&amp;gt;Canada', '+1 (613) 271-1800', 'Aug 2-4 2019', 457, null, 'https://canfurence.ca/registration', 'CAD', [&lt;br /&gt;
['Attendee (Early-Bird)','Friday-Sunday',50,'2018-10-26','2019-02-01T24:00-0500'],&lt;br /&gt;
['Sponsor (Early-Bird)','Friday-Sunday; T-shirt; art print; Sunday brunch',100,'2018-10-26','2019-02-01T24:00-0500'],&lt;br /&gt;
['Patron (Early-Bird)','Friday-Sunday; two surprise items; Patrons\' dinner; T-shirt; art print; Sunday brunch',200,'2018-10-26','2019-02-01T24:00-0500'],&lt;br /&gt;
['Benefactor (Early-Bird)','Friday-Sunday; five-course Benefactors\' feast; medal; oversized, signed and numbered art print; four surprise items; Patrons\' dinner; T-shirt; art print; Sunday brunch',500,'2018-10-26','2019-02-01T24:00-0500'],&lt;br /&gt;
['Attendee','Friday-Sunday',55,'2019-02-01T24:00-0500','2019-07-01T24:00-0400'],&lt;br /&gt;
['Sponsor','Friday-Sunday; T-shirt; art print; Sunday brunch',105,'2019-02-01T24:00-0500','2019-07-01T24:00-0400'],&lt;br /&gt;
['Patron','Friday-Sunday; T-shirt; art print; two surprise items; Patrons\' dinner; Sunday brunch',205,'2019-02-01T24:00-0500','2019-07-01T24:00-0400'],&lt;br /&gt;
['Benefactor','Friday-Sunday; T-shirt; art print; five-course Benefactors\' feast; medal; oversized, signed and numbered art print; four surprise items; Patrons\' dinner; Sunday brunch',500,'2019-02-01T24:00-0500','2019-07-01T24:00-0400'],&lt;br /&gt;
['Open Case','Friday only',30,'2019-02-01T24:00-0500','2019-07-01T24:00-0400'],&lt;br /&gt;
['Investigations','Saturday only',40,'2019-02-01T24:00-0500','2019-07-01T24:00-0400'],&lt;br /&gt;
['Case Closed','Sunday only',30,'2019-02-01T24:00-0500','2019-07-01T24:00-0400']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(48.4456534,  8.6762568, 'CastleCon', '05/CastleCon.png', 'castlecon.de', 'Leisure Park Camping Schüttehof&amp;lt;br&amp;gt;Schütteberg 7-9&amp;lt;br&amp;gt;72160 Horb am Neckar&amp;lt;br&amp;gt;Germany', '+49 7451 3951', 'Jun 14-16 2019', 103, 16, 'https://castlecon.de/?Seite=Reg', 'EUR', [&lt;br /&gt;
['Basic','Friday-Sunday; badge; self-catering camping facilities and outdoor pool; electricity for accessories; community BBQ and coal',22,'2019-01-20','2019-06-07T24:00+0200'],&lt;br /&gt;
['Early','Thursday-Sunday; badge; self-catering camping facilities and outdoor pool; electricity for accessories; community BBQ and coal',30,'2019-01-20','2019-06-07T24:00+0200']&lt;br /&gt;
]); //Usually closes one week before; 16+ with guardian, but may change to 18+&lt;br /&gt;
addLocation(-35.2587297,149.1330045, 'CBRFUR', ['57/CBRFURLogo.png','02/CBRFUR6.jpg'], 'furcon.com.au/cbrfur', 'Pavilion on Northbourne&amp;lt;br&amp;gt;242 Northbourne Ave&amp;lt;br&amp;gt;Dickson ACT 2602&amp;lt;br&amp;gt;Australia', '+61 2 6247 6888', 'Nov 16-18 2018', 68, 18, 'https://furcon.com.au/register/cbrfur10', 'AUD', [&lt;br /&gt;
['Standard','Friday-Sunday; lanyard',40,'2018-08-12T12:00+1200','2018-11-16'],&lt;br /&gt;
['Carbon','Friday-Sunday; personal Telegram sticker featured in co sticker pack; custom lanyard with stickers',70,'2018-08-12T12:00+1200','2018-11-16']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(37.611267, -97.631684, 'Central Plains Fur Meet', null, 'centralplainsfurmeet.com', 'Lake Afton&amp;lt;br&amp;gt;24715 West 39th St S&amp;lt;br&amp;gt;Goddard, KS 67052&amp;lt;br&amp;gt;USA', '', 'May 9-12 2019', null);&lt;br /&gt;
addLocation(49.5647858,  16.1792244, 'ČeSFuR', 'aa/CF2011LogoOlven.jpg', 'cesfur.org', 'Hotel Skalský dvůr&amp;lt;br&amp;gt;Lísek 52&amp;lt;br&amp;gt;593 01 Bystřice nad Pernštejnem&amp;lt;br&amp;gt;Czechia', '+420 606 725 502', 'Jul 10-14 2019', 289, 18, 'https://www.cesfur.org/en/prices/', 'CZK', [&lt;br /&gt;
['Mechanic','Wednesday-Sunday (room/food extra)',2000,'2019-03-12T21:00+0100','2019-03-13T13:51+0100'],&lt;br /&gt;
['Engineer','Wednesday-Sunday (room/food extra); acknowledgement; small party with orgateam; exclusive print; T-shirt',3000,'2019-03-12T21:00+0100','2019-03-13T13:51+0100'],&lt;br /&gt;
['Inventor','Wednesday-Sunday (room/food extra); Guest of Honor dinner; refreshment voucher; themed souvenir; acknowledgement; small party with orgateam; exclusive print; T-shirt',4500,'2019-03-12T21:00+0100','2019-03-13T13:51+0100']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(20.673552, -103.389225, 'Confuror', ['45/Mex2018.jpeg','ed/Confuror2019.jpg','d9/Confuror2018.jpg'], 'confuror.org', 'Fiesta Americana Guadalajara&amp;lt;br&amp;gt;Calle Aurelio Aceves 225&amp;lt;br&amp;gt;Vallarta Poniente 44110&amp;lt;br&amp;gt;Guadalajara, Jalisco&amp;lt;br&amp;gt;Mexico', '+52 (33) 38 18 14 00', 'Oct 11-13 2019', 541, null, 'http://confuror.org/en/registration/', 'MXN', [&lt;br /&gt;
['General (Early Bird)','Friday-Sunday',519,'2019-01-15T19:00-0600','2019-02-01T24:00-0600','SoldOut'],&lt;br /&gt;
['Sponsor (Early Bird)','Friday-Sunday; Sponsor gift and T-shirt; raffle ticket credit; early vendor access',799,'2019-01-15T19:00-0600','2019-02-01T24:00-0600','SoldOut'],&lt;br /&gt;
['Super Sponsor (Early Bird)','Friday-Sunday; Super Sponsor Meet and Greet breakfast; Sponsor and Super Sponsor gifts and T-shirts; two raffle tickets; credit; early vendor access',999,'2019-01-15T19:00-0600','2019-02-01T24:00-0600','SoldOut'],&lt;br /&gt;
['General (Presale)','Friday-Sunday',619,'2019-01-15T19:00-0600','2019-07-31T24:00-0500'],&lt;br /&gt;
['Sponsor (Presale)','Friday-Sunday; Sponsor gift and T-shirt; raffle ticket credit; early vendor access',1049,'2019-01-15T19:00-0600','2019-07-31T24:00-0500'],&lt;br /&gt;
['Super Sponsor (Presale)','Friday-Sunday; Super Sponsor Meet and Greet breakfast; Sponsor and Super Sponsor gifts and T-shirts; two raffle tickets; credit; early vendor access',1419,'2019-01-15T19:00-0600','2019-07-31T24:00-0500'],&lt;br /&gt;
['General','Friday-Sunday',829,'2019-07-31T24:00-0500','2019-08-31T24:00-0500'],&lt;br /&gt;
['Sponsor','Friday-Sunday; Sponsor gift and T-shirt; raffle ticket; credit; early vendor access',1299,'2019-07-31T24:00-0500','2019-08-31T24:00-0500'],&lt;br /&gt;
['Super Sponsor','Friday-Sunday; Super Sponsor Meet and Greet breakfast; Sponsor and Super Sponsor gifts and T-shirts; two raffle tickets; credit; early vendor access',1659,'2019-07-31T24:00-0500','2019-08-31T24:00-0500'],&lt;br /&gt;
['Dealer (Single Table)','Friday-Sunday General; one 244x76cm table and Assistant pass',2219,'2019-01-15T19:00-0600','2019-08-31T24:00-0500'],&lt;br /&gt;
['Dealer (Double Table)','Friday-Sunday General; two 244x76cm tables and Assistant passes',3379,'2019-01-15T19:00-0600','2019-08-31T24:00-0500']&lt;br /&gt;
]);//Artist Alley is an addon, can't be done here&lt;br /&gt;
addLocation(19.433884, -99.137853, 'ConFurtiva', '9b/Confurtiva19.jpg', 'facebook.com/groups/furrymx', 'Hotel Ritz&amp;lt;br&amp;gt;Av Francisco I. Madero 30&amp;lt;br&amp;gt;Centro Histórico, 06000&amp;lt;br&amp;gt; Ciudad de México&amp;lt;br&amp;gt;CDMX&amp;lt;br&amp;gt;Mexico', '', 'Aug 3-4 2019', 60);&lt;br /&gt;
addLocation(52.450713,    -1.715519, 'ConFuzzled', 'e7/Confuzzled-brokbadger.jpg', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 121 780 4242', 'May 24-28 2019', 1908, 18, 'https://reg.confuzzled.org.uk/2019/', 'GBP', [&lt;br /&gt;
['Single (Early Bird)','Thursday-Monday events; bed in a single room',330,'2019-10-06T19:00+0100','2019-01-06T1900+0000'],&lt;br /&gt;
['Double/Twin/Triple (Early Bird)','Thursday-Monday events; bed in a double, twin or triple room',290,'2019-10-06T19:00+0100','2019-01-06T1900+0000'],&lt;br /&gt;
['Executive Double/Twin (Early Bird)','Thursday-Monday events; bed in a Executive double, twin room; Executive Lounge access',400,'2019-10-06T19:00+0100','2019-01-06T1900+0000'],&lt;br /&gt;
['Attending (Early Bird)','Thursday-Monday events; must leave after last event',80,'2019-10-06T19:00+0100','2019-01-06T1900+0000'],&lt;br /&gt;
['Attending Plus (Early Bird)','Thursday-Monday events; must leave after last event; T-shirt; treat',95,'2019-10-06T19:00+0100','2019-01-06T1900+0000'],&lt;br /&gt;
['Attending Sponsor (Early Bird)','Thursday-Monday events; must leave after last event; stainless steel bottle; tote bag; notepad; magic cube; early Dealers Den and Art Show entry; T-shirt; treat',130,'','2019-01-06T1900+0000'],&lt;br /&gt;
['Attending Super Sposor (Early Bird)','Thursday-Monday events; must leave after last event; Super Sponsor meal; exclusive prints; engraved crystal glass; stainless steel bottle; tote bag; notepad; magic cube; early Dealers Den and Art Show entry; T-shirt; treat',230,'2019-10-06T19:00+0100','2019-01-06T1900+0000'],&lt;br /&gt;
['Single','Thursday-Monday events; bed in a single room',340,'2019-01-06T1900+0000','2019-04-13T1900+0100','SoldOut'],&lt;br /&gt;
['Double/Twin/Triple','Thursday-Monday events; bed in a double, twin or triple room',300,'2019-01-06T1900+0000','2019-04-13T1900+0100','SoldOut'],&lt;br /&gt;
['Executive Double/Twin','Thursday-Monday events; bed in a Executive double, twin room; Executive Lounge access',410,'2019-01-06T1900+0000','2019-04-13T1900+0100','SoldOut'],&lt;br /&gt;
['Attending','Thursday-Monday events; must leave after last event',90,'2019-01-06T1900+0000','2019-05-04T1900+0100'],&lt;br /&gt;
['Attending Plus','Thursday-Monday events; must leave after last event; T-shirt; treat',105,'2019-01-06T1900+0000','2019-05-04T1900+0100'],&lt;br /&gt;
['Attending Sponsor','Thursday-Monday events; must leave after last event; stainless steel bottle; tote bag; notepad; magic cube; early Dealers Den and Art Show entry; T-shirt; treat',140,'2019-01-06T1900+0000','2019-05-04T1900+0100'],&lt;br /&gt;
['Attending Super Sponsor','Thursday-Monday events; must leave after last event; Super Sponsor meal; exclusive prints; engraved crystal glass; stainless steel bottle; tote bag; notepad; magic cube; early Dealers Den and Art Show entry; T-shirt; treat',240,'2019-01-06T1900+0000','2019-05-04T1900+0100'],&lt;br /&gt;
['One Day','One day events; must leave after last event',30,'2018-01-23T1900+0000','2019-05-04T1900+0100'],&lt;br /&gt;
['Two Days ','Two days events; must leave after last event',55,'2018-01-23T1900+0000','2019-05-04T1900+0100'],&lt;br /&gt;
['Three Days','Three days events; must leave after last event',80,'2018-01-23T1900+0000','2019-05-04T1900+0100']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(-15.653101, -56.122124, 'Cuiabark', 'c6/Flef-logo.png', 'fb.me/cuiabark', 'Gran Boliche&amp;lt;br&amp;gt;Av. Presidente Artur Bernardes, s/n &amp;lt;br&amp;gt;Cuiabá, MT &amp;lt;br&amp;gt;Brazil', '','Feb 24 2018', 20);&lt;br /&gt;
addLocation(39.771895, -104.806944, 'DenFur', 'c2/DenFur2019.jpg', 'denfur.org', 'Crowne Plaza Denver Airport&amp;lt;br&amp;gt;15500 E 40th Ave&amp;lt;br&amp;gt;Denver, CO 80239&amp;lt;br&amp;gt;USA', '+1 (303) 371-9494', 'Aug 2-4 2019', 2806, null, 'https://www.denfur.org/register', 'USD', [&lt;br /&gt;
['Pre-Reg (Phase 1)','Friday-Sunday',44.47,'2018-11-07','2018-03-31'],&lt;br /&gt;
['Pre-Reg (Phase 2)','Friday-Sunday',49.47,'2018-04-01','2019-07-14'],&lt;br /&gt;
['Pre-Reg (Phase 3)','Friday-Sunday',54.47,'2019-07-15','2019-08-04'],&lt;br /&gt;
['Sponsor','Sponsor gift and lounge access; priority dealer access and seating; Lanyard; T-shirt; poster',91.67,'2018-11-07','2019-07-02'],&lt;br /&gt;
['Patron','Patron badge, gift and dinner; Sponsor gift and lounge access; priority dealer access and seating; Lanyard; T-shirt; poster',191.89,'2018-11-07','2019-07-02'],&lt;br /&gt;
['Super Patron','Early room booking; Super Patron badge, gift and guest of honor cocktail hour; Patron gift and dinner; Sponsor gift and lounge access; priority dealer access and seating; Lanyard; T-shirt; poster',423.99,'2018-11-07','2019-07-01'],&lt;br /&gt;
['Child (0-13)',23.09,'2018-11-07','2019-08-04']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(51.7846222,5.9349226, 'Dutch FurCon', '62/Dutch_Furcon_logo.png', 'dutchfurcon.com', 'Big Hill Groepsaccommodatie&amp;lt;br&amp;gt;Wylerbaan 2b&amp;lt;br&amp;gt;6561 KR Groesbeek&amp;lt;br&amp;gt;Netherlands', '+31 24-3971715', 'Jul 26-29 2019', 120, null, 'https://www.dutchfurcon.com/registration', 'EUR', [&lt;br /&gt;
['Early Bird','Friday-Monday morning',135,'2019-01-01','2019-02-28T00:00+0100'],&lt;br /&gt;
['Regular','Friday-Monday morning',145,'2019-02-28T00:00+0100','2019-05-26T24:00+0200'],&lt;br /&gt;
['Early Bird Sponsor','Friday-Monday morning; small present on arrival; eternal gratitude',150,'2019-01-01','2019-02-28T00:00+0100'],&lt;br /&gt;
['Sponsor','Friday-Monday morning; small present on arrival; eternal gratitude',160,'2019-02-28T00:00+0100','2019-05-26T24:00+0200']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(50.6166849,    10.7232134, 'EAST', '53/East2018Logo.jpeg', 'sachsenfurs.de/en/east', 'Ringberg Hotel&amp;lt;br&amp;gt; Ringberg 10&amp;lt;br&amp;gt;98527 Suhl&amp;lt;br&amp;gt;Germany', '+493681 3890', 'Jul 24-28 2019', 503, 18, 'https://east.sachsenfurs.de/', 'EUR', [&lt;br /&gt;
['Normal','Wednesday-Sunday',80,'2018-11-01T00:00+0100','2019-01-31T24:00+0100'],&lt;br /&gt;
['Sponsor','Wednesday-Sunday',105,'2018-11-01T00:00+0100','2019-01-31T24:00+0100'],&lt;br /&gt;
['Normal','Wednesday-Sunday',90,'2019-01-31T24:00+0100','2019-03-31T24:00+0200'],&lt;br /&gt;
['Sponsor','Wednesday-Sunday',115,'2019-01-31T24:00+0100','2019-03-31T24:00+0200'],&lt;br /&gt;
['Normal','Wednesday-Sunday',100,'2019-03-31T24:00+0200','2019-06-30T24:00+0200'],&lt;br /&gt;
['Sponsor','Wednesday-Sunday',125,'2019-03-31T24:00+0200','2019-06-30T24:00+0200'],&lt;br /&gt;
['Normal','Wednesday-Sunday',120,'2019-06-30T24:00+0200','2019-07-28T24:00+0200'],&lt;br /&gt;
['Sponsor','Wednesday-Sunday',145,'2019-06-30T24:00+0200','2019-07-28T24:00+0200']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(30.475459,-87.201477, 'Emerald\'s Fur Summit', ['ba/EFS_Logo_2018.png','44/EmeraldsFurSummit2.png'], 'emeraldfurcon.org', 'Homewood Suites Pensacola-Arpt&amp;lt;br&amp;gt;5049 Corporate Woods Dr&amp;lt;br&amp;gt;Pensacola, FL 32504&amp;lt;br&amp;gt;USA', '+1 (850) 474-3777', 'Jan 24-26 2020', 235);&lt;br /&gt;
addLocation(52.474897,    13.459467, 'Eurofurence', '2f/Eurofurence_logo_crop.gif', 'eurofurence.org', 'Estrel Hotel Berlin&amp;lt;br&amp;gt;Sonnenallee 225&amp;lt;br&amp;gt;12057 Berlin&amp;lt;br&amp;gt;Germany', '+49 391 5949 0', 'Aug 14-18 2019', 3012, 18, 'https://reg.eurofurence.org/regsys/start.jsp', 'EUR', [&lt;br /&gt;
['Basic (Early Bird)','Wednesday-Sunday',90,'2019-01-19T07:00+0100','2019-02-01T00:00+0100'],&lt;br /&gt;
['Sponsor (Early Bird)','Wednesday-Sunday; T-shirt; Sponsor gifts; conbook mention',155,'2019-01-19T07:00+0100','2019-02-01T00:00+0100'],&lt;br /&gt;
['Super Sponsor (Early Bird)','Wednesday-Sunday; exclusive event access; T-shirt; Sponsor gifts; conbook mention',250,'2019-01-19T07:00+0100','2019-02-01T00:00+0100'],&lt;br /&gt;
['Basic','Wednesday-Sunday',100,'2019-02-01T00:00+0100','2019-04-01T00:00+0200'],&lt;br /&gt;
['Sponsor','Wednesday-Sunday; T-shirt; Sponsor gifts; conbook mention',165,'2019-02-01T00:00+0100','2019-04-01T00:00+0200'],&lt;br /&gt;
['Super Sponsor','Wednesday-Sunday; exclusive event access; T-shirt; Sponsor gifts; conbook mention',270,'2019-02-01T00:00+0100','2019-04-01T00:00+0200'],&lt;br /&gt;
['Basic (Late)','Wednesday-Sunday',125,'2019-04-01T00:00+0200','2019-08-01T00:00+0200'],&lt;br /&gt;
['Sponsor (Late)','Wednesday-Sunday; T-shirt; Sponsor gifts; conbook mention',190,'2019-04-01T00:00+0200','2019-08-01T00:00+0200'],&lt;br /&gt;
['Super Sponsor (Late)','Wednesday-Sunday; exclusive event access; T-shirt; Sponsor gifts; conbook mention',295,'2019-04-01T00:00+0200','2019-08-01T00:00+0200'],&lt;br /&gt;
['Single Day','Access for one day',60,'2019-08-01T00:00+0200','2019-08-17T24:00+0200']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(38.960831,   -77.423238, 'FA: United', '70/FAU2019Postcard.jpg', 'faunited.org', 'Hyatt Regency Dulles&amp;lt;br&amp;gt;2300 Dulles Corner Blvd.&amp;lt;br&amp;gt;Herndon, Virginia 20171&amp;lt;br&amp;gt;USA', '+1 703 713 1234', 'Oct 4-6 2019', 528, null, 'http://www.faunited.org/registration.shtml', 'USD', [&lt;br /&gt;
['Basic (Early Bird)','Friday-Sunday; conbook',40,'2019-01-01','2019-06-01T00:00-0400'],&lt;br /&gt;
['Basic','Friday-Sunday; conbook',50,'2019-06-01T00:00-0400','2019-08-01T00:00-0400'],&lt;br /&gt;
['Sponsor','Friday-Sunday; T-shirt; collectible pin; Sponsor badge; conbook',80,'2019-06-01T00:00-0400','2019-08-01T00:00-0400'],&lt;br /&gt;
['Super Sponsor','Friday-Sunday; two drink vouchers; VIP reception; T-shirt; collectible pin; Sponsor badge; conbook',150,'2019-06-01T00:00-0400','2019-08-01T00:00-0400'],&lt;br /&gt;
['Elite Sponsor','Friday-Sunday; bag; tumbler mug; unique con badge design; Elite lanyard and stickers; four drink vouchers; VIP reception; T-shirt; collectible pin; Sponsor badge; conbook',250,'2019-06-01T00:00-0400','2019-08-01T00:00-0400'],&lt;br /&gt;
['Minor (7-12)','Friday-Sunday; conbook',25,'2019-01-01','2019-08-01T00:00-0400']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(33.43743,    -86.726235, 'Fangcon', ['51/Fangcon.gif','8a/Fangcon2020.png'], 'fangcon.com', 'Doubletree Perimeter Park&amp;lt;br&amp;gt;8 Perimeter Park S&amp;lt;br&amp;gt;Birmingham, AL 35243&amp;lt;br&amp;gt;USA', '+1 (205) 972-1141', 'Jan 9-13 2019', 155, null, 'https://www.fangcon.com/registration', 'USD'); /* Pending ,[&lt;br /&gt;
['Attending',',45,,],&lt;br /&gt;
['Sponsor',,90,,]&lt;br /&gt;
['Super Sponsor',,150,,],&lt;br /&gt;
['Furry Elitist',,200,,],&lt;br /&gt;
['Ludicrous Level',,250,,],&lt;br /&gt;
['Elitist Ludicrous Level',,300,,]&lt;br /&gt;
]); */&lt;br /&gt;
addLocation(45.827585,     5.419862, 'Fauntastic', 'e0/FauntasticMascot.jpg', 'fauntastic.eu', 'Hôtel Vallée Bleue&amp;lt;br&amp;gt;19 Rue des Carrières&amp;lt;br&amp;gt;Rive gauche&amp;lt;br&amp;gt;38390 Montalieu-Vercieu&amp;lt;br&amp;gt;France', '+33 4 74 88 69 20', 'May 30-Jun 2 2019', null, 18, 'https://fauntastic.eu#prices', 'EUR', [&lt;br /&gt;
['Residential (Early Bird)','Thursday evening-Sunday morning (hotel and Aquaparc); 3x breakfast and dinner; conbook; lanyard',265,'2018-11-24T20:00+0100','2019-01-20T00:00+0100'],&lt;br /&gt;
['Sponsor (Early Bird)','Thursday evening-Sunday morning (hotel and Aquaparc); shirt; reusable cup; Sponsor conbadge and lanyard and extra surprise; 3x breakfast and dinner; conbook',295,'2018-12-01T20:00+0100','2019-01-24T00:00+0100'],&lt;br /&gt;
['Residential','Thursday evening-Sunday morning (hotel and Aquaparc); 3x breakfast and dinner; conbook; lanyard',265,'2019-01-20T00:00+0100','2019-04-30T20:00+0200'],&lt;br /&gt;
['Sponsor','Thursday evening-Sunday morning (hotel and Aquaparc); shirt; reusable cup; Sponsor conbadge and lanyard and extra surprise; 3x breakfast and dinner; conbook',295,'2019-01-20T00:00+0100','2019-04-30T20:00+0200'],&lt;br /&gt;
['Thursday','Day pass (hotel and Aquaparc); dinner; conbook; lanyard',30,'2019-04-01T20:00+0200','2019-04-30T20:00+0200','InStoreOnly'],&lt;br /&gt;
['Friday','Day pass (hotel and Aquaparc); dinner; conbook; lanyard',35,'2019-04-01T20:00+0200','2019-04-30T20:00+0200','InStoreOnly'],&lt;br /&gt;
['Saturday','Day pass (hotel and Aquaparc); dinner; conbook; lanyard',35,'2019-04-01T20:00+0200','2019-04-30T20:00+0200','SoldOut']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(-12.970364,  -38.473011, 'FeraBowl', 'a8/FeraBowl.jpg', 'fb.me/ferabowlbahia', 'Bela Bowling&amp;lt;br&amp;gt;Alameda Euvaldo Luz, 92&amp;lt;br&amp;gt;Salvador, BA&amp;lt;br&amp;gt;Brazil', '', 'Dec 1 2018', 27);&lt;br /&gt;
addLocation(45.880449,   -78.564606, 'Feral!', 'f5/Feral.png', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park&amp;lt;br&amp;gt;Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 22-26 2019', 220, 19, 'https://campferal.org/registration/', 'CAD', [&lt;br /&gt;
['Camper','Thursday-Monday; cabin space for four nights; three meals a day',400,'2019-04-03T21:00-0500','2019-01-01T00:00-0400','PreOrder'],&lt;br /&gt;
['Sponsor','Thursday-Monday; T-shirt; five raffle tickets; wine and cheese event; cabin space for four nights; three meals a day',450,'2019-04-03T21:00-0500','2019-01-01T00:00-0400','PreOrder'],&lt;br /&gt;
['Patron','Thursday-Monday; one-of-a-kind gift; T-shirt and hoodie; ten raffle tickets; wine and cheese event; cabin space for four nights; three meals a day',550,'2019-04-03T21:00-0500','2019-01-01T00:00-0400','PreOrder']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(60.412912,    25.038261, 'FinFur Animus', ['da/FinFurAnimus.png','a3/FinFurAnimus2019.png'], 'animus.finfur.net', 'Kokoushotelli Gustavelund&amp;lt;br&amp;gt;Kirkkotie 36&amp;lt;br&amp;gt;04310 Tuusula&amp;lt;br&amp;gt;Finland', '+358 9 273751', 'Oct 10-13 2019', 152, 18, 'https://animus.finfur.net/en/participate', 'EUR', [&lt;br /&gt;
['Grain (Early Bird)','Thursday-Sunday',80,'2019-05-25T18:00+0300','2019-06-20T24:00+0300'],&lt;br /&gt;
['Gold (Early Bird)','Thursday-Sunday; T-shirt; small Sponsor gift; conbook mention',120,'2019-05-25T18:00+0300','2019-06-20T24:00+0300'],&lt;br /&gt;
['Salt (Early Bird)','Thursday-Sunday; something extra; T-shirt; small Sponsor gift; conbook mention',160,'2019-05-25T18:00+0300','2019-06-20T24:00+0300'],&lt;br /&gt;
['Grain','Thursday-Sunday',90,'2019-06-20T24:00+0300','2019-09-09T24:00+0300'],&lt;br /&gt;
['Gold','Thursday-Sunday; T-shirt; small Sponsor gift; conbook mention',130,'2019-06-20T24:00+0300','2019-09-09T24:00+0300'],&lt;br /&gt;
['Salt','Thursday-Sunday; something extra; T-shirt; small Sponsor gift; conbook mention',170,'2019-06-20T24:00+0300','2019-09-09T24:00+0300']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(51.3205213,   3.1541396, 'Flüüfff', ['b8/Fluufff2019.jpg','10/Fluufff2017Logo.jpg','34/Fluufff.svg'], 'fluufff.org', 'Corsendonk Duinse Polders&amp;lt;br&amp;gt;A. Ruzettelaan 195&amp;lt;br&amp;gt;8370 Blankenberge&amp;lt;br&amp;gt;Belgium', '+32 50 43 24 00', 'Nov 20-24 2019', 180, 18, 'https://fluufff.org/tickets', 'EUR', [&lt;br /&gt;
['Standard 2-person room slot (Early Bird)','Wednesday-Sunday; breakfast buffet',260.01,'2019-03-30T12:00+0100','2019-05-31T24:00+0200'],&lt;br /&gt;
['Standard 3-person room slot (Early Bird)','Wednesday-Sunday; breakfast buffet',249.50,'2019-03-30T12:00+0100','2019-05-31T24:00+0200'], &lt;br /&gt;
['Standard 4-person room slot (Early Bird)','Wednesday-Sunday; breakfast buffet',242,'2019-03-30T12:00+0100','2019-05-31T24:00+0200'],&lt;br /&gt;
['Standard 5-person room slot (Early Bird)','Wednesday-Sunday; breakfast buffet',238.50,'2019-03-30T12:00+0100','2019-05-31T24:00+0200'],&lt;br /&gt;
['Standard 6-person room slot (Early Bird)','Wednesday-Sunday; breakfast buffet',237,'2019-03-30T12:00+0100','2019-05-31T24:00+0200'],&lt;br /&gt;
['Budget 2-person room slot (Early Bird)','Wednesday-Sunday; breakfast buffet',252.01,'2019-03-30T12:00+0100','2019-05-31T24:00+0200'],&lt;br /&gt;
['Budget 4-person room slot (Early Bird)','Wednesday-Sunday; breakfast buffet',235,'2019-03-30T12:00+0100','2019-05-31T24:00+0200'],&lt;br /&gt;
['Budget 5-person room slot (Early Bird)','Wednesday-Sunday; breakfast buffet',232,'2019-03-30T12:00+0100','2019-05-31T24:00+0200'],&lt;br /&gt;
['Wednesday (Early Bird)','Day-ticket, events only',21,'2019-04-13T20:00+0200','2019-05-31T24:00+0200'],&lt;br /&gt;
['Thursday (Early Bird)','Day-ticket, events only',27,'2019-04-13T20:00+0200','2019-05-31T24:00+0200'],&lt;br /&gt;
['Friday (Early Bird)','Day-ticket, events only',27,'2019-04-13T20:00+0200','2019-05-31T24:00+0200'],&lt;br /&gt;
['Saturday (Early Bird)','Day-ticket, events only',27,'2019-04-13T20:00+0200','2019-05-31T24:00+0200'],&lt;br /&gt;
['Sunday (Early Bird)','Day-ticket, events only',15,'2019-04-13T20:00+0200','2019-05-31T24:00+0200'],&lt;br /&gt;
['Weekend Pack (Early Bird)','Saturday-Sunday, events only',36.50,'2019-04-13T20:00+0200','2019-05-31T24:00+0200'],&lt;br /&gt;
['All Days (Early Bird)','Wednesday-Sunday, events only',102,'2019-04-13T20:00+0200','2019-05-31T24:00+0200'],&lt;br /&gt;
['Standard 2-person room slot','Wednesday-Sunday; breakfast buffet',270.01,'2019-05-31T24:00+0200','2019-11-06T24:00+0100'],&lt;br /&gt;
['Standard 3-person room slot','Wednesday-Sunday; breakfast buffet',259.50,'2019-05-31T24:00+0200','2019-11-06T24:00+0100'], &lt;br /&gt;
['Standard 4-person room slot','Wednesday-Sunday; breakfast buffet',252,'2019-05-31T24:00+0200','2019-11-06T24:00+0100'],&lt;br /&gt;
['Standard 5-person room slot','Wednesday-Sunday; breakfast buffet',248.50,'2019-05-31T24:00+0200','2019-11-06T24:00+0100'],&lt;br /&gt;
['Standard 6-person room slot','Wednesday-Sunday; breakfast buffet',247,'2019-05-31T24:00+0200','2019-11-06T24:00+0100'],&lt;br /&gt;
['Budget 2-person room slot','Wednesday-Sunday; breakfast buffet',262.01,'2019-05-31T24:00+0200','2019-11-06T24:00+0100'],&lt;br /&gt;
['Budget 4-person room slot','Wednesday-Sunday; breakfast buffet',245,'2019-05-31T24:00+0200','2019-11-06T24:00+0100'],&lt;br /&gt;
['Budget 5-person room slot','Wednesday-Sunday; breakfast buffet',242,'2019-05-31T24:00+0200','2019-11-06T24:00+0100'],&lt;br /&gt;
['Wednesday','Day-ticket; events only',23,'2019-05-31T24:00+0200','2019-11-13T24:00+0100'],&lt;br /&gt;
['Thursday','Day-ticket; events only',29,'2019-05-31T24:00+0200','2019-11-13T24:00+0100'],&lt;br /&gt;
['Friday','Day-ticket; events only',29,'2019-05-31T24:00+0200','2019-11-13T24:00+0100'],&lt;br /&gt;
['Saturday','Day-ticket; events only',29,'2019-05-31T24:00+0200','2019-11-13T24:00+0100'],&lt;br /&gt;
['Sunday','Day-ticket; events only',17,'2019-05-31T24:00+0200','2019-11-13T24:00+0100'],&lt;br /&gt;
['Weekend Pack','Saturday-Sunday; events only',40.50,'2019-05-31T24:00+0200','2019-11-13T24:00+0100'],&lt;br /&gt;
['All Days','Wednesday-Sunday; events only',112,'2019-05-31T24:00+0200','2019-11-13T24:00+0100']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(43.027227,   -88.108102, 'Fur Squared', 'db/FurSquaredLogo.jpeg', 'fursquared.com', 'Sheraton Milwaukee Brookfield&amp;lt;br&amp;gt;375 S Moorland Rd&amp;lt;br&amp;gt;Brookfield, WI 53005&amp;lt;br&amp;gt;USA', '+1 (262) 364-1100', 'Feb 22-24 2019', 1120, null);&lt;br /&gt;
addLocation(51.2767754,  -3.0119008, 'Furcation', 'da/Furcation2019.png', 'furcation.org.uk', 'Sandy Glade Holiday Park&amp;lt;br&amp;gt;Coast Rd, Brean&amp;lt;br&amp;gt;Burnham-on-Sea TA8 2QX&amp;lt;br&amp;gt;United Kingdom', '+44 844 318 3050', 'Nov 8-10 2019', 341, 18);&lt;br /&gt;
addLocation(44.150581, -89.164606, 'FURconsin', '01/Furconsin-2010.png', 'furconsin.com', 'Grandview Lakeside Log Lodge&amp;lt;br&amp;gt;Little Hills Lake&amp;lt;br&amp;gt;Wild Rose, WI 54984&amp;lt;br&amp;gt;USA', '', 'Oct 2019', 28);&lt;br /&gt;
addLocation(-38.906997,  175.938234, 'FurCoNZ', 'd8/FurcoNZLogo.png', 'furconz.org.nz', 'MiCamp Taupo&amp;lt;br&amp;gt;100 Rawhira Rd&amp;lt;br&amp;gt;Tauranga, Taupo 3382&amp;lt;br&amp;gt;New Zealand', '', 'Feb 2-5 2018', 102);&lt;br /&gt;
addLocation(-23.668839,  -46.577533, 'Furboliche', '01/Furboliche-logo-byDanny.jpg', 'furboliche.com.br', 'Bomboliche UP Trampoline Park&amp;lt;br&amp;gt;R. García Lorca, 301&amp;lt;br&amp;gt;S&amp;amp;atilde;o Bernardo do Campo, SP&amp;lt;br&amp;gt;Brazil', '','Mar 9 2019', 242);&lt;br /&gt;
addLocation(-24.309323,  -48.273633, 'FurCamp', '45/Furcamp2019logo.jpg', 'facebook.com/events/183414388930807', 'Intervales State Park&amp;lt;br&amp;gt;Estrada Municipal, km 25&amp;lt;br&amp;gt;Ribeir&amp;amp;atilde;o Grande, SP&amp;lt;br&amp;gt;Brazil', '', 'Mar 2-5 2019', 0);&lt;br /&gt;
addLocation(19.0312898,-98.2056133, 'FurCan', 'ec/Furcan19.jpg', 'facebook.com/FurCan-1838565646175492', 'Option&amp;lt;br&amp;gt;Huexotitla 33, Oriente 7&amp;lt;br&amp;gt;72534 Puebla City, Puebla&amp;lt;br&amp;gt;Mexico', '+52 222 243 4828', 'Jul 20-21 2019', 85);&lt;br /&gt;
addLocation(25.0616313, 121.4920637, 'Furrymosa', '7f/Furrymosa.png', 'furrymosa.gjs.tw', 'Triple Sports Complex (三重綜合體育館)&amp;lt;br&amp;gt;No. 2, Section 1&amp;lt;br&amp;gt;New Taipei Blvd&amp;lt;br&amp;gt;Sanchong District&amp;lt;br&amp;gt;New Taipei City&amp;lt;br&amp;gt;Taiwan [atnd. is number of dealers]', '+886 2 2982 6151', 'Jun 1 2019', 120, null, 'https://furrymosa.gjs.tw/dealer-reg.html', 'TWD', [&lt;br /&gt;
['Dealer','90*90 cm booth with a chair, including tablecloths, postal cost',400,'2019-02-23T18:00+0800','2019-04-13T18:00+0800','SoldOut'],&lt;br /&gt;
['Cosplayer','Cleaning and locker fee',50,'2019-02-23T18:00+0800','2019-05-25T18:00+0800','SoldOut']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(-22.997039,  -43.358095, 'Furstrike', '35/Furstrikelogo.jpg', 'fb.me/furstrike', 'Barra Shopping&amp;lt;br&amp;gt;Av. das Américas, 4666 &amp;lt;br&amp;gt;Rio de Janeiro, RJ &amp;lt;br&amp;gt;Brazil', '','Oct 13 2018', 107);&lt;br /&gt;
addLocation(-27.997818,  153.429297, 'FurDU', ['ea/Furry_Down_Under_-_logo.jpg','ac/FurDU2019Shirt.png'], 'furdu.com.au', 'The Mantra on View&amp;lt;br&amp;gt;22 View Avenue&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'May 31-Jun 2 2019', 680, 18, 'https://furdu.com.au/registration/', 'AUD', [&lt;br /&gt;
['Standard','Friday-Sunday',100,'2018-08-06T22:00+1000','2019-04-02T22:00+1000','SoldOut'],&lt;br /&gt;
['Sponsor','Friday-Sunday; can purchase Hawaiian shirt',200,'2018-08-06T22:00+1000','2019-04-02T22:00+1000','SoldOut'],&lt;br /&gt;
['Super Sponsor','Friday-Sunday; Super Sponsor privileges; Hawaiian shirt included',300,'2018-08-06T22:00+1000','2019-04-02T22:00+1000','SoldOut']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(53.5687483,-113.5238331, 'Fur-Eh!', '1d/Fur-Eh!.png', 'fureh.ca', 'Edmonton Inn &amp;amp; Conference Centre&amp;lt;br&amp;gt;11830 Kingsway Avenue&amp;lt;br&amp;gt;Edmonton, Alberta&amp;lt;br&amp;gt;T5G 3J5&amp;lt;br&amp;gt;Canada', '+1 (780) 454-5454', 'Jun 13-16 2019', 743, null, 'https://www.fureh.ca/registration', 'CAD', [&lt;br /&gt;
['Crew (Early Bird)','Thursday-Sunday',45,'2019-06-24T10:00-0600','2019-01-01T00:00-0700'],&lt;br /&gt;
['Star (Early Bird)','Thursday-Sunday; one studio token; T-shirt; early event access',80,'2019-06-24T10:00-0600','2019-01-01T00:00-0700'],&lt;br /&gt;
['Director (Early Bird)','Thursday-Sunday; three studio tokens; Poutine Social or Dog\'s Breakfast; GoH dinner; personalized clapper board; T-shirt; early event access',165,'2019-06-24T10:00-0600','2019-01-01T00:00-0700'],&lt;br /&gt;
['Executive Producer (Early Bird)','Thursday-Sunday; five studio tokens; front of the line; Poutine Social and Dog\'s Breakfast; GoH dinner; personalized clapper board; T-shirt; early event access',340,'2019-06-24T10:00-0600','2019-01-01T00:00-0700'],&lt;br /&gt;
['Crew','Thursday-Sunday',55,'2019-01-01T00:00-0700','2019-06-09T24:00-0600'],&lt;br /&gt;
['Star','Thursday-Sunday; one studio token; T-shirt; early event access',90,'2019-01-01T00:00-0700','2019-05-10T24:00-0600'],&lt;br /&gt;
['Director','Thursday-Sunday; three studio tokens; Poutine Social or Dog\'s Breakfast; GoH dinner; personalized clapper board; T-shirt; early event access',180,'2019-01-01T00:00-0700','2019-05-10T24:00-0600'],&lt;br /&gt;
['Executive Producer','Thursday-Sunday; five studio tokens; front of the line; Poutine Social and Dog\'s Breakfast; GoH dinner; personalized clapper board; T-shirt; early event access',360,'2019-01-01T00:00-0700','2019-05-10T24:00-0600']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(45.7817005, 10.9139343, 'Furizon', 'd1/FurizonLogo.jpg', 'furizon.net', 'Hotel Sole del Baldo&amp;lt;br&amp;gt;Via de la Pizzagrola 1&amp;lt;br&amp;gt;38060 Brentonico&amp;lt;br&amp;gt;San Valentino, Trento&amp;lt;br&amp;gt;Italy', '', 'May 29-Jun 2 2019', 55, 18, 'https://www.furizon.net/events/furizon-sovereign/', 'EUR', [&lt;br /&gt;
['Regular (Early Bird)','Wednesday-Sunday',125,'2018-11-10','2019-01-30'],&lt;br /&gt;
['Sponsor (Early Bird)','Wednesday-Sunday; sopnsor badge print; event pin; early access to event and Dealers Den; one free drink; conbook mention',160,'2018-11-10','2019-01-30'],&lt;br /&gt;
['Regular','Wednesday-Sunday',140,'2019-02-01','2019-04-30','PreOrder'],&lt;br /&gt;
['Sponsor','Wednesday-Sunday; event pin; sopnsor badge print; early access to event and Dealers Den; one free drink; conbook mention',175,'2019-02-01','2019-04-30','PreOrder'],&lt;br /&gt;
['Regular (Late)','Wednesday-Sunday',155,'2019-05-01','2019-05-30','PreOrder'],&lt;br /&gt;
['Sponsor (Late)','Wednesday-Sunday; sopnsor badge print; event pin; early access to event and Dealers Den; one free drink; conbook mention',190,'2019-05-01','2019-05-30','PreOrder']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(-33.859972,  151.211111, 'FurJAM', 'bf/FurJAM.png', 'furjam.org', 'Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Sep 14-16 2018', 275, null);&lt;br /&gt;
addLocation(45.582910,  -122.575732, 'Furlandia', ['78/FurlandiaLogoKitsumi500px.png','6f/Furlandia2019Logo.jpg'], 'furlandia.org', 'Sheraton PDX Airport &amp;lt;br&amp;gt;8235 NE Airport Way&amp;lt;br&amp;gt;Portland, Oregon 97220&amp;lt;br&amp;gt;USA', '+1 (503) 281-2500', 'May 24-26 2019', 1133, null, 'https://furlandia.org/2019/register.html', 'USD', [&lt;br /&gt;
['Attending','Friday-Sunday',50,'2018-08-08T20:00-0700','2019-04-19T24:00-0700'],&lt;br /&gt;
['Sponsor','Friday-Sunday; Sponsor-only events; T-shirt; faster reg; advance Dealers Den access',80,'2018-08-08T20:00-0700','2019-04-19T24:00-0700'],&lt;br /&gt;
['Patron','Friday-Sunday; Patron gift; name in conbook; priority event access; Patron-only and Sponsor-only events; T-shirt; faster reg; advance Dealers Den access',130,'2018-08-08T20:00-0700','2019-04-19T24:00-0700'],&lt;br /&gt;
['Friday','Friday only',25,'2019-05-24','2019-05-24','InStoreOnly'],&lt;br /&gt;
['Saturday','Saturday only',30,'2019-05-25','2019-05-25','InStoreOnly'],&lt;br /&gt;
['Sunday','Sunday only',20,'2019-05-26','2019-05-26','InStoreOnly']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', '74/Furloween06promo.png', 'furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 27 2018', 188);&lt;br /&gt;
addLocation(43.6412114, -79.3757486, 'Furnal Equinox', ['30/FElogo2016plus.png','3e/FurnalEquinox2020.jpg'], 'furnalequinox.com', 'Westin Harbour Castle&amp;lt;br&amp;gt;1 Harbour Square&amp;lt;br&amp;gt;Toronto, ON M5J 1A6&amp;lt;br&amp;gt;Canada', '+1 (416) 869-1600', 'Mar 20-22 2020', 2240, null, 'https://www.furnalequinox.com/register/', 'CAD', [&lt;br /&gt;
['Attending (Early Bird)','Friday-Sunday; conbook',50,'2019-08-11T00:00-0400','2019-11-01T00:00-0500'],&lt;br /&gt;
['Sponsor (Early Bird)','Friday-Sunday; $5 con-store voucher; T-shirt; drinking cup; pennant; priority registration; conbook',100,'2019-08-11T00:00-0400','2019-11-01T00:00-0500'],&lt;br /&gt;
['Supersponsor (Early Bird)','Friday-Sunday; Guest of Honour lunch; priority seating; early Dealers Den access; grad ring; bookbag; graduation cap; VIP laminate; name in conbook; 2x $5 con-store voucher; T-shirt; drinking cup; pennant; priority registration; conbook',170,'2019-08-11T00:00-0400','2019-11-01T00:00-0500'],&lt;br /&gt;
['Attending','Friday-Sunday; conbook',60,'2019-11-01T00:00-0500','2020-02-23T24:00-0500'],&lt;br /&gt;
['Sponsor','Friday-Sunday; $5 con-store voucher; T-shirt; drinking cup; pennant; priority registration; conbook',110,'2019-11-01T00:00-0500','2020-02-23T24:00-0500'],&lt;br /&gt;
['Supersponsor','Friday-Sunday; Guest of Honour lunch; priority seating; early Dealers Den access; grad ring; bookbag; graduation cap; VIP laminate; name in conbook; 2x $5 con-store voucher; T-shirt; drinking cup; pennant; priority registration; conbook',180,'2019-11-01T00:00-0500','2020-02-23T24:00-0500'],&lt;br /&gt;
['Friday','Friday only; conbook',25,'2020-03-19T12:00-0400','2020-03-22T12:00-0400','InStoreOnly'],&lt;br /&gt;
['Saturday','Saturday only; conbook',30,'2020-03-19T12:00-0400','2020-03-22T12:00-0400','InStoreOnly'],&lt;br /&gt;
['Sunday','Sunday only; conbook',25,'2020-03-19T12:00-0400','2020-03-22T12:00-0400','InStoreOnly']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(41.6042521, -72.7027335, 'Furpocalypse', ['78/FurpocalypseLogo.png','d1/Furpocalypse2019.jpg'], 'furpocalypse.org', 'Red Lion Cromwell&amp;lt;br&amp;gt;100 Berlin Road&amp;lt;br&amp;gt;Cromwell, CT 06416&amp;lt;br&amp;gt;USA', '+1 860-635-2000', 'Oct 25-27 2019', 1391, null, 'https://www.furpocalypse.org/registration/', 'USD', [&lt;br /&gt;
['Attendee (Early Bird)','Friday-Sunday',40,'2019-03-15T18:00-0400','2019-09-04T24:00-0400'],&lt;br /&gt;
['Sponsor (Early Bird)','Friday-Sunday; T-shirt; charity raffle ticket; conbook',60,'2019-03-15T18:00-0400','2019-09-04T24:00-0400'],&lt;br /&gt;
['Attendee','Friday-Sunday',50,'2019-09-04T24:00-0400','2019-09-24T24:00-0400'],&lt;br /&gt;
['Sponsor','Friday-Sunday; T-shirt; charity raffle ticket; conbook',70,'2019-09-04T24:00-0400','2019-09-24T24:00-0400'],&lt;br /&gt;
['Super Sponsor','Friday-Sunday; Dealer/Sponsor dinner invitation; glass; T-shirt; charity raffle ticket; conbook',100,'2019-03-15T18:00-0400','2019-09-24T24:00-0400'],&lt;br /&gt;
['Gold Sponsor','Friday-Sunday; hoodie; special gift; conbook listing; 2x Dealer/Sponsor dinner invitation; glass; T-shirt; charity raffle ticket; conbook',200,'2019-03-15T18:00-0400','2019-09-24T24:00-0400']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(40.091453,   -75.3716987, 'Furrydelphia', ['30/FurrydelphiaLogo.jpg','5d/Furrydelphia2019CelticKnights.jpg'], 'furrydelphia.com', 'DoubleTree Valley Forge&amp;lt;br&amp;gt;301 W Dekalb Pike&amp;lt;br&amp;gt;King of Prussia, PA 19406&amp;lt;br&amp;gt;USA', '+1 (610) 337-1200', 'Aug 16-18 2019', 903, null, 'https://www.furrydelphia.org/registration', 'USD', [&lt;br /&gt;
['Settler','Friday-Sunday; conbook',50,'2019-01-29T18:00-0500','2019-07-29T00:00-0400'],&lt;br /&gt;
['Page','Friday-Sunday; T-shirt; drawstring bag; shot glass; lanyard; conbook',90,'2019-01-29T18:00-0500','2019-07-29T00:00-0400'],&lt;br /&gt;
['Warrior','Friday-Sunday; T-shirt; 1x GoH dinner; mug; wristband; tank-top; leather badge; drawstring bag; shot glass; lanyard; conbook',150,'2019-01-29T18:00-0500','2019-07-29T00:00-0400'],&lt;br /&gt;
['Cheftain','Friday-Sunday; T-shirt; messenger bag; flask; blanket; tumbler; 2x GoH dinner; mug; wristband; tank-top; leather badge; drawstring bag; shot glass; lanyard; conbook',255,'2019-01-29T18:00-0500','2019-07-29T00:00-0400']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(32.324628,  -64.836331, 'Furry Cruise', 'dc/FurryCruiseFursonaPins.jpg', 'furrycruise.com', '&amp;lt;i&amp;gt;Norweigan Escape&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Royal Naval Dockyards&amp;lt;br&amp;gt;Bermuda [from New York City]', '+1 (734) 340-4553', 'Nov 3-10 2019', 33, null, 'http://my.furrycruise.com/booking/', 'USD', [&lt;br /&gt;
['Basic Economy','One person, double occupancy; interior; no group promos, room choice or extras',867,'2019-01-01','2019-06-01T00:00-0500'],&lt;br /&gt;
['Inside Stateroom','One person, double+ occupancy; interior; one group promo',1077,'2019-01-01','2019-06-01T00:00-0500'],&lt;br /&gt;
['Oceanview','One person, double+ occupancy; picture window or porthole; one group promo',1217,'2019-01-01','2019-06-01T00:00-0500'],&lt;br /&gt;
['Balcony','One person, double+ occupancy; balcony; 2+ group promos',1297,'2019-01-01','2019-06-01T00:00-0500']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(32.775681, -96.8097294, 'Furry Fiesta', ['e5/FFLogotForWikia.png','ce/FurryFiesta2020.jpg'], 'furryfiesta.org', 'Hyatt Regency Dallas&amp;lt;br&amp;gt;300 Reunion Blvd&amp;lt;br&amp;gt;Dallas, TX 75207&amp;lt;br&amp;gt;USA', '+1 (214) 651-1234', 'Feb 27-Mar 1 2020', 4844, null, 'https://2020.furryfiesta.org/attend/registration/', 'USD');&lt;br /&gt;
/* Preliminary; previously opened June 9, increased October 14 [&lt;br /&gt;
['Attending','Thursday-Sunday; digital con book',60,'2019-03-01','2020-02-10'],&lt;br /&gt;
['Sponsor','Thursday-Sunday; bag; T-shirt; lanyard; art poster; printed con book',120,'2019-03-01','2020-02-10'],&lt;br /&gt;
['Super Sponsor','Thursday-Sunday; GoH dinner; challenge coin; preferential seating; exclusive print; bag; T-shirt; lanyard; art poster; printed con book',240,'2019-03-01','2020-02-10']&lt;br /&gt;
]); */&lt;br /&gt;
addLocation(44.971198,    -93.27774, 'Furry Migration', '21/FurryMigrationLogo.jpg', 'furrymigration.org', 'Hyatt Regency Minneapolis&amp;lt;br&amp;gt;1300 Nicollet Mall&amp;lt;br&amp;gt;Minneapolis, Minnesota,&amp;lt;br&amp;gt;USA, 55403', '+1 (612) 370-1234', 'Sep 6-8 2019', 1107, null, 'https://www.furrymigration.org/reginfo/', 'USD', [&lt;br /&gt;
['Attendee','Friday-Sunday; conbook; program; restaurant guide',45,'2018-10-01','2019-08-15T00:00-0600'],&lt;br /&gt;
['Sponsor','Friday-Sunday; T-shirt and more; conbook; program; restaurant guide',100,'2018-10-01','2019-08-15T00:00-0600'],&lt;br /&gt;
['Super','Friday-Sunday; Saturday breakfast; early dealer access; priority seating; unique gift; T-shirt and more; conbook; program; restaurant guide',190,'2018-10-01','2019-08-15T00:00-0600'],&lt;br /&gt;
['Youth (7-17)','Friday-Sunday; conbook; program; restaurant guide',30,'2018-10-01','2019-08-15T00:00-0600']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(-34.601148, -58.45338, 'Furry Night', '25/FurryNight2018.jpg', 'furrynight.com', 'Teatro La Farfalla&amp;lt;br&amp;gt;Av. Juan B. Justo, 3436&amp;lt;br&amp;gt;CABA, Buenos Aires&amp;lt;br&amp;gt;Argentina', '','Oct 2019', 86, 18, 'https://www.furrynight.com/inscription', ['USD','ARS'], [&lt;br /&gt;
['Attendee','Rave admission',[14,500],'2019-08-01T00:00-0300','2019-10-01T00:00-0300']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(41.7838208,   -72.5803353, 'Furry Picnic', 'c8/FurryPicnic_3-header.jpg', 'furrypicnic.com', 'Wickham Park&amp;lt;br&amp;gt;1329 Middle Turnpike W&amp;lt;br&amp;gt;Manchester, CT 06040&amp;lt;br&amp;gt;USA', '+1 (860) 528-0856', 'Jun 8 2019', 133, null, 'http://www.furrypicnic.com/?page_id=688', 'USD', [&lt;br /&gt;
['Attendee','Non-stop, all-you-can-eat fooding; fun times; Wickham pavilion access; badge; color change mug',10,'2019-01-29','2019-06-29T24:00-0400']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(35.642936, -96.419021, 'Furry Retreat', '1d/FurryRetreat2018.jpg', 'furryretreat.com', 'Knight\'s Rest Retreat&amp;lt;br&amp;gt;37701 W 361st St S&amp;lt;br&amp;gt;Bristow, OK 74010&amp;lt;br&amp;gt;USA', 'N/A', 'Oct 19-21 2018', 38);&lt;br /&gt;
addLocation(39.502173, -106.151042, 'Furry Ski Weekend', 'ce/FurrySkiWeekend2015banner.jpg', 'furryskiweekend.com', 'Copper Mountain Resort&amp;lt;br&amp;gt;209 Ten Mile Cir&amp;lt;br&amp;gt;Frisco, CO 80443&amp;lt;br&amp;gt;USA', '+1 (866) 841-2481', 'Feb 21-24 2019', 65, 21, 'https://furryskiweekend.com/shop/', 'USD', [&lt;br /&gt;
['Full Package','Thursday-Sunday; three nights room; 2x lift tickets; breakfast, dinner, and snacks are provided; gift bag; open bar; open smoking',565,'2018-09-15','2018-10-13'],&lt;br /&gt;
['Membership','Thursday-Sunday; breakfast, dinner, and snacks are provided; gift bag; open bar; open smoking',145,'2018-09-15','2018-10-13'],&lt;br /&gt;
['Room','Thursday-Sunday; three nights room',300,'2018-09-15','2018-10-13'],&lt;br /&gt;
['Day Pass','One day only; open bar; open smoking',65,'2018-09-15','2018-10-13'],&lt;br /&gt;
['Lift Ticket','One day access to Copper Mountain',60,'2018-09-15','2018-10-13']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(32.976394, -96.7140306, 'Furry Siesta', '32/FurrySiesta.png', 'furrysiesta.com', 'Hyatt Regency North Dallas&amp;lt;br&amp;gt;701 E Campbell Rd&amp;lt;br&amp;gt;Richardson, TX 75081&amp;lt;br&amp;gt;USA', '+1 (972) 619-1234', 'Jul 19-20 2019', 575, null, 'https://www.furrysiesta.org/registration/', 'USD', [&lt;br /&gt;
['Attendee','Friday-Saturday',25,'2018-02-16T00:00-0600','2018-07-11T20:00-0500']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(33.761999,   -84.383352, 'Furry Weekend Atlanta', '2f/Furry_Weekend_Atlanta.png', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'May 9-13 2019', 5193, null, 'https://www.furryweekend.com/registration/', 'USD', [&lt;br /&gt;
['Attending (Early Bird)','Thursday-Sunday',60,'2018-12-06T12:00-0600','2019-02-15T00:00-0500'],&lt;br /&gt;
['Sponsor (Early Bird)','Thursday-Sunday',110,'2018-12-06T12:00-0600','2019-02-15T00:00-0500'],&lt;br /&gt;
['Super-Sponsor (Early Bird)','Thursday-Sunday',160,'2018-12-06T12:00-0600','2019-02-15T00:00-0500'],&lt;br /&gt;
['Attending','Thursday-Sunday',75,'2019-02-15T00:00-0500','2019-05-13'],&lt;br /&gt;
['Sponsor','Thursday-Sunday',125,'2019-02-15T00:00-0500','2019-05-13'],&lt;br /&gt;
['Super-Sponsor','Thursday-Sunday',180,'2019-02-15T00:00-0500','2019-05-13'],&lt;br /&gt;
['God-Level','Thursday-Sunday',350,'2018-12-06T12:00-0600','2019-05-13','SoldOut'],&lt;br /&gt;
['Thursday','Thursday only',35,'2019-05-08','2019-05-09','InStoreOnly'],&lt;br /&gt;
['Friday','Friday only',50,'2019-05-09','2019-05-10','InStoreOnly'],&lt;br /&gt;
['Saturday','Saturday only',60,'2019-05-10','2019-05-11','InStoreOnly'],&lt;br /&gt;
['Sunday','Sunday only',55,'2019-05-11','2019-05-12','InStoreOnly']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(51.342657,   6.112067, 'Furry Weekend Holland', 'fa/FWH2020.png', 'furryweekend.nl', 'Castle de Berckt&amp;lt;br&amp;gt;De Berckt 1 5991 PD&amp;lt;br&amp;gt;Baarlo&amp;lt;br&amp;gt;Netherlands', ' +31 77 477 1385', 'Apr 30-May 4 2020', 57, 18, 'https://furryweekend.nl', 'EUR', [&lt;br /&gt;
['4-Person Share (Early Pay)','Bed in a four-person room; three breakfasts and late-night snacks; two buffet lunches and dinners; unlimited soft drinks; T-shirt; lanyard; badge; conbook',225,'2018-08-01','2018-12-15T00:00+0100'],&lt;br /&gt;
['2-Person Share (Early Pay)','Bed in a two-person room; three breakfasts and late-night snacks; two buffet lunches and dinners; unlimited soft drinks; T-shirt; lanyard; badge; conbook',275,'2018-08-01','2018-12-15T00:00+0100'],&lt;br /&gt;
['4-Person Share','Bed in a four-person room; three breakfasts and late-night snacks; two buffet lunches and dinners; unlimited soft drinks; T-shirt; lanyard; badge; conbook',249,'2018-12-15T00:00+0100','2019-02-15T00:00+0200'],&lt;br /&gt;
['2-Person Share','Bed in a two-person room; three breakfasts and late-night snacks; two buffet lunches and dinners; unlimited soft drinks; T-shirt; lanyard; badge; conbook',299,'2018-12-15T00:00+0100','2019-02-15T00:00+0200']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(36.8441109, -76.1808112, 'FursonaCon', 'b7/FursonaConLogo.jpg', 'fursonacon.com', 'Holiday Inn VB - Norfolk&amp;lt;br&amp;gt;5655 Greenwich Rd&amp;lt;br&amp;gt;Virginia Beach, Virginia 23462&amp;lt;br&amp;gt;USA', '+1 (757) 499-4400', 'Sep 5-8 2019', 424);&lt;br /&gt;
addLocation(13.714429, 100.593183, 'FurSquare', '52/Fursquare_2018_logo.jpeg', 'anthro.ltd/fsq', 'E88 Bangkok&amp;lt;br&amp;gt;1599 Sukhumvit Rd&amp;lt;br&amp;gt;พระโขนงเหนือ Khet Watthana&amp;lt;br&amp;gt;Krung Thep Maha Nakhon 10110&amp;lt;br&amp;gt;Thailand [note: number of &amp;lt;i&amp;gt;dealers&amp;lt;/i&amp;gt;]', '+66 86 566 2929', 'Sep 7 2019', 46);&lt;br /&gt;
addLocation(52.588333,        14.65, 'Furstock', '8b/Logo_PolFurs.gif', 'polfurs.org', '', '', 'Jul 14-16 2016', 45);&lt;br /&gt;
addLocation(57.05,         9.916667, 'Furtastic', '7c/Furtastic2019.png', 'furtastic.dk', 'Fjeldholmlejren&amp;lt;br&amp;gt;Langholmvej 28&amp;lt;br&amp;gt;Gjerrild Nordstrand&amp;lt;br&amp;gt;8500 Grenå. 58&amp;lt;br&amp;gt;Denmark', '', 'Jul 8-12 2019', 70, 16);&lt;br /&gt;
addLocation(37.330294,  -121.888375, 'Further Confusion', 'be/Further_Confusion_logo.png', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 16-20 2020', 3850, null);&lt;br /&gt;
addLocation(52.4266942, -116.2497081, 'Furthest North', '26/FurthestNorth.png', 'furthestnorth.ca', 'Snow Creek Group Campground&amp;lt;br&amp;gt;west of Rocky Mountain House&amp;lt;br&amp;gt;Clearwater County&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (877) 537-2757', 'Aug 1-5 2019', 63);&lt;br /&gt;
addLocation(3.104127, 101.640800, 'FURUM', 'bc/FurumLogo.png', 'furum.org', 'Hotel Armada&amp;lt;br&amp;gt;Lot 6&amp;lt;br&amp;gt;Lorong Utara C&amp;lt;br&amp;gt;Section 52&amp;lt;br&amp;gt;46200 Petaling Jaya Selangor&amp;lt;br&amp;gt;Malaysia', '+60 3-7954 6888', 'Dec 14-15 2019', 287, 13);&lt;br /&gt;
addLocation(47.0084856, -124.163382, 'Furvana', '56/Furvanalogo.jpg', 'furvana.org', 'Ocean Shores Convention Center&amp;lt;br&amp;gt;120 W Chance a La Mer NW&amp;lt;br&amp;gt;Ocean Shores, WA 98569&amp;lt;br&amp;gt;USA', '+1 360-289-4411', 'Sep 27-29 2019', null);&lt;br /&gt;
addLocation(48.499678, 9.150536, 'Furvester', 'aa/Furvester-logo.svg', 'furvester.org', 'Hotel Fortuna Reutlingen/Tübingen&amp;lt;br&amp;gt;Carl-Zeiss-Straße 75&amp;lt;br&amp;gt;72770 Reutlingen&amp;lt;br&amp;gt;Germany', '+49 7121 5840', 'Dec 28 2019-Jan 1', 212, 18, 'https://furvester.org/attending/registration', 'EUR', [&lt;br /&gt;
['Attendee','Saturday-Wednesday; event access',70,'2019-06-02T20:00+0200','2019-07-01T00:00+0200'],&lt;br /&gt;
['Attendee','Saturday-Wednesday; event access',80,'2019-07-01T00:00+0200','2019-09-01T00:00+0200'],&lt;br /&gt;
['Attendee','Saturday-Wednesday; event access',90,'2019-09-01T20:00+0200','2020-01-01'],&lt;br /&gt;
['Day Ticket','One day only; event access',90,'2019-12-28','2020-01-01'],&lt;br /&gt;
['One Bed (Small Single)','Saturday-Wednesday; one person in a Small Single room',65,'2019-06-02T20:00+0200','2020-01-01'],&lt;br /&gt;
['One Bed','Saturday-Wednesday; one person in a Single, Double, Twin, French, Queen or Triple room',72,'2019-06-02T20:00+0200','2020-01-01'],&lt;br /&gt;
['Two Beds','Saturday-Wednesday; two people in a Single, Double, Twin, French, Queen or Triple room',92,'2019-06-02T20:00+0200','2020-01-01'],&lt;br /&gt;
['Three Beds','Saturday-Wednesday; three people in a Triple room',102,'2019-06-02T20:00+0200','2020-01-01'],&lt;br /&gt;
['One Bed (Junior Suite)','Saturday-Wednesday; one person in a Junior Suite',100,'2019-06-02T20:00+0200','2020-01-01','PreOrder'],&lt;br /&gt;
['Two Bed (Junior Suite)','Saturday-Wednesday; two people in a Junior Suite',120,'2019-06-02T20:00+0200','2020-01-01','PreOrder'],&lt;br /&gt;
['Three Bed (Junior Suite)','Saturday-Wednesday; three people in a Junior Suite',140,'2019-06-02T20:00+0200','2020-01-01','PreOrder'],&lt;br /&gt;
['Four Bed (Junior Suite)','Saturday-Wednesday; four people in a Junior Suite',150,'2019-06-02T20:00+0200','2020-01-01','PreOrder'],&lt;br /&gt;
['One Bed (Suite)','Saturday-Wednesday; one person in a Junior Suite',130,'2019-06-02T20:00+0200','2020-01-01','PreOrder'],&lt;br /&gt;
['Two Bed (Suite)','Saturday-Wednesday; two people in a Junior Suite',150,'2019-06-02T20:00+0200','2020-01-01','PreOrder'],&lt;br /&gt;
['Three Bed (Suite)','Saturday-Wednesday; three people in a Junior Suite',170,'2019-06-02T20:00+0200','2020-01-01','PreOrder'],&lt;br /&gt;
['Four Bed (Suite)','Saturday-Wednesday; four people in a Junior Suite',180,'2019-06-02T20:00+0200','2020-01-01','PreOrder']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(60.6058707, 11.2129992, 'Furway', '06/Furway.jpg', 'furway.no', 'Stiftelsen Olsby&amp;lt;br&amp;gt;Kongspartvegen 739&amp;lt;br&amp;gt;2337 Tangen&amp;lt;br&amp;gt;Norway', '+47 48 60 58 21', 'Jun 14-16 2019', 58);&lt;br /&gt;
addLocation(39.0998623,  -84.275091, 'Fur Reality', 'e6/FurReality2019.jpg', 'furreality.org', 'Holiday Inn Eastgate&amp;lt;br&amp;gt;4501 Eastgate Blvd.&amp;lt;br&amp;gt;Cincinnati, Ohio 45245&amp;lt;br&amp;gt;USA', '+1 (513) 752-4400', 'Oct 31-Nov 3 2019', 538, null);&lt;br /&gt;
addLocation(-32.5249978, 115.7218326, 'Fur Out West', '3d/FurOutWest2020-BeautyoftheBass.jpg', 'furoutwest.com', 'Atrium Hotel Mandurah&amp;lt;br&amp;gt;65 Ormsby Terrace&amp;lt;br&amp;gt;Mandurah, WA 6210&amp;lt;br&amp;gt;Australia', '+61 8 9535 6633', 'Mar 6-8 2020', 110, null, 'https://furoutwest.com/site/register/', 'AUD', [&lt;br /&gt;
['Pegasus','Friday-Sunday; entry to FOW 2.5; badge; con book',80,'2019-04-01','2020-02-29T24:00+0800'],&lt;br /&gt;
['Guardian','Friday-Sunday; for required guardian of under-18 who has their own ticket; entry to FOW 2.5; badge; con book',40,'2019-04-01','2020-02-29T24:00+0800'],&lt;br /&gt;
['Gryphon','Friday-Sunday; Sponsor T-shirt; poster; special items; allocated seating; entry to FOW 2.5; badge; con book',160,'2019-04-01','2020-02-29T24:00+0800'],&lt;br /&gt;
['Phoenix','Friday-Sunday; custom pop vinyl of your character; Super Sponsor and Sponsor T-shirt; chance to be refunded; poster; special items; allocated seating; entry to FOW 2.5; badge; con book',250,'2019-04-01','2020-02-29T24:00+0800']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(38.8488621,  -77.0516791, 'Fur the \'More', 'c8/FurThe\'More_twitter_profile_image.png', 'furthemore.org', 'Hyatt Regency Crystal City&amp;lt;br&amp;gt;2799 Richmond Hwy&amp;lt;br&amp;gt;Arlington, VA 22202&amp;lt;br&amp;gt;USA', '+1 (703) 418-1234', 'Mar 6-8 2020', 1487, null);&lt;br /&gt;
addLocation(40.4695949, -3.5822552, 'Furrnion', ['3d/Furrnion2019.png','10/Furrnion2017Logo.jpg'], 'furrnion.org', 'Hotel Meliá Barajas&amp;lt;br&amp;gt;Av. de Logroño, 305&amp;lt;br&amp;gt;28042 Madrid&amp;lt;br&amp;gt;Spain', '+34 912 76 47 47', 'Oct 17-20 2019', 341, 18, 'https://www.furrnion.org/registration', 'EUR', [&lt;br /&gt;
['Attendee (Early Bird)','Thursday-Sunday; badge; lanyard; conbook',66.50,'2019-03-22T22:00+0100','2019-04-28T24:00+0200'],&lt;br /&gt;
['Sponsor (Early Bird)','Thursday-Sunday; early access to dealers den and art show; preferential badge pickup; T-shirt; conbook mention; Sponsor badge; lanyard; conbook',90.5,'2019-03-22T22:00+0100','2019-04-28T24:00+0200'],&lt;br /&gt;
['Sponsor OLÉ (Early Bird)','Thursday-Sunday; exclusive gifts; website mention; earliest access to dealers den and art show; ultimate badge pickup; T-shirt; conbook mention; Sponsor OLÉ badge; lanyard; conbook',191.5,'2019-03-22T22:00+0100','2019-04-28T24:00+0200'],&lt;br /&gt;
['Attendee','Thursday-Sunday; badge; lanyard; conbook',95,'2019-04-28T24:00+0200','2019-10-20'],&lt;br /&gt;
['Sponsor','Thursday-Sunday; early access to dealers den and art show; preferential badge pickup; T-shirt; conbook mention; Sponsor badge; lanyard; conbook',119,'2019-04-28T24:00+0200','2019-10-20'],&lt;br /&gt;
['Sponsor OLÉ','Thursday-Sunday; exclusive gifts; website mention; earliest access to dealers den and art show; ultimate badge pickup; T-shirt; conbook mention; Sponsor OLÉ badge; lanyard; conbook',220,'2019-04-28T24:00+0200','2019-10-20']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(58.933549, 24.659442, 'FurryEST', '57/FurryEST.png', 'furryest.org', 'Parvemaja asukoht&amp;lt;br&amp;gt;Ummaru&amp;lt;br&amp;gt;78423 Rapla County&amp;lt;br&amp;gt;Estonia', '', 'Jul 4-7 2019', 64, 18, 'https://furryest.org/', 'EUR', [&lt;br /&gt;
['Tent','Thursday-Sunday; bring your own tent; three dinners and snacks',40,'2019-03-31T17:05+0000','2019-07-04T00:00+0200'],&lt;br /&gt;
['Bed Spot', 'Thursday-Sunday; three nights bed in a barge house; three dinners and snacks','2019-03-31T20:00+0300','2019-07-04T00:00+0300']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(14.5738434, 121.056914, 'FurryPinas', 'd5/FurryPinas-Main-Logo.png', 'furrypinas.com', 'Bayanihan Center&amp;lt;br&amp;gt;8008 Pioneer St.&amp;lt;br&amp;gt;Pasig City&amp;lt;br&amp;gt;Metro Manila&amp;lt;br&amp;gt;Philippines', '', 'Jun 8-9 2019', 1542);&lt;br /&gt;
addLocation(48.991127,    2.515215, 'Furry BlackLight', '9f/Fursuit_BlackLight.jpeg', 'fblacklight.org', 'Hyatt Regency Paris - Charles de Gaulle&amp;lt;br&amp;gt;351 Avenue du Bois de la Pie&amp;lt;br&amp;gt;95912 Roissy&amp;lt;br&amp;gt;France​', '+33 1 48 17 12 34', 'Oct 31-Nov 3 2019', 265, 18);&lt;br /&gt;
addLocation(19.435967, -99.151094, 'Furry Summer Mexico', 'ac/FSMexico.jpeg', 'fb.me/FurrySummer', 'Centro de Espectáculos Plaza&amp;lt;br&amp;gt;Avenida de la República 127-A&amp;lt;br&amp;gt;Cuauhtémoc, Tabacalera&amp;lt;br&amp;gt;06030 Ciudad de México, CDMX&amp;lt;br&amp;gt;Mexico', '+52 55 5514 2565', 'Jul 28-29 2018', 290);&lt;br /&gt;
addLocation(50.791632, 20.3316706, 'Futerkon', 'af/Futerkon-logo-ogolne.jpg', 'futerkon.pl', 'Ośrodek Wypoczynkowy Ptaszyniec&amp;lt;br&amp;gt;Bocheniec 55&amp;lt;br&amp;gt;C Małogoszcz, 28-366&amp;lt;br&amp;gt;Poland', '+48 880 606 266', 'Aug 7-11 2019', 93, 18, 'https://2019.futerkon.pl/akredytacja/', 'PLN', [&lt;br /&gt;
['Cottage','Wednesday-Sunday; accommodation in a cottage; welcome BBQ; three dinners; four Swedish buffet breakfasts; conbook; lanyard; badge',590,'2019-04-08T21:00+0200','2019-07-24'],&lt;br /&gt;
['Hotel','Wednesday-Sunday; accommodation in a hotel; welcome BBQ; three dinners; four Swedish buffet breakfasts; conbook; lanyard; badge',690,'2019-04-08T21:00+0200','2019-07-24'],&lt;br /&gt;
['Silver Sponsor','Add-on; T-shirt with your name on the sleeve; better auction credit/payment terms; named on commemorative plaque, conbook and opening and closing ceremonies',150,'2019-04-08T21:00+0200','2019-07-24'],&lt;br /&gt;
['Gold Sponsor','Add-on; early hotel booking; T-shirt with your name on the sleeve; better auction credit/payment terms; named on commemorative plaque, conbook and opening and closing ceremonies',200,'2019-04-08T21:00+0200','2019-07-24']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(31.186861,   121.4892, 'Furry Summer Gathering', null, 'shouxiaji.cn', 'Shanghai Expo Centre&amp;lt;br&amp;gt;1500 Shibo Ave&amp;lt;br&amp;gt;Pudong Xinqu&amp;lt;br&amp;gt;Shanghai Shi&amp;lt;br&amp;gt;China', '', 'Jul 20 2019');&lt;br /&gt;
addLocation(37.77279,  -122.30270, 'Galactic Camp', '6b/Galactic_Camp_Logo.png', 'galacticcamp.com', 'USS Hornet Museum&amp;lt;br&amp;gt;Alameda, California&amp;lt;br&amp;gt;USA', '', 'Feb 23 2019', 742, 18);&lt;br /&gt;
addLocation(38.6942416, -90.4492995, 'Gateway Furmeet', 'e6/GatewayFurMeetLogo.png', 'gatewayfurmeet.org', 'DoubleTree Westport&amp;lt;br&amp;gt;1937 Craigshire Road&amp;lt;br&amp;gt;St. Louis, Missouri 63146&amp;lt;br&amp;gt;USA', '+1 (314) 434-0100', 'Mar 1-3 2019', 484);&lt;br /&gt;
addLocation(54.5725499,   18.3811955, 'Gdakon', '10/Gdakon_2019_logo.png', 'gdakon.org', 'Hotel Faltom&amp;lt;br&amp;gt;Rumia&amp;lt;br&amp;gt;Gdańsk&amp;lt;br&amp;gt;Poland', '', 'Feb 26-Mar 1 2020', 311, 18);&lt;br /&gt;
addLocation(46.733424, 8.204974, 'Golden Leaves Con', '43/Glc_icon.png', 'glc.furry.ch', 'C\'est la vie &amp;amp; Panorama Hotel&amp;lt;br&amp;gt;Engi&amp;lt;br&amp;gt;6086 Hasliberg&amp;lt;br&amp;gt;Switzerland', '', 'Oct 30-Nov 3 2019', 271, 18, 'https://glc.furry.ch/?site=registration&amp;amp;lang=en', 'CHF', [&lt;br /&gt;
['C\'est la Vie','Wednesday-Sunday',245,'2019-06-01','2019-10-30'],&lt;br /&gt;
['Panorama','Wednesday-Sunday',375,'2019-06-01','2019-10-30']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(33.6749006,-117.8606763, 'Golden State Fur Con', '26/GoldenStateFurCon.png', 'gsfurcon.com', 'Hilton Irvine/Orange County Airport&amp;lt;br&amp;gt;18800 MacArthur Blvd&amp;lt;br&amp;gt;Irvine, CA 92612&amp;lt;br&amp;gt;USA', '+1 (949) 833-9999', 'Apr 19-21 2019', 1230, null);&lt;br /&gt;
addLocation(49.616848,     8.826463, 'H-Con', '6d/H-Con.gif', 'h-con.org', 'Petershof&amp;lt;br&amp;gt;Talweg 5&amp;lt;br&amp;gt;64711 Erbach/Erbuch&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Oct 2-6 2019', 57, 18);&lt;br /&gt;
addLocation(-33.8740819,151.2168275, 'Harbour City Fur Con', ['20/HarbourCityFurCon.jpg','4f/HarbourCityFurCon2019.jpg'], 'furcon.com.au/hcfc', 'Sydney Boulevard Hotel&amp;lt;br&amp;gt;90 William Street&amp;lt;br&amp;gt;Sydney NSW 2011&amp;lt;br&amp;gt;Australia', '+61 2 9383 7222', 'Jul 26-28 2019', 280, 18, 'https://furcon.com.au/register/hcfc2019', 'AUD', [&lt;br /&gt;
['Standard','Friday-Sunday; badge; lanyard; conbook',100,'2018-11-28T12:00+1200','2019-07-14'],&lt;br /&gt;
['Premium','Friday-Sunday; headshot commission from Tsaiwolf, featured in con materials and on a custom T-shirt and badge; lanyard featuring all Premium headshots; guaranteed entry to \'l o w e r c a s e\' event; conbook',200,'2018-11-28T12:00+1200','2019-07-14'],&lt;br /&gt;
['Ultra-Premium','Friday-Sunday; full-body commission from Tsaiwolf, featured in con materials and on a custom T-shirt and badge; lanyard featuring all Premium headshots; guaranteed entry to \'l o w e r c a s e\' event; conbook',400,'2018-11-28T12:00+1200','2019-07-14','SoldOut']&lt;br /&gt;
]);&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', null, 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.26716,   -123.010021, 'Howloween', '80/Howloween2017Logo.jpg', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', 'Nov 2-3 2018', 357);&lt;br /&gt;
addLocation(14.578327, 120.980701, 'HOwOlidays', '62/Howolidays_logo.png', 'furrypinas.com/en/HOwOlidays', 'Cowboy Grill&amp;lt;br&amp;gt;11910 A. Mabini St&amp;lt;br&amp;gt;Ermita&amp;lt;br&amp;gt;1000 Metro Manila&amp;lt;br&amp;gt;Philippines', '', 'Dec 8 2018', null, null, 'https://furrypinas.com/en/HOwOlidays/', 'PHP' [&lt;br /&gt;
['Attendee','Buffet; lanyard; ID badge; button pin',750,'2018-08-01','2018-12-07']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(25.1819426,   121.4137286, 'Infurnity', ['f5/Infurnity_logo.jpg','ef/Infurnity-2019.jpeg'], 'infurnity.com', 'Fullon Hotel Tamsui&amp;lt;br&amp;gt;251 新北市淡水區觀海路83號&amp;lt;br&amp;gt;Taiwan', '02-2628-7777', 'Oct 26-27 2019', 807, null, 'https://infurnity.com/en/registration-en/', 'TWD', [&lt;br /&gt;
['Attendee (Early Bird)','Saturday-Sunday; badge; lanyard; conbook',1000,'2019-06-01T00:00+0800','2019-09-01T00:00+0800'],&lt;br /&gt;
['Sponsor (Early Bird)','Saturday-Sunday; T-shirt; poster; Sponsor label; badge; lanyard; conbook',2000,'2019-06-01T00:00+0800','2019-09-01T00:00+0800'],&lt;br /&gt;
['Super Sponsor (Early Bird)','Saturday-Sunday; afternoon tea time; towel; fursuit photo booth priority; fursuit changing room; early event entry; credit in conbook and closing ceremony; T-shirt; poster; Sponsor label; badge; lanyard; conbook',3500,'2019-06-01T00:00+0800','2019-09-01T00:00+0800'],&lt;br /&gt;
['Friday Buffet (Early Bird)','Friday; lunch and dinner in Arcadia Café',765,'2019-06-01T00:00+0800','2019-09-01T00:00+0800'],&lt;br /&gt;
['Saturday-Sunday Buffet (Early Bird)','Saturday-Sunday; lunch and dinner in Arcadia Café',945,'2019-06-01T00:00+0800','2019-09-01T00:00+0800'],&lt;br /&gt;
['Gamix VR (Early Bird)','All days; one round',100,'2019-06-01T00:00+0800','2019-09-01T00:00+0800'],&lt;br /&gt;
['Attendee','Saturday-Sunday; badge; lanyard; conbook',1200,'2019-09-01T00:00+0800','2019-10-01T00:00+0800'],&lt;br /&gt;
['Sponsor','Saturday-Sunday; T-shirt; poster; Sponsor label; badge; lanyard; conbook',2200,'2019-09-01T00:00+0800','2019-10-01T00:00+0800'],&lt;br /&gt;
['Super Sponsor','Saturday-Sunday; afternoon tea time; towel; fursuit photo booth priority; fursuit changing room; early event entry; credit in conbook and closing ceremony; Sponsor lanyard and pin; T-shirt; poster; Sponsor label; badge; lanyard; conbook',3700,'2019-09-01T00:00+0800','2019-10-01T00:00+0800'],&lt;br /&gt;
['Friday Buffet','Friday; lunch and dinner in Arcadia Café',1078,'2019-09-01T00:00+0800','2019-10-01T00:00+0800'],&lt;br /&gt;
['Saturday-Sunday Buffet (Early Bird)','Saturday-Sunday; lunch and dinner in Arcadia Café',1078,'2019-09-01T00:00+0800','2019-10-01T00:00+0800'],&lt;br /&gt;
['Gamix VR (Early Bird)','All days; one round',250,'2019-09-01T00:00+0800','2019-10-01T00:00+0800'],&lt;br /&gt;
['Day Ticket','One day pass; badge; lanyard; conbook',700,'2019-10-01T00:00+0800','2019-10-28']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(39.797248,   -86.041109, 'IndyFurCon', '94/IndyFurConLogoNew.png', 'indyfurcon.com', 'Indianapolis Marriott East&amp;lt;br&amp;gt;7202 E 21st St&amp;lt;br&amp;gt;Indianapolis, IN 46219&amp;lt;br&amp;gt;USA', '+1 (317) 352-1231', 'Aug 23-25 2019', 1412, null);&lt;br /&gt;
addLocation(33.4198925,-111.8295393, 'Itty Bitty Fur Con', 'f5/IttyBittyFurCon2019.jpg', 'ittybittyfurcon.com', 'Mesa Convention Center&amp;lt;br&amp;gt;263 N Center Street&amp;lt;br&amp;gt;Mesa Az 85201&amp;lt;br&amp;gt;USA', '+1 (623) 232-0580', 'Jul 20-21 2019', 613);&lt;br /&gt;
addLocation(42.977258, -89.23633, 'It\'s Ruff Out', '3f/WisconsinWildernessCampout.png', 'wildernesscampout.org/itsruffout', 'Lake Kegonsa State Park&amp;lt;br&amp;gt;2405 Door Creek Road&amp;lt;br&amp;gt;Stoughton, WI 53589&amp;lt;br&amp;gt;USA', '+1 (608) 873-9695', 'May 17-19 2019', null, null, 'https://wifurs.regfox.com/its-ruff-out-2019', 'USD', [&lt;br /&gt;
['Camping Badge','Firewood and smores [vehicle pass extra]','10','2019-03-17','2019-05-17']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(34.743463,   137.370965, 'Japan Meeting of Furries', 'fd/JMoF-Logo.png', 'j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 10-12 2020', 1332, null);&lt;br /&gt;
addLocation(51.505072,   -2.536662, 'Just Fur The Weekend', ['41/Favian-JFTW-Mascot-200px.png','68/JFTWLogo.png'], 'justfurtheweekend.org.uk', 'Holiday Inn Bristol-Filton&amp;lt;br&amp;gt;Filton Road&amp;lt;br&amp;gt;Winterbourne, Bristol&amp;lt;br&amp;gt;United Kingdom', '', 'Apr 19-21 2019', 203, 18);&lt;br /&gt;
addLocation(39.114216, -94.626925, 'KCFur Howl', '20/KCFurHowl2015Logo.jpg', 'kchowl.com', 'Kansas City Metro Area&amp;lt;br&amp;gt;Kansas City, MO&amp;lt;br&amp;gt;USA', 'N/A', 'Oct 27 2018', null);&lt;br /&gt;
addLocation(35.453118, 139.6488943, 'Kemocon', 'd2/Kemocon2016Logo.jpg', 'www.kemocon.com', 'Osanbashi Hall&amp;lt;br&amp;gt;Yokohama Intl Passenger Terminal&amp;lt;br&amp;gt;1 Chome-1-4 Kaigandori&amp;lt;br&amp;gt;Naka Ward, Yokohama&amp;lt;br&amp;gt;Kanagawa Prefecture 〒231-0002&amp;lt;br&amp;gt;Japan', '', 'Nov 30-Dec 1 2019', 454);&lt;br /&gt;
addLocation(35.5791136, 139.7455147, 'Kemoket', 'ed/Kemoket_logo_2015-01.png', 'skypalette.jp/kemoket', 'Tokyo Ryutsu Center&amp;lt;br&amp;gt;6 Chome-1-1 Heiwajima, Japan&amp;lt;br&amp;gt;Ōta, Tokyo 143-0006&amp;lt;br&amp;gt;Japan [note: number of &amp;lt;i&amp;gt;dealers&amp;lt;/i&amp;gt;]', '', 'Apr 29 2019', 500, null, 'http://skypalette.jp/kemoket/kgrm.html', 'JPY', [&lt;br /&gt;
['Fursuiter','Changing area usage and mailed catalog',4000,'2019-03-24T00:00+0900','2019-04-07T23:59+0900']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(49.9983865, 36.2653376, 'Kharcon', '57/Kharcon.png', 'kharcon.in.ua', 'Artilna St, 39&amp;lt;br&amp;gt;Kharkiv&amp;lt;br&amp;gt;Kharkivs\'ka oblast&amp;lt;br&amp;gt;61000&amp;lt;br&amp;gt;Ukraine', '', 'Mar 7-10 2019', 28); &lt;br /&gt;
addLocation(49.4948508, 16.6860258, 'KRAZ', null, 'kraz.eu', 'Boskovice Western Park&amp;lt;br&amp;gt;Komenského 50&amp;lt;br&amp;gt;Boskovice&amp;lt;br&amp;gt;Czechia', '+420 737 000 000', 'Apr 19-22 2019', 85); &lt;br /&gt;
addLocation(35.594392,  139.347435, 'Hashimoto Kemono Lounge', '1f/KemonoSquareLogo.jpg', 'kemono-square.com', 'HK Lounge&amp;lt;br&amp;gt;HK 4th Building 6F 3-14-13 Hashimoto&amp;lt;br&amp;gt;Midori-ku&amp;lt;br&amp;gt;Sagamihara City&amp;lt;br&amp;gt;Kanagawa Prefecture&amp;lt;br&amp;gt;252-0143&amp;lt;br&amp;gt;Japan', '+81 42-770-7073', 'May 3 2019', 107, 20, 'https://kemono-square.jp/registration_hklounge.html', 'JPY', [&lt;br /&gt;
['Attendee','Badge and buffet dinner',6000,'2018-03-18','2019-04-26T23:59+0900']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(35.1584991, 136.9298391, 'Kigukemo', '86/KigukemoLogo.jpg', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center&amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan', '', 'Mar 30 2019', 68); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(41.845931,   -87.942533, 'LAFF New Year\'s Eve', 'c0/LAFFNewYear\'sEve2013-2014Logo.jpg', 'newyearsevecon.com', 'Residence Inn Oak Brook&amp;lt;br&amp;gt;790 Jorie Boulevard&amp;lt;br&amp;gt;Oak Brook, IL 60523&amp;lt;br&amp;gt;USA', '+1 (630) 571-1200', 'Dec 31 2019-Jan 1', 77);&lt;br /&gt;
addLocation(47.2445317,  12.1922111, 'Lakeside Furs', '49/LakesideFurs.gif', 'lakesidefurs.at', 'Chalet Bergerblick&amp;lt;br&amp;gt;Hinterwaldberg 39&amp;lt;br&amp;gt;5742 Wald im Pinzgau&amp;lt;br&amp;gt;Austria', '+31 6 53933594', 'Jun 22-29 2019', 51, 16, 'https://lakesidefurs.at/?p=registration', 'EUR', [&lt;br /&gt;
['Visitor','Saturday-Saturday; no bed, day access; food and soft drinks',35,'2019-01-01','2019-06-21'],&lt;br /&gt;
['Resident','Saturday-Saturday; bed (35€ * 7, shorter stays possible); food and soft drinks',280,'2019-01-01','2019-06-21']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(51.5106549,  -0.0828756, 'LondonFurs Summer Weekender', '81/Londonfurs.png', 'londonfurs.org.uk/meet', 'Tank &amp;amp; Paddle - Minster Court&amp;lt;br&amp;gt;(for the Saturday party)&amp;lt;br&amp;gt;3 Mincing Lane&amp;lt;br&amp;gt;London, EC3R 7AA&amp;lt;br&amp;gt;United Kingdom', '+44 20 7929 8399', 'Jul 19-20 2019', 250, 18, 'https://londonfurs.yapsody.com/', 'GBP', [&lt;br /&gt;
['Boat Party (Early Bird)','Partying from 7PM-11PM',25,'2019-04-07T08:00+0100','2019-07-19T00:00+0100','SoldOut'],&lt;br /&gt;
['Boat Party','Partying from 7PM-11PM',30,'2019-04-07T08:00+0100','2019-07-19T00:00+0100'],&lt;br /&gt;
['Fursuit Add-on','Required to bring a fursuit case on board',15,'2019-04-07T08:00+0100','2019-07-19T00:00+0100','LimitedAvailability'],&lt;br /&gt;
['Saturday Party','Free; details on main site',0,'2019-04-07T08:00+0100','2019-07-21T00:00+0100']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(49.8039816,  23.3503567, 'LvivFur', ['2a/LvivFur2019MascotIcon.png','90/LvivFur2019.png'], 'vk.com/lvivfur', 'Hotel &amp;quot;Mirage&amp;quot;&amp;lt;br&amp;gt;205в Vulytsya Zahorody&amp;lt;br&amp;gt;Sudova Vyshnia, Lviv Oblast&amp;lt;br&amp;gt;Ukraine', '+380 3234 37967', 'Jul 18-21 2019', 37, null, 'https://vk.com/lvivfur', 'UAH', [&lt;br /&gt;
['Membership','Thursday-Sunday (estimate from 2018)',500,'2019-05-18T12:00+0300','2019-07-18']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(28.418215,   -81.465091, 'Megaplex', '59/Megaplex_Logo.jpg', 'megaplexcon.org', 'Caribe Royale&amp;lt;br&amp;gt;8101 World Center Dr&amp;lt;br&amp;gt;Orlando, Florida, 32821&amp;lt;br&amp;gt;USA', '+1 407-238-8000', 'Aug 9-11 2019', 2602, null);&lt;br /&gt;
addLocation(-37.8068187,144.9612703, 'Melbourne Fur Con', ['9c/MelbourneFurCon-Blackpaw.png','6d/MelbourneFurCon2020.jpg'], 'melbfurcon.com', 'ibis Melbourne&amp;lt;br&amp;gt;15-21 Therry Street&amp;lt;br&amp;gt;Melbourne VIC 3000&amp;lt;br&amp;gt;Australia', '+61 3 9666 0000', 'Feb 21-23 2020', 150, null, 'https://www.melbfurcon.com/registration', 'AUD', [&lt;br /&gt;
['2 Day Pass','Saturday-Sunday; badge',85,'2019-02-25T10:00+1200','2020-02-21'],&lt;br /&gt;
['Sponsor Pass','Saturday-Sunday; sponsor pin; T-shirt; badge',155,'2019-02-25T10:00+1200','2020-02-21'],&lt;br /&gt;
['Super Sponsor','Saturday-Sunday; A6 greyscale fursona headshot; sponsor pin; T-shirt; badge',215,'2019-02-25T10:00+1200','2020-02-21'],&lt;br /&gt;
['Saturday','Saturday only; badge',50,'2019-09-01','2020-02-21'],&lt;br /&gt;
['Sunday','Sunday only; badge',50,'2019-09-01','2020-02-21'],&lt;br /&gt;
]);&lt;br /&gt;
addLocation(38.219466, -85.575556, 'The Menagerie', 'd8/The_Menagerie_Logo.png', 'kyanthros.org/menagerie', 'Triple Crown Pavilion&amp;lt;br&amp;gt;1776 Plantside Dr&amp;lt;br&amp;gt;Jeffersontown, KY, 40299&amp;lt;br&amp;gt;USA', '+1 (502) 491-4830', 'Jun 2-Jun 3 2018', 106);&lt;br /&gt;
addLocation(34.966572,   -89.791608, 'Mephit Furmeet', '7c/MFM-logo-2017-400px.png', 'mephitfurmeet.org', 'Whispering Woods Conf. Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Aug 30-Sep 1 2019', 544, null);&lt;br /&gt;
addLocation(50.825484,     7.887068, 'Mephit Mini Con', ['43/MMC2019.png','06/MephitMiniCon.png'], 'mephitminicon.de', 'Jugendherberge Freusburg&amp;lt;br&amp;gt;Burgstraße 46&amp;lt;br&amp;gt;57548 Kirchen (Sieg)&amp;lt;br&amp;gt;Germany', '', 'Jun 6-10 2019', 200, 18, 'https://reg.mephitminicon.de', 'EUR', [&lt;br /&gt;
['Attendee','Thursday-Sunday; room and food',222,'2019-01-03T18:00+0100','2019-06-01','LimitedAvailability']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(42.322128, -71.646046, 'Micro Fur Con', '23/MicroFurConLogo.jpg', 'microfurcon.com', 'First Parish Church Unitarian&amp;lt;br&amp;gt;40 Church St&amp;lt;br&amp;gt;Northborough, MA 01532&amp;lt;br&amp;gt;USA', '+1 (508) 393-6422', 'Sep 23 2017', 150);&lt;br /&gt;
addLocation(41.9792548, -87.8604978, 'Midwest FurFest', '81/MFF-2015-Logo.png', 'furfest.org', 'Donald E. Stephens Conv. Center&amp;lt;br&amp;gt;5555 N River Rd.&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 692-2220', 'Dec 5-8 2019', 10989);&lt;br /&gt;
addLocation(49.294895, 14.620967, 'MiniCon', null, 'minicon.cz', 'Hlavatce čp. 2&amp;lt;br&amp;gt;391 73 Hlavatce&amp;lt;br&amp;gt;Tábor District&amp;lt;br&amp;gt;Czechia', '+420 730 610 029', 'Nov 15-18 2018', 45);&lt;br /&gt;
addLocation(49.6091678, 15.9139977, 'Minifurr', '57/Minifur_logo.jpg', 'minifurr.rawu.eu', 'Cottage Sauna Polnička&amp;lt;br&amp;gt;Polnička 212&amp;lt;br&amp;gt;591 02 Žďár nad Sázavou&amp;lt;br&amp;gt;Czechia', '+420 777 770 159', 'Sep 27-29 2019', 43);&lt;br /&gt;
addLocation(45.0213768,-93.4358668, 'MNFurs Spring Picnic', '72/MNFurs.png', 'www.mnfurs.org/MNFurs_Talk/event/mnfurs-spring-picnic-2019', 'Skyview Picnic Area&amp;lt;br&amp;gt;French Regional Park&amp;lt;br&amp;gt;12615 Rockford Rd&amp;lt;br&amp;gt;Minneapolis, MN 55441&amp;lt;br&amp;gt;USA', '', 'May 25 2019', 53);&lt;br /&gt;
addLocation(13.7265687,  100.5282525, 'Morph Parade', ['35/MorphParade.jpg','c0/MorphParade2019.jpg'], 'twitter.com/mofuparade', 'ITF Tower, floor 35&amp;lt;br&amp;gt;Si Lom, Khwaeng Suriya Wong&amp;lt;br&amp;gt;Khet Bang Rak, Krung Thep Maha Nakhon 10500&amp;lt;br&amp;gt;Thailand [note: atnd. is number of dealers]', '+66 99 712 8065', 'Dec 1 2019', 50);&lt;br /&gt;
addLocation(42.475988, -83.244925, 'Motor City Furry Con', '8b/MotorCityFurryCon.png', 'motorcityfurrycon.org', 'Westin Southfield Detroit&amp;lt;br&amp;gt;1500 Town Center&amp;lt;br&amp;gt;Southfield, MI 48075&amp;lt;br&amp;gt;USA', '+1 (248) 827-4000', 'Apr 12-14 2019', 1611, 18);&lt;br /&gt;
addLocation(39.65924,   -75.75286, 'New Year\'s Furry Ball', 'f8/TheFurstState_NewYearsFurryBall2012-2013.jpg', 'thefurststate.com/nyfb', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 31 2018-Jan 1', 438) &lt;br /&gt;
addLocation(-28.1659612, 153.5452102, 'NeonFur', 'c4/NeonFur_convention2018_banner.jpg', 'neonfur.com', 'Greenmount Beach Hotel&amp;lt;br&amp;gt;3 Hill St&amp;lt;br&amp;gt;Coolangatta, QLD 4225&amp;lt;br&amp;gt;Australia', '+61 7 5536 1222', 'Nov 8-10 2019', 286, 18, 'https://www.neonfur.com/registration', 'AUD', [&lt;br /&gt;
['Support','No attendance; T-shirt featuring art by Ponah or Katsu; NeonFur sticker; digital conbook; access to supporter Telegram chat',60,'2018-10-15','2019-09-28T24:00+1200'],&lt;br /&gt;
['Standard (Early Bird)','Friday-Sunday; glowsticks; escaped specimen badge and lanyard; conbook; wristband',90,'2018-10-15','2018-12-31T24:00+1200'],&lt;br /&gt;
['Standard','Friday-Sunday; glowsticks; escaped specimen badge and lanyard; conbook; wristband',100,'2018-12-31T24:00+1200','2019-09-28T24:00+1200'],&lt;br /&gt;
['Special Snowflake','Friday-Sunday; hacky sack; bottle opener dog-tag; LED cap; shot glass; pocket zippered wrist wallet; boardshorts; more glowsticks; escaped specimen badge and lanyard; conbook; wristband',150,'2018-10-15','2019-09-28T24:00+1200'],&lt;br /&gt;
['Supreme Snowflake','Friday-Sunday; Hyena Agender shirt and merch; NeonFur shirt; beachball; Kaiju-themed towel; LED Bluetooth speaker; LED paw-print pillow hacky sack; bottle opener dog-tag; LED cap; shot glass; pocket zippered wrist wallet; boardshorts; more glowsticks; escaped specimen badge and lanyard; conbook; wristband',500,'2018-10-15','2019-09-28T24:00+1200']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(55.6074446,12.9944266, 'NordicFuzzCon', '67/NordicfuzzconLogo.png', 'nordicfuzzcon.org', 'Clarion Hotel Malmö Live&amp;lt;br&amp;gt;Dag Hammarskjölds Torg 2&amp;lt;br&amp;gt;211 18 Malmö&amp;lt;br&amp;gt;Sweden', '+46 040 20 75 00', 'Feb 19-23 2020', 1149, 18);&lt;br /&gt;
addLocation(47.3680236, -121.1057155, 'NorthWest CampCon', '1e/NorthWestCampCon.jpg', 'nwcampcon.com', 'Okanogan-Wenatchee Forest&amp;lt;br&amp;gt;Wenatchee, WA 98807&amp;lt;br&amp;gt;USA', 'N/A', 'Jun 28-30 2019', 100);&lt;br /&gt;
addLocation(-6.210647,  106.845236, 'PAWAI', '35/PAWAI-logo.png', 'pawai.id', 'YELLO Manggarai Jakarta&amp;lt;br&amp;gt;Jl. Minangkabau No. 9&amp;lt;br&amp;gt;RT 6/RW 8, Ps. Manggis&amp;lt;br&amp;gt;Kecamatan Setiabuadi&amp;lt;br&amp;gt;Kota Jakarta Selatan&amp;lt;br&amp;gt;Jakarta 12970, Java&amp;lt;br&amp;gt;Indonesia', '021 3042 8888', 'Jul 27 2019', 90);&lt;br /&gt;
addLocation(37.3718553,-121.9248902, 'PAWCon', 'fb/PAWCON_Logo.svg', 'pacanthro.org', 'DoubleTree San Jose&amp;lt;br&amp;gt;2050 Gateway Place&amp;lt;br&amp;gt;San Jose, CA 95110&amp;lt;br&amp;gt;USA', '+1 (408) 453-4000', 'Nov 1-3 2019', 723, null);&lt;br /&gt;
addLocation(33.541358, -111.926566, 'Painted Desert Fur Con', 'b8/Pdfc_logo.png', 'painteddesertfc.com', 'Scottsdale Plaza Resort&amp;lt;br&amp;gt;7200 N Scottsdale Rd&amp;lt;br&amp;gt;Paradise Valley, AZ 85253&amp;lt;br&amp;gt;USA', '+1 (480) 948-5000', 'Jan 3-5 2020', 1135, null);&lt;br /&gt;
addLocation(43.635466, -70.338801, 'Pine Fur Con', 'd0/PFC2019DiscoInfurno.jpg', 'pinefurcon.org', 'DoubleTree Portland&amp;lt;br&amp;gt;363 Maine Mall Rd&amp;lt;br&amp;gt;Portland, ME 04106&amp;lt;br&amp;gt;USA', '+1 (207) 775-6161', 'Apr 5-7 2019', 573, null);&lt;br /&gt;
addLocation(52.2622855,-113.810541, 'Red Deer Mini Con', ['ee/RedDeerMiniCon2018.jpg','6a/RedDeerMiniCon2019.jpg','04/RedDeerMiniCon2017Banner.jpg'], 'reddeerminicon.ca', 'Baymont by Wyndham&amp;lt;br&amp;gt;4311 49 Ave&amp;lt;br&amp;gt;Red Deer, AB&amp;lt;br&amp;gt;T4N 5Y7&amp;lt;br&amp;gt;Canada', '+1 (403) 346-8841', 'Oct 25-26 2019', 145, 18, 'https://www.reddeerminicon.ca/registration', 'CAD');&lt;br /&gt;
addLocation(54.9634219,   37.4579341, 'Rusfurence', 'e7/Rusfurence2007.gif', 'rusfurence.ru', 'Vozdvizhenskoe Park Hotel&amp;lt;br&amp;gt;Rossiyskaya ul.&amp;lt;br&amp;gt;Serpukhov&amp;lt;br&amp;gt;Moscow Oblast 142261&amp;lt;br&amp;gt;Russia', '+7 495 526-67-00', 'Aug 28-Sep 1 2019', 404, 16);&lt;br /&gt;
addLocation(55.886411,-3.5062347, 'Scotiacon', 'b2/Tshirt_copy.png', 'scotiacon.org.uk', 'Mercure Livingston&amp;lt;br&amp;gt;Almondview&amp;lt;br&amp;gt;Livingston, EH54 6QB&amp;lt;br&amp;gt;United Kingdom', '+44 844 815 9102', 'Nov 15-17 2019', 348, 18, 'https://www.scotiacon.org.uk/attending/', 'GBP', [&lt;br /&gt;
['Attending','Friday-Sunday; conbadge; lanyard; conbook',70,'2019-03-06T20:00+0000','2019-11-01'],&lt;br /&gt;
['Sponsor','Friday-Sunday; Eat Scotland entry; T-shirt; glowsticks; shiny goodies; conbadge; lanyard; conbook',110,'2019-03-06T20:00+0000','2019-11-01'],&lt;br /&gt;
['Attending (At-Con)','Friday-Sunday; conbadge; lanyard; conbook',80,'2019-11-15','2019-11-17'],&lt;br /&gt;
['Sponsor (At-Con)','Friday-Sunday; Eat Scotland entry; T-shirt; glowsticks; shiny goodies; conbadge; lanyard; conbook',110,'2019-11-15','2019-11-17'],&lt;br /&gt;
['Day Ticket (At-Con)','One day only; conbadge; lanyard; conbook',35,'2019-11-17','2019-11-17']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(54.755623, 83.0087138, 'SibFyr', '83/SibFyrLogo.jpg', 'vk.com/sibfurs', 'Berdskaya Kosa Nature Reserve&amp;lt;br&amp;gt;Berdsk&amp;lt;br&amp;gt;Novosibirsk Oblast&amp;lt;br&amp;gt;Russia', '+7 (953) 790-22-88', 'Jun 27-Jul 1 2018', 11);&lt;br /&gt;
addLocation(31.279758,     121.4303036, 'Super Furry Fusion', '13/SuperFurryFusion.png', 'furrychina.com', 'Grand New Palace Banquet&amp;lt;br&amp;gt;88 Gaoping Rd&amp;lt;br&amp;gt;Zhabei District&amp;lt;br&amp;gt;Shanghai&amp;lt;br&amp;gt;China', '', 'Jul 28 2019', 253);&lt;br /&gt;
addLocation(33.7963444,   -117.7547691, 'SoCal FurBQ', 'b3/Socalfursmascot.gif', 'twitter.com/SoCalFurBQ', 'Irvine Regional Pk&amp;lt;br&amp;gt;1 Irvine Park Rd&amp;lt;br&amp;gt;Orange, CA 92869&amp;lt;br&amp;gt;USA', '+1 (714) 973-6835', 'Sep 28 2019', null);&lt;br /&gt;
addLocation(-43.0706148, 172.7432778, 'Southern Paws', ['db/SouthernPaws.png'], 'southernpaws.org.nz', 'Waipara Adventure Centre&amp;lt;br&amp;gt;137 Darnley Rd&amp;lt;br&amp;gt;Glasnevin 7483&amp;lt;br&amp;gt;New Zealand', '+64 3-314 6881', 'Aug 9-11 2019', null, null, 'https://southernpaws.org.nz/orders/create/', 'NZD', [&lt;br /&gt;
['Bunk Room','Slot in a 15-person room; no bedding',160,'2019-03-17T21:30+1200','2019-06-30T24:00+1200'],&lt;br /&gt;
['Cabin','Three or six person cabin; no bedding',190,'2019-02-05T21:30+1200','2019-06-30T24:00+1200'],&lt;br /&gt;
['Double','; no bedding',230,'2019-02-05T21:30+1200','2019-06-30T24:00+1200','SoldOut'],&lt;br /&gt;
]);&lt;br /&gt;
addLocation(-25.9683897, 27.8653654, 'South Afrifur', '3f/SouthAfrifur2017Logo.jpg', 'south-afrifur.co.za', 'Ekudeni Country Venue&amp;lt;br&amp;gt;Ekudeni Rd&amp;lt;br&amp;gt;Muldersdrift&amp;lt;br&amp;gt;Gauteng&amp;lt;br&amp;gt;South Africa', '+27 82 449 3669', 'Jul 12-15 2019', 43);&lt;br /&gt;
addLocation(47.6640566,-117.4094779, 'SpokAnthro', 'd7/SpokAnthro2019.jpg', 'spokanthro.org', 'Ruby River Inn&amp;lt;br&amp;gt;700 N Division St&amp;lt;br&amp;gt;Spokane, WA 99202&amp;lt;br&amp;gt;USA', '+1 509-326-5577', 'Aug 23-25 2019', null);&lt;br /&gt;
addLocation(49.278252, -125.041257, 'Surfur', '3f/SurFurLogo.png', 'surfur.ca', 'Taylor Arm Park&amp;lt;br&amp;gt;Pacific Rim Hwy&amp;lt;br&amp;gt;Alberni-Clayoquot D, BC&amp;lt;br&amp;gt;V0R 1W0&amp;lt;br&amp;gt;Canada', '+1 250-474-1336', 'Jun 22-26 2018', 81);&lt;br /&gt;
addLocation(36.059611, -95.961180, 'Tails and Tornadoes', '66/Ttfclogo.png', 'tailsandtornadoes.org', 'Marriott Tulsa Southern Hills&amp;lt;br&amp;gt;1902 E 71st St&amp;lt;br&amp;gt;Tulsa, OK 74136&amp;lt;br&amp;gt;USA', '+1 (918) 493-7000', 'Aug 31-Sep 1 2019', null, null, 'https://tailsandtornadoes.org/register-now/', 'USD', [&lt;br /&gt;
['Attending (Early Bird)','Friday-Sunday; conbook; badge; program',45,'2018-11-11T12:00-0600','2019-02-10T18:00-0500'],&lt;br /&gt;
['Attending','Friday-Sunday; conbook; badge; program',50,'2019-02-10T18:00-0500','2019-08-01'],&lt;br /&gt;
['Attending (At Door)','Friday-Sunday; conbook; badge; program',55,'2019-08-30','2018-09-01','InStoreOnly'],&lt;br /&gt;
['Sponsor','Friday-Sunday; T-shirt; poster; early-access seating; early badge pickup; conbook; badge; program',120,'2018-11-11T12:00-0600','2018-09-01'],&lt;br /&gt;
['Super Sponsor','Friday-Sunday; Guest of Honor dinner; reserved seating; early Dealers Den entry; T-shirt; poster; early-access seating; early badge pickup; conbook; badge; program',200,'2018-11-11T12:00-0600','2018-09-01'],&lt;br /&gt;
['Founder','Friday-Sunday; Attending upgradable membership for lifetime of con; glassware; personalized founder badge; premiere seating; name on registration plaque; Guest of Honor dinner; early Dealers Den entry; T-shirt; poster; early-access seating; early badge pickup; conbook; badge; program',500,'2018-02-10T18:00-0500','2018-09-01','LimitedAvailability']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(13.7465361, 100.5409268, 'Thaitails', '50/Thaitails2020.jpg', 'thaitails.net', 'Arnoma Grand Hotel Bangkok&amp;lt;br&amp;gt;99 Ratchadamri Rd&amp;lt;br&amp;gt;Khwaeng Lumphini&amp;lt;br&amp;gt;Khet Pathum Wan&amp;lt;br&amp;gt;Krung Thep Maha Nakhon&amp;lt;br&amp;gt;Bangkok 10330&amp;lt;br&amp;gt;Thailand', '+66 2 655 5555', 'Mar 21-22 2020', 358);&lt;br /&gt;
addLocation(38.8124198,-122.7119006, 'The Chase of Beasts', 'ea/TheChase.jpg', 'chase.pet', 'Whispering Pines Resort&amp;lt;br&amp;gt;17170 Hwy 175&amp;lt;br&amp;gt;Middletown, CA 95461&amp;lt;br&amp;gt;USA', '+1 707-928-5227', 'Oct 18-21 2019', null, 18, 'https://www.eventbrite.com/e/the-chase-2019-tickets-56307194334', 'USD', [&lt;br /&gt;
['Cabin Bed','Friday-Monday; single bed in a cabin; no bedding included',149,'2019-05-05','2019-10-18'],&lt;br /&gt;
['Camping Space','Friday-Monday; space to pitch a tend for one person',149,'2019-05-05','2019-10-22'],&lt;br /&gt;
['Bed Linens','Campground-provided, if not bringing your own',15,'2019-05-05','2019-10-18'],&lt;br /&gt;
['Meal Plan','Provided by L.S.D, order from page linked in description; Friday lunch and dinner; Saturday and Sunday breakfast and lunch; Saturday dinner is potluck (entrees and ice cream bar provided); Sunday dinner leftovers',42.99,'2019-05-05','2019-10-21']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(49.1706707,-123.1444377, 'VancouFur', '88/Vancoufur_Logo2.png', 'vancoufur.org', 'Sheraton Vancouver Airport&amp;lt;br&amp;gt;7551 Westminster Highway&amp;lt;br&amp;gt;Richmond, British Columbia&amp;lt;br&amp;gt;V6X 1A3&amp;lt;br&amp;gt;Canada', '+1 (604) 273-7878', 'Mar 12-15 2020', 1121, null);&lt;br /&gt;
addLocation(44.062919,-92.043204, 'Werecamp', '72/MNFurs.png', 'www.mnfurs.org/MNFurs_Talk/event/werecamp-2019', 'Whitewater State Park Group Center&amp;lt;br&amp;gt;MN-74, St Charles, MN 55972&amp;lt;br&amp;gt;USA', '', 'Mar 8-10 2019', 28);&lt;br /&gt;
addLocation(-31.9566319, 115.8655744, 'West Aussie Fur Frenzy', 'f7/WAFF2019.png', 'waff.net.au', 'Travelodge Perth&amp;lt;br&amp;gt;417 Hay St&amp;lt;br&amp;gt;Perth WA 6000&amp;lt;br&amp;gt;Australia', '+61 8 9238 1888', 'Sep 13-15 2019', null, 18, 'https://www.waff.net.au/#tickets', 'AUD', [&lt;br /&gt;
['Standard (Early Bird)','Friday-Sunday; con book; badge; lanyard',80,'2019-04-08T21:00+0800','2019-04-23T00:00+0800'],&lt;br /&gt;
['Premium (Early Bird)','Friday-Sunday; T-shirt; sticker; poster; con book; badge; lanyard',160,'2019-04-08T21:00+0800','2019-04-23T00:00+0800'],&lt;br /&gt;
['Sponsor (Early Bird)','Friday-Sunday; GoH meet and greet; custom headshot by Sneaky Lion Arts and name in con book; T-shirt; sticker; poster; con book; badge; lanyard',320,'2019-04-08T21:00+0800','2019-04-23T00:00+0800'],&lt;br /&gt;
['Standard (Pre-FurDu)','Friday-Sunday; con book; badge; lanyard',100,'2019-04-23T00:00+0800','2019-06-02T00:00+0800'],&lt;br /&gt;
['Premium (Pre-FurDu)','Friday-Sunday; T-shirt; sticker; poster; con book; badge; lanyard',180,'2019-04-23T00:00+0800','2019-06-02T00:00+0800'],&lt;br /&gt;
['Sponsor (Pre-FurDu)','Friday-Sunday; GoH meet and greet; custom headshot by Sneaky Lion Arts and name in con book; T-shirt; sticker; poster; con book; badge; lanyard',340,'2019-04-23T00:00+0800','2019-06-02T00:00+0800'],&lt;br /&gt;
['Standard','Friday-Sunday; con book; badge; lanyard',110,'2019-06-02T00:00+0800','2019-09-01T00:00+0800'],&lt;br /&gt;
['Premium','Friday-Sunday; T-shirt; sticker; poster; con book; badge; lanyard',190,'2019-06-02T00:00+0800','2019-09-01T00:00+0800'],&lt;br /&gt;
['Sponsor','Friday-Sunday; GoH meet and greet; custom headshot by Sneaky Lion Arts and name in con book; T-shirt; sticker; poster; con book; badge; lanyard',350,'2019-06-02T00:00+0800','2019-09-01T00:00+0800']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(40.4612, -79.7509, 'Western PA Furry Weekend', '27/WPAFWPaw.jpg', 'wpafw.org', 'Northpark Lodge&amp;lt;br&amp;gt;N Ridge Dr&amp;lt;br&amp;gt;Allison Park, PA 15101&amp;lt;br&amp;gt;USA', '+1 (724) 327-0338', 'Oct 4-6 2019', 368);&lt;br /&gt;
addLocation(43.327621, -88.950421, 'WI Wilderness Campout', '3f/WisconsinWildernessCampout.png', 'wildernesscampout.org', 'Astico County Park&amp;lt;br&amp;gt;8943 County Road T&amp;lt;br&amp;gt;Columbus, WI 53925&amp;lt;br&amp;gt;USA', '+1 (920) 386-3700', 'Aug 2-4 2019', 43, null, 'https://wifurs.regfox.com/wisconsin-wilderness-campout-2019', 'USD', [&lt;br /&gt;
['Standard','Firewood, Saturday/Sunday breakfast, Saturday dinner',20,'2019-01-01','2019-08-01T23:59-0500'],&lt;br /&gt;
['Sponsor','Firewood, Saturday/Sunday breakfast, Saturday dinner, T-shirt, secret gift',50,'2019-01-01','2019-08-01T23:59-0500']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(35.042611,   -95.317672, 'Wild Nights', ['1c/WildNightsMESA.png','f6/WildNights2019.jpg'], 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 25-30 2019', 292);&lt;br /&gt;
addLocation(54.9421823,  -2.5106227, 'Wild North', '7c/Wild_North_2018_Logo.jpg', 'myfurry.name/WildNorth', 'Featherstone Castle&amp;lt;br&amp;gt;Hall Bank, near Haltwhistle&amp;lt;br&amp;gt;Northumberland NE49 0JG&amp;lt;br&amp;gt;United Kingdom', '+44 1434 320 202', 'Sep 27-30 2019', 14, 18, 'https://myfurry.name/WildNorth', 'GBP', [&lt;br /&gt;
['Standard','Shared bedroom; Friday evening-Monday morning meals',150,'2019-03-01','2019-08-31']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(49.8936546,-97.1424676, 'Wild Prairie Fur Con', '56/Wild_Prairie_Fur_Con_logo.jpg', 'wpfcon.ca', 'Raddison Winnipeg Downtown&amp;lt;br&amp;gt;288 Portage Ave&amp;lt;br&amp;gt;Winnipeg, MB&amp;lt;br&amp;gt;R3C 0B8&amp;lt;br&amp;gt;Canada', '+1 204-956-0410', 'Aug 9-11 2019', 181);&lt;br /&gt;
addLocation(39.433722, -84.4956152, 'World Wild Fur Camp', 'f8/WorldWildFurCamp.jpg', 'worldwildfurcamp.com', 'YMCA Camp Campbell Gard&amp;lt;br&amp;gt;4803 Augspurger Rd&amp;lt;br&amp;gt;Hamilton, Ohio&amp;lt;br&amp;gt;USA', '+1 513-867-0600', 'Oct 31-Nov 1 2019', 50);&lt;br /&gt;
addLocation(50.532995,    30.36253, 'WUFF', '54/WUFFPaw.jpg', 'wuff.org.ua', 'Konhres-Hotel &amp;quot;Pushcha&amp;quot;&amp;lt;br&amp;gt;Mykoly Yunkerova St, 20&amp;lt;br&amp;gt;Kiev&amp;lt;br&amp;gt;Ukraine', '+380 44 364 9000', 'May 2020', 209, null)&lt;br /&gt;
addLocation(47.3939555, 10.8657581, 'Zillercon', '5d/Zillercon4logo.jpg', 'twitter.com/hashtag/zillercon?f=tweets', 'Lermoos&amp;lt;br&amp;gt;Österreich&amp;lt;br&amp;gt;Austria', '', 'Jan 20-27 2018', 40, 18, 'mailto:zillercon@gmail.com', 'EUR', [&lt;br /&gt;
['Attendee','Saturday-Saturday; accommodation; half-board',270,'2017-01-29','2017-12-01']&lt;br /&gt;
]);&lt;br /&gt;
addLocation(49.802422,   15.742647, 'ZodiaCon', '00/ZodiaCon2019.jpg', 'zodiacon.org', 'Vršovská Brána&amp;lt;br&amp;gt;Vršov 19&amp;lt;br&amp;gt;539 53 Horní Bradlo&amp;lt;br&amp;gt;Czechia', '+420 483 300 335', 'Jun 19-23 2019', 119);&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	return (b.datev - a.datev) || compare_name(a, b);&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
var bydate = document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return (meet.date?meet.date+&amp;quot; &amp;quot;:&amp;quot;&amp;quot;) + &amp;quot;&amp;lt;nobr&amp;gt;&amp;lt;b&amp;gt;&amp;quot; + meet.name + &amp;quot;&amp;lt;/b&amp;gt;&amp;quot; + (meet.age?&amp;quot; [&amp;quot;+meet.age+&amp;quot;+]&amp;quot;:&amp;quot;&amp;quot;) + &amp;quot;&amp;lt;/nobr&amp;gt;&amp;quot;});&lt;br /&gt;
}&lt;br /&gt;
bydate(); //trigger date sort&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh(function(meet){return &amp;quot;&amp;lt;nobr&amp;gt;&amp;lt;b&amp;gt;&amp;quot; + meet.name + &amp;quot;&amp;lt;/b&amp;gt;&amp;quot; + (meet.age?&amp;quot; [&amp;quot;+meet.age+&amp;quot;+]&amp;quot;:&amp;quot;&amp;quot;) + &amp;quot;&amp;lt;/nobr&amp;gt;&amp;quot;});&lt;br /&gt;
}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function(meet){return &amp;quot;&amp;lt;nobr&amp;gt;&amp;lt;b&amp;gt;&amp;quot; + meet.name + &amp;quot;&amp;lt;/b&amp;gt;&amp;lt;/nobr&amp;gt;&amp;quot; + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;)+(meet.age?&amp;quot; [&amp;quot;+meet.age+&amp;quot;+]&amp;quot;:&amp;quot;&amp;quot;)});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
var filterElement = document.getElementById(&amp;quot;filter&amp;quot;);&lt;br /&gt;
for (var filt in Filter) {&lt;br /&gt;
  var opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
  opt.innerHTML = Filter[filt].name+&amp;quot; (&amp;quot;+Filter[filt].count+&amp;quot;)&amp;quot;;&lt;br /&gt;
  opt.value = filt;&lt;br /&gt;
  filterElement.appendChild(opt);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
filterElement.onchange = function(){&lt;br /&gt;
    var selectedFilter = document.getElementById(&amp;quot;filter&amp;quot;).value &lt;br /&gt;
    var bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter function&lt;br /&gt;
        var visible = Filter[selectedFilter].in(meet.lat, meet.lng, meet.age);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
if (typeof google!=='undefined') {&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            var pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
} //google&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Page may be loaded with a hash (by Google or other links)&lt;br /&gt;
window.onhashchange = function(){&lt;br /&gt;
  document.getElementById(decodeURIComponent(window.location.hash.substring(1))).focus()&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// JSON-LD Events carousel for search engines&lt;br /&gt;
var eventItems = [];&lt;br /&gt;
var dateNow = Date.now();&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
  var addressParts = meet.address.replace(/&amp;quot;/g, '\\&amp;quot;').split('&amp;lt;br&amp;gt;');&lt;br /&gt;
  var locationName = addressParts[0];&lt;br /&gt;
  var country = addressParts.pop().split(' [')[0]; //pop off end, sans any notes&lt;br /&gt;
  var address = addressParts.slice(1).join(', '); //join back to string with commas, escape quotes&lt;br /&gt;
  var url = location.href.split('?')[0].split('#')[0]; //cut any query or fragment&lt;br /&gt;
  var endDate = meet.datev;&lt;br /&gt;
  var h = meet.date.indexOf('-');&lt;br /&gt;
  if(h &amp;gt; 0) {//multi-day event&lt;br /&gt;
    if(meet.date.length &amp;lt; h + 7){//New year; add one to prior year&lt;br /&gt;
      endDate = getmonthvalue(meet.date.substring(h+1) + &amp;quot; &amp;quot; + (parseInt(meet.date.substring(h-4, h))+1));&lt;br /&gt;
    }else if(meet.date.length &amp;lt; h + 9){//Shared month, need to splice&lt;br /&gt;
      endDate = getmonthvalue(meet.date.substring(0,4)+meet.date.substring(h+1));&lt;br /&gt;
    }else{//Already valid&lt;br /&gt;
      endDate = getmonthvalue(meet.date.substring(h+1));&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  var offers = [];&lt;br /&gt;
  if(meet.offers){&lt;br /&gt;
   for(var c = 0; c &amp;lt; meet.currency.length; c++){//length&amp;gt;1? expect a price array, else numeric&lt;br /&gt;
    for(var j = 0; j &amp;lt; meet.offers.length; j++){&lt;br /&gt;
      if(meet.offers[j].length &amp;gt; 4 &amp;amp;&amp;amp; new Date(meet.offers[j][4]) &amp;gt; dateNow)//no expired offers-check below if it's available yet&lt;br /&gt;
        offers.push('{\&lt;br /&gt;
&amp;quot;@type&amp;quot;: &amp;quot;Offer&amp;quot;'+(new Date(meet.offers[j][3]) &amp;lt;= dateNow?',\&lt;br /&gt;
&amp;quot;availability&amp;quot;: &amp;quot;'+(meet.offers[j].length&amp;gt;5?meet.offers[j][5]:'InStock')+'&amp;quot;':'')+',\&lt;br /&gt;
&amp;quot;url&amp;quot;: &amp;quot;'+meet.registration+'&amp;quot;,\&lt;br /&gt;
&amp;quot;name&amp;quot;: &amp;quot;'+meet.offers[j][0]+'&amp;quot;,\&lt;br /&gt;
&amp;quot;description&amp;quot;: &amp;quot;'+meet.offers[j][1]+'&amp;quot;,\&lt;br /&gt;
&amp;quot;price&amp;quot;: &amp;quot;'+(meet.currency.length&amp;gt;1?meet.offers[j][2][c]:meet.offers[j][2])+'&amp;quot;,\&lt;br /&gt;
&amp;quot;priceCurrency&amp;quot;: &amp;quot;'+meet.currency[c]+'&amp;quot;,\&lt;br /&gt;
&amp;quot;validFrom&amp;quot;: &amp;quot;'+meet.offers[j][3]+'&amp;quot;,\&lt;br /&gt;
&amp;quot;validThrough&amp;quot;: &amp;quot;'+meet.offers[j][4]+'&amp;quot;}');&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
  }&lt;br /&gt;
  eventItems.push('{\&lt;br /&gt;
&amp;quot;@type&amp;quot;: &amp;quot;ListItem&amp;quot;,\&lt;br /&gt;
&amp;quot;position&amp;quot;: &amp;quot;'+(i+1)+'&amp;quot;,\&lt;br /&gt;
&amp;quot;item&amp;quot;: {\&lt;br /&gt;
 &amp;quot;@type&amp;quot;: &amp;quot;Event&amp;quot;,\&lt;br /&gt;
 &amp;quot;name&amp;quot;: &amp;quot;'+meet.name.replace(/&amp;quot;/g, '\\&amp;quot;')+'&amp;quot;,\&lt;br /&gt;
 &amp;quot;url&amp;quot;: &amp;quot;'+url+'#'+meet.nameForWikiURL+'&amp;quot;'+(meet.img?',\&lt;br /&gt;
 &amp;quot;image&amp;quot;: [&amp;quot;'+meet.img.join('&amp;quot;,&amp;quot;')+'&amp;quot;]':'')+',\&lt;br /&gt;
 &amp;quot;sameAs&amp;quot;: [&amp;quot;http://'+meet.url+'&amp;quot;, &amp;quot;https://en.wikifur.com/wiki/'+meet.nameForWikiURL+'&amp;quot;],\&lt;br /&gt;
 &amp;quot;startDate&amp;quot;: &amp;quot;'+meet.datev+'&amp;quot;,\&lt;br /&gt;
 &amp;quot;endDate&amp;quot;: &amp;quot;'+endDate+'&amp;quot;'+(meet.age?',\&lt;br /&gt;
 &amp;quot;typicalAgeRange&amp;quot;: &amp;quot;'+meet.age+'-&amp;quot;':'')+(meet.attendance?',\&lt;br /&gt;
 &amp;quot;maximumAttendeeCapacity&amp;quot;: &amp;quot;'+meet.attendance+'&amp;quot;':'')+(offers.length&amp;gt;0?',\&lt;br /&gt;
 &amp;quot;offers&amp;quot;: ['+offers.join()+']':'')+',\&lt;br /&gt;
 &amp;quot;location&amp;quot;: {\&lt;br /&gt;
  &amp;quot;@type&amp;quot;: &amp;quot;Place&amp;quot;,\&lt;br /&gt;
  &amp;quot;name&amp;quot;: &amp;quot;'+locationName+'&amp;quot;,\&lt;br /&gt;
  &amp;quot;address&amp;quot;: {\&lt;br /&gt;
   &amp;quot;@type&amp;quot;: &amp;quot;PostalAddress&amp;quot;,\&lt;br /&gt;
   &amp;quot;streetAddress&amp;quot;: &amp;quot;'+address+'&amp;quot;,\&lt;br /&gt;
   &amp;quot;addressCountry&amp;quot;: &amp;quot;'+country+(meet.tel?'&amp;quot;,\&lt;br /&gt;
   &amp;quot;telephone&amp;quot;: &amp;quot;'+meet.tel:'')+'&amp;quot;\&lt;br /&gt;
  },\&lt;br /&gt;
  &amp;quot;geo&amp;quot;: {\&lt;br /&gt;
   &amp;quot;@type&amp;quot;: &amp;quot;GeoCoordinates&amp;quot;,\&lt;br /&gt;
   &amp;quot;latitude&amp;quot;: &amp;quot;'+meet.lat+'&amp;quot;,\&lt;br /&gt;
   &amp;quot;longitude&amp;quot;: &amp;quot;'+meet.lng+'&amp;quot;\&lt;br /&gt;
  }\&lt;br /&gt;
 }\&lt;br /&gt;
}\&lt;br /&gt;
}');&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var ld = document.createElement(&amp;quot;script&amp;quot;);&lt;br /&gt;
ld.type = 'application/ld+json';&lt;br /&gt;
ld.innerHTML = '{\&lt;br /&gt;
&amp;quot;@context&amp;quot;: &amp;quot;http://schema.org&amp;quot;,\&lt;br /&gt;
&amp;quot;@type&amp;quot;: &amp;quot;ItemList&amp;quot;,\&lt;br /&gt;
&amp;quot;name&amp;quot;: &amp;quot;Upcoming Furry Events&amp;quot;,\&lt;br /&gt;
&amp;quot;description&amp;quot;: &amp;quot;List of upcoming events on WikiFur\'s Furry Convention Map.&amp;quot;,\&lt;br /&gt;
&amp;quot;url&amp;quot;: &amp;quot;https://en.wikifur.com/FurryConventionMap.html&amp;quot;,\&lt;br /&gt;
&amp;quot;sameAs&amp;quot;: [&amp;quot;https://en.wikifur.com/wiki/Template:Upcoming_events&amp;quot;, &amp;quot;https://pool.wikifur.com/wiki/Convention_map_script&amp;quot;],\&lt;br /&gt;
&amp;quot;itemListOrder&amp;quot;: &amp;quot;ItemListUnordered&amp;quot;,\&lt;br /&gt;
&amp;quot;itemListElement&amp;quot;:\&lt;br /&gt;
['+eventItems.join()+']}';&lt;br /&gt;
document.getElementsByTagName('head')[0].appendChild(ld);&lt;br /&gt;
eventItems = null;&lt;br /&gt;
&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates like &amp;quot;Jan 17-Feb 2 2014&amp;quot; into an integer like 20140117 for sorting&lt;br /&gt;
// should accept anything that looks like a date.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
    var x; &lt;br /&gt;
    var v;&lt;br /&gt;
    var y;&lt;br /&gt;
    var day; &lt;br /&gt;
    var month; &lt;br /&gt;
    var year;&lt;br /&gt;
    &lt;br /&gt;
	if (!s) {return 20000101;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (x &amp;amp;&amp;amp; x[1]) {&lt;br /&gt;
	    day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	    if (day &amp;gt; 1980) {day = 1;}&lt;br /&gt;
	&lt;br /&gt;
	    switch (x[1]){&lt;br /&gt;
		    case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		    case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		    case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		    case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		    case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		    case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		    case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		    case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		    case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		    case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		    case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		    case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		    default:	month = 1;&lt;br /&gt;
	    }&lt;br /&gt;
	} else {&lt;br /&gt;
	    month = 1;&lt;br /&gt;
	    day = 1;&lt;br /&gt;
	} &lt;br /&gt;
	&lt;br /&gt;
	y = /[0-9]{4}/.exec(s);&lt;br /&gt;
	if (y) {&lt;br /&gt;
		year = (v=parseInt(y[0]))?v:0;&lt;br /&gt;
    	if (year &amp;gt; 9999) {year = 9999;}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return year * 10000 + month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(meet) {&lt;br /&gt;
  return '&amp;lt;center&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a title=&amp;quot;' + meet.name + ' on WikiFur&amp;quot; href=&amp;quot;/wiki/' + meet.nameForWikiURL + '&amp;quot;&amp;gt;' + meet.name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' +&lt;br /&gt;
	(meet.url?'&amp;amp;nbsp;–&amp;amp;nbsp;&amp;lt;a href=&amp;quot;http://' + meet.url + '&amp;quot;&amp;gt;' + meet.url + '&amp;lt;/a&amp;gt;':'') + (meet.age?'&amp;amp;nbsp;'+meet.age+'+':'') + '&amp;lt;/center&amp;gt;' +&lt;br /&gt;
        '&amp;lt;table style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;tr valign=top&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	'&amp;lt;a title=&amp;quot;Directions on Google Maps&amp;quot; href=&amp;quot;//www.google.com/maps/dir/?api=1&amp;amp;destination=' + encodeURIComponent(meet.address.split(' [')[0].replace(/&amp;lt;br\s*\/?&amp;gt;/gi,', ')) + '&amp;quot;&amp;gt;' + meet.address + '&amp;lt;/a&amp;gt;' +&lt;br /&gt;
	 (meet.tel?&lt;br /&gt;
		'&amp;lt;br&amp;gt;' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a title=&amp;quot;Call venue&amp;quot; href=&amp;quot;tel:' + meet.tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + meet.tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:meet.tel)&lt;br /&gt;
		:'') + &lt;br /&gt;
	(meet.date?'&amp;lt;br&amp;gt;'+meet.date:'') +&lt;br /&gt;
	(meet.attendance?'&amp;lt;br&amp;gt;Past atnd. '+ meet.attendance:'') +&lt;br /&gt;
	'&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;' + (meet.img?'&amp;lt;td&amp;gt;&amp;lt;img src=&amp;quot;' + meet.img[0] + '&amp;quot; style=&amp;quot;margin-top:5px;max-width:250px;max-height:110px&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;':'') + '&amp;lt;/table&amp;gt;';&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function processImages(img){&lt;br /&gt;
  if(!img) return;&lt;br /&gt;
  if(typeof img==='string') //'xx/xx.jpg' &lt;br /&gt;
    img = [img];&lt;br /&gt;
&lt;br /&gt;
  for (var i = 0;i &amp;lt; img.length;i++){ //['xx/xx.jpg','yy/yy.jpg']&lt;br /&gt;
    if (0!==img[i].indexOf('http'))&lt;br /&gt;
      img[i]='https://en.wikifur.com/w/images/'+img[i].substring(0,1)+'/'+img[i];&lt;br /&gt;
  }&lt;br /&gt;
  return img;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, img, url, address, tel, date, attendance, age, registration, currency, offers){&lt;br /&gt;
  //If null or full URL, pass img through, else generate from suffix (first character is name of interveing directory)&lt;br /&gt;
  meets.push({'lat':lat, 'lng':lng, 'name':name, 'nameForWikiURL':name.replace(/\s/g, '_'), 'img':processImages(img), 'url':url, 'address':address, 'tel':tel, 'date':date, 'datev':getmonthvalue(date), 'attendance':attendance, 'age':age, 'registration':registration, 'currency':typeof currency==='string'?[currency]:currency, 'offers':offers});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.li){&lt;br /&gt;
&lt;br /&gt;
        var link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
        link.id = a.nameForWikiURL;&lt;br /&gt;
&lt;br /&gt;
if (typeof google!=='undefined') {&lt;br /&gt;
        //make the marker -- defined colours are red, purple, blue, yellow, green, ltblue, pink, orange&lt;br /&gt;
        a.marker = new google.maps.Marker({&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: a.name,&lt;br /&gt;
            icon: {url: &amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/ms/micons/&amp;quot;+(a.attendance &amp;gt;= 3000 ? &amp;quot;red&amp;quot; : (a.attendance &amp;gt;= 1250 ? &amp;quot;yellow&amp;quot; : (a.attendance &amp;gt;= 800 ? &amp;quot;green&amp;quot; : (a.attendance &amp;gt;= 400 ? &amp;quot;purple&amp;quot; : &amp;quot;blue&amp;quot; ) ) ) )+&amp;quot;-dot.png&amp;quot;},&lt;br /&gt;
            zIndex: (a.attendance || 0)&lt;br /&gt;
        });&lt;br /&gt;
        var fn = function() {&lt;br /&gt;
            //if we can't see the marker, show it in the center&lt;br /&gt;
            if (!map.getBounds().contains(a.marker.getPosition())){&lt;br /&gt;
                map.panTo(a.marker.getPosition());&lt;br /&gt;
            }&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
            location.hash = a.nameForWikiURL;&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        link.onfocus = fn;&lt;br /&gt;
        link.href = &amp;quot;#&amp;quot;+a.nameForWikiURL;&lt;br /&gt;
} else {&lt;br /&gt;
        link.href = &amp;quot;/wiki/&amp;quot;+a.nameForWikiURL;&lt;br /&gt;
}//google        &lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        for(var filt in Filter) {&lt;br /&gt;
            if (Filter[filt].in(a.lat, a.lng, a.age)) Filter[filt].count++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    //(re)insert the item into list&lt;br /&gt;
    document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Talk:Convention_map_script</id>
		<title>Talk:Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Talk:Convention_map_script"/>
				<updated>2018-05-23T20:35:20Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: /* Some Japanese conventions are missing */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This script is imported by http://greenreaper.co.uk/wikifur/ConventionMap.html - feel free to update as appropriate, but make sure you didn't break it! :-) --[[User:GreenReaper|GreenReaper]]&amp;lt;sup&amp;gt;([[User talk:GreenReaper|talk]])&amp;lt;/sup&amp;gt; 02:51, 5 November 2006 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Objective? ==&lt;br /&gt;
&lt;br /&gt;
This map script is here as a subpage of the [[:en:List of conventions by attendance|list of conventions by attendance]], but I see no attendance information in the map. What would be the objective of the map, here? List only the conventions locations; or also list their dates, or attendance? Also, isn't it interesting to remove past events such as [[:en:C-ACE|C-ACE]]? Thanks. [[User:Ekevu|Ekevu]] 16:48, 23 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
:There is not intended to be any attendance figures on the map - it's only meant to have the addresses and locations on it, though adding more information like dates would be fine as long as people kept it updated. This was simply the best place I could think of putting it, since it has a complete list of conventions here (I worked off that when I was creating the map). Not sure what you mean by &amp;quot;isn't it interesting&amp;quot; . . . but sure, if an event is gone, it should be removed, or alternatively we should figure out a way to separate current and past conventions. --[[User:GreenReaper|GreenReaper]]&amp;lt;sup&amp;gt;([[User talk:GreenReaper|talk]])&amp;lt;/sup&amp;gt; 16:55, 23 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: Actually I was looking for a convention close to Toronto between November and January, and I kind of missed this information. It's not like there is that many events anyway, that was more of a rant than real suggesting/complaining. I was just wondering why it's in &amp;quot;list of conventions by attendance&amp;quot;. [[User:Ekevu|Ekevu]] 18:30, 23 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::Well, it's on the front page as well, at the bottom of Upcoming Events. :-) The link to edit it is here because I created it from this list. --[[User:GreenReaper|GreenReaper]]&amp;lt;sup&amp;gt;([[User talk:GreenReaper|talk]])&amp;lt;/sup&amp;gt; 18:39, 23 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Discussion that happened on Twitter today (because I couldn't keep my suggestions on wiki) ==&lt;br /&gt;
&lt;br /&gt;
A discussion about the convention map's handling of year values, starting here: https://twitter.com/Kidakins/status/722467931767103488 --[[User:Kakurady|Kakurady]] ([[User talk:Kakurady|talk]]) 21:34, 19 April 2016 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Some Japanese conventions are missing ==&lt;br /&gt;
&lt;br /&gt;
Misses Creafurs, Fullmof, Fur~st, Happy Tails, Kemono Square, Kemo Yobi, Kigukemo, etc. Leaving this here before I dig myself too deep and spend hours getting all the convention info camera-ready --[[User:Kakurady|Kakurady]] ([[User talk:Kakurady|talk]]) 16:35, 23 May 2018 (EDT)&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2018-05-23T17:12:12Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Mai -&amp;gt; May&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the cog and Share (or check the URL) and copy the first two numbers after the '@' (including the decimal bits). &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_japan = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_JAPAN = 4;&lt;br /&gt;
var FILT_OTHERS = 5;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
function is_in_japan(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var yellowIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/yellow-dot.png&amp;quot;);&lt;br /&gt;
var greenIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/green-dot.png&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website name [no http[s]://]', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
addLocation(48.499678, 9.150536, 'Furvester', 'furvester.org', 'Carl-Zeiss-Straße 75&amp;lt;br&amp;gt;72770 Reutlingen&amp;lt;br&amp;gt;Germany', '+49 (07121) 5840', 'Dec 29-1 2018', null);&lt;br /&gt;
addLocation(29.5057863,   -98.5495143, 'Alamo City Furry Invasion', 'furryinvasion.org', 'San Antonio Marriott Northwest&amp;lt;br&amp;gt;3233 NW Loop 410&amp;lt;br&amp;gt;San Antonio, TX 78213&amp;lt;br&amp;gt;USA', '+1 (210) 377-3900', 'Oct 7-8 2017', null);&lt;br /&gt;
//addLocation(-37.891950,-57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(30.3709252,   -81.4089605, 'Annual JaxFurs Spring Picnic', 'floridafurs.com', 'Kathryn Abbey Hanna Park&amp;lt;br&amp;gt;500 Wonderwood Dr&amp;lt;br&amp;gt;Jacksonville, FL 32233&amp;lt;br&amp;gt;USA', '(+1 (904) 249-4700', 'Apr 22 2017', 127);&lt;br /&gt;
addLocation(35.833243, -78.771843, 'Anthro Crossroads East', 'www.anthrocrossroads.com', 'Embassy Suites, Raleigh-Durham-Research Triangle&amp;lt;br&amp;gt;201 Harrison Oaks Blvd&amp;lt;br&amp;gt;Cary, NC 27513&amp;lt;br&amp;gt;USA', '+1 (919) 677-1840', 'Jan 18-20 2019', 295);&lt;br /&gt;
addLocation(42.353979,   -71.105356, 'Anthro New England', 'www.anthronewengland.org', 'Hyatt Regency Cambridge, Overlooking Boston&amp;lt;br&amp;gt;575 Memorial Dr&amp;lt;br&amp;gt;Cambridge, MA&amp;lt;br&amp;gt;USA', '1(617) 492-1234', 'Jan 19-22 2017', 965);&lt;br /&gt;
addLocation(47.6067596,   -122.3332647, 'Anthro Northwest', 'www.anthronw.com', 'Renaissance Seattle Hotel&amp;lt;br&amp;gt;515 Madison St, Seattle, WA 98104&amp;lt;br&amp;gt;USA', '+1 (206) 583-0300', 'Nov 8-11 2018', null);&lt;br /&gt;
addLocation(40.769060, -111.897906, 'Anthro Weekend Utah', 'www.anthroweekendutah.org', 'Radisson Salt Lake City Downtown&amp;lt;br&amp;gt;215 S Temple, Salt Lake City, UT 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', 'Oct 27-28 2017', null);&lt;br /&gt;
addLocation(40.105846,   -83.017244, 'AnthrOhio', 'anthrohio.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 26-28 2017', 546);&lt;br /&gt;
addLocation(40.444334,   -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jun 29-Jul 2 2017', 7544);&lt;br /&gt;
addLocation(43.569967, -89.769743, 'AquatiFur', 'aquatifur.com', 'Kalahari Resorts Dells&amp;lt;br&amp;gt;1305 Kalahari Drive&amp;lt;br&amp;gt;Wisconsin Dells, WI 53965&amp;lt;br&amp;gt;USA', '+1 (608) 254-5466', 'Oct 20-22 2017', null);&lt;br /&gt;
addLocation(33.548246,  -112.046348, 'Arizona Fur Con', 'Arizonafurcon.com', 'Pointe Hilton Squaw Peak Resort&amp;lt;br&amp;gt;N 16th St&amp;lt;br&amp;gt;Phoenix, Arizona 85020&amp;lt;br&amp;gt;USA', '1(602) 997-2626', 'Sep 30-Oct 2 2016', 725);&lt;br /&gt;
addLocation(34.745865, -92.400043, 'ArkConsas', 'www.arkconsas.com', 'Embassy Suites Little Rock&amp;lt;br&amp;gt;11301 Financial Centre Pkwy&amp;lt;br&amp;gt;Little Rock, AR 72211&amp;lt;br&amp;gt;USA', '1 (501) 312-9000', 'Jan 5-9 2017', null);&lt;br /&gt;
addLocation(39.384661, -74.428310, 'Atlantic City Fur Con', 'www.acfurcon.com', 'Harrah\'s Resort Atlantic City&amp;lt;br&amp;gt;777 Harrah\'s Blvd&amp;lt;br&amp;gt;Atlantic City, NJ 08401&amp;lt;br&amp;gt;USA', '+1  (609) 441-5000', 'Sep 28-30 2018', null);&lt;br /&gt;
//addLocation(52.597652,   13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 18-21 2015', 89);&lt;br /&gt;
addLocation(46.979122,   -112.526529, 'Big Sky Paw Camp', 'www.bigskycampcon.org', 'Aspen Grove Picnic Area&amp;lt;br&amp;gt;Lincoln, Montana 59639&amp;lt;br&amp;gt;USA', '', 'June 23-25 2017', 40);&lt;br /&gt;
addLocation(39.523177,   -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'May 12-15 2016', 5138);&lt;br /&gt;
addLocation(-25.518127,  -49.255450, 'Boliche Furry Paraná', 'facebook.com/bolichefurryparana', 'Big Bowl Boliche&amp;lt;br&amp;gt;R. Francisco Derosso, 3480&amp;lt;br&amp;gt;Curitiba, PR&amp;lt;br&amp;gt;Brazil', '','Apr 28 2018', 45);&lt;br /&gt;
addLocation(-23.970691,  -46.329962, 'Brasil FurFest', 'brasilfurfest.com.br', 'Hotel Mercure Santos&amp;lt;br&amp;gt;Av. Washington Luiz, 565&amp;lt;br&amp;gt;Santos, SP&amp;lt;br&amp;gt;Brazil', '','Aug 17-19 2018', 287);&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
addLocation(34.080577,  -117.762728, 'Califur', 'califur.com', 'Sheraton Fairplex Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;601 W McKinley Ave&amp;lt;br&amp;gt;Pomona, CA 91768&amp;lt;br&amp;gt;USA', '', 'Jun 3-5 2016', 1317);&lt;br /&gt;
addLocation(43.721056,  -121.291552, 'Campfire Tails', 'campfiretails.org', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Aug 4-8 2016', 143);&lt;br /&gt;
addLocation(49.381977,   -121.446555, 'CampFur', 'campfur.ca', 'Near Hope&amp;lt;br&amp;gt;Hope, BC V0X 1L0&amp;lt;br&amp;gt;Canada', '', 'Jun 16-19 2017', null);&lt;br /&gt;
addLocation(19.503268, -99.391848, 'Camping Paws', 'facebook.com/CapitalFurCampingPaws/', 'Capoxi Water Dam&amp;lt;br&amp;gt;54570 Jilotzingo, Estado de Mexico&amp;lt;br&amp;gt;Mexico', '', 'Mar 31-Apr 1 2018', 25);&lt;br /&gt;
addLocation(45.4198698, -75.6989379, 'CanFURence', 'www.canfurence.ca', '185 Slater Street&amp;lt;br&amp;gt;Ottawa ON  K1P OC8&amp;lt;br&amp;gt;Canada', '+1 844-258-6882', 'Nov 10-12 2017', 322);&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439,     -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(37.686355,   -97.342702, 'Central Plains Furcon', 'cpfurcon.com', 'Drury Plaza Hotel Broadview&amp;lt;br&amp;gt;400 West Douglas Ave&amp;lt;br&amp;gt;Wichita, KS 67202&amp;lt;br&amp;gt;USA', '', 'Sep 1-4 2016', 100)&lt;br /&gt;
addLocation(37.611267, -97.631684, 'Central Plains Fur Meet', 'www.centralplainsfurmeet.com', 'near Lake Afton&amp;lt;br&amp;gt;Goddard, KS 67052&amp;lt;br&amp;gt;USA', '', 'May 19-21 2017', null);&lt;br /&gt;
addLocation(49.638649,    15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jul 6-10 2016', 107);&lt;br /&gt;
//addLocation(23.061687, 113.296423, 'China National Furry Party', 'www.fb.com/CNFP2015', ', Guangzhou&amp;lt;br&amp;gt;China', '', 'Jul 8-19 2015', 40);&lt;br /&gt;
addLocation(50.935659,     6.965116, 'Cologne Furdance', 'www.crosscombined.de', 'Maritim Hotel, Heumarkt 20, 50667 Köln, Germany', '', 'Jul 30 2016', 201); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
//addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 1-3 2014', 251);&lt;br /&gt;
addLocation(-37.820007,  145.013429, 'ConFurgence', 'confurgence.com', 'Amora Hotel Riverwalk&amp;lt;br&amp;gt;649 Bridge Road&amp;lt;br&amp;gt;Richmond, Melbourne, Victoria, 3121&amp;lt;br&amp;gt;Australia', '+61-3-9027-2000', 'Jan 6-8 2017', 681);&lt;br /&gt;
addLocation(52.450713,    -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 26-30 2017', 1451);&lt;br /&gt;
addLocation(-15.653101, -56.122124, 'Cuiabark', 'www.facebook.com/cuiabark', 'Gran Boliche&amp;lt;br&amp;gt;Av. Presidente Artur Bernardes, s/n &amp;lt;br&amp;gt;Cuiabá, MT &amp;lt;br&amp;gt;Brazil', '','Feb 24 2018', 20);&lt;br /&gt;
addLocation(39.771895, -104.806944, 'DenFur', 'www.denfur.co', 'Crowne Plaza Denver Airport Convention Center&amp;lt;br&amp;gt;15500 E 40th Ave&amp;lt;br&amp;gt;Denver, CO 80239&amp;lt;br&amp;gt;USA', '+1 (303) 371-9494', 'Aug 24-26 2018', null);&lt;br /&gt;
//addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 19-21 2015');&lt;br /&gt;
addLocation(51.844531,    12.208828, 'EAST', 'www.east-convention.de.vu', 'DJH Jugendherberge&amp;lt;br&amp;gt;Ebertallee 151, 06846&amp;lt;br&amp;gt;Dessau-Roßlau&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Jul 13-17 2016');&lt;br /&gt;
addLocation(28.33704,    -81.587777, 'Elliott\'s Live Events', 'elliottsliveevents.org', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(30.475459,-87.201477, 'Emerald\'s Fur Summit', 'emeraldfurcon.org', 'Homewood Suites by Hilton Pensacola-Arpt&amp;lt;br&amp;gt;5049 Corporate Woods Dr, Pensacola, FL 32504, USA', '+1 (850) 474-3777', 'Apr 29 2017', 126);&lt;br /&gt;
addLocation(52.474897,    13.459467, 'Eurofurence', 'eurofurence.org', 'Estrel Hotel Berlin&amp;lt;br&amp;gt;Sonnenallee 225&amp;lt;br&amp;gt;12057 Berlin&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 17-21 2016', 2322);&lt;br /&gt;
//addLocation(37.247901, -93.259639, 'F3 Convention', 'www.f3con.com', 'Lamplighter Inn &amp;amp; Suites, North&amp;lt;br&amp;gt;2820 N Glenstone Ave&amp;lt;br&amp;gt;Springfield, MO 65803&amp;lt;br&amp;gt;USA', '+1 (417) 869-3900', 'Nov 20-23 2014', 55);&lt;br /&gt;
addLocation(38.960831,   -77.423238, 'FA: United', 'faunited.org', 'Hyatt Regency Dulles&amp;lt;br&amp;gt;2300 Dulles Corner Blvd.&amp;lt;br&amp;gt;Herndon, Virginia 20171&amp;lt;br&amp;gt;USA', '+1 703 713 1234', 'Aug 12-14 2016', 539);&lt;br /&gt;
addLocation(33.43743,    -86.726235, 'Fangcon', 'fangcon.org', 'Hilton Hotel Perimeter Park&amp;lt;br&amp;gt;8 Perimeter Park S&amp;lt;br&amp;gt;Birmingham, AL 35243&amp;lt;br&amp;gt;USA', '+1 (205) 967-2700', 'Oct 27-31 2016', 427);&lt;br /&gt;
addLocation(-12.970364,  -38.473011, 'Fera Bowl', 'facebook.com/ferabowlbahia', 'Bela Bowling&amp;lt;br&amp;gt;Al. Euvaldo Luz, 92&amp;lt;br&amp;gt;Salvador, BA&amp;lt;br&amp;gt;Brazil', '','May 19 2018', 23);&lt;br /&gt;
addLocation(45.880449,   -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 25-29 2016', 94);&lt;br /&gt;
addLocation(60.412912,    25.038261, 'FinFur Animus', 'animus.finfur.net', 'Kokoushotelli Gustavelund, Tuusula, Finland', '', 'Jun 16-19 2016', 124);&lt;br /&gt;
//addLocation(62.02209,     30.0185, 'FinFur Summer Camp', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
//addLocation(35.454262, 139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(43.027227,   -88.108102, 'Fur Squared', 'www.fursquared.com', 'Sheraton Milwaukee Brookfield Hotel&amp;lt;br&amp;gt;375 S Moorland Rd&amp;lt;br&amp;gt;Brookfield, WI 53005&amp;lt;br&amp;gt;USA', '+1 (262) 364-1100', 'Feb 23-25 2018', 791);&lt;br /&gt;
addLocation(51.2764173,  -3.0125542, 'Furcation', 'furcation.org.uk', 'Sandy Glade Holiday Park&amp;lt;br&amp;gt;Brean Sands, Somerset&amp;lt;br&amp;gt;UK', '', 'Oct 14-17 2016', 0);&lt;br /&gt;
addLocation(44.150581, -89.164606, 'FURconsin', 'www.furconsin.com', 'near Little Hills Lake&amp;lt;br&amp;gt;Wild Rose, WI 54984&amp;lt;br&amp;gt;USA', 'N/A', 'Oct 12-16 2017', 28);&lt;br /&gt;
addLocation(-41.239835,  174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 5-8 2016', 50);&lt;br /&gt;
addLocation(-23.668839,  -46.577533, 'Furboliche', 'furboliche.com.br', 'Bomboliche Extra Anchieta&amp;lt;br&amp;gt;R. García Lorca, 301&amp;lt;br&amp;gt;S&amp;amp;atilde;o Bernardo do Campo, SP&amp;lt;br&amp;gt;Brazil', '','Mar 9 2019', 203);&lt;br /&gt;
addLocation(-24.309323,  -48.273633, 'Furcamp', 'www.facebook.com/events/183414388930807/', 'Intervales State Park&amp;lt;br&amp;gt;Estrada Municipal, km 25&amp;lt;br&amp;gt;Ribeir&amp;amp;atilde;o Grande, SP&amp;lt;br&amp;gt;Brazil', '','Mar 2-5 2019', 0);&lt;br /&gt;
addLocation(-22.997039,  -43.358095, 'Furstrike', 'www.facebook.com/furstrike', 'Barra Shopping&amp;lt;br&amp;gt;Av. das Américas, 4666 &amp;lt;br&amp;gt;Rio de Janeiro, RJ &amp;lt;br&amp;gt;Brazil', '','Oct 13 2018', 107);&lt;br /&gt;
addLocation(-27.997818,  153.429297, 'FurDU', 'www.furdu.com', 'Outrigger Hotel Surfers Paradise&amp;lt;br&amp;gt;22 View Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'May 27-29 2016', 490);&lt;br /&gt;
addLocation(53.5687483,-113.5238331, 'Fur-eh!', 'fureh.ca', 'Ramada Inn &amp;amp; Conference Center&amp;lt;br&amp;gt;11834 Kingsway Avenue&amp;lt;br&amp;gt;Edmonton, Alberta&amp;lt;br&amp;gt;Canada, T5G 3J5', '+1 (780) 454-5454', 'June 1-4 2017', 625);&lt;br /&gt;
addLocation(27.3354428,-82.575817, 'Furight Night', 'furightnight.weebly.com', 'Ken Thompson Park&amp;lt;br&amp;gt;1799 Ken Thompson Parkway&amp;lt;br&amp;gt;Sarasota, FL 34236&amp;lt;br&amp;gt;USA', '+1 (941) 735-4035', 'Oct 14 2017', null);&lt;br /&gt;
addLocation(46.183333, 11.266667, 'Furizon', 'www.furizon.net', 'Segonzano, TN 38047&amp;lt;br&amp;gt; Italy', '', 'June 1-4 2017', '')&lt;br /&gt;
addLocation(42.134573,   -72.6314187, 'Fur-Xoticon', 'www.fur-xoticon.org', 'Clarion Hotel &amp;amp; Aqua Lagoon Waterpark&amp;lt;br&amp;gt;1080 Riverdale St&amp;lt;br&amp;gt;West Springfield, MA 01089&amp;lt;br&amp;gt;USA', '+1 (413) 781-8750', 'May 26-28, 2017', null);&lt;br /&gt;
addLocation(-33.859972,  151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Sep 16-18 2016', 227);&lt;br /&gt;
addLocation(45.582910,  -122.575732, 'Furlandia', 'furlandia.org', 'Sheraton Hotel at PDX Airport &amp;lt;br&amp;gt;8235 NE Airport Way&amp;lt;br&amp;gt;Portland, Oregon 97220&amp;lt;br&amp;gt;USA', '+1 (503) 281-2500', 'May 26-28 2017', 763);&lt;br /&gt;
//addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 12-14 2014', 241); //attendance for 2012&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 22 2016', 188);&lt;br /&gt;
addLocation(43.6866,    -79.5893597, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 17-19 2017', 1322);&lt;br /&gt;
addLocation(41.6042521, -72.7027335, 'Furpocalypse', 'furpocalypse.org', 'Radisson Hotel Cromwell&amp;lt;br&amp;gt;100 Berlin Road&amp;lt;br&amp;gt;Cromwell, CT 06416&amp;lt;br&amp;gt;USA', '+1 860-635-2000', 'Oct 27-29 2017', 1455);&lt;br /&gt;
addLocation(43.156351,   -77.610020, 'FurryCon', 'www.furrycon.com', 'Radisson Riverside Rochester&amp;lt;br&amp;gt;120 E Main st&amp;lt;br&amp;gt;Rochester, New York&amp;lt;br&amp;gt;USA', '+1 (585) 546-6400', 'Sept 15-18 2016', 294);&lt;br /&gt;
addLocation(40.091453,   -75.3716987, 'Furrydelphia', 'www.furrydelphia.com', 'DoubleTree by Hilton Hotel Philadelphia - Valley Forge&amp;lt;br&amp;gt;301 W Dekalb Pike, King of Prussia, PA 19406&amp;lt;br&amp;gt;USA', '+1 (610) 337-1200', 'Aug 17-20 2017', null);&lt;br /&gt;
addLocation(28.401971,   -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Nov 5-12 2016', 27);&lt;br /&gt;
addLocation(32.956751,  -96.8252737, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Mar 24-26 2017', 2820);&lt;br /&gt;
addLocation(1.2877475,  103.846800, 'Furry Lah', 'furrylah.com', 'Quarters Hostel&amp;lt;br&amp;gt;12 Circular Road&amp;lt;br&amp;gt;Singapore 049368', '+65 6438 5627', 'Nov 25-27 2016');&lt;br /&gt;
addLocation(44.971198,    -93.27774, 'Furry Migration', 'www.furrymigration.org', 'Hyatt Regency Minneapolis&amp;lt;br&amp;gt;1300 Nicollet Mall&amp;lt;br&amp;gt;Minneapolis, Minnesota,&amp;lt;br&amp;gt;USA, 55403', '+1 (612) 370-1234', 'Sept 9-11 2016', 701);&lt;br /&gt;
addLocation(41.7838208,   -72.5803353, 'Furry Picnic', 'www.furrypicnic.com', 'Wickham Park&amp;lt;br&amp;gt;1329 Middle Turnpike W&amp;lt;br&amp;gt;Manchester, CT 06040&amp;lt;br&amp;gt;USA', '+1 (860) 528-0856', 'Jun 3 2017', null);&lt;br /&gt;
addLocation(35.642936, -96.419021, 'Furry Retreat', 'www.furryretreat.com', 'Knight\'s Rest Retreat&amp;lt;br&amp;gt;37701 W 361st St S&amp;lt;br&amp;gt;Bristow, OK 74010&amp;lt;br&amp;gt;USA', 'N/A', 'Oct 20-22 2017', null);&lt;br /&gt;
addLocation(39.502173, -106.151042, 'Furry Ski Weekend', 'furryskiweekend.com', 'Copper Mountain Resort&amp;lt;br&amp;gt;209 Ten Mile Cir&amp;lt;br&amp;gt;Frisco, CO 80443&amp;lt;br&amp;gt;USA', '+1 (866) 841-2481', 'Feb 9-12 2017', null);&lt;br /&gt;
addLocation(32.9451,    -96.8401881, 'Furry Siesta', 'furrysiesta.com', 'Crowne Plaza – Addison&amp;lt;br&amp;gt;14315 Midway Road&amp;lt;br&amp;gt;Addison, TX 75001&amp;lt;br&amp;gt;USA', '+1 (972) 980-8877', 'Jul 15-16 2016', 306);&lt;br /&gt;
addLocation(33.761999,   -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Apr 6-9 2017', 3252);&lt;br /&gt;
addLocation(52.775556,     6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 31-Apr 3 2017', 57);&lt;br /&gt;
//addLocation(51.40328,     5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66); //ended in 2013.&lt;br /&gt;
addLocation(37.036680,   -76.382842, 'FursonaCon', 'www.fursonacon.com', 'Hampton Roads Convention Center&amp;lt;br&amp;gt;1610 Coliseum Dr&amp;lt;br&amp;gt;Hampton, Virginia&amp;lt;br&amp;gt;USA', '+1 (757) 315-1610', 'Mar 18-20 2016');&lt;br /&gt;
addLocation(52.588333,        14.65, 'Furstock', 'www.polfurs.org', '', '', 'Jul 14-16 2016', 45);&lt;br /&gt;
addLocation(57.05,         9.916667, 'Furtastic', 'www.furtastic.dk', 'Sondrupvej 58&amp;lt;br&amp;gt;8350 Hundslund&amp;lt;br&amp;gt;Denmark', '', 'Jul 4-7 2016', 50);&lt;br /&gt;
addLocation(37.330294,  -121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 12-16 2017', 3536);&lt;br /&gt;
addLocation(53.509966,  -118.006813, 'Furthest North', 'furthestnorth.ca', 'Wildhay Group Campground&amp;lt;br&amp;gt;north of Hinton&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Sept 2-5 2016', 63);&lt;br /&gt;
addLocation(3.104127, 101.640800, 'Furum', 'furum.org', 'Hotel Armada&amp;lt;br&amp;gt; Lot 6 &amp;lt;br&amp;gt; Lorong Utara C &amp;lt;br&amp;gt;Section 52&amp;lt;br&amp;gt; 46200 Petaling Jaya Selangor &amp;lt;br&amp;gt;Malaysia', '+60 3-7954 6888', 'Dec 9-10 2017');&lt;br /&gt;
//addLocation(53.407281,  -2.989201, 'FurVention', 'furvention.org.uk', 'Aloft Liverpool&amp;lt;br&amp;gt;1 North John Street&amp;lt;br&amp;gt;Liverpool, L2 5QW&amp;lt;br&amp;gt;United Kingdom', '+44 151 294 3970', '22-24 Jan 2016', 64);&lt;br /&gt;
//addLocation(35.559328,   139.723602, 'Fur-st', 'fur-st.com', '志ら井&amp;lt;br&amp;gt;1 Chome-20-28 Minamikamata&amp;lt;br&amp;gt;Ota, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Oct 18 2014', 144);&lt;br /&gt;
addLocation(39.283286,   -84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'Oct 7-9 2016', 382);&lt;br /&gt;
addLocation(38.930864,   -77.245601, 'Fur the \'More', 'furthemore.org', 'Sheraton Premiere at Tysons Corner&amp;lt;br&amp;gt;8661 Leesburg Pike&amp;lt;br&amp;gt;Vienna, VA&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Mar 15-17 2019', 1256);&lt;br /&gt;
addLocation(20.688831, -103.330578, 'Confuror', 'vidafur.byethost8.com/furmeet', 'Centro Cultural Luis Paez Brotchíe&amp;lt;br&amp;gt;Centro Médico 208&amp;lt;br&amp;gt;Independencia Oriente&amp;lt;br&amp;gt;44340 Guadalajara, Jalisco&amp;lt;br&amp;gt;Mexico', '+52 33 1201 8728', 'Aug 4-6 2017', null);&lt;br /&gt;
addLocation(40.294208,        -3.796594, 'Furrnion', 'furrnion.org', 'Hotel Las Provincias&amp;lt;br&amp;gt;C/Zaragoza, 2&amp;lt;br&amp;gt;28941 Fuenlabrada (Madrid)&amp;lt;br&amp;gt;Spain', '+34 607654483', 'Oct 2019', 0);&lt;br /&gt;
addLocation(19.435967, -99.151094, 'Furry Summer Mexico', 'facebook.com/FurrySummer', 'Centro de Espectáculos Plaza&amp;lt;br&amp;gt;Avenida de la República 127-A&amp;lt;br&amp;gt;Cuauhtémoc, Tabacalera, 06030 Ciudad de México, CDMX&amp;lt;br&amp;gt;Mexico', '+52 55 5514 2565', 'Jul 29-30 2017', null);&lt;br /&gt;
addLocation(51.93180,        19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 10-14 2016', 93);&lt;br /&gt;
//addLocation(49.8954237,  5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013', 14);&lt;br /&gt;
addLocation(38.6329283,  -90.184827, 'Gateway Furmeet', 'gatewayfurmeet.org', 'Lumière Place Casino and Hotels&amp;lt;br&amp;gt;999 N 2nd St&amp;lt;br&amp;gt;St. Louis, Missouri 63119&amp;lt;br&amp;gt;USA', '+1 (314) 881-7777', 'May 13-15 2016', 223);&lt;br /&gt;
addLocation(54.358288,    18.621243, 'Gdakon', 'gdakon.org', 'Amber Hotel&amp;lt;br&amp;gt;Gdańsk&amp;lt;br&amp;gt;Poland', '', 'March 1-5 2017', 252);&lt;br /&gt;
addLocation(42.774481, -86.079661, 'Great Lakes Fur Con', 'greatlakesfurcon.com', 'DoubleTree by Hilton Hotel Holland&amp;lt;br&amp;gt;650 E 24th St&amp;lt;br&amp;gt;Holland, MI 49423&amp;lt;br&amp;gt;USA', '+1 (616) 394-0111', 'May 26-28 2017', 308);&lt;br /&gt;
addLocation(46.733424, 8.204974, 'Golden Leaves Con', 'glc.furry.ch', 'Hostel C\'est la vie &amp;amp; Panorama Hotel&amp;lt;br&amp;gt;Hasliberg Engi&amp;lt;br&amp;gt;6086 Hasliberg&amp;lt;br&amp;gt;Switzerland', '0', 'Oct 24-28 2018');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,     8.826463, 'H-Con', 'h-con.org', 'Petershof&amp;lt;br&amp;gt;Talweg 5&amp;lt;br&amp;gt;64711 Erbach/Erbuch&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Sep 28-Oct 2 2016', 64);&lt;br /&gt;
addLocation(49.26716,   -123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', '2016', 278);&lt;br /&gt;
//addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Oct 11-13 2013');&lt;br /&gt;
//addLocation(25.034847,   121.546979, 'Infurnity', 'infurnity.com', 'SMAJO House&amp;lt;br&amp;gt;Ln. 279, Sec. 1, Fuxing S. Rd.&amp;lt;br&amp;gt;Da’an Dist., Taipei', '', 'Oct 31 2015', 62); // first Taiwan furcon&lt;br /&gt;
addLocation(39.797248,   -86.041109, 'IndyFurCon', 'indyfurcon.com', 'Indianapolis Marriott East&amp;lt;br&amp;gt;7202 E 21st St&amp;lt;br&amp;gt;Indianapolis, IN 46219&amp;lt;br&amp;gt;USA', '+1 (317) 352-1231', 'Aug 24-26 2018', 735);&lt;br /&gt;
addLocation(33.643368,  -112.119356, 'Itty Bitty FurCon', 'ittybittyfurcon.com', 'La Princesa&amp;lt;br&amp;gt;2710 W Bell Road #1205&amp;lt;br&amp;gt;Phoenix, AZ 85053&amp;lt;br&amp;gt;USA', '+1 (602) 518-5990', 'Jul 17 2016', 0);&lt;br /&gt;
addLocation(34.743463,   137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 6-8 2017', 588);&lt;br /&gt;
addLocation(51.505072,   -2.536662, 'Just Fur The Weekend', 'http://justfurtheweekend.org.uk/', 'Holiday Inn Filton &amp;lt;br&amp;gt; Filton Road&amp;lt;br&amp;gt; Winterbourne&amp;lt;br&amp;gt;Bristol', '', 'April 14-16 2017', 319);&lt;br /&gt;
addLocation(39.114216, -94.626925, 'KCFur Howl', 'www.kchowl.com', 'near Kansas City Metro Area&amp;lt;br&amp;gt;Kansas City, MO&amp;lt;br&amp;gt;USA', 'N/A', 'Oct 29 2016', null);&lt;br /&gt;
addLocation(25.00814,     121.53604, 'Kemono &amp;amp; Jingai Only 2', 'jk2016.furry.tw', 'Jhongjheng Hall&amp;lt;br&amp;gt;88 Tingzhou Road Section 4&amp;lt;br&amp;gt;Wenshan District&amp;lt;br&amp;gt;Taipei City 116&amp;lt;br&amp;gt;Taiwan&amp;lt;br&amp;gt;116台北市文山區汀州路四段88號', '', 'Jul 16 2016', 0); // The name of the hall at http://en.ntnu.edu.tw/gongguan-campus.php#tab-1 seems to be in Tongyong Pinyin, while the street address seems to be in Hanyu Pinyin?&lt;br /&gt;
addLocation(35.453118, 139.6488943, 'Kemocon', 'www.kemocon.com', 'Osanbashi Hall&amp;lt;br&amp;gt;Osanbashi Yokohama International Passenger Terminal&amp;lt;br&amp;gt;1 Chome-1-4 Kaigandori&amp;lt;br&amp;gt;Naka Ward, Yokohama, Kanagawa Prefecture 〒231-0002&amp;lt;br&amp;gt;Japan', '', 'Nov 3-4 2018', 330);&lt;br /&gt;
addLocation(34.985692,   138.417148, 'Kemono Square', 'kemono-square.com', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 4 2016', 107);&lt;br /&gt;
//addLocation(35.654685, 139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);  //259 vendors from 246 circles confirmed for 2014&lt;br /&gt;
//addLocation(34.6693,   135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2014', 0);&lt;br /&gt;
//addLocation(35.1584991, 136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 29, 2015', 141); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(41.845931,   -87.942533, 'LAFF New Year\'s Eve', 'newyearsevecon.com', 'Residence Inn Oak Brook&amp;lt;br&amp;gt;790 Jorie Boulevard&amp;lt;br&amp;gt;Oak Brook, IL 60523&amp;lt;br&amp;gt;USA', '+1 (630) 571-1200', 'Dec 31 2017-Jan 1 2018', 87);&lt;br /&gt;
addLocation(47.336284,    12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Jul 9-16 2016', 40);&lt;br /&gt;
addLocation(28.418215,   -81.465091, 'Megaplex', 'megaplexcon.org', 'DoubleTree by Hilton Orlando at SeaWorld&amp;lt;br&amp;gt;10100 International Drive&amp;lt;br&amp;gt;Orlando, Florida, 32821&amp;lt;br&amp;gt;USA', '+1 (407) 352-1100', 'Aug 4-Aug 6 2017', 1860);&lt;br /&gt;
addLocation(38.219466, -85.575556, 'The Menagerie', 'kyanthros.org/menagerie', 'Triple Crown Pavilion&amp;lt;br&amp;gt;1776 Plantside Dr&amp;lt;br&amp;gt;Jeffersontown, KY, 40299&amp;lt;br&amp;gt;USA', '+1 (502) 491-4830', 'Jun 2-Jun 3 2018', 106);&lt;br /&gt;
addLocation(34.966572,   -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Sep 2-Sep 4 2016', 432);&lt;br /&gt;
addLocation(50.825484,     7.887068, 'Mephit Mini Con', 'mmc.furcon.eu', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May 12-16 2016', 200);&lt;br /&gt;
//addLocation(35.656854,139.7351909, 'Metamore Generation V', 'www.metamor.jp', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(42.322128, -71.646046, 'Micro Fur Con', 'microfurcon.com', 'First Parish Church Unitarian&amp;lt;br&amp;gt;40 Church St&amp;lt;br&amp;gt;Northborough, MA 01532&amp;lt;br&amp;gt;USA', '+1 (508) 393-6422', 'Apr 1 2017', 150);&lt;br /&gt;
addLocation(41.981284,   -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Nov 29-Dec 2 2018', 8700);&lt;br /&gt;
addLocation(45.017750, -93.143750, 'MNFurs Spring Picnic', 'mnfurs.org', 'Central Park - Lexington&amp;lt;br&amp;gt;2540 Lexington Avenue&amp;lt;br&amp;gt;Roseville, MN 55113&amp;lt;br&amp;gt;USA', '', 'May 20 2017', null);&lt;br /&gt;
//addLocation(35.754914,139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', '', 'May 2 2015', 66); //only attendees signed up from Twipla - 6 people over venue capacity&lt;br /&gt;
addLocation(13.705699,   100.604295, 'Morph Parade', 'fb.me/MOFU.PARADE', 'KV Mansion&amp;lt;br&amp;gt;90 สุขุมวิท 81 บางจาก&amp;lt;br&amp;gt;[Near BTS On-Nut station]&amp;lt;br&amp;gt;Bangkok 10260&amp;lt;br&amp;gt;Thailand', '+66 2-33 222 11', 'Oct 29 2016');&lt;br /&gt;
addLocation(42.443047,   -83.435667, 'Motor City Furry Con', 'motorcityfurrycon.org', '21111 Haggerty Road&amp;lt;br&amp;gt;Novi, MI 48375&amp;lt;br&amp;gt;USA', '+1 (248) 349-4000', 'Apr 7-9 2017', 1028);&lt;br /&gt;
addLocation(39.65924,   -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 31 2015-Jan 1 2016', 211) &lt;br /&gt;
addLocation(58.9143217,   17.953672, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Utsikten Meetings Hotel&amp;lt;br&amp;gt;Nynäshamn&amp;lt;br&amp;gt;Sweden', '', 'Mar 9-12 2017', 513);&lt;br /&gt;
addLocation(18.454343, -66.090161, 'NorthAmeriCon', 'northamericon17.com', 'Sheraton Puerto Rico Hotel &amp;amp; Casino&amp;lt;br&amp;gt;200 Convention Blvd&amp;lt;br&amp;gt;San Juan, PR 00907&amp;lt;br&amp;gt;Puerto Rico', '+1 787-993-3500', 'Jul 6-9 2017', null);&lt;br /&gt;
addLocation(47.3680236,   -121.1057155, 'NorthWest CampCon', 'www.nwcampcon.com', 'Okanogan-Wenatchee National Forest&amp;lt;br&amp;gt;Wenatchee, WA 98807&amp;lt;br&amp;gt;USA', 'N/A', 'Jun 16-18 2017', null);&lt;br /&gt;
//addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 29-Nov 1 2014', 352);&lt;br /&gt;
addLocation(37.3718553,   -121.9248902, 'Pacific Anthropomorphics Weekend', 'www.pacanthro.org', 'DoubleTree by Hilton Hotel San Jose&amp;lt;br&amp;gt;2050 Gateway Pl, San Jose, CA 95110&amp;lt;br&amp;gt;USA', '+1 (408) 453-4000', 'Nov 4-7 2016', null);&lt;br /&gt;
addLocation(43.635466, -70.338801, 'Pine Fur Con', 'www.pinefurcon.org', 'DoubleTree by Hilton Hotel Portland&amp;lt;br&amp;gt;363 Maine Mall Rd&amp;lt;br&amp;gt;Portland, ME 04106&amp;lt;br&amp;gt;USA', '+1 (207) 775-6161', 'Apr 5-7 2019', 406);&lt;br /&gt;
addLocation(-31.944444,  115.863842, 'FurWAG', 'furwag.com.au', 'Hotel Ibis Styles Perth&amp;lt;br&amp;gt;15 Robinson Avenue&amp;lt;br&amp;gt;Northbridge 6003&amp;lt;br&amp;gt;Western Australia', '+61 8 9328 0000', 'Sept 30-Oct 2 2016', 177);&lt;br /&gt;
//addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 22-25 2016', 2704);&lt;br /&gt;
addLocation(-27.467778,  153.027778, 'RivFur', 'www.southbankfurmeet.com/home/m/36617225/article/3714600', 'Brisbane, Queensland, Australia', '', 'Jul 29-31, 2016', 200);&lt;br /&gt;
//addLocation(39.762235,  -104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Denver Marriott Tech Center&amp;lt;br&amp;gt;4900 South Syracuse Street&amp;lt;br&amp;gt;Denver, Colorado 80237&amp;lt;br&amp;gt;USA', '+1 (303) 779-1100', 'Aug 12-14 2016', 1670);&lt;br /&gt;
addLocation(32.3352503,  -95.3382379, 'Rose City Fursanity', 'rcfursanity.wixsite.com', 'Regal Cinemas Tyler Rose 14&amp;lt;br&amp;gt;1250 S SW Loop 323&amp;lt;br&amp;gt;Tyler, Texas 75701&amp;lt;br&amp;gt;USA', '+1 (844) 462-7432', 'Apr 20-22 2018', null);&lt;br /&gt;
addLocation(56.050627,    36.823576, 'Rusfurence', 'rusfurence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 1-5 2017', 286);&lt;br /&gt;
addLocation(57.478307,     -4.22672, 'ScotiaCon', 'scotiacon.co.uk', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Nov 4-6 2016', 152);&lt;br /&gt;
addLocation(31.279758,     121.4303036, 'Super Furry Fusion 2018', 'furrychina.com', 'Grand New Palace Banquet &amp;amp; Conbention Centre&amp;lt;br&amp;gt;88 Gaoping Rd&amp;lt;br&amp;gt;Shanghai, China&amp;lt;br&amp;gt;中国上海市闸北区高平路88号雅悦新天地婚宴展会中心', '', 'Jul 29 2018', null);&lt;br /&gt;
addLocation(23.1866733,     113.276755, 'Furry Summer Gathering 2018', 'shouxiaji.cn', 'Guangzhou Baiyun International Convention Center&amp;lt;br&amp;gt;1039-1045 Baiyun S Ave&amp;lt;br&amp;gt;Guangzhou, China&amp;lt;br&amp;gt;中国广东省广州市白云区白云饮食文化长廊白云大道南1039-1045号广州白云国际会议中心', '', 'Aug 4 2018', null);&lt;br /&gt;
addLocation(33.7963444,   -117.7547691, 'SoCal FurBQ', 'twitter.com/SoCalFurBQ', 'Irvine Regional Pk&amp;lt;br&amp;gt;1 Irvine Park Rd&amp;lt;br&amp;gt; Orange, CA 92869&amp;lt;br&amp;gt;USA', '+1 (714) 973-6835', 'Sep 17 2016', null);&lt;br /&gt;
addLocation(-25.957300, 27.439744, 'South Afrifur', 'south-afrifur.co.za', 'Magalies Retreat&amp;lt;br&amp;gt;RN20 New Thorndale Road&amp;lt;br&amp;gt;Krugersdorp, NorthWest Province, 1791&amp;lt;br&amp;gt;South Africa', '+27 82 377 0219', 'Jul 14-17 2017', null);&lt;br /&gt;
//addLocation(-26.201,       28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(49.278252,   -125.041257, 'Surfur', 'surfur.ca', 'Taylor Arm Provincial Park&amp;lt;br&amp;gt;Pacific Rim Hwy&amp;lt;br&amp;gt;Alberni-Clayoquot D, BC V0R 1W0&amp;lt;br&amp;gt;Canada', '+1 250-474-1336', 'Jul 7-11 2017', 81);&lt;br /&gt;
addLocation(35.836281, -78.672837, 'Tarpaw Furmeet', 'tarpawfurmeet.com', 'Hampton Inn &amp;amp; Suites Raleigh Crabtree Valley&amp;lt;br&amp;gt;3920 Arrow Drive&amp;lt;br&amp;gt;Raleigh, NC 27612&amp;lt;br&amp;gt;USA', '+1 (919) 881-7080', 'May 19-21 2017', 141);&lt;br /&gt;
addLocation(13.746076,   100.562432, 'Thai Tails', 'www.thaitails.net', 'Asok Towers&amp;lt;br&amp;gt;BLDG 219, Soi Sukhumvit 21, Asok Road&amp;lt;br&amp;gt;Klongtoey Nua, Wattana&amp;lt;br&amp;gt;Bangkok, Thailand 10110', '+66 2 120 9600', 'Jan 30 2016', 0);&lt;br /&gt;
addLocation(41.388786, -73.515143, 'Tiny Paws Con', 'www.tinypawscon.org', 'Crowne Plaza Danbury&amp;lt;br&amp;gt;18 Old Ridgebury Rd, Danbury, CT 06810&amp;lt;br&amp;gt;USA', '+1 (203) 794-0600', 'Sep 8-10 2017', null); &lt;br /&gt;
//addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', 'Oct 31-Nov 2 2014', 126);&lt;br /&gt;
addLocation(49.170696,-123.145162, 'VancouFur', 'vancoufur.org', 'Executive Airport Plaza Hotel Richmond&amp;lt;br&amp;gt;7311 Westminster Hwy&amp;lt;br&amp;gt;Richmond, British Columbia, V6X 1A3&amp;lt;br&amp;gt;Canada', '', 'Mar 9-12 2017', 810);&lt;br /&gt;
//addLocation(45.499474,   -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 20-22 2016', 439);&lt;br /&gt;
addLocation(40.4612,       -79.7509, 'Western Pennsylvania Furry Weekend', 'wpafw.org', ' North Park Lodge, N Ridge Dr&amp;lt;br&amp;gt;Allison Park, PA 15101&amp;lt;br&amp;gt;USA', '+1 (724) 327-0338', 'Oct 7-9 2016', 133);&lt;br /&gt;
addLocation(35.042611,   -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 2019?', 190);&lt;br /&gt;
addLocation(49.891660, -97.194377, 'Wild Prairie Fur Con', 'wpfcon.ca', 'Canad Inns Destination Centre Polo Park&amp;lt;br&amp;gt;1405 St Matthews Ave&amp;lt;br&amp;gt;Winnipeg, MB R3G 3P7&amp;lt;br&amp;gt;Canada', '+1 204-775-8791', 'Aug 11-12 2018', null);&lt;br /&gt;
addLocation(37.783995, -122.410405, 'Wild Things', ' ', 'SF Citadel&amp;lt;br&amp;gt;181 Eddy St&amp;lt;br&amp;gt;San Francisco, CA 94102&amp;lt;br&amp;gt;USA', 'N/A', 'Feb 25 2017', null);&lt;br /&gt;
addLocation(50.456309,    30.504819, 'WUFF', 'wuff.org.ua', 'Hotel «Sofiyevsky Posad»&amp;lt;br&amp;gt;81/2 Kyivs\'ka Str., Sofiivs\'ka Borshchahivka&amp;lt;br&amp;gt;Kiev, Ukraine', '', 'May 4-8 2016', 160)&lt;br /&gt;
addLocation(44.148964,    12.464516, 'Zampacon', 'zampacon.org', 'Via Ragusa 20&amp;lt;br&amp;gt;Bellaria-Igea Marina (RN)&amp;lt;br&amp;gt;47814 &amp;lt;br&amp;gt;Italy', '', 'Sep 2-6 2016', 60);&lt;br /&gt;
addLocation(47.503095,    12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 23-30 2016', 40);&lt;br /&gt;
addLocation(50.773040,    15.311701, 'ZodiaCon', 'zodiacon.org', 'Vršovská Brána&amp;lt;br&amp;gt;Vršov 19&amp;lt;br&amp;gt;539 53 Horní Bradlo&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 26-29 2016', 74);&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Everywhere (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Japan (&amp;quot;+count_japan+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_JAPAN;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_JAPAN:&lt;br /&gt;
            filter_func = is_in_japan; break;            &lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_japan(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates like &amp;quot;Jan 17 - Feb 2, 2014&amp;quot; into an integer like 20140117 for sorting&lt;br /&gt;
// should accept anything that looks like a date.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
    &amp;quot;use strict&amp;quot;;&lt;br /&gt;
    var x; &lt;br /&gt;
    var v;&lt;br /&gt;
    var y;&lt;br /&gt;
    var day; &lt;br /&gt;
    var month; &lt;br /&gt;
    var year;&lt;br /&gt;
    &lt;br /&gt;
	if (!s) {return 200004001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (x &amp;amp;&amp;amp; x[1]) {&lt;br /&gt;
	    day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	    if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	&lt;br /&gt;
	    switch (x[1]){&lt;br /&gt;
		    case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		    case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		    case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		    case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		    case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		    case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		    case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		    case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		    case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		    case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		    case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		    case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		    default:	month = 20;&lt;br /&gt;
	    }//switch&lt;br /&gt;
	} else {&lt;br /&gt;
	    month = 40;&lt;br /&gt;
	    day = 0;&lt;br /&gt;
	} &lt;br /&gt;
	&lt;br /&gt;
	y = /[0-9]{4}$/.exec(s);&lt;br /&gt;
	if (y) {&lt;br /&gt;
		year = (v=parseInt(y[0]))?v:0;&lt;br /&gt;
    	if (year &amp;gt; 9999) {year = 10000;}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return year * 10000 + month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        a.marker = new google.maps.Marker({&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: a.name,&lt;br /&gt;
            icon: (a.attendance &amp;gt;= 5000 ? greenIcon : (a.attendance &amp;gt;= 2500 ? yellowIcon : (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 250 ? purpleIcon : blueIcon ) ) ) ),&lt;br /&gt;
            zIndex: a.attendance&lt;br /&gt;
        });&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            //if we can't see the marker, show it in the center&lt;br /&gt;
            if (!map.getBounds().contains(a.marker.getPosition())){&lt;br /&gt;
                map.panTo(a.marker.getPosition());&lt;br /&gt;
            }&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++; &lt;br /&gt;
        } else if (is_in_japan(a.lat, a.lng)) {&lt;br /&gt;
	    count_japan ++; &lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2018-05-21T21:09:46Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Kemocon&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the cog and Share (or check the URL) and copy the first two numbers after the '@' (including the decimal bits). &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_japan = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_JAPAN = 4;&lt;br /&gt;
var FILT_OTHERS = 5;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
function is_in_japan(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var yellowIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/yellow-dot.png&amp;quot;);&lt;br /&gt;
var greenIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/green-dot.png&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website name [no http[s]://]', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
addLocation(48.499678, 9.150536, 'Furvester', 'furvester.org', 'Carl-Zeiss-Straße 75&amp;lt;br&amp;gt;72770 Reutlingen&amp;lt;br&amp;gt;Germany', '+49 (07121) 5840', 'Dec 29-1 2018', null);&lt;br /&gt;
addLocation(29.5057863,   -98.5495143, 'Alamo City Furry Invasion', 'furryinvasion.org', 'San Antonio Marriott Northwest&amp;lt;br&amp;gt;3233 NW Loop 410&amp;lt;br&amp;gt;San Antonio, TX 78213&amp;lt;br&amp;gt;USA', '+1 (210) 377-3900', 'Oct 7-8 2017', null);&lt;br /&gt;
//addLocation(-37.891950,-57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(30.3709252,   -81.4089605, 'Annual JaxFurs Spring Picnic', 'floridafurs.com', 'Kathryn Abbey Hanna Park&amp;lt;br&amp;gt;500 Wonderwood Dr&amp;lt;br&amp;gt;Jacksonville, FL 32233&amp;lt;br&amp;gt;USA', '(+1 (904) 249-4700', 'Apr 22 2017', 127);&lt;br /&gt;
addLocation(35.833243, -78.771843, 'Anthro Crossroads East', 'www.anthrocrossroads.com', 'Embassy Suites, Raleigh-Durham-Research Triangle&amp;lt;br&amp;gt;201 Harrison Oaks Blvd&amp;lt;br&amp;gt;Cary, NC 27513&amp;lt;br&amp;gt;USA', '+1 (919) 677-1840', 'Jan 18-20 2019', 295);&lt;br /&gt;
addLocation(42.353979,   -71.105356, 'Anthro New England', 'www.anthronewengland.org', 'Hyatt Regency Cambridge, Overlooking Boston&amp;lt;br&amp;gt;575 Memorial Dr&amp;lt;br&amp;gt;Cambridge, MA&amp;lt;br&amp;gt;USA', '1(617) 492-1234', 'Jan 19-22 2017', 965);&lt;br /&gt;
addLocation(47.6067596,   -122.3332647, 'Anthro Northwest', 'www.anthronw.com', 'Renaissance Seattle Hotel&amp;lt;br&amp;gt;515 Madison St, Seattle, WA 98104&amp;lt;br&amp;gt;USA', '+1 (206) 583-0300', 'Nov 8-11 2018', null);&lt;br /&gt;
addLocation(40.769060, -111.897906, 'Anthro Weekend Utah', 'www.anthroweekendutah.org', 'Radisson Salt Lake City Downtown&amp;lt;br&amp;gt;215 S Temple, Salt Lake City, UT 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', 'Oct 27-28 2017', null);&lt;br /&gt;
addLocation(40.105846,   -83.017244, 'AnthrOhio', 'anthrohio.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 26-28 2017', 546);&lt;br /&gt;
addLocation(40.444334,   -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jun 29-Jul 2 2017', 7544);&lt;br /&gt;
addLocation(43.569967, -89.769743, 'AquatiFur', 'aquatifur.com', 'Kalahari Resorts Dells&amp;lt;br&amp;gt;1305 Kalahari Drive&amp;lt;br&amp;gt;Wisconsin Dells, WI 53965&amp;lt;br&amp;gt;USA', '+1 (608) 254-5466', 'Oct 20-22 2017', null);&lt;br /&gt;
addLocation(33.548246,  -112.046348, 'Arizona Fur Con', 'Arizonafurcon.com', 'Pointe Hilton Squaw Peak Resort&amp;lt;br&amp;gt;N 16th St&amp;lt;br&amp;gt;Phoenix, Arizona 85020&amp;lt;br&amp;gt;USA', '1(602) 997-2626', 'Sep 30-Oct 2 2016', 725);&lt;br /&gt;
addLocation(34.745865, -92.400043, 'ArkConsas', 'www.arkconsas.com', 'Embassy Suites Little Rock&amp;lt;br&amp;gt;11301 Financial Centre Pkwy&amp;lt;br&amp;gt;Little Rock, AR 72211&amp;lt;br&amp;gt;USA', '1 (501) 312-9000', 'Jan 5-9 2017', null);&lt;br /&gt;
//addLocation(52.597652,   13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 18-21 2015', 89);&lt;br /&gt;
addLocation(46.979122,   -112.526529, 'Big Sky Paw Camp', 'www.bigskycampcon.org', 'Aspen Grove Picnic Area&amp;lt;br&amp;gt;Lincoln, Montana 59639&amp;lt;br&amp;gt;USA', '', 'June 23-25 2017', 40);&lt;br /&gt;
addLocation(39.523177,   -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'May 12-15 2016', 5138);&lt;br /&gt;
addLocation(-23.970691,  -46.329962, 'Brasil FurFest', 'brasilfurfest.com.br', 'Hotel Mercure Santos&amp;lt;br&amp;gt;Av. Washington Luiz, 565&amp;lt;br&amp;gt;Santos, SP&amp;lt;br&amp;gt;Brazil', '','Aug 17-19 2018', 287);&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
addLocation(34.080577,  -117.762728, 'Califur', 'califur.com', 'Sheraton Fairplex Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;601 W McKinley Ave&amp;lt;br&amp;gt;Pomona, CA 91768&amp;lt;br&amp;gt;USA', '', 'Jun 3-5 2016', 1317);&lt;br /&gt;
addLocation(43.721056,  -121.291552, 'Campfire Tails', 'campfiretails.org', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Aug 4-8 2016', 143);&lt;br /&gt;
addLocation(49.381977,   -121.446555, 'CampFur', 'campfur.ca', 'Near Hope&amp;lt;br&amp;gt;Hope, BC V0X 1L0&amp;lt;br&amp;gt;Canada', '', 'Jun 16-19 2017', null);&lt;br /&gt;
addLocation(19.503268, -99.391848, 'Camping Paws', 'facebook.com/CapitalFurCampingPaws/', 'Capoxi Water Dam&amp;lt;br&amp;gt;54570 Jilotzingo, Estado de Mexico&amp;lt;br&amp;gt;Mexico', '', 'Mar 31-Apr 1 2018', 25);&lt;br /&gt;
addLocation(45.4198698, -75.6989379, 'CanFURence', 'www.canfurence.ca', '185 Slater Street&amp;lt;br&amp;gt;Ottawa ON  K1P OC8&amp;lt;br&amp;gt;Canada', '+1 844-258-6882', 'Nov 10-12 2017', 322);&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439,     -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(37.686355,   -97.342702, 'Central Plains Furcon', 'cpfurcon.com', 'Drury Plaza Hotel Broadview&amp;lt;br&amp;gt;400 West Douglas Ave&amp;lt;br&amp;gt;Wichita, KS 67202&amp;lt;br&amp;gt;USA', '', 'Sep 1-4 2016', 100)&lt;br /&gt;
addLocation(37.611267, -97.631684, 'Central Plains Fur Meet', 'www.centralplainsfurmeet.com', 'near Lake Afton&amp;lt;br&amp;gt;Goddard, KS 67052&amp;lt;br&amp;gt;USA', '', 'May 19-21 2017', null);&lt;br /&gt;
addLocation(49.638649,    15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jul 6-10 2016', 107);&lt;br /&gt;
//addLocation(23.061687, 113.296423, 'China National Furry Party', 'www.fb.com/CNFP2015', ', Guangzhou&amp;lt;br&amp;gt;China', '', 'Jul 8-19 2015', 40);&lt;br /&gt;
addLocation(50.935659,     6.965116, 'Cologne Furdance', 'www.crosscombined.de', 'Maritim Hotel, Heumarkt 20, 50667 Köln, Germany', '', 'Jul 30 2016', 201); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
//addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 1-3 2014', 251);&lt;br /&gt;
addLocation(-37.820007,  145.013429, 'ConFurgence', 'confurgence.com', 'Amora Hotel Riverwalk&amp;lt;br&amp;gt;649 Bridge Road&amp;lt;br&amp;gt;Richmond, Melbourne, Victoria, 3121&amp;lt;br&amp;gt;Australia', '+61-3-9027-2000', 'Jan 6-8 2017', 681);&lt;br /&gt;
addLocation(52.450713,    -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 26-30 2017', 1451);&lt;br /&gt;
addLocation(39.771895, -104.806944, 'DenFur', 'www.denfur.co', 'Crowne Plaza Denver Airport Convention Center&amp;lt;br&amp;gt;15500 E 40th Ave&amp;lt;br&amp;gt;Denver, CO 80239&amp;lt;br&amp;gt;USA', '+1 (303) 371-9494', 'Aug 24-26 2018', null);&lt;br /&gt;
//addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 19-21 2015');&lt;br /&gt;
addLocation(51.844531,    12.208828, 'EAST', 'www.east-convention.de.vu', 'DJH Jugendherberge&amp;lt;br&amp;gt;Ebertallee 151, 06846&amp;lt;br&amp;gt;Dessau-Roßlau&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Jul 13-17 2016');&lt;br /&gt;
addLocation(28.33704,    -81.587777, 'Elliott\'s Live Events', 'elliottsliveevents.org', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(30.475459,-87.201477, 'Emerald\'s Fur Summit', 'emeraldfurcon.org', 'Homewood Suites by Hilton Pensacola-Arpt&amp;lt;br&amp;gt;5049 Corporate Woods Dr, Pensacola, FL 32504, USA', '+1 (850) 474-3777', 'Apr 29 2017', 126);&lt;br /&gt;
addLocation(52.474897,    13.459467, 'Eurofurence', 'eurofurence.org', 'Estrel Hotel Berlin&amp;lt;br&amp;gt;Sonnenallee 225&amp;lt;br&amp;gt;12057 Berlin&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 17-21 2016', 2322);&lt;br /&gt;
//addLocation(37.247901, -93.259639, 'F3 Convention', 'www.f3con.com', 'Lamplighter Inn &amp;amp; Suites, North&amp;lt;br&amp;gt;2820 N Glenstone Ave&amp;lt;br&amp;gt;Springfield, MO 65803&amp;lt;br&amp;gt;USA', '+1 (417) 869-3900', 'Nov 20-23 2014', 55);&lt;br /&gt;
addLocation(38.960831,   -77.423238, 'FA: United', 'faunited.org', 'Hyatt Regency Dulles&amp;lt;br&amp;gt;2300 Dulles Corner Blvd.&amp;lt;br&amp;gt;Herndon, Virginia 20171&amp;lt;br&amp;gt;USA', '+1 703 713 1234', 'Aug 12-14 2016', 539);&lt;br /&gt;
addLocation(33.43743,    -86.726235, 'Fangcon', 'fangcon.org', 'Hilton Hotel Perimeter Park&amp;lt;br&amp;gt;8 Perimeter Park S&amp;lt;br&amp;gt;Birmingham, AL 35243&amp;lt;br&amp;gt;USA', '+1 (205) 967-2700', 'Oct 27-31 2016', 427);&lt;br /&gt;
addLocation(45.880449,   -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 25-29 2016', 94);&lt;br /&gt;
addLocation(60.412912,    25.038261, 'FinFur Animus', 'animus.finfur.net', 'Kokoushotelli Gustavelund, Tuusula, Finland', '', 'Jun 16-19 2016', 124);&lt;br /&gt;
//addLocation(62.02209,     30.0185, 'FinFur Summer Camp', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
//addLocation(35.454262, 139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(43.027227,   -88.108102, 'Fur Squared', 'www.fursquared.com', 'Sheraton Milwaukee Brookfield Hotel&amp;lt;br&amp;gt;375 S Moorland Rd&amp;lt;br&amp;gt;Brookfield, WI 53005&amp;lt;br&amp;gt;USA', '+1 (262) 364-1100', 'Feb 23-25 2018', 791);&lt;br /&gt;
addLocation(51.2764173,  -3.0125542, 'Furcation', 'furcation.org.uk', 'Sandy Glade Holiday Park&amp;lt;br&amp;gt;Brean Sands, Somerset&amp;lt;br&amp;gt;UK', '', 'Oct 14-17 2016', 0);&lt;br /&gt;
addLocation(44.150581, -89.164606, 'FURconsin', 'www.furconsin.com', 'near Little Hills Lake&amp;lt;br&amp;gt;Wild Rose, WI 54984&amp;lt;br&amp;gt;USA', 'N/A', 'Oct 12-16 2017', 28);&lt;br /&gt;
addLocation(-41.239835,  174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 5-8 2016', 50);&lt;br /&gt;
addLocation(-23.668839,  -46.577533, 'Furboliche', 'furboliche.com.br', 'Bomboliche Extra Anchieta&amp;lt;br&amp;gt;R. García Lorca, 301&amp;lt;br&amp;gt;S&amp;amp;atilde;o Bernardo do Campo, SP&amp;lt;br&amp;gt;Brazil', '','Mar 9 2019', 203);&lt;br /&gt;
addLocation(-24.309323,  -48.273633, 'Furcamp', 'www.facebook.com/events/183414388930807/', 'Intervales State Park&amp;lt;br&amp;gt;Estrada Municipal, km 25&amp;lt;br&amp;gt;Ribeir&amp;amp;atilde;o Grande, SP&amp;lt;br&amp;gt;Brazil', '','Mar 2-5 2019', 0);&lt;br /&gt;
addLocation(-22.997039,  -43.358095, 'Furstrike', 'www.facebook.com/furstrike', 'Barra Shopping&amp;lt;br&amp;gt;Av. das Américas, 4666 &amp;lt;br&amp;gt;Rio de Janeiro, RJ &amp;lt;br&amp;gt;Brazil', '','Mai 5 2018', 93);&lt;br /&gt;
addLocation(-27.997818,  153.429297, 'FurDU', 'www.furdu.com', 'Outrigger Hotel Surfers Paradise&amp;lt;br&amp;gt;22 View Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'May 27-29 2016', 490);&lt;br /&gt;
addLocation(53.5687483,-113.5238331, 'Fur-eh!', 'fureh.ca', 'Ramada Inn &amp;amp; Conference Center&amp;lt;br&amp;gt;11834 Kingsway Avenue&amp;lt;br&amp;gt;Edmonton, Alberta&amp;lt;br&amp;gt;Canada, T5G 3J5', '+1 (780) 454-5454', 'June 1-4 2017', 625);&lt;br /&gt;
addLocation(27.3354428,-82.575817, 'Furight Night', 'furightnight.weebly.com', 'Ken Thompson Park&amp;lt;br&amp;gt;1799 Ken Thompson Parkway&amp;lt;br&amp;gt;Sarasota, FL 34236&amp;lt;br&amp;gt;USA', '+1 (941) 735-4035', 'Oct 14 2017', null);&lt;br /&gt;
addLocation(46.183333, 11.266667, 'Furizon', 'www.furizon.net', 'Segonzano, TN 38047&amp;lt;br&amp;gt; Italy', '', 'June 1-4 2017', '')&lt;br /&gt;
addLocation(42.134573,   -72.6314187, 'Fur-Xoticon', 'www.fur-xoticon.org', 'Clarion Hotel &amp;amp; Aqua Lagoon Waterpark&amp;lt;br&amp;gt;1080 Riverdale St&amp;lt;br&amp;gt;West Springfield, MA 01089&amp;lt;br&amp;gt;USA', '+1 (413) 781-8750', 'May 26-28, 2017', null);&lt;br /&gt;
addLocation(-33.859972,  151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Sep 16-18 2016', 227);&lt;br /&gt;
addLocation(45.582910,  -122.575732, 'Furlandia', 'furlandia.org', 'Sheraton Hotel at PDX Airport &amp;lt;br&amp;gt;8235 NE Airport Way&amp;lt;br&amp;gt;Portland, Oregon 97220&amp;lt;br&amp;gt;USA', '+1 (503) 281-2500', 'May 26-28 2017', 763);&lt;br /&gt;
//addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 12-14 2014', 241); //attendance for 2012&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 22 2016', 188);&lt;br /&gt;
addLocation(43.6866,    -79.5893597, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 17-19 2017', 1322);&lt;br /&gt;
addLocation(41.6042521, -72.7027335, 'Furpocalypse', 'furpocalypse.org', 'Radisson Hotel Cromwell&amp;lt;br&amp;gt;100 Berlin Road&amp;lt;br&amp;gt;Cromwell, CT 06416&amp;lt;br&amp;gt;USA', '+1 860-635-2000', 'Oct 27-29 2017', 1455);&lt;br /&gt;
addLocation(43.156351,   -77.610020, 'FurryCon', 'www.furrycon.com', 'Radisson Riverside Rochester&amp;lt;br&amp;gt;120 E Main st&amp;lt;br&amp;gt;Rochester, New York&amp;lt;br&amp;gt;USA', '+1 (585) 546-6400', 'Sept 15-18 2016', 294);&lt;br /&gt;
addLocation(40.091453,   -75.3716987, 'Furrydelphia', 'www.furrydelphia.com', 'DoubleTree by Hilton Hotel Philadelphia - Valley Forge&amp;lt;br&amp;gt;301 W Dekalb Pike, King of Prussia, PA 19406&amp;lt;br&amp;gt;USA', '+1 (610) 337-1200', 'Aug 17-20 2017', null);&lt;br /&gt;
addLocation(28.401971,   -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Nov 5-12 2016', 27);&lt;br /&gt;
addLocation(32.956751,  -96.8252737, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Mar 24-26 2017', 2820);&lt;br /&gt;
addLocation(1.2877475,  103.846800, 'Furry Lah', 'furrylah.com', 'Quarters Hostel&amp;lt;br&amp;gt;12 Circular Road&amp;lt;br&amp;gt;Singapore 049368', '+65 6438 5627', 'Nov 25-27 2016');&lt;br /&gt;
addLocation(44.971198,    -93.27774, 'Furry Migration', 'www.furrymigration.org', 'Hyatt Regency Minneapolis&amp;lt;br&amp;gt;1300 Nicollet Mall&amp;lt;br&amp;gt;Minneapolis, Minnesota,&amp;lt;br&amp;gt;USA, 55403', '+1 (612) 370-1234', 'Sept 9-11 2016', 701);&lt;br /&gt;
addLocation(41.7838208,   -72.5803353, 'Furry Picnic', 'www.furrypicnic.com', 'Wickham Park&amp;lt;br&amp;gt;1329 Middle Turnpike W&amp;lt;br&amp;gt;Manchester, CT 06040&amp;lt;br&amp;gt;USA', '+1 (860) 528-0856', 'Jun 3 2017', null);&lt;br /&gt;
addLocation(35.642936, -96.419021, 'Furry Retreat', 'www.furryretreat.com', 'Knight\'s Rest Retreat&amp;lt;br&amp;gt;37701 W 361st St S&amp;lt;br&amp;gt;Bristow, OK 74010&amp;lt;br&amp;gt;USA', 'N/A', 'Oct 20-22 2017', null);&lt;br /&gt;
addLocation(39.502173, -106.151042, 'Furry Ski Weekend', 'furryskiweekend.com', 'Copper Mountain Resort&amp;lt;br&amp;gt;209 Ten Mile Cir&amp;lt;br&amp;gt;Frisco, CO 80443&amp;lt;br&amp;gt;USA', '+1 (866) 841-2481', 'Feb 9-12 2017', null);&lt;br /&gt;
addLocation(32.9451,    -96.8401881, 'Furry Siesta', 'furrysiesta.com', 'Crowne Plaza – Addison&amp;lt;br&amp;gt;14315 Midway Road&amp;lt;br&amp;gt;Addison, TX 75001&amp;lt;br&amp;gt;USA', '+1 (972) 980-8877', 'Jul 15-16 2016', 306);&lt;br /&gt;
addLocation(33.761999,   -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Apr 6-9 2017', 3252);&lt;br /&gt;
addLocation(52.775556,     6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 31-Apr 3 2017', 57);&lt;br /&gt;
//addLocation(51.40328,     5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66); //ended in 2013.&lt;br /&gt;
addLocation(37.036680,   -76.382842, 'FursonaCon', 'www.fursonacon.com', 'Hampton Roads Convention Center&amp;lt;br&amp;gt;1610 Coliseum Dr&amp;lt;br&amp;gt;Hampton, Virginia&amp;lt;br&amp;gt;USA', '+1 (757) 315-1610', 'Mar 18-20 2016');&lt;br /&gt;
addLocation(52.588333,        14.65, 'Furstock', 'www.polfurs.org', '', '', 'Jul 14-16 2016', 45);&lt;br /&gt;
addLocation(57.05,         9.916667, 'Furtastic', 'www.furtastic.dk', 'Sondrupvej 58&amp;lt;br&amp;gt;8350 Hundslund&amp;lt;br&amp;gt;Denmark', '', 'Jul 4-7 2016', 50);&lt;br /&gt;
addLocation(37.330294,  -121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 12-16 2017', 3536);&lt;br /&gt;
addLocation(53.509966,  -118.006813, 'Furthest North', 'furthestnorth.ca', 'Wildhay Group Campground&amp;lt;br&amp;gt;north of Hinton&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Sept 2-5 2016', 63);&lt;br /&gt;
addLocation(3.104127, 101.640800, 'Furum', 'furum.org', 'Hotel Armada&amp;lt;br&amp;gt; Lot 6 &amp;lt;br&amp;gt; Lorong Utara C &amp;lt;br&amp;gt;Section 52&amp;lt;br&amp;gt; 46200 Petaling Jaya Selangor &amp;lt;br&amp;gt;Malaysia', '+60 3-7954 6888', 'Dec 9-10 2017');&lt;br /&gt;
//addLocation(53.407281,  -2.989201, 'FurVention', 'furvention.org.uk', 'Aloft Liverpool&amp;lt;br&amp;gt;1 North John Street&amp;lt;br&amp;gt;Liverpool, L2 5QW&amp;lt;br&amp;gt;United Kingdom', '+44 151 294 3970', '22-24 Jan 2016', 64);&lt;br /&gt;
//addLocation(35.559328,   139.723602, 'Fur-st', 'fur-st.com', '志ら井&amp;lt;br&amp;gt;1 Chome-20-28 Minamikamata&amp;lt;br&amp;gt;Ota, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Oct 18 2014', 144);&lt;br /&gt;
addLocation(39.283286,   -84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'Oct 7-9 2016', 382);&lt;br /&gt;
addLocation(38.930864,   -77.245601, 'Fur the \'More', 'furthemore.org', 'Sheraton Premiere at Tysons Corner&amp;lt;br&amp;gt;8661 Leesburg Pike&amp;lt;br&amp;gt;Vienna, VA&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Mar 15-17 2019', 1256);&lt;br /&gt;
addLocation(20.688831, -103.330578, 'Confuror', 'vidafur.byethost8.com/furmeet', 'Centro Cultural Luis Paez Brotchíe&amp;lt;br&amp;gt;Centro Médico 208&amp;lt;br&amp;gt;Independencia Oriente&amp;lt;br&amp;gt;44340 Guadalajara, Jalisco&amp;lt;br&amp;gt;Mexico', '+52 33 1201 8728', 'Aug 4-6 2017', null);&lt;br /&gt;
addLocation(40.294208,        -3.796594, 'Furrnion', 'furrnion.org', 'Hotel Las Provincias&amp;lt;br&amp;gt;C/Zaragoza, 2&amp;lt;br&amp;gt;28941 Fuenlabrada (Madrid)&amp;lt;br&amp;gt;Spain', '+34 607654483', 'Oct 2019', 0);&lt;br /&gt;
addLocation(19.435967, -99.151094, 'Furry Summer Mexico', 'facebook.com/FurrySummer', 'Centro de Espectáculos Plaza&amp;lt;br&amp;gt;Avenida de la República 127-A&amp;lt;br&amp;gt;Cuauhtémoc, Tabacalera, 06030 Ciudad de México, CDMX&amp;lt;br&amp;gt;Mexico', '+52 55 5514 2565', 'Jul 29-30 2017', null);&lt;br /&gt;
addLocation(51.93180,        19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 10-14 2016', 93);&lt;br /&gt;
//addLocation(49.8954237,  5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013', 14);&lt;br /&gt;
addLocation(38.6329283,  -90.184827, 'Gateway Furmeet', 'gatewayfurmeet.org', 'Lumière Place Casino and Hotels&amp;lt;br&amp;gt;999 N 2nd St&amp;lt;br&amp;gt;St. Louis, Missouri 63119&amp;lt;br&amp;gt;USA', '+1 (314) 881-7777', 'May 13-15 2016', 223);&lt;br /&gt;
addLocation(54.358288,    18.621243, 'Gdakon', 'gdakon.org', 'Amber Hotel&amp;lt;br&amp;gt;Gdańsk&amp;lt;br&amp;gt;Poland', '', 'March 1-5 2017', 252);&lt;br /&gt;
addLocation(42.774481, -86.079661, 'Great Lakes Fur Con', 'greatlakesfurcon.com', 'DoubleTree by Hilton Hotel Holland&amp;lt;br&amp;gt;650 E 24th St&amp;lt;br&amp;gt;Holland, MI 49423&amp;lt;br&amp;gt;USA', '+1 (616) 394-0111', 'May 26-28 2017', 308);&lt;br /&gt;
addLocation(46.733424, 8.204974, 'Golden Leaves Con', 'glc.furry.ch', 'Hostel C\'est la vie &amp;amp; Panorama Hotel&amp;lt;br&amp;gt;Hasliberg Engi&amp;lt;br&amp;gt;6086 Hasliberg&amp;lt;br&amp;gt;Switzerland', '0', 'Oct 24-28 2018');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,     8.826463, 'H-Con', 'h-con.org', 'Petershof&amp;lt;br&amp;gt;Talweg 5&amp;lt;br&amp;gt;64711 Erbach/Erbuch&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Sep 28-Oct 2 2016', 64);&lt;br /&gt;
addLocation(49.26716,   -123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', '2016', 278);&lt;br /&gt;
//addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Oct 11-13 2013');&lt;br /&gt;
//addLocation(25.034847,   121.546979, 'Infurnity', 'infurnity.com', 'SMAJO House&amp;lt;br&amp;gt;Ln. 279, Sec. 1, Fuxing S. Rd.&amp;lt;br&amp;gt;Da’an Dist., Taipei', '', 'Oct 31 2015', 62); // first Taiwan furcon&lt;br /&gt;
addLocation(39.797248,   -86.041109, 'IndyFurCon', 'indyfurcon.com', 'Indianapolis Marriott East&amp;lt;br&amp;gt;7202 E 21st St&amp;lt;br&amp;gt;Indianapolis, IN 46219&amp;lt;br&amp;gt;USA', '+1 (317) 352-1231', 'Aug 24-26 2018', 735);&lt;br /&gt;
addLocation(33.643368,  -112.119356, 'Itty Bitty FurCon', 'ittybittyfurcon.com', 'La Princesa&amp;lt;br&amp;gt;2710 W Bell Road #1205&amp;lt;br&amp;gt;Phoenix, AZ 85053&amp;lt;br&amp;gt;USA', '+1 (602) 518-5990', 'Jul 17 2016', 0);&lt;br /&gt;
addLocation(34.743463,   137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 6-8 2017', 588);&lt;br /&gt;
addLocation(51.505072,   -2.536662, 'Just Fur The Weekend', 'http://justfurtheweekend.org.uk/', 'Holiday Inn Filton &amp;lt;br&amp;gt; Filton Road&amp;lt;br&amp;gt; Winterbourne&amp;lt;br&amp;gt;Bristol', '', 'April 14-16 2017', 319);&lt;br /&gt;
addLocation(39.114216, -94.626925, 'KCFur Howl', 'www.kchowl.com', 'near Kansas City Metro Area&amp;lt;br&amp;gt;Kansas City, MO&amp;lt;br&amp;gt;USA', 'N/A', 'Oct 29 2016', null);&lt;br /&gt;
addLocation(25.00814,     121.53604, 'Kemono &amp;amp; Jingai Only 2', 'jk2016.furry.tw', 'Jhongjheng Hall&amp;lt;br&amp;gt;88 Tingzhou Road Section 4&amp;lt;br&amp;gt;Wenshan District&amp;lt;br&amp;gt;Taipei City 116&amp;lt;br&amp;gt;Taiwan&amp;lt;br&amp;gt;116台北市文山區汀州路四段88號', '', 'Jul 16 2016', 0); // The name of the hall at http://en.ntnu.edu.tw/gongguan-campus.php#tab-1 seems to be in Tongyong Pinyin, while the street address seems to be in Hanyu Pinyin?&lt;br /&gt;
addLocation(35.453118, 139.6488943, 'Kemocon', 'www.kemocon.com', 'Osanbashi Hall&amp;lt;br&amp;gt;Osanbashi Yokohama International Passenger Terminal&amp;lt;br&amp;gt;1 Chome-1-4 Kaigandori&amp;lt;br&amp;gt;Naka Ward, Yokohama, Kanagawa Prefecture 〒231-0002&amp;lt;br&amp;gt;Japan', '', 'Nov 3-4 2018', 330);&lt;br /&gt;
addLocation(34.985692,   138.417148, 'Kemono Square', 'kemono-square.com', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 4 2016', 107);&lt;br /&gt;
//addLocation(35.654685, 139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);  //259 vendors from 246 circles confirmed for 2014&lt;br /&gt;
//addLocation(34.6693,   135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2014', 0);&lt;br /&gt;
//addLocation(35.1584991, 136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 29, 2015', 141); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(41.845931,   -87.942533, 'LAFF New Year\'s Eve', 'newyearsevecon.com', 'Residence Inn Oak Brook&amp;lt;br&amp;gt;790 Jorie Boulevard&amp;lt;br&amp;gt;Oak Brook, IL 60523&amp;lt;br&amp;gt;USA', '+1 (630) 571-1200', 'Dec 31 2017-Jan 1 2018', 87);&lt;br /&gt;
addLocation(47.336284,    12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Jul 9-16 2016', 40);&lt;br /&gt;
addLocation(28.418215,   -81.465091, 'Megaplex', 'megaplexcon.org', 'DoubleTree by Hilton Orlando at SeaWorld&amp;lt;br&amp;gt;10100 International Drive&amp;lt;br&amp;gt;Orlando, Florida, 32821&amp;lt;br&amp;gt;USA', '+1 (407) 352-1100', 'Aug 4-Aug 6 2017', 1860);&lt;br /&gt;
addLocation(38.219466, -85.575556, 'The Menagerie', 'kyanthros.org/menagerie', 'Triple Crown Pavilion&amp;lt;br&amp;gt;1776 Plantside Dr&amp;lt;br&amp;gt;Jeffersontown, KY, 40299&amp;lt;br&amp;gt;USA', '+1 (502) 491-4830', 'Jun 2-Jun 3 2018', 106);&lt;br /&gt;
addLocation(34.966572,   -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Sep 2-Sep 4 2016', 432);&lt;br /&gt;
addLocation(50.825484,     7.887068, 'Mephit Mini Con', 'mmc.furcon.eu', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May 12-16 2016', 200);&lt;br /&gt;
//addLocation(35.656854,139.7351909, 'Metamore Generation V', 'www.metamor.jp', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(42.322128, -71.646046, 'Micro Fur Con', 'microfurcon.com', 'First Parish Church Unitarian&amp;lt;br&amp;gt;40 Church St&amp;lt;br&amp;gt;Northborough, MA 01532&amp;lt;br&amp;gt;USA', '+1 (508) 393-6422', 'Apr 1 2017', 150);&lt;br /&gt;
addLocation(41.981284,   -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Nov 29-Dec 2 2018', 8700);&lt;br /&gt;
addLocation(45.017750, -93.143750, 'MNFurs Spring Picnic', 'mnfurs.org', 'Central Park - Lexington&amp;lt;br&amp;gt;2540 Lexington Avenue&amp;lt;br&amp;gt;Roseville, MN 55113&amp;lt;br&amp;gt;USA', '', 'May 20 2017', null);&lt;br /&gt;
//addLocation(35.754914,139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', '', 'May 2 2015', 66); //only attendees signed up from Twipla - 6 people over venue capacity&lt;br /&gt;
addLocation(13.705699,   100.604295, 'Morph Parade', 'fb.me/MOFU.PARADE', 'KV Mansion&amp;lt;br&amp;gt;90 สุขุมวิท 81 บางจาก&amp;lt;br&amp;gt;[Near BTS On-Nut station]&amp;lt;br&amp;gt;Bangkok 10260&amp;lt;br&amp;gt;Thailand', '+66 2-33 222 11', 'Oct 29 2016');&lt;br /&gt;
addLocation(42.443047,   -83.435667, 'Motor City Furry Con', 'motorcityfurrycon.org', '21111 Haggerty Road&amp;lt;br&amp;gt;Novi, MI 48375&amp;lt;br&amp;gt;USA', '+1 (248) 349-4000', 'Apr 7-9 2017', 1028);&lt;br /&gt;
addLocation(39.65924,   -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 31 2015-Jan 1 2016', 211) &lt;br /&gt;
addLocation(58.9143217,   17.953672, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Utsikten Meetings Hotel&amp;lt;br&amp;gt;Nynäshamn&amp;lt;br&amp;gt;Sweden', '', 'Mar 9-12 2017', 513);&lt;br /&gt;
addLocation(18.454343, -66.090161, 'NorthAmeriCon', 'northamericon17.com', 'Sheraton Puerto Rico Hotel &amp;amp; Casino&amp;lt;br&amp;gt;200 Convention Blvd&amp;lt;br&amp;gt;San Juan, PR 00907&amp;lt;br&amp;gt;Puerto Rico', '+1 787-993-3500', 'Jul 6-9 2017', null);&lt;br /&gt;
addLocation(47.3680236,   -121.1057155, 'NorthWest CampCon', 'www.nwcampcon.com', 'Okanogan-Wenatchee National Forest&amp;lt;br&amp;gt;Wenatchee, WA 98807&amp;lt;br&amp;gt;USA', 'N/A', 'Jun 16-18 2017', null);&lt;br /&gt;
//addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 29-Nov 1 2014', 352);&lt;br /&gt;
addLocation(37.3718553,   -121.9248902, 'Pacific Anthropomorphics Weekend', 'www.pacanthro.org', 'DoubleTree by Hilton Hotel San Jose&amp;lt;br&amp;gt;2050 Gateway Pl, San Jose, CA 95110&amp;lt;br&amp;gt;USA', '+1 (408) 453-4000', 'Nov 4-7 2016', null);&lt;br /&gt;
addLocation(43.635466, -70.338801, 'Pine Fur Con', 'www.pinefurcon.org', 'DoubleTree by Hilton Hotel Portland&amp;lt;br&amp;gt;363 Maine Mall Rd&amp;lt;br&amp;gt;Portland, ME 04106&amp;lt;br&amp;gt;USA', '+1 (207) 775-6161', 'Apr 5-7 2019', 406);&lt;br /&gt;
addLocation(-31.944444,  115.863842, 'FurWAG', 'furwag.com.au', 'Hotel Ibis Styles Perth&amp;lt;br&amp;gt;15 Robinson Avenue&amp;lt;br&amp;gt;Northbridge 6003&amp;lt;br&amp;gt;Western Australia', '+61 8 9328 0000', 'Sept 30-Oct 2 2016', 177);&lt;br /&gt;
//addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 22-25 2016', 2704);&lt;br /&gt;
addLocation(-27.467778,  153.027778, 'RivFur', 'www.southbankfurmeet.com/home/m/36617225/article/3714600', 'Brisbane, Queensland, Australia', '', 'Jul 29-31, 2016', 200);&lt;br /&gt;
//addLocation(39.762235,  -104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Denver Marriott Tech Center&amp;lt;br&amp;gt;4900 South Syracuse Street&amp;lt;br&amp;gt;Denver, Colorado 80237&amp;lt;br&amp;gt;USA', '+1 (303) 779-1100', 'Aug 12-14 2016', 1670);&lt;br /&gt;
addLocation(32.3352503,  -95.3382379, 'Rose City Fursanity', 'rcfursanity.wixsite.com', 'Regal Cinemas Tyler Rose 14&amp;lt;br&amp;gt;1250 S SW Loop 323&amp;lt;br&amp;gt;Tyler, Texas 75701&amp;lt;br&amp;gt;USA', '+1 (844) 462-7432', 'Apr 20-22 2018', null);&lt;br /&gt;
addLocation(56.050627,    36.823576, 'Rusfurence', 'rusfurence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 1-5 2017', 286);&lt;br /&gt;
addLocation(57.478307,     -4.22672, 'ScotiaCon', 'scotiacon.co.uk', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Nov 4-6 2016', 152);&lt;br /&gt;
addLocation(31.279758,     121.4303036, 'Super Furry Fusion 2018', 'furrychina.com', 'Grand New Palace Banquet &amp;amp; Conbention Centre&amp;lt;br&amp;gt;88 Gaoping Rd&amp;lt;br&amp;gt;Shanghai, China&amp;lt;br&amp;gt;中国上海市闸北区高平路88号雅悦新天地婚宴展会中心', '', 'Jul 29 2018', null);&lt;br /&gt;
addLocation(23.1866733,     113.276755, 'Furry Summer Gathering 2018', 'shouxiaji.cn', 'Guangzhou Baiyun International Convention Center&amp;lt;br&amp;gt;1039-1045 Baiyun S Ave&amp;lt;br&amp;gt;Guangzhou, China&amp;lt;br&amp;gt;中国广东省广州市白云区白云饮食文化长廊白云大道南1039-1045号广州白云国际会议中心', '', 'Aug 4 2018', null);&lt;br /&gt;
addLocation(33.7963444,   -117.7547691, 'SoCal FurBQ', 'twitter.com/SoCalFurBQ', 'Irvine Regional Pk&amp;lt;br&amp;gt;1 Irvine Park Rd&amp;lt;br&amp;gt; Orange, CA 92869&amp;lt;br&amp;gt;USA', '+1 (714) 973-6835', 'Sep 17 2016', null);&lt;br /&gt;
addLocation(-25.957300, 27.439744, 'South Afrifur', 'south-afrifur.co.za', 'Magalies Retreat&amp;lt;br&amp;gt;RN20 New Thorndale Road&amp;lt;br&amp;gt;Krugersdorp, NorthWest Province, 1791&amp;lt;br&amp;gt;South Africa', '+27 82 377 0219', 'Jul 14-17 2017', null);&lt;br /&gt;
//addLocation(-26.201,       28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(49.278252,   -125.041257, 'Surfur', 'surfur.ca', 'Taylor Arm Provincial Park&amp;lt;br&amp;gt;Pacific Rim Hwy&amp;lt;br&amp;gt;Alberni-Clayoquot D, BC V0R 1W0&amp;lt;br&amp;gt;Canada', '+1 250-474-1336', 'Jul 7-11 2017', 81);&lt;br /&gt;
addLocation(35.836281, -78.672837, 'Tarpaw Furmeet', 'tarpawfurmeet.com', 'Hampton Inn &amp;amp; Suites Raleigh Crabtree Valley&amp;lt;br&amp;gt;3920 Arrow Drive&amp;lt;br&amp;gt;Raleigh, NC 27612&amp;lt;br&amp;gt;USA', '+1 (919) 881-7080', 'May 19-21 2017', 141);&lt;br /&gt;
addLocation(13.746076,   100.562432, 'Thai Tails', 'www.thaitails.net', 'Asok Towers&amp;lt;br&amp;gt;BLDG 219, Soi Sukhumvit 21, Asok Road&amp;lt;br&amp;gt;Klongtoey Nua, Wattana&amp;lt;br&amp;gt;Bangkok, Thailand 10110', '+66 2 120 9600', 'Jan 30 2016', 0);&lt;br /&gt;
addLocation(41.388786, -73.515143, 'Tiny Paws Con', 'www.tinypawscon.org', 'Crowne Plaza Danbury&amp;lt;br&amp;gt;18 Old Ridgebury Rd, Danbury, CT 06810&amp;lt;br&amp;gt;USA', '+1 (203) 794-0600', 'Sep 8-10 2017', null); &lt;br /&gt;
//addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', 'Oct 31-Nov 2 2014', 126);&lt;br /&gt;
addLocation(49.170696,-123.145162, 'VancouFur', 'vancoufur.org', 'Executive Airport Plaza Hotel Richmond&amp;lt;br&amp;gt;7311 Westminster Hwy&amp;lt;br&amp;gt;Richmond, British Columbia, V6X 1A3&amp;lt;br&amp;gt;Canada', '', 'Mar 9-12 2017', 810);&lt;br /&gt;
//addLocation(45.499474,   -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 20-22 2016', 439);&lt;br /&gt;
addLocation(40.4612,       -79.7509, 'Western Pennsylvania Furry Weekend', 'wpafw.org', ' North Park Lodge, N Ridge Dr&amp;lt;br&amp;gt;Allison Park, PA 15101&amp;lt;br&amp;gt;USA', '+1 (724) 327-0338', 'Oct 7-9 2016', 133);&lt;br /&gt;
addLocation(35.042611,   -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 2019?', 190);&lt;br /&gt;
addLocation(49.891660, -97.194377, 'Wild Prairie Fur Con', 'wpfcon.ca', 'Canad Inns Destination Centre Polo Park&amp;lt;br&amp;gt;1405 St Matthews Ave&amp;lt;br&amp;gt;Winnipeg, MB R3G 3P7&amp;lt;br&amp;gt;Canada', '+1 204-775-8791', 'Aug 11-12 2018', null);&lt;br /&gt;
addLocation(37.783995, -122.410405, 'Wild Things', ' ', 'SF Citadel&amp;lt;br&amp;gt;181 Eddy St&amp;lt;br&amp;gt;San Francisco, CA 94102&amp;lt;br&amp;gt;USA', 'N/A', 'Feb 25 2017', null);&lt;br /&gt;
addLocation(50.456309,    30.504819, 'WUFF', 'wuff.org.ua', 'Hotel «Sofiyevsky Posad»&amp;lt;br&amp;gt;81/2 Kyivs\'ka Str., Sofiivs\'ka Borshchahivka&amp;lt;br&amp;gt;Kiev, Ukraine', '', 'May 4-8 2016', 160)&lt;br /&gt;
addLocation(44.148964,    12.464516, 'Zampacon', 'zampacon.org', 'Via Ragusa 20&amp;lt;br&amp;gt;Bellaria-Igea Marina (RN)&amp;lt;br&amp;gt;47814 &amp;lt;br&amp;gt;Italy', '', 'Sep 2-6 2016', 60);&lt;br /&gt;
addLocation(47.503095,    12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 23-30 2016', 40);&lt;br /&gt;
addLocation(50.773040,    15.311701, 'ZodiaCon', 'zodiacon.org', 'Vršovská Brána&amp;lt;br&amp;gt;Vršov 19&amp;lt;br&amp;gt;539 53 Horní Bradlo&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 26-29 2016', 74);&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Everywhere (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Japan (&amp;quot;+count_japan+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_JAPAN;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_JAPAN:&lt;br /&gt;
            filter_func = is_in_japan; break;            &lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_japan(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates like &amp;quot;Jan 17 - Feb 2, 2014&amp;quot; into an integer like 20140117 for sorting&lt;br /&gt;
// should accept anything that looks like a date.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
    &amp;quot;use strict&amp;quot;;&lt;br /&gt;
    var x; &lt;br /&gt;
    var v;&lt;br /&gt;
    var y;&lt;br /&gt;
    var day; &lt;br /&gt;
    var month; &lt;br /&gt;
    var year;&lt;br /&gt;
    &lt;br /&gt;
	if (!s) {return 200004001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (x &amp;amp;&amp;amp; x[1]) {&lt;br /&gt;
	    day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	    if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	&lt;br /&gt;
	    switch (x[1]){&lt;br /&gt;
		    case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		    case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		    case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		    case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		    case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		    case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		    case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		    case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		    case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		    case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		    case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		    case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		    default:	month = 20;&lt;br /&gt;
	    }//switch&lt;br /&gt;
	} else {&lt;br /&gt;
	    month = 40;&lt;br /&gt;
	    day = 0;&lt;br /&gt;
	} &lt;br /&gt;
	&lt;br /&gt;
	y = /[0-9]{4}$/.exec(s);&lt;br /&gt;
	if (y) {&lt;br /&gt;
		year = (v=parseInt(y[0]))?v:0;&lt;br /&gt;
    	if (year &amp;gt; 9999) {year = 10000;}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return year * 10000 + month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        a.marker = new google.maps.Marker({&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: a.name,&lt;br /&gt;
            icon: (a.attendance &amp;gt;= 5000 ? greenIcon : (a.attendance &amp;gt;= 2500 ? yellowIcon : (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 250 ? purpleIcon : blueIcon ) ) ) ),&lt;br /&gt;
            zIndex: a.attendance&lt;br /&gt;
        });&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            //if we can't see the marker, show it in the center&lt;br /&gt;
            if (!map.getBounds().contains(a.marker.getPosition())){&lt;br /&gt;
                map.panTo(a.marker.getPosition());&lt;br /&gt;
            }&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++; &lt;br /&gt;
        } else if (is_in_japan(a.lat, a.lng)) {&lt;br /&gt;
	    count_japan ++; &lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2018-05-11T10:11:08Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: WTFur is ded&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the cog and Share (or check the URL) and copy the first two numbers after the '@' (including the decimal bits). &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_japan = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_JAPAN = 4;&lt;br /&gt;
var FILT_OTHERS = 5;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
function is_in_japan(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var yellowIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/yellow-dot.png&amp;quot;);&lt;br /&gt;
var greenIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/green-dot.png&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website name [no http[s]://]', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
addLocation(48.499678, 9.150536, 'Furvester', 'furvester.org', 'Carl-Zeiss-Straße 75&amp;lt;br&amp;gt;72770 Reutlingen&amp;lt;br&amp;gt;Germany', '+49 (07121) 5840', 'Dec 29-1 2018', null);&lt;br /&gt;
addLocation(29.5057863,   -98.5495143, 'Alamo City Furry Invasion', 'furryinvasion.org', 'San Antonio Marriott Northwest&amp;lt;br&amp;gt;3233 NW Loop 410&amp;lt;br&amp;gt;San Antonio, TX 78213&amp;lt;br&amp;gt;USA', '+1 (210) 377-3900', 'Oct 7-8 2017', null);&lt;br /&gt;
//addLocation(-37.891950,-57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(30.3709252,   -81.4089605, 'Annual JaxFurs Spring Picnic', 'floridafurs.com', 'Kathryn Abbey Hanna Park&amp;lt;br&amp;gt;500 Wonderwood Dr&amp;lt;br&amp;gt;Jacksonville, FL 32233&amp;lt;br&amp;gt;USA', '(+1 (904) 249-4700', 'Apr 22 2017', 127);&lt;br /&gt;
addLocation(35.833243, -78.771843, 'Anthro Crossroads East', 'www.anthrocrossroads.com', 'Embassy Suites, Raleigh-Durham-Research Triangle&amp;lt;br&amp;gt;201 Harrison Oaks Blvd&amp;lt;br&amp;gt;Cary, NC 27513&amp;lt;br&amp;gt;USA', '+1 (919) 677-1840', 'Jan 18-20 2019', 295);&lt;br /&gt;
addLocation(42.353979,   -71.105356, 'Anthro New England', 'www.anthronewengland.org', 'Hyatt Regency Cambridge, Overlooking Boston&amp;lt;br&amp;gt;575 Memorial Dr&amp;lt;br&amp;gt;Cambridge, MA&amp;lt;br&amp;gt;USA', '1(617) 492-1234', 'Jan 19-22 2017', 965);&lt;br /&gt;
addLocation(47.6067596,   -122.3332647, 'Anthro Northwest', 'www.anthronw.com', 'Renaissance Seattle Hotel&amp;lt;br&amp;gt;515 Madison St, Seattle, WA 98104&amp;lt;br&amp;gt;USA', '+1 (206) 583-0300', 'Nov 8-11 2018', null);&lt;br /&gt;
addLocation(40.769060, -111.897906, 'Anthro Weekend Utah', 'www.anthroweekendutah.org', 'Radisson Salt Lake City Downtown&amp;lt;br&amp;gt;215 S Temple, Salt Lake City, UT 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', 'Oct 27-28 2017', null);&lt;br /&gt;
addLocation(40.105846,   -83.017244, 'AnthrOhio', 'anthrohio.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 26-28 2017', 546);&lt;br /&gt;
addLocation(40.444334,   -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jun 29-Jul 2 2017', 7544);&lt;br /&gt;
addLocation(43.569967, -89.769743, 'AquatiFur', 'aquatifur.com', 'Kalahari Resorts Dells&amp;lt;br&amp;gt;1305 Kalahari Drive&amp;lt;br&amp;gt;Wisconsin Dells, WI 53965&amp;lt;br&amp;gt;USA', '+1 (608) 254-5466', 'Oct 20-22 2017', null);&lt;br /&gt;
addLocation(33.548246,  -112.046348, 'Arizona Fur Con', 'Arizonafurcon.com', 'Pointe Hilton Squaw Peak Resort&amp;lt;br&amp;gt;N 16th St&amp;lt;br&amp;gt;Phoenix, Arizona 85020&amp;lt;br&amp;gt;USA', '1(602) 997-2626', 'Sep 30-Oct 2 2016', 725);&lt;br /&gt;
addLocation(34.745865, -92.400043, 'ArkConsas', 'www.arkconsas.com', 'Embassy Suites Little Rock&amp;lt;br&amp;gt;11301 Financial Centre Pkwy&amp;lt;br&amp;gt;Little Rock, AR 72211&amp;lt;br&amp;gt;USA', '1 (501) 312-9000', 'Jan 5-9 2017', null);&lt;br /&gt;
//addLocation(52.597652,   13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 18-21 2015', 89);&lt;br /&gt;
addLocation(46.979122,   -112.526529, 'Big Sky Paw Camp', 'www.bigskycampcon.org', 'Aspen Grove Picnic Area&amp;lt;br&amp;gt;Lincoln, Montana 59639&amp;lt;br&amp;gt;USA', '', 'June 23-25 2017', 40);&lt;br /&gt;
addLocation(39.523177,   -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'May 12-15 2016', 5138);&lt;br /&gt;
addLocation(-23.970691,  -46.329962, 'Brasil FurFest', 'brasilfurfest.com.br', 'Hotel Mercure Santos&amp;lt;br&amp;gt;Av. Washington Luiz, 565&amp;lt;br&amp;gt;Santos, SP&amp;lt;br&amp;gt;Brazil', '','Aug 17-19 2018', 287);&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
addLocation(34.080577,  -117.762728, 'Califur', 'califur.com', 'Sheraton Fairplex Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;601 W McKinley Ave&amp;lt;br&amp;gt;Pomona, CA 91768&amp;lt;br&amp;gt;USA', '', 'Jun 3-5 2016', 1317);&lt;br /&gt;
addLocation(43.721056,  -121.291552, 'Campfire Tails', 'campfiretails.org', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Aug 4-8 2016', 143);&lt;br /&gt;
addLocation(49.381977,   -121.446555, 'CampFur', 'campfur.ca', 'Near Hope&amp;lt;br&amp;gt;Hope, BC V0X 1L0&amp;lt;br&amp;gt;Canada', '', 'Jun 16-19 2017', null);&lt;br /&gt;
addLocation(19.503268, -99.391848, 'Camping Paws', 'facebook.com/CapitalFurCampingPaws/', 'Capoxi Water Dam&amp;lt;br&amp;gt;54570 Jilotzingo, Estado de Mexico&amp;lt;br&amp;gt;Mexico', '', 'Mar 31-Apr 1 2018', 25);&lt;br /&gt;
addLocation(45.4198698, -75.6989379, 'CanFURence', 'www.canfurence.ca', '185 Slater Street&amp;lt;br&amp;gt;Ottawa ON  K1P OC8&amp;lt;br&amp;gt;Canada', '+1 844-258-6882', 'Nov 10-12 2017', 322);&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439,     -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(37.686355,   -97.342702, 'Central Plains Furcon', 'cpfurcon.com', 'Drury Plaza Hotel Broadview&amp;lt;br&amp;gt;400 West Douglas Ave&amp;lt;br&amp;gt;Wichita, KS 67202&amp;lt;br&amp;gt;USA', '', 'Sep 1-4 2016', 100)&lt;br /&gt;
addLocation(37.611267, -97.631684, 'Central Plains Fur Meet', 'www.centralplainsfurmeet.com', 'near Lake Afton&amp;lt;br&amp;gt;Goddard, KS 67052&amp;lt;br&amp;gt;USA', '', 'May 19-21 2017', null);&lt;br /&gt;
addLocation(49.638649,    15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jul 6-10 2016', 107);&lt;br /&gt;
//addLocation(23.061687, 113.296423, 'China National Furry Party', 'www.fb.com/CNFP2015', ', Guangzhou&amp;lt;br&amp;gt;China', '', 'Jul 8-19 2015', 40);&lt;br /&gt;
addLocation(50.935659,     6.965116, 'Cologne Furdance', 'www.crosscombined.de', 'Maritim Hotel, Heumarkt 20, 50667 Köln, Germany', '', 'Jul 30 2016', 201); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
//addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 1-3 2014', 251);&lt;br /&gt;
addLocation(-37.820007,  145.013429, 'ConFurgence', 'confurgence.com', 'Amora Hotel Riverwalk&amp;lt;br&amp;gt;649 Bridge Road&amp;lt;br&amp;gt;Richmond, Melbourne, Victoria, 3121&amp;lt;br&amp;gt;Australia', '+61-3-9027-2000', 'Jan 6-8 2017', 681);&lt;br /&gt;
addLocation(52.450713,    -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 26-30 2017', 1451);&lt;br /&gt;
addLocation(39.771895, -104.806944, 'DenFur', 'www.denfur.co', 'Crowne Plaza Denver Airport Convention Center&amp;lt;br&amp;gt;15500 E 40th Ave&amp;lt;br&amp;gt;Denver, CO 80239&amp;lt;br&amp;gt;USA', '+1 (303) 371-9494', 'Aug 24-26 2018', null);&lt;br /&gt;
//addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 19-21 2015');&lt;br /&gt;
addLocation(51.844531,    12.208828, 'EAST', 'www.east-convention.de.vu', 'DJH Jugendherberge&amp;lt;br&amp;gt;Ebertallee 151, 06846&amp;lt;br&amp;gt;Dessau-Roßlau&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Jul 13-17 2016');&lt;br /&gt;
addLocation(28.33704,    -81.587777, 'Elliott\'s Live Events', 'elliottsliveevents.org', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(30.475459,-87.201477, 'Emerald\'s Fur Summit', 'emeraldfurcon.org', 'Homewood Suites by Hilton Pensacola-Arpt&amp;lt;br&amp;gt;5049 Corporate Woods Dr, Pensacola, FL 32504, USA', '+1 (850) 474-3777', 'Apr 29 2017', 126);&lt;br /&gt;
addLocation(52.474897,    13.459467, 'Eurofurence', 'eurofurence.org', 'Estrel Hotel Berlin&amp;lt;br&amp;gt;Sonnenallee 225&amp;lt;br&amp;gt;12057 Berlin&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 17-21 2016', 2322);&lt;br /&gt;
//addLocation(37.247901, -93.259639, 'F3 Convention', 'www.f3con.com', 'Lamplighter Inn &amp;amp; Suites, North&amp;lt;br&amp;gt;2820 N Glenstone Ave&amp;lt;br&amp;gt;Springfield, MO 65803&amp;lt;br&amp;gt;USA', '+1 (417) 869-3900', 'Nov 20-23 2014', 55);&lt;br /&gt;
addLocation(38.960831,   -77.423238, 'FA: United', 'faunited.org', 'Hyatt Regency Dulles&amp;lt;br&amp;gt;2300 Dulles Corner Blvd.&amp;lt;br&amp;gt;Herndon, Virginia 20171&amp;lt;br&amp;gt;USA', '+1 703 713 1234', 'Aug 12-14 2016', 539);&lt;br /&gt;
addLocation(33.43743,    -86.726235, 'Fangcon', 'fangcon.org', 'Hilton Hotel Perimeter Park&amp;lt;br&amp;gt;8 Perimeter Park S&amp;lt;br&amp;gt;Birmingham, AL 35243&amp;lt;br&amp;gt;USA', '+1 (205) 967-2700', 'Oct 27-31 2016', 427);&lt;br /&gt;
addLocation(45.880449,   -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 25-29 2016', 94);&lt;br /&gt;
addLocation(60.412912,    25.038261, 'FinFur Animus', 'animus.finfur.net', 'Kokoushotelli Gustavelund, Tuusula, Finland', '', 'Jun 16-19 2016', 124);&lt;br /&gt;
//addLocation(62.02209,     30.0185, 'FinFur Summer Camp', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
//addLocation(35.454262, 139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(43.027227,   -88.108102, 'Fur Squared', 'www.fursquared.com', 'Sheraton Milwaukee Brookfield Hotel&amp;lt;br&amp;gt;375 S Moorland Rd&amp;lt;br&amp;gt;Brookfield, WI 53005&amp;lt;br&amp;gt;USA', '+1 (262) 364-1100', 'Feb 23-25 2018', 791);&lt;br /&gt;
addLocation(51.2764173,  -3.0125542, 'Furcation', 'furcation.org.uk', 'Sandy Glade Holiday Park&amp;lt;br&amp;gt;Brean Sands, Somerset&amp;lt;br&amp;gt;UK', '', 'Oct 14-17 2016', 0);&lt;br /&gt;
addLocation(44.150581, -89.164606, 'FURconsin', 'www.furconsin.com', 'near Little Hills Lake&amp;lt;br&amp;gt;Wild Rose, WI 54984&amp;lt;br&amp;gt;USA', 'N/A', 'Oct 12-16 2017', 28);&lt;br /&gt;
addLocation(-41.239835,  174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 5-8 2016', 50);&lt;br /&gt;
addLocation(-23.668839,  -46.577533, 'Furboliche', 'furboliche.com.br', 'Bomboliche Extra Anchieta&amp;lt;br&amp;gt;R. García Lorca, 301&amp;lt;br&amp;gt;S&amp;amp;atilde;o Bernardo do Campo, SP&amp;lt;br&amp;gt;Brazil', '','Mar 9 2019', 203);&lt;br /&gt;
addLocation(-24.309323,  -48.273633, 'Furcamp', 'www.facebook.com/events/183414388930807/', 'Intervales State Park&amp;lt;br&amp;gt;Estrada Municipal, km 25&amp;lt;br&amp;gt;Ribeir&amp;amp;atilde;o Grande, SP&amp;lt;br&amp;gt;Brazil', '','Mar 2-5 2019', 0);&lt;br /&gt;
addLocation(-22.997039,  -43.358095, 'Furstrike', 'www.facebook.com/furstrike', 'Barra Shopping&amp;lt;br&amp;gt;Av. das Américas, 4666 &amp;lt;br&amp;gt;Rio de Janeiro, RJ &amp;lt;br&amp;gt;Brazil', '','Mai 5 2018', 93);&lt;br /&gt;
addLocation(-27.997818,  153.429297, 'FurDU', 'www.furdu.com', 'Outrigger Hotel Surfers Paradise&amp;lt;br&amp;gt;22 View Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'May 27-29 2016', 490);&lt;br /&gt;
addLocation(53.5687483,-113.5238331, 'Fur-eh!', 'fureh.ca', 'Ramada Inn &amp;amp; Conference Center&amp;lt;br&amp;gt;11834 Kingsway Avenue&amp;lt;br&amp;gt;Edmonton, Alberta&amp;lt;br&amp;gt;Canada, T5G 3J5', '+1 (780) 454-5454', 'June 1-4 2017', 625);&lt;br /&gt;
addLocation(27.3354428,-82.575817, 'Furight Night', 'furightnight.weebly.com', 'Ken Thompson Park&amp;lt;br&amp;gt;1799 Ken Thompson Parkway&amp;lt;br&amp;gt;Sarasota, FL 34236&amp;lt;br&amp;gt;USA', '+1 (941) 735-4035', 'Oct 14 2017', null);&lt;br /&gt;
addLocation(46.183333, 11.266667, 'Furizon', 'www.furizon.net', 'Segonzano, TN 38047&amp;lt;br&amp;gt; Italy', '', 'June 1-4 2017', '')&lt;br /&gt;
addLocation(42.134573,   -72.6314187, 'Fur-Xoticon', 'www.fur-xoticon.org', 'Clarion Hotel &amp;amp; Aqua Lagoon Waterpark&amp;lt;br&amp;gt;1080 Riverdale St&amp;lt;br&amp;gt;West Springfield, MA 01089&amp;lt;br&amp;gt;USA', '+1 (413) 781-8750', 'May 26-28, 2017', null);&lt;br /&gt;
addLocation(-33.859972,  151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Sep 16-18 2016', 227);&lt;br /&gt;
addLocation(45.582910,  -122.575732, 'Furlandia', 'furlandia.org', 'Sheraton Hotel at PDX Airport &amp;lt;br&amp;gt;8235 NE Airport Way&amp;lt;br&amp;gt;Portland, Oregon 97220&amp;lt;br&amp;gt;USA', '+1 (503) 281-2500', 'May 26-28 2017', 763);&lt;br /&gt;
//addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 12-14 2014', 241); //attendance for 2012&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 22 2016', 188);&lt;br /&gt;
addLocation(43.6866,    -79.5893597, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 17-19 2017', 1322);&lt;br /&gt;
addLocation(41.6042521, -72.7027335, 'Furpocalypse', 'furpocalypse.org', 'Radisson Hotel Cromwell&amp;lt;br&amp;gt;100 Berlin Road&amp;lt;br&amp;gt;Cromwell, CT 06416&amp;lt;br&amp;gt;USA', '+1 860-635-2000', 'Oct 27-29 2017', 1455);&lt;br /&gt;
addLocation(43.156351,   -77.610020, 'FurryCon', 'www.furrycon.com', 'Radisson Riverside Rochester&amp;lt;br&amp;gt;120 E Main st&amp;lt;br&amp;gt;Rochester, New York&amp;lt;br&amp;gt;USA', '+1 (585) 546-6400', 'Sept 15-18 2016', 294);&lt;br /&gt;
addLocation(40.091453,   -75.3716987, 'Furrydelphia', 'www.furrydelphia.com', 'DoubleTree by Hilton Hotel Philadelphia - Valley Forge&amp;lt;br&amp;gt;301 W Dekalb Pike, King of Prussia, PA 19406&amp;lt;br&amp;gt;USA', '+1 (610) 337-1200', 'Aug 17-20 2017', null);&lt;br /&gt;
addLocation(28.401971,   -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Nov 5-12 2016', 27);&lt;br /&gt;
addLocation(32.956751,  -96.8252737, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Mar 24-26 2017', 2820);&lt;br /&gt;
addLocation(1.2877475,  103.846800, 'Furry Lah', 'furrylah.com', 'Quarters Hostel&amp;lt;br&amp;gt;12 Circular Road&amp;lt;br&amp;gt;Singapore 049368', '+65 6438 5627', 'Nov 25-27 2016');&lt;br /&gt;
addLocation(44.971198,    -93.27774, 'Furry Migration', 'www.furrymigration.org', 'Hyatt Regency Minneapolis&amp;lt;br&amp;gt;1300 Nicollet Mall&amp;lt;br&amp;gt;Minneapolis, Minnesota,&amp;lt;br&amp;gt;USA, 55403', '+1 (612) 370-1234', 'Sept 9-11 2016', 701);&lt;br /&gt;
addLocation(41.7838208,   -72.5803353, 'Furry Picnic', 'www.furrypicnic.com', 'Wickham Park&amp;lt;br&amp;gt;1329 Middle Turnpike W&amp;lt;br&amp;gt;Manchester, CT 06040&amp;lt;br&amp;gt;USA', '+1 (860) 528-0856', 'Jun 3 2017', null);&lt;br /&gt;
addLocation(35.642936, -96.419021, 'Furry Retreat', 'www.furryretreat.com', 'Knight\'s Rest Retreat&amp;lt;br&amp;gt;37701 W 361st St S&amp;lt;br&amp;gt;Bristow, OK 74010&amp;lt;br&amp;gt;USA', 'N/A', 'Oct 20-22 2017', null);&lt;br /&gt;
addLocation(39.502173, -106.151042, 'Furry Ski Weekend', 'furryskiweekend.com', 'Copper Mountain Resort&amp;lt;br&amp;gt;209 Ten Mile Cir&amp;lt;br&amp;gt;Frisco, CO 80443&amp;lt;br&amp;gt;USA', '+1 (866) 841-2481', 'Feb 9-12 2017', null);&lt;br /&gt;
addLocation(32.9451,    -96.8401881, 'Furry Siesta', 'furrysiesta.com', 'Crowne Plaza – Addison&amp;lt;br&amp;gt;14315 Midway Road&amp;lt;br&amp;gt;Addison, TX 75001&amp;lt;br&amp;gt;USA', '+1 (972) 980-8877', 'Jul 15-16 2016', 306);&lt;br /&gt;
addLocation(33.761999,   -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Apr 6-9 2017', 3252);&lt;br /&gt;
addLocation(52.775556,     6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 31-Apr 3 2017', 57);&lt;br /&gt;
//addLocation(51.40328,     5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66); //ended in 2013.&lt;br /&gt;
addLocation(37.036680,   -76.382842, 'FursonaCon', 'www.fursonacon.com', 'Hampton Roads Convention Center&amp;lt;br&amp;gt;1610 Coliseum Dr&amp;lt;br&amp;gt;Hampton, Virginia&amp;lt;br&amp;gt;USA', '+1 (757) 315-1610', 'Mar 18-20 2016');&lt;br /&gt;
addLocation(52.588333,        14.65, 'Furstock', 'www.polfurs.org', '', '', 'Jul 14-16 2016', 45);&lt;br /&gt;
addLocation(57.05,         9.916667, 'Furtastic', 'www.furtastic.dk', 'Sondrupvej 58&amp;lt;br&amp;gt;8350 Hundslund&amp;lt;br&amp;gt;Denmark', '', 'Jul 4-7 2016', 50);&lt;br /&gt;
addLocation(37.330294,  -121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 12-16 2017', 3536);&lt;br /&gt;
addLocation(53.509966,  -118.006813, 'Furthest North', 'furthestnorth.ca', 'Wildhay Group Campground&amp;lt;br&amp;gt;north of Hinton&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Sept 2-5 2016', 63);&lt;br /&gt;
addLocation(3.104127, 101.640800, 'Furum', 'furum.org', 'Hotel Armada&amp;lt;br&amp;gt; Lot 6 &amp;lt;br&amp;gt; Lorong Utara C &amp;lt;br&amp;gt;Section 52&amp;lt;br&amp;gt; 46200 Petaling Jaya Selangor &amp;lt;br&amp;gt;Malaysia', '+60 3-7954 6888', 'Dec 9-10 2017');&lt;br /&gt;
//addLocation(53.407281,  -2.989201, 'FurVention', 'furvention.org.uk', 'Aloft Liverpool&amp;lt;br&amp;gt;1 North John Street&amp;lt;br&amp;gt;Liverpool, L2 5QW&amp;lt;br&amp;gt;United Kingdom', '+44 151 294 3970', '22-24 Jan 2016', 64);&lt;br /&gt;
//addLocation(35.559328,   139.723602, 'Fur-st', 'fur-st.com', '志ら井&amp;lt;br&amp;gt;1 Chome-20-28 Minamikamata&amp;lt;br&amp;gt;Ota, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Oct 18 2014', 144);&lt;br /&gt;
addLocation(39.283286,   -84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'Oct 7-9 2016', 382);&lt;br /&gt;
addLocation(38.930864,   -77.245601, 'Fur the \'More', 'furthemore.org', 'Sheraton Premiere at Tysons Corner&amp;lt;br&amp;gt;8661 Leesburg Pike&amp;lt;br&amp;gt;Vienna, VA&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Mar 15-17 2019', 1256);&lt;br /&gt;
addLocation(20.688831, -103.330578, 'Confuror', 'vidafur.byethost8.com/furmeet', 'Centro Cultural Luis Paez Brotchíe&amp;lt;br&amp;gt;Centro Médico 208&amp;lt;br&amp;gt;Independencia Oriente&amp;lt;br&amp;gt;44340 Guadalajara, Jalisco&amp;lt;br&amp;gt;Mexico', '+52 33 1201 8728', 'Aug 4-6 2017', null);&lt;br /&gt;
addLocation(40.294208,        -3.796594, 'Furrnion', 'furrnion.org', 'Hotel Las Provincias&amp;lt;br&amp;gt;C/Zaragoza, 2&amp;lt;br&amp;gt;28941 Fuenlabrada (Madrid)&amp;lt;br&amp;gt;Spain', '+34 607654483', 'Oct 2019', 0);&lt;br /&gt;
addLocation(19.435967, -99.151094, 'Furry Summer Mexico', 'facebook.com/FurrySummer', 'Centro de Espectáculos Plaza&amp;lt;br&amp;gt;Avenida de la República 127-A&amp;lt;br&amp;gt;Cuauhtémoc, Tabacalera, 06030 Ciudad de México, CDMX&amp;lt;br&amp;gt;Mexico', '+52 55 5514 2565', 'Jul 29-30 2017', null);&lt;br /&gt;
addLocation(51.93180,        19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 10-14 2016', 93);&lt;br /&gt;
//addLocation(49.8954237,  5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013', 14);&lt;br /&gt;
addLocation(38.6329283,  -90.184827, 'Gateway Furmeet', 'gatewayfurmeet.org', 'Lumière Place Casino and Hotels&amp;lt;br&amp;gt;999 N 2nd St&amp;lt;br&amp;gt;St. Louis, Missouri 63119&amp;lt;br&amp;gt;USA', '+1 (314) 881-7777', 'May 13-15 2016', 223);&lt;br /&gt;
addLocation(54.358288,    18.621243, 'Gdakon', 'gdakon.org', 'Amber Hotel&amp;lt;br&amp;gt;Gdańsk&amp;lt;br&amp;gt;Poland', '', 'March 1-5 2017', 252);&lt;br /&gt;
addLocation(42.774481, -86.079661, 'Great Lakes Fur Con', 'greatlakesfurcon.com', 'DoubleTree by Hilton Hotel Holland&amp;lt;br&amp;gt;650 E 24th St&amp;lt;br&amp;gt;Holland, MI 49423&amp;lt;br&amp;gt;USA', '+1 (616) 394-0111', 'May 26-28 2017', 308);&lt;br /&gt;
addLocation(47.35016,       7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Nov 3-6 2016');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,     8.826463, 'H-Con', 'h-con.org', 'Petershof&amp;lt;br&amp;gt;Talweg 5&amp;lt;br&amp;gt;64711 Erbach/Erbuch&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Sep 28-Oct 2 2016', 64);&lt;br /&gt;
addLocation(49.26716,   -123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', '2016', 278);&lt;br /&gt;
//addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Oct 11-13 2013');&lt;br /&gt;
//addLocation(25.034847,   121.546979, 'Infurnity', 'infurnity.com', 'SMAJO House&amp;lt;br&amp;gt;Ln. 279, Sec. 1, Fuxing S. Rd.&amp;lt;br&amp;gt;Da’an Dist., Taipei', '', 'Oct 31 2015', 62); // first Taiwan furcon&lt;br /&gt;
addLocation(39.797248,   -86.041109, 'IndyFurCon', 'indyfurcon.com', 'Indianapolis Marriott East&amp;lt;br&amp;gt;7202 E 21st St&amp;lt;br&amp;gt;Indianapolis, IN 46219&amp;lt;br&amp;gt;USA', '+1 (317) 352-1231', 'Aug 24-26 2018', 735);&lt;br /&gt;
addLocation(33.643368,  -112.119356, 'Itty Bitty FurCon', 'ittybittyfurcon.com', 'La Princesa&amp;lt;br&amp;gt;2710 W Bell Road #1205&amp;lt;br&amp;gt;Phoenix, AZ 85053&amp;lt;br&amp;gt;USA', '+1 (602) 518-5990', 'Jul 17 2016', 0);&lt;br /&gt;
addLocation(34.743463,   137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 6-8 2017', 588);&lt;br /&gt;
addLocation(51.505072,   -2.536662, 'Just Fur The Weekend', 'http://justfurtheweekend.org.uk/', 'Holiday Inn Filton &amp;lt;br&amp;gt; Filton Road&amp;lt;br&amp;gt; Winterbourne&amp;lt;br&amp;gt;Bristol', '', 'April 14-16 2017', 319);&lt;br /&gt;
addLocation(39.114216, -94.626925, 'KCFur Howl', 'www.kchowl.com', 'near Kansas City Metro Area&amp;lt;br&amp;gt;Kansas City, MO&amp;lt;br&amp;gt;USA', 'N/A', 'Oct 29 2016', null);&lt;br /&gt;
addLocation(25.00814,     121.53604, 'Kemono &amp;amp; Jingai Only 2', 'jk2016.furry.tw', 'Jhongjheng Hall&amp;lt;br&amp;gt;88 Tingzhou Road Section 4&amp;lt;br&amp;gt;Wenshan District&amp;lt;br&amp;gt;Taipei City 116&amp;lt;br&amp;gt;Taiwan&amp;lt;br&amp;gt;116台北市文山區汀州路四段88號', '', 'Jul 16 2016', 0); // The name of the hall at http://en.ntnu.edu.tw/gongguan-campus.php#tab-1 seems to be in Tongyong Pinyin, while the street address seems to be in Hanyu Pinyin?&lt;br /&gt;
//addLocation(35.3334755, 139.9891955, 'Kemocon', 'www.kemocon.com', 'Kasuza Akademia Hall&amp;lt;br&amp;gt;2 Chome-3-9 Kazusakamatari&amp;lt;br&amp;gt;Kisarazu, Chiba Prefecture&amp;lt;br&amp;gt;Japan', '', 'Nov 21-22 2015', 420);&lt;br /&gt;
addLocation(34.985692,   138.417148, 'Kemono Square', 'kemono-square.com', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 4 2016', 107);&lt;br /&gt;
//addLocation(35.654685, 139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);  //259 vendors from 246 circles confirmed for 2014&lt;br /&gt;
//addLocation(34.6693,   135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2014', 0);&lt;br /&gt;
//addLocation(35.1584991, 136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 29, 2015', 141); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(41.845931,   -87.942533, 'LAFF New Year\'s Eve', 'newyearsevecon.com', 'Residence Inn Oak Brook&amp;lt;br&amp;gt;790 Jorie Boulevard&amp;lt;br&amp;gt;Oak Brook, IL 60523&amp;lt;br&amp;gt;USA', '+1 (630) 571-1200', 'Dec 31 2017-Jan 1 2018', 87);&lt;br /&gt;
addLocation(47.336284,    12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Jul 9-16 2016', 40);&lt;br /&gt;
addLocation(28.418215,   -81.465091, 'Megaplex', 'megaplexcon.org', 'DoubleTree by Hilton Orlando at SeaWorld&amp;lt;br&amp;gt;10100 International Drive&amp;lt;br&amp;gt;Orlando, Florida, 32821&amp;lt;br&amp;gt;USA', '+1 (407) 352-1100', 'Aug 4-Aug 6 2017', 1860);&lt;br /&gt;
addLocation(38.219466, -85.575556, 'The Menagerie', 'kyanthros.org/menagerie', 'Triple Crown Pavilion&amp;lt;br&amp;gt;1776 Plantside Dr&amp;lt;br&amp;gt;Jeffersontown, KY, 40299&amp;lt;br&amp;gt;USA', '+1 (502) 491-4830', 'Jun 2-Jun 3 2018', 106);&lt;br /&gt;
addLocation(34.966572,   -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Sep 2-Sep 4 2016', 432);&lt;br /&gt;
addLocation(50.825484,     7.887068, 'Mephit Mini Con', 'mmc.furcon.eu', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May 12-16 2016', 200);&lt;br /&gt;
//addLocation(35.656854,139.7351909, 'Metamore Generation V', 'www.metamor.jp', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(42.322128, -71.646046, 'Micro Fur Con', 'microfurcon.com', 'First Parish Church Unitarian&amp;lt;br&amp;gt;40 Church St&amp;lt;br&amp;gt;Northborough, MA 01532&amp;lt;br&amp;gt;USA', '+1 (508) 393-6422', 'Apr 1 2017', 150);&lt;br /&gt;
addLocation(41.981284,   -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Nov 29-Dec 2 2018', 8700);&lt;br /&gt;
addLocation(45.017750, -93.143750, 'MNFurs Spring Picnic', 'mnfurs.org', 'Central Park - Lexington&amp;lt;br&amp;gt;2540 Lexington Avenue&amp;lt;br&amp;gt;Roseville, MN 55113&amp;lt;br&amp;gt;USA', '', 'May 20 2017', null);&lt;br /&gt;
//addLocation(35.754914,139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', '', 'May 2 2015', 66); //only attendees signed up from Twipla - 6 people over venue capacity&lt;br /&gt;
addLocation(13.705699,   100.604295, 'Morph Parade', 'fb.me/MOFU.PARADE', 'KV Mansion&amp;lt;br&amp;gt;90 สุขุมวิท 81 บางจาก&amp;lt;br&amp;gt;[Near BTS On-Nut station]&amp;lt;br&amp;gt;Bangkok 10260&amp;lt;br&amp;gt;Thailand', '+66 2-33 222 11', 'Oct 29 2016');&lt;br /&gt;
addLocation(42.443047,   -83.435667, 'Motor City Furry Con', 'motorcityfurrycon.org', '21111 Haggerty Road&amp;lt;br&amp;gt;Novi, MI 48375&amp;lt;br&amp;gt;USA', '+1 (248) 349-4000', 'Apr 7-9 2017', 1028);&lt;br /&gt;
addLocation(39.65924,   -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 31 2015-Jan 1 2016', 211) &lt;br /&gt;
addLocation(58.9143217,   17.953672, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Utsikten Meetings Hotel&amp;lt;br&amp;gt;Nynäshamn&amp;lt;br&amp;gt;Sweden', '', 'Mar 9-12 2017', 513);&lt;br /&gt;
addLocation(18.454343, -66.090161, 'NorthAmeriCon', 'northamericon17.com', 'Sheraton Puerto Rico Hotel &amp;amp; Casino&amp;lt;br&amp;gt;200 Convention Blvd&amp;lt;br&amp;gt;San Juan, PR 00907&amp;lt;br&amp;gt;Puerto Rico', '+1 787-993-3500', 'Jul 6-9 2017', null);&lt;br /&gt;
addLocation(47.3680236,   -121.1057155, 'NorthWest CampCon', 'www.nwcampcon.com', 'Okanogan-Wenatchee National Forest&amp;lt;br&amp;gt;Wenatchee, WA 98807&amp;lt;br&amp;gt;USA', 'N/A', 'Jun 16-18 2017', null);&lt;br /&gt;
//addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 29-Nov 1 2014', 352);&lt;br /&gt;
addLocation(37.3718553,   -121.9248902, 'Pacific Anthropomorphics Weekend', 'www.pacanthro.org', 'DoubleTree by Hilton Hotel San Jose&amp;lt;br&amp;gt;2050 Gateway Pl, San Jose, CA 95110&amp;lt;br&amp;gt;USA', '+1 (408) 453-4000', 'Nov 4-7 2016', null);&lt;br /&gt;
addLocation(43.635466, -70.338801, 'Pine Fur Con', 'www.pinefurcon.org', 'DoubleTree by Hilton Hotel Portland&amp;lt;br&amp;gt;363 Maine Mall Rd&amp;lt;br&amp;gt;Portland, ME 04106&amp;lt;br&amp;gt;USA', '+1 (207) 775-6161', 'Apr 5-7 2019', 406);&lt;br /&gt;
addLocation(-31.944444,  115.863842, 'FurWAG', 'furwag.com.au', 'Hotel Ibis Styles Perth&amp;lt;br&amp;gt;15 Robinson Avenue&amp;lt;br&amp;gt;Northbridge 6003&amp;lt;br&amp;gt;Western Australia', '+61 8 9328 0000', 'Sept 30-Oct 2 2016', 177);&lt;br /&gt;
//addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 22-25 2016', 2704);&lt;br /&gt;
addLocation(-27.467778,  153.027778, 'RivFur', 'www.southbankfurmeet.com/home/m/36617225/article/3714600', 'Brisbane, Queensland, Australia', '', 'Jul 29-31, 2016', 200);&lt;br /&gt;
//addLocation(39.762235,  -104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Denver Marriott Tech Center&amp;lt;br&amp;gt;4900 South Syracuse Street&amp;lt;br&amp;gt;Denver, Colorado 80237&amp;lt;br&amp;gt;USA', '+1 (303) 779-1100', 'Aug 12-14 2016', 1670);&lt;br /&gt;
addLocation(56.050627,    36.823576, 'Rusfurence', 'rusfurence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 1-5 2017', 286);&lt;br /&gt;
addLocation(57.478307,     -4.22672, 'ScotiaCon', 'scotiacon.co.uk', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Nov 4-6 2016', 152);&lt;br /&gt;
addLocation(31.279758,     121.4303036, 'Super Furry Fusion 2018', 'furrychina.com', 'Grand New Palace Banquet &amp;amp; Conbention Centre&amp;lt;br&amp;gt;88 Gaoping Rd&amp;lt;br&amp;gt;Shanghai, China&amp;lt;br&amp;gt;中国上海市闸北区高平路88号雅悦新天地婚宴展会中心', '', 'Jul 29 2018', null);&lt;br /&gt;
addLocation(23.1866733,     113.276755, 'Furry Summer Gathering 2018', 'shouxiaji.cn', 'Guangzhou Baiyun International Convention Center&amp;lt;br&amp;gt;1039-1045 Baiyun S Ave&amp;lt;br&amp;gt;Guangzhou, China&amp;lt;br&amp;gt;中国广东省广州市白云区白云饮食文化长廊白云大道南1039-1045号广州白云国际会议中心', '', 'Aug 4 2018', null);&lt;br /&gt;
addLocation(33.7963444,   -117.7547691, 'SoCal FurBQ', 'twitter.com/SoCalFurBQ', 'Irvine Regional Pk&amp;lt;br&amp;gt;1 Irvine Park Rd&amp;lt;br&amp;gt; Orange, CA 92869&amp;lt;br&amp;gt;USA', '+1 (714) 973-6835', 'Sep 17 2016', null);&lt;br /&gt;
addLocation(-25.957300, 27.439744, 'South Afrifur', 'south-afrifur.co.za', 'Magalies Retreat&amp;lt;br&amp;gt;RN20 New Thorndale Road&amp;lt;br&amp;gt;Krugersdorp, NorthWest Province, 1791&amp;lt;br&amp;gt;South Africa', '+27 82 377 0219', 'Jul 14-17 2017', null);&lt;br /&gt;
//addLocation(-26.201,       28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(49.278252,   -125.041257, 'Surfur', 'surfur.ca', 'Taylor Arm Provincial Park&amp;lt;br&amp;gt;Pacific Rim Hwy&amp;lt;br&amp;gt;Alberni-Clayoquot D, BC V0R 1W0&amp;lt;br&amp;gt;Canada', '+1 250-474-1336', 'Jul 7-11 2017', 81);&lt;br /&gt;
addLocation(35.836281, -78.672837, 'Tarpaw Furmeet', 'tarpawfurmeet.com', 'Hampton Inn &amp;amp; Suites Raleigh Crabtree Valley&amp;lt;br&amp;gt;3920 Arrow Drive&amp;lt;br&amp;gt;Raleigh, NC 27612&amp;lt;br&amp;gt;USA', '+1 (919) 881-7080', 'May 19-21 2017', 141);&lt;br /&gt;
addLocation(13.746076,   100.562432, 'Thai Tails', 'www.thaitails.net', 'Asok Towers&amp;lt;br&amp;gt;BLDG 219, Soi Sukhumvit 21, Asok Road&amp;lt;br&amp;gt;Klongtoey Nua, Wattana&amp;lt;br&amp;gt;Bangkok, Thailand 10110', '+66 2 120 9600', 'Jan 30 2016', 0);&lt;br /&gt;
addLocation(41.388786, -73.515143, 'Tiny Paws Con', 'www.tinypawscon.org', 'Crowne Plaza Danbury&amp;lt;br&amp;gt;18 Old Ridgebury Rd, Danbury, CT 06810&amp;lt;br&amp;gt;USA', '+1 (203) 794-0600', 'Sep 8-10 2017', null); &lt;br /&gt;
//addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', 'Oct 31-Nov 2 2014', 126);&lt;br /&gt;
addLocation(49.170696,-123.145162, 'VancouFur', 'vancoufur.org', 'Executive Airport Plaza Hotel Richmond&amp;lt;br&amp;gt;7311 Westminster Hwy&amp;lt;br&amp;gt;Richmond, British Columbia, V6X 1A3&amp;lt;br&amp;gt;Canada', '', 'Mar 9-12 2017', 810);&lt;br /&gt;
//addLocation(45.499474,   -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 20-22 2016', 439);&lt;br /&gt;
addLocation(40.4612,       -79.7509, 'Western Pennsylvania Furry Weekend', 'wpafw.org', ' North Park Lodge, N Ridge Dr&amp;lt;br&amp;gt;Allison Park, PA 15101&amp;lt;br&amp;gt;USA', '+1 (724) 327-0338', 'Oct 7-9 2016', 133);&lt;br /&gt;
addLocation(35.042611,   -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 2019?', 190);&lt;br /&gt;
addLocation(49.891660, -97.194377, 'Wild Prairie Fur Con', 'wpfcon.ca', 'Canad Inns Destination Centre Polo Park&amp;lt;br&amp;gt;1405 St Matthews Ave&amp;lt;br&amp;gt;Winnipeg, MB R3G 3P7&amp;lt;br&amp;gt;Canada', '+1 204-775-8791', 'Aug 11-12 2018', null);&lt;br /&gt;
addLocation(37.783995, -122.410405, 'Wild Things', ' ', 'SF Citadel&amp;lt;br&amp;gt;181 Eddy St&amp;lt;br&amp;gt;San Francisco, CA 94102&amp;lt;br&amp;gt;USA', 'N/A', 'Feb 25 2017', null);&lt;br /&gt;
addLocation(50.456309,    30.504819, 'WUFF', 'wuff.org.ua', 'Hotel «Sofiyevsky Posad»&amp;lt;br&amp;gt;81/2 Kyivs\'ka Str., Sofiivs\'ka Borshchahivka&amp;lt;br&amp;gt;Kiev, Ukraine', '', 'May 4-8 2016', 160)&lt;br /&gt;
addLocation(44.148964,    12.464516, 'Zampacon', 'zampacon.org', 'Via Ragusa 20&amp;lt;br&amp;gt;Bellaria-Igea Marina (RN)&amp;lt;br&amp;gt;47814 &amp;lt;br&amp;gt;Italy', '', 'Sep 2-6 2016', 60);&lt;br /&gt;
addLocation(47.503095,    12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 23-30 2016', 40);&lt;br /&gt;
addLocation(50.773040,    15.311701, 'ZodiaCon', 'zodiacon.org', 'Vršovská Brána&amp;lt;br&amp;gt;Vršov 19&amp;lt;br&amp;gt;539 53 Horní Bradlo&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 26-29 2016', 74);&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Everywhere (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Japan (&amp;quot;+count_japan+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_JAPAN;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_JAPAN:&lt;br /&gt;
            filter_func = is_in_japan; break;            &lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_japan(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates like &amp;quot;Jan 17 - Feb 2, 2014&amp;quot; into an integer like 20140117 for sorting&lt;br /&gt;
// should accept anything that looks like a date.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
    &amp;quot;use strict&amp;quot;;&lt;br /&gt;
    var x; &lt;br /&gt;
    var v;&lt;br /&gt;
    var y;&lt;br /&gt;
    var day; &lt;br /&gt;
    var month; &lt;br /&gt;
    var year;&lt;br /&gt;
    &lt;br /&gt;
	if (!s) {return 200004001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (x &amp;amp;&amp;amp; x[1]) {&lt;br /&gt;
	    day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	    if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	&lt;br /&gt;
	    switch (x[1]){&lt;br /&gt;
		    case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		    case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		    case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		    case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		    case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		    case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		    case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		    case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		    case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		    case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		    case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		    case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		    default:	month = 20;&lt;br /&gt;
	    }//switch&lt;br /&gt;
	} else {&lt;br /&gt;
	    month = 40;&lt;br /&gt;
	    day = 0;&lt;br /&gt;
	} &lt;br /&gt;
	&lt;br /&gt;
	y = /[0-9]{4}$/.exec(s);&lt;br /&gt;
	if (y) {&lt;br /&gt;
		year = (v=parseInt(y[0]))?v:0;&lt;br /&gt;
    	if (year &amp;gt; 9999) {year = 10000;}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return year * 10000 + month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        a.marker = new google.maps.Marker({&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: a.name,&lt;br /&gt;
            icon: (a.attendance &amp;gt;= 5000 ? greenIcon : (a.attendance &amp;gt;= 2500 ? yellowIcon : (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 250 ? purpleIcon : blueIcon ) ) ) ),&lt;br /&gt;
            zIndex: a.attendance&lt;br /&gt;
        });&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            //if we can't see the marker, show it in the center&lt;br /&gt;
            if (!map.getBounds().contains(a.marker.getPosition())){&lt;br /&gt;
                map.panTo(a.marker.getPosition());&lt;br /&gt;
            }&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++; &lt;br /&gt;
        } else if (is_in_japan(a.lat, a.lng)) {&lt;br /&gt;
	    count_japan ++; &lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2018-05-11T01:14:17Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Update recent held events: 'Fur the \'More, Furrnion, Wild Night, Pine Fur Con&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the cog and Share (or check the URL) and copy the first two numbers after the '@' (including the decimal bits). &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_japan = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_JAPAN = 4;&lt;br /&gt;
var FILT_OTHERS = 5;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
function is_in_japan(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var yellowIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/yellow-dot.png&amp;quot;);&lt;br /&gt;
var greenIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/green-dot.png&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website name [no http[s]://]', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
addLocation(48.499678, 9.150536, 'Furvester', 'furvester.org', 'Carl-Zeiss-Straße 75&amp;lt;br&amp;gt;72770 Reutlingen&amp;lt;br&amp;gt;Germany', '+49 (07121) 5840', 'Dec 29-1 2018', null);&lt;br /&gt;
addLocation(29.5057863,   -98.5495143, 'Alamo City Furry Invasion', 'furryinvasion.org', 'San Antonio Marriott Northwest&amp;lt;br&amp;gt;3233 NW Loop 410&amp;lt;br&amp;gt;San Antonio, TX 78213&amp;lt;br&amp;gt;USA', '+1 (210) 377-3900', 'Oct 7-8 2017', null);&lt;br /&gt;
//addLocation(-37.891950,-57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(30.3709252,   -81.4089605, 'Annual JaxFurs Spring Picnic', 'floridafurs.com', 'Kathryn Abbey Hanna Park&amp;lt;br&amp;gt;500 Wonderwood Dr&amp;lt;br&amp;gt;Jacksonville, FL 32233&amp;lt;br&amp;gt;USA', '(+1 (904) 249-4700', 'Apr 22 2017', 127);&lt;br /&gt;
addLocation(35.833243, -78.771843, 'Anthro Crossroads East', 'www.anthrocrossroads.com', 'Embassy Suites, Raleigh-Durham-Research Triangle&amp;lt;br&amp;gt;201 Harrison Oaks Blvd&amp;lt;br&amp;gt;Cary, NC 27513&amp;lt;br&amp;gt;USA', '+1 (919) 677-1840', 'Jan 18-20 2019', 295);&lt;br /&gt;
addLocation(42.353979,   -71.105356, 'Anthro New England', 'www.anthronewengland.org', 'Hyatt Regency Cambridge, Overlooking Boston&amp;lt;br&amp;gt;575 Memorial Dr&amp;lt;br&amp;gt;Cambridge, MA&amp;lt;br&amp;gt;USA', '1(617) 492-1234', 'Jan 19-22 2017', 965);&lt;br /&gt;
addLocation(47.6067596,   -122.3332647, 'Anthro Northwest', 'www.anthronw.com', 'Renaissance Seattle Hotel&amp;lt;br&amp;gt;515 Madison St, Seattle, WA 98104&amp;lt;br&amp;gt;USA', '+1 (206) 583-0300', 'Nov 8-11 2018', null);&lt;br /&gt;
addLocation(40.769060, -111.897906, 'Anthro Weekend Utah', 'www.anthroweekendutah.org', 'Radisson Salt Lake City Downtown&amp;lt;br&amp;gt;215 S Temple, Salt Lake City, UT 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', 'Oct 27-28 2017', null);&lt;br /&gt;
addLocation(40.105846,   -83.017244, 'AnthrOhio', 'anthrohio.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 26-28 2017', 546);&lt;br /&gt;
addLocation(40.444334,   -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jun 29-Jul 2 2017', 7544);&lt;br /&gt;
addLocation(43.569967, -89.769743, 'AquatiFur', 'aquatifur.com', 'Kalahari Resorts Dells&amp;lt;br&amp;gt;1305 Kalahari Drive&amp;lt;br&amp;gt;Wisconsin Dells, WI 53965&amp;lt;br&amp;gt;USA', '+1 (608) 254-5466', 'Oct 20-22 2017', null);&lt;br /&gt;
addLocation(33.548246,  -112.046348, 'Arizona Fur Con', 'Arizonafurcon.com', 'Pointe Hilton Squaw Peak Resort&amp;lt;br&amp;gt;N 16th St&amp;lt;br&amp;gt;Phoenix, Arizona 85020&amp;lt;br&amp;gt;USA', '1(602) 997-2626', 'Sep 30-Oct 2 2016', 725);&lt;br /&gt;
addLocation(34.745865, -92.400043, 'ArkConsas', 'www.arkconsas.com', 'Embassy Suites Little Rock&amp;lt;br&amp;gt;11301 Financial Centre Pkwy&amp;lt;br&amp;gt;Little Rock, AR 72211&amp;lt;br&amp;gt;USA', '1 (501) 312-9000', 'Jan 5-9 2017', null);&lt;br /&gt;
//addLocation(52.597652,   13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 18-21 2015', 89);&lt;br /&gt;
addLocation(46.979122,   -112.526529, 'Big Sky Paw Camp', 'www.bigskycampcon.org', 'Aspen Grove Picnic Area&amp;lt;br&amp;gt;Lincoln, Montana 59639&amp;lt;br&amp;gt;USA', '', 'June 23-25 2017', 40);&lt;br /&gt;
addLocation(39.523177,   -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'May 12-15 2016', 5138);&lt;br /&gt;
addLocation(-23.970691,  -46.329962, 'Brasil FurFest', 'brasilfurfest.com.br', 'Hotel Mercure Santos&amp;lt;br&amp;gt;Av. Washington Luiz, 565&amp;lt;br&amp;gt;Santos, SP&amp;lt;br&amp;gt;Brazil', '','Aug 17-19 2018', 287);&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
addLocation(34.080577,  -117.762728, 'Califur', 'califur.com', 'Sheraton Fairplex Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;601 W McKinley Ave&amp;lt;br&amp;gt;Pomona, CA 91768&amp;lt;br&amp;gt;USA', '', 'Jun 3-5 2016', 1317);&lt;br /&gt;
addLocation(43.721056,  -121.291552, 'Campfire Tails', 'campfiretails.org', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Aug 4-8 2016', 143);&lt;br /&gt;
addLocation(49.381977,   -121.446555, 'CampFur', 'campfur.ca', 'Near Hope&amp;lt;br&amp;gt;Hope, BC V0X 1L0&amp;lt;br&amp;gt;Canada', '', 'Jun 16-19 2017', null);&lt;br /&gt;
addLocation(19.503268, -99.391848, 'Camping Paws', 'facebook.com/CapitalFurCampingPaws/', 'Capoxi Water Dam&amp;lt;br&amp;gt;54570 Jilotzingo, Estado de Mexico&amp;lt;br&amp;gt;Mexico', '', 'Mar 31-Apr 1 2018', 25);&lt;br /&gt;
addLocation(45.4198698, -75.6989379, 'CanFURence', 'www.canfurence.ca', '185 Slater Street&amp;lt;br&amp;gt;Ottawa ON  K1P OC8&amp;lt;br&amp;gt;Canada', '+1 844-258-6882', 'Nov 10-12 2017', 322);&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439,     -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(37.686355,   -97.342702, 'Central Plains Furcon', 'cpfurcon.com', 'Drury Plaza Hotel Broadview&amp;lt;br&amp;gt;400 West Douglas Ave&amp;lt;br&amp;gt;Wichita, KS 67202&amp;lt;br&amp;gt;USA', '', 'Sep 1-4 2016', 100)&lt;br /&gt;
addLocation(37.611267, -97.631684, 'Central Plains Fur Meet', 'www.centralplainsfurmeet.com', 'near Lake Afton&amp;lt;br&amp;gt;Goddard, KS 67052&amp;lt;br&amp;gt;USA', '', 'May 19-21 2017', null);&lt;br /&gt;
addLocation(49.638649,    15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jul 6-10 2016', 107);&lt;br /&gt;
//addLocation(23.061687, 113.296423, 'China National Furry Party', 'www.fb.com/CNFP2015', ', Guangzhou&amp;lt;br&amp;gt;China', '', 'Jul 8-19 2015', 40);&lt;br /&gt;
addLocation(50.935659,     6.965116, 'Cologne Furdance', 'www.crosscombined.de', 'Maritim Hotel, Heumarkt 20, 50667 Köln, Germany', '', 'Jul 30 2016', 201); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
//addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 1-3 2014', 251);&lt;br /&gt;
addLocation(-37.820007,  145.013429, 'ConFurgence', 'confurgence.com', 'Amora Hotel Riverwalk&amp;lt;br&amp;gt;649 Bridge Road&amp;lt;br&amp;gt;Richmond, Melbourne, Victoria, 3121&amp;lt;br&amp;gt;Australia', '+61-3-9027-2000', 'Jan 6-8 2017', 681);&lt;br /&gt;
addLocation(52.450713,    -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 26-30 2017', 1451);&lt;br /&gt;
addLocation(39.771895, -104.806944, 'DenFur', 'www.denfur.co', 'Crowne Plaza Denver Airport Convention Center&amp;lt;br&amp;gt;15500 E 40th Ave&amp;lt;br&amp;gt;Denver, CO 80239&amp;lt;br&amp;gt;USA', '+1 (303) 371-9494', 'Aug 24-26 2018', null);&lt;br /&gt;
//addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 19-21 2015');&lt;br /&gt;
addLocation(51.844531,    12.208828, 'EAST', 'www.east-convention.de.vu', 'DJH Jugendherberge&amp;lt;br&amp;gt;Ebertallee 151, 06846&amp;lt;br&amp;gt;Dessau-Roßlau&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Jul 13-17 2016');&lt;br /&gt;
addLocation(28.33704,    -81.587777, 'Elliott\'s Live Events', 'elliottsliveevents.org', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(30.475459,-87.201477, 'Emerald\'s Fur Summit', 'emeraldfurcon.org', 'Homewood Suites by Hilton Pensacola-Arpt&amp;lt;br&amp;gt;5049 Corporate Woods Dr, Pensacola, FL 32504, USA', '+1 (850) 474-3777', 'Apr 29 2017', 126);&lt;br /&gt;
addLocation(52.474897,    13.459467, 'Eurofurence', 'eurofurence.org', 'Estrel Hotel Berlin&amp;lt;br&amp;gt;Sonnenallee 225&amp;lt;br&amp;gt;12057 Berlin&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 17-21 2016', 2322);&lt;br /&gt;
//addLocation(37.247901, -93.259639, 'F3 Convention', 'www.f3con.com', 'Lamplighter Inn &amp;amp; Suites, North&amp;lt;br&amp;gt;2820 N Glenstone Ave&amp;lt;br&amp;gt;Springfield, MO 65803&amp;lt;br&amp;gt;USA', '+1 (417) 869-3900', 'Nov 20-23 2014', 55);&lt;br /&gt;
addLocation(38.960831,   -77.423238, 'FA: United', 'faunited.org', 'Hyatt Regency Dulles&amp;lt;br&amp;gt;2300 Dulles Corner Blvd.&amp;lt;br&amp;gt;Herndon, Virginia 20171&amp;lt;br&amp;gt;USA', '+1 703 713 1234', 'Aug 12-14 2016', 539);&lt;br /&gt;
addLocation(33.43743,    -86.726235, 'Fangcon', 'fangcon.org', 'Hilton Hotel Perimeter Park&amp;lt;br&amp;gt;8 Perimeter Park S&amp;lt;br&amp;gt;Birmingham, AL 35243&amp;lt;br&amp;gt;USA', '+1 (205) 967-2700', 'Oct 27-31 2016', 427);&lt;br /&gt;
addLocation(45.880449,   -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 25-29 2016', 94);&lt;br /&gt;
addLocation(60.412912,    25.038261, 'FinFur Animus', 'animus.finfur.net', 'Kokoushotelli Gustavelund, Tuusula, Finland', '', 'Jun 16-19 2016', 124);&lt;br /&gt;
//addLocation(62.02209,     30.0185, 'FinFur Summer Camp', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
//addLocation(35.454262, 139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(43.027227,   -88.108102, 'Fur Squared', 'www.fursquared.com', 'Sheraton Milwaukee Brookfield Hotel&amp;lt;br&amp;gt;375 S Moorland Rd&amp;lt;br&amp;gt;Brookfield, WI 53005&amp;lt;br&amp;gt;USA', '+1 (262) 364-1100', 'Feb 23-25 2018', 791);&lt;br /&gt;
addLocation(51.2764173,  -3.0125542, 'Furcation', 'furcation.org.uk', 'Sandy Glade Holiday Park&amp;lt;br&amp;gt;Brean Sands, Somerset&amp;lt;br&amp;gt;UK', '', 'Oct 14-17 2016', 0);&lt;br /&gt;
addLocation(44.150581, -89.164606, 'FURconsin', 'www.furconsin.com', 'near Little Hills Lake&amp;lt;br&amp;gt;Wild Rose, WI 54984&amp;lt;br&amp;gt;USA', 'N/A', 'Oct 12-16 2017', 28);&lt;br /&gt;
addLocation(-41.239835,  174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 5-8 2016', 50);&lt;br /&gt;
addLocation(-23.668839,  -46.577533, 'Furboliche', 'furboliche.com.br', 'Bomboliche Extra Anchieta&amp;lt;br&amp;gt;R. García Lorca, 301&amp;lt;br&amp;gt;S&amp;amp;atilde;o Bernardo do Campo, SP&amp;lt;br&amp;gt;Brazil', '','Mar 9 2019', 203);&lt;br /&gt;
addLocation(-24.309323,  -48.273633, 'Furcamp', 'www.facebook.com/events/183414388930807/', 'Intervales State Park&amp;lt;br&amp;gt;Estrada Municipal, km 25&amp;lt;br&amp;gt;Ribeir&amp;amp;atilde;o Grande, SP&amp;lt;br&amp;gt;Brazil', '','Mar 2-5 2019', 0);&lt;br /&gt;
addLocation(-22.997039,  -43.358095, 'Furstrike', 'www.facebook.com/furstrike', 'Barra Shopping&amp;lt;br&amp;gt;Av. das Américas, 4666 &amp;lt;br&amp;gt;Rio de Janeiro, RJ &amp;lt;br&amp;gt;Brazil', '','Mai 5 2018', 93);&lt;br /&gt;
addLocation(-27.997818,  153.429297, 'FurDU', 'www.furdu.com', 'Outrigger Hotel Surfers Paradise&amp;lt;br&amp;gt;22 View Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'May 27-29 2016', 490);&lt;br /&gt;
addLocation(53.5687483,-113.5238331, 'Fur-eh!', 'fureh.ca', 'Ramada Inn &amp;amp; Conference Center&amp;lt;br&amp;gt;11834 Kingsway Avenue&amp;lt;br&amp;gt;Edmonton, Alberta&amp;lt;br&amp;gt;Canada, T5G 3J5', '+1 (780) 454-5454', 'June 1-4 2017', 625);&lt;br /&gt;
addLocation(27.3354428,-82.575817, 'Furight Night', 'furightnight.weebly.com', 'Ken Thompson Park&amp;lt;br&amp;gt;1799 Ken Thompson Parkway&amp;lt;br&amp;gt;Sarasota, FL 34236&amp;lt;br&amp;gt;USA', '+1 (941) 735-4035', 'Oct 14 2017', null);&lt;br /&gt;
addLocation(46.183333, 11.266667, 'Furizon', 'www.furizon.net', 'Segonzano, TN 38047&amp;lt;br&amp;gt; Italy', '', 'June 1-4 2017', '')&lt;br /&gt;
addLocation(42.134573,   -72.6314187, 'Fur-Xoticon', 'www.fur-xoticon.org', 'Clarion Hotel &amp;amp; Aqua Lagoon Waterpark&amp;lt;br&amp;gt;1080 Riverdale St&amp;lt;br&amp;gt;West Springfield, MA 01089&amp;lt;br&amp;gt;USA', '+1 (413) 781-8750', 'May 26-28, 2017', null);&lt;br /&gt;
addLocation(-33.859972,  151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Sep 16-18 2016', 227);&lt;br /&gt;
addLocation(45.582910,  -122.575732, 'Furlandia', 'furlandia.org', 'Sheraton Hotel at PDX Airport &amp;lt;br&amp;gt;8235 NE Airport Way&amp;lt;br&amp;gt;Portland, Oregon 97220&amp;lt;br&amp;gt;USA', '+1 (503) 281-2500', 'May 26-28 2017', 763);&lt;br /&gt;
//addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 12-14 2014', 241); //attendance for 2012&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 22 2016', 188);&lt;br /&gt;
addLocation(43.6866,    -79.5893597, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 17-19 2017', 1322);&lt;br /&gt;
addLocation(41.6042521, -72.7027335, 'Furpocalypse', 'furpocalypse.org', 'Radisson Hotel Cromwell&amp;lt;br&amp;gt;100 Berlin Road&amp;lt;br&amp;gt;Cromwell, CT 06416&amp;lt;br&amp;gt;USA', '+1 860-635-2000', 'Oct 27-29 2017', 1455);&lt;br /&gt;
addLocation(43.156351,   -77.610020, 'FurryCon', 'www.furrycon.com', 'Radisson Riverside Rochester&amp;lt;br&amp;gt;120 E Main st&amp;lt;br&amp;gt;Rochester, New York&amp;lt;br&amp;gt;USA', '+1 (585) 546-6400', 'Sept 15-18 2016', 294);&lt;br /&gt;
addLocation(40.091453,   -75.3716987, 'Furrydelphia', 'www.furrydelphia.com', 'DoubleTree by Hilton Hotel Philadelphia - Valley Forge&amp;lt;br&amp;gt;301 W Dekalb Pike, King of Prussia, PA 19406&amp;lt;br&amp;gt;USA', '+1 (610) 337-1200', 'Aug 17-20 2017', null);&lt;br /&gt;
addLocation(28.401971,   -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Nov 5-12 2016', 27);&lt;br /&gt;
addLocation(32.956751,  -96.8252737, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Mar 24-26 2017', 2820);&lt;br /&gt;
addLocation(1.2877475,  103.846800, 'Furry Lah', 'furrylah.com', 'Quarters Hostel&amp;lt;br&amp;gt;12 Circular Road&amp;lt;br&amp;gt;Singapore 049368', '+65 6438 5627', 'Nov 25-27 2016');&lt;br /&gt;
addLocation(44.971198,    -93.27774, 'Furry Migration', 'www.furrymigration.org', 'Hyatt Regency Minneapolis&amp;lt;br&amp;gt;1300 Nicollet Mall&amp;lt;br&amp;gt;Minneapolis, Minnesota,&amp;lt;br&amp;gt;USA, 55403', '+1 (612) 370-1234', 'Sept 9-11 2016', 701);&lt;br /&gt;
addLocation(41.7838208,   -72.5803353, 'Furry Picnic', 'www.furrypicnic.com', 'Wickham Park&amp;lt;br&amp;gt;1329 Middle Turnpike W&amp;lt;br&amp;gt;Manchester, CT 06040&amp;lt;br&amp;gt;USA', '+1 (860) 528-0856', 'Jun 3 2017', null);&lt;br /&gt;
addLocation(35.642936, -96.419021, 'Furry Retreat', 'www.furryretreat.com', 'Knight\'s Rest Retreat&amp;lt;br&amp;gt;37701 W 361st St S&amp;lt;br&amp;gt;Bristow, OK 74010&amp;lt;br&amp;gt;USA', 'N/A', 'Oct 20-22 2017', null);&lt;br /&gt;
addLocation(39.502173, -106.151042, 'Furry Ski Weekend', 'furryskiweekend.com', 'Copper Mountain Resort&amp;lt;br&amp;gt;209 Ten Mile Cir&amp;lt;br&amp;gt;Frisco, CO 80443&amp;lt;br&amp;gt;USA', '+1 (866) 841-2481', 'Feb 9-12 2017', null);&lt;br /&gt;
addLocation(32.9451,    -96.8401881, 'Furry Siesta', 'furrysiesta.com', 'Crowne Plaza – Addison&amp;lt;br&amp;gt;14315 Midway Road&amp;lt;br&amp;gt;Addison, TX 75001&amp;lt;br&amp;gt;USA', '+1 (972) 980-8877', 'Jul 15-16 2016', 306);&lt;br /&gt;
addLocation(33.761999,   -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Apr 6-9 2017', 3252);&lt;br /&gt;
addLocation(52.775556,     6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 31-Apr 3 2017', 57);&lt;br /&gt;
//addLocation(51.40328,     5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66); //ended in 2013.&lt;br /&gt;
addLocation(37.036680,   -76.382842, 'FursonaCon', 'www.fursonacon.com', 'Hampton Roads Convention Center&amp;lt;br&amp;gt;1610 Coliseum Dr&amp;lt;br&amp;gt;Hampton, Virginia&amp;lt;br&amp;gt;USA', '+1 (757) 315-1610', 'Mar 18-20 2016');&lt;br /&gt;
addLocation(52.588333,        14.65, 'Furstock', 'www.polfurs.org', '', '', 'Jul 14-16 2016', 45);&lt;br /&gt;
addLocation(57.05,         9.916667, 'Furtastic', 'www.furtastic.dk', 'Sondrupvej 58&amp;lt;br&amp;gt;8350 Hundslund&amp;lt;br&amp;gt;Denmark', '', 'Jul 4-7 2016', 50);&lt;br /&gt;
addLocation(37.330294,  -121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 12-16 2017', 3536);&lt;br /&gt;
addLocation(53.509966,  -118.006813, 'Furthest North', 'furthestnorth.ca', 'Wildhay Group Campground&amp;lt;br&amp;gt;north of Hinton&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Sept 2-5 2016', 63);&lt;br /&gt;
addLocation(3.104127, 101.640800, 'Furum', 'furum.org', 'Hotel Armada&amp;lt;br&amp;gt; Lot 6 &amp;lt;br&amp;gt; Lorong Utara C &amp;lt;br&amp;gt;Section 52&amp;lt;br&amp;gt; 46200 Petaling Jaya Selangor &amp;lt;br&amp;gt;Malaysia', '+60 3-7954 6888', 'Dec 9-10 2017');&lt;br /&gt;
//addLocation(53.407281,  -2.989201, 'FurVention', 'furvention.org.uk', 'Aloft Liverpool&amp;lt;br&amp;gt;1 North John Street&amp;lt;br&amp;gt;Liverpool, L2 5QW&amp;lt;br&amp;gt;United Kingdom', '+44 151 294 3970', '22-24 Jan 2016', 64);&lt;br /&gt;
//addLocation(35.559328,   139.723602, 'Fur-st', 'fur-st.com', '志ら井&amp;lt;br&amp;gt;1 Chome-20-28 Minamikamata&amp;lt;br&amp;gt;Ota, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Oct 18 2014', 144);&lt;br /&gt;
addLocation(39.283286,   -84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'Oct 7-9 2016', 382);&lt;br /&gt;
addLocation(38.930864,   -77.245601, 'Fur the \'More', 'furthemore.org', 'Sheraton Premiere at Tysons Corner&amp;lt;br&amp;gt;8661 Leesburg Pike&amp;lt;br&amp;gt;Vienna, VA&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Mar 15-17 2019', 1256);&lt;br /&gt;
addLocation(20.688831, -103.330578, 'Confuror', 'vidafur.byethost8.com/furmeet', 'Centro Cultural Luis Paez Brotchíe&amp;lt;br&amp;gt;Centro Médico 208&amp;lt;br&amp;gt;Independencia Oriente&amp;lt;br&amp;gt;44340 Guadalajara, Jalisco&amp;lt;br&amp;gt;Mexico', '+52 33 1201 8728', 'Aug 4-6 2017', null);&lt;br /&gt;
addLocation(40.294208,        -3.796594, 'Furrnion', 'furrnion.org', 'Hotel Las Provincias&amp;lt;br&amp;gt;C/Zaragoza, 2&amp;lt;br&amp;gt;28941 Fuenlabrada (Madrid)&amp;lt;br&amp;gt;Spain', '+34 607654483', 'Oct 2019', 0);&lt;br /&gt;
addLocation(19.435967, -99.151094, 'Furry Summer Mexico', 'facebook.com/FurrySummer', 'Centro de Espectáculos Plaza&amp;lt;br&amp;gt;Avenida de la República 127-A&amp;lt;br&amp;gt;Cuauhtémoc, Tabacalera, 06030 Ciudad de México, CDMX&amp;lt;br&amp;gt;Mexico', '+52 55 5514 2565', 'Jul 29-30 2017', null);&lt;br /&gt;
addLocation(51.93180,        19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 10-14 2016', 93);&lt;br /&gt;
//addLocation(49.8954237,  5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013', 14);&lt;br /&gt;
addLocation(38.6329283,  -90.184827, 'Gateway Furmeet', 'gatewayfurmeet.org', 'Lumière Place Casino and Hotels&amp;lt;br&amp;gt;999 N 2nd St&amp;lt;br&amp;gt;St. Louis, Missouri 63119&amp;lt;br&amp;gt;USA', '+1 (314) 881-7777', 'May 13-15 2016', 223);&lt;br /&gt;
addLocation(54.358288,    18.621243, 'Gdakon', 'gdakon.org', 'Amber Hotel&amp;lt;br&amp;gt;Gdańsk&amp;lt;br&amp;gt;Poland', '', 'March 1-5 2017', 252);&lt;br /&gt;
addLocation(42.774481, -86.079661, 'Great Lakes Fur Con', 'greatlakesfurcon.com', 'DoubleTree by Hilton Hotel Holland&amp;lt;br&amp;gt;650 E 24th St&amp;lt;br&amp;gt;Holland, MI 49423&amp;lt;br&amp;gt;USA', '+1 (616) 394-0111', 'May 26-28 2017', 308);&lt;br /&gt;
addLocation(47.35016,       7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Nov 3-6 2016');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,     8.826463, 'H-Con', 'h-con.org', 'Petershof&amp;lt;br&amp;gt;Talweg 5&amp;lt;br&amp;gt;64711 Erbach/Erbuch&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Sep 28-Oct 2 2016', 64);&lt;br /&gt;
addLocation(49.26716,   -123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', '2016', 278);&lt;br /&gt;
//addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Oct 11-13 2013');&lt;br /&gt;
//addLocation(25.034847,   121.546979, 'Infurnity', 'infurnity.com', 'SMAJO House&amp;lt;br&amp;gt;Ln. 279, Sec. 1, Fuxing S. Rd.&amp;lt;br&amp;gt;Da’an Dist., Taipei', '', 'Oct 31 2015', 62); // first Taiwan furcon&lt;br /&gt;
addLocation(39.797248,   -86.041109, 'IndyFurCon', 'indyfurcon.com', 'Indianapolis Marriott East&amp;lt;br&amp;gt;7202 E 21st St&amp;lt;br&amp;gt;Indianapolis, IN 46219&amp;lt;br&amp;gt;USA', '+1 (317) 352-1231', 'Aug 24-26 2018', 735);&lt;br /&gt;
addLocation(33.643368,  -112.119356, 'Itty Bitty FurCon', 'ittybittyfurcon.com', 'La Princesa&amp;lt;br&amp;gt;2710 W Bell Road #1205&amp;lt;br&amp;gt;Phoenix, AZ 85053&amp;lt;br&amp;gt;USA', '+1 (602) 518-5990', 'Jul 17 2016', 0);&lt;br /&gt;
addLocation(34.743463,   137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 6-8 2017', 588);&lt;br /&gt;
addLocation(51.505072,   -2.536662, 'Just Fur The Weekend', 'http://justfurtheweekend.org.uk/', 'Holiday Inn Filton &amp;lt;br&amp;gt; Filton Road&amp;lt;br&amp;gt; Winterbourne&amp;lt;br&amp;gt;Bristol', '', 'April 14-16 2017', 319);&lt;br /&gt;
addLocation(39.114216, -94.626925, 'KCFur Howl', 'www.kchowl.com', 'near Kansas City Metro Area&amp;lt;br&amp;gt;Kansas City, MO&amp;lt;br&amp;gt;USA', 'N/A', 'Oct 29 2016', null);&lt;br /&gt;
addLocation(25.00814,     121.53604, 'Kemono &amp;amp; Jingai Only 2', 'jk2016.furry.tw', 'Jhongjheng Hall&amp;lt;br&amp;gt;88 Tingzhou Road Section 4&amp;lt;br&amp;gt;Wenshan District&amp;lt;br&amp;gt;Taipei City 116&amp;lt;br&amp;gt;Taiwan&amp;lt;br&amp;gt;116台北市文山區汀州路四段88號', '', 'Jul 16 2016', 0); // The name of the hall at http://en.ntnu.edu.tw/gongguan-campus.php#tab-1 seems to be in Tongyong Pinyin, while the street address seems to be in Hanyu Pinyin?&lt;br /&gt;
//addLocation(35.3334755, 139.9891955, 'Kemocon', 'www.kemocon.com', 'Kasuza Akademia Hall&amp;lt;br&amp;gt;2 Chome-3-9 Kazusakamatari&amp;lt;br&amp;gt;Kisarazu, Chiba Prefecture&amp;lt;br&amp;gt;Japan', '', 'Nov 21-22 2015', 420);&lt;br /&gt;
addLocation(34.985692,   138.417148, 'Kemono Square', 'kemono-square.com', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 4 2016', 107);&lt;br /&gt;
//addLocation(35.654685, 139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);  //259 vendors from 246 circles confirmed for 2014&lt;br /&gt;
//addLocation(34.6693,   135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2014', 0);&lt;br /&gt;
//addLocation(35.1584991, 136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 29, 2015', 141); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(41.845931,   -87.942533, 'LAFF New Year\'s Eve', 'newyearsevecon.com', 'Residence Inn Oak Brook&amp;lt;br&amp;gt;790 Jorie Boulevard&amp;lt;br&amp;gt;Oak Brook, IL 60523&amp;lt;br&amp;gt;USA', '+1 (630) 571-1200', 'Dec 31 2017-Jan 1 2018', 87);&lt;br /&gt;
addLocation(47.336284,    12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Jul 9-16 2016', 40);&lt;br /&gt;
addLocation(28.418215,   -81.465091, 'Megaplex', 'megaplexcon.org', 'DoubleTree by Hilton Orlando at SeaWorld&amp;lt;br&amp;gt;10100 International Drive&amp;lt;br&amp;gt;Orlando, Florida, 32821&amp;lt;br&amp;gt;USA', '+1 (407) 352-1100', 'Aug 4-Aug 6 2017', 1860);&lt;br /&gt;
addLocation(38.219466, -85.575556, 'The Menagerie', 'kyanthros.org/menagerie', 'Triple Crown Pavilion&amp;lt;br&amp;gt;1776 Plantside Dr&amp;lt;br&amp;gt;Jeffersontown, KY, 40299&amp;lt;br&amp;gt;USA', '+1 (502) 491-4830', 'Jun 2-Jun 3 2018', 106);&lt;br /&gt;
addLocation(34.966572,   -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Sep 2-Sep 4 2016', 432);&lt;br /&gt;
addLocation(50.825484,     7.887068, 'Mephit Mini Con', 'mmc.furcon.eu', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May 12-16 2016', 200);&lt;br /&gt;
//addLocation(35.656854,139.7351909, 'Metamore Generation V', 'www.metamor.jp', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(42.322128, -71.646046, 'Micro Fur Con', 'microfurcon.com', 'First Parish Church Unitarian&amp;lt;br&amp;gt;40 Church St&amp;lt;br&amp;gt;Northborough, MA 01532&amp;lt;br&amp;gt;USA', '+1 (508) 393-6422', 'Apr 1 2017', 150);&lt;br /&gt;
addLocation(41.981284,   -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Nov 29-Dec 2 2018', 8700);&lt;br /&gt;
addLocation(45.017750, -93.143750, 'MNFurs Spring Picnic', 'mnfurs.org', 'Central Park - Lexington&amp;lt;br&amp;gt;2540 Lexington Avenue&amp;lt;br&amp;gt;Roseville, MN 55113&amp;lt;br&amp;gt;USA', '', 'May 20 2017', null);&lt;br /&gt;
//addLocation(35.754914,139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', '', 'May 2 2015', 66); //only attendees signed up from Twipla - 6 people over venue capacity&lt;br /&gt;
addLocation(13.705699,   100.604295, 'Morph Parade', 'fb.me/MOFU.PARADE', 'KV Mansion&amp;lt;br&amp;gt;90 สุขุมวิท 81 บางจาก&amp;lt;br&amp;gt;[Near BTS On-Nut station]&amp;lt;br&amp;gt;Bangkok 10260&amp;lt;br&amp;gt;Thailand', '+66 2-33 222 11', 'Oct 29 2016');&lt;br /&gt;
addLocation(42.443047,   -83.435667, 'Motor City Furry Con', 'motorcityfurrycon.org', '21111 Haggerty Road&amp;lt;br&amp;gt;Novi, MI 48375&amp;lt;br&amp;gt;USA', '+1 (248) 349-4000', 'Apr 7-9 2017', 1028);&lt;br /&gt;
addLocation(39.65924,   -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 31 2015-Jan 1 2016', 211) &lt;br /&gt;
addLocation(58.9143217,   17.953672, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Utsikten Meetings Hotel&amp;lt;br&amp;gt;Nynäshamn&amp;lt;br&amp;gt;Sweden', '', 'Mar 9-12 2017', 513);&lt;br /&gt;
addLocation(18.454343, -66.090161, 'NorthAmeriCon', 'northamericon17.com', 'Sheraton Puerto Rico Hotel &amp;amp; Casino&amp;lt;br&amp;gt;200 Convention Blvd&amp;lt;br&amp;gt;San Juan, PR 00907&amp;lt;br&amp;gt;Puerto Rico', '+1 787-993-3500', 'Jul 6-9 2017', null);&lt;br /&gt;
addLocation(47.3680236,   -121.1057155, 'NorthWest CampCon', 'www.nwcampcon.com', 'Okanogan-Wenatchee National Forest&amp;lt;br&amp;gt;Wenatchee, WA 98807&amp;lt;br&amp;gt;USA', 'N/A', 'Jun 16-18 2017', null);&lt;br /&gt;
//addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 29-Nov 1 2014', 352);&lt;br /&gt;
addLocation(37.3718553,   -121.9248902, 'Pacific Anthropomorphics Weekend', 'www.pacanthro.org', 'DoubleTree by Hilton Hotel San Jose&amp;lt;br&amp;gt;2050 Gateway Pl, San Jose, CA 95110&amp;lt;br&amp;gt;USA', '+1 (408) 453-4000', 'Nov 4-7 2016', null);&lt;br /&gt;
addLocation(43.635466, -70.338801, 'Pine Fur Con', 'www.pinefurcon.org', 'DoubleTree by Hilton Hotel Portland&amp;lt;br&amp;gt;363 Maine Mall Rd&amp;lt;br&amp;gt;Portland, ME 04106&amp;lt;br&amp;gt;USA', '+1 (207) 775-6161', 'Apr 5-7 2019', 406);&lt;br /&gt;
addLocation(-31.944444,  115.863842, 'FurWAG', 'furwag.com.au', 'Hotel Ibis Styles Perth&amp;lt;br&amp;gt;15 Robinson Avenue&amp;lt;br&amp;gt;Northbridge 6003&amp;lt;br&amp;gt;Western Australia', '+61 8 9328 0000', 'Sept 30-Oct 2 2016', 177);&lt;br /&gt;
//addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 22-25 2016', 2704);&lt;br /&gt;
addLocation(-27.467778,  153.027778, 'RivFur', 'www.southbankfurmeet.com/home/m/36617225/article/3714600', 'Brisbane, Queensland, Australia', '', 'Jul 29-31, 2016', 200);&lt;br /&gt;
//addLocation(39.762235,  -104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Denver Marriott Tech Center&amp;lt;br&amp;gt;4900 South Syracuse Street&amp;lt;br&amp;gt;Denver, Colorado 80237&amp;lt;br&amp;gt;USA', '+1 (303) 779-1100', 'Aug 12-14 2016', 1670);&lt;br /&gt;
addLocation(56.050627,    36.823576, 'Rusfurence', 'rusfurence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 1-5 2017', 286);&lt;br /&gt;
addLocation(57.478307,     -4.22672, 'ScotiaCon', 'scotiacon.co.uk', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Nov 4-6 2016', 152);&lt;br /&gt;
addLocation(31.279758,     121.4303036, 'Super Furry Fusion 2018', 'furrychina.com', 'Grand New Palace Banquet &amp;amp; Conbention Centre&amp;lt;br&amp;gt;88 Gaoping Rd&amp;lt;br&amp;gt;Shanghai, China&amp;lt;br&amp;gt;中国上海市闸北区高平路88号雅悦新天地婚宴展会中心', '', 'Jul 29 2018', null);&lt;br /&gt;
addLocation(23.1866733,     113.276755, 'Furry Summer Gathering 2018', 'shouxiaji.cn', 'Guangzhou Baiyun International Convention Center&amp;lt;br&amp;gt;1039-1045 Baiyun S Ave&amp;lt;br&amp;gt;Guangzhou, China&amp;lt;br&amp;gt;中国广东省广州市白云区白云饮食文化长廊白云大道南1039-1045号广州白云国际会议中心', '', 'Aug 4 2018', null);&lt;br /&gt;
addLocation(33.7963444,   -117.7547691, 'SoCal FurBQ', 'twitter.com/SoCalFurBQ', 'Irvine Regional Pk&amp;lt;br&amp;gt;1 Irvine Park Rd&amp;lt;br&amp;gt; Orange, CA 92869&amp;lt;br&amp;gt;USA', '+1 (714) 973-6835', 'Sep 17 2016', null);&lt;br /&gt;
addLocation(-25.957300, 27.439744, 'South Afrifur', 'south-afrifur.co.za', 'Magalies Retreat&amp;lt;br&amp;gt;RN20 New Thorndale Road&amp;lt;br&amp;gt;Krugersdorp, NorthWest Province, 1791&amp;lt;br&amp;gt;South Africa', '+27 82 377 0219', 'Jul 14-17 2017', null);&lt;br /&gt;
//addLocation(-26.201,       28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(49.278252,   -125.041257, 'Surfur', 'surfur.ca', 'Taylor Arm Provincial Park&amp;lt;br&amp;gt;Pacific Rim Hwy&amp;lt;br&amp;gt;Alberni-Clayoquot D, BC V0R 1W0&amp;lt;br&amp;gt;Canada', '+1 250-474-1336', 'Jul 7-11 2017', 81);&lt;br /&gt;
addLocation(35.836281, -78.672837, 'Tarpaw Furmeet', 'tarpawfurmeet.com', 'Hampton Inn &amp;amp; Suites Raleigh Crabtree Valley&amp;lt;br&amp;gt;3920 Arrow Drive&amp;lt;br&amp;gt;Raleigh, NC 27612&amp;lt;br&amp;gt;USA', '+1 (919) 881-7080', 'May 19-21 2017', 141);&lt;br /&gt;
addLocation(13.746076,   100.562432, 'Thai Tails', 'www.thaitails.net', 'Asok Towers&amp;lt;br&amp;gt;BLDG 219, Soi Sukhumvit 21, Asok Road&amp;lt;br&amp;gt;Klongtoey Nua, Wattana&amp;lt;br&amp;gt;Bangkok, Thailand 10110', '+66 2 120 9600', 'Jan 30 2016', 0);&lt;br /&gt;
addLocation(41.388786, -73.515143, 'Tiny Paws Con', 'www.tinypawscon.org', 'Crowne Plaza Danbury&amp;lt;br&amp;gt;18 Old Ridgebury Rd, Danbury, CT 06810&amp;lt;br&amp;gt;USA', '+1 (203) 794-0600', 'Sep 8-10 2017', null); &lt;br /&gt;
//addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', 'Oct 31-Nov 2 2014', 126);&lt;br /&gt;
addLocation(49.170696,-123.145162, 'VancouFur', 'vancoufur.org', 'Executive Airport Plaza Hotel Richmond&amp;lt;br&amp;gt;7311 Westminster Hwy&amp;lt;br&amp;gt;Richmond, British Columbia, V6X 1A3&amp;lt;br&amp;gt;Canada', '', 'Mar 9-12 2017', 810);&lt;br /&gt;
addLocation(45.499474,   -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 20-22 2016', 439);&lt;br /&gt;
addLocation(40.4612,       -79.7509, 'Western Pennsylvania Furry Weekend', 'wpafw.org', ' North Park Lodge, N Ridge Dr&amp;lt;br&amp;gt;Allison Park, PA 15101&amp;lt;br&amp;gt;USA', '+1 (724) 327-0338', 'Oct 7-9 2016', 133);&lt;br /&gt;
addLocation(35.042611,   -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 2019?', 190);&lt;br /&gt;
addLocation(49.891660, -97.194377, 'Wild Prairie Fur Con', 'wpfcon.ca', 'Canad Inns Destination Centre Polo Park&amp;lt;br&amp;gt;1405 St Matthews Ave&amp;lt;br&amp;gt;Winnipeg, MB R3G 3P7&amp;lt;br&amp;gt;Canada', '+1 204-775-8791', 'Aug 11-12 2018', null);&lt;br /&gt;
addLocation(37.783995, -122.410405, 'Wild Things', ' ', 'SF Citadel&amp;lt;br&amp;gt;181 Eddy St&amp;lt;br&amp;gt;San Francisco, CA 94102&amp;lt;br&amp;gt;USA', 'N/A', 'Feb 25 2017', null);&lt;br /&gt;
addLocation(50.456309,    30.504819, 'WUFF', 'wuff.org.ua', 'Hotel «Sofiyevsky Posad»&amp;lt;br&amp;gt;81/2 Kyivs\'ka Str., Sofiivs\'ka Borshchahivka&amp;lt;br&amp;gt;Kiev, Ukraine', '', 'May 4-8 2016', 160)&lt;br /&gt;
addLocation(44.148964,    12.464516, 'Zampacon', 'zampacon.org', 'Via Ragusa 20&amp;lt;br&amp;gt;Bellaria-Igea Marina (RN)&amp;lt;br&amp;gt;47814 &amp;lt;br&amp;gt;Italy', '', 'Sep 2-6 2016', 60);&lt;br /&gt;
addLocation(47.503095,    12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 23-30 2016', 40);&lt;br /&gt;
addLocation(50.773040,    15.311701, 'ZodiaCon', 'zodiacon.org', 'Vršovská Brána&amp;lt;br&amp;gt;Vršov 19&amp;lt;br&amp;gt;539 53 Horní Bradlo&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 26-29 2016', 74);&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Everywhere (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Japan (&amp;quot;+count_japan+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_JAPAN;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_JAPAN:&lt;br /&gt;
            filter_func = is_in_japan; break;            &lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_japan(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates like &amp;quot;Jan 17 - Feb 2, 2014&amp;quot; into an integer like 20140117 for sorting&lt;br /&gt;
// should accept anything that looks like a date.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
    &amp;quot;use strict&amp;quot;;&lt;br /&gt;
    var x; &lt;br /&gt;
    var v;&lt;br /&gt;
    var y;&lt;br /&gt;
    var day; &lt;br /&gt;
    var month; &lt;br /&gt;
    var year;&lt;br /&gt;
    &lt;br /&gt;
	if (!s) {return 200004001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (x &amp;amp;&amp;amp; x[1]) {&lt;br /&gt;
	    day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	    if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	&lt;br /&gt;
	    switch (x[1]){&lt;br /&gt;
		    case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		    case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		    case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		    case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		    case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		    case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		    case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		    case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		    case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		    case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		    case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		    case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		    default:	month = 20;&lt;br /&gt;
	    }//switch&lt;br /&gt;
	} else {&lt;br /&gt;
	    month = 40;&lt;br /&gt;
	    day = 0;&lt;br /&gt;
	} &lt;br /&gt;
	&lt;br /&gt;
	y = /[0-9]{4}$/.exec(s);&lt;br /&gt;
	if (y) {&lt;br /&gt;
		year = (v=parseInt(y[0]))?v:0;&lt;br /&gt;
    	if (year &amp;gt; 9999) {year = 10000;}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return year * 10000 + month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        a.marker = new google.maps.Marker({&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: a.name,&lt;br /&gt;
            icon: (a.attendance &amp;gt;= 5000 ? greenIcon : (a.attendance &amp;gt;= 2500 ? yellowIcon : (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 250 ? purpleIcon : blueIcon ) ) ) ),&lt;br /&gt;
            zIndex: a.attendance&lt;br /&gt;
        });&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            //if we can't see the marker, show it in the center&lt;br /&gt;
            if (!map.getBounds().contains(a.marker.getPosition())){&lt;br /&gt;
                map.panTo(a.marker.getPosition());&lt;br /&gt;
            }&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++; &lt;br /&gt;
        } else if (is_in_japan(a.lat, a.lng)) {&lt;br /&gt;
	    count_japan ++; &lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2016-11-14T04:09:39Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Update Canfurence&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the cog and Share (or check the URL) and copy the first two numbers after the '@' (including the decimal bits). &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_japan = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_JAPAN = 4;&lt;br /&gt;
var FILT_OTHERS = 5;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
function is_in_japan(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var yellowIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/yellow-dot.png&amp;quot;);&lt;br /&gt;
var greenIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/green-dot.png&amp;quot;);&lt;br /&gt;
var markerShadow = new google.maps.MarkerImage(&amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/markers/marker_sprite.png&amp;quot;, new google.maps.Size(37,34), new google.maps.Point(20, 0), new google.maps.Point(10, 34)); &lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
//addLocation(-37.891950,-57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(42.353979,   -71.105356, 'Anthro New England', 'www.anthronewengland.org', 'Hyatt Regency Cambridge, Overlooking Boston&amp;lt;br&amp;gt;575 Memorial Dr&amp;lt;br&amp;gt;Cambridge, MA&amp;lt;br&amp;gt;USA', '1(617) 492-1234', 'Jan 19-22 2017', 965);&lt;br /&gt;
addLocation(40.105846,   -83.017244, 'AnthrOhio', 'anthrohio.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'June 1-4 2017', 546);&lt;br /&gt;
addLocation(40.444334,   -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jun 29-Jul 2 2017', 7310);&lt;br /&gt;
addLocation(33.548246,  -112.046348, 'Arizona Fur Con', 'Arizonafurcon.com', 'Pointe Hilton Squaw Peak Resort&amp;lt;br&amp;gt;N 16th St&amp;lt;br&amp;gt;Phoenix, Arizona 85020&amp;lt;br&amp;gt;USA', '1(602) 997-2626', 'Sep 30-Oct 2 2016', 725);&lt;br /&gt;
//addLocation(52.597652,   13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 18-21 2015', 89);&lt;br /&gt;
addLocation(39.523177,   -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'May 12-15 2016', 3651);&lt;br /&gt;
addLocation(-23.970691,  -46.329962, 'Brasil FurFest', 'brasilfurfest.com.br', 'Hotel Mercure Santos&amp;lt;br&amp;gt;Av. Washington Luiz, 565&amp;lt;br&amp;gt;Santos (SP)&amp;lt;br&amp;gt;Brazil', '','Sep 9-11 2016');&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
addLocation(34.080577,  -117.762728, 'Califur', 'califur.com', 'Sheraton Fairplex Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;601 W McKinley Ave&amp;lt;br&amp;gt;Pomona, CA 91768&amp;lt;br&amp;gt;USA', '', 'Jun 3-5 2016', 1317);&lt;br /&gt;
addLocation(43.721056,  -121.291552, 'Campfire Tails', 'campfiretails.org', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Aug 4-8 2016', 143);&lt;br /&gt;
addLocation(45.4198698, -75.6989379, 'CanFURence', 'www.canfurence.ca', '185 Slater Street&amp;lt;br&amp;gt;Ottawa ON  K1P OC8&amp;lt;br&amp;gt;Canada', '+1 844-258-6882', 'Nov 10-12 2017', 322);&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439,     -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(37.686355,   -97.342702, 'Central Plains Furcon', 'cpfurcon.com', 'Drury Plaza Hotel Broadview&amp;lt;br&amp;gt;400 West Douglas Ave&amp;lt;br&amp;gt;Wichita, KS 67202&amp;lt;br&amp;gt;USA', '', 'Sep 1-4 2016', 100)&lt;br /&gt;
addLocation(49.638649,    15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jul 6-10 2016', 107);&lt;br /&gt;
//addLocation(23.061687, 113.296423, 'China National Furry Party', 'www.fb.com/CNFP2015', ', Guangzhou&amp;lt;br&amp;gt;China', '', 'Jul 8-19 2015', 40);&lt;br /&gt;
addLocation(50.935659,     6.965116, 'Cologne Furdance', 'www.crosscombined.de', 'Maritim Hotel, Heumarkt 20, 50667 Köln, Germany', '', 'Jul 30 2016', 201); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
//addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 1-3 2014', 251);&lt;br /&gt;
addLocation(-37.820007,  145.013429, 'ConFurgence', 'confurgence.com', 'Amora Hotel Riverwalk&amp;lt;br&amp;gt;649 Bridge Road&amp;lt;br&amp;gt;Richmond, Melbourne, Victoria, 3121&amp;lt;br&amp;gt;Australia', '+61-3-9027-2000', 'Jan 6-8 2017', 681);&lt;br /&gt;
addLocation(52.450713,    -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 26-30 2017', 1451);&lt;br /&gt;
//addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 19-21 2015');&lt;br /&gt;
addLocation(51.844531,    12.208828, 'EAST', 'www.east-convention.de.vu', 'DJH Jugendherberge&amp;lt;br&amp;gt;Ebertallee 151, 06846&amp;lt;br&amp;gt;Dessau-Roßlau&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Jul 13-17 2016');&lt;br /&gt;
addLocation(28.33704,    -81.587777, 'Elliott\'s Live Events', 'elliottsliveevents.org', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(52.474897,    13.459467, 'Eurofurence', 'eurofurence.org', 'Estrel Hotel Berlin&amp;lt;br&amp;gt;Sonnenallee 225&amp;lt;br&amp;gt;12057 Berlin&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 17-21 2016', 2322);&lt;br /&gt;
//addLocation(37.247901, -93.259639, 'F3 Convention', 'www.f3con.com', 'Lamplighter Inn &amp;amp; Suites, North&amp;lt;br&amp;gt;2820 N Glenstone Ave&amp;lt;br&amp;gt;Springfield, MO 65803&amp;lt;br&amp;gt;USA', '+1 (417) 869-3900', 'Nov 20-23 2014', 55);&lt;br /&gt;
addLocation(38.960831,   -77.423238, 'FA: United', 'faunited.org', 'Hyatt Regency Dulles&amp;lt;br&amp;gt;2300 Dulles Corner Blvd.&amp;lt;br&amp;gt;Herndon, Virginia 20171&amp;lt;br&amp;gt;USA', '+1 703 713 1234', 'Aug 12-14 2016', 539);&lt;br /&gt;
addLocation(33.43743,    -86.726235, 'Fangcon', 'fangcon.org', 'Hilton Hotel Perimeter Park&amp;lt;br&amp;gt;8 Perimeter Park S&amp;lt;br&amp;gt;Birmingham, AL 35243&amp;lt;br&amp;gt;USA', '+1 (205) 967-2700', 'Oct 27-31 2016', 427);&lt;br /&gt;
addLocation(45.880449,   -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 25-29 2016', 94);&lt;br /&gt;
addLocation(60.412912,    25.038261, 'FinFur Animus', 'animus.finfur.net', 'Kokoushotelli Gustavelund, Tuusula, Finland', '', 'Jun 16-19 2016', 124);&lt;br /&gt;
//addLocation(62.02209,     30.0185, 'FinFur Summer Camp', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
//addLocation(35.454262, 139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(43.027227,   -88.108102, 'Fur Squared', 'www.fursquared.com', 'Sheraton Milwaukee Brookfield Hotel&amp;lt;br&amp;gt;375 S Moorland Rd&amp;lt;br&amp;gt;Brookfield, WI 53005&amp;lt;br&amp;gt;USA', '+1 (262) 364-1100', 'Feb 24-26 2017', 791);&lt;br /&gt;
addLocation(51.2764173,  -3.0125542, 'Furcation', 'furcation.org.uk', 'Sandy Glade Holiday Park&amp;lt;br&amp;gt;Brean Sands, Somerset&amp;lt;br&amp;gt;UK', '', 'Oct 14-17 2016', 0);&lt;br /&gt;
addLocation(43.9356886, -90.0226165, 'FURconsin', 'www.furconsin.com', 'near Buckhorn Barrens State Natural Area and Castle Rock Lake&amp;lt;br&amp;gt;Necedah, WI 54646&amp;lt;br&amp;gt;USA', 'N/A', 'Oct 6-10 2016');&lt;br /&gt;
addLocation(-41.239835,  174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 5-8 2016', 50);&lt;br /&gt;
addLocation(-23.668839,  -46.577533, 'Furboliche', 'furboliche.com.br', 'Bomboliche Extra Anchieta&amp;lt;br&amp;gt;R. García Lorca, 301&amp;lt;br&amp;gt;S&amp;amp;atilde;o Bernardo do Campo (SP)&amp;lt;br&amp;gt;Brazil', '','Dec 3 2016', 261);&lt;br /&gt;
addLocation(-27.997818,  153.429297, 'FurDU', 'www.furdu.com', 'Outrigger Hotel Surfers Paradise&amp;lt;br&amp;gt;22 View Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'May 27-29 2016', 490);&lt;br /&gt;
addLocation(53.5687483,-113.5238331, 'Fur-eh!', 'fureh.ca', 'Ramada Inn &amp;amp; Conference Center&amp;lt;br&amp;gt;11834 Kingsway Avenue&amp;lt;br&amp;gt;Edmonton, Alberta&amp;lt;br&amp;gt;Canada, T5G 3J5', '+1 (780) 454-5454', 'June 1-4 2017', 625);&lt;br /&gt;
addLocation(-33.859972,  151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Sep 16-18 2016', 227);&lt;br /&gt;
addLocation(45.582910,  -122.575732, 'Furlandia', 'furlandia.org', 'Sheraton Hotel at PDX Airport &amp;lt;br&amp;gt;8235 NE Airport Way&amp;lt;br&amp;gt;Portland, Oregon 97220&amp;lt;br&amp;gt;USA', '+1 (503) 281-2500', 'May 26-28 2017', 763);&lt;br /&gt;
//addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 12-14 2014', 241); //attendance for 2012&lt;br /&gt;
//addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 25 2014', 188);&lt;br /&gt;
addLocation(43.6866,    -79.5893597, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 17-19 2017', 1322);&lt;br /&gt;
addLocation(41.6042521, -72.7027335, 'Furpocalypse', 'furpocalypse.org', 'Radisson Plaza Cromwell&amp;lt;br&amp;gt;100 Berlin Road&amp;lt;br&amp;gt;Cromwell, CT 06416&amp;lt;br&amp;gt;USA', '+1 (888) 233-9527', 'Oct 28-30 2016', 1400);&lt;br /&gt;
addLocation(43.156351,   -77.610020, 'FurryCon', 'www.furrycon.com', 'Radisson Riverside Rochester&amp;lt;br&amp;gt;120 E Main st&amp;lt;br&amp;gt;Rochester, New York&amp;lt;br&amp;gt;USA', '+1 (585) 546-6400', 'Sept 15-18 2016', 294);&lt;br /&gt;
addLocation(28.401971,   -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Nov 5-12 2016', 27);&lt;br /&gt;
addLocation(32.956751,  -96.8252737, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Mar 24-26 2017', 2820);&lt;br /&gt;
//addLocation(1.2987509,  103.8482675, 'Furry Lah', 'furrylah.com', 'Bayview Hotel Singapore&amp;lt;br&amp;gt;30 Bencoolen St&amp;lt;br&amp;gt;Singapore 189621', '+65 6337 2882', 'Nov 28-29 2015');&lt;br /&gt;
addLocation(44.971198,    -93.27774, 'Furry Migration', 'www.furrymigration.org', 'Hyatt Regency Minneapolis&amp;lt;br&amp;gt;1300 Nicollet Mall&amp;lt;br&amp;gt;Minneapolis, Minnesota,&amp;lt;br&amp;gt;USA, 55403', '+1 (612) 370-1234', 'Sept 9-11 2016', 701);&lt;br /&gt;
addLocation(32.9451,    -96.8401881, 'Furry Siesta', 'furrysiesta.com', 'Crowne Plaza – Addison&amp;lt;br&amp;gt;14315 Midway Road&amp;lt;br&amp;gt;Addison, TX 75001&amp;lt;br&amp;gt;USA', '+1 (972) 980-8877', 'Jul 15-16 2016', 306);&lt;br /&gt;
addLocation(33.761999,   -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Apr 6-9 2017', 3252);&lt;br /&gt;
addLocation(52.775556,     6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 31-Apr 3 2017', 57);&lt;br /&gt;
//addLocation(51.40328,     5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66); //ended in 2013.&lt;br /&gt;
addLocation(37.036680,   -76.382842, 'FursonaCon', 'www.fursonacon.com', 'Hampton Roads Convention Center&amp;lt;br&amp;gt;1610 Coliseum Dr&amp;lt;br&amp;gt;Hampton, Virginia&amp;lt;br&amp;gt;USA', '+1 (757) 315-1610', 'Mar 18-20 2016', 1200);&lt;br /&gt;
addLocation(52.588333,        14.65, 'Furstock', 'www.polfurs.org', '', '', 'Jul 14-16 2016', 45);&lt;br /&gt;
addLocation(57.05,         9.916667, 'Furtastic', 'www.furtastic.dk', 'Sondrupvej 58&amp;lt;br&amp;gt;8350 Hundslund&amp;lt;br&amp;gt;Denmark', '', 'Jul 4-7 2016', 50);&lt;br /&gt;
addLocation(37.330294,  -121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 12-16 2017', 3536);&lt;br /&gt;
addLocation(53.509966,  -118.006813, 'Furthest North', 'furthestnorth.ca', 'Wildhay Group Campground&amp;lt;br&amp;gt;north of Hinton&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Sept 2-5 2016', 63);&lt;br /&gt;
addLocation(3.102333, 101.645935, 'Furum', 'furum.org', 'Shah\'s Village Hotel&amp;lt;br&amp;gt; No. 35 &amp;lt;br&amp;gt; Lorong Sultan&amp;lt;br&amp;gt; 46200 Petaling Jaya Selangor &amp;lt;br&amp;gt;Malaysia', '+60 3-7956 9322', 'Dec 10-11 2016');&lt;br /&gt;
//addLocation(53.407281,  -2.989201, 'FurVention', 'furvention.org.uk', 'Aloft Liverpool&amp;lt;br&amp;gt;1 North John Street&amp;lt;br&amp;gt;Liverpool, L2 5QW&amp;lt;br&amp;gt;United Kingdom', '+44 151 294 3970', '22-24 Jan 2016', 64);&lt;br /&gt;
//addLocation(35.559328,   139.723602, 'Fur-st', 'fur-st.com', '志ら井&amp;lt;br&amp;gt;1 Chome-20-28 Minamikamata&amp;lt;br&amp;gt;Ota, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Oct 18 2014', 144);&lt;br /&gt;
addLocation(39.283286,   -84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'Oct 7-9 2016', 382);&lt;br /&gt;
addLocation(38.930864,   -77.245601, 'Fur the \'More', 'furthemore.org', 'Sheraton Premiere at Tysons Corner&amp;lt;br&amp;gt;8661 Leesburg Pike&amp;lt;br&amp;gt;Vienna, VA&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Apr 28-30 2017', 990);&lt;br /&gt;
addLocation(51.93180,        19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 10-14 2016', 93);&lt;br /&gt;
//addLocation(49.8954237,  5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013', 14);&lt;br /&gt;
addLocation(38.6329283,  -90.184827, 'Gateway Furmeet', 'gatewayfurmeet.org', 'Lumière Place Casino and Hotels&amp;lt;br&amp;gt;999 N 2nd St&amp;lt;br&amp;gt;St. Louis, Missouri 63119&amp;lt;br&amp;gt;USA', '+1 (314) 881-7777', 'May 13-15 2016', 223);&lt;br /&gt;
addLocation(54.358288,    18.621243, 'Gdakon', 'gdakon.org', 'Amber Hotel&amp;lt;br&amp;gt;Gdańsk&amp;lt;br&amp;gt;Poland', '', 'March 1-5 2017', 178);&lt;br /&gt;
addLocation(42.404360,   -86.243710, 'Great Lakes Fur Con', 'greatlakesfurcon.com', 'Holiday Inn Express South Grand Rapids&amp;lt;br&amp;gt;6569 Clay Avenue SW&amp;lt;br&amp;gt;Grand Rapids, MI. 49548&amp;lt;br&amp;gt;USA', '+1 (616) 871-9700', 'May 27-29 2016', 308);&lt;br /&gt;
addLocation(47.35016,       7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Nov 3-6 2016');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,     8.826463, 'H-Con', 'h-con.org', 'Petershof&amp;lt;br&amp;gt;Talweg 5&amp;lt;br&amp;gt;64711 Erbach/Erbuch&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Sep 28-Oct 2 2016', 64);&lt;br /&gt;
addLocation(49.26716,   -123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', '2016', 278);&lt;br /&gt;
//addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Oct 11-13 2013');&lt;br /&gt;
//addLocation(25.034847,   121.546979, 'Infurnity', 'infurnity.com', 'SMAJO House&amp;lt;br&amp;gt;Ln. 279, Sec. 1, Fuxing S. Rd.&amp;lt;br&amp;gt;Da’an Dist., Taipei', '', 'Oct 31 2015', 62); // first Taiwan furcon&lt;br /&gt;
addLocation(39.797248,   -86.041109, 'IndyFurCon', 'indyfurcon.com', 'Indianapolis Marriott East&amp;lt;br&amp;gt;7202 E 21st St&amp;lt;br&amp;gt;Indianapolis, IN 46219&amp;lt;br&amp;gt;USA', '+1 (317) 352-1231', 'Aug 26-28 2016', 735);&lt;br /&gt;
addLocation(33.643368,  -112.119356, 'Itty Bitty FurCon', 'ittybittyfurcon.com', 'La Princesa&amp;lt;br&amp;gt;2710 W Bell Road #1205&amp;lt;br&amp;gt;Phoenix, AZ 85053&amp;lt;br&amp;gt;USA', '+1 (602) 518-5990', 'Jul 17 2016', 0);&lt;br /&gt;
addLocation(34.743463,   137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 6-8 2017', 588);&lt;br /&gt;
addLocation(25.00814,     121.53604, 'Kemono &amp;amp; Jingai Only 2', 'jk2016.furry.tw', 'Jhongjheng Hall&amp;lt;br&amp;gt;88 Tingzhou Road Section 4&amp;lt;br&amp;gt;Wenshan District&amp;lt;br&amp;gt;Taipei City 116&amp;lt;br&amp;gt;Taiwan&amp;lt;br&amp;gt;116台北市文山區汀州路四段88號', '', 'Jul 16 2016', 0); // The name of the hall at http://en.ntnu.edu.tw/gongguan-campus.php#tab-1 seems to be in Tongyong Pinyin, while the street address seems to be in Hanyu Pinyin?&lt;br /&gt;
//addLocation(35.3334755, 139.9891955, 'Kemocon', 'www.kemocon.com', 'Kasuza Akademia Hall&amp;lt;br&amp;gt;2 Chome-3-9 Kazusakamatari&amp;lt;br&amp;gt;Kisarazu, Chiba Prefecture&amp;lt;br&amp;gt;Japan', '', 'Nov 21-22 2015', 420);&lt;br /&gt;
addLocation(34.985692,   138.417148, 'Kemono Square', 'kemono-square.com', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 4 2016', 107);&lt;br /&gt;
//addLocation(35.654685, 139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);  //259 vendors from 246 circles confirmed for 2014&lt;br /&gt;
//addLocation(34.6693,   135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2014', 0);&lt;br /&gt;
//addLocation(35.1584991, 136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 29, 2015', 141); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(47.336284,    12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Jul 9-16 2016', 40);&lt;br /&gt;
addLocation(28.418215,   -81.465091, 'Megaplex', 'megaplexcon.org', 'DoubleTree by Hilton Orlando at SeaWorld&amp;lt;br&amp;gt;10100 International Drive&amp;lt;br&amp;gt;Orlando, Florida, 32821&amp;lt;br&amp;gt;USA', '+1 (407) 352-1100', 'Aug 4-Aug 6 2017', 1860);&lt;br /&gt;
addLocation(34.966572,   -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Sep 2-Sep 4 2016', 432);&lt;br /&gt;
addLocation(50.825484,     7.887068, 'Mephit Mini Con', 'mmc.furcon.eu', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May 12-16 2016', 200);&lt;br /&gt;
//addLocation(35.656854,139.7351909, 'Metamore Generation V', 'www.metamor.jp', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(41.981284,   -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Dec 1-4 2016', 5606);&lt;br /&gt;
//addLocation(35.754914,139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', '', 'May 2 2015', 66); //only attendees signed up from Twipla - 6 people over venue capacity&lt;br /&gt;
addLocation(13.705699,   100.604295, 'Morph Parade', 'fb.me/MOFU.PARADE', 'KV Mansion&amp;lt;br&amp;gt;90 สุขุมวิท 81 บางจาก&amp;lt;br&amp;gt;[Near BTS On-Nut station]&amp;lt;br&amp;gt;Bangkok 10260&amp;lt;br&amp;gt;Thailand', '+66 2-33 222 11', 'Oct 29 2016');&lt;br /&gt;
addLocation(42.443047,   -83.435667, 'Motor City Furry Con', 'motorcityfurrycon.org', '21111 Haggerty Road&amp;lt;br&amp;gt;Novi, MI 48375&amp;lt;br&amp;gt;USA', '+1 (248) 349-4000', 'Apr 7-9 2017', 1028);&lt;br /&gt;
addLocation(41.846166,    -87.942571, 'New Year\'s Eve Con', 'newyearsevecon.com', 'Residence Inn Oak Brook&amp;lt;br&amp;gt;790 Jorie Boulevard&amp;lt;br&amp;gt;Oak Brook, IL 60523&amp;lt;br&amp;gt;USA', '+1 (630) 571-1200', 'Dec 31 2016-Jan 1 2017', ~100);&lt;br /&gt;
//addLocation(39.65924,   -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 31 2015-Jan 1 2016', 211) &lt;br /&gt;
addLocation(58.9143217,   17.953672, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Utsikten Meetings Hotel&amp;lt;br&amp;gt;Nynäshamn&amp;lt;br&amp;gt;Sweden', '', 'Mar 9-12 2017', 513);&lt;br /&gt;
//addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 29-Nov 1 2014', 352);&lt;br /&gt;
addLocation(-31.944444,  115.863842, 'FurWAG', 'furwag.com.au', 'Hotel Ibis Styles Perth&amp;lt;br&amp;gt;15 Robinson Avenue&amp;lt;br&amp;gt;Northbridge 6003&amp;lt;br&amp;gt;Western Australia', '+61 8 9328 0000', 'Sept 30-Oct 2 2016', 177);&lt;br /&gt;
//addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 22-25 2016', 2704);&lt;br /&gt;
addLocation(-27.467778,  153.027778, 'RivFur', 'www.southbankfurmeet.com/home/m/36617225/article/3714600', 'Brisbane, Queensland, Australia', '', 'Jul 29-31, 2016', 200);&lt;br /&gt;
addLocation(39.762235,  -104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Denver Marriott Tech Center&amp;lt;br&amp;gt;4900 South Syracuse Street&amp;lt;br&amp;gt;Denver, Colorado 80237&amp;lt;br&amp;gt;USA', '+1 (303) 779-1100', 'Aug 12-14 2016', 1670);&lt;br /&gt;
addLocation(56.050627,    36.823576, 'Rusfurence', 'rusfurence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 1-5 2017', 286);&lt;br /&gt;
addLocation(57.478307,     -4.22672, 'ScotiaCon', 'scotiacon.co.uk', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Nov 4-6 2016', 152);&lt;br /&gt;
addLocation(31.27268,     121.55447, 'Shanghai Furry Summer Festival', 'furryeventchina.top', 'Jinqianbao Hotel&amp;lt;br&amp;gt;2866 Yangshupu Rd&amp;lt;br&amp;gt;Shanghai, China&amp;lt;br&amp;gt;中国上海市杨树浦路2866号金钱豹大酒店', '', 'Jul 23 2016', null); // co-located with Shanghai Jingai Only 2016. At the Golden Leopard hotel. Website down for maintenance every day 3am-5am Beijing Time (3pm-5pm U.S./Canada Eastern Daylight Savings Time).&lt;br /&gt;
//addLocation(-26.201,       28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(13.746076,   100.562432, 'Thai Tails', 'www.thaitails.net', 'Asok Towers&amp;lt;br&amp;gt;BLDG 219, Soi Sukhumvit 21, Asok Road&amp;lt;br&amp;gt;Klongtoey Nua, Wattana&amp;lt;br&amp;gt;Bangkok, Thailand 10110', '+66 2 120 9600', 'Jan 30 2016', 0);&lt;br /&gt;
//addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', 'Oct 31-Nov 2 2014', 126);&lt;br /&gt;
addLocation(49.266323,  -123.011509, 'VancouFur', 'vancoufur.ca', 'Executive Hotel &amp;amp; Conference Centre Burnaby&amp;lt;br&amp;gt;4201 Lougheed Hwy&amp;lt;br&amp;gt;Burnaby, British Columbia, V5C 3Y6&amp;lt;br&amp;gt;Canada', '', 'Mar 9-12 2017', 810);&lt;br /&gt;
addLocation(45.499474,   -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 20-22 2016', 439);&lt;br /&gt;
addLocation(40.4612,       -79.7509, 'Western Pennsylvania Furry Weekend', 'wpafw.org', ' North Park Lodge, N Ridge Dr&amp;lt;br&amp;gt;Allison Park, PA 15101&amp;lt;br&amp;gt;USA', '+1 (724) 327-0338', 'Oct 7-9 2016', 133);&lt;br /&gt;
addLocation(35.042611,   -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 21-26 2016', 190);&lt;br /&gt;
addLocation(50.456309,    30.504819, 'WUFF', 'wuff.org.ua', 'Hotel «Sofiyevsky Posad»&amp;lt;br&amp;gt;81/2 Kyivs\'ka Str., Sofiivs\'ka Borshchahivka&amp;lt;br&amp;gt;Kiev, Ukraine', '', 'May 4-8 2016', 160)&lt;br /&gt;
addLocation(44.148964,    12.464516, 'Zampacon', 'zampacon.org', 'Via Ragusa 20&amp;lt;br&amp;gt;Bellaria-Igea Marina (RN)&amp;lt;br&amp;gt;47814 &amp;lt;br&amp;gt;Italy', '', 'Sep 2-6 2016', 60);&lt;br /&gt;
addLocation(47.503095,    12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 23-30 2016', 40);&lt;br /&gt;
addLocation(50.773040,    15.311701, 'ZodiaCon', 'zodiacon.org', 'Vršovská Brána&amp;lt;br&amp;gt;Vršov 19&amp;lt;br&amp;gt;539 53 Horní Bradlo&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 26-29 2016', 74);&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Everywhere (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Japan (&amp;quot;+count_japan+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_JAPAN;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_JAPAN:&lt;br /&gt;
            filter_func = is_in_japan; break;            &lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_japan(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates like &amp;quot;Jan 17 - Feb 2, 2014&amp;quot; into an integer like 20140117 for sorting&lt;br /&gt;
// should accept anything that looks like a date.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
    &amp;quot;use strict&amp;quot;;&lt;br /&gt;
    var x; &lt;br /&gt;
    var v;&lt;br /&gt;
    var y;&lt;br /&gt;
    var day; &lt;br /&gt;
    var month; &lt;br /&gt;
    var year;&lt;br /&gt;
    &lt;br /&gt;
	if (!s) {return 200004001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (x &amp;amp;&amp;amp; x[1]) {&lt;br /&gt;
	    day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	    if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	&lt;br /&gt;
	    switch (x[1]){&lt;br /&gt;
		    case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		    case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		    case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		    case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		    case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		    case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		    case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		    case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		    case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		    case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		    case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		    case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		    default:	month = 20;&lt;br /&gt;
	    }//switch&lt;br /&gt;
	} else {&lt;br /&gt;
	    month = 40;&lt;br /&gt;
	    day = 0;&lt;br /&gt;
	} &lt;br /&gt;
	&lt;br /&gt;
	y = /[0-9]{4}$/.exec(s);&lt;br /&gt;
	if (y) {&lt;br /&gt;
		year = (v=parseInt(y[0]))?v:0;&lt;br /&gt;
    	if (year &amp;gt; 9999) {year = 10000;}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return year * 10000 + month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        markerOpts = {&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: name&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        markerOpts.icon =  (a.attendance &amp;gt;= 5000 ? greenIcon : (a.attendance &amp;gt;= 2500 ? yellowIcon : (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 250 ? purpleIcon : blueIcon ) ) ) );&lt;br /&gt;
        markerOpts.shadow = markerShadow;&lt;br /&gt;
        markerOpts.title = a.name;&lt;br /&gt;
&lt;br /&gt;
        a.marker = new google.maps.Marker(markerOpts);&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            //if we can't see the marker, show it in the center&lt;br /&gt;
            if (!map.getBounds().contains(a.marker.getPosition())){&lt;br /&gt;
                map.panTo(a.marker.getPosition());&lt;br /&gt;
            }&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++; &lt;br /&gt;
        } else if (is_in_japan(a.lat, a.lng)) {&lt;br /&gt;
	    count_japan ++; &lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2016-09-22T16:00:59Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Undo revision 2081 by 173.75.26.115 (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the cog and Share (or check the URL) and copy the first two numbers after the '@' (including the decimal bits). &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_japan = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_JAPAN = 4;&lt;br /&gt;
var FILT_OTHERS = 5;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
function is_in_japan(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var yellowIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/yellow-dot.png&amp;quot;);&lt;br /&gt;
var greenIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/green-dot.png&amp;quot;);&lt;br /&gt;
var markerShadow = new google.maps.MarkerImage(&amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/markers/marker_sprite.png&amp;quot;, new google.maps.Size(37,34), new google.maps.Point(20, 0), new google.maps.Point(10, 34)); &lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
//addLocation(-37.891950,-57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(42.353979,   -71.105356, 'Anthro New England', 'www.anthronewengland.org', 'Hyatt Regency Cambridge, Overlooking Boston&amp;lt;br&amp;gt;575 Memorial Dr&amp;lt;br&amp;gt;Cambridge, MA&amp;lt;br&amp;gt;USA', '1(617) 492-1234', 'Jan 19-22 2017', 965);&lt;br /&gt;
addLocation(40.105846,   -83.017244, 'AnthrOhio', 'anthrohio.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'June 1-4 2017', 546);&lt;br /&gt;
addLocation(40.444334,   -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jun 29-Jul 2 2017', 7310);&lt;br /&gt;
addLocation(33.548246,  -112.046348, 'Arizona Fur Con', 'Arizonafurcon.com', 'Pointe Hilton Squaw Peak Resort&amp;lt;br&amp;gt;N 16th St&amp;lt;br&amp;gt;Phoenix, Arizona 85020&amp;lt;br&amp;gt;USA', '1(602) 997-2626', 'Sep 30-Oct 2 2016', 725);&lt;br /&gt;
//addLocation(52.597652,   13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 18-21 2015', 89);&lt;br /&gt;
addLocation(39.523177,   -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'May 12-15 2016', 3651);&lt;br /&gt;
addLocation(-23.970691,  -46.329962, 'Brasil FurFest', 'brasilfurfest.com.br', 'Hotel Mercure Santos&amp;lt;br&amp;gt;Av. Washington Luiz, 565&amp;lt;br&amp;gt;Santos (SP)&amp;lt;br&amp;gt;Brazil', '','Sep 9-11 2016');&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
addLocation(34.080577,  -117.762728, 'Califur', 'califur.com', 'Sheraton Fairplex Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;601 W McKinley Ave&amp;lt;br&amp;gt;Pomona, CA 91768&amp;lt;br&amp;gt;USA', '', 'Jun 3-5 2016', 1317);&lt;br /&gt;
addLocation(43.721056,  -121.291552, 'Campfire Tails', 'campfiretails.org', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Aug 4-8 2016', 143);&lt;br /&gt;
addLocation(45.4198698, -75.6989379, 'CanFURence', 'www.canfurence.ca', '185 Slater Street&amp;lt;br&amp;gt;Ottawa ON  K1P OC8&amp;lt;br&amp;gt;Canada', '+1 844-258-6882', 'Nov 11-13 2016', 0);&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439,     -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(37.686355,   -97.342702, 'Central Plains Furcon', 'cpfurcon.com', 'Drury Plaza Hotel Broadview&amp;lt;br&amp;gt;400 West Douglas Ave&amp;lt;br&amp;gt;Wichita, KS 67202&amp;lt;br&amp;gt;USA', '', 'Sep 1-4 2016', 100)&lt;br /&gt;
addLocation(49.638649,    15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jul 6-10 2016', 107);&lt;br /&gt;
//addLocation(23.061687, 113.296423, 'China National Furry Party', 'www.fb.com/CNFP2015', ', Guangzhou&amp;lt;br&amp;gt;China', '', 'Jul 8-19 2015', 40);&lt;br /&gt;
addLocation(50.935659,     6.965116, 'Cologne Furdance', 'www.crosscombined.de', 'Maritim Hotel, Heumarkt 20, 50667 Köln, Germany', '', 'Jul 30 2016', 201); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
//addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 1-3 2014', 251);&lt;br /&gt;
addLocation(-37.820007,  145.013429, 'ConFurgence', 'confurgence.com', 'Amora Hotel Riverwalk&amp;lt;br&amp;gt;649 Bridge Road&amp;lt;br&amp;gt;Richmond, Melbourne, Victoria, 3121&amp;lt;br&amp;gt;Australia', '+61-3-9027-2000', 'Jan 6-8 2017', 681);&lt;br /&gt;
addLocation(52.450713,    -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 26-30 2017', 1451);&lt;br /&gt;
//addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 19-21 2015');&lt;br /&gt;
addLocation(51.844531,    12.208828, 'EAST', 'www.east-convention.de.vu', 'DJH Jugendherberge&amp;lt;br&amp;gt;Ebertallee 151, 06846&amp;lt;br&amp;gt;Dessau-Roßlau&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Jul 13-17 2016');&lt;br /&gt;
addLocation(28.33704,    -81.587777, 'Elliott\'s Live Events', 'elliottsliveevents.org', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(52.474897,    13.459467, 'Eurofurence', 'eurofurence.org', 'Estrel Hotel Berlin&amp;lt;br&amp;gt;Sonnenallee 225&amp;lt;br&amp;gt;12057 Berlin&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 17-21 2016', 2322);&lt;br /&gt;
//addLocation(37.247901, -93.259639, 'F3 Convention', 'www.f3con.com', 'Lamplighter Inn &amp;amp; Suites, North&amp;lt;br&amp;gt;2820 N Glenstone Ave&amp;lt;br&amp;gt;Springfield, MO 65803&amp;lt;br&amp;gt;USA', '+1 (417) 869-3900', 'Nov 20-23 2014', 55);&lt;br /&gt;
addLocation(38.960831,   -77.423238, 'FA: United', 'faunited.org', 'Hyatt Regency Dulles&amp;lt;br&amp;gt;2300 Dulles Corner Blvd.&amp;lt;br&amp;gt;Herndon, Virginia 20171&amp;lt;br&amp;gt;USA', '+1 703 713 1234', 'Aug 12-14 2016', 539);&lt;br /&gt;
addLocation(33.43743,    -86.726235, 'Fangcon', 'fangcon.org', 'Hilton Hotel Perimeter Park&amp;lt;br&amp;gt;8 Perimeter Park S&amp;lt;br&amp;gt;Birmingham, AL 35243&amp;lt;br&amp;gt;USA', '+1 (205) 967-2700', 'Oct 27-31 2016', 427);&lt;br /&gt;
addLocation(45.880449,   -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 25-29 2016', 94);&lt;br /&gt;
addLocation(60.412912,    25.038261, 'FinFur Animus', 'animus.finfur.net', 'Kokoushotelli Gustavelund, Tuusula, Finland', '', 'Jun 16-19 2016', 124);&lt;br /&gt;
//addLocation(62.02209,     30.0185, 'FinFur Summer Camp', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
//addLocation(35.454262, 139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(43.027227,   -88.108102, 'Fur Squared', 'www.fursquared.com', 'Sheraton Milwaukee Brookfield Hotel&amp;lt;br&amp;gt;375 S Moorland Rd&amp;lt;br&amp;gt;Brookfield, WI 53005&amp;lt;br&amp;gt;USA', '+1 (262) 364-1100', 'Feb 24-26 2017', 791);&lt;br /&gt;
addLocation(51.2764173,  -3.0125542, 'Furcation', 'furcation.org.uk', 'Sandy Glade Holiday Park&amp;lt;br&amp;gt;Brean Sands, Somerset&amp;lt;br&amp;gt;UK', '', 'Oct 14-17 2016', 0);&lt;br /&gt;
addLocation(43.9356886, -90.0226165, 'FURconsin', 'www.furconsin.com', 'near Buckhorn Barrens State Natural Area and Castle Rock Lake&amp;lt;br&amp;gt;Necedah, WI 54646&amp;lt;br&amp;gt;USA', 'N/A', 'Oct 6-10 2016');&lt;br /&gt;
addLocation(-41.239835,  174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 5-8 2016', 50);&lt;br /&gt;
addLocation(-23.668839,  -46.577533, 'Furboliche', 'furboliche.com.br', 'Bomboliche Extra Anchieta&amp;lt;br&amp;gt;R. García Lorca, 301&amp;lt;br&amp;gt;S&amp;amp;atilde;o Bernardo do Campo (SP)&amp;lt;br&amp;gt;Brazil', '','Dec 3 2016', 261);&lt;br /&gt;
addLocation(-27.997818,  153.429297, 'FurDU', 'www.furdu.com', 'Outrigger Hotel Surfers Paradise&amp;lt;br&amp;gt;22 View Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'May 27-29 2016', 490);&lt;br /&gt;
addLocation(53.5687483,-113.5238331, 'Fur-eh!', 'fureh.ca', 'Ramada Inn &amp;amp; Conference Center&amp;lt;br&amp;gt;11834 Kingsway Avenue&amp;lt;br&amp;gt;Edmonton, Alberta&amp;lt;br&amp;gt;Canada, T5G 3J5', '+1 (780) 454-5454', 'June 1-4 2017', 625);&lt;br /&gt;
addLocation(-33.859972,  151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Sep 16-18 2016', 227);&lt;br /&gt;
addLocation(45.582910,  -122.575732, 'Furlandia', 'furlandia.org', 'Sheraton Hotel at PDX Airport &amp;lt;br&amp;gt;8235 NE Airport Way&amp;lt;br&amp;gt;Portland, Oregon 97220&amp;lt;br&amp;gt;USA', '+1 (503) 281-2500', 'May 26-28 2017', 763);&lt;br /&gt;
//addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 12-14 2014', 241); //attendance for 2012&lt;br /&gt;
//addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 25 2014', 188);&lt;br /&gt;
addLocation(43.6866,    -79.5893597, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 17-19 2017', 1322);&lt;br /&gt;
addLocation(41.6042521, -72.7027335, 'Furpocalypse', 'furpocalypse.org', 'Radisson Plaza Cromwell&amp;lt;br&amp;gt;100 Berlin Road&amp;lt;br&amp;gt;Cromwell, CT 06416&amp;lt;br&amp;gt;USA', '+1 (888) 233-9527', 'Oct 28-30 2016', 1400);&lt;br /&gt;
addLocation(43.156351,   -77.610020, 'FurryCon', 'www.furrycon.com', 'Radisson Riverside Rochester&amp;lt;br&amp;gt;120 E Main st&amp;lt;br&amp;gt;Rochester, New York&amp;lt;br&amp;gt;USA', '+1 (585) 546-6400', 'Sept 15-18 2016', 294);&lt;br /&gt;
addLocation(28.401971,   -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Nov 5-12 2016', 27);&lt;br /&gt;
addLocation(32.956751,  -96.8252737, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Mar 24-26 2017', 2820);&lt;br /&gt;
//addLocation(1.2987509,  103.8482675, 'Furry Lah', 'furrylah.com', 'Bayview Hotel Singapore&amp;lt;br&amp;gt;30 Bencoolen St&amp;lt;br&amp;gt;Singapore 189621', '+65 6337 2882', 'Nov 28-29 2015');&lt;br /&gt;
addLocation(44.971198,    -93.27774, 'Furry Migration', 'www.furrymigration.org', 'Hyatt Regency Minneapolis&amp;lt;br&amp;gt;1300 Nicollet Mall&amp;lt;br&amp;gt;Minneapolis, Minnesota,&amp;lt;br&amp;gt;USA, 55403', '+1 (612) 370-1234', 'Sept 9-11 2016', 701);&lt;br /&gt;
addLocation(32.9451,    -96.8401881, 'Furry Siesta', 'furrysiesta.com', 'Crowne Plaza – Addison&amp;lt;br&amp;gt;14315 Midway Road&amp;lt;br&amp;gt;Addison, TX 75001&amp;lt;br&amp;gt;USA', '+1 (972) 980-8877', 'Jul 15-16 2016', 306);&lt;br /&gt;
addLocation(33.761999,   -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Apr 6-9 2017', 3252);&lt;br /&gt;
addLocation(52.775556,     6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 31-Apr 3 2017', 57);&lt;br /&gt;
//addLocation(51.40328,     5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66); //ended in 2013.&lt;br /&gt;
addLocation(37.036680,   -76.382842, 'FursonaCon', 'www.fursonacon.com', 'Hampton Roads Convention Center&amp;lt;br&amp;gt;1610 Coliseum Dr&amp;lt;br&amp;gt;Hampton, Virginia&amp;lt;br&amp;gt;USA', '+1 (757) 315-1610', 'Mar 18-20 2016', 1200);&lt;br /&gt;
addLocation(52.588333,        14.65, 'Furstock', 'www.polfurs.org', '', '', 'Jul 14-16 2016', 45);&lt;br /&gt;
addLocation(57.05,         9.916667, 'Furtastic', 'www.furtastic.dk', 'Sondrupvej 58&amp;lt;br&amp;gt;8350 Hundslund&amp;lt;br&amp;gt;Denmark', '', 'Jul 4-7 2016', 50);&lt;br /&gt;
addLocation(37.330294,  -121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 12-16 2017', 3536);&lt;br /&gt;
addLocation(53.509966,  -118.006813, 'Furthest North', 'furthestnorth.ca', 'Wildhay Group Campground&amp;lt;br&amp;gt;north of Hinton&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Sept 2-5 2016', 63);&lt;br /&gt;
addLocation(3.102333, 101.645935, 'Furum', 'furum.org', 'Shah\'s Village Hotel&amp;lt;br&amp;gt; No. 35 &amp;lt;br&amp;gt; Lorong Sultan&amp;lt;br&amp;gt; 46200 Petaling Jaya Selangor &amp;lt;br&amp;gt;Malaysia', '+60 3-7956 9322', 'Dec 10-11 2016');&lt;br /&gt;
//addLocation(53.407281,  -2.989201, 'FurVention', 'furvention.org.uk', 'Aloft Liverpool&amp;lt;br&amp;gt;1 North John Street&amp;lt;br&amp;gt;Liverpool, L2 5QW&amp;lt;br&amp;gt;United Kingdom', '+44 151 294 3970', '22-24 Jan 2016', 64);&lt;br /&gt;
//addLocation(35.559328,   139.723602, 'Fur-st', 'fur-st.com', '志ら井&amp;lt;br&amp;gt;1 Chome-20-28 Minamikamata&amp;lt;br&amp;gt;Ota, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Oct 18 2014', 144);&lt;br /&gt;
addLocation(39.283286,   -84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'Oct 7-9 2016', 382);&lt;br /&gt;
addLocation(38.930864,   -77.245601, 'Fur the \'More', 'furthemore.org', 'Sheraton Premiere at Tysons Corner&amp;lt;br&amp;gt;8661 Leesburg Pike&amp;lt;br&amp;gt;Vienna, VA&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Apr 28-30 2017', 990);&lt;br /&gt;
addLocation(51.93180,        19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 10-14 2016', 93);&lt;br /&gt;
//addLocation(49.8954237,  5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013', 14);&lt;br /&gt;
addLocation(38.6329283,  -90.184827, 'Gateway Furmeet', 'gatewayfurmeet.org', 'Lumière Place Casino and Hotels&amp;lt;br&amp;gt;999 N 2nd St&amp;lt;br&amp;gt;St. Louis, Missouri 63119&amp;lt;br&amp;gt;USA', '+1 (314) 881-7777', 'May 13-15 2016', 223);&lt;br /&gt;
addLocation(54.358288,    18.621243, 'Gdakon', 'gdakon.org', 'Amber Hotel&amp;lt;br&amp;gt;Gdańsk&amp;lt;br&amp;gt;Poland', '', 'March 1-5 2017', 178);&lt;br /&gt;
addLocation(42.404360,   -86.243710, 'Great Lakes Fur Con', 'greatlakesfurcon.com', 'Holiday Inn Express South Grand Rapids&amp;lt;br&amp;gt;6569 Clay Avenue SW&amp;lt;br&amp;gt;Grand Rapids, MI. 49548&amp;lt;br&amp;gt;USA', '+1 (616) 871-9700', 'May 27-29 2016', 308);&lt;br /&gt;
addLocation(47.35016,       7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Nov 3-6 2016');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,     8.826463, 'H-Con', 'h-con.org', 'Petershof&amp;lt;br&amp;gt;Talweg 5&amp;lt;br&amp;gt;64711 Erbach/Erbuch&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Sep 28-Oct 2 2016', 64);&lt;br /&gt;
addLocation(49.26716,   -123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', '2016', 278);&lt;br /&gt;
//addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Oct 11-13 2013');&lt;br /&gt;
//addLocation(25.034847,   121.546979, 'Infurnity', 'infurnity.com', 'SMAJO House&amp;lt;br&amp;gt;Ln. 279, Sec. 1, Fuxing S. Rd.&amp;lt;br&amp;gt;Da’an Dist., Taipei', '', 'Oct 31 2015', 62); // first Taiwan furcon&lt;br /&gt;
addLocation(39.797248,   -86.041109, 'IndyFurCon', 'indyfurcon.com', 'Indianapolis Marriott East&amp;lt;br&amp;gt;7202 E 21st St&amp;lt;br&amp;gt;Indianapolis, IN 46219&amp;lt;br&amp;gt;USA', '+1 (317) 352-1231', 'Aug 26-28 2016', 735);&lt;br /&gt;
addLocation(33.643368,  -112.119356, 'Itty Bitty FurCon', 'ittybittyfurcon.com', 'La Princesa&amp;lt;br&amp;gt;2710 W Bell Road #1205&amp;lt;br&amp;gt;Phoenix, AZ 85053&amp;lt;br&amp;gt;USA', '+1 (602) 518-5990', 'Jul 17 2016', 0);&lt;br /&gt;
addLocation(34.743463,   137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 6-8 2017', 588);&lt;br /&gt;
addLocation(25.00814,     121.53604, 'Kemono &amp;amp; Jingai Only 2', 'jk2016.furry.tw', 'Jhongjheng Hall&amp;lt;br&amp;gt;88 Tingzhou Road Section 4&amp;lt;br&amp;gt;Wenshan District&amp;lt;br&amp;gt;Taipei City 116&amp;lt;br&amp;gt;Taiwan&amp;lt;br&amp;gt;116台北市文山區汀州路四段88號', '', 'Jul 16 2016', 0); // The name of the hall at http://en.ntnu.edu.tw/gongguan-campus.php#tab-1 seems to be in Tongyong Pinyin, while the street address seems to be in Hanyu Pinyin?&lt;br /&gt;
//addLocation(35.3334755, 139.9891955, 'Kemocon', 'www.kemocon.com', 'Kasuza Akademia Hall&amp;lt;br&amp;gt;2 Chome-3-9 Kazusakamatari&amp;lt;br&amp;gt;Kisarazu, Chiba Prefecture&amp;lt;br&amp;gt;Japan', '', 'Nov 21-22 2015', 420);&lt;br /&gt;
addLocation(34.985692,   138.417148, 'Kemono Square', 'kemono-square.com', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 4 2016', 107);&lt;br /&gt;
//addLocation(35.654685, 139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);  //259 vendors from 246 circles confirmed for 2014&lt;br /&gt;
//addLocation(34.6693,   135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2014', 0);&lt;br /&gt;
//addLocation(35.1584991, 136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 29, 2015', 141); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(47.336284,    12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Jul 9-16 2016', 40);&lt;br /&gt;
addLocation(28.418215,   -81.465091, 'Megaplex', 'megaplexcon.org', 'DoubleTree by Hilton Orlando at SeaWorld&amp;lt;br&amp;gt;10100 International Drive&amp;lt;br&amp;gt;Orlando, Florida, 32821&amp;lt;br&amp;gt;USA', '+1 (407) 352-1100', 'Aug 4-Aug 6 2017', 1860);&lt;br /&gt;
addLocation(34.966572,   -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Sep 2-Sep 4 2016', 432);&lt;br /&gt;
addLocation(50.825484,     7.887068, 'Mephit Mini Con', 'mmc.furcon.eu', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May 12-16 2016', 200);&lt;br /&gt;
//addLocation(35.656854,139.7351909, 'Metamore Generation V', 'www.metamor.jp', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(41.981284,   -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Dec 1-4 2016', 5606);&lt;br /&gt;
//addLocation(35.754914,139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', '', 'May 2 2015', 66); //only attendees signed up from Twipla - 6 people over venue capacity&lt;br /&gt;
addLocation(13.705699,   100.604295, 'Morph Parade', 'fb.me/MOFU.PARADE', 'KV Mansion&amp;lt;br&amp;gt;90 สุขุมวิท 81 บางจาก&amp;lt;br&amp;gt;[Near BTS On-Nut station]&amp;lt;br&amp;gt;Bangkok 10260&amp;lt;br&amp;gt;Thailand', '+66 2-33 222 11', 'Oct 29 2016');&lt;br /&gt;
addLocation(42.443047,   -83.435667, 'Motor City Furry Con', 'motorcityfurrycon.org', '21111 Haggerty Road&amp;lt;br&amp;gt;Novi, MI 48375&amp;lt;br&amp;gt;USA', '+1 (248) 349-4000', 'Apr 7-9 2017', 1028);&lt;br /&gt;
//addLocation(41.846166,    -87.942571, 'New Year\'s Eve Con', 'newyearsevecon.com', 'Residence Inn Oak Brook&amp;lt;br&amp;gt;790 Jorie Boulevard&amp;lt;br&amp;gt;Oak Brook, IL 60523&amp;lt;br&amp;gt;USA', '+1 (630) 571-1200', 'Dec 31 2016-Jan 1 2017', ~100);&lt;br /&gt;
//addLocation(39.65924,   -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 31 2015-Jan 1 2016', 211) &lt;br /&gt;
addLocation(58.9143217,   17.953672, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Utsikten Meetings Hotel&amp;lt;br&amp;gt;Nynäshamn&amp;lt;br&amp;gt;Sweden', '', 'Mar 9-12 2017', 513);&lt;br /&gt;
//addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 29-Nov 1 2014', 352);&lt;br /&gt;
addLocation(-31.944444,  115.863842, 'FurWAG', 'furwag.com.au', 'Hotel Ibis Styles Perth&amp;lt;br&amp;gt;15 Robinson Avenue&amp;lt;br&amp;gt;Northbridge 6003&amp;lt;br&amp;gt;Western Australia', '+61 8 9328 0000', 'Sept 30-Oct 2 2016', 177);&lt;br /&gt;
//addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 22-25 2016', 2704);&lt;br /&gt;
addLocation(-27.467778,  153.027778, 'RivFur', 'www.southbankfurmeet.com/home/m/36617225/article/3714600', 'Brisbane, Queensland, Australia', '', 'Jul 29-31, 2016', 200);&lt;br /&gt;
addLocation(39.762235,  -104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Doubletree Hotel Denver&amp;lt;br&amp;gt;3203 Quebec Street&amp;lt;br&amp;gt;Denver, Colorado 80207&amp;lt;br&amp;gt;USA', '+1 (303) 321-3333', 'Aug 12-14 2016', 1670);&lt;br /&gt;
addLocation(56.050627,    36.823576, 'Rusfurence', 'rusfurence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 1-5 2017', 286);&lt;br /&gt;
addLocation(57.478307,     -4.22672, 'ScotiaCon', 'scotiacon.co.uk', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Nov 4-6 2016', 152);&lt;br /&gt;
addLocation(31.27268,     121.55447, 'Shanghai Furry Summer Festival', 'furryeventchina.top', 'Jinqianbao Hotel&amp;lt;br&amp;gt;2866 Yangshupu Rd&amp;lt;br&amp;gt;Shanghai, China&amp;lt;br&amp;gt;中国上海市杨树浦路2866号金钱豹大酒店', '', 'Jul 23 2016', null); // co-located with Shanghai Jingai Only 2016. At the Golden Leopard hotel. Website down for maintenance every day 3am-5am Beijing Time (3pm-5pm U.S./Canada Eastern Daylight Savings Time).&lt;br /&gt;
//addLocation(-26.201,       28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(13.746076,   100.562432, 'Thai Tails', 'www.thaitails.net', 'Asok Towers&amp;lt;br&amp;gt;BLDG 219, Soi Sukhumvit 21, Asok Road&amp;lt;br&amp;gt;Klongtoey Nua, Wattana&amp;lt;br&amp;gt;Bangkok, Thailand 10110', '+66 2 120 9600', 'Jan 30 2016', 0);&lt;br /&gt;
//addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', 'Oct 31-Nov 2 2014', 126);&lt;br /&gt;
addLocation(49.266323,  -123.011509, 'VancouFur', 'vancoufur.ca', 'Executive Hotel &amp;amp; Conference Centre Burnaby&amp;lt;br&amp;gt;4201 Lougheed Hwy&amp;lt;br&amp;gt;Burnaby, British Columbia, V5C 3Y6&amp;lt;br&amp;gt;Canada', '', 'Mar 9-12 2017', 810);&lt;br /&gt;
addLocation(45.499474,   -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 20-22 2016', 439);&lt;br /&gt;
addLocation(40.4612,       -79.7509, 'Western Pennsylvania Furry Weekend', 'wpafw.org', ' North Park Lodge, N Ridge Dr&amp;lt;br&amp;gt;Allison Park, PA 15101&amp;lt;br&amp;gt;USA', '+1 (724) 327-0338', 'Oct 7-9 2016', 133);&lt;br /&gt;
addLocation(35.042611,   -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 21-26 2016', 190);&lt;br /&gt;
addLocation(50.456309,    30.504819, 'WUFF', 'wuff.org.ua', 'Hotel «Sofiyevsky Posad»&amp;lt;br&amp;gt;81/2 Kyivs\'ka Str., Sofiivs\'ka Borshchahivka&amp;lt;br&amp;gt;Kiev, Ukraine', '', 'May 4-8 2016', 160)&lt;br /&gt;
addLocation(44.148964,    12.464516, 'Zampacon', 'zampacon.org', 'Via Ragusa 20&amp;lt;br&amp;gt;Bellaria-Igea Marina (RN)&amp;lt;br&amp;gt;47814 &amp;lt;br&amp;gt;Italy', '', 'Sep 2-6 2016', 60);&lt;br /&gt;
addLocation(47.503095,    12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 23-30 2016', 40);&lt;br /&gt;
addLocation(50.773040,    15.311701, 'ZodiaCon', 'zodiacon.org', 'Vršovská Brána&amp;lt;br&amp;gt;Vršov 19&amp;lt;br&amp;gt;539 53 Horní Bradlo&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 26-29 2016', 74);&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Everywhere (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Japan (&amp;quot;+count_japan+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_JAPAN;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_JAPAN:&lt;br /&gt;
            filter_func = is_in_japan; break;            &lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_japan(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates like &amp;quot;Jan 17 - Feb 2, 2014&amp;quot; into an integer like 20140117 for sorting&lt;br /&gt;
// should accept anything that looks like a date.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
    &amp;quot;use strict&amp;quot;;&lt;br /&gt;
    var x; &lt;br /&gt;
    var v;&lt;br /&gt;
    var y;&lt;br /&gt;
    var day; &lt;br /&gt;
    var month; &lt;br /&gt;
    var year;&lt;br /&gt;
    &lt;br /&gt;
	if (!s) {return 200004001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (x &amp;amp;&amp;amp; x[1]) {&lt;br /&gt;
	    day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	    if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	&lt;br /&gt;
	    switch (x[1]){&lt;br /&gt;
		    case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		    case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		    case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		    case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		    case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		    case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		    case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		    case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		    case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		    case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		    case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		    case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		    default:	month = 20;&lt;br /&gt;
	    }//switch&lt;br /&gt;
	} else {&lt;br /&gt;
	    month = 40;&lt;br /&gt;
	    day = 0;&lt;br /&gt;
	} &lt;br /&gt;
	&lt;br /&gt;
	y = /[0-9]{4}$/.exec(s);&lt;br /&gt;
	if (y) {&lt;br /&gt;
		year = (v=parseInt(y[0]))?v:0;&lt;br /&gt;
    	if (year &amp;gt; 9999) {year = 10000;}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return year * 10000 + month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        markerOpts = {&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: name&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        markerOpts.icon =  (a.attendance &amp;gt;= 5000 ? greenIcon : (a.attendance &amp;gt;= 2500 ? yellowIcon : (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 250 ? purpleIcon : blueIcon ) ) ) );&lt;br /&gt;
        markerOpts.shadow = markerShadow;&lt;br /&gt;
        markerOpts.title = a.name;&lt;br /&gt;
&lt;br /&gt;
        a.marker = new google.maps.Marker(markerOpts);&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            //if we can't see the marker, show it in the center&lt;br /&gt;
            if (!map.getBounds().contains(a.marker.getPosition())){&lt;br /&gt;
                map.panTo(a.marker.getPosition());&lt;br /&gt;
            }&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++; &lt;br /&gt;
        } else if (is_in_japan(a.lat, a.lng)) {&lt;br /&gt;
	    count_japan ++; &lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2016-05-23T22:24:13Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Add convention: CanFURence&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the cog and Share (or check the URL) and copy the first two numbers after the '@' (including the decimal bits). &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_japan = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_JAPAN = 4;&lt;br /&gt;
var FILT_OTHERS = 5;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
function is_in_japan(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var yellowIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/yellow-dot.png&amp;quot;);&lt;br /&gt;
var greenIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/green-dot.png&amp;quot;);&lt;br /&gt;
var markerShadow = new google.maps.MarkerImage(&amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/markers/marker_sprite.png&amp;quot;, new google.maps.Size(37,34), new google.maps.Point(20, 0), new google.maps.Point(10, 34)); &lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
//addLocation(-37.891950,-57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(42.353979,   -71.105356, 'Anthro New England', 'www.anthronewengland.org', 'Hyatt Regency Cambridge, Overlooking Boston&amp;lt;br&amp;gt;575 Memorial Dr&amp;lt;br&amp;gt;Cambridge, MA&amp;lt;br&amp;gt;USA', '1(617) 492-1234', 'Jan 19-22 2017', 965);&lt;br /&gt;
addLocation(40.105846,   -83.017244, 'AnthrOhio', 'anthrohio.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 5-8 2016', 342);&lt;br /&gt;
addLocation(40.444334,   -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jun 30-Jul 3 2016', 6348);&lt;br /&gt;
addLocation(33.548246,  -112.046348, 'Arizona Fur Con', 'Arizonafurcon.com', 'Pointe Hilton Squaw Peak Resort&amp;lt;br&amp;gt;N 16th St&amp;lt;br&amp;gt;Phoenix, Arizona 85020&amp;lt;br&amp;gt;USA', '1(602) 997-2626', 'Sep 30-Oct 2 2016', 725);&lt;br /&gt;
//addLocation(52.597652,   13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 18-21 2015', 89);&lt;br /&gt;
addLocation(39.523177,   -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'May 12-15 2016', 2443);&lt;br /&gt;
addLocation(-23.970691,  -46.329962, 'Brasil FurFest', 'brasilfurfest.com.br', 'Hotel Mercure Santos&amp;lt;br&amp;gt;Av. Washington Luiz, 565&amp;lt;br&amp;gt;Santos (SP)&amp;lt;br&amp;gt;Brazil', '','Sep 9-11 2016');&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
addLocation(34.080577,  -117.762728, 'Califur', 'califur.com', 'Sheraton Fairplex Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;601 W McKinley Ave&amp;lt;br&amp;gt;Pomona, CA 91768&amp;lt;br&amp;gt;USA', '', 'Jun 3-5 2016', 1317);&lt;br /&gt;
addLocation(43.721056,  -121.291552, 'Campfire Tails', 'campfiretails.org', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Aug 4-8 2016', 143);&lt;br /&gt;
addLocation(45.4198698, -75.6989379, 'CanFURence', 'www.canfurence.ca', '185 Slater Street&amp;lt;br&amp;gt;Ottawa ON  K1P OC8&amp;lt;br&amp;gt;Canada', '+1 844-258-6882', 'Nov 11-13 2016', 0);&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439,     -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(37.686355,   -97.342702, 'Central Plains Furcon', 'cpfurcon.com', 'Drury Plaza Hotel Broadview&amp;lt;br&amp;gt;400 West Douglas Ave&amp;lt;br&amp;gt;Wichita, KS 67202&amp;lt;br&amp;gt;USA', '', 'Sep 1-4 2016', 100)&lt;br /&gt;
addLocation(49.638649,    15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jul 6-10 2016', 107);&lt;br /&gt;
//addLocation(23.061687, 113.296423, 'China National Furry Party', 'www.fb.com/CNFP2015', ', Guangzhou&amp;lt;br&amp;gt;China', '', 'Jul 8-19 2015', 40);&lt;br /&gt;
addLocation(50.935659,     6.965116, 'Cologne Furdance', 'www.crosscombined.de', 'Maritim Hotel, Heumarkt 20, 50667 Köln, Germany', '', 'Jul 30 2016', 201); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
//addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 1-3 2014', 251);&lt;br /&gt;
addLocation(-37.820007,  145.013429, 'ConFurgence', 'confurgence.com', 'Amora Hotel Riverwalk&amp;lt;br&amp;gt;649 Bridge Road&amp;lt;br&amp;gt;Richmond, Melbourne, Victoria, 3121&amp;lt;br&amp;gt;Australia', '+61-3-9027-2000', 'Jan 6-8 2017', 681);&lt;br /&gt;
addLocation(52.450713,    -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 27-31 2016', 1228);&lt;br /&gt;
//addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 19-21 2015');&lt;br /&gt;
addLocation(51.844531,    12.208828, 'EAST', 'www.east-convention.de.vu', 'DJH Jugendherberge&amp;lt;br&amp;gt;Ebertallee 151, 06846&amp;lt;br&amp;gt;Dessau-Roßlau&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Jul 13-17 2016');&lt;br /&gt;
addLocation(28.33704,    -81.587777, 'Elliott\'s Live Events', 'elliottsliveevents.org', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(52.474897,    13.459467, 'Eurofurence', 'eurofurence.org', 'Estrel Hotel Berlin&amp;lt;br&amp;gt;Sonnenallee 225&amp;lt;br&amp;gt;12057 Berlin&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 17-21 2016', 2322);&lt;br /&gt;
//addLocation(37.247901, -93.259639, 'F3 Convention', 'www.f3con.com', 'Lamplighter Inn &amp;amp; Suites, North&amp;lt;br&amp;gt;2820 N Glenstone Ave&amp;lt;br&amp;gt;Springfield, MO 65803&amp;lt;br&amp;gt;USA', '+1 (417) 869-3900', 'Nov 20-23 2014', 55);&lt;br /&gt;
addLocation(38.960831,   -77.423238, 'FA: United', 'faunited.org', 'Hyatt Regency Dulles&amp;lt;br&amp;gt;2300 Dulles Corner Blvd.&amp;lt;br&amp;gt;Herndon, Virginia 20171&amp;lt;br&amp;gt;USA', '+1 703 713 1234', 'Aug 12-14 2016', 658);&lt;br /&gt;
addLocation(33.43743,    -86.726235, 'Fangcon', 'fangcon.org', 'Hilton Hotel Perimeter Park&amp;lt;br&amp;gt;8 Perimeter Park S&amp;lt;br&amp;gt;Birmingham, AL 35243&amp;lt;br&amp;gt;USA', '+1 (205) 967-2700', 'Oct 27-31 2016', 427);&lt;br /&gt;
addLocation(45.880449,   -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 25-29 2016', 94);&lt;br /&gt;
addLocation(60.412912,    25.038261, 'FinFur Animus', 'animus.finfur.net', 'Kokoushotelli Gustavelund, Tuusula, Finland', '', 'Jun 16-19 2016', 124);&lt;br /&gt;
//addLocation(62.02209,     30.0185, 'FinFur Summer Camp', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
//addLocation(35.454262, 139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(43.027227,   -88.108102, 'Fur Squared', 'www.fursquared.com', 'Sheraton Milwaukee Brookfield Hotel&amp;lt;br&amp;gt;375 S Moorland Rd&amp;lt;br&amp;gt;Brookfield, WI 53005&amp;lt;br&amp;gt;USA', '+1 (262) 364-1100', 'Feb 26-28 2016', 555);&lt;br /&gt;
addLocation(51.2764173,  -3.0125542, 'Furcation', 'furcation.org.uk', 'Sandy Glade Holiday Park&amp;lt;br&amp;gt;Brean Sands, Somerset&amp;lt;br&amp;gt;UK', '', 'Oct 14-17 2016', 0);&lt;br /&gt;
addLocation(43.9356886, -90.0226165, 'FURconsin', 'www.furconsin.com', 'near Buckhorn Barrens State Natural Area and Castle Rock Lake&amp;lt;br&amp;gt;Necedah, WI 54646&amp;lt;br&amp;gt;USA', 'N/A', 'Oct 6-10 2016');&lt;br /&gt;
addLocation(-41.239835,  174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 5-8 2016', 50);&lt;br /&gt;
addLocation(-23.668839,  -46.577533, 'Furboliche', 'furboliche.com.br', 'Bomboliche Extra Anchieta&amp;lt;br&amp;gt;R. García Lorca, 301&amp;lt;br&amp;gt;S&amp;amp;atilde;o Bernardo do Campo (SP)&amp;lt;br&amp;gt;Brazil', '','Dec 3 2016', 261);&lt;br /&gt;
addLocation(-27.997818,  153.429297, 'FurDU', 'www.furdu.com', 'Outrigger Hotel Surfers Paradise&amp;lt;br&amp;gt;22 View Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'May 27-29 2016', 490);&lt;br /&gt;
addLocation(53.5687483,-113.5238331, 'Fur-eh!', 'fureh.ca', 'Ramada Inn &amp;amp; Conference Center&amp;lt;br&amp;gt;11834 Kingsway Avenue&amp;lt;br&amp;gt;Edmonton, Alberta&amp;lt;br&amp;gt;Canada, T5G 3J5', '+1 (780) 454-5454', 'May 6-8 2016', 472);&lt;br /&gt;
addLocation(-33.859972,  151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Sep 16-18 2016', 227);&lt;br /&gt;
addLocation(45.582910,  -122.575732, 'Furlandia', 'furlandia.org', 'Sheraton Hotel at PDX Airport &amp;lt;br&amp;gt;8235 NE Airport Way&amp;lt;br&amp;gt;Portland, Oregon 97220&amp;lt;br&amp;gt;USA', '+1 (503) 281-2500', 'May 27-29 2016', 463);&lt;br /&gt;
//addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 12-14 2014', 241); //attendance for 2012&lt;br /&gt;
//addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 25 2014', 188);&lt;br /&gt;
addLocation(43.6866,    -79.5893597, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 17-19 2017', 1322);&lt;br /&gt;
addLocation(41.6042521, -72.7027335, 'Furpocalypse', 'furpocalypse.org', 'Radisson Plaza Cromwell&amp;lt;br&amp;gt;100 Berlin Road&amp;lt;br&amp;gt;Cromwell, CT 06416&amp;lt;br&amp;gt;USA', '+1 (888) 233-9527', 'Oct 28-30 2016', 1400);&lt;br /&gt;
addLocation(43.156351,   -77.610020, 'FurryCon', 'www.furrycon.com', 'Radisson Riverside Rochester&amp;lt;br&amp;gt;120 E Main st&amp;lt;br&amp;gt;Rochester, New York&amp;lt;br&amp;gt;USA', '+1 (585) 546-6400', 'Sept 15-18 2016', 294);&lt;br /&gt;
addLocation(28.401971,   -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Nov 5-12 2016', 27);&lt;br /&gt;
addLocation(32.956751,  -96.8252737, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Mar 24-26 2017', 2820);&lt;br /&gt;
//addLocation(1.2987509,  103.8482675, 'Furry Lah', 'furrylah.com', 'Bayview Hotel Singapore&amp;lt;br&amp;gt;30 Bencoolen St&amp;lt;br&amp;gt;Singapore 189621', '+65 6337 2882', 'Nov 28-29 2015');&lt;br /&gt;
addLocation(44.971198,    -93.27774, 'Furry Migration', 'www.furrymigration.org', 'Hyatt Regency Minneapolis&amp;lt;br&amp;gt;1300 Nicollet Mall&amp;lt;br&amp;gt;Minneapolis, Minnesota,&amp;lt;br&amp;gt;USA, 55403', '+1 (612) 370-1234', 'Sept 9-11 2016', 701);&lt;br /&gt;
addLocation(32.9451,    -96.8401881, 'Furry Siesta', 'furrysiesta.com', 'Crowne Plaza – Addison&amp;lt;br&amp;gt;14315 Midway Road&amp;lt;br&amp;gt;Addison, TX 75001&amp;lt;br&amp;gt;USA', '+1 (972) 980-8877', 'Jul 15-16 2016', 306);&lt;br /&gt;
addLocation(33.761999,   -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Apr 6-9 2017', 3252);&lt;br /&gt;
addLocation(52.775556,     6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 31-Apr 3 2017', 57);&lt;br /&gt;
//addLocation(51.40328,     5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66); //ended in 2013.&lt;br /&gt;
addLocation(37.036680,   -76.382842, 'FursonaCon', 'www.fursonacon.com', 'Hampton Roads Convention Center&amp;lt;br&amp;gt;1610 Coliseum Dr&amp;lt;br&amp;gt;Hampton, Virginia&amp;lt;br&amp;gt;USA', '+1 (757) 315-1610', 'Mar 18-20 2016', 1200);&lt;br /&gt;
addLocation(52.588333,        14.65, 'Furstock', 'www.polfurs.org', '', '', 'Jul 14-16 2016', 45);&lt;br /&gt;
addLocation(57.05,         9.916667, 'Furtastic', 'www.furtastic.dk', 'Sondrupvej 58&amp;lt;br&amp;gt;8350 Hundslund&amp;lt;br&amp;gt;Denmark', '', 'Jul 4-7 2016', 50);&lt;br /&gt;
addLocation(37.330294,  -121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 14-18 2016', 3536);&lt;br /&gt;
addLocation(53.509966,  -118.006813, 'Furthest North', 'furthestnorth.ca', 'Wildhay Group Campground&amp;lt;br&amp;gt;north of Hinton&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Sept 2-5 2016', 63);&lt;br /&gt;
//addLocation(3.030592,    101.716738, 'Furum', 'furum.org', 'Mines Wellnes Hotel&amp;lt;br&amp;gt;Jalan Dulang Off The Darul Ehsan&amp;lt;br&amp;gt;Balakong, 43300 Seri Kembangan&amp;lt;br&amp;gt;Selangor&amp;lt;br&amp;gt;Malaysia', '+60 3-8943 6688', 'Dec 19-20 2015');&lt;br /&gt;
//addLocation(53.407281,  -2.989201, 'FurVention', 'furvention.org.uk', 'Aloft Liverpool&amp;lt;br&amp;gt;1 North John Street&amp;lt;br&amp;gt;Liverpool, L2 5QW&amp;lt;br&amp;gt;United Kingdom', '+44 151 294 3970', '22-24 Jan 2016', 64);&lt;br /&gt;
//addLocation(35.559328,   139.723602, 'Fur-st', 'fur-st.com', '志ら井&amp;lt;br&amp;gt;1 Chome-20-28 Minamikamata&amp;lt;br&amp;gt;Ota, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Oct 18 2014', 144);&lt;br /&gt;
addLocation(39.283286,   -84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'Oct 7-9 2016', 382);&lt;br /&gt;
addLocation(38.930864,   -77.245601, 'Fur the \'More', 'furthemore.org', 'Sheraton Premiere at Tysons Corner&amp;lt;br&amp;gt;8661 Leesburg Pike&amp;lt;br&amp;gt;Vienna, VA&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Apr 28-30 2017', 990);&lt;br /&gt;
addLocation(51.93180,        19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 10-14 2016', 93);&lt;br /&gt;
//addLocation(49.8954237,  5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013', 14);&lt;br /&gt;
addLocation(38.6329283,  -90.184827, 'Gateway Furmeet', 'gatewayfurmeet.org', 'Lumière Place Casino and Hotels&amp;lt;br&amp;gt;999 N 2nd St&amp;lt;br&amp;gt;St. Louis, Missouri 63119&amp;lt;br&amp;gt;USA', '+1 (314) 881-7777', 'May 13-15 2016', 223);&lt;br /&gt;
addLocation(54.358288,    18.621243, 'Gdakon', 'gdakon.org', 'Amber Hotel&amp;lt;br&amp;gt;Gdańsk&amp;lt;br&amp;gt;Poland', '', 'March 9-13 2016', 157);&lt;br /&gt;
addLocation(42.404360,   -86.243710, 'Great Lakes Fur Con', 'greatlakesfurcon.com', 'Holiday Inn Express South Grand Rapids&amp;lt;br&amp;gt;6569 Clay Avenue SW&amp;lt;br&amp;gt;Grand Rapids, MI. 49548&amp;lt;br&amp;gt;USA', '+1 (616) 871-9700', 'May 27-29 2016', 323);&lt;br /&gt;
addLocation(47.35016,       7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Nov 3-6 2016');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,     8.826463, 'H-Con', 'h-con.org', 'Petershof&amp;lt;br&amp;gt;Talweg 5&amp;lt;br&amp;gt;64711 Erbach/Erbuch&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Sep 28-Oct 2 2016', 64);&lt;br /&gt;
addLocation(49.26716,   -123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', '2016', 278);&lt;br /&gt;
//addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Oct 11-13 2013');&lt;br /&gt;
//addLocation(25.034847,   121.546979, 'Infurnity', 'infurnity.com', 'SMAJO House&amp;lt;br&amp;gt;Ln. 279, Sec. 1, Fuxing S. Rd.&amp;lt;br&amp;gt;Da’an Dist., Taipei', '', 'Oct 31 2015', 62); // first Taiwan furcon&lt;br /&gt;
addLocation(39.797248,   -86.041109, 'IndyFurCon', 'indyfurcon.com', 'Indianapolis Marriott East&amp;lt;br&amp;gt;7202 E 21st St&amp;lt;br&amp;gt;Indianapolis, IN 46219&amp;lt;br&amp;gt;USA', '+1 (317) 352-1231', 'Aug 26-28 2016', 735);&lt;br /&gt;
addLocation(33.643368,  -112.119356, 'Itty Bitty FurCon', 'ittybittyfurcon.com', 'La Princesa&amp;lt;br&amp;gt;2710 W Bell Road #1205&amp;lt;br&amp;gt;Phoenix, AZ 85053&amp;lt;br&amp;gt;USA', '+1 (602) 518-5990', 'Jul 17 2016', 0);&lt;br /&gt;
addLocation(34.743463,   137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 6-8 2017', 588);&lt;br /&gt;
addLocation(25.00814,     121.53604, 'Kemono &amp;amp; Jingai Only 2', 'jk2016.furry.tw', 'Jhongjheng Hall&amp;lt;br&amp;gt;88 Tingzhou Road Section 4&amp;lt;br&amp;gt;Wenshan District&amp;lt;br&amp;gt;Taipei City 116&amp;lt;br&amp;gt;Taiwan&amp;lt;br&amp;gt;116台北市文山區汀州路四段88號', '', 'Jul 16 2016', 0); // The name of the hall at http://en.ntnu.edu.tw/gongguan-campus.php#tab-1 seems to be in Tongyong Pinyin, while the street address seems to be in Hanyu Pinyin?&lt;br /&gt;
//addLocation(35.3334755, 139.9891955, 'Kemocon', 'www.kemocon.com', 'Kasuza Akademia Hall&amp;lt;br&amp;gt;2 Chome-3-9 Kazusakamatari&amp;lt;br&amp;gt;Kisarazu, Chiba Prefecture&amp;lt;br&amp;gt;Japan', '', 'Nov 21-22 2015', 420);&lt;br /&gt;
addLocation(34.985692,   138.417148, 'Kemono Square', 'kemono-square.com', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 4 2016', 107);&lt;br /&gt;
//addLocation(35.654685, 139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);  //259 vendors from 246 circles confirmed for 2014&lt;br /&gt;
//addLocation(34.6693,   135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2014', 0);&lt;br /&gt;
//addLocation(35.1584991, 136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 29, 2015', 141); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(47.336284,    12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Jul 9-16 2016', 40);&lt;br /&gt;
addLocation(28.455824,   -81.306028, 'Megaplex', 'megaplexcon.org', 'Embassy Suites Orlando Lake Buena Vista South&amp;lt;br&amp;gt;4955 Kyngs Heath Road&amp;lt;br&amp;gt;Kissimmee, Florida, 34746&amp;lt;br&amp;gt;USA', '+1 (407) 851-9000', 'Aug 5-Aug 7 2016', 1472);&lt;br /&gt;
addLocation(34.966572,   -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Sep 2-Sep 4 2016', 432);&lt;br /&gt;
addLocation(50.825484,     7.887068, 'Mephit Mini Con', 'mmc.furcon.eu', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May 12-16 2016', 200);&lt;br /&gt;
//addLocation(35.656854,139.7351909, 'Metamore Generation V', 'www.metamor.jp', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(41.981284,   -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Dec 1-4 2016', 5606);&lt;br /&gt;
//addLocation(35.754914,139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', '', 'May 2 2015', 66); //only attendees signed up from Twipla - 6 people over venue capacity&lt;br /&gt;
addLocation(13.705699,   100.604295, 'Morph Parade', 'fb.me/MOFU.PARADE', 'KV Mansion&amp;lt;br&amp;gt;90 สุขุมวิท 81 บางจาก&amp;lt;br&amp;gt;[Near BTS On-Nut station]&amp;lt;br&amp;gt;Bangkok 10260&amp;lt;br&amp;gt;Thailand', '+66 2-33 222 11', 'Oct 29 2016');&lt;br /&gt;
addLocation(42.443047,   -83.435667, 'Motor City Furry Con', 'motorcityfurrycon.org', '21111 Haggerty Road&amp;lt;br&amp;gt;Novi, MI 48375&amp;lt;br&amp;gt;USA', '+1 (248) 349-4000', 'Apr 7-9 2017', 1028);&lt;br /&gt;
//addLocation(41.846166, -87.942571, 'New Year\'s Eve Con', 'newyearsevecon.com', 'Residence Inn Oak Brook&amp;lt;br&amp;gt;790 Jorie Boulevard&amp;lt;br&amp;gt;Oak Brook, IL 60523&amp;lt;br&amp;gt;USA', '+1 (630) 571-1200', 'Dec 31 2015-Jan 1 2016', 100);&lt;br /&gt;
//addLocation(39.65924,   -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 31 2015-Jan 1 2016', 211) &lt;br /&gt;
addLocation(58.9143217,   17.953672, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Utsikten Meetings Hotel&amp;lt;br&amp;gt;Nynäshamn&amp;lt;br&amp;gt;Sweden', '', 'Mar 9-12 2017', 513);&lt;br /&gt;
//addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 29-Nov 1 2014', 352);&lt;br /&gt;
addLocation(-31.944444,  115.863842, 'FurWAG', 'furwag.com.au', 'Hotel Ibis Styles Perth&amp;lt;br&amp;gt;15 Robinson Avenue&amp;lt;br&amp;gt;Northbridge 6003&amp;lt;br&amp;gt;Western Australia', '+61 8 9328 0000', 'Sept 30-Oct 2 2016', 177);&lt;br /&gt;
//addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 22-25 2016', 2704);&lt;br /&gt;
addLocation(-27.467778,  153.027778, 'RivFur', 'www.southbankfurmeet.com/home/m/36617225/article/3714600', 'Brisbane, Queensland, Australia', '', 'Jul 29-31, 2016', 200);&lt;br /&gt;
addLocation(39.762235,  -104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Doubletree Hotel Denver&amp;lt;br&amp;gt;3203 Quebec Street&amp;lt;br&amp;gt;Denver, Colorado 80207&amp;lt;br&amp;gt;USA', '+1 (303) 321-3333', 'Aug 12-14 2016', 1640);&lt;br /&gt;
addLocation(56.050627,    36.823576, 'Rusfurence', 'rusfurence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 3-7 2016', 286);&lt;br /&gt;
addLocation(57.478307,     -4.22672, 'ScotiaCon', 'scotiacon.co.uk', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Nov 4-6 2016', 152);&lt;br /&gt;
addLocation(31.27268,     121.55447, 'Shanghai Furry Summer Festival', 'furryeventchina.top', 'Jinqianbao Hotel&amp;lt;br&amp;gt;2866 Yangshupu Rd&amp;lt;br&amp;gt;Shanghai, China&amp;lt;br&amp;gt;中国上海市杨树浦路2866号金钱豹大酒店', '', 'Jul 23 2016', null); // co-located with Shanghai Jingai Only 2016. At the Golden Leopard hotel. Website down for maintenance every day 3am-5am Beijing Time (3pm-5pm U.S./Canada Eastern Daylight Savings Time).&lt;br /&gt;
//addLocation(-26.201,       28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(13.746076,   100.562432, 'Thai Tails', 'www.thaitails.net', 'Asok Towers&amp;lt;br&amp;gt;BLDG 219, Soi Sukhumvit 21, Asok Road&amp;lt;br&amp;gt;Klongtoey Nua, Wattana&amp;lt;br&amp;gt;Bangkok, Thailand 10110', '+66 2 120 9600', 'Jan 30 2016', 0);&lt;br /&gt;
//addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', 'Oct 31-Nov 2 2014', 126);&lt;br /&gt;
addLocation(49.266323,  -123.011509, 'VancouFur', 'vancoufur.ca', 'Executive Hotel &amp;amp; Conference Centre Burnaby&amp;lt;br&amp;gt;4201 Lougheed Hwy&amp;lt;br&amp;gt;Burnaby, British Columbia, V5C 3Y6&amp;lt;br&amp;gt;Canada', '', 'Mar 9-12 2017', 810);&lt;br /&gt;
addLocation(45.499474,   -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 20-22 2016', 373);&lt;br /&gt;
addLocation(40.4612,       -79.7509, 'Western Pennsylvania Furry Weekend', 'wpafw.org', ' North Park Lodge, N Ridge Dr&amp;lt;br&amp;gt;Allison Park, PA 15101&amp;lt;br&amp;gt;USA', '+1 (724) 327-0338', 'Oct 7-9 2016', 133);&lt;br /&gt;
addLocation(35.042611,   -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 21-26 2016', 190);&lt;br /&gt;
addLocation(50.456309,    30.504819, 'WUFF', 'wuff.org.ua', 'Hotel «Sofiyevsky Posad»&amp;lt;br&amp;gt;81/2 Kyivs\'ka Str., Sofiivs\'ka Borshchahivka&amp;lt;br&amp;gt;Kiev, Ukraine', '', 'May 4-8 2016', 160)&lt;br /&gt;
addLocation(44.520806,    11.401609, 'Zampacon', 'zampacon.org', 'Ostello SanSisto&amp;lt;br&amp;gt;via Viadagola 5&amp;lt;br&amp;gt;Bologna, 40127&amp;lt;br&amp;gt;Italy', '', 'Sep 2-6 2016', 60);&lt;br /&gt;
addLocation(47.503095,    12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 23-30 2016', 40);&lt;br /&gt;
addLocation(50.773040,    15.311701, 'ZodiaCon', 'zodiacon.org', 'Vršovská Brána&amp;lt;br&amp;gt;Vršov 19&amp;lt;br&amp;gt;539 53 Horní Bradlo&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 26-29 2016', 74);&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Everywhere (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Japan (&amp;quot;+count_japan+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_JAPAN;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_JAPAN:&lt;br /&gt;
            filter_func = is_in_japan; break;            &lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_japan(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates like &amp;quot;Jan 17 - Feb 2, 2014&amp;quot; into an integer like 20140117 for sorting&lt;br /&gt;
// should accept anything that looks like a date.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
    &amp;quot;use strict&amp;quot;;&lt;br /&gt;
    var x; &lt;br /&gt;
    var v;&lt;br /&gt;
    var y;&lt;br /&gt;
    var day; &lt;br /&gt;
    var month; &lt;br /&gt;
    var year;&lt;br /&gt;
    &lt;br /&gt;
	if (!s) {return 200004001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (x &amp;amp;&amp;amp; x[1]) {&lt;br /&gt;
	    day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	    if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	&lt;br /&gt;
	    switch (x[1]){&lt;br /&gt;
		    case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		    case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		    case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		    case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		    case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		    case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		    case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		    case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		    case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		    case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		    case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		    case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		    default:	month = 20;&lt;br /&gt;
	    }//switch&lt;br /&gt;
	} else {&lt;br /&gt;
	    month = 40;&lt;br /&gt;
	    day = 0;&lt;br /&gt;
	} &lt;br /&gt;
	&lt;br /&gt;
	y = /[0-9]{4}$/.exec(s);&lt;br /&gt;
	if (y) {&lt;br /&gt;
		year = (v=parseInt(y[0]))?v:0;&lt;br /&gt;
    	if (year &amp;gt; 9999) {year = 10000;}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return year * 10000 + month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        markerOpts = {&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: name&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        markerOpts.icon =  (a.attendance &amp;gt;= 5000 ? greenIcon : (a.attendance &amp;gt;= 2500 ? yellowIcon : (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 250 ? purpleIcon : blueIcon ) ) ) );&lt;br /&gt;
        markerOpts.shadow = markerShadow;&lt;br /&gt;
        markerOpts.title = a.name;&lt;br /&gt;
&lt;br /&gt;
        a.marker = new google.maps.Marker(markerOpts);&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            //if we can't see the marker, show it in the center&lt;br /&gt;
            if (!map.getBounds().contains(a.marker.getPosition())){&lt;br /&gt;
                map.panTo(a.marker.getPosition());&lt;br /&gt;
            }&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++; &lt;br /&gt;
        } else if (is_in_japan(a.lat, a.lng)) {&lt;br /&gt;
	    count_japan ++; &lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Talk:Convention_map_script</id>
		<title>Talk:Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Talk:Convention_map_script"/>
				<updated>2016-04-20T01:34:38Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This script is imported by http://greenreaper.co.uk/wikifur/ConventionMap.html - feel free to update as appropriate, but make sure you didn't break it! :-) --[[User:GreenReaper|GreenReaper]]&amp;lt;sup&amp;gt;([[User talk:GreenReaper|talk]])&amp;lt;/sup&amp;gt; 02:51, 5 November 2006 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Objective? ==&lt;br /&gt;
&lt;br /&gt;
This map script is here as a subpage of the [[:en:List of conventions by attendance|list of conventions by attendance]], but I see no attendance information in the map. What would be the objective of the map, here? List only the conventions locations; or also list their dates, or attendance? Also, isn't it interesting to remove past events such as [[:en:C-ACE|C-ACE]]? Thanks. [[User:Ekevu|Ekevu]] 16:48, 23 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
:There is not intended to be any attendance figures on the map - it's only meant to have the addresses and locations on it, though adding more information like dates would be fine as long as people kept it updated. This was simply the best place I could think of putting it, since it has a complete list of conventions here (I worked off that when I was creating the map). Not sure what you mean by &amp;quot;isn't it interesting&amp;quot; . . . but sure, if an event is gone, it should be removed, or alternatively we should figure out a way to separate current and past conventions. --[[User:GreenReaper|GreenReaper]]&amp;lt;sup&amp;gt;([[User talk:GreenReaper|talk]])&amp;lt;/sup&amp;gt; 16:55, 23 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: Actually I was looking for a convention close to Toronto between November and January, and I kind of missed this information. It's not like there is that many events anyway, that was more of a rant than real suggesting/complaining. I was just wondering why it's in &amp;quot;list of conventions by attendance&amp;quot;. [[User:Ekevu|Ekevu]] 18:30, 23 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::Well, it's on the front page as well, at the bottom of Upcoming Events. :-) The link to edit it is here because I created it from this list. --[[User:GreenReaper|GreenReaper]]&amp;lt;sup&amp;gt;([[User talk:GreenReaper|talk]])&amp;lt;/sup&amp;gt; 18:39, 23 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Discussion that happened on Twitter today (because I couldn't keep my suggestions on wiki) ==&lt;br /&gt;
&lt;br /&gt;
A discussion about the convention map's handling of year values, starting here: https://twitter.com/Kidakins/status/722467931767103488 --[[User:Kakurady|Kakurady]] ([[User talk:Kakurady|talk]]) 21:34, 19 April 2016 (EDT)&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Talk:Convention_map_script</id>
		<title>Talk:Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Talk:Convention_map_script"/>
				<updated>2016-04-20T01:34:25Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: /* Discussion that happened on Twitter today (because I couldn't keep my suggestions on wiki) */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This script is imported by http://greenreaper.co.uk/wikifur/ConventionMap.html - feel free to update as appropriate, but make sure you didn't break it! :-) --[[User:GreenReaper|GreenReaper]]&amp;lt;sup&amp;gt;([[User talk:GreenReaper|talk]])&amp;lt;/sup&amp;gt; 02:51, 5 November 2006 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Objective? ==&lt;br /&gt;
&lt;br /&gt;
This map script is here as a subpage of the [[:en:List of conventions by attendance|list of conventions by attendance]], but I see no attendance information in the map. What would be the objective of the map, here? List only the conventions locations; or also list their dates, or attendance? Also, isn't it interesting to remove past events such as [[:en:C-ACE|C-ACE]]? Thanks. [[User:Ekevu|Ekevu]] 16:48, 23 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
:There is not intended to be any attendance figures on the map - it's only meant to have the addresses and locations on it, though adding more information like dates would be fine as long as people kept it updated. This was simply the best place I could think of putting it, since it has a complete list of conventions here (I worked off that when I was creating the map). Not sure what you mean by &amp;quot;isn't it interesting&amp;quot; . . . but sure, if an event is gone, it should be removed, or alternatively we should figure out a way to separate current and past conventions. --[[User:GreenReaper|GreenReaper]]&amp;lt;sup&amp;gt;([[User talk:GreenReaper|talk]])&amp;lt;/sup&amp;gt; 16:55, 23 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: Actually I was looking for a convention close to Toronto between November and January, and I kind of missed this information. It's not like there is that many events anyway, that was more of a rant than real suggesting/complaining. I was just wondering why it's in &amp;quot;list of conventions by attendance&amp;quot;. [[User:Ekevu|Ekevu]] 18:30, 23 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::Well, it's on the front page as well, at the bottom of Upcoming Events. :-) The link to edit it is here because I created it from this list. --[[User:GreenReaper|GreenReaper]]&amp;lt;sup&amp;gt;([[User talk:GreenReaper|talk]])&amp;lt;/sup&amp;gt; 18:39, 23 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Discussion that happened on Twitter today (because I couldn't keep my suggestions on wiki) ==&lt;br /&gt;
&lt;br /&gt;
A discussion about the convention map's handling of date, starting here: https://twitter.com/Kidakins/status/722467931767103488 --[[User:Kakurady|Kakurady]] ([[User talk:Kakurady|talk]]) 21:34, 19 April 2016 (EDT)&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2016-04-20T01:30:55Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: parse years.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the cog and Share (or check the URL) and copy the first two numbers after the '@' (including the decimal bits). &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_japan = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_JAPAN = 4;&lt;br /&gt;
var FILT_OTHERS = 5;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
function is_in_japan(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var yellowIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/yellow-dot.png&amp;quot;);&lt;br /&gt;
var greenIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/green-dot.png&amp;quot;);&lt;br /&gt;
var markerShadow = new google.maps.MarkerImage(&amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/markers/marker_sprite.png&amp;quot;, new google.maps.Size(37,34), new google.maps.Point(20, 0), new google.maps.Point(10, 34)); &lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
//addLocation(-37.891950,-57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(42.353979,   -71.105356, 'Anthro New England', 'www.anthronewengland.org', 'Hyatt Regency Cambridge, Overlooking Boston&amp;lt;br&amp;gt;575 Memorial Dr&amp;lt;br&amp;gt;Cambridge, MA&amp;lt;br&amp;gt;USA', '1(617) 492-1234', 'Jan 19-22 2017', 965);&lt;br /&gt;
addLocation(40.105846,   -83.017244, 'AnthrOhio', 'anthrohio.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 5-8 2016', 342);&lt;br /&gt;
addLocation(40.444334,   -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jun 30-Jul 3 2016', 6348);&lt;br /&gt;
addLocation(33.548246,  -112.046348, 'Arizona Fur Con', 'Arizonafurcon.com', 'Pointe Hilton Squaw Peak Resort&amp;lt;br&amp;gt;N 16th St&amp;lt;br&amp;gt;Phoenix, Arizona 85020&amp;lt;br&amp;gt;USA', '1(602) 997-2626', 'Sep 30-Oct 2 2016', 725);&lt;br /&gt;
//addLocation(52.597652,   13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 18-21 2015', 89);&lt;br /&gt;
addLocation(39.523177,   -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'May 12-15 2016', 2443);&lt;br /&gt;
addLocation(-23.970691,  -46.329962, 'Brasil FurFest', 'brasilfurfest.com.br', 'Hotel Mercure Santos&amp;lt;br&amp;gt;Av. Washington Luiz, 565&amp;lt;br&amp;gt;Santos (SP)&amp;lt;br&amp;gt;Brazil', '','Sep 9-11 2016');&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
addLocation(34.080577,  -117.762728, 'Califur', 'califur.com', 'Sheraton Fairplex Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;601 W McKinley Ave&amp;lt;br&amp;gt;Pomona, CA 91768&amp;lt;br&amp;gt;USA', '', 'Jun 3-5 2016', 1317);&lt;br /&gt;
addLocation(43.721056,  -121.291552, 'Campfire Tails', 'campfiretails.org', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Aug 4-8 2016', 143);&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439,     -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(37.686355,   -97.342702, 'Central Plains Furcon', 'cpfurcon.com', 'Drury Plaza Hotel Broadview&amp;lt;br&amp;gt;400 West Douglas Ave&amp;lt;br&amp;gt;Wichita, KS 67202&amp;lt;br&amp;gt;USA', '', 'Sep 1-4 2016', 100)&lt;br /&gt;
addLocation(49.638649,    15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jul 6-10 2016', 107);&lt;br /&gt;
//addLocation(23.061687, 113.296423, 'China National Furry Party', 'www.fb.com/CNFP2015', ', Guangzhou&amp;lt;br&amp;gt;China', '', 'Jul 8-19 2015', 40);&lt;br /&gt;
addLocation(50.935659,     6.965116, 'Cologne Furdance', 'www.crosscombined.de', 'Maritim Hotel, Heumarkt 20, 50667 Köln, Germany', '', 'Jul 30 2016', 201); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
//addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 1-3 2014', 251);&lt;br /&gt;
addLocation(-37.820007,  145.013429, 'ConFurgence', 'confurgence.com', 'Amora Hotel Riverwalk&amp;lt;br&amp;gt;649 Bridge Road&amp;lt;br&amp;gt;Richmond, Melbourne, Victoria, 3121&amp;lt;br&amp;gt;Australia', '+61-3-9027-2000', 'Jan 6-8 2017', 681);&lt;br /&gt;
addLocation(52.450713,    -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 27-31 2016', 1228);&lt;br /&gt;
//addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 19-21 2015');&lt;br /&gt;
addLocation(51.844531,    12.208828, 'EAST', 'www.east-convention.de.vu', 'DJH Jugendherberge&amp;lt;br&amp;gt;Ebertallee 151, 06846&amp;lt;br&amp;gt;Dessau-Roßlau&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Jul 13-17 2016');&lt;br /&gt;
addLocation(28.33704,    -81.587777, 'Elliott\'s Live Events', 'elliottsliveevents.org', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(52.474897,    13.459467, 'Eurofurence', 'eurofurence.org', 'Estrel Hotel Berlin&amp;lt;br&amp;gt;Sonnenallee 225&amp;lt;br&amp;gt;12057 Berlin&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 17-21 2016', 2322);&lt;br /&gt;
//addLocation(37.247901, -93.259639, 'F3 Convention', 'www.f3con.com', 'Lamplighter Inn &amp;amp; Suites, North&amp;lt;br&amp;gt;2820 N Glenstone Ave&amp;lt;br&amp;gt;Springfield, MO 65803&amp;lt;br&amp;gt;USA', '+1 (417) 869-3900', 'Nov 20-23 2014', 55);&lt;br /&gt;
addLocation(38.960831,   -77.423238, 'FA: United', 'faunited.org', 'Hyatt Regency Dulles&amp;lt;br&amp;gt;2300 Dulles Corner Blvd.&amp;lt;br&amp;gt;Herndon, Virginia 20171&amp;lt;br&amp;gt;USA', '+1 703 713 1234', 'Aug 12-14 2016', 658);&lt;br /&gt;
addLocation(33.43743,    -86.726235, 'Fangcon', 'fangcon.org', 'Hilton Hotel Perimeter Park&amp;lt;br&amp;gt;8 Perimeter Park S&amp;lt;br&amp;gt;Birmingham, AL 35243&amp;lt;br&amp;gt;USA', '+1 (205) 967-2700', 'Oct 27-31 2016', 427);&lt;br /&gt;
addLocation(45.880449,   -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 25-29 2016', 94);&lt;br /&gt;
addLocation(60.412912,    25.038261, 'FinFur Animus', 'animus.finfur.net', 'Kokoushotelli Gustavelund, Tuusula, Finland', '', 'Jun 16-19 2016', 124);&lt;br /&gt;
//addLocation(62.02209,     30.0185, 'FinFur Summer Camp', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
//addLocation(35.454262, 139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(43.027227,   -88.108102, 'Fur Squared', 'www.fursquared.com', 'Sheraton Milwaukee Brookfield Hotel&amp;lt;br&amp;gt;375 S Moorland Rd&amp;lt;br&amp;gt;Brookfield, WI 53005&amp;lt;br&amp;gt;USA', '+1 (262) 364-1100', 'Feb 26-28 2016', 555);&lt;br /&gt;
addLocation(51.2764173,  -3.0125542, 'Furcation', 'furcation.org.uk', 'Sandy Glade Holiday Park&amp;lt;br&amp;gt;Brean Sands, Somerset&amp;lt;br&amp;gt;UK', '', 'Oct 14-17 2016', 0);&lt;br /&gt;
addLocation(43.9356886, -90.0226165, 'FURconsin', 'www.furconsin.com', 'near Buckhorn Barrens State Natural Area and Castle Rock Lake&amp;lt;br&amp;gt;Necedah, WI 54646&amp;lt;br&amp;gt;USA', 'N/A', 'Oct 6-10 2016');&lt;br /&gt;
addLocation(-41.239835,  174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 5-8 2016', 50);&lt;br /&gt;
addLocation(-23.668839,  -46.577533, 'Furboliche', 'furboliche.com.br', 'Bomboliche Extra Anchieta&amp;lt;br&amp;gt;R. García Lorca, 301&amp;lt;br&amp;gt;S&amp;amp;atilde;o Bernardo do Campo (SP)&amp;lt;br&amp;gt;Brazil', '','Dec 3 2016', 261);&lt;br /&gt;
addLocation(-27.997818,  153.429297, 'FurDU', 'www.furdu.com', 'Outrigger Hotel Surfers Paradise&amp;lt;br&amp;gt;22 View Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'May 27-29 2016', 490);&lt;br /&gt;
addLocation(53.5687483,-113.5238331, 'Fur-eh!', 'fureh.ca', 'Ramada Inn &amp;amp; Conference Center&amp;lt;br&amp;gt;11834 Kingsway Avenue&amp;lt;br&amp;gt;Edmonton, Alberta&amp;lt;br&amp;gt;Canada, T5G 3J5', '+1 (780) 454-5454', 'May 6-8 2016', 472);&lt;br /&gt;
addLocation(-33.859972,  151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Sep 16-18 2016', 227);&lt;br /&gt;
addLocation(45.582910,  -122.575732, 'Furlandia', 'furlandia.org', 'Sheraton Hotel at PDX Airport &amp;lt;br&amp;gt;8235 NE Airport Way&amp;lt;br&amp;gt;Portland, Oregon 97220&amp;lt;br&amp;gt;USA', '+1 (503) 281-2500', 'May 27-29 2016', 463);&lt;br /&gt;
//addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 12-14 2014', 241); //attendance for 2012&lt;br /&gt;
//addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 25 2014', 188);&lt;br /&gt;
addLocation(43.6866,    -79.5893597, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 17-19 2017', 1322);&lt;br /&gt;
addLocation(41.6042521, -72.7027335, 'Furpocalypse', 'furpocalypse.org', 'Radisson Plaza Cromwell&amp;lt;br&amp;gt;100 Berlin Road&amp;lt;br&amp;gt;Cromwell, CT 06416&amp;lt;br&amp;gt;USA', '+1 (888) 233-9527', 'Oct 28-30 2016', 1400);&lt;br /&gt;
addLocation(43.156351,   -77.610020, 'FurryCon', 'www.furrycon.com', 'Radisson Riverside Rochester&amp;lt;br&amp;gt;120 E Main st&amp;lt;br&amp;gt;Rochester, New York&amp;lt;br&amp;gt;USA', '+1 (585) 546-6400', 'Sept 15-18 2016', 294);&lt;br /&gt;
addLocation(28.401971,   -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Nov 5-12 2016', 27);&lt;br /&gt;
addLocation(32.956751,  -96.8252737, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Mar 24-26 2017', 2820);&lt;br /&gt;
addLocation(1.2987509,  103.8482675, 'Furry Lah', 'furrylah.com', 'Bayview Hotel Singapore&amp;lt;br&amp;gt;30 Bencoolen St&amp;lt;br&amp;gt;Singapore 189621', '+65 6337 2882', 'Nov 28-29 2015');&lt;br /&gt;
addLocation(44.971198,    -93.27774, 'Furry Migration', 'www.furrymigration.org', 'Hyatt Regency Minneapolis&amp;lt;br&amp;gt;1300 Nicollet Mall&amp;lt;br&amp;gt;Minneapolis, Minnesota,&amp;lt;br&amp;gt;USA, 55403', '+1 (612) 370-1234', 'Sept 9-11 2016', 701);&lt;br /&gt;
addLocation(32.9451,    -96.8401881, 'Furry Siesta', 'furrysiesta.com', 'Crowne Plaza – Addison&amp;lt;br&amp;gt;14315 Midway Road&amp;lt;br&amp;gt;Addison, TX 75001&amp;lt;br&amp;gt;USA', '+1 (972) 980-8877', 'Jul 15-16 2016', 306);&lt;br /&gt;
addLocation(33.761999,   -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Apr 6-9 2017', 3252);&lt;br /&gt;
addLocation(52.775556,     6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 31-Apr 3 2017', 57);&lt;br /&gt;
//addLocation(51.40328,     5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66); //ended in 2013.&lt;br /&gt;
addLocation(37.036680,   -76.382842, 'FursonaCon', 'www.fursonacon.com', 'Hampton Roads Convention Center&amp;lt;br&amp;gt;1610 Coliseum Dr&amp;lt;br&amp;gt;Hampton, Virginia&amp;lt;br&amp;gt;USA', '+1 (757) 315-1610', 'Mar 18-20 2016', 1200);&lt;br /&gt;
addLocation(52.588333,        14.65, 'Furstock', 'www.polfurs.org', '', '', 'Jul 14-16 2016', 45);&lt;br /&gt;
addLocation(57.05,         9.916667, 'Furtastic', 'www.furtastic.dk', 'Sondrupvej 58&amp;lt;br&amp;gt;8350 Hundslund&amp;lt;br&amp;gt;Denmark', '', 'Jul 4-7 2016', 50);&lt;br /&gt;
addLocation(37.330294,  -121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 14-18 2016', 3536);&lt;br /&gt;
addLocation(53.509966,  -118.006813, 'Furthest North', 'furthestnorth.ca', 'Wildhay Group Campground&amp;lt;br&amp;gt;north of Hinton&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Sept 2-5 2016', 63);&lt;br /&gt;
addLocation(3.030592,    101.716738, 'Furum', 'furum.org', 'Mines Wellnes Hotel&amp;lt;br&amp;gt;Jalan Dulang Off The Darul Ehsan&amp;lt;br&amp;gt;Balakong, 43300 Seri Kembangan&amp;lt;br&amp;gt;Selangor&amp;lt;br&amp;gt;Malaysia', '+60 3-8943 6688', 'Dec 19-20 2015');&lt;br /&gt;
//addLocation(53.407281,  -2.989201, 'FurVention', 'furvention.org.uk', 'Aloft Liverpool&amp;lt;br&amp;gt;1 North John Street&amp;lt;br&amp;gt;Liverpool, L2 5QW&amp;lt;br&amp;gt;United Kingdom', '+44 151 294 3970', '22-24 Jan 2016', 64);&lt;br /&gt;
addLocation(35.559328,   139.723602, 'Fur-st', 'fur-st.com', '志ら井&amp;lt;br&amp;gt;1 Chome-20-28 Minamikamata&amp;lt;br&amp;gt;Ota, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Oct 18 2014', 144);&lt;br /&gt;
addLocation(39.283286,   -84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'Oct 7-9 2016', 382);&lt;br /&gt;
addLocation(38.930864,   -77.245601, 'Fur the \'More', 'furthemore.org', 'Sheraton Premiere at Tysons Corner&amp;lt;br&amp;gt;8661 Leesburg Pike&amp;lt;br&amp;gt;Vienna, VA&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Apr 28-30 2017', 990);&lt;br /&gt;
addLocation(51.93180,        19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 10-14 2016', 93);&lt;br /&gt;
//addLocation(49.8954237,  5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013', 14);&lt;br /&gt;
addLocation(38.6329283,  -90.184827, 'Gateway Furmeet', 'gatewayfurmeet.org', 'Lumière Place Casino and Hotels&amp;lt;br&amp;gt;999 N 2nd St&amp;lt;br&amp;gt;St. Louis, Missouri 63119&amp;lt;br&amp;gt;USA', '+1 (314) 881-7777', 'May 13-15 2016', 223);&lt;br /&gt;
addLocation(54.358288,    18.621243, 'Gdakon', 'gdakon.org', 'Amber Hotel&amp;lt;br&amp;gt;Gdańsk&amp;lt;br&amp;gt;Poland', '', 'March 9-13 2016', 157);&lt;br /&gt;
addLocation(42.404360,   -86.243710, 'Great Lakes Fur Con', 'greatlakesfurcon.com', 'Holiday Inn Express South Grand Rapids&amp;lt;br&amp;gt;6569 Clay Avenue SW&amp;lt;br&amp;gt;Grand Rapids, MI. 49548&amp;lt;br&amp;gt;USA', '+1 (616) 871-9700', 'May 27-29 2016', 323);&lt;br /&gt;
addLocation(47.35016,       7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Oct 29-Nov 1 2015');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,     8.826463, 'H-Con', 'h-con.org', 'Petershof&amp;lt;br&amp;gt;Talweg 5&amp;lt;br&amp;gt;64711 Erbach/Erbuch&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Sep 28-Oct 2 2016', 64);&lt;br /&gt;
addLocation(49.26716,   -123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', '2016', 278);&lt;br /&gt;
//addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Oct 11-13 2013');&lt;br /&gt;
addLocation(25.034847,   121.546979, 'Infurnity', 'infurnity.com', 'SMAJO House&amp;lt;br&amp;gt;Ln. 279, Sec. 1, Fuxing S. Rd.&amp;lt;br&amp;gt;Da’an Dist., Taipei', '', 'Oct 31 2015', 62); // first Taiwan furcon&lt;br /&gt;
addLocation(39.797248,   -86.041109, 'IndyFurCon', 'indyfurcon.com', 'Indianapolis Marriott East&amp;lt;br&amp;gt;7202 E 21st St&amp;lt;br&amp;gt;Indianapolis, IN 46219&amp;lt;br&amp;gt;USA', '+1 (317) 352-1231', 'Aug 26-28 2016', 735);&lt;br /&gt;
addLocation(34.743463,   137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 6-8 2017', 588);&lt;br /&gt;
addLocation(25.00814,     121.53604, 'Kemono &amp;amp; Jingai Only 2', 'jk2016.furry.tw', 'Jhongjheng Hall&amp;lt;br&amp;gt;88 Tingzhou Road Section 4&amp;lt;br&amp;gt;Wenshan District&amp;lt;br&amp;gt;Taipei City 116&amp;lt;br&amp;gt;Taiwan&amp;lt;br&amp;gt;116台北市文山區汀州路四段88號', '', 'Jul 16 2016', 0); // The name of the hall at http://en.ntnu.edu.tw/gongguan-campus.php#tab-1 seems to be in Tongyong Pinyin, while the street address seems to be in Hanyu Pinyin?&lt;br /&gt;
addLocation(35.3334755, 139.9891955, 'Kemocon', 'www.kemocon.com', 'Kasuza Akademia Hall&amp;lt;br&amp;gt;2 Chome-3-9 Kazusakamatari&amp;lt;br&amp;gt;Kisarazu, Chiba Prefecture&amp;lt;br&amp;gt;Japan', '', 'Nov 21-22 2015', 420);&lt;br /&gt;
addLocation(34.985692,   138.417148, 'Kemono Square', 'kemono-square.com', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 6 2015', 107);&lt;br /&gt;
//addLocation(35.654685, 139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);  //259 vendors from 246 circles confirmed for 2014&lt;br /&gt;
//addLocation(34.6693,   135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2014', 0);&lt;br /&gt;
addLocation(35.1584991, 136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 29, 2015', 141); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(47.336284,    12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Jul 9-16 2016', 40);&lt;br /&gt;
addLocation(28.455824,   -81.306028, 'Megaplex', 'megaplexcon.org', 'Embassy Suites Orlando Lake Buena Vista South&amp;lt;br&amp;gt;4955 Kyngs Heath Road&amp;lt;br&amp;gt;Kissimmee, Florida, 34746&amp;lt;br&amp;gt;USA', '+1 (407) 851-9000', 'Aug 5-Aug 7 2016', 1472);&lt;br /&gt;
addLocation(34.966572,   -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Sep 2-Sep 4 2016', 432);&lt;br /&gt;
addLocation(50.825484,     7.887068, 'Mephit Mini Con', 'mmc.furcon.eu', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May 12-16 2016', 200);&lt;br /&gt;
//addLocation(35.656854,139.7351909, 'Metamore Generation V', 'www.metamor.jp', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(41.981284,   -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Dec 1-4 2016', 5606);&lt;br /&gt;
//addLocation(35.754914,139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', '', 'May 2 2015', 66); //only attendees signed up from Twipla - 6 people over venue capacity&lt;br /&gt;
addLocation(13.705699,   100.604295, 'Morph Parade', 'fb.me/MOFU.PARADE', 'KV Mansion&amp;lt;br&amp;gt;90 สุขุมวิท 81 บางจาก&amp;lt;br&amp;gt;[Near BTS On-Nut station]&amp;lt;br&amp;gt;Bangkok 10260&amp;lt;br&amp;gt;Thailand', '+66 2-33 222 11', 'Nov 7 2015');&lt;br /&gt;
addLocation(42.443047,   -83.435667, 'Motor City Furry Con', 'motorcityfurrycon.org', '21111 Haggerty Road&amp;lt;br&amp;gt;Novi, MI 48375&amp;lt;br&amp;gt;USA', '+1 (248) 349-4000', 'Apr 7-9 2017', 1028);&lt;br /&gt;
//addLocation(41.846166, -87.942571, 'New Year\'s Eve Con', 'newyearsevecon.com', 'Residence Inn Oak Brook&amp;lt;br&amp;gt;790 Jorie Boulevard&amp;lt;br&amp;gt;Oak Brook, IL 60523&amp;lt;br&amp;gt;USA', '+1 (630) 571-1200', 'Dec 31 2015-Jan 1 2016', 100);&lt;br /&gt;
//addLocation(39.65924,   -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 31 2015-Jan 1 2016', 211) &lt;br /&gt;
addLocation(58.9143217,   17.953672, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Utsikten Meetings Hotel&amp;lt;br&amp;gt;Nynäshamn&amp;lt;br&amp;gt;Sweden', '', 'Mar 9-12 2017', 513);&lt;br /&gt;
//addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 29-Nov 1 2014', 352);&lt;br /&gt;
addLocation(-31.944444,  115.863842, 'FurWAG', 'furwag.com.au', 'Hotel Ibis Styles Perth&amp;lt;br&amp;gt;15 Robinson Avenue&amp;lt;br&amp;gt;Northbridge 6003&amp;lt;br&amp;gt;Western Australia', '+61 8 9328 0000', 'Sept 30-Oct 2 2016', 177);&lt;br /&gt;
//addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 22-25 2016', 2704);&lt;br /&gt;
addLocation(-27.467778,  153.027778, 'RivFur', 'www.southbankfurmeet.com/home/m/36617225/article/3714600', 'Brisbane, Queensland, Australia', '', 'Jul 29-31, 2016', 200);&lt;br /&gt;
addLocation(39.762235,  -104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Doubletree Hotel Denver&amp;lt;br&amp;gt;3203 Quebec Street&amp;lt;br&amp;gt;Denver, Colorado 80207&amp;lt;br&amp;gt;USA', '+1 (303) 321-3333', 'Aug 12-14 2016', 1640);&lt;br /&gt;
addLocation(56.050627,    36.823576, 'Rusfurence', 'rusfurence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 3-7 2016', 286);&lt;br /&gt;
addLocation(57.478307,     -4.22672, 'ScotiaCon', 'scotiacon.co.uk', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Nov 4-6 2016', 152);&lt;br /&gt;
addLocation(31.27268,     121.55447, 'Shanghai Furry Summer Festival', 'furryeventchina.top', 'Jinqianbao Hotel&amp;lt;br&amp;gt;2866 Yangshupu Rd&amp;lt;br&amp;gt;Shanghai, China&amp;lt;br&amp;gt;中国上海市杨树浦路2866号金钱豹大酒店', '', 'Jul 23 2016', null); // co-located with Shanghai Jingai Only 2016. At the Golden Leopard hotel. Website down for maintenance every day 3am-5am Beijing Time (3pm-5pm U.S./Canada Eastern Daylight Savings Time).&lt;br /&gt;
//addLocation(-26.201,       28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(13.746076,   100.562432, 'Thai Tails', 'www.thaitails.net', 'Asok Towers&amp;lt;br&amp;gt;BLDG 219, Soi Sukhumvit 21, Asok Road&amp;lt;br&amp;gt;Klongtoey Nua, Wattana&amp;lt;br&amp;gt;Bangkok, Thailand 10110', '+66 2 120 9600', 'Jan 30 2016', 0);&lt;br /&gt;
//addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', 'Oct 31-Nov 2 2014', 126);&lt;br /&gt;
addLocation(49.266323,  -123.011509, 'VancouFur', 'vancoufur.ca', 'Executive Hotel &amp;amp; Conference Centre Burnaby&amp;lt;br&amp;gt;4201 Lougheed Hwy&amp;lt;br&amp;gt;Burnaby, British Columbia, V5C 3Y6&amp;lt;br&amp;gt;Canada', '', 'Mar 9-12 2017', 810);&lt;br /&gt;
addLocation(45.499474,   -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 20-22 2016', 373);&lt;br /&gt;
addLocation(40.4612,       -79.7509, 'Western Pennsylvania Furry Weekend', 'wpafw.org', ' North Park Lodge, N Ridge Dr&amp;lt;br&amp;gt;Allison Park, PA 15101&amp;lt;br&amp;gt;USA', '+1 (724) 327-0338', 'Oct 7-9 2016', 133);&lt;br /&gt;
addLocation(35.042611,   -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 21-26 2016', 190);&lt;br /&gt;
addLocation(50.456309,    30.504819, 'WUFF', 'wuff.org.ua', 'Hotel «Sofiyevsky Posad»&amp;lt;br&amp;gt;81/2 Kyivs\'ka Str., Sofiivs\'ka Borshchahivka&amp;lt;br&amp;gt;Kiev, Ukraine', '', 'May 4-8 2016', 160)&lt;br /&gt;
addLocation(44.520806,    11.401609, 'Zampacon', 'zampacon.org', 'Ostello SanSisto&amp;lt;br&amp;gt;via Viadagola 5&amp;lt;br&amp;gt;Bologna, 40127&amp;lt;br&amp;gt;Italy', '', 'Sep 2-6 2016', 60);&lt;br /&gt;
addLocation(47.503095,    12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 23-30 2016', 40);&lt;br /&gt;
addLocation(50.773040,    15.311701, 'ZodiaCon', 'zodiacon.org', 'Vršovská Brána&amp;lt;br&amp;gt;Vršov 19&amp;lt;br&amp;gt;539 53 Horní Bradlo&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 26-29 2016', 74);&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Everywhere (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Japan (&amp;quot;+count_japan+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_JAPAN;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_JAPAN:&lt;br /&gt;
            filter_func = is_in_japan; break;            &lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_japan(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates like &amp;quot;Jan 17 - Feb 2, 2014&amp;quot; into an integer like 20140117 for sorting&lt;br /&gt;
// should accept anything that looks like a date.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
    &amp;quot;use strict&amp;quot;;&lt;br /&gt;
    var x; &lt;br /&gt;
    var v;&lt;br /&gt;
    var y;&lt;br /&gt;
    var day; &lt;br /&gt;
    var month; &lt;br /&gt;
    var year;&lt;br /&gt;
    &lt;br /&gt;
	if (!s) {return 200004001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (x &amp;amp;&amp;amp; x[1]) {&lt;br /&gt;
	    day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	    if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	&lt;br /&gt;
	    switch (x[1]){&lt;br /&gt;
		    case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		    case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		    case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		    case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		    case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		    case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		    case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		    case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		    case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		    case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		    case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		    case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		    default:	month = 20;&lt;br /&gt;
	    }//switch&lt;br /&gt;
	} else {&lt;br /&gt;
	    month = 40;&lt;br /&gt;
	    day = 0;&lt;br /&gt;
	} &lt;br /&gt;
	&lt;br /&gt;
	y = /[0-9]{4}$/.exec(s);&lt;br /&gt;
	if (y) {&lt;br /&gt;
		year = (v=parseInt(y[0]))?v:0;&lt;br /&gt;
    	if (year &amp;gt; 9999) {year = 10000;}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return year * 10000 + month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        markerOpts = {&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: name&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        markerOpts.icon =  (a.attendance &amp;gt;= 5000 ? greenIcon : (a.attendance &amp;gt;= 2500 ? yellowIcon : (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 250 ? purpleIcon : blueIcon ) ) ) );&lt;br /&gt;
        markerOpts.shadow = markerShadow;&lt;br /&gt;
        markerOpts.title = a.name;&lt;br /&gt;
&lt;br /&gt;
        a.marker = new google.maps.Marker(markerOpts);&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            //if we can't see the marker, show it in the center&lt;br /&gt;
            if (!map.getBounds().contains(a.marker.getPosition())){&lt;br /&gt;
                map.panTo(a.marker.getPosition());&lt;br /&gt;
            }&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++; &lt;br /&gt;
        } else if (is_in_japan(a.lat, a.lng)) {&lt;br /&gt;
	    count_japan ++; &lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2016-03-21T01:41:26Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Shanghai Furry Summer Festival: new website&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the cog and Share (or check the URL) and copy the first two numbers after the '@' (including the decimal bits). &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_japan = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_JAPAN = 4;&lt;br /&gt;
var FILT_OTHERS = 5;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
function is_in_japan(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var markerShadow = new google.maps.MarkerImage(&amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/markers/marker_sprite.png&amp;quot;, new google.maps.Size(37,34), new google.maps.Point(20, 0), new google.maps.Point(10, 34)); &lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
addLocation(33.548246, -112.046348, 'Arizona Fur Con', 'Arizonafurcon.com', 'Pointe Hilton Squaw Peak Resort&amp;lt;br&amp;gt;N 16th St&amp;lt;br&amp;gt;Phoenix, Arizona 85020&amp;lt;br&amp;gt;USA', '1(602) 997-2626', 'Oct 31-Nov 2 2014', 533);&lt;br /&gt;
addLocation(40.105846, -83.017244, 'AnthrOhio', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 5-8, 2016', 342);&lt;br /&gt;
//addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(42.353979, -71.105356, 'Anthro New England', 'www.anthronewengland.org', 'Hyatt Regency Cambridge, Overlooking Boston&amp;lt;br&amp;gt;575 Memorial Dr&amp;lt;br&amp;gt;Cambridge, MA&amp;lt;br&amp;gt;USA', '1(617) 492-1234', 'Jan 21-Jan 24 2016', 0);&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jun 30-Jul 3 2016', '5861');&lt;br /&gt;
addLocation(-23.970691,-46.329962, 'Brasil FurFest', 'brasilfurfest.com.br', 'Hotel Mercure Santos&amp;lt;br&amp;gt;Av. Washington Luiz, 565&amp;lt;br&amp;gt;Santos (SP)&amp;lt;br&amp;gt;Brazil', '','Sep 9-11, 2016');&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 18-21 2015', 89);&lt;br /&gt;
addLocation(39.523177, -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'May 12-15 2016', '1442');&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'Jun 3-5 2016', 1206);&lt;br /&gt;
addLocation(43.721056,-121.291552, 'Campfire Tails', 'campfiretails.com', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Aug 4-Aug 8 2016', 143);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439, -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(37.686355, -97.342702, 'Central Plains Furcon', 'cpfurcon.com', 'Drury Plaza Hotel Broadview&amp;lt;br&amp;gt;400 West Douglas Ave&amp;lt;br&amp;gt;Wichita, KS 67202&amp;lt;br&amp;gt;USA', '', 'Nov 5-8 2015', 100)&lt;br /&gt;
addLocation(49.638649,  15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jun 24-28 2015', 107);&lt;br /&gt;
addLocation(23.061687, 113.296423, 'China National Furry Party', 'www.fb.com/CNFP2015', ', Guangzhou&amp;lt;br&amp;gt;China', '', 'Jul 8-19 2015', 40);&lt;br /&gt;
addLocation(50.94149, 6.94651, 'Cologne Furdance', 'www.cologne-cfd.de', 'Zeughaus24, Zeughausstraße 24, 50667 Köln, Germany', '', 'Jul 30 2016', 201); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 1-3 2014', 251);&lt;br /&gt;
addLocation(-37.825497,144.951725, 'ConFurgence', 'confurgence.com', 'Hilton South Wharf&amp;lt;br&amp;gt;2 Convention Centre Place&amp;lt;br&amp;gt;South Wharf, Melbourne&amp;lt;br&amp;gt;Australia 3006', '+61-3-9027-2000', 'Jan 8-10 2016', 544);&lt;br /&gt;
addLocation(52.450713,  -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 27-31 2016', 1228);&lt;br /&gt;
addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 19-21 2015');&lt;br /&gt;
addLocation(51.689585, 11.274526, 'EAST', 'www.east-convention.de.vu', 'DJH Falkenstein/Harz&amp;lt;br&amp;gt;Falkensteiner Weg 2b&amp;lt;br&amp;gt;06463 Falkenstein/Harz&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Sep 19-22 2013');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'ele.furryhost.com', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(52.129813, 11.631281, 'Eurofurence', 'eurofurence.org', 'Maritim Hotel Magdeburg&amp;lt;br&amp;gt;Otto-von-Guericke-Straße 87&amp;lt;br&amp;gt;39104 Magdeburg&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 17-21 2016', 1376);&lt;br /&gt;
addLocation(37.247901,-93.259639, 'F3 Convention', 'www.f3con.com', 'Lamplighter Inn &amp;amp; Suites, North&amp;lt;br&amp;gt;2820 N Glenstone Ave&amp;lt;br&amp;gt;Springfield, MO 65803&amp;lt;br&amp;gt;USA', '+1 (417) 869-3900', 'Nov 20-23 2014', 55);&lt;br /&gt;
addLocation(38.9608308, -77.425447, 'FA: United', 'faunited.org', 'Hyatt Regency Dulles&amp;lt;br&amp;gt;2300 Dulles Corner Blvd.&amp;lt;br&amp;gt;Herndon, Virginia 20171&amp;lt;br&amp;gt;USA', '+1 703 713 1234', 'Sep 11-13 2015', 658);&lt;br /&gt;
addLocation(35.91979, -84.088551, 'Fangcon', 'fangcon.org', 'Holiday Inn Knoxville West&amp;lt;br&amp;gt;9134 Executive Park Dr&amp;lt;br&amp;gt;Knoxville, TN 37923&amp;lt;br&amp;gt;USA', '+1 (865) 693-1011', 'Nov 7-9 2014', 302);&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 25-29 2016', 94);&lt;br /&gt;
addLocation(60.412912, 25.038261, 'FinFur Animus', 'animus.finfur.net', 'Kokoushotelli Gustavelund, Tuusula, Finland', '', 'Mar 19-22 2015', 124);&lt;br /&gt;
addLocation(62.02209, 30.0185, 'FinFur Summer Camp', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
addLocation(35.454262,139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(43.027227, -88.108102, 'Fur Squared', 'http://www.fursquared.com/', 'Sheraton Milwaukee Brookfield Hotel&amp;lt;br&amp;gt;375 S Moorland Rd&amp;lt;br&amp;gt;Brookfield, WI 53005&amp;lt;br&amp;gt;USA', '+1 (262) 364-1100', 'Feb 27- Mar 1 2015', 415);&lt;br /&gt;
addLocation(-41.239835,174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 5-8 2016', 50);&lt;br /&gt;
addLocation(-27.997818, 153.429297, 'FurDU', 'www.furdu.com', 'Outrigger Hotel Surfers Paradise&amp;lt;br&amp;gt;22 View Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'May 27-29 2016', 563);&lt;br /&gt;
addLocation(53.541723, -113.625262, 'Fur-eh!', 'fureh.ca', 'Hilton Garden Inn&amp;lt;br&amp;gt;17610 Stony Plain Road&amp;lt;br&amp;gt;Edmonton, Alberta, T5S 1A2&amp;lt;br&amp;gt;Canada', '+1 (780) 443-2233', 'May 6-8 2016', 200);&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Sept 20-28 2015');&lt;br /&gt;
addLocation(45.582910, -122.575732, 'Furlandia', 'furlandia.org/', 'Sheraton Hotel at PDX Airport &amp;lt;br&amp;gt;8235 NE Airport Way&amp;lt;br&amp;gt;Portland, Oregon 97220&amp;lt;br&amp;gt;USA', '+1 (503) 281-2500', 'May 27-29 2016', 348);&lt;br /&gt;
addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 12-14 2014', 241); //attendance for 2012&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 25 2014', 188);&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 18-20 2016', 750);&lt;br /&gt;
addLocation(41.604459, -72.700497, 'Furpocalypse', 'furpocalypse.org', 'Crowne Plaza Cromwell&amp;lt;br&amp;gt;100 Berlin Road&amp;lt;br&amp;gt;Cromwell, CT 06416&amp;lt;br&amp;gt;USA', '+1 (888) 233-9527', 'Oct 28-Oct 30 2016', 1200);&lt;br /&gt;
addLocation(43.156351,-77.610020, 'FurryCon', 'www.furrycon.com/', 'Radisson Riverside Rochester&amp;lt;br&amp;gt;120 E Main st&amp;lt;br&amp;gt;Rochester, New York&amp;lt;br&amp;gt;USA', '+1 (585) 546-6400', 'Sept 15-18 2015', 0);&lt;br /&gt;
addLocation(28.401971, -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Nov 9-16 2014', 24);&lt;br /&gt;
addLocation(32.956825, -96.822896, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Mar 24-26 2017', 2820);&lt;br /&gt;
addLocation(1.2987509, 103.8482675, 'Furry Lah', 'furrylah.com', 'Bayview Hotel Singapore&amp;lt;br&amp;gt;30 Bencoolen St&amp;lt;br&amp;gt;Singapore 189621', '+65 6337 2882', 'Nov 28-29 2015');&lt;br /&gt;
addLocation(44.86092, -93.23923, 'Furry Migration', 'www.furrymigration.org', 'Ramada Mall of America&amp;lt;br&amp;gt;American Blvd E&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 952-854-3411', 'Sept 9-11 2016', 543);&lt;br /&gt;
addLocation(33.761999, -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Mar 31-Apr 3 2016', 2488);&lt;br /&gt;
addLocation(52.775556,   6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 18-21 2016', 57);&lt;br /&gt;
//addLocation(51.40328, 5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66); //ended in 2013.&lt;br /&gt;
addLocation(37.036680,-76.382842, 'FursonaCon', 'http://www.fursonacon.com/', 'Hampton Roads Convention Center&amp;lt;br&amp;gt;1610 Coliseum Dr&amp;lt;br&amp;gt;Hampton, Virginia&amp;lt;br&amp;gt;USA', '+1 (757) 315-1610', 'Mar 18-20 2016', 0);&lt;br /&gt;
addLocation(52.588333, 14.65, 'Furstock', 'www.polfurs.org', '', '', 'Jul 31-Aug 2 2014', 45);&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'Jul 4-7 2016');&lt;br /&gt;
addLocation(37.330294,-121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 14-18 2016', 3560);&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'furthestnorth.ca', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Sept 4-7 2015', 63);&lt;br /&gt;
addLocation(3.030592,101.716738, 'Furum', 'furum.org', 'Mines Wellnes Hotel&amp;lt;br&amp;gt;Jalan Dulang Off The Darul Ehsan&amp;lt;br&amp;gt;Balakong, 43300 Seri Kembangan&amp;lt;br&amp;gt;Selangor&amp;lt;br&amp;gt;Malaysia', '+60 3-8943 6688', 'Dec 19-20 2015');&lt;br /&gt;
addLocation(53.407281,-2.989201, 'FurVention', 'furvention.org.uk', 'Aloft Liverpool&amp;lt;br&amp;gt;1 North John Street&amp;lt;br&amp;gt;Liverpool, L2 5QW&amp;lt;br&amp;gt;United Kingdom', '+44 151 294 3970', '22-24 Jan 2016', 64);&lt;br /&gt;
addLocation(35.559328, 139.723602, 'Fur-st', 'fur-st.com', '志ら井&amp;lt;br&amp;gt;1 Chome-20-28 Minamikamata&amp;lt;br&amp;gt;Ota, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Oct 18 2014', 144);&lt;br /&gt;
addLocation(39.283286,-84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'Oct 7-9 2016', 316);&lt;br /&gt;
addLocation(38.930864,-77.245601, 'Fur the \'More', 'furthemore.org', 'Sheraton Premiere at Tysons Corner&amp;lt;br&amp;gt;8661 Leesburg Pike&amp;lt;br&amp;gt;Vienna, VA&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Apr 8-10 2016', 714);&lt;br /&gt;
addLocation(51.93180, 19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 10-14 2016', 93);&lt;br /&gt;
addLocation(49.8954237, 5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013', 14);&lt;br /&gt;
addLocation(38.6329283, -90.184827, 'Gateway Furmeet', 'gatewayfurmeet.org', 'Lumière Place Casino and Hotels&amp;lt;br&amp;gt;999 N 2nd St&amp;lt;br&amp;gt;St. Louis, Missouri 63119&amp;lt;br&amp;gt;USA', '+1 (314) 881-7777', 'May 13-15, 2016', 223);&lt;br /&gt;
addLocation(54.358288, 18.621243, 'Gdakon', 'gdakon.org', 'Amber Hotel&amp;lt;br&amp;gt;Gdańsk&amp;lt;br&amp;gt;Poland', '', 'March 9-13 2016', 157);&lt;br /&gt;
addLocation(42.404360,-86.243710, 'Great Lakes Fur Con', 'http://greatlakesfurcon.com/', 'Holiday Inn Express South&amp;lt;br&amp;gt;1741 Phoenix Rd&amp;lt;br&amp;gt;South Haven, MI 49090&amp;lt;br&amp;gt;USA', '+1 (269) 637-8800', 'May 27-29 2016', 264);&lt;br /&gt;
addLocation(47.35016, 7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Oct 29-Nov 1 2015');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Oct 3-7 2012', 50);&lt;br /&gt;
addLocation(49.26716,-123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', 'Nov 7 2015', 202);&lt;br /&gt;
addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Oct 11-13 2013');&lt;br /&gt;
addLocation(25.034847, 121.546979, 'Infurnity', 'infurnity.com', 'SMAJO House&amp;lt;br&amp;gt;Ln. 279, Sec. 1, Fuxing S. Rd.&amp;lt;br&amp;gt;Da’an Dist., Taipei', '', 'Oct 31 2015', 0); // first Taiwan furcon&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Sheraton at Keystone Crossing&amp;lt;br&amp;gt;8787 Keystone Crossing&amp;lt;br&amp;gt;Indianapolis, IN 46240&amp;lt;br&amp;gt;USA', '+1 (317) 846-2700', 'Aug 26-28 2016', 527);&lt;br /&gt;
addLocation(34.743463, 137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 8-10 2016', 400);&lt;br /&gt;
addLocation(25.00814, 121.53604, 'Kemono &amp;amp; Jingai Only 2', 'jk2016.furry.tw', 'Jhongjheng Hall&amp;lt;br&amp;gt;88 Tingzhou Road Section 4&amp;lt;br&amp;gt;Wenshan District&amp;lt;br&amp;gt;Taipei City 116&amp;lt;br&amp;gt;Taiwan&amp;lt;br&amp;gt;116台北市文山區汀州路四段88號', '', 'Jul 16 2016', null); // The name of the hall at http://en.ntnu.edu.tw/gongguan-campus.php#tab-1 seems to be in Tongyong Pinyin, while the street address seems to be in Hanyu Pinyin?&lt;br /&gt;
addLocation(35.3334755,139.9891955, 'Kemocon', 'www.kemocon.com', 'Kasuza Akademia Hall&amp;lt;br&amp;gt;2 Chome-3-9 Kazusakamatari&amp;lt;br&amp;gt;Kisarazu, Chiba Prefecture&amp;lt;br&amp;gt;Japan', '', 'Nov 22-23 2014', 420);&lt;br /&gt;
addLocation(34.985692,138.417148, 'Kemono Square', 'eixinweb.jp/kemono-square.html', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 6 2015', 107);&lt;br /&gt;
addLocation(35.654685,139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);  //259 vendors from 246 circles confirmed for 2014&lt;br /&gt;
addLocation(34.6693, 135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2014', 0);&lt;br /&gt;
addLocation(35.1584991, 136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 29, 2015', 141); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(47.336284,  12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Jul 9-16 2016', 40);&lt;br /&gt;
addLocation(28.455824, -81.306028, 'Megaplex', 'megaplexcon.org', 'Orlando Airport Marriott&amp;lt;br&amp;gt;7499 Augusta National Drive&amp;lt;br&amp;gt;Orlando, FL 32822&amp;lt;br&amp;gt;USA', '+1 (407) 851-9000', 'Aug 5-Aug 7 2015', 1281);&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Sep 2-Sep 4 2016', 548);&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'Apr 30-May 3 2015', 200);&lt;br /&gt;
addLocation(35.6568544, 139.7351909, 'Metamore Generation V', 'www.metamor.jp/', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(41.981284, -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Dec 5-7 2015', 3904);&lt;br /&gt;
addLocation(35.7549142, 139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', '', 'May 2 2015', 66); //only attendees signed up from Twipla - 6 people over venue capacity&lt;br /&gt;
addLocation(13.705699, 100.604295, 'Morph Parade', 'fb.me/MOFU.PARADE', 'KV Mansion&amp;lt;br&amp;gt;90 สุขุมวิท 81 บางจาก&amp;lt;br&amp;gt;[Near BTS On-Nut station]&amp;lt;br&amp;gt;Bangkok 10260&amp;lt;br&amp;gt;Thailand', '+66 2-33 222 11', 'Nov 7 2015');&lt;br /&gt;
addLocation(42.443047, -83.435667, 'Motor City Furry Con', 'motorcityfurrycon.org', '21111 Haggerty Road&amp;lt;br&amp;gt;Novi, MI 48375&amp;lt;br&amp;gt;USA', '+1 (248) 349-4000', 'Apr 8-10 2016', 967);&lt;br /&gt;
addLocation(41.846166, -87.942571, 'New Year\'s Eve Con', 'newyearsevecon.com', 'Residence Inn Oak Brook&amp;lt;br&amp;gt;790 Jorie Boulevard&amp;lt;br&amp;gt;Oak Brook, IL 60523&amp;lt;br&amp;gt;USA', '+1 (630) 571-1200', 'Dec 31 2015-Jan 1 2016', 100);&lt;br /&gt;
addLocation(39.65924 , -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 31 2015-Jan 1 2016', 211) &lt;br /&gt;
addLocation(58.9143217, 17.953672, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Utsikten Meetings Hotel&amp;lt;br&amp;gt;Nynäshamn&amp;lt;br&amp;gt;Sweden', '', 'Mar 3-6 2016', 382);&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 29-Nov 1 2014', 352);&lt;br /&gt;
addLocation(-31.944444,115.863842, 'FurWAG', 'furwag.com.au', 'Hotel Ibis Styles Perth&amp;lt;br&amp;gt;15 Robinson Avenue&amp;lt;br&amp;gt;Northbridge 6003&amp;lt;br&amp;gt;Western Australia', '+61 8 9328 0000', 'Sept 30-Oct 2 2016', 177);&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 22-25 2016', 1424);&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'August 8-10, 2014', 180);&lt;br /&gt;
addLocation(34.6701,  -86.577759, 'Rocket City FurMeet', 'rcfm.net', 'Hilton Garden Inn Huntsville South&amp;lt;br&amp;gt;301 Boulevard South SW&amp;lt;br&amp;gt;Huntsville, Alabama 35802&amp;lt;br&amp;gt;USA', '+1 (256) 881-4170', 'May 24-26 2013', 242);&lt;br /&gt;
addLocation(39.762235,-104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Doubletree Hotel Denver&amp;lt;br&amp;gt;3203 Quebec Street&amp;lt;br&amp;gt;Denver, Colorado 80207&amp;lt;br&amp;gt;USA', '+1 (303) 321-3333', 'Aug 12-14 2016', 863);&lt;br /&gt;
addLocation(56.050627,36.823576, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 4-8 2015', 286);&lt;br /&gt;
addLocation(57.478307, -4.22672, 'ScotiaCon', 'www.scotiacon.com', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Nov 7-9 2014', 123);&lt;br /&gt;
addLocation(31.27268, 121.55447, 'Shanghai Furry Summer Festival', 'furryeventchina.top', 'Jinqianbao Hotel&amp;lt;br&amp;gt;2866 Yangshupu Rd&amp;lt;br&amp;gt;Shanghai, China&amp;lt;br&amp;gt;中国上海市杨树浦路2866号金钱豹大酒店', '', 'Jul 23 2016', null); // co-located with Shanghai Jingai Only 2016. At the Golden Leopard hotel. Website down for maintenance every day 3am-5am Beijing Time (3pm-5pm U.S./Canada Eastern Daylight Savings Time).&lt;br /&gt;
addLocation(-26.201, 28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', 'Oct 31-Nov 2 2014', 126);&lt;br /&gt;
addLocation(49.266323,-123.011509, 'VancouFur', 'vancoufur.ca', 'Executive Hotel &amp;amp; Conference Centre Burnaby&amp;lt;br&amp;gt;4201 Lougheed Hwy&amp;lt;br&amp;gt;Burnaby, British Columbia, V5C 3Y6&amp;lt;br&amp;gt;Canada', '', 'Mar 3-6 2016', 600);&lt;br /&gt;
addLocation(45.499474, -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 20-22 2016', 303);&lt;br /&gt;
addLocation(40.4612,-79.7509, 'Western Pennsylvania Furry Weekend', 'wpafw.org', ' North Park Lodge, N Ridge Dr&amp;lt;br&amp;gt;Allison Park, PA 15101&amp;lt;br&amp;gt;USA', '+1 (724) 327-0338', 'Oct 7-9 2016', 132);&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 21-26 2016', 302);&lt;br /&gt;
addLocation(50.456309, 30.504819, 'WUFF', 'wuff.org.ua/2015', 'Hotel «Sofiyevsky Posad»&amp;lt;br&amp;gt;81/2 Kyivs\'ka Str., Sofiivs\'ka Borshchahivka&amp;lt;br&amp;gt;Kiev, Ukraine', '', 'May 6-10 2015', 260)&lt;br /&gt;
addLocation(44.520806, 11.401609, 'Zampacon', 'zampacon.forumfree.it', 'Ostello SanSisto&amp;lt;br&amp;gt;via Viadagola 5&amp;lt;br&amp;gt;Bologna, 40127&amp;lt;br&amp;gt;Italy', '', 'Sep 3-7 2014', 39);&lt;br /&gt;
addLocation(47.503095, 12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 25-Feb 1 2014', 40);&lt;br /&gt;
addLocation(50.773040, 15.311701, 'ZodiaCon', 'zodiacon.org', 'Hotel Emilka&amp;lt;br&amp;gt;Na Novině 401&amp;lt;br&amp;gt;468 61 Desná III&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 30-June 2, 2014', 74);&lt;br /&gt;
addLocation(-23.668839,-46.577533, 'Furboliche 6', 'furboliche.com.br', 'Bomboliche Extra Anchieta&amp;lt;br&amp;gt;R. García Lorca, 301&amp;lt;br&amp;gt;S&amp;amp;atilde;o Bernardo do Campo (SP)&amp;lt;br&amp;gt;Brazil', '','Dec 3, 2016', 261);&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Everywhere (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Japan (&amp;quot;+count_japan+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_JAPAN;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_JAPAN:&lt;br /&gt;
            filter_func = is_in_japan; break;            &lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_japan(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates into numbers for sorting&lt;br /&gt;
// Might benefit from also parsing years.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
	if (!s) {return 4001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (!x || !x[1]) return 4000;&lt;br /&gt;
	day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	switch (x[1]){&lt;br /&gt;
		case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		default:	month = 20;&lt;br /&gt;
	}//switch&lt;br /&gt;
	return month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        markerOpts = {&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: name&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        markerOpts.icon = (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 200 ? purpleIcon : blueIcon ) );&lt;br /&gt;
        markerOpts.shadow = markerShadow;&lt;br /&gt;
        markerOpts.title = a.name;&lt;br /&gt;
&lt;br /&gt;
        a.marker = new google.maps.Marker(markerOpts);&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            //if we can't see the marker, show it in the center&lt;br /&gt;
            if (!map.getBounds().contains(a.marker.getPosition())){&lt;br /&gt;
                map.panTo(a.marker.getPosition());&lt;br /&gt;
            }&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++; &lt;br /&gt;
        } else if (is_in_japan(a.lat, a.lng)) {&lt;br /&gt;
	    count_japan ++; &lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2016-03-19T22:48:06Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Add Kemono &amp;amp; Jingai Only 2 and Shanghai Furry Summer Festival&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the cog and Share (or check the URL) and copy the first two numbers after the '@' (including the decimal bits). &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_japan = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_JAPAN = 4;&lt;br /&gt;
var FILT_OTHERS = 5;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
function is_in_japan(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var markerShadow = new google.maps.MarkerImage(&amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/markers/marker_sprite.png&amp;quot;, new google.maps.Size(37,34), new google.maps.Point(20, 0), new google.maps.Point(10, 34)); &lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
addLocation(33.548246, -112.046348, 'Arizona Fur Con', 'Arizonafurcon.com', 'Pointe Hilton Squaw Peak Resort&amp;lt;br&amp;gt;N 16th St&amp;lt;br&amp;gt;Phoenix, Arizona 85020&amp;lt;br&amp;gt;USA', '1(602) 997-2626', 'Oct 31-Nov 2 2014', 533);&lt;br /&gt;
addLocation(40.105846, -83.017244, 'AnthrOhio', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 5-8, 2016', 342);&lt;br /&gt;
//addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(42.353979, -71.105356, 'Anthro New England', 'www.anthronewengland.org', 'Hyatt Regency Cambridge, Overlooking Boston&amp;lt;br&amp;gt;575 Memorial Dr&amp;lt;br&amp;gt;Cambridge, MA&amp;lt;br&amp;gt;USA', '1(617) 492-1234', 'Jan 21-Jan 24 2016', 0);&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jun 30-Jul 3 2016', '5861');&lt;br /&gt;
addLocation(-23.970691,-46.329962, 'Brasil FurFest', 'brasilfurfest.com.br', 'Hotel Mercure Santos&amp;lt;br&amp;gt;Av. Washington Luiz, 565&amp;lt;br&amp;gt;Santos (SP)&amp;lt;br&amp;gt;Brazil', '','Sep 9-11, 2016');&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 18-21 2015', 89);&lt;br /&gt;
addLocation(39.523177, -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'May 12-15 2016', '1442');&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'Jun 3-5 2016', 1206);&lt;br /&gt;
addLocation(43.721056,-121.291552, 'Campfire Tails', 'campfiretails.com', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Aug 4-Aug 8 2016', 143);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439, -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(37.686355, -97.342702, 'Central Plains Furcon', 'cpfurcon.com', 'Drury Plaza Hotel Broadview&amp;lt;br&amp;gt;400 West Douglas Ave&amp;lt;br&amp;gt;Wichita, KS 67202&amp;lt;br&amp;gt;USA', '', 'Nov 5-8 2015', 100)&lt;br /&gt;
addLocation(49.638649,  15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jun 24-28 2015', 107);&lt;br /&gt;
addLocation(23.061687, 113.296423, 'China National Furry Party', 'www.fb.com/CNFP2015', ', Guangzhou&amp;lt;br&amp;gt;China', '', 'Jul 8-19 2015', 40);&lt;br /&gt;
addLocation(50.94149, 6.94651, 'Cologne Furdance', 'www.cologne-cfd.de', 'Zeughaus24, Zeughausstraße 24, 50667 Köln, Germany', '', 'Jul 30 2016', 201); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 1-3 2014', 251);&lt;br /&gt;
addLocation(-37.825497,144.951725, 'ConFurgence', 'confurgence.com', 'Hilton South Wharf&amp;lt;br&amp;gt;2 Convention Centre Place&amp;lt;br&amp;gt;South Wharf, Melbourne&amp;lt;br&amp;gt;Australia 3006', '+61-3-9027-2000', 'Jan 8-10 2016', 544);&lt;br /&gt;
addLocation(52.450713,  -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 27-31 2016', 1228);&lt;br /&gt;
addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 19-21 2015');&lt;br /&gt;
addLocation(51.689585, 11.274526, 'EAST', 'www.east-convention.de.vu', 'DJH Falkenstein/Harz&amp;lt;br&amp;gt;Falkensteiner Weg 2b&amp;lt;br&amp;gt;06463 Falkenstein/Harz&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Sep 19-22 2013');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'ele.furryhost.com', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(52.129813, 11.631281, 'Eurofurence', 'eurofurence.org', 'Maritim Hotel Magdeburg&amp;lt;br&amp;gt;Otto-von-Guericke-Straße 87&amp;lt;br&amp;gt;39104 Magdeburg&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 17-21 2016', 1376);&lt;br /&gt;
addLocation(37.247901,-93.259639, 'F3 Convention', 'www.f3con.com', 'Lamplighter Inn &amp;amp; Suites, North&amp;lt;br&amp;gt;2820 N Glenstone Ave&amp;lt;br&amp;gt;Springfield, MO 65803&amp;lt;br&amp;gt;USA', '+1 (417) 869-3900', 'Nov 20-23 2014', 55);&lt;br /&gt;
addLocation(38.9608308, -77.425447, 'FA: United', 'faunited.org', 'Hyatt Regency Dulles&amp;lt;br&amp;gt;2300 Dulles Corner Blvd.&amp;lt;br&amp;gt;Herndon, Virginia 20171&amp;lt;br&amp;gt;USA', '+1 703 713 1234', 'Sep 11-13 2015', 658);&lt;br /&gt;
addLocation(35.91979, -84.088551, 'Fangcon', 'fangcon.org', 'Holiday Inn Knoxville West&amp;lt;br&amp;gt;9134 Executive Park Dr&amp;lt;br&amp;gt;Knoxville, TN 37923&amp;lt;br&amp;gt;USA', '+1 (865) 693-1011', 'Nov 7-9 2014', 302);&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 25-29 2016', 94);&lt;br /&gt;
addLocation(60.412912, 25.038261, 'FinFur Animus', 'animus.finfur.net', 'Kokoushotelli Gustavelund, Tuusula, Finland', '', 'Mar 19-22 2015', 124);&lt;br /&gt;
addLocation(62.02209, 30.0185, 'FinFur Summer Camp', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
addLocation(35.454262,139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(43.027227, -88.108102, 'Fur Squared', 'http://www.fursquared.com/', 'Sheraton Milwaukee Brookfield Hotel&amp;lt;br&amp;gt;375 S Moorland Rd&amp;lt;br&amp;gt;Brookfield, WI 53005&amp;lt;br&amp;gt;USA', '+1 (262) 364-1100', 'Feb 27- Mar 1 2015', 415);&lt;br /&gt;
addLocation(-41.239835,174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 5-8 2016', 50);&lt;br /&gt;
addLocation(-27.997818, 153.429297, 'FurDU', 'www.furdu.com', 'Outrigger Hotel Surfers Paradise&amp;lt;br&amp;gt;22 View Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'May 27-29 2016', 563);&lt;br /&gt;
addLocation(53.541723, -113.625262, 'Fur-eh!', 'fureh.ca', 'Hilton Garden Inn&amp;lt;br&amp;gt;17610 Stony Plain Road&amp;lt;br&amp;gt;Edmonton, Alberta, T5S 1A2&amp;lt;br&amp;gt;Canada', '+1 (780) 443-2233', 'May 6-8 2016', 200);&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Sept 20-28 2015');&lt;br /&gt;
addLocation(45.582910, -122.575732, 'Furlandia', 'furlandia.org/', 'Sheraton Hotel at PDX Airport &amp;lt;br&amp;gt;8235 NE Airport Way&amp;lt;br&amp;gt;Portland, Oregon 97220&amp;lt;br&amp;gt;USA', '+1 (503) 281-2500', 'May 27-29 2016', 348);&lt;br /&gt;
addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 12-14 2014', 241); //attendance for 2012&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 25 2014', 188);&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 18-20 2016', 750);&lt;br /&gt;
addLocation(41.604459, -72.700497, 'Furpocalypse', 'furpocalypse.org', 'Crowne Plaza Cromwell&amp;lt;br&amp;gt;100 Berlin Road&amp;lt;br&amp;gt;Cromwell, CT 06416&amp;lt;br&amp;gt;USA', '+1 (888) 233-9527', 'Oct 28-Oct 30 2016', 1200);&lt;br /&gt;
addLocation(43.156351,-77.610020, 'FurryCon', 'www.furrycon.com/', 'Radisson Riverside Rochester&amp;lt;br&amp;gt;120 E Main st&amp;lt;br&amp;gt;Rochester, New York&amp;lt;br&amp;gt;USA', '+1 (585) 546-6400', 'Sept 15-18 2015', 0);&lt;br /&gt;
addLocation(28.401971, -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Nov 9-16 2014', 24);&lt;br /&gt;
addLocation(32.956825, -96.822896, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Mar 24-26 2017', 2820);&lt;br /&gt;
addLocation(1.2987509, 103.8482675, 'Furry Lah', 'furrylah.com', 'Bayview Hotel Singapore&amp;lt;br&amp;gt;30 Bencoolen St&amp;lt;br&amp;gt;Singapore 189621', '+65 6337 2882', 'Nov 28-29 2015');&lt;br /&gt;
addLocation(44.86092, -93.23923, 'Furry Migration', 'www.furrymigration.org', 'Ramada Mall of America&amp;lt;br&amp;gt;American Blvd E&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 952-854-3411', 'Sept 9-11 2016', 543);&lt;br /&gt;
addLocation(33.761999, -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Mar 31-Apr 3 2016', 2488);&lt;br /&gt;
addLocation(52.775556,   6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 18-21 2016', 57);&lt;br /&gt;
//addLocation(51.40328, 5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66); //ended in 2013.&lt;br /&gt;
addLocation(37.036680,-76.382842, 'FursonaCon', 'http://www.fursonacon.com/', 'Hampton Roads Convention Center&amp;lt;br&amp;gt;1610 Coliseum Dr&amp;lt;br&amp;gt;Hampton, Virginia&amp;lt;br&amp;gt;USA', '+1 (757) 315-1610', 'Mar 18-20 2016', 0);&lt;br /&gt;
addLocation(52.588333, 14.65, 'Furstock', 'www.polfurs.org', '', '', 'Jul 31-Aug 2 2014', 45);&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'Jul 4-7 2016');&lt;br /&gt;
addLocation(37.330294,-121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 14-18 2016', 3560);&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'furthestnorth.ca', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Sept 4-7 2015', 63);&lt;br /&gt;
addLocation(3.030592,101.716738, 'Furum', 'furum.org', 'Mines Wellnes Hotel&amp;lt;br&amp;gt;Jalan Dulang Off The Darul Ehsan&amp;lt;br&amp;gt;Balakong, 43300 Seri Kembangan&amp;lt;br&amp;gt;Selangor&amp;lt;br&amp;gt;Malaysia', '+60 3-8943 6688', 'Dec 19-20 2015');&lt;br /&gt;
addLocation(53.407281,-2.989201, 'FurVention', 'furvention.org.uk', 'Aloft Liverpool&amp;lt;br&amp;gt;1 North John Street&amp;lt;br&amp;gt;Liverpool, L2 5QW&amp;lt;br&amp;gt;United Kingdom', '+44 151 294 3970', '22-24 Jan 2016', 64);&lt;br /&gt;
addLocation(35.559328, 139.723602, 'Fur-st', 'fur-st.com', '志ら井&amp;lt;br&amp;gt;1 Chome-20-28 Minamikamata&amp;lt;br&amp;gt;Ota, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Oct 18 2014', 144);&lt;br /&gt;
addLocation(39.283286,-84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'Oct 7-9 2016', 316);&lt;br /&gt;
addLocation(38.930864,-77.245601, 'Fur the \'More', 'furthemore.org', 'Sheraton Premiere at Tysons Corner&amp;lt;br&amp;gt;8661 Leesburg Pike&amp;lt;br&amp;gt;Vienna, VA&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Apr 8-10 2016', 714);&lt;br /&gt;
addLocation(51.93180, 19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 10-14 2016', 93);&lt;br /&gt;
addLocation(49.8954237, 5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013', 14);&lt;br /&gt;
addLocation(38.6329283, -90.184827, 'Gateway Furmeet', 'gatewayfurmeet.org', 'Lumière Place Casino and Hotels&amp;lt;br&amp;gt;999 N 2nd St&amp;lt;br&amp;gt;St. Louis, Missouri 63119&amp;lt;br&amp;gt;USA', '+1 (314) 881-7777', 'May 13-15, 2016', 223);&lt;br /&gt;
addLocation(54.358288, 18.621243, 'Gdakon', 'gdakon.org', 'Amber Hotel&amp;lt;br&amp;gt;Gdańsk&amp;lt;br&amp;gt;Poland', '', 'March 9-13 2016', 157);&lt;br /&gt;
addLocation(42.404360,-86.243710, 'Great Lakes Fur Con', 'http://greatlakesfurcon.com/', 'Holiday Inn Express South&amp;lt;br&amp;gt;1741 Phoenix Rd&amp;lt;br&amp;gt;South Haven, MI 49090&amp;lt;br&amp;gt;USA', '+1 (269) 637-8800', 'May 27-29 2016', 264);&lt;br /&gt;
addLocation(47.35016, 7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Oct 29-Nov 1 2015');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Oct 3-7 2012', 50);&lt;br /&gt;
addLocation(49.26716,-123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', 'Nov 7 2015', 202);&lt;br /&gt;
addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Oct 11-13 2013');&lt;br /&gt;
addLocation(25.034847, 121.546979, 'Infurnity', 'infurnity.com', 'SMAJO House&amp;lt;br&amp;gt;Ln. 279, Sec. 1, Fuxing S. Rd.&amp;lt;br&amp;gt;Da’an Dist., Taipei', '', 'Oct 31 2015', 0); // first Taiwan furcon&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Sheraton at Keystone Crossing&amp;lt;br&amp;gt;8787 Keystone Crossing&amp;lt;br&amp;gt;Indianapolis, IN 46240&amp;lt;br&amp;gt;USA', '+1 (317) 846-2700', 'Aug 26-28 2016', 527);&lt;br /&gt;
addLocation(34.743463, 137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 8-10 2016', 400);&lt;br /&gt;
addLocation(25.00814, 121.53604, 'Kemono &amp;amp; Jingai Only 2', 'jk2016.furry.tw', 'Jhongjheng Hall&amp;lt;br&amp;gt;88 Tingzhou Road Section 4&amp;lt;br&amp;gt;Wenshan District&amp;lt;br&amp;gt;Taipei City 116&amp;lt;br&amp;gt;Taiwan&amp;lt;br&amp;gt;116台北市文山區汀州路四段88號', '', 'Jul 16 2016', null); // The name of the hall at http://en.ntnu.edu.tw/gongguan-campus.php#tab-1 seems to be in Tongyong Pinyin, while the street address seems to be in Hanyu Pinyin?&lt;br /&gt;
addLocation(35.3334755,139.9891955, 'Kemocon', 'www.kemocon.com', 'Kasuza Akademia Hall&amp;lt;br&amp;gt;2 Chome-3-9 Kazusakamatari&amp;lt;br&amp;gt;Kisarazu, Chiba Prefecture&amp;lt;br&amp;gt;Japan', '', 'Nov 22-23 2014', 420);&lt;br /&gt;
addLocation(34.985692,138.417148, 'Kemono Square', 'eixinweb.jp/kemono-square.html', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 6 2015', 107);&lt;br /&gt;
addLocation(35.654685,139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);  //259 vendors from 246 circles confirmed for 2014&lt;br /&gt;
addLocation(34.6693, 135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2014', 0);&lt;br /&gt;
addLocation(35.1584991, 136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 29, 2015', 141); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(47.336284,  12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Jul 9-16 2016', 40);&lt;br /&gt;
addLocation(28.455824, -81.306028, 'Megaplex', 'megaplexcon.org', 'Orlando Airport Marriott&amp;lt;br&amp;gt;7499 Augusta National Drive&amp;lt;br&amp;gt;Orlando, FL 32822&amp;lt;br&amp;gt;USA', '+1 (407) 851-9000', 'Aug 5-Aug 7 2015', 1281);&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Sep 2-Sep 4 2016', 548);&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'Apr 30-May 3 2015', 200);&lt;br /&gt;
addLocation(35.6568544, 139.7351909, 'Metamore Generation V', 'www.metamor.jp/', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(41.981284, -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Dec 5-7 2015', 3904);&lt;br /&gt;
addLocation(35.7549142, 139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', '', 'May 2 2015', 66); //only attendees signed up from Twipla - 6 people over venue capacity&lt;br /&gt;
addLocation(13.705699, 100.604295, 'Morph Parade', 'fb.me/MOFU.PARADE', 'KV Mansion&amp;lt;br&amp;gt;90 สุขุมวิท 81 บางจาก&amp;lt;br&amp;gt;[Near BTS On-Nut station]&amp;lt;br&amp;gt;Bangkok 10260&amp;lt;br&amp;gt;Thailand', '+66 2-33 222 11', 'Nov 7 2015');&lt;br /&gt;
addLocation(42.443047, -83.435667, 'Motor City Furry Con', 'motorcityfurrycon.org', '21111 Haggerty Road&amp;lt;br&amp;gt;Novi, MI 48375&amp;lt;br&amp;gt;USA', '+1 (248) 349-4000', 'Apr 8-10 2016', 967);&lt;br /&gt;
addLocation(41.846166, -87.942571, 'New Year\'s Eve Con', 'newyearsevecon.com', 'Residence Inn Oak Brook&amp;lt;br&amp;gt;790 Jorie Boulevard&amp;lt;br&amp;gt;Oak Brook, IL 60523&amp;lt;br&amp;gt;USA', '+1 (630) 571-1200', 'Dec 31 2015-Jan 1 2016', 100);&lt;br /&gt;
addLocation(39.65924 , -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 31 2015-Jan 1 2016', 211) &lt;br /&gt;
addLocation(58.9143217, 17.953672, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Utsikten Meetings Hotel&amp;lt;br&amp;gt;Nynäshamn&amp;lt;br&amp;gt;Sweden', '', 'Mar 3-6 2016', 382);&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 29-Nov 1 2014', 352);&lt;br /&gt;
addLocation(-31.944444,115.863842, 'FurWAG', 'furwag.com.au', 'Hotel Ibis Styles Perth&amp;lt;br&amp;gt;15 Robinson Avenue&amp;lt;br&amp;gt;Northbridge 6003&amp;lt;br&amp;gt;Western Australia', '+61 8 9328 0000', 'Sept 30-Oct 2 2016', 177);&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 22-25 2016', 1424);&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'August 8-10, 2014', 180);&lt;br /&gt;
addLocation(34.6701,  -86.577759, 'Rocket City FurMeet', 'rcfm.net', 'Hilton Garden Inn Huntsville South&amp;lt;br&amp;gt;301 Boulevard South SW&amp;lt;br&amp;gt;Huntsville, Alabama 35802&amp;lt;br&amp;gt;USA', '+1 (256) 881-4170', 'May 24-26 2013', 242);&lt;br /&gt;
addLocation(39.762235,-104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Doubletree Hotel Denver&amp;lt;br&amp;gt;3203 Quebec Street&amp;lt;br&amp;gt;Denver, Colorado 80207&amp;lt;br&amp;gt;USA', '+1 (303) 321-3333', 'Aug 12-14 2016', 863);&lt;br /&gt;
addLocation(56.050627,36.823576, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 4-8 2015', 286);&lt;br /&gt;
addLocation(57.478307, -4.22672, 'ScotiaCon', 'www.scotiacon.com', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Nov 7-9 2014', 123);&lt;br /&gt;
addLocation(31.27268, 121.55447, 'Shanghai Furry Summer Festival', 'weibo.com/5383289490', 'Jinqianbao Hotel&amp;lt;br&amp;gt;2866 Yangshupu Rd&amp;lt;br&amp;gt;Shanghai, China&amp;lt;br&amp;gt;中国上海市杨树浦路2866号金钱豹大酒店', '', 'Jul 23 2016', null); // co-located with Shanghai Jingai Only 2016. At the Golden Leopard hotel. Mirror for Weibo account: http://ent.sina.com.tw/weibo/user/5383289490&lt;br /&gt;
addLocation(-26.201, 28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', 'Oct 31-Nov 2 2014', 126);&lt;br /&gt;
addLocation(49.266323,-123.011509, 'VancouFur', 'vancoufur.ca', 'Executive Hotel &amp;amp; Conference Centre Burnaby&amp;lt;br&amp;gt;4201 Lougheed Hwy&amp;lt;br&amp;gt;Burnaby, British Columbia, V5C 3Y6&amp;lt;br&amp;gt;Canada', '', 'Mar 3-6 2016', 600);&lt;br /&gt;
addLocation(45.499474, -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 20-22 2016', 303);&lt;br /&gt;
addLocation(40.4612,-79.7509, 'Western Pennsylvania Furry Weekend', 'wpafw.org', ' North Park Lodge, N Ridge Dr&amp;lt;br&amp;gt;Allison Park, PA 15101&amp;lt;br&amp;gt;USA', '+1 (724) 327-0338', 'Oct 7-9 2016', 132);&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 21-26 2016', 302);&lt;br /&gt;
addLocation(50.456309, 30.504819, 'WUFF', 'wuff.org.ua/2015', 'Hotel «Sofiyevsky Posad»&amp;lt;br&amp;gt;81/2 Kyivs\'ka Str., Sofiivs\'ka Borshchahivka&amp;lt;br&amp;gt;Kiev, Ukraine', '', 'May 6-10 2015', 260)&lt;br /&gt;
addLocation(44.520806, 11.401609, 'Zampacon', 'zampacon.forumfree.it', 'Ostello SanSisto&amp;lt;br&amp;gt;via Viadagola 5&amp;lt;br&amp;gt;Bologna, 40127&amp;lt;br&amp;gt;Italy', '', 'Sep 3-7 2014', 39);&lt;br /&gt;
addLocation(47.503095, 12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 25-Feb 1 2014', 40);&lt;br /&gt;
addLocation(50.773040, 15.311701, 'ZodiaCon', 'zodiacon.org', 'Hotel Emilka&amp;lt;br&amp;gt;Na Novině 401&amp;lt;br&amp;gt;468 61 Desná III&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 30-June 2, 2014', 74);&lt;br /&gt;
addLocation(-23.668839,-46.577533, 'Furboliche 6', 'furboliche.com.br', 'Bomboliche Extra Anchieta&amp;lt;br&amp;gt;R. García Lorca, 301&amp;lt;br&amp;gt;S&amp;amp;atilde;o Bernardo do Campo (SP)&amp;lt;br&amp;gt;Brazil', '','Dec 3, 2016', 261);&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Everywhere (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Japan (&amp;quot;+count_japan+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_JAPAN;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_JAPAN:&lt;br /&gt;
            filter_func = is_in_japan; break;            &lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_japan(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates into numbers for sorting&lt;br /&gt;
// Might benefit from also parsing years.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
	if (!s) {return 4001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (!x || !x[1]) return 4000;&lt;br /&gt;
	day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	switch (x[1]){&lt;br /&gt;
		case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		default:	month = 20;&lt;br /&gt;
	}//switch&lt;br /&gt;
	return month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        markerOpts = {&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: name&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        markerOpts.icon = (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 200 ? purpleIcon : blueIcon ) );&lt;br /&gt;
        markerOpts.shadow = markerShadow;&lt;br /&gt;
        markerOpts.title = a.name;&lt;br /&gt;
&lt;br /&gt;
        a.marker = new google.maps.Marker(markerOpts);&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            //if we can't see the marker, show it in the center&lt;br /&gt;
            if (!map.getBounds().contains(a.marker.getPosition())){&lt;br /&gt;
                map.panTo(a.marker.getPosition());&lt;br /&gt;
            }&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++; &lt;br /&gt;
        } else if (is_in_japan(a.lat, a.lng)) {&lt;br /&gt;
	    count_japan ++; &lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2016-03-19T22:13:08Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Reordering Brasil FurFest, China National Furry Party &amp;amp; Central Plains Furcon&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the cog and Share (or check the URL) and copy the first two numbers after the '@' (including the decimal bits). &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_japan = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_JAPAN = 4;&lt;br /&gt;
var FILT_OTHERS = 5;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
function is_in_japan(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var markerShadow = new google.maps.MarkerImage(&amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/markers/marker_sprite.png&amp;quot;, new google.maps.Size(37,34), new google.maps.Point(20, 0), new google.maps.Point(10, 34)); &lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
addLocation(33.548246, -112.046348, 'Arizona Fur Con', 'Arizonafurcon.com', 'Pointe Hilton Squaw Peak Resort&amp;lt;br&amp;gt;N 16th St&amp;lt;br&amp;gt;Phoenix, Arizona 85020&amp;lt;br&amp;gt;USA', '1(602) 997-2626', 'Oct 31-Nov 2 2014', 533);&lt;br /&gt;
addLocation(40.105846, -83.017244, 'AnthrOhio', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 5-8, 2016', 342);&lt;br /&gt;
//addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(42.353979, -71.105356, 'Anthro New England', 'www.anthronewengland.org', 'Hyatt Regency Cambridge, Overlooking Boston&amp;lt;br&amp;gt;575 Memorial Dr&amp;lt;br&amp;gt;Cambridge, MA&amp;lt;br&amp;gt;USA', '1(617) 492-1234', 'Jan 21-Jan 24 2016', 0);&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jun 30-Jul 3 2016', '5861');&lt;br /&gt;
addLocation(-23.970691,-46.329962, 'Brasil FurFest', 'brasilfurfest.com.br', 'Hotel Mercure Santos&amp;lt;br&amp;gt;Av. Washington Luiz, 565&amp;lt;br&amp;gt;Santos (SP)&amp;lt;br&amp;gt;Brazil', '','Sep 9-11, 2016');&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 18-21 2015', 89);&lt;br /&gt;
addLocation(39.523177, -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'May 12-15 2016', '1442');&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'Jun 3-5 2016', 1206);&lt;br /&gt;
addLocation(43.721056,-121.291552, 'Campfire Tails', 'campfiretails.com', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Aug 4-Aug 8 2016', 143);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439, -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(37.686355, -97.342702, 'Central Plains Furcon', 'cpfurcon.com', 'Drury Plaza Hotel Broadview&amp;lt;br&amp;gt;400 West Douglas Ave&amp;lt;br&amp;gt;Wichita, KS 67202&amp;lt;br&amp;gt;USA', '', 'Nov 5-8 2015', 100)&lt;br /&gt;
addLocation(49.638649,  15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jun 24-28 2015', 107);&lt;br /&gt;
addLocation(23.061687, 113.296423, 'China National Furry Party', 'www.fb.com/CNFP2015', ', Guangzhou&amp;lt;br&amp;gt;China', '', 'Jul 8-19 2015', 40);&lt;br /&gt;
addLocation(50.94149, 6.94651, 'Cologne Furdance', 'www.cologne-cfd.de', 'Zeughaus24, Zeughausstraße 24, 50667 Köln, Germany', '', 'Jul 30 2016', 201); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 1-3 2014', 251);&lt;br /&gt;
addLocation(-37.825497,144.951725, 'ConFurgence', 'confurgence.com', 'Hilton South Wharf&amp;lt;br&amp;gt;2 Convention Centre Place&amp;lt;br&amp;gt;South Wharf, Melbourne&amp;lt;br&amp;gt;Australia 3006', '+61-3-9027-2000', 'Jan 8-10 2016', 544);&lt;br /&gt;
addLocation(52.450713,  -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 27-31 2016', 1228);&lt;br /&gt;
addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 19-21 2015');&lt;br /&gt;
addLocation(51.689585, 11.274526, 'EAST', 'www.east-convention.de.vu', 'DJH Falkenstein/Harz&amp;lt;br&amp;gt;Falkensteiner Weg 2b&amp;lt;br&amp;gt;06463 Falkenstein/Harz&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Sep 19-22 2013');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'ele.furryhost.com', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(52.129813, 11.631281, 'Eurofurence', 'eurofurence.org', 'Maritim Hotel Magdeburg&amp;lt;br&amp;gt;Otto-von-Guericke-Straße 87&amp;lt;br&amp;gt;39104 Magdeburg&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 17-21 2016', 1376);&lt;br /&gt;
addLocation(37.247901,-93.259639, 'F3 Convention', 'www.f3con.com', 'Lamplighter Inn &amp;amp; Suites, North&amp;lt;br&amp;gt;2820 N Glenstone Ave&amp;lt;br&amp;gt;Springfield, MO 65803&amp;lt;br&amp;gt;USA', '+1 (417) 869-3900', 'Nov 20-23 2014', 55);&lt;br /&gt;
addLocation(38.9608308, -77.425447, 'FA: United', 'faunited.org', 'Hyatt Regency Dulles&amp;lt;br&amp;gt;2300 Dulles Corner Blvd.&amp;lt;br&amp;gt;Herndon, Virginia 20171&amp;lt;br&amp;gt;USA', '+1 703 713 1234', 'Sep 11-13 2015', 658);&lt;br /&gt;
addLocation(35.91979, -84.088551, 'Fangcon', 'fangcon.org', 'Holiday Inn Knoxville West&amp;lt;br&amp;gt;9134 Executive Park Dr&amp;lt;br&amp;gt;Knoxville, TN 37923&amp;lt;br&amp;gt;USA', '+1 (865) 693-1011', 'Nov 7-9 2014', 302);&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 25-29 2016', 94);&lt;br /&gt;
addLocation(60.412912, 25.038261, 'FinFur Animus', 'animus.finfur.net', 'Kokoushotelli Gustavelund, Tuusula, Finland', '', 'Mar 19-22 2015', 124);&lt;br /&gt;
addLocation(62.02209, 30.0185, 'FinFur Summer Camp', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
addLocation(35.454262,139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(43.027227, -88.108102, 'Fur Squared', 'http://www.fursquared.com/', 'Sheraton Milwaukee Brookfield Hotel&amp;lt;br&amp;gt;375 S Moorland Rd&amp;lt;br&amp;gt;Brookfield, WI 53005&amp;lt;br&amp;gt;USA', '+1 (262) 364-1100', 'Feb 27- Mar 1 2015', 415);&lt;br /&gt;
addLocation(-41.239835,174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 5-8 2016', 50);&lt;br /&gt;
addLocation(-27.997818, 153.429297, 'FurDU', 'www.furdu.com', 'Outrigger Hotel Surfers Paradise&amp;lt;br&amp;gt;22 View Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'May 27-29 2016', 563);&lt;br /&gt;
addLocation(53.541723, -113.625262, 'Fur-eh!', 'fureh.ca', 'Hilton Garden Inn&amp;lt;br&amp;gt;17610 Stony Plain Road&amp;lt;br&amp;gt;Edmonton, Alberta, T5S 1A2&amp;lt;br&amp;gt;Canada', '+1 (780) 443-2233', 'May 6-8 2016', 200);&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Sept 20-28 2015');&lt;br /&gt;
addLocation(45.582910, -122.575732, 'Furlandia', 'furlandia.org/', 'Sheraton Hotel at PDX Airport &amp;lt;br&amp;gt;8235 NE Airport Way&amp;lt;br&amp;gt;Portland, Oregon 97220&amp;lt;br&amp;gt;USA', '+1 (503) 281-2500', 'May 27-29 2016', 348);&lt;br /&gt;
addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 12-14 2014', 241); //attendance for 2012&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 25 2014', 188);&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 18-20 2016', 750);&lt;br /&gt;
addLocation(41.604459, -72.700497, 'Furpocalypse', 'furpocalypse.org', 'Crowne Plaza Cromwell&amp;lt;br&amp;gt;100 Berlin Road&amp;lt;br&amp;gt;Cromwell, CT 06416&amp;lt;br&amp;gt;USA', '+1 (888) 233-9527', 'Oct 28-Oct 30 2016', 1200);&lt;br /&gt;
addLocation(43.156351,-77.610020, 'FurryCon', 'www.furrycon.com/', 'Radisson Riverside Rochester&amp;lt;br&amp;gt;120 E Main st&amp;lt;br&amp;gt;Rochester, New York&amp;lt;br&amp;gt;USA', '+1 (585) 546-6400', 'Sept 15-18 2015', 0);&lt;br /&gt;
addLocation(28.401971, -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Nov 9-16 2014', 24);&lt;br /&gt;
addLocation(32.956825, -96.822896, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Mar 24-26 2017', 2820);&lt;br /&gt;
addLocation(1.2987509, 103.8482675, 'Furry Lah', 'furrylah.com', 'Bayview Hotel Singapore&amp;lt;br&amp;gt;30 Bencoolen St&amp;lt;br&amp;gt;Singapore 189621', '+65 6337 2882', 'Nov 28-29 2015');&lt;br /&gt;
addLocation(44.86092, -93.23923, 'Furry Migration', 'www.furrymigration.org', 'Ramada Mall of America&amp;lt;br&amp;gt;American Blvd E&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 952-854-3411', 'Sept 9-11 2016', 543);&lt;br /&gt;
addLocation(33.761999, -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Mar 31-Apr 3 2016', 2488);&lt;br /&gt;
addLocation(52.775556,   6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 18-21 2016', 57);&lt;br /&gt;
//addLocation(51.40328, 5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66); //ended in 2013.&lt;br /&gt;
addLocation(37.036680,-76.382842, 'FursonaCon', 'http://www.fursonacon.com/', 'Hampton Roads Convention Center&amp;lt;br&amp;gt;1610 Coliseum Dr&amp;lt;br&amp;gt;Hampton, Virginia&amp;lt;br&amp;gt;USA', '+1 (757) 315-1610', 'Mar 18-20 2016', 0);&lt;br /&gt;
addLocation(52.588333, 14.65, 'Furstock', 'www.polfurs.org', '', '', 'Jul 31-Aug 2 2014', 45);&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'Jul 4-7 2016');&lt;br /&gt;
addLocation(37.330294,-121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 14-18 2016', 3560);&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'furthestnorth.ca', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Sept 4-7 2015', 63);&lt;br /&gt;
addLocation(3.030592,101.716738, 'Furum', 'furum.org', 'Mines Wellnes Hotel&amp;lt;br&amp;gt;Jalan Dulang Off The Darul Ehsan&amp;lt;br&amp;gt;Balakong, 43300 Seri Kembangan&amp;lt;br&amp;gt;Selangor&amp;lt;br&amp;gt;Malaysia', '+60 3-8943 6688', 'Dec 19-20 2015');&lt;br /&gt;
addLocation(53.407281,-2.989201, 'FurVention', 'furvention.org.uk', 'Aloft Liverpool&amp;lt;br&amp;gt;1 North John Street&amp;lt;br&amp;gt;Liverpool, L2 5QW&amp;lt;br&amp;gt;United Kingdom', '+44 151 294 3970', '22-24 Jan 2016', 64);&lt;br /&gt;
addLocation(35.559328, 139.723602, 'Fur-st', 'fur-st.com', '志ら井&amp;lt;br&amp;gt;1 Chome-20-28 Minamikamata&amp;lt;br&amp;gt;Ota, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Oct 18 2014', 144);&lt;br /&gt;
addLocation(39.283286,-84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'Oct 7-9 2016', 316);&lt;br /&gt;
addLocation(38.930864,-77.245601, 'Fur the \'More', 'furthemore.org', 'Sheraton Premiere at Tysons Corner&amp;lt;br&amp;gt;8661 Leesburg Pike&amp;lt;br&amp;gt;Vienna, VA&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Apr 8-10 2016', 714);&lt;br /&gt;
addLocation(51.93180, 19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 10-14 2016', 93);&lt;br /&gt;
addLocation(49.8954237, 5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013', 14);&lt;br /&gt;
addLocation(38.6329283, -90.184827, 'Gateway Furmeet', 'gatewayfurmeet.org', 'Lumière Place Casino and Hotels&amp;lt;br&amp;gt;999 N 2nd St&amp;lt;br&amp;gt;St. Louis, Missouri 63119&amp;lt;br&amp;gt;USA', '+1 (314) 881-7777', 'May 13-15, 2016', 223);&lt;br /&gt;
addLocation(54.358288, 18.621243, 'Gdakon', 'gdakon.org', 'Amber Hotel&amp;lt;br&amp;gt;Gdańsk&amp;lt;br&amp;gt;Poland', '', 'March 9-13 2016', 157);&lt;br /&gt;
addLocation(42.404360,-86.243710, 'Great Lakes Fur Con', 'http://greatlakesfurcon.com/', 'Holiday Inn Express South&amp;lt;br&amp;gt;1741 Phoenix Rd&amp;lt;br&amp;gt;South Haven, MI 49090&amp;lt;br&amp;gt;USA', '+1 (269) 637-8800', 'May 27-29 2016', 264);&lt;br /&gt;
addLocation(47.35016, 7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Oct 29-Nov 1 2015');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Oct 3-7 2012', 50);&lt;br /&gt;
addLocation(49.26716,-123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', 'Nov 7 2015', 202);&lt;br /&gt;
addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Oct 11-13 2013');&lt;br /&gt;
addLocation(25.034847, 121.546979, 'Infurnity', 'infurnity.com', 'SMAJO House&amp;lt;br&amp;gt;Ln. 279, Sec. 1, Fuxing S. Rd.&amp;lt;br&amp;gt;Da’an Dist., Taipei', '', 'Oct 31 2015', 0); // first Taiwan furcon&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Sheraton at Keystone Crossing&amp;lt;br&amp;gt;8787 Keystone Crossing&amp;lt;br&amp;gt;Indianapolis, IN 46240&amp;lt;br&amp;gt;USA', '+1 (317) 846-2700', 'Aug 26-28 2016', 527);&lt;br /&gt;
addLocation(34.743463, 137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 8-10 2016', 400);&lt;br /&gt;
addLocation(35.3334755,139.9891955, 'Kemocon', 'www.kemocon.com', 'Kasuza Akademia Hall&amp;lt;br&amp;gt;2 Chome-3-9 Kazusakamatari&amp;lt;br&amp;gt;Kisarazu, Chiba Prefecture&amp;lt;br&amp;gt;Japan', '', 'Nov 22-23 2014', 420);&lt;br /&gt;
addLocation(34.985692,138.417148, 'Kemono Square', 'eixinweb.jp/kemono-square.html', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 6 2015', 107);&lt;br /&gt;
addLocation(35.654685,139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);  //259 vendors from 246 circles confirmed for 2014&lt;br /&gt;
addLocation(34.6693, 135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2014', 0);&lt;br /&gt;
addLocation(35.1584991, 136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 29, 2015', 141); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(47.336284,  12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Jul 9-16 2016', 40);&lt;br /&gt;
addLocation(28.455824, -81.306028, 'Megaplex', 'megaplexcon.org', 'Orlando Airport Marriott&amp;lt;br&amp;gt;7499 Augusta National Drive&amp;lt;br&amp;gt;Orlando, FL 32822&amp;lt;br&amp;gt;USA', '+1 (407) 851-9000', 'Aug 5-Aug 7 2015', 1281);&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Sep 2-Sep 4 2016', 548);&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'Apr 30-May 3 2015', 200);&lt;br /&gt;
addLocation(35.6568544, 139.7351909, 'Metamore Generation V', 'www.metamor.jp/', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(41.981284, -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Dec 5-7 2015', 3904);&lt;br /&gt;
addLocation(35.7549142, 139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', '', 'May 2 2015', 66); //only attendees signed up from Twipla - 6 people over venue capacity&lt;br /&gt;
addLocation(13.705699, 100.604295, 'Morph Parade', 'fb.me/MOFU.PARADE', 'KV Mansion&amp;lt;br&amp;gt;90 สุขุมวิท 81 บางจาก&amp;lt;br&amp;gt;[Near BTS On-Nut station]&amp;lt;br&amp;gt;Bangkok 10260&amp;lt;br&amp;gt;Thailand', '+66 2-33 222 11', 'Nov 7 2015');&lt;br /&gt;
addLocation(42.443047, -83.435667, 'Motor City Furry Con', 'motorcityfurrycon.org', '21111 Haggerty Road&amp;lt;br&amp;gt;Novi, MI 48375&amp;lt;br&amp;gt;USA', '+1 (248) 349-4000', 'Apr 8-10 2016', 967);&lt;br /&gt;
addLocation(41.846166, -87.942571, 'New Year\'s Eve Con', 'newyearsevecon.com', 'Residence Inn Oak Brook&amp;lt;br&amp;gt;790 Jorie Boulevard&amp;lt;br&amp;gt;Oak Brook, IL 60523&amp;lt;br&amp;gt;USA', '+1 (630) 571-1200', 'Dec 31 2015-Jan 1 2016', 100);&lt;br /&gt;
addLocation(39.65924 , -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 31 2015-Jan 1 2016', 211) &lt;br /&gt;
addLocation(58.9143217, 17.953672, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Utsikten Meetings Hotel&amp;lt;br&amp;gt;Nynäshamn&amp;lt;br&amp;gt;Sweden', '', 'Mar 3-6 2016', 382);&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 29-Nov 1 2014', 352);&lt;br /&gt;
addLocation(-31.944444,115.863842, 'FurWAG', 'furwag.com.au', 'Hotel Ibis Styles Perth&amp;lt;br&amp;gt;15 Robinson Avenue&amp;lt;br&amp;gt;Northbridge 6003&amp;lt;br&amp;gt;Western Australia', '+61 8 9328 0000', 'Sept 30-Oct 2 2016', 177);&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 22-25 2016', 1424);&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'August 8-10, 2014', 180);&lt;br /&gt;
addLocation(34.6701,  -86.577759, 'Rocket City FurMeet', 'rcfm.net', 'Hilton Garden Inn Huntsville South&amp;lt;br&amp;gt;301 Boulevard South SW&amp;lt;br&amp;gt;Huntsville, Alabama 35802&amp;lt;br&amp;gt;USA', '+1 (256) 881-4170', 'May 24-26 2013', 242);&lt;br /&gt;
addLocation(39.762235,-104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Doubletree Hotel Denver&amp;lt;br&amp;gt;3203 Quebec Street&amp;lt;br&amp;gt;Denver, Colorado 80207&amp;lt;br&amp;gt;USA', '+1 (303) 321-3333', 'Aug 12-14 2016', 863);&lt;br /&gt;
addLocation(56.050627,36.823576, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 4-8 2015', 286);&lt;br /&gt;
addLocation(57.478307, -4.22672, 'ScotiaCon', 'www.scotiacon.com', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Nov 7-9 2014', 123);&lt;br /&gt;
addLocation(-26.201, 28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', 'Oct 31-Nov 2 2014', 126);&lt;br /&gt;
addLocation(49.266323,-123.011509, 'VancouFur', 'vancoufur.ca', 'Executive Hotel &amp;amp; Conference Centre Burnaby&amp;lt;br&amp;gt;4201 Lougheed Hwy&amp;lt;br&amp;gt;Burnaby, British Columbia, V5C 3Y6&amp;lt;br&amp;gt;Canada', '', 'Mar 3-6 2016', 600);&lt;br /&gt;
addLocation(45.499474, -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 20-22 2016', 303);&lt;br /&gt;
addLocation(40.4612,-79.7509, 'Western Pennsylvania Furry Weekend', 'wpafw.org', ' North Park Lodge, N Ridge Dr&amp;lt;br&amp;gt;Allison Park, PA 15101&amp;lt;br&amp;gt;USA', '+1 (724) 327-0338', 'Oct 7-9 2016', 132);&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 21-26 2016', 302);&lt;br /&gt;
addLocation(50.456309, 30.504819, 'WUFF', 'wuff.org.ua/2015', 'Hotel «Sofiyevsky Posad»&amp;lt;br&amp;gt;81/2 Kyivs\'ka Str., Sofiivs\'ka Borshchahivka&amp;lt;br&amp;gt;Kiev, Ukraine', '', 'May 6-10 2015', 260)&lt;br /&gt;
addLocation(44.520806, 11.401609, 'Zampacon', 'zampacon.forumfree.it', 'Ostello SanSisto&amp;lt;br&amp;gt;via Viadagola 5&amp;lt;br&amp;gt;Bologna, 40127&amp;lt;br&amp;gt;Italy', '', 'Sep 3-7 2014', 39);&lt;br /&gt;
addLocation(47.503095, 12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 25-Feb 1 2014', 40);&lt;br /&gt;
addLocation(50.773040, 15.311701, 'ZodiaCon', 'zodiacon.org', 'Hotel Emilka&amp;lt;br&amp;gt;Na Novině 401&amp;lt;br&amp;gt;468 61 Desná III&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 30-June 2, 2014', 74);&lt;br /&gt;
addLocation(-23.668839,-46.577533, 'Furboliche 6', 'furboliche.com.br', 'Bomboliche Extra Anchieta&amp;lt;br&amp;gt;R. García Lorca, 301&amp;lt;br&amp;gt;S&amp;amp;atilde;o Bernardo do Campo (SP)&amp;lt;br&amp;gt;Brazil', '','Dec 3, 2016', 261);&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Everywhere (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Japan (&amp;quot;+count_japan+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_JAPAN;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_JAPAN:&lt;br /&gt;
            filter_func = is_in_japan; break;            &lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_japan(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates into numbers for sorting&lt;br /&gt;
// Might benefit from also parsing years.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
	if (!s) {return 4001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (!x || !x[1]) return 4000;&lt;br /&gt;
	day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	switch (x[1]){&lt;br /&gt;
		case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		default:	month = 20;&lt;br /&gt;
	}//switch&lt;br /&gt;
	return month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        markerOpts = {&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: name&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        markerOpts.icon = (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 200 ? purpleIcon : blueIcon ) );&lt;br /&gt;
        markerOpts.shadow = markerShadow;&lt;br /&gt;
        markerOpts.title = a.name;&lt;br /&gt;
&lt;br /&gt;
        a.marker = new google.maps.Marker(markerOpts);&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            //if we can't see the marker, show it in the center&lt;br /&gt;
            if (!map.getBounds().contains(a.marker.getPosition())){&lt;br /&gt;
                map.panTo(a.marker.getPosition());&lt;br /&gt;
            }&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++; &lt;br /&gt;
        } else if (is_in_japan(a.lat, a.lng)) {&lt;br /&gt;
	    count_japan ++; &lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2014-09-08T00:46:06Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Central Plains Furcon: Missing telephone field&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the link button, copy it into a text editor (like Notepad), and use the numbers after 'll='. &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_japan = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_JAPAN = 4;&lt;br /&gt;
var FILT_OTHERS = 5;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
function is_in_japan(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var markerShadow = new google.maps.MarkerImage(&amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/markers/marker_sprite.png&amp;quot;, new google.maps.Size(37,34), new google.maps.Point(20, 0), new google.maps.Point(10, 34)); &lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
addLocation(33.548246, -112.046348, 'Arizona Fur Con', 'Arizonafurcon.com', 'Pointe Hilton Squaw Peak Resort&amp;lt;br&amp;gt;N 16th St&amp;lt;br&amp;gt;Phoenix, Arizona 85020&amp;lt;br&amp;gt;USA', '1(602) 997-2626', 'Oct 31-Nov 2 2014', 533);&lt;br /&gt;
addLocation(-24.265278,-48.406944, 'Abando', 'abando.com.br', 'Parque Estadual Intervales&amp;lt;br&amp;gt;São Roque, São Paulo&amp;lt;br&amp;gt;Brazil', '', 'Feb 14-17 2015', 73);&lt;br /&gt;
//addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jul 3-6 2014', '5577');&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 12-15 2014', 89);&lt;br /&gt;
addLocation(39.523177, -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'Mar 28-30 2014', '704');&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'May 30-Jun 1 2014', 1178);&lt;br /&gt;
addLocation(43.721056,-121.291552, 'Campfire Tails', 'campfiretails.com', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Jul 31-Aug 4 2014', 143);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439, -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(49.638649,  15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jun 27-30 2013', 107);&lt;br /&gt;
addLocation(50.94149, 6.94651, 'Cologne Furdance', 'www.cologne-cfd.de', 'Zeughaus24, Zeughausstraße 24, 50667 Köln, Germany', '', 'Nov 10 2012'); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 1-3 2014', 251);&lt;br /&gt;
addLocation(-37.825497,144.951725, 'ConFurgence', 'confurgence.com', 'Hilton South Wharf&amp;lt;br&amp;gt;2 Convention Centre Place&amp;lt;br&amp;gt;South Wharf, Melbourne&amp;lt;br&amp;gt;Australia 3006', '+61-3-9027-2000', 'Jan 10-12 2014', 474);&lt;br /&gt;
addLocation(52.450713,  -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 23-27 2014', 873);&lt;br /&gt;
addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 6-8 2013');&lt;br /&gt;
addLocation(51.689585, 11.274526, 'EAST', 'www.east-convention.de.vu', 'DJH Falkenstein/Harz&amp;lt;br&amp;gt;Falkensteiner Weg 2b&amp;lt;br&amp;gt;06463 Falkenstein/Harz&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Sep 19-22 2013');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'ele.furryhost.com', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(52.129813, 11.631281, 'Eurofurence', 'eurofurence.org', 'Maritim Hotel Magdeburg&amp;lt;br&amp;gt;Otto-von-Guericke-Straße 87&amp;lt;br&amp;gt;39104 Magdeburg&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 21-25 2013', 1376);&lt;br /&gt;
addLocation(37.247901,-93.259639, 'F3 Convention', 'www.f3con.com', 'Lamplighter Inn &amp;amp; Suites, North&amp;lt;br&amp;gt;2820 N Glenstone Ave&amp;lt;br&amp;gt;Springfield, MO 65803&amp;lt;br&amp;gt;USA', '+1 (417) 869-3900', 'Nov 20-23 2014', 55);&lt;br /&gt;
addLocation(40.703546, -74.184279, 'FA: United', 'faunited.org', 'Hanover Marriott&amp;lt;br&amp;gt;1401 Rt 10 E&amp;lt;br&amp;gt;Whippany, NJ 07981&amp;lt;br&amp;gt;USA', '+1 (973) 538-8811 ', 'Aug 17-19 2012', 629);&lt;br /&gt;
addLocation(35.91979, -84.088551, 'Fangcon', 'fangcon.org', 'Holiday Inn Knoxville West&amp;lt;br&amp;gt;9134 Executive Park Dr&amp;lt;br&amp;gt;Knoxville, TN 37923&amp;lt;br&amp;gt;USA', '+1 (865) 693-1011', 'Nov 07-09 2014', 231);&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 24-28 2012', 94);&lt;br /&gt;
addLocation(62.02209, 30.0185, 'FinFur', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
addLocation(35.454262,139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(-41.239835,174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 6-9 2014', 50);&lt;br /&gt;
addLocation(-27.997818, 153.429297, 'FurDU', 'www.furdu.com', 'Outrigger Hotel Surfers Paradise&amp;lt;br&amp;gt;22 View Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'May 1-3 2015', 563);&lt;br /&gt;
addLocation(53.541723, -113.625262, 'Fur-eh!', 'fureh.ca', 'Hilton Garden Inn&amp;lt;br&amp;gt;17610 Stony Plain Road&amp;lt;br&amp;gt;Edmonton, Alberta, T5S 1A2&amp;lt;br&amp;gt;Canada', '+1 (780) 443-2233', 'May 4-6 2012', 200);&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Oct 7-9 2012');&lt;br /&gt;
addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 12-14 2014', 241); //attendance for 2012&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 25 2014', 148);&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 8-10 2013', 750);&lt;br /&gt;
addLocation(28.401971, -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Nov 9-16 2014', 24);&lt;br /&gt;
addLocation(32.956825, -96.822896, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Feb 21-23 2014', 1492);&lt;br /&gt;
addLocation(44.86092, -93.23923, 'Furry Migration', 'www.furrymigration.org', 'Ramada Mall of America&amp;lt;br&amp;gt;American Blvd E&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 952-854-3411', 'Sep 12-14 2014');&lt;br /&gt;
addLocation(33.761999, -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Apr 9-12 2015', 2488);&lt;br /&gt;
addLocation(52.775556,   6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 28-31 2014', 57);&lt;br /&gt;
//addLocation(51.40328, 5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66); //ended in 2013.&lt;br /&gt;
addLocation(52.588333, 14.65, 'Furstock', 'www.polfurs.org', '', '', 'Jul 31-Aug 2 2014', 45);&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'Jul 2012?');&lt;br /&gt;
addLocation(37.330294,-121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 16-20 2014', 3380);&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'furthestnorth.ca', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Aug 2-5 2013', 63);&lt;br /&gt;
addLocation(35.559328, 139.723602, 'Fur-st', 'fur-st.com', '志ら井&amp;lt;br&amp;gt;1 Chome-20-28 Minamikamata&amp;lt;br&amp;gt;Ota, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Oct 18 2014', 144);&lt;br /&gt;
addLocation(39.283286,-84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'Oct 10-12, 2014');&lt;br /&gt;
addLocation(39.494658,-76.66367, 'Fur the \'More', 'furthemore.org', 'Hunt Valley Inn&amp;lt;br&amp;gt;245 Shawan Rd&amp;lt;br&amp;gt;Baltimore, MD&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Mar 14-16 2014', 714);&lt;br /&gt;
addLocation(51.93180, 19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 20-23, 2014', 93);&lt;br /&gt;
addLocation(49.8954237, 5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013', 14);&lt;br /&gt;
addLocation(47.35016, 7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Nov 15-18 2012');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Oct 3-7 2012', 50);&lt;br /&gt;
addLocation(49.26716,-123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', 'Nov 2014', 202);&lt;br /&gt;
addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Nov 24-25 2012');&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Sheraton at Keystone Crossing&amp;lt;br&amp;gt;8787 Keystone Crossing&amp;lt;br&amp;gt;Indianapolis, IN 46240&amp;lt;br&amp;gt;USA', '+1 (317) 846-2700', 'Aug 9-11 2013', 482);&lt;br /&gt;
addLocation(34.743463, 137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 10-11 2015', 232);&lt;br /&gt;
addLocation(35.3334755,139.9891955, 'Kemocon', 'www.kemocon.com', 'Kasuza Akademia Hall&amp;lt;br&amp;gt;2 Chome-3-9 Kazusakamatari&amp;lt;br&amp;gt;Kisarazu, Chiba Prefecture&amp;lt;br&amp;gt;Japan', '', 'Nov 22-23 2014', 420);&lt;br /&gt;
addLocation(34.985692,138.417148, 'Kemono Square', 'eixinweb.jp/kemono-square.html', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 6 2015', 81); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(35.654685,139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);  //259 vendors from 246 circles confirmed for 2014&lt;br /&gt;
addLocation(34.6693, 135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2014', 0);&lt;br /&gt;
addLocation(35.1584991,136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 23, 2014', 91); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(47.336284,  12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Jul 19-26 2014', 40);&lt;br /&gt;
addLocation(28.455824, -81.306028, 'Megaplex', 'megaplexcon.org', 'Orlando Airport Marriott&amp;lt;br&amp;gt;7499 Augusta National Drive&amp;lt;br&amp;gt;Orlando, FL 32822&amp;lt;br&amp;gt;USA', '+1 (407) 851-9000', 'Jul 25-27 2014', 1281);&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Aug 30-Sep 1 2013', 548);&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'Apr 30-May 3 2015', 200);&lt;br /&gt;
addLocation(35.6568544, 139.7351909, 'Metamore Generation V', 'www.metamor.jp/', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(41.981284, -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Nov 16-18 2012', 2600);&lt;br /&gt;
addLocation(35.7549142,139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', '', 'May 5 2014', 66); //only attendees signed up from Twipla - 6 people over venue capacity&lt;br /&gt;
addLocation(40.105846, -83.017244, 'Morphicon', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 1-4 2014', 317);&lt;br /&gt;
addLocation(39.65924 , -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 31 2013-Jan 1 2014', 211) &lt;br /&gt;
addLocation(58.9143217, 17.953672, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Utsikten Meetings Hotel&amp;lt;br&amp;gt;Nynäshamn&amp;lt;br&amp;gt;Sweden', '', 'Feb 26-Mar 1 2015', 268);&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 23-26 2014', 352);&lt;br /&gt;
addLocation(-31.952222, 115.858889, 'Perthfur Gathering', 'gathering.perthfurs.net', 'Perth, Western Australia', '', 'Aug 13 2011', 76);//&amp;quot;3rd qtr, 2010&amp;quot;&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 27-30 2012', 1424);&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'August 8-10, 2014', 180);&lt;br /&gt;
addLocation(34.6701,  -86.577759, 'Rocket City FurMeet', 'rcfm.net', 'Hilton Garden Inn Huntsville South&amp;lt;br&amp;gt;301 Boulevard South SW&amp;lt;br&amp;gt;Huntsville, Alabama 35802&amp;lt;br&amp;gt;USA', '+1 (256) 881-4170', 'May 24-26 2013', 242);&lt;br /&gt;
addLocation(39.762235,-104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Doubletree Hotel Denver&amp;lt;br&amp;gt;3203 Quebec Street&amp;lt;br&amp;gt;Denver, Colorado 80207&amp;lt;br&amp;gt;USA', '+1 (303) 321-3333', 'Aug 2-4 2013', 863);&lt;br /&gt;
addLocation(56.050627,36.823576, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 4-8 2015', 286);&lt;br /&gt;
addLocation(57.478307, -4.22672, 'ScotiaCon', 'www.scotiacon.com', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Nov 7-9 2014', 123);&lt;br /&gt;
addLocation(-26.201, 28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', 'Oct 31-Nov 2 2014', 126);&lt;br /&gt;
addLocation(49.266323,-123.011509, 'VancouFur', 'vancoufur.ca', 'Executive Hotel &amp;amp; Conference Centre Burnaby&amp;lt;br&amp;gt;4201 Lougheed Hwy&amp;lt;br&amp;gt;Burnaby, British Columbia, V5C 3Y6&amp;lt;br&amp;gt;Canada', '', 'Mar 23-25 2014', 600);&lt;br /&gt;
addLocation(45.499474, -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 23-25 2013', 303);&lt;br /&gt;
addLocation(40.4612,-79.7509, 'Western Pennsylvania Furry Weekend', 'wpafw.org', ' Four Seasons Activity Center, Boyce Park&amp;lt;br&amp;gt;675 Old Frankstown Road&amp;lt;br&amp;gt;Pittsburgh, PA 15239&amp;lt;br&amp;gt;USA', '+1 (724) 327-0338', 'Oct 3-4 2014', 132);&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 25-29 2013', 302);&lt;br /&gt;
addLocation(50.456309, 30.504819, 'WUFF', 'wuff.org.ua/2015', 'Hotel «Sofiyevsky Posad»&amp;lt;br&amp;gt;81/2 Kyivs\'ka Str., Sofiivs\'ka Borshchahivka&amp;lt;br&amp;gt;Kiev, Ukraine', '', 'May 6-10 2015', 260)&lt;br /&gt;
addLocation(44.520806, 11.401609, 'Zampacon', 'zampacon.forumfree.it', 'Ostello SanSisto&amp;lt;br&amp;gt;via Viadagola 5&amp;lt;br&amp;gt;Bologna, 40127&amp;lt;br&amp;gt;Italy', '', 'Sep 3-7 2014', 39);&lt;br /&gt;
addLocation(47.503095, 12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 25-Feb 1 2014', 40);&lt;br /&gt;
addLocation(50.773040, 15.311701, 'ZodiaCon', 'zodiacon.org', 'Hotel Emilka&amp;lt;br&amp;gt;Na Novině 401&amp;lt;br&amp;gt;468 61 Desná III&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 30-June 2, 2014', 74);&lt;br /&gt;
addLocation(37.686355, -97.342702, 'Central Plains Furcon', 'cpfurcon.com', 'Drury Plaza Hotel Broadview&amp;lt;br&amp;gt;400 West Douglas Ave&amp;lt;br&amp;gt;Wichita, KS 67202&amp;lt;br&amp;gt;USA', '', 'Nov 6-10 2014', 100)&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Everywhere (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Japan (&amp;quot;+count_japan+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_JAPAN;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_JAPAN:&lt;br /&gt;
            filter_func = is_in_japan; break;            &lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_japan(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates into numbers for sorting&lt;br /&gt;
// Might benefit from also parsing years.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
	if (!s) {return 4001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (!x || !x[1]) return 4000;&lt;br /&gt;
	day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	switch (x[1]){&lt;br /&gt;
		case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		default:	month = 20;&lt;br /&gt;
	}//switch&lt;br /&gt;
	return month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        markerOpts = {&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: name&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        markerOpts.icon = (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 200 ? purpleIcon : blueIcon ) );&lt;br /&gt;
        markerOpts.shadow = markerShadow;&lt;br /&gt;
        markerOpts.title = a.name;&lt;br /&gt;
&lt;br /&gt;
        a.marker = new google.maps.Marker(markerOpts);&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            //if we can't see the marker, show it in the center&lt;br /&gt;
            if (!map.getBounds().contains(a.marker.getPosition())){&lt;br /&gt;
                map.panTo(a.marker.getPosition());&lt;br /&gt;
            }&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++; &lt;br /&gt;
        } else if (is_in_japan(a.lat, a.lng)) {&lt;br /&gt;
	    count_japan ++; &lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2014-09-08T00:41:47Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the link button, copy it into a text editor (like Notepad), and use the numbers after 'll='. &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_japan = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_JAPAN = 4;&lt;br /&gt;
var FILT_OTHERS = 5;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
function is_in_japan(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var markerShadow = new google.maps.MarkerImage(&amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/markers/marker_sprite.png&amp;quot;, new google.maps.Size(37,34), new google.maps.Point(20, 0), new google.maps.Point(10, 34)); &lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
addLocation(33.548246, -112.046348, 'Arizona Fur Con', 'Arizonafurcon.com', 'Pointe Hilton Squaw Peak Resort&amp;lt;br&amp;gt;N 16th St&amp;lt;br&amp;gt;Phoenix, Arizona 85020&amp;lt;br&amp;gt;USA', '1(602) 997-2626', 'Oct 31-Nov 2 2014', 533);&lt;br /&gt;
addLocation(-24.265278,-48.406944, 'Abando', 'abando.com.br', 'Parque Estadual Intervales&amp;lt;br&amp;gt;São Roque, São Paulo&amp;lt;br&amp;gt;Brazil', '', 'Feb 14-17 2015', 73);&lt;br /&gt;
//addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jul 3-6 2014', '5577');&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 12-15 2014', 89);&lt;br /&gt;
addLocation(39.523177, -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'Mar 28-30 2014', '704');&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'May 30-Jun 1 2014', 1178);&lt;br /&gt;
addLocation(43.721056,-121.291552, 'Campfire Tails', 'campfiretails.com', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Jul 31-Aug 4 2014', 143);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439, -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(49.638649,  15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jun 27-30 2013', 107);&lt;br /&gt;
addLocation(50.94149, 6.94651, 'Cologne Furdance', 'www.cologne-cfd.de', 'Zeughaus24, Zeughausstraße 24, 50667 Köln, Germany', '', 'Nov 10 2012'); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 1-3 2014', 251);&lt;br /&gt;
addLocation(-37.825497,144.951725, 'ConFurgence', 'confurgence.com', 'Hilton South Wharf&amp;lt;br&amp;gt;2 Convention Centre Place&amp;lt;br&amp;gt;South Wharf, Melbourne&amp;lt;br&amp;gt;Australia 3006', '+61-3-9027-2000', 'Jan 10-12 2014', 474);&lt;br /&gt;
addLocation(52.450713,  -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 23-27 2014', 873);&lt;br /&gt;
addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 6-8 2013');&lt;br /&gt;
addLocation(51.689585, 11.274526, 'EAST', 'www.east-convention.de.vu', 'DJH Falkenstein/Harz&amp;lt;br&amp;gt;Falkensteiner Weg 2b&amp;lt;br&amp;gt;06463 Falkenstein/Harz&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Sep 19-22 2013');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'ele.furryhost.com', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(52.129813, 11.631281, 'Eurofurence', 'eurofurence.org', 'Maritim Hotel Magdeburg&amp;lt;br&amp;gt;Otto-von-Guericke-Straße 87&amp;lt;br&amp;gt;39104 Magdeburg&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 21-25 2013', 1376);&lt;br /&gt;
addLocation(37.247901,-93.259639, 'F3 Convention', 'www.f3con.com', 'Lamplighter Inn &amp;amp; Suites, North&amp;lt;br&amp;gt;2820 N Glenstone Ave&amp;lt;br&amp;gt;Springfield, MO 65803&amp;lt;br&amp;gt;USA', '+1 (417) 869-3900', 'Nov 20-23 2014', 55);&lt;br /&gt;
addLocation(40.703546, -74.184279, 'FA: United', 'faunited.org', 'Hanover Marriott&amp;lt;br&amp;gt;1401 Rt 10 E&amp;lt;br&amp;gt;Whippany, NJ 07981&amp;lt;br&amp;gt;USA', '+1 (973) 538-8811 ', 'Aug 17-19 2012', 629);&lt;br /&gt;
addLocation(35.91979, -84.088551, 'Fangcon', 'fangcon.org', 'Holiday Inn Knoxville West&amp;lt;br&amp;gt;9134 Executive Park Dr&amp;lt;br&amp;gt;Knoxville, TN 37923&amp;lt;br&amp;gt;USA', '+1 (865) 693-1011', 'Nov 07-09 2014', 231);&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 24-28 2012', 94);&lt;br /&gt;
addLocation(62.02209, 30.0185, 'FinFur', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
addLocation(35.454262,139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(-41.239835,174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 6-9 2014', 50);&lt;br /&gt;
addLocation(-27.997818, 153.429297, 'FurDU', 'www.furdu.com', 'Outrigger Hotel Surfers Paradise&amp;lt;br&amp;gt;22 View Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'May 1-3 2015', 563);&lt;br /&gt;
addLocation(53.541723, -113.625262, 'Fur-eh!', 'fureh.ca', 'Hilton Garden Inn&amp;lt;br&amp;gt;17610 Stony Plain Road&amp;lt;br&amp;gt;Edmonton, Alberta, T5S 1A2&amp;lt;br&amp;gt;Canada', '+1 (780) 443-2233', 'May 4-6 2012', 200);&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Oct 7-9 2012');&lt;br /&gt;
addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 12-14 2014', 241); //attendance for 2012&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 25 2014', 148);&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 8-10 2013', 750);&lt;br /&gt;
addLocation(28.401971, -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Nov 9-16 2014', 24);&lt;br /&gt;
addLocation(32.956825, -96.822896, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Feb 21-23 2014', 1492);&lt;br /&gt;
addLocation(44.86092, -93.23923, 'Furry Migration', 'www.furrymigration.org', 'Ramada Mall of America&amp;lt;br&amp;gt;American Blvd E&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 952-854-3411', 'Sep 12-14 2014');&lt;br /&gt;
addLocation(33.761999, -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Apr 9-12 2015', 2488);&lt;br /&gt;
addLocation(52.775556,   6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 28-31 2014', 57);&lt;br /&gt;
//addLocation(51.40328, 5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66); //ended in 2013.&lt;br /&gt;
addLocation(52.588333, 14.65, 'Furstock', 'www.polfurs.org', '', '', 'Jul 31-Aug 2 2014', 45);&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'Jul 2012?');&lt;br /&gt;
addLocation(37.330294,-121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 16-20 2014', 3380);&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'furthestnorth.ca', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Aug 2-5 2013', 63);&lt;br /&gt;
addLocation(35.559328, 139.723602, 'Fur-st', 'fur-st.com', '志ら井&amp;lt;br&amp;gt;1 Chome-20-28 Minamikamata&amp;lt;br&amp;gt;Ota, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Oct 18 2014', 144);&lt;br /&gt;
addLocation(39.283286,-84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'Oct 10-12, 2014');&lt;br /&gt;
addLocation(39.494658,-76.66367, 'Fur the \'More', 'furthemore.org', 'Hunt Valley Inn&amp;lt;br&amp;gt;245 Shawan Rd&amp;lt;br&amp;gt;Baltimore, MD&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Mar 14-16 2014', 714);&lt;br /&gt;
addLocation(51.93180, 19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 20-23, 2014', 93);&lt;br /&gt;
addLocation(49.8954237, 5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013', 14);&lt;br /&gt;
addLocation(47.35016, 7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Nov 15-18 2012');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Oct 3-7 2012', 50);&lt;br /&gt;
addLocation(49.26716,-123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', 'Nov 2014', 202);&lt;br /&gt;
addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Nov 24-25 2012');&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Sheraton at Keystone Crossing&amp;lt;br&amp;gt;8787 Keystone Crossing&amp;lt;br&amp;gt;Indianapolis, IN 46240&amp;lt;br&amp;gt;USA', '+1 (317) 846-2700', 'Aug 9-11 2013', 482);&lt;br /&gt;
addLocation(34.743463, 137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 10-11 2015', 232);&lt;br /&gt;
addLocation(35.3334755,139.9891955, 'Kemocon', 'www.kemocon.com', 'Kasuza Akademia Hall&amp;lt;br&amp;gt;2 Chome-3-9 Kazusakamatari&amp;lt;br&amp;gt;Kisarazu, Chiba Prefecture&amp;lt;br&amp;gt;Japan', '', 'Nov 22-23 2014', 420);&lt;br /&gt;
addLocation(34.985692,138.417148, 'Kemono Square', 'eixinweb.jp/kemono-square.html', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 6 2015', 81); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(35.654685,139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);  //259 vendors from 246 circles confirmed for 2014&lt;br /&gt;
addLocation(34.6693, 135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2014', 0);&lt;br /&gt;
addLocation(35.1584991,136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 23, 2014', 91); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(47.336284,  12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Jul 19-26 2014', 40);&lt;br /&gt;
addLocation(28.455824, -81.306028, 'Megaplex', 'megaplexcon.org', 'Orlando Airport Marriott&amp;lt;br&amp;gt;7499 Augusta National Drive&amp;lt;br&amp;gt;Orlando, FL 32822&amp;lt;br&amp;gt;USA', '+1 (407) 851-9000', 'Jul 25-27 2014', 1281);&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Aug 30-Sep 1 2013', 548);&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'Apr 30-May 3 2015', 200);&lt;br /&gt;
addLocation(35.6568544, 139.7351909, 'Metamore Generation V', 'www.metamor.jp/', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(41.981284, -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Nov 16-18 2012', 2600);&lt;br /&gt;
addLocation(35.7549142,139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', '', 'May 5 2014', 66); //only attendees signed up from Twipla - 6 people over venue capacity&lt;br /&gt;
addLocation(40.105846, -83.017244, 'Morphicon', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 1-4 2014', 317);&lt;br /&gt;
addLocation(39.65924 , -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 31 2013-Jan 1 2014', 211) &lt;br /&gt;
addLocation(58.9143217, 17.953672, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Utsikten Meetings Hotel&amp;lt;br&amp;gt;Nynäshamn&amp;lt;br&amp;gt;Sweden', '', 'Feb 26-Mar 1 2015', 268);&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 23-26 2014', 352);&lt;br /&gt;
addLocation(-31.952222, 115.858889, 'Perthfur Gathering', 'gathering.perthfurs.net', 'Perth, Western Australia', '', 'Aug 13 2011', 76);//&amp;quot;3rd qtr, 2010&amp;quot;&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 27-30 2012', 1424);&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'August 8-10, 2014', 180);&lt;br /&gt;
addLocation(34.6701,  -86.577759, 'Rocket City FurMeet', 'rcfm.net', 'Hilton Garden Inn Huntsville South&amp;lt;br&amp;gt;301 Boulevard South SW&amp;lt;br&amp;gt;Huntsville, Alabama 35802&amp;lt;br&amp;gt;USA', '+1 (256) 881-4170', 'May 24-26 2013', 242);&lt;br /&gt;
addLocation(39.762235,-104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Doubletree Hotel Denver&amp;lt;br&amp;gt;3203 Quebec Street&amp;lt;br&amp;gt;Denver, Colorado 80207&amp;lt;br&amp;gt;USA', '+1 (303) 321-3333', 'Aug 2-4 2013', 863);&lt;br /&gt;
addLocation(56.050627,36.823576, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 4-8 2015', 286);&lt;br /&gt;
addLocation(57.478307, -4.22672, 'ScotiaCon', 'www.scotiacon.com', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Nov 7-9 2014', 123);&lt;br /&gt;
addLocation(-26.201, 28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', 'Oct 31-Nov 2 2014', 126);&lt;br /&gt;
addLocation(49.266323,-123.011509, 'VancouFur', 'vancoufur.ca', 'Executive Hotel &amp;amp; Conference Centre Burnaby&amp;lt;br&amp;gt;4201 Lougheed Hwy&amp;lt;br&amp;gt;Burnaby, British Columbia, V5C 3Y6&amp;lt;br&amp;gt;Canada', '', 'Mar 23-25 2014', 600);&lt;br /&gt;
addLocation(45.499474, -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 23-25 2013', 303);&lt;br /&gt;
addLocation(40.4612,-79.7509, 'Western Pennsylvania Furry Weekend', 'wpafw.org', ' Four Seasons Activity Center, Boyce Park&amp;lt;br&amp;gt;675 Old Frankstown Road&amp;lt;br&amp;gt;Pittsburgh, PA 15239&amp;lt;br&amp;gt;USA', '+1 (724) 327-0338', 'Oct 3-4 2014', 132);&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 25-29 2013', 302);&lt;br /&gt;
addLocation(50.456309, 30.504819, 'WUFF', 'wuff.org.ua/2015', 'Hotel «Sofiyevsky Posad»&amp;lt;br&amp;gt;81/2 Kyivs\'ka Str., Sofiivs\'ka Borshchahivka&amp;lt;br&amp;gt;Kiev, Ukraine', '', 'May 6-10 2015', 260)&lt;br /&gt;
addLocation(44.520806, 11.401609, 'Zampacon', 'zampacon.forumfree.it', 'Ostello SanSisto&amp;lt;br&amp;gt;via Viadagola 5&amp;lt;br&amp;gt;Bologna, 40127&amp;lt;br&amp;gt;Italy', '', 'Sep 3-7 2014', 39);&lt;br /&gt;
addLocation(47.503095, 12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 25-Feb 1 2014', 40);&lt;br /&gt;
addLocation(50.773040, 15.311701, 'ZodiaCon', 'zodiacon.org', 'Hotel Emilka&amp;lt;br&amp;gt;Na Novině 401&amp;lt;br&amp;gt;468 61 Desná III&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 30-June 2, 2014', 74);&lt;br /&gt;
addLocation(37.686355, -97.342702, 'Central Plains Furcon', 'cpfurcon.com', 'Drury Plaza Hotel Broadview&amp;lt;br&amp;gt;400 West Douglas Ave&amp;lt;br&amp;gt;Wichita, KS 67202&amp;lt;br&amp;gt;USA', 'Nov 6-10 2014', 100)&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Everywhere (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Japan (&amp;quot;+count_japan+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_JAPAN;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_JAPAN:&lt;br /&gt;
            filter_func = is_in_japan; break;            &lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_japan(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates into numbers for sorting&lt;br /&gt;
// Might benefit from also parsing years.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
	if (!s) {return 4001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (!x || !x[1]) return 4000;&lt;br /&gt;
	day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	switch (x[1]){&lt;br /&gt;
		case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		default:	month = 20;&lt;br /&gt;
	}//switch&lt;br /&gt;
	return month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        markerOpts = {&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: name&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        markerOpts.icon = (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 200 ? purpleIcon : blueIcon ) );&lt;br /&gt;
        markerOpts.shadow = markerShadow;&lt;br /&gt;
        markerOpts.title = a.name;&lt;br /&gt;
&lt;br /&gt;
        a.marker = new google.maps.Marker(markerOpts);&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            //if we can't see the marker, show it in the center&lt;br /&gt;
            if (!map.getBounds().contains(a.marker.getPosition())){&lt;br /&gt;
                map.panTo(a.marker.getPosition());&lt;br /&gt;
            }&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++; &lt;br /&gt;
        } else if (is_in_japan(a.lat, a.lng)) {&lt;br /&gt;
	    count_japan ++; &lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2014-07-11T23:44:19Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Update dates and attendence for Morphicon,Oklacon, Rusfurrence, VancouFur, What The Fur&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the link button, copy it into a text editor (like Notepad), and use the numbers after 'll='. &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_japan = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_JAPAN = 4;&lt;br /&gt;
var FILT_OTHERS = 5;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
function is_in_japan(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var markerShadow = new google.maps.MarkerImage(&amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/markers/marker_sprite.png&amp;quot;, new google.maps.Size(37,34), new google.maps.Point(20, 0), new google.maps.Point(10, 34)); &lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
addLocation(-24.265278,-48.406944, 'Abando', 'abando.com.br', 'Parque Estadual Intervales&amp;lt;br&amp;gt;São Roque, São Paulo&amp;lt;br&amp;gt;Brazil', '', 'Feb 14-17 2015', 73);&lt;br /&gt;
//addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jul 3-6 2014', '5577');&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 12-15 2014', 89);&lt;br /&gt;
addLocation(39.523177, -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'Mar 28-30 2014', '704');&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'May 30-Jun 1 2014', 1178);&lt;br /&gt;
addLocation(43.721056,-121.291552, 'Campfire Tails', 'campfiretails.com', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Jul 31-Aug 4 2014', 143);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439, -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(49.638649,  15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jun 27-30 2013', 107);&lt;br /&gt;
addLocation(50.94149, 6.94651, 'Cologne Furdance', 'www.cologne-cfd.de', 'Zeughaus24, Zeughausstraße 24, 50667 Köln, Germany', '', 'Nov 10 2012'); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 1-3 2014', 251);&lt;br /&gt;
addLocation(-37.825497,144.951725, 'ConFurgence', 'confurgence.com', 'Hilton South Wharf&amp;lt;br&amp;gt;2 Convention Centre Place&amp;lt;br&amp;gt;South Wharf, Melbourne&amp;lt;br&amp;gt;Australia 3006', '+61-3-9027-2000', 'Jan 10-12 2014', 474);&lt;br /&gt;
addLocation(52.450713,  -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 23-27 2014', 873);&lt;br /&gt;
addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 6-8 2013');&lt;br /&gt;
addLocation(51.689585, 11.274526, 'EAST', 'www.east-convention.de.vu', 'DJH Falkenstein/Harz&amp;lt;br&amp;gt;Falkensteiner Weg 2b&amp;lt;br&amp;gt;06463 Falkenstein/Harz&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Sep 19-22 2013');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'ele.furryhost.com', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(52.129813, 11.631281, 'Eurofurence', 'eurofurence.org', 'Maritim Hotel Magdeburg&amp;lt;br&amp;gt;Otto-von-Guericke-Straße 87&amp;lt;br&amp;gt;39104 Magdeburg&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 21-25 2013', 1376);&lt;br /&gt;
addLocation(37.247901,-93.259639, 'F3 Convention', 'www.f3con.com', 'Lamplighter Inn &amp;amp; Suites, North&amp;lt;br&amp;gt;2820 N Glenstone Ave&amp;lt;br&amp;gt;Springfield, MO 65803&amp;lt;br&amp;gt;USA', '+1 (417) 869-3900', 'Nov 20-23 2014', 55);&lt;br /&gt;
addLocation(40.703546, -74.184279, 'FA: United', 'faunited.org', 'Hanover Marriott&amp;lt;br&amp;gt;1401 Rt 10 E&amp;lt;br&amp;gt;Whippany, NJ 07981&amp;lt;br&amp;gt;USA', '+1 (973) 538-8811 ', 'Aug 17-19 2012', 629);&lt;br /&gt;
addLocation(35.91979, -84.088551, 'Fangcon', 'fangcon.org', 'Holiday Inn Knoxville West&amp;lt;br&amp;gt;9134 Executive Park Dr&amp;lt;br&amp;gt;Knoxville, TN 37923&amp;lt;br&amp;gt;USA', '+1 (865) 693-1011', 'Nov 07-09 2014', 231);&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 24-28 2012', 94);&lt;br /&gt;
addLocation(62.02209, 30.0185, 'FinFur', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
addLocation(35.454262,139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(-41.239835,174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 6-9 2014', 50);&lt;br /&gt;
addLocation(-28.00041, 153.4264, 'FurDU', 'www.furrydownunder.com', 'Vibe Hotel Gold Coast&amp;lt;br&amp;gt;42 Ferny Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'Mar 28-30 2014', 246);&lt;br /&gt;
addLocation(53.541723, -113.625262, 'Fur-eh!', 'fureh.ca', 'Hilton Garden Inn&amp;lt;br&amp;gt;17610 Stony Plain Road&amp;lt;br&amp;gt;Edmonton, Alberta, T5S 1A2&amp;lt;br&amp;gt;Canada', '+1 (780) 443-2233', 'May 4-6 2012', 200);&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Oct 7-9 2012');&lt;br /&gt;
addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 12-14 2014', 241); //attendance for 2012&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 25 2014', 148);&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 8-10 2013', 750);&lt;br /&gt;
addLocation(28.401971, -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Nov 9-16 2014', 24);&lt;br /&gt;
addLocation(32.956825, -96.822896, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Feb 21-23 2014', 1492);&lt;br /&gt;
addLocation(44.86092, -93.23923, 'Furry Migration', 'www.furrymigration.org', 'Ramada Mall of America&amp;lt;br&amp;gt;American Blvd E&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 952-854-3411', 'Sep 12-14 2014');&lt;br /&gt;
addLocation(33.761999, -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Apr 9-12 2015', 2488);&lt;br /&gt;
addLocation(52.775556,   6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 28-31 2014', 57);&lt;br /&gt;
//addLocation(51.40328, 5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66); //ended in 2013.&lt;br /&gt;
addLocation(52.588333, 14.65, 'Furstock', 'www.polfurs.org', '', '', 'Jul 31-Aug 2 2014', 45);&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'Jul 2012?');&lt;br /&gt;
addLocation(37.330294,-121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 16-20 2014', 3380);&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'furthestnorth.ca', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Aug 2-5 2013', 63);&lt;br /&gt;
addLocation(35.559328, 139.723602, 'Fur-st', 'fur-st.com', '志ら井&amp;lt;br&amp;gt;1 Chome-20-28 Minamikamata&amp;lt;br&amp;gt;Ota, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Oct 18 2014', 144);&lt;br /&gt;
addLocation(39.283286,-84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'Oct 10-12, 2014');&lt;br /&gt;
addLocation(39.494658,-76.66367, 'Fur the \'More', 'furthemore.org', 'Hunt Valley Inn&amp;lt;br&amp;gt;245 Shawan Rd&amp;lt;br&amp;gt;Baltimore, MD&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Mar 14-16 2014', 714);&lt;br /&gt;
addLocation(51.93180, 19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 20-23, 2014', 93);&lt;br /&gt;
addLocation(49.8954237, 5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013', 14);&lt;br /&gt;
addLocation(47.35016, 7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Nov 15-18 2012');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Oct 3-7 2012', 50);&lt;br /&gt;
addLocation(49.26716,-123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', 'Nov 2014', 202);&lt;br /&gt;
addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Nov 24-25 2012');&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Sheraton at Keystone Crossing&amp;lt;br&amp;gt;8787 Keystone Crossing&amp;lt;br&amp;gt;Indianapolis, IN 46240&amp;lt;br&amp;gt;USA', '+1 (317) 846-2700', 'Aug 9-11 2013', 482);&lt;br /&gt;
addLocation(34.743463, 137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 10-11 2015', 232);&lt;br /&gt;
addLocation(35.3334755,139.9891955, 'Kemocon', 'www.kemocon.com', 'Kasuza Akademia Hall&amp;lt;br&amp;gt;2 Chome-3-9 Kazusakamatari&amp;lt;br&amp;gt;Kisarazu, Chiba Prefecture&amp;lt;br&amp;gt;Japan', '', 'Nov 22-23 2014', 420);&lt;br /&gt;
addLocation(34.985692,138.417148, 'Kemono Square', 'eixinweb.jp/kemono-square.html', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 6 2015', 81); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(35.654685,139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);  //259 vendors from 246 circles confirmed for 2014&lt;br /&gt;
addLocation(34.6693, 135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2013', 0);&lt;br /&gt;
addLocation(35.1584991,136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 23, 2014', 91); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(47.336284,  12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Jul 19-26 2014', 40);&lt;br /&gt;
addLocation(28.333938, -81.587638, 'Megaplex', 'megaplexcon.org', 'Worldgate Resort Hotel&amp;lt;br&amp;gt;3011 Maingate Lane&amp;lt;br&amp;gt;Kissimmee, FL 34747-2302&amp;lt;br&amp;gt;USA', '+1 (866) 705-7676', 'Jul 27-29 2012', 553);&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Aug 30-Sep 1 2013', 548);&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'Apr 30-May 3 2015', 200);&lt;br /&gt;
addLocation(35.6568544, 139.7351909, 'Metamore Generation V', 'www.metamor.jp/', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(41.981284, -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Nov 16-18 2012', 2600);&lt;br /&gt;
addLocation(35.7549142,139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', '', 'May 5 2014', 66); //only attendees signed up from Twipla - 6 people over venue capacity&lt;br /&gt;
addLocation(40.105846, -83.017244, 'Morphicon', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 1-4 2014', 317);&lt;br /&gt;
addLocation(39.65924 , -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 31 2013-Jan 1 2014', 211) &lt;br /&gt;
addLocation(58.9143217, 17.953672, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Utsikten Meetings Hotel&amp;lt;br&amp;gt;Nynäshamn&amp;lt;br&amp;gt;Sweden', '', 'Feb 26-Mar 1 2015', 268);&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 23-26 2014', 352);&lt;br /&gt;
addLocation(-31.952222, 115.858889, 'Perthfur Gathering', 'gathering.perthfurs.net', 'Perth, Western Australia', '', 'Aug 13 2011', 76);//&amp;quot;3rd qtr, 2010&amp;quot;&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 27-30 2012', 1424);&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'August 8-10, 2014', 180);&lt;br /&gt;
addLocation(34.6701,  -86.577759, 'Rocket City FurMeet', 'rcfm.net', 'Hilton Garden Inn Huntsville South&amp;lt;br&amp;gt;301 Boulevard South SW&amp;lt;br&amp;gt;Huntsville, Alabama 35802&amp;lt;br&amp;gt;USA', '+1 (256) 881-4170', 'May 24-26 2013', 242);&lt;br /&gt;
addLocation(39.762235,-104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Doubletree Hotel Denver&amp;lt;br&amp;gt;3203 Quebec Street&amp;lt;br&amp;gt;Denver, Colorado 80207&amp;lt;br&amp;gt;USA', '+1 (303) 321-3333', 'Aug 2-4 2013', 863);&lt;br /&gt;
addLocation(56.050627,36.823576, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 4-8 2015', 286);&lt;br /&gt;
addLocation(57.478307, -4.22672, 'ScotiaCon', 'www.scotiacon.com', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Nov 7-9 2014', 123);&lt;br /&gt;
addLocation(-26.201, 28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', 'Oct 31-Nov 2 2014', 126);&lt;br /&gt;
addLocation(49.266323,-123.011509, 'VancouFur', 'vancoufur.ca', 'Executive Hotel &amp;amp; Conference Centre Burnaby&amp;lt;br&amp;gt;4201 Lougheed Hwy&amp;lt;br&amp;gt;Burnaby, British Columbia, V5C 3Y6&amp;lt;br&amp;gt;Canada', '', 'Mar 23-25 2014', 600);&lt;br /&gt;
addLocation(45.499474, -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 23-25 2013', 303);&lt;br /&gt;
addLocation(40.4612,-79.7509, 'Western Pennsylvania Furry Weekend', 'wpafw.org', ' Four Seasons Activity Center, Boyce Park&amp;lt;br&amp;gt;675 Old Frankstown Road&amp;lt;br&amp;gt;Pittsburgh, PA 15239&amp;lt;br&amp;gt;USA', '+1 (724) 327-0338', 'Oct 3-4 2014', 132);&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 25-29 2013', 302);&lt;br /&gt;
addLocation(50.456309, 30.504819, 'WUFF', 'wuff.org.ua/2015', 'Hotel «Sofiyevsky Posad»&amp;lt;br&amp;gt;81/2 Kyivs\'ka Str., Sofiivs\'ka Borshchahivka&amp;lt;br&amp;gt;Kiev, Ukraine', '', 'May 6-10 2015', 260)&lt;br /&gt;
addLocation(44.520806, 11.401609, 'Zampacon', 'zampacon.forumfree.it', 'Ostello SanSisto&amp;lt;br&amp;gt;via Viadagola 5&amp;lt;br&amp;gt;Bologna, 40127&amp;lt;br&amp;gt;Italy', '', 'Sep 3-7 2014', 39);&lt;br /&gt;
addLocation(47.503095, 12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 25-Feb 1 2014', 40);&lt;br /&gt;
addLocation(50.773040, 15.311701, 'ZodiaCon', 'zodiacon.org', 'Hotel Emilka&amp;lt;br&amp;gt;Na Novině 401&amp;lt;br&amp;gt;468 61 Desná III&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 30-June 2, 2014', 74);&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Everywhere (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Japan (&amp;quot;+count_japan+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_JAPAN;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_JAPAN:&lt;br /&gt;
            filter_func = is_in_japan; break;            &lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_japan(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates into numbers for sorting&lt;br /&gt;
// Might benefit from also parsing years.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
	if (!s) {return 4001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (!x || !x[1]) return 4000;&lt;br /&gt;
	day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	switch (x[1]){&lt;br /&gt;
		case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		default:	month = 20;&lt;br /&gt;
	}//switch&lt;br /&gt;
	return month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        markerOpts = {&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: name&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        markerOpts.icon = (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 200 ? purpleIcon : blueIcon ) );&lt;br /&gt;
        markerOpts.shadow = markerShadow;&lt;br /&gt;
        markerOpts.title = a.name;&lt;br /&gt;
&lt;br /&gt;
        a.marker = new google.maps.Marker(markerOpts);&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            //if we can't see the marker, show it in the center&lt;br /&gt;
            if (!map.getBounds().contains(a.marker.getPosition())){&lt;br /&gt;
                map.panTo(a.marker.getPosition());&lt;br /&gt;
            }&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++; &lt;br /&gt;
        } else if (is_in_japan(a.lat, a.lng)) {&lt;br /&gt;
	    count_japan ++; &lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2014-07-11T23:33:23Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Update dates for Condition, FurDU, Howloween, Mephit Mini Con&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the link button, copy it into a text editor (like Notepad), and use the numbers after 'll='. &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_japan = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_JAPAN = 4;&lt;br /&gt;
var FILT_OTHERS = 5;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
function is_in_japan(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var markerShadow = new google.maps.MarkerImage(&amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/markers/marker_sprite.png&amp;quot;, new google.maps.Size(37,34), new google.maps.Point(20, 0), new google.maps.Point(10, 34)); &lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
addLocation(-24.265278,-48.406944, 'Abando', 'abando.com.br', 'Parque Estadual Intervales&amp;lt;br&amp;gt;São Roque, São Paulo&amp;lt;br&amp;gt;Brazil', '', 'Feb 14-17 2015', 73);&lt;br /&gt;
//addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jul 3-6 2014', '5577');&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 12-15 2014', 89);&lt;br /&gt;
addLocation(39.523177, -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'Mar 28-30 2014', '704');&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'May 30-Jun 1 2014', 1178);&lt;br /&gt;
addLocation(43.721056,-121.291552, 'Campfire Tails', 'campfiretails.com', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Jul 31-Aug 4 2014', 143);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439, -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(49.638649,  15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jun 27-30 2013', 107);&lt;br /&gt;
addLocation(50.94149, 6.94651, 'Cologne Furdance', 'www.cologne-cfd.de', 'Zeughaus24, Zeughausstraße 24, 50667 Köln, Germany', '', 'Nov 10 2012'); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 1-3 2014', 251);&lt;br /&gt;
addLocation(-37.825497,144.951725, 'ConFurgence', 'confurgence.com', 'Hilton South Wharf&amp;lt;br&amp;gt;2 Convention Centre Place&amp;lt;br&amp;gt;South Wharf, Melbourne&amp;lt;br&amp;gt;Australia 3006', '+61-3-9027-2000', 'Jan 10-12 2014', 474);&lt;br /&gt;
addLocation(52.450713,  -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 23-27 2014', 873);&lt;br /&gt;
addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 6-8 2013');&lt;br /&gt;
addLocation(51.689585, 11.274526, 'EAST', 'www.east-convention.de.vu', 'DJH Falkenstein/Harz&amp;lt;br&amp;gt;Falkensteiner Weg 2b&amp;lt;br&amp;gt;06463 Falkenstein/Harz&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Sep 19-22 2013');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'ele.furryhost.com', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(52.129813, 11.631281, 'Eurofurence', 'eurofurence.org', 'Maritim Hotel Magdeburg&amp;lt;br&amp;gt;Otto-von-Guericke-Straße 87&amp;lt;br&amp;gt;39104 Magdeburg&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 21-25 2013', 1376);&lt;br /&gt;
addLocation(37.247901,-93.259639, 'F3 Convention', 'www.f3con.com', 'Lamplighter Inn &amp;amp; Suites, North&amp;lt;br&amp;gt;2820 N Glenstone Ave&amp;lt;br&amp;gt;Springfield, MO 65803&amp;lt;br&amp;gt;USA', '+1 (417) 869-3900', 'Nov 20-23 2014', 55);&lt;br /&gt;
addLocation(40.703546, -74.184279, 'FA: United', 'faunited.org', 'Hanover Marriott&amp;lt;br&amp;gt;1401 Rt 10 E&amp;lt;br&amp;gt;Whippany, NJ 07981&amp;lt;br&amp;gt;USA', '+1 (973) 538-8811 ', 'Aug 17-19 2012', 629);&lt;br /&gt;
addLocation(35.91979, -84.088551, 'Fangcon', 'fangcon.org', 'Holiday Inn Knoxville West&amp;lt;br&amp;gt;9134 Executive Park Dr&amp;lt;br&amp;gt;Knoxville, TN 37923&amp;lt;br&amp;gt;USA', '+1 (865) 693-1011', 'Nov 07-09 2014', 231);&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 24-28 2012', 94);&lt;br /&gt;
addLocation(62.02209, 30.0185, 'FinFur', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
addLocation(35.454262,139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(-41.239835,174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 6-9 2014', 50);&lt;br /&gt;
addLocation(-28.00041, 153.4264, 'FurDU', 'www.furrydownunder.com', 'Vibe Hotel Gold Coast&amp;lt;br&amp;gt;42 Ferny Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'Mar 28-30 2014', 246);&lt;br /&gt;
addLocation(53.541723, -113.625262, 'Fur-eh!', 'fureh.ca', 'Hilton Garden Inn&amp;lt;br&amp;gt;17610 Stony Plain Road&amp;lt;br&amp;gt;Edmonton, Alberta, T5S 1A2&amp;lt;br&amp;gt;Canada', '+1 (780) 443-2233', 'May 4-6 2012', 200);&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Oct 7-9 2012');&lt;br /&gt;
addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 12-14 2014', 241); //attendance for 2012&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 25 2014', 148);&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 8-10 2013', 750);&lt;br /&gt;
addLocation(28.401971, -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Nov 9-16 2014', 24);&lt;br /&gt;
addLocation(32.956825, -96.822896, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Feb 21-23 2014', 1492);&lt;br /&gt;
addLocation(44.86092, -93.23923, 'Furry Migration', 'www.furrymigration.org', 'Ramada Mall of America&amp;lt;br&amp;gt;American Blvd E&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 952-854-3411', 'Sep 12-14 2014');&lt;br /&gt;
addLocation(33.761999, -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Apr 9-12 2015', 2488);&lt;br /&gt;
addLocation(52.775556,   6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 28-31 2014', 57);&lt;br /&gt;
//addLocation(51.40328, 5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66); //ended in 2013.&lt;br /&gt;
addLocation(52.588333, 14.65, 'Furstock', 'www.polfurs.org', '', '', 'Jul 31-Aug 2 2014', 45);&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'Jul 2012?');&lt;br /&gt;
addLocation(37.330294,-121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 16-20 2014', 3380);&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'furthestnorth.ca', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Aug 2-5 2013', 63);&lt;br /&gt;
addLocation(35.559328, 139.723602, 'Fur-st', 'fur-st.com', '志ら井&amp;lt;br&amp;gt;1 Chome-20-28 Minamikamata&amp;lt;br&amp;gt;Ota, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Oct 18 2014', 144);&lt;br /&gt;
addLocation(39.283286,-84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'Oct 10-12, 2014');&lt;br /&gt;
addLocation(39.494658,-76.66367, 'Fur the \'More', 'furthemore.org', 'Hunt Valley Inn&amp;lt;br&amp;gt;245 Shawan Rd&amp;lt;br&amp;gt;Baltimore, MD&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Mar 14-16 2014', 714);&lt;br /&gt;
addLocation(51.93180, 19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 20-23, 2014', 93);&lt;br /&gt;
addLocation(49.8954237, 5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013', 14);&lt;br /&gt;
addLocation(47.35016, 7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Nov 15-18 2012');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Oct 3-7 2012', 50);&lt;br /&gt;
addLocation(49.26716,-123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', 'Nov 2014', 202);&lt;br /&gt;
addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Nov 24-25 2012');&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Sheraton at Keystone Crossing&amp;lt;br&amp;gt;8787 Keystone Crossing&amp;lt;br&amp;gt;Indianapolis, IN 46240&amp;lt;br&amp;gt;USA', '+1 (317) 846-2700', 'Aug 9-11 2013', 482);&lt;br /&gt;
addLocation(34.743463, 137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 10-11 2015', 232);&lt;br /&gt;
addLocation(35.3334755,139.9891955, 'Kemocon', 'www.kemocon.com', 'Kasuza Akademia Hall&amp;lt;br&amp;gt;2 Chome-3-9 Kazusakamatari&amp;lt;br&amp;gt;Kisarazu, Chiba Prefecture&amp;lt;br&amp;gt;Japan', '', 'Nov 22-23 2014', 420);&lt;br /&gt;
addLocation(34.985692,138.417148, 'Kemono Square', 'eixinweb.jp/kemono-square.html', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 6 2015', 81); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(35.654685,139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);  //259 vendors from 246 circles confirmed for 2014&lt;br /&gt;
addLocation(34.6693, 135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2013', 0);&lt;br /&gt;
addLocation(35.1584991,136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 23, 2014', 91); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(47.336284,  12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Jul 19-26 2014', 40);&lt;br /&gt;
addLocation(28.333938, -81.587638, 'Megaplex', 'megaplexcon.org', 'Worldgate Resort Hotel&amp;lt;br&amp;gt;3011 Maingate Lane&amp;lt;br&amp;gt;Kissimmee, FL 34747-2302&amp;lt;br&amp;gt;USA', '+1 (866) 705-7676', 'Jul 27-29 2012', 553);&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Aug 30-Sep 1 2013', 548);&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'Apr 30-May 3 2015', 200);&lt;br /&gt;
addLocation(35.6568544, 139.7351909, 'Metamore Generation V', 'www.metamor.jp/', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(41.981284, -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Nov 16-18 2012', 2600);&lt;br /&gt;
addLocation(35.7549142,139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', '', 'May 5 2014', 66); //only attendees signed up from Twipla - 6 people over venue capacity&lt;br /&gt;
addLocation(40.105846, -83.017244, 'Morphicon', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 3-6 2012', 275);&lt;br /&gt;
addLocation(39.65924 , -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 31 2013-Jan 1 2014', 211) &lt;br /&gt;
addLocation(58.9143217, 17.953672, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Utsikten Meetings Hotel&amp;lt;br&amp;gt;Nynäshamn&amp;lt;br&amp;gt;Sweden', '', 'Feb 26-Mar 1 2015', 268);&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 17-22 2012', 352);&lt;br /&gt;
addLocation(-31.952222, 115.858889, 'Perthfur Gathering', 'gathering.perthfurs.net', 'Perth, Western Australia', '', 'Aug 13 2011', 76);//&amp;quot;3rd qtr, 2010&amp;quot;&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 27-30 2012', 1424);&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'August 8-10, 2014', 180);&lt;br /&gt;
addLocation(34.6701,  -86.577759, 'Rocket City FurMeet', 'rcfm.net', 'Hilton Garden Inn Huntsville South&amp;lt;br&amp;gt;301 Boulevard South SW&amp;lt;br&amp;gt;Huntsville, Alabama 35802&amp;lt;br&amp;gt;USA', '+1 (256) 881-4170', 'May 24-26 2013', 242);&lt;br /&gt;
addLocation(39.762235,-104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Doubletree Hotel Denver&amp;lt;br&amp;gt;3203 Quebec Street&amp;lt;br&amp;gt;Denver, Colorado 80207&amp;lt;br&amp;gt;USA', '+1 (303) 321-3333', 'Aug 2-4 2013', 863);&lt;br /&gt;
addLocation(56.050627,36.823576, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 5-10 2013', 286);&lt;br /&gt;
addLocation(57.478307, -4.22672, 'ScotiaCon', 'www.scotiacon.com', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Nov 7-9 2014', 123);&lt;br /&gt;
addLocation(-26.201, 28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', 'Oct 31-Nov 2 2014', 126);&lt;br /&gt;
addLocation(49.266323,-123.011509, 'VancouFur', 'vancoufur.ca', 'Executive Hotel &amp;amp; Conference Centre Burnaby&amp;lt;br&amp;gt;4201 Lougheed Hwy&amp;lt;br&amp;gt;Burnaby, British Columbia, V5C 3Y6&amp;lt;br&amp;gt;Canada', '', 'Mar 1-3 2013', 479);&lt;br /&gt;
addLocation(45.499474, -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 17-19 2013', 282);&lt;br /&gt;
addLocation(40.4612,-79.7509, 'Western Pennsylvania Furry Weekend', 'wpafw.org', ' Four Seasons Activity Center, Boyce Park&amp;lt;br&amp;gt;675 Old Frankstown Road&amp;lt;br&amp;gt;Pittsburgh, PA 15239&amp;lt;br&amp;gt;USA', '+1 (724) 327-0338', 'Oct 3-4 2014', 132);&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 25-29 2013', 302);&lt;br /&gt;
addLocation(50.456309, 30.504819, 'WUFF', 'wuff.org.ua/2015', 'Hotel «Sofiyevsky Posad»&amp;lt;br&amp;gt;81/2 Kyivs\'ka Str., Sofiivs\'ka Borshchahivka&amp;lt;br&amp;gt;Kiev, Ukraine', '', 'May 6-10 2015', 260)&lt;br /&gt;
addLocation(44.520806, 11.401609, 'Zampacon', 'zampacon.forumfree.it', 'Ostello SanSisto&amp;lt;br&amp;gt;via Viadagola 5&amp;lt;br&amp;gt;Bologna, 40127&amp;lt;br&amp;gt;Italy', '', 'Sep 3-7 2014', 39);&lt;br /&gt;
addLocation(47.503095, 12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 25-Feb 1 2014', 40);&lt;br /&gt;
addLocation(50.773040, 15.311701, 'ZodiaCon', 'zodiacon.org', 'Hotel Emilka&amp;lt;br&amp;gt;Na Novině 401&amp;lt;br&amp;gt;468 61 Desná III&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 30-June 2, 2014', 74);&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Everywhere (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Japan (&amp;quot;+count_japan+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_JAPAN;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_JAPAN:&lt;br /&gt;
            filter_func = is_in_japan; break;            &lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_japan(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates into numbers for sorting&lt;br /&gt;
// Might benefit from also parsing years.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
	if (!s) {return 4001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (!x || !x[1]) return 4000;&lt;br /&gt;
	day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	switch (x[1]){&lt;br /&gt;
		case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		default:	month = 20;&lt;br /&gt;
	}//switch&lt;br /&gt;
	return month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        markerOpts = {&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: name&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        markerOpts.icon = (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 200 ? purpleIcon : blueIcon ) );&lt;br /&gt;
        markerOpts.shadow = markerShadow;&lt;br /&gt;
        markerOpts.title = a.name;&lt;br /&gt;
&lt;br /&gt;
        a.marker = new google.maps.Marker(markerOpts);&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            //if we can't see the marker, show it in the center&lt;br /&gt;
            if (!map.getBounds().contains(a.marker.getPosition())){&lt;br /&gt;
                map.panTo(a.marker.getPosition());&lt;br /&gt;
            }&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++; &lt;br /&gt;
        } else if (is_in_japan(a.lat, a.lng)) {&lt;br /&gt;
	    count_japan ++; &lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2014-06-24T12:56:58Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Update for Furloween, New Year\'s Furry Ball, NordicFuzzCon, WUFF&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the link button, copy it into a text editor (like Notepad), and use the numbers after 'll='. &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_japan = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_JAPAN = 4;&lt;br /&gt;
var FILT_OTHERS = 5;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
function is_in_japan(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var markerShadow = new google.maps.MarkerImage(&amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/markers/marker_sprite.png&amp;quot;, new google.maps.Size(37,34), new google.maps.Point(20, 0), new google.maps.Point(10, 34)); &lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
addLocation(-24.265278,-48.406944, 'Abando', 'abando.com.br', 'Parque Estadual Intervales&amp;lt;br&amp;gt;São Roque, São Paulo&amp;lt;br&amp;gt;Brazil', '', 'Feb 14-17 2015', 73);&lt;br /&gt;
//addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jul 3-6 2014', '5577');&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 12-15 2014', 89);&lt;br /&gt;
addLocation(39.523177, -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'Mar 28-30 2014', '704');&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'May 30-Jun 1 2014', 1178);&lt;br /&gt;
addLocation(43.721056,-121.291552, 'Campfire Tails', 'campfiretails.com', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Jul 31-Aug 4 2014', 143);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439, -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(49.638649,  15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jun 27-30 2013', 107);&lt;br /&gt;
addLocation(50.94149, 6.94651, 'Cologne Furdance', 'www.cologne-cfd.de', 'Zeughaus24, Zeughausstraße 24, 50667 Köln, Germany', '', 'Nov 10 2012'); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 2-4 2013', 251);&lt;br /&gt;
addLocation(-37.825497,144.951725, 'ConFurgence', 'confurgence.com', 'Hilton South Wharf&amp;lt;br&amp;gt;2 Convention Centre Place&amp;lt;br&amp;gt;South Wharf, Melbourne&amp;lt;br&amp;gt;Australia 3006', '+61-3-9027-2000', 'Jan 10-12 2014', 474);&lt;br /&gt;
addLocation(52.450713,  -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 23-27 2014', 873);&lt;br /&gt;
addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 6-8 2013');&lt;br /&gt;
addLocation(51.689585, 11.274526, 'EAST', 'www.east-convention.de.vu', 'DJH Falkenstein/Harz&amp;lt;br&amp;gt;Falkensteiner Weg 2b&amp;lt;br&amp;gt;06463 Falkenstein/Harz&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Sep 19-22 2013');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'ele.furryhost.com', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(52.129813, 11.631281, 'Eurofurence', 'eurofurence.org', 'Maritim Hotel Magdeburg&amp;lt;br&amp;gt;Otto-von-Guericke-Straße 87&amp;lt;br&amp;gt;39104 Magdeburg&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 21-25 2013', 1376);&lt;br /&gt;
addLocation(37.247901,-93.259639, 'F3 Convention', 'www.f3con.com', 'Lamplighter Inn &amp;amp; Suites, North&amp;lt;br&amp;gt;2820 N Glenstone Ave&amp;lt;br&amp;gt;Springfield, MO 65803&amp;lt;br&amp;gt;USA', '+1 (417) 869-3900', 'Nov 20-23 2014', 55);&lt;br /&gt;
addLocation(40.703546, -74.184279, 'FA: United', 'faunited.org', 'Hanover Marriott&amp;lt;br&amp;gt;1401 Rt 10 E&amp;lt;br&amp;gt;Whippany, NJ 07981&amp;lt;br&amp;gt;USA', '+1 (973) 538-8811 ', 'Aug 17-19 2012', 629);&lt;br /&gt;
addLocation(35.91979, -84.088551, 'Fangcon', 'fangcon.org', 'Holiday Inn Knoxville West&amp;lt;br&amp;gt;9134 Executive Park Dr&amp;lt;br&amp;gt;Knoxville, TN 37923&amp;lt;br&amp;gt;USA', '+1 (865) 693-1011', 'Nov 07-09 2014', 231);&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 24-28 2012', 94);&lt;br /&gt;
addLocation(62.02209, 30.0185, 'FinFur', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
addLocation(35.454262,139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(-41.239835,174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 6-9 2014', 50);&lt;br /&gt;
addLocation(-28.00041, 153.4264, 'FurDU', 'www.furrydownunder.com', 'Vibe Hotel Gold Coast&amp;lt;br&amp;gt;42 Ferny Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'Apr 27-29 2012', 246);&lt;br /&gt;
addLocation(53.541723, -113.625262, 'Fur-eh!', 'fureh.ca', 'Hilton Garden Inn&amp;lt;br&amp;gt;17610 Stony Plain Road&amp;lt;br&amp;gt;Edmonton, Alberta, T5S 1A2&amp;lt;br&amp;gt;Canada', '+1 (780) 443-2233', 'May 4-6 2012', 200);&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Oct 7-9 2012');&lt;br /&gt;
addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 12-14 2014', 241); //attendance for 2012&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 25 2014', 148);&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 8-10 2013', 750);&lt;br /&gt;
addLocation(28.401971, -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Nov 9-16 2014', 24);&lt;br /&gt;
addLocation(32.956825, -96.822896, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Feb 21-23 2014', 1492);&lt;br /&gt;
addLocation(44.86092, -93.23923, 'Furry Migration', 'www.furrymigration.org', 'Ramada Mall of America&amp;lt;br&amp;gt;American Blvd E&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 952-854-3411', 'Sep 12-14 2014');&lt;br /&gt;
addLocation(33.761999, -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Apr 9-12 2015', 2488);&lt;br /&gt;
addLocation(52.775556,   6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 28-31 2014', 57);&lt;br /&gt;
//addLocation(51.40328, 5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66); //ended in 2013.&lt;br /&gt;
addLocation(52.588333, 14.65, 'Furstock', 'www.polfurs.org', '', '', 'Jul 31-Aug 2 2014', 45);&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'Jul 2012?');&lt;br /&gt;
addLocation(37.330294,-121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 16-20 2014', 3380);&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'furthestnorth.ca', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Aug 2-5 2013', 63);&lt;br /&gt;
addLocation(35.559328, 139.723602, 'Fur-st', 'fur-st.com', '志ら井&amp;lt;br&amp;gt;1 Chome-20-28 Minamikamata&amp;lt;br&amp;gt;Ota, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Oct 18 2014', 144);&lt;br /&gt;
addLocation(39.283286,-84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'Oct 10-12, 2014');&lt;br /&gt;
addLocation(39.494658,-76.66367, 'Fur the \'More', 'furthemore.org', 'Hunt Valley Inn&amp;lt;br&amp;gt;245 Shawan Rd&amp;lt;br&amp;gt;Baltimore, MD&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Mar 14-16 2014', 714);&lt;br /&gt;
addLocation(51.93180, 19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 20-23, 2014', 93);&lt;br /&gt;
addLocation(49.8954237, 5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013', 14);&lt;br /&gt;
addLocation(47.35016, 7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Nov 15-18 2012');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Oct 3-7 2012', 50);&lt;br /&gt;
addLocation(49.26716,-123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', 'Nov 10-12 2011', 182);&lt;br /&gt;
addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Nov 24-25 2012');&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Sheraton at Keystone Crossing&amp;lt;br&amp;gt;8787 Keystone Crossing&amp;lt;br&amp;gt;Indianapolis, IN 46240&amp;lt;br&amp;gt;USA', '+1 (317) 846-2700', 'Aug 9-11 2013', 482);&lt;br /&gt;
addLocation(34.743463, 137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 10-11 2015', 232);&lt;br /&gt;
addLocation(35.3334755,139.9891955, 'Kemocon', 'www.kemocon.com', 'Kasuza Akademia Hall&amp;lt;br&amp;gt;2 Chome-3-9 Kazusakamatari&amp;lt;br&amp;gt;Kisarazu, Chiba Prefecture&amp;lt;br&amp;gt;Japan', '', 'Nov 22-23 2014', 420);&lt;br /&gt;
addLocation(34.985692,138.417148, 'Kemono Square', 'eixinweb.jp/kemono-square.html', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 6 2015', 81); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(35.654685,139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);  //259 vendors from 246 circles confirmed for 2014&lt;br /&gt;
addLocation(34.6693, 135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2013', 0);&lt;br /&gt;
addLocation(35.1584991,136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 23, 2014', 91); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(47.336284,  12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Jul 19-26 2014', 40);&lt;br /&gt;
addLocation(28.333938, -81.587638, 'Megaplex', 'megaplexcon.org', 'Worldgate Resort Hotel&amp;lt;br&amp;gt;3011 Maingate Lane&amp;lt;br&amp;gt;Kissimmee, FL 34747-2302&amp;lt;br&amp;gt;USA', '+1 (866) 705-7676', 'Jul 27-29 2012', 553);&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Aug 30-Sep 1 2013', 548);&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May 9-12 2013', 200);&lt;br /&gt;
addLocation(35.6568544, 139.7351909, 'Metamore Generation V', 'www.metamor.jp/', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(41.981284, -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Nov 16-18 2012', 2600);&lt;br /&gt;
addLocation(35.7549142,139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', '', 'May 5 2014', 66); //only attendees signed up from Twipla - 6 people over venue capacity&lt;br /&gt;
addLocation(40.105846, -83.017244, 'Morphicon', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 3-6 2012', 275);&lt;br /&gt;
addLocation(39.65924 , -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 31 2013-Jan 1 2014', 211) &lt;br /&gt;
addLocation(58.9143217, 17.953672, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Utsikten Meetings Hotel&amp;lt;br&amp;gt;Nynäshamn&amp;lt;br&amp;gt;Sweden', '', 'Feb 26-Mar 1 2015', 268);&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 17-22 2012', 352);&lt;br /&gt;
addLocation(-31.952222, 115.858889, 'Perthfur Gathering', 'gathering.perthfurs.net', 'Perth, Western Australia', '', 'Aug 13 2011', 76);//&amp;quot;3rd qtr, 2010&amp;quot;&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 27-30 2012', 1424);&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'August 8-10, 2014', 180);&lt;br /&gt;
addLocation(34.6701,  -86.577759, 'Rocket City FurMeet', 'rcfm.net', 'Hilton Garden Inn Huntsville South&amp;lt;br&amp;gt;301 Boulevard South SW&amp;lt;br&amp;gt;Huntsville, Alabama 35802&amp;lt;br&amp;gt;USA', '+1 (256) 881-4170', 'May 24-26 2013', 242);&lt;br /&gt;
addLocation(39.762235,-104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Doubletree Hotel Denver&amp;lt;br&amp;gt;3203 Quebec Street&amp;lt;br&amp;gt;Denver, Colorado 80207&amp;lt;br&amp;gt;USA', '+1 (303) 321-3333', 'Aug 2-4 2013', 863);&lt;br /&gt;
addLocation(56.050627,36.823576, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 5-10 2013', 286);&lt;br /&gt;
addLocation(57.478307, -4.22672, 'ScotiaCon', 'www.scotiacon.com', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Nov 7-9 2014', 123);&lt;br /&gt;
addLocation(-26.201, 28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', '30 Aug-1 Sep 2013', 126);&lt;br /&gt;
addLocation(49.266323,-123.011509, 'VancouFur', 'vancoufur.ca', 'Executive Hotel &amp;amp; Conference Centre Burnaby&amp;lt;br&amp;gt;4201 Lougheed Hwy&amp;lt;br&amp;gt;Burnaby, British Columbia, V5C 3Y6&amp;lt;br&amp;gt;Canada', '', 'Mar 1-3 2013', 479);&lt;br /&gt;
addLocation(45.499474, -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 17-19 2013', 282);&lt;br /&gt;
addLocation(40.4612,-79.7509, 'Western Pennsylvania Furry Weekend', 'wpafw.org', ' Four Seasons Activity Center, Boyce Park&amp;lt;br&amp;gt;675 Old Frankstown Road&amp;lt;br&amp;gt;Pittsburgh, PA 15239&amp;lt;br&amp;gt;USA', '+1 (724) 327-0338', 'Oct 3-4 2014', 132);&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 25-29 2013', 302);&lt;br /&gt;
addLocation(50.456309, 30.504819, 'WUFF', 'wuff.org.ua/2015', 'Hotel «Sofiyevsky Posad»&amp;lt;br&amp;gt;81/2 Kyivs\'ka Str., Sofiivs\'ka Borshchahivka&amp;lt;br&amp;gt;Kiev, Ukraine', '', 'May 6-10 2015', 260)&lt;br /&gt;
addLocation(44.520806, 11.401609, 'Zampacon', 'zampacon.forumfree.it', 'Ostello SanSisto&amp;lt;br&amp;gt;via Viadagola 5&amp;lt;br&amp;gt;Bologna, 40127&amp;lt;br&amp;gt;Italy', '', 'Sep 3-7 2014', 39);&lt;br /&gt;
addLocation(47.503095, 12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 25-Feb 1 2014', 40);&lt;br /&gt;
addLocation(50.773040, 15.311701, 'ZodiaCon', 'zodiacon.org', 'Hotel Emilka&amp;lt;br&amp;gt;Na Novině 401&amp;lt;br&amp;gt;468 61 Desná III&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 30-June 2, 2014', 74);&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Everywhere (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Japan (&amp;quot;+count_japan+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_JAPAN;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_JAPAN:&lt;br /&gt;
            filter_func = is_in_japan; break;            &lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_japan(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates into numbers for sorting&lt;br /&gt;
// Might benefit from also parsing years.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
	if (!s) {return 4001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (!x || !x[1]) return 4000;&lt;br /&gt;
	day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	switch (x[1]){&lt;br /&gt;
		case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		default:	month = 20;&lt;br /&gt;
	}//switch&lt;br /&gt;
	return month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        markerOpts = {&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: name&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        markerOpts.icon = (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 200 ? purpleIcon : blueIcon ) );&lt;br /&gt;
        markerOpts.shadow = markerShadow;&lt;br /&gt;
        markerOpts.title = a.name;&lt;br /&gt;
&lt;br /&gt;
        a.marker = new google.maps.Marker(markerOpts);&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            //if we can't see the marker, show it in the center&lt;br /&gt;
            if (!map.getBounds().contains(a.marker.getPosition())){&lt;br /&gt;
                map.panTo(a.marker.getPosition());&lt;br /&gt;
            }&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++; &lt;br /&gt;
        } else if (is_in_japan(a.lat, a.lng)) {&lt;br /&gt;
	    count_japan ++; &lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2014-06-24T12:22:55Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: +wpafw venue name&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the link button, copy it into a text editor (like Notepad), and use the numbers after 'll='. &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_japan = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_JAPAN = 4;&lt;br /&gt;
var FILT_OTHERS = 5;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
function is_in_japan(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var markerShadow = new google.maps.MarkerImage(&amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/markers/marker_sprite.png&amp;quot;, new google.maps.Size(37,34), new google.maps.Point(20, 0), new google.maps.Point(10, 34)); &lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
addLocation(-24.265278,-48.406944, 'Abando', 'abando.com.br', 'Parque Estadual Intervales&amp;lt;br&amp;gt;São Roque, São Paulo&amp;lt;br&amp;gt;Brazil', '', 'Feb 14-17 2015', 73);&lt;br /&gt;
//addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jul 3-6 2014', '5577');&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 12-15 2014', 89);&lt;br /&gt;
addLocation(39.523177, -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'Mar 28-30 2014', '704');&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'May 30-Jun 1 2014', 1178);&lt;br /&gt;
addLocation(43.721056,-121.291552, 'Campfire Tails', 'campfiretails.com', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Jul 31-Aug 4 2014', 143);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439, -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(49.638649,  15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jun 27-30 2013', 107);&lt;br /&gt;
addLocation(50.94149, 6.94651, 'Cologne Furdance', 'www.cologne-cfd.de', 'Zeughaus24, Zeughausstraße 24, 50667 Köln, Germany', '', 'Nov 10 2012'); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 2-4 2013', 251);&lt;br /&gt;
addLocation(-37.825497,144.951725, 'ConFurgence', 'confurgence.com', 'Hilton South Wharf&amp;lt;br&amp;gt;2 Convention Centre Place&amp;lt;br&amp;gt;South Wharf, Melbourne&amp;lt;br&amp;gt;Australia 3006', '+61-3-9027-2000', 'Jan 10-12 2014', 474);&lt;br /&gt;
addLocation(52.450713,  -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 23-27 2014', 873);&lt;br /&gt;
addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 6-8 2013');&lt;br /&gt;
addLocation(51.689585, 11.274526, 'EAST', 'www.east-convention.de.vu', 'DJH Falkenstein/Harz&amp;lt;br&amp;gt;Falkensteiner Weg 2b&amp;lt;br&amp;gt;06463 Falkenstein/Harz&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Sep 19-22 2013');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'ele.furryhost.com', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(52.129813, 11.631281, 'Eurofurence', 'eurofurence.org', 'Maritim Hotel Magdeburg&amp;lt;br&amp;gt;Otto-von-Guericke-Straße 87&amp;lt;br&amp;gt;39104 Magdeburg&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 21-25 2013', 1376);&lt;br /&gt;
addLocation(37.247901,-93.259639, 'F3 Convention', 'www.f3con.com', 'Lamplighter Inn &amp;amp; Suites, North&amp;lt;br&amp;gt;2820 N Glenstone Ave&amp;lt;br&amp;gt;Springfield, MO 65803&amp;lt;br&amp;gt;USA', '+1 (417) 869-3900', 'Nov 20-23 2014', 55);&lt;br /&gt;
addLocation(40.703546, -74.184279, 'FA: United', 'faunited.org', 'Hanover Marriott&amp;lt;br&amp;gt;1401 Rt 10 E&amp;lt;br&amp;gt;Whippany, NJ 07981&amp;lt;br&amp;gt;USA', '+1 (973) 538-8811 ', 'Aug 17-19 2012', 629);&lt;br /&gt;
addLocation(35.91979, -84.088551, 'Fangcon', 'fangcon.org', 'Holiday Inn Knoxville West&amp;lt;br&amp;gt;9134 Executive Park Dr&amp;lt;br&amp;gt;Knoxville, TN 37923&amp;lt;br&amp;gt;USA', '+1 (865) 693-1011', 'Nov 07-09 2014', 231);&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 24-28 2012', 94);&lt;br /&gt;
addLocation(62.02209, 30.0185, 'FinFur', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
addLocation(35.454262,139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(-41.239835,174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 6-9 2014', 50);&lt;br /&gt;
addLocation(-28.00041, 153.4264, 'FurDU', 'www.furrydownunder.com', 'Vibe Hotel Gold Coast&amp;lt;br&amp;gt;42 Ferny Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'Apr 27-29 2012', 246);&lt;br /&gt;
addLocation(53.541723, -113.625262, 'Fur-eh!', 'fureh.ca', 'Hilton Garden Inn&amp;lt;br&amp;gt;17610 Stony Plain Road&amp;lt;br&amp;gt;Edmonton, Alberta, T5S 1A2&amp;lt;br&amp;gt;Canada', '+1 (780) 443-2233', 'May 4-6 2012', 200);&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Oct 7-9 2012');&lt;br /&gt;
addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 12-14 2014', 241); //attendance for 2012&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 27 2012', 148);&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 8-10 2013', 750);&lt;br /&gt;
addLocation(28.401971, -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Nov 9-16 2014', 24);&lt;br /&gt;
addLocation(32.956825, -96.822896, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Feb 21-23 2014', 1492);&lt;br /&gt;
addLocation(44.86092, -93.23923, 'Furry Migration', 'www.furrymigration.org', 'Ramada Mall of America&amp;lt;br&amp;gt;American Blvd E&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 952-854-3411', 'Sep 12-14 2014');&lt;br /&gt;
addLocation(33.761999, -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Apr 9-12 2015', 2488);&lt;br /&gt;
addLocation(52.775556,   6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 28-31 2014', 57);&lt;br /&gt;
//addLocation(51.40328, 5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66); //ended in 2013.&lt;br /&gt;
addLocation(52.588333, 14.65, 'Furstock', 'www.polfurs.org', '', '', 'Jul 31-Aug 2 2014', 45);&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'Jul 2012?');&lt;br /&gt;
addLocation(37.330294,-121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 16-20 2014', 3380);&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'furthestnorth.ca', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Aug 2-5 2013', 63);&lt;br /&gt;
addLocation(35.559328, 139.723602, 'Fur-st', 'fur-st.com', '志ら井&amp;lt;br&amp;gt;1 Chome-20-28 Minamikamata&amp;lt;br&amp;gt;Ota, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Oct 18 2014', 144);&lt;br /&gt;
addLocation(39.283286,-84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'Oct 10-12, 2014');&lt;br /&gt;
addLocation(39.494658,-76.66367, 'Fur the \'More', 'furthemore.org', 'Hunt Valley Inn&amp;lt;br&amp;gt;245 Shawan Rd&amp;lt;br&amp;gt;Baltimore, MD&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Mar 14-16 2014', 714);&lt;br /&gt;
addLocation(51.93180, 19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 20-23, 2014', 93);&lt;br /&gt;
addLocation(49.8954237, 5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013', 14);&lt;br /&gt;
addLocation(47.35016, 7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Nov 15-18 2012');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Oct 3-7 2012', 50);&lt;br /&gt;
addLocation(49.26716,-123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', 'Nov 10-12 2011', 182);&lt;br /&gt;
addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Nov 24-25 2012');&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Sheraton at Keystone Crossing&amp;lt;br&amp;gt;8787 Keystone Crossing&amp;lt;br&amp;gt;Indianapolis, IN 46240&amp;lt;br&amp;gt;USA', '+1 (317) 846-2700', 'Aug 9-11 2013', 482);&lt;br /&gt;
addLocation(34.743463, 137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 10-11 2015', 232);&lt;br /&gt;
addLocation(35.3334755,139.9891955, 'Kemocon', 'www.kemocon.com', 'Kasuza Akademia Hall&amp;lt;br&amp;gt;2 Chome-3-9 Kazusakamatari&amp;lt;br&amp;gt;Kisarazu, Chiba Prefecture&amp;lt;br&amp;gt;Japan', '', 'Nov 22-23 2014', 420);&lt;br /&gt;
addLocation(34.985692,138.417148, 'Kemono Square', 'eixinweb.jp/kemono-square.html', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 6 2015', 81); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(35.654685,139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);  //259 vendors from 246 circles confirmed for 2014&lt;br /&gt;
addLocation(34.6693, 135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2013', 0);&lt;br /&gt;
addLocation(35.1584991,136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 23, 2014', 91); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(47.336284,  12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Jul 19-26 2014', 40);&lt;br /&gt;
addLocation(28.333938, -81.587638, 'Megaplex', 'megaplexcon.org', 'Worldgate Resort Hotel&amp;lt;br&amp;gt;3011 Maingate Lane&amp;lt;br&amp;gt;Kissimmee, FL 34747-2302&amp;lt;br&amp;gt;USA', '+1 (866) 705-7676', 'Jul 27-29 2012', 553);&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Aug 30-Sep 1 2013', 548);&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May 9-12 2013', 200);&lt;br /&gt;
addLocation(35.6568544, 139.7351909, 'Metamore Generation V', 'www.metamor.jp/', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(41.981284, -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Nov 16-18 2012', 2600);&lt;br /&gt;
addLocation(35.7549142,139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', '', 'May 5 2014', 66); //only attendees signed up from Twipla - 6 people over venue capacity&lt;br /&gt;
addLocation(40.105846, -83.017244, 'Morphicon', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 3-6 2012', 275);&lt;br /&gt;
addLocation(39.65924 , -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 30-Jan 1 2011', 146) // Was replaced by Furstivus in 2012, but planned to resume for 2013&lt;br /&gt;
addLocation(59.166046, 18.13522, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Quality Hotel Winn Haninge&amp;lt;br&amp;gt;Rudsjoterassen 3&amp;lt;br&amp;gt;SE 136 40  Handen&amp;lt;br&amp;gt;Sweden', '', 'Mar 28-31 2013', 175);&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 17-22 2012', 352);&lt;br /&gt;
addLocation(-31.952222, 115.858889, 'Perthfur Gathering', 'gathering.perthfurs.net', 'Perth, Western Australia', '', 'Aug 13 2011', 76);//&amp;quot;3rd qtr, 2010&amp;quot;&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 27-30 2012', 1424);&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'August 8-10, 2014', 180);&lt;br /&gt;
addLocation(34.6701,  -86.577759, 'Rocket City FurMeet', 'rcfm.net', 'Hilton Garden Inn Huntsville South&amp;lt;br&amp;gt;301 Boulevard South SW&amp;lt;br&amp;gt;Huntsville, Alabama 35802&amp;lt;br&amp;gt;USA', '+1 (256) 881-4170', 'May 24-26 2013', 242);&lt;br /&gt;
addLocation(39.762235,-104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Doubletree Hotel Denver&amp;lt;br&amp;gt;3203 Quebec Street&amp;lt;br&amp;gt;Denver, Colorado 80207&amp;lt;br&amp;gt;USA', '+1 (303) 321-3333', 'Aug 2-4 2013', 863);&lt;br /&gt;
addLocation(56.050627,36.823576, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 5-10 2013', 286);&lt;br /&gt;
addLocation(57.478307, -4.22672, 'ScotiaCon', 'www.scotiacon.com', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Nov 7-9 2014', 123);&lt;br /&gt;
addLocation(-26.201, 28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', '30 Aug-1 Sep 2013', 126);&lt;br /&gt;
addLocation(49.266323,-123.011509, 'VancouFur', 'vancoufur.ca', 'Executive Hotel &amp;amp; Conference Centre Burnaby&amp;lt;br&amp;gt;4201 Lougheed Hwy&amp;lt;br&amp;gt;Burnaby, British Columbia, V5C 3Y6&amp;lt;br&amp;gt;Canada', '', 'Mar 1-3 2013', 479);&lt;br /&gt;
addLocation(45.499474, -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 17-19 2013', 282);&lt;br /&gt;
addLocation(40.4612,-79.7509, 'Western Pennsylvania Furry Weekend', 'wpafw.org', ' Four Seasons Activity Center, Boyce Park&amp;lt;br&amp;gt;675 Old Frankstown Road&amp;lt;br&amp;gt;Pittsburgh, PA 15239&amp;lt;br&amp;gt;USA', '+1 (724) 327-0338', 'Oct 3-4 2014', 132);&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 25-29 2013', 302);&lt;br /&gt;
addLocation(50.456309, 30.504819, 'WUFF', 'wuff.org.ua/2013', 'Kiev, Ukraine', '', 'May 9-12 2013', 164)&lt;br /&gt;
addLocation(44.520806, 11.401609, 'Zampacon', 'zampacon.forumfree.it', 'Ostello SanSisto&amp;lt;br&amp;gt;via Viadagola 5&amp;lt;br&amp;gt;Bologna, 40127&amp;lt;br&amp;gt;Italy', '', 'Sep 3-7 2014', 39);&lt;br /&gt;
addLocation(47.503095, 12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 25-Feb 1 2014', 40);&lt;br /&gt;
addLocation(50.773040, 15.311701, 'ZodiaCon', 'zodiacon.org', 'Hotel Emilka&amp;lt;br&amp;gt;Na Novině 401&amp;lt;br&amp;gt;468 61 Desná III&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 30-June 2, 2014', 74);&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Everywhere (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Japan (&amp;quot;+count_japan+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_JAPAN;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_JAPAN:&lt;br /&gt;
            filter_func = is_in_japan; break;            &lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_japan(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates into numbers for sorting&lt;br /&gt;
// Might benefit from also parsing years.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
	if (!s) {return 4001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (!x || !x[1]) return 4000;&lt;br /&gt;
	day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	switch (x[1]){&lt;br /&gt;
		case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		default:	month = 20;&lt;br /&gt;
	}//switch&lt;br /&gt;
	return month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        markerOpts = {&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: name&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        markerOpts.icon = (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 200 ? purpleIcon : blueIcon ) );&lt;br /&gt;
        markerOpts.shadow = markerShadow;&lt;br /&gt;
        markerOpts.title = a.name;&lt;br /&gt;
&lt;br /&gt;
        a.marker = new google.maps.Marker(markerOpts);&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            //if we can't see the marker, show it in the center&lt;br /&gt;
            if (!map.getBounds().contains(a.marker.getPosition())){&lt;br /&gt;
                map.panTo(a.marker.getPosition());&lt;br /&gt;
            }&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++; &lt;br /&gt;
        } else if (is_in_japan(a.lat, a.lng)) {&lt;br /&gt;
	    count_japan ++; &lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2014-06-24T12:20:38Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Updates for Campfire Tails, ScotiaCon, Western Pennsylvania Furry Weekend (I'm having some technical issues trying to find WPAFW's new venue's address)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the link button, copy it into a text editor (like Notepad), and use the numbers after 'll='. &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_japan = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_JAPAN = 4;&lt;br /&gt;
var FILT_OTHERS = 5;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
function is_in_japan(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var markerShadow = new google.maps.MarkerImage(&amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/markers/marker_sprite.png&amp;quot;, new google.maps.Size(37,34), new google.maps.Point(20, 0), new google.maps.Point(10, 34)); &lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
addLocation(-24.265278,-48.406944, 'Abando', 'abando.com.br', 'Parque Estadual Intervales&amp;lt;br&amp;gt;São Roque, São Paulo&amp;lt;br&amp;gt;Brazil', '', 'Feb 14-17 2015', 73);&lt;br /&gt;
//addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jul 3-6 2014', '5577');&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 12-15 2014', 89);&lt;br /&gt;
addLocation(39.523177, -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'Mar 28-30 2014', '704');&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'May 30-Jun 1 2014', 1178);&lt;br /&gt;
addLocation(43.721056,-121.291552, 'Campfire Tails', 'campfiretails.com', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Jul 31-Aug 4 2014', 143);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439, -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(49.638649,  15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jun 27-30 2013', 107);&lt;br /&gt;
addLocation(50.94149, 6.94651, 'Cologne Furdance', 'www.cologne-cfd.de', 'Zeughaus24, Zeughausstraße 24, 50667 Köln, Germany', '', 'Nov 10 2012'); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 2-4 2013', 251);&lt;br /&gt;
addLocation(-37.825497,144.951725, 'ConFurgence', 'confurgence.com', 'Hilton South Wharf&amp;lt;br&amp;gt;2 Convention Centre Place&amp;lt;br&amp;gt;South Wharf, Melbourne&amp;lt;br&amp;gt;Australia 3006', '+61-3-9027-2000', 'Jan 10-12 2014', 474);&lt;br /&gt;
addLocation(52.450713,  -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 23-27 2014', 873);&lt;br /&gt;
addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 6-8 2013');&lt;br /&gt;
addLocation(51.689585, 11.274526, 'EAST', 'www.east-convention.de.vu', 'DJH Falkenstein/Harz&amp;lt;br&amp;gt;Falkensteiner Weg 2b&amp;lt;br&amp;gt;06463 Falkenstein/Harz&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Sep 19-22 2013');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'ele.furryhost.com', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(52.129813, 11.631281, 'Eurofurence', 'eurofurence.org', 'Maritim Hotel Magdeburg&amp;lt;br&amp;gt;Otto-von-Guericke-Straße 87&amp;lt;br&amp;gt;39104 Magdeburg&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 21-25 2013', 1376);&lt;br /&gt;
addLocation(37.247901,-93.259639, 'F3 Convention', 'www.f3con.com', 'Lamplighter Inn &amp;amp; Suites, North&amp;lt;br&amp;gt;2820 N Glenstone Ave&amp;lt;br&amp;gt;Springfield, MO 65803&amp;lt;br&amp;gt;USA', '+1 (417) 869-3900', 'Nov 20-23 2014', 55);&lt;br /&gt;
addLocation(40.703546, -74.184279, 'FA: United', 'faunited.org', 'Hanover Marriott&amp;lt;br&amp;gt;1401 Rt 10 E&amp;lt;br&amp;gt;Whippany, NJ 07981&amp;lt;br&amp;gt;USA', '+1 (973) 538-8811 ', 'Aug 17-19 2012', 629);&lt;br /&gt;
addLocation(35.91979, -84.088551, 'Fangcon', 'fangcon.org', 'Holiday Inn Knoxville West&amp;lt;br&amp;gt;9134 Executive Park Dr&amp;lt;br&amp;gt;Knoxville, TN 37923&amp;lt;br&amp;gt;USA', '+1 (865) 693-1011', 'Nov 07-09 2014', 231);&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 24-28 2012', 94);&lt;br /&gt;
addLocation(62.02209, 30.0185, 'FinFur', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
addLocation(35.454262,139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(-41.239835,174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 6-9 2014', 50);&lt;br /&gt;
addLocation(-28.00041, 153.4264, 'FurDU', 'www.furrydownunder.com', 'Vibe Hotel Gold Coast&amp;lt;br&amp;gt;42 Ferny Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'Apr 27-29 2012', 246);&lt;br /&gt;
addLocation(53.541723, -113.625262, 'Fur-eh!', 'fureh.ca', 'Hilton Garden Inn&amp;lt;br&amp;gt;17610 Stony Plain Road&amp;lt;br&amp;gt;Edmonton, Alberta, T5S 1A2&amp;lt;br&amp;gt;Canada', '+1 (780) 443-2233', 'May 4-6 2012', 200);&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Oct 7-9 2012');&lt;br /&gt;
addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 12-14 2014', 241); //attendance for 2012&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 27 2012', 148);&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 8-10 2013', 750);&lt;br /&gt;
addLocation(28.401971, -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Nov 9-16 2014', 24);&lt;br /&gt;
addLocation(32.956825, -96.822896, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Feb 21-23 2014', 1492);&lt;br /&gt;
addLocation(44.86092, -93.23923, 'Furry Migration', 'www.furrymigration.org', 'Ramada Mall of America&amp;lt;br&amp;gt;American Blvd E&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 952-854-3411', 'Sep 12-14 2014');&lt;br /&gt;
addLocation(33.761999, -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Apr 9-12 2015', 2488);&lt;br /&gt;
addLocation(52.775556,   6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 28-31 2014', 57);&lt;br /&gt;
//addLocation(51.40328, 5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66); //ended in 2013.&lt;br /&gt;
addLocation(52.588333, 14.65, 'Furstock', 'www.polfurs.org', '', '', 'Jul 31-Aug 2 2014', 45);&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'Jul 2012?');&lt;br /&gt;
addLocation(37.330294,-121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 16-20 2014', 3380);&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'furthestnorth.ca', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Aug 2-5 2013', 63);&lt;br /&gt;
addLocation(35.559328, 139.723602, 'Fur-st', 'fur-st.com', '志ら井&amp;lt;br&amp;gt;1 Chome-20-28 Minamikamata&amp;lt;br&amp;gt;Ota, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Oct 18 2014', 144);&lt;br /&gt;
addLocation(39.283286,-84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'Oct 10-12, 2014');&lt;br /&gt;
addLocation(39.494658,-76.66367, 'Fur the \'More', 'furthemore.org', 'Hunt Valley Inn&amp;lt;br&amp;gt;245 Shawan Rd&amp;lt;br&amp;gt;Baltimore, MD&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Mar 14-16 2014', 714);&lt;br /&gt;
addLocation(51.93180, 19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 20-23, 2014', 93);&lt;br /&gt;
addLocation(49.8954237, 5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013', 14);&lt;br /&gt;
addLocation(47.35016, 7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Nov 15-18 2012');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Oct 3-7 2012', 50);&lt;br /&gt;
addLocation(49.26716,-123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', 'Nov 10-12 2011', 182);&lt;br /&gt;
addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Nov 24-25 2012');&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Sheraton at Keystone Crossing&amp;lt;br&amp;gt;8787 Keystone Crossing&amp;lt;br&amp;gt;Indianapolis, IN 46240&amp;lt;br&amp;gt;USA', '+1 (317) 846-2700', 'Aug 9-11 2013', 482);&lt;br /&gt;
addLocation(34.743463, 137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 10-11 2015', 232);&lt;br /&gt;
addLocation(35.3334755,139.9891955, 'Kemocon', 'www.kemocon.com', 'Kasuza Akademia Hall&amp;lt;br&amp;gt;2 Chome-3-9 Kazusakamatari&amp;lt;br&amp;gt;Kisarazu, Chiba Prefecture&amp;lt;br&amp;gt;Japan', '', 'Nov 22-23 2014', 420);&lt;br /&gt;
addLocation(34.985692,138.417148, 'Kemono Square', 'eixinweb.jp/kemono-square.html', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 6 2015', 81); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(35.654685,139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);  //259 vendors from 246 circles confirmed for 2014&lt;br /&gt;
addLocation(34.6693, 135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2013', 0);&lt;br /&gt;
addLocation(35.1584991,136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 23, 2014', 91); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(47.336284,  12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Jul 19-26 2014', 40);&lt;br /&gt;
addLocation(28.333938, -81.587638, 'Megaplex', 'megaplexcon.org', 'Worldgate Resort Hotel&amp;lt;br&amp;gt;3011 Maingate Lane&amp;lt;br&amp;gt;Kissimmee, FL 34747-2302&amp;lt;br&amp;gt;USA', '+1 (866) 705-7676', 'Jul 27-29 2012', 553);&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Aug 30-Sep 1 2013', 548);&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May 9-12 2013', 200);&lt;br /&gt;
addLocation(35.6568544, 139.7351909, 'Metamore Generation V', 'www.metamor.jp/', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(41.981284, -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Nov 16-18 2012', 2600);&lt;br /&gt;
addLocation(35.7549142,139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', '', 'May 5 2014', 66); //only attendees signed up from Twipla - 6 people over venue capacity&lt;br /&gt;
addLocation(40.105846, -83.017244, 'Morphicon', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 3-6 2012', 275);&lt;br /&gt;
addLocation(39.65924 , -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 30-Jan 1 2011', 146) // Was replaced by Furstivus in 2012, but planned to resume for 2013&lt;br /&gt;
addLocation(59.166046, 18.13522, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Quality Hotel Winn Haninge&amp;lt;br&amp;gt;Rudsjoterassen 3&amp;lt;br&amp;gt;SE 136 40  Handen&amp;lt;br&amp;gt;Sweden', '', 'Mar 28-31 2013', 175);&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 17-22 2012', 352);&lt;br /&gt;
addLocation(-31.952222, 115.858889, 'Perthfur Gathering', 'gathering.perthfurs.net', 'Perth, Western Australia', '', 'Aug 13 2011', 76);//&amp;quot;3rd qtr, 2010&amp;quot;&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 27-30 2012', 1424);&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'August 8-10, 2014', 180);&lt;br /&gt;
addLocation(34.6701,  -86.577759, 'Rocket City FurMeet', 'rcfm.net', 'Hilton Garden Inn Huntsville South&amp;lt;br&amp;gt;301 Boulevard South SW&amp;lt;br&amp;gt;Huntsville, Alabama 35802&amp;lt;br&amp;gt;USA', '+1 (256) 881-4170', 'May 24-26 2013', 242);&lt;br /&gt;
addLocation(39.762235,-104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Doubletree Hotel Denver&amp;lt;br&amp;gt;3203 Quebec Street&amp;lt;br&amp;gt;Denver, Colorado 80207&amp;lt;br&amp;gt;USA', '+1 (303) 321-3333', 'Aug 2-4 2013', 863);&lt;br /&gt;
addLocation(56.050627,36.823576, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 5-10 2013', 286);&lt;br /&gt;
addLocation(57.478307, -4.22672, 'ScotiaCon', 'www.scotiacon.com', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Nov 7-9 2014', 123);&lt;br /&gt;
addLocation(-26.201, 28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', '30 Aug-1 Sep 2013', 126);&lt;br /&gt;
addLocation(49.266323,-123.011509, 'VancouFur', 'vancoufur.ca', 'Executive Hotel &amp;amp; Conference Centre Burnaby&amp;lt;br&amp;gt;4201 Lougheed Hwy&amp;lt;br&amp;gt;Burnaby, British Columbia, V5C 3Y6&amp;lt;br&amp;gt;Canada', '', 'Mar 1-3 2013', 479);&lt;br /&gt;
addLocation(45.499474, -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 17-19 2013', 282);&lt;br /&gt;
addLocation(40.4612,-79.7509, 'Western Pennsylvania Furry Weekend', 'wpafw.org', '675 Old Frankstown Road&amp;lt;br&amp;gt;Pittsburgh, PA 15239&amp;lt;br&amp;gt;USA', '+1 (724) 327-0338', 'Oct 3-4 2014', 132);&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 25-29 2013', 302);&lt;br /&gt;
addLocation(50.456309, 30.504819, 'WUFF', 'wuff.org.ua/2013', 'Kiev, Ukraine', '', 'May 9-12 2013', 164)&lt;br /&gt;
addLocation(44.520806, 11.401609, 'Zampacon', 'zampacon.forumfree.it', 'Ostello SanSisto&amp;lt;br&amp;gt;via Viadagola 5&amp;lt;br&amp;gt;Bologna, 40127&amp;lt;br&amp;gt;Italy', '', 'Sep 3-7 2014', 39);&lt;br /&gt;
addLocation(47.503095, 12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 25-Feb 1 2014', 40);&lt;br /&gt;
addLocation(50.773040, 15.311701, 'ZodiaCon', 'zodiacon.org', 'Hotel Emilka&amp;lt;br&amp;gt;Na Novině 401&amp;lt;br&amp;gt;468 61 Desná III&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 30-June 2, 2014', 74);&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Everywhere (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Japan (&amp;quot;+count_japan+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_JAPAN;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_JAPAN:&lt;br /&gt;
            filter_func = is_in_japan; break;            &lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_japan(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates into numbers for sorting&lt;br /&gt;
// Might benefit from also parsing years.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
	if (!s) {return 4001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (!x || !x[1]) return 4000;&lt;br /&gt;
	day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	switch (x[1]){&lt;br /&gt;
		case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		default:	month = 20;&lt;br /&gt;
	}//switch&lt;br /&gt;
	return month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        markerOpts = {&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: name&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        markerOpts.icon = (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 200 ? purpleIcon : blueIcon ) );&lt;br /&gt;
        markerOpts.shadow = markerShadow;&lt;br /&gt;
        markerOpts.title = a.name;&lt;br /&gt;
&lt;br /&gt;
        a.marker = new google.maps.Marker(markerOpts);&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            //if we can't see the marker, show it in the center&lt;br /&gt;
            if (!map.getBounds().contains(a.marker.getPosition())){&lt;br /&gt;
                map.panTo(a.marker.getPosition());&lt;br /&gt;
            }&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++; &lt;br /&gt;
        } else if (is_in_japan(a.lat, a.lng)) {&lt;br /&gt;
	    count_japan ++; &lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2014-06-23T14:53:33Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Update date for Kemono Square 2015.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the link button, copy it into a text editor (like Notepad), and use the numbers after 'll='. &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_japan = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_JAPAN = 4;&lt;br /&gt;
var FILT_OTHERS = 5;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
function is_in_japan(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var markerShadow = new google.maps.MarkerImage(&amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/markers/marker_sprite.png&amp;quot;, new google.maps.Size(37,34), new google.maps.Point(20, 0), new google.maps.Point(10, 34)); &lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
addLocation(-24.265278,-48.406944, 'Abando', 'abando.com.br', 'Parque Estadual Intervales&amp;lt;br&amp;gt;São Roque, São Paulo&amp;lt;br&amp;gt;Brazil', '', 'Feb 14-17 2015', 73);&lt;br /&gt;
//addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jul 3-6 2014', '5577');&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 12-15 2014', 89);&lt;br /&gt;
addLocation(39.523177, -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'Mar 28-30 2014', '704');&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'May 30-Jun 1 2014', 1178);&lt;br /&gt;
addLocation(43.721056,-121.291552, 'Campfire Tails', 'campfiretails.com', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Aug 1-5 2012', 143);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439, -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(49.638649,  15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jun 27-30 2013', 107);&lt;br /&gt;
addLocation(50.94149, 6.94651, 'Cologne Furdance', 'www.cologne-cfd.de', 'Zeughaus24, Zeughausstraße 24, 50667 Köln, Germany', '', 'Nov 10 2012'); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 2-4 2013', 251);&lt;br /&gt;
addLocation(-37.825497,144.951725, 'ConFurgence', 'confurgence.com', 'Hilton South Wharf&amp;lt;br&amp;gt;2 Convention Centre Place&amp;lt;br&amp;gt;South Wharf, Melbourne&amp;lt;br&amp;gt;Australia 3006', '+61-3-9027-2000', 'Jan 10-12 2014', 474);&lt;br /&gt;
addLocation(52.450713,  -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 23-27 2014', 873);&lt;br /&gt;
addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 6-8 2013');&lt;br /&gt;
addLocation(51.689585, 11.274526, 'EAST', 'www.east-convention.de.vu', 'DJH Falkenstein/Harz&amp;lt;br&amp;gt;Falkensteiner Weg 2b&amp;lt;br&amp;gt;06463 Falkenstein/Harz&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Sep 19-22 2013');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'ele.furryhost.com', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(52.129813, 11.631281, 'Eurofurence', 'eurofurence.org', 'Maritim Hotel Magdeburg&amp;lt;br&amp;gt;Otto-von-Guericke-Straße 87&amp;lt;br&amp;gt;39104 Magdeburg&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 21-25 2013', 1376);&lt;br /&gt;
addLocation(37.247901,-93.259639, 'F3 Convention', 'www.f3con.com', 'Lamplighter Inn &amp;amp; Suites, North&amp;lt;br&amp;gt;2820 N Glenstone Ave&amp;lt;br&amp;gt;Springfield, MO 65803&amp;lt;br&amp;gt;USA', '+1 (417) 869-3900', 'Nov 20-23 2014', 55);&lt;br /&gt;
addLocation(40.703546, -74.184279, 'FA: United', 'faunited.org', 'Hanover Marriott&amp;lt;br&amp;gt;1401 Rt 10 E&amp;lt;br&amp;gt;Whippany, NJ 07981&amp;lt;br&amp;gt;USA', '+1 (973) 538-8811 ', 'Aug 17-19 2012', 629);&lt;br /&gt;
addLocation(35.91979, -84.088551, 'Fangcon', 'fangcon.org', 'Holiday Inn Knoxville West&amp;lt;br&amp;gt;9134 Executive Park Dr&amp;lt;br&amp;gt;Knoxville, TN 37923&amp;lt;br&amp;gt;USA', '+1 (865) 693-1011', 'Nov 07-09 2014', 231);&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 24-28 2012', 94);&lt;br /&gt;
addLocation(62.02209, 30.0185, 'FinFur', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
addLocation(35.454262,139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(-41.239835,174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 6-9 2014', 50);&lt;br /&gt;
addLocation(-28.00041, 153.4264, 'FurDU', 'www.furrydownunder.com', 'Vibe Hotel Gold Coast&amp;lt;br&amp;gt;42 Ferny Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'Apr 27-29 2012', 246);&lt;br /&gt;
addLocation(53.541723, -113.625262, 'Fur-eh!', 'fureh.ca', 'Hilton Garden Inn&amp;lt;br&amp;gt;17610 Stony Plain Road&amp;lt;br&amp;gt;Edmonton, Alberta, T5S 1A2&amp;lt;br&amp;gt;Canada', '+1 (780) 443-2233', 'May 4-6 2012', 200);&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Oct 7-9 2012');&lt;br /&gt;
addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 12-14 2014', 241); //attendance for 2012&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 27 2012', 148);&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 8-10 2013', 750);&lt;br /&gt;
addLocation(28.401971, -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Nov 9-16 2014', 24);&lt;br /&gt;
addLocation(32.956825, -96.822896, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Feb 21-23 2014', 1492);&lt;br /&gt;
addLocation(44.86092, -93.23923, 'Furry Migration', 'www.furrymigration.org', 'Ramada Mall of America&amp;lt;br&amp;gt;American Blvd E&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 952-854-3411', 'Sep 12-14 2014');&lt;br /&gt;
addLocation(33.761999, -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Apr 9-12 2015', 2488);&lt;br /&gt;
addLocation(52.775556,   6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 28-31 2014', 57);&lt;br /&gt;
//addLocation(51.40328, 5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66); //ended in 2013.&lt;br /&gt;
addLocation(52.588333, 14.65, 'Furstock', 'www.polfurs.org', '', '', 'Jul 31-Aug 2 2014', 45);&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'Jul 2012?');&lt;br /&gt;
addLocation(37.330294,-121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 16-20 2014', 3380);&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'furthestnorth.ca', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Aug 2-5 2013', 63);&lt;br /&gt;
addLocation(35.559328, 139.723602, 'Fur-st', 'fur-st.com', '志ら井&amp;lt;br&amp;gt;1 Chome-20-28 Minamikamata&amp;lt;br&amp;gt;Ota, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Oct 18 2014', 144);&lt;br /&gt;
addLocation(39.283286,-84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'Oct 10-12, 2014');&lt;br /&gt;
addLocation(39.494658,-76.66367, 'Fur the \'More', 'furthemore.org', 'Hunt Valley Inn&amp;lt;br&amp;gt;245 Shawan Rd&amp;lt;br&amp;gt;Baltimore, MD&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Mar 14-16 2014', 714);&lt;br /&gt;
addLocation(51.93180, 19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 20-23, 2014', 93);&lt;br /&gt;
addLocation(49.8954237, 5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013', 14);&lt;br /&gt;
addLocation(47.35016, 7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Nov 15-18 2012');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Oct 3-7 2012', 50);&lt;br /&gt;
addLocation(49.26716,-123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', 'Nov 10-12 2011', 182);&lt;br /&gt;
addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Nov 24-25 2012');&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Sheraton at Keystone Crossing&amp;lt;br&amp;gt;8787 Keystone Crossing&amp;lt;br&amp;gt;Indianapolis, IN 46240&amp;lt;br&amp;gt;USA', '+1 (317) 846-2700', 'Aug 9-11 2013', 482);&lt;br /&gt;
addLocation(34.743463, 137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 10-11 2015', 232);&lt;br /&gt;
addLocation(35.3334755,139.9891955, 'Kemocon', 'www.kemocon.com', 'Kasuza Akademia Hall&amp;lt;br&amp;gt;2 Chome-3-9 Kazusakamatari&amp;lt;br&amp;gt;Kisarazu, Chiba Prefecture&amp;lt;br&amp;gt;Japan', '', 'Nov 22-23 2014', 420);&lt;br /&gt;
addLocation(34.985692,138.417148, 'Kemono Square', 'eixinweb.jp/kemono-square.html', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 6 2015', 81); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(35.654685,139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);  //259 vendors from 246 circles confirmed for 2014&lt;br /&gt;
addLocation(34.6693, 135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2013', 0);&lt;br /&gt;
addLocation(35.1584991,136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 23, 2014', 91); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(47.336284,  12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Jul 19-26 2014', 40);&lt;br /&gt;
addLocation(28.333938, -81.587638, 'Megaplex', 'megaplexcon.org', 'Worldgate Resort Hotel&amp;lt;br&amp;gt;3011 Maingate Lane&amp;lt;br&amp;gt;Kissimmee, FL 34747-2302&amp;lt;br&amp;gt;USA', '+1 (866) 705-7676', 'Jul 27-29 2012', 553);&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Aug 30-Sep 1 2013', 548);&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May 9-12 2013', 200);&lt;br /&gt;
addLocation(35.6568544, 139.7351909, 'Metamore Generation V', 'www.metamor.jp/', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(41.981284, -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Nov 16-18 2012', 2600);&lt;br /&gt;
addLocation(35.7549142,139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', '', 'May 5 2014', 66); //only attendees signed up from Twipla - 6 people over venue capacity&lt;br /&gt;
addLocation(40.105846, -83.017244, 'Morphicon', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 3-6 2012', 275);&lt;br /&gt;
addLocation(39.65924 , -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 30-Jan 1 2011', 146) // Was replaced by Furstivus in 2012, but planned to resume for 2013&lt;br /&gt;
addLocation(59.166046, 18.13522, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Quality Hotel Winn Haninge&amp;lt;br&amp;gt;Rudsjoterassen 3&amp;lt;br&amp;gt;SE 136 40  Handen&amp;lt;br&amp;gt;Sweden', '', 'Mar 28-31 2013', 175);&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 17-22 2012', 352);&lt;br /&gt;
addLocation(-31.952222, 115.858889, 'Perthfur Gathering', 'gathering.perthfurs.net', 'Perth, Western Australia', '', 'Aug 13 2011', 76);//&amp;quot;3rd qtr, 2010&amp;quot;&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 27-30 2012', 1424);&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'August 8-10, 2014', 180);&lt;br /&gt;
addLocation(34.6701,  -86.577759, 'Rocket City FurMeet', 'rcfm.net', 'Hilton Garden Inn Huntsville South&amp;lt;br&amp;gt;301 Boulevard South SW&amp;lt;br&amp;gt;Huntsville, Alabama 35802&amp;lt;br&amp;gt;USA', '+1 (256) 881-4170', 'May 24-26 2013', 242);&lt;br /&gt;
addLocation(39.762235,-104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Doubletree Hotel Denver&amp;lt;br&amp;gt;3203 Quebec Street&amp;lt;br&amp;gt;Denver, Colorado 80207&amp;lt;br&amp;gt;USA', '+1 (303) 321-3333', 'Aug 2-4 2013', 863);&lt;br /&gt;
addLocation(56.050627,36.823576, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 5-10 2013', 286);&lt;br /&gt;
addLocation(57.478307, -4.22672, 'ScotiaCon', 'www.scotiacon.com', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Jul 27-30 2012', 123);&lt;br /&gt;
addLocation(-26.201, 28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', '30 Aug-1 Sep 2013', 126);&lt;br /&gt;
addLocation(49.266323,-123.011509, 'VancouFur', 'vancoufur.ca', 'Executive Hotel &amp;amp; Conference Centre Burnaby&amp;lt;br&amp;gt;4201 Lougheed Hwy&amp;lt;br&amp;gt;Burnaby, British Columbia, V5C 3Y6&amp;lt;br&amp;gt;Canada', '', 'Mar 1-3 2013', 479);&lt;br /&gt;
addLocation(45.499474, -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 17-19 2013', 282);&lt;br /&gt;
addLocation(40.538786, -79.830565, 'Western Pennsylvania Furry Weekend', 'wpafw.org', 'Quality Inn Pittsburgh North&amp;lt;br&amp;gt;2801 Freeport Road&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15238&amp;lt;br&amp;gt;USA', '+1 (412) 828-9400', 'Sep 28-30 2012', 116);&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 25-29 2013', 302);&lt;br /&gt;
addLocation(50.456309, 30.504819, 'WUFF', 'wuff.org.ua/2013', 'Kiev, Ukraine', '', 'May 9-12 2013', 164)&lt;br /&gt;
addLocation(44.520806, 11.401609, 'Zampacon', 'zampacon.forumfree.it', 'Ostello SanSisto&amp;lt;br&amp;gt;via Viadagola 5&amp;lt;br&amp;gt;Bologna, 40127&amp;lt;br&amp;gt;Italy', '', 'Sep 3-7 2014', 39);&lt;br /&gt;
addLocation(47.503095, 12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 25-Feb 1 2014', 40);&lt;br /&gt;
addLocation(50.773040, 15.311701, 'ZodiaCon', 'zodiacon.org', 'Hotel Emilka&amp;lt;br&amp;gt;Na Novině 401&amp;lt;br&amp;gt;468 61 Desná III&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 30-June 2, 2014', 74);&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Everywhere (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Japan (&amp;quot;+count_japan+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_JAPAN;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_JAPAN:&lt;br /&gt;
            filter_func = is_in_japan; break;            &lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_japan(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates into numbers for sorting&lt;br /&gt;
// Might benefit from also parsing years.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
	if (!s) {return 4001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (!x || !x[1]) return 4000;&lt;br /&gt;
	day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	switch (x[1]){&lt;br /&gt;
		case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		default:	month = 20;&lt;br /&gt;
	}//switch&lt;br /&gt;
	return month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        markerOpts = {&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: name&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        markerOpts.icon = (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 200 ? purpleIcon : blueIcon ) );&lt;br /&gt;
        markerOpts.shadow = markerShadow;&lt;br /&gt;
        markerOpts.title = a.name;&lt;br /&gt;
&lt;br /&gt;
        a.marker = new google.maps.Marker(markerOpts);&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            //if we can't see the marker, show it in the center&lt;br /&gt;
            if (!map.getBounds().contains(a.marker.getPosition())){&lt;br /&gt;
                map.panTo(a.marker.getPosition());&lt;br /&gt;
            }&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++; &lt;br /&gt;
        } else if (is_in_japan(a.lat, a.lng)) {&lt;br /&gt;
	    count_japan ++; &lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2014-05-19T10:07:44Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Removed Furs on Fire; Updated dates for Abando, Furry Weekend Holland, Futerkon, RivFur; Updated attendance for Abando, Mofukai, Rivfur&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the link button, copy it into a text editor (like Notepad), and use the numbers after 'll='. &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_japan = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_JAPAN = 4;&lt;br /&gt;
var FILT_OTHERS = 5;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
function is_in_japan(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var markerShadow = new google.maps.MarkerImage(&amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/markers/marker_sprite.png&amp;quot;, new google.maps.Size(37,34), new google.maps.Point(20, 0), new google.maps.Point(10, 34)); &lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
addLocation(-24.265278,-48.406944, 'Abando', 'abando.com.br', 'Parque Estadual Intervales&amp;lt;br&amp;gt;São Roque, São Paulo&amp;lt;br&amp;gt;Brazil', '', 'Feb 14-17 2015', 73);&lt;br /&gt;
//addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jul 3-6 2014', '5577');&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 12-15 2014', 89);&lt;br /&gt;
addLocation(39.523177, -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'Mar 28-30 2014', '704');&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'May 30-Jun 1 2014', 1178);&lt;br /&gt;
addLocation(43.721056,-121.291552, 'Campfire Tails', 'campfiretails.com', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Aug 1-5 2012', 143);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439, -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(49.638649,  15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jun 27-30 2013', 107);&lt;br /&gt;
addLocation(50.94149, 6.94651, 'Cologne Furdance', 'www.cologne-cfd.de', 'Zeughaus24, Zeughausstraße 24, 50667 Köln, Germany', '', 'Nov 10 2012'); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 2-4 2013', 251);&lt;br /&gt;
addLocation(-37.825497,144.951725, 'ConFurgence', 'confurgence.com', 'Hilton South Wharf&amp;lt;br&amp;gt;2 Convention Centre Place&amp;lt;br&amp;gt;South Wharf, Melbourne&amp;lt;br&amp;gt;Australia 3006', '+61-3-9027-2000', 'Jan 10-12 2014', 474);&lt;br /&gt;
addLocation(52.450713,  -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 23-27 2014', 873);&lt;br /&gt;
addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 6-8 2013');&lt;br /&gt;
addLocation(51.689585, 11.274526, 'EAST', 'www.east-convention.de.vu', 'DJH Falkenstein/Harz&amp;lt;br&amp;gt;Falkensteiner Weg 2b&amp;lt;br&amp;gt;06463 Falkenstein/Harz&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Sep 19-22 2013');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'ele.furryhost.com', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(52.129813, 11.631281, 'Eurofurence', 'eurofurence.org', 'Maritim Hotel Magdeburg&amp;lt;br&amp;gt;Otto-von-Guericke-Straße 87&amp;lt;br&amp;gt;39104 Magdeburg&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 21-25 2013', 1376);&lt;br /&gt;
addLocation(37.247901,-93.259639, 'F3 Convention', 'www.f3con.com', 'Lamplighter Inn &amp;amp; Suites, North&amp;lt;br&amp;gt;2820 N Glenstone Ave&amp;lt;br&amp;gt;Springfield, MO 65803&amp;lt;br&amp;gt;USA', '+1 (417) 869-3900', 'Nov 20-23 2014', 55);&lt;br /&gt;
addLocation(40.703546, -74.184279, 'FA: United', 'faunited.org', 'Hanover Marriott&amp;lt;br&amp;gt;1401 Rt 10 E&amp;lt;br&amp;gt;Whippany, NJ 07981&amp;lt;br&amp;gt;USA', '+1 (973) 538-8811 ', 'Aug 17-19 2012', 629);&lt;br /&gt;
addLocation(35.91979, -84.088551, 'Fangcon', 'fangcon.org', 'Holiday Inn Knoxville West&amp;lt;br&amp;gt;9134 Executive Park Dr&amp;lt;br&amp;gt;Knoxville, TN 37923&amp;lt;br&amp;gt;USA', '+1 (865) 693-1011', 'Nov 07-09 2014', 231);&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 24-28 2012', 94);&lt;br /&gt;
addLocation(62.02209, 30.0185, 'FinFur', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
addLocation(35.454262,139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(-41.239835,174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 6-9 2014', 50);&lt;br /&gt;
addLocation(-28.00041, 153.4264, 'FurDU', 'www.furrydownunder.com', 'Vibe Hotel Gold Coast&amp;lt;br&amp;gt;42 Ferny Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'Apr 27-29 2012', 246);&lt;br /&gt;
addLocation(53.541723, -113.625262, 'Fur-eh!', 'fureh.ca', 'Hilton Garden Inn&amp;lt;br&amp;gt;17610 Stony Plain Road&amp;lt;br&amp;gt;Edmonton, Alberta, T5S 1A2&amp;lt;br&amp;gt;Canada', '+1 (780) 443-2233', 'May 4-6 2012', 200);&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Oct 7-9 2012');&lt;br /&gt;
addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 12-14 2014', 241); //attendance for 2012&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 27 2012', 148);&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 8-10 2013', 750);&lt;br /&gt;
addLocation(28.401971, -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Nov 9-16 2014', 24);&lt;br /&gt;
addLocation(32.956825, -96.822896, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Feb 21-23 2014', 1492);&lt;br /&gt;
addLocation(44.86092, -93.23923, 'Furry Migration', 'www.furrymigration.org', 'Ramada Mall of America&amp;lt;br&amp;gt;American Blvd E&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 952-854-3411', 'Sep 12-14 2014');&lt;br /&gt;
addLocation(33.761999, -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Apr 9-12 2015', 2488);&lt;br /&gt;
addLocation(52.775556,   6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 28-31 2014', 57);&lt;br /&gt;
//addLocation(51.40328, 5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66); //ended in 2013.&lt;br /&gt;
addLocation(52.588333, 14.65, 'Furstock', 'www.polfurs.org', '', '', 'Jul 31-Aug 2 2014', 45);&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'Jul 2012?');&lt;br /&gt;
addLocation(37.330294,-121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 16-20 2014', 3380);&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'furthestnorth.ca', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Aug 2-5 2013', 63);&lt;br /&gt;
addLocation(35.559328, 139.723602, 'Fur-st', 'fur-st.com', '志ら井&amp;lt;br&amp;gt;1 Chome-20-28 Minamikamata&amp;lt;br&amp;gt;Ota, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Oct 18 2014', 144);&lt;br /&gt;
addLocation(39.283286,-84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'Oct 10-12, 2014');&lt;br /&gt;
addLocation(39.494658,-76.66367, 'Fur the \'More', 'furthemore.org', 'Hunt Valley Inn&amp;lt;br&amp;gt;245 Shawan Rd&amp;lt;br&amp;gt;Baltimore, MD&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Mar 14-16 2014', 714);&lt;br /&gt;
addLocation(51.93180, 19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 20-23, 2014', 93);&lt;br /&gt;
addLocation(49.8954237, 5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013', 14);&lt;br /&gt;
addLocation(47.35016, 7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Nov 15-18 2012');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Oct 3-7 2012', 50);&lt;br /&gt;
addLocation(49.26716,-123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', 'Nov 10-12 2011', 182);&lt;br /&gt;
addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Nov 24-25 2012');&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Sheraton at Keystone Crossing&amp;lt;br&amp;gt;8787 Keystone Crossing&amp;lt;br&amp;gt;Indianapolis, IN 46240&amp;lt;br&amp;gt;USA', '+1 (317) 846-2700', 'Aug 9-11 2013', 482);&lt;br /&gt;
addLocation(34.743463, 137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 10-11 2015', 232);&lt;br /&gt;
addLocation(35.3334755,139.9891955, 'Kemocon', 'www.kemocon.com', 'Kasuza Akademia Hall&amp;lt;br&amp;gt;2 Chome-3-9 Kazusakamatari&amp;lt;br&amp;gt;Kisarazu, Chiba Prefecture&amp;lt;br&amp;gt;Japan', '', 'Nov 22-23 2014', 420);&lt;br /&gt;
addLocation(34.985692,138.417148, 'Kemono Square', 'eixinweb.jp/kemono-square.html', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 7 2014', 81); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(35.654685,139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);  //259 vendors from 246 circles confirmed for 2014&lt;br /&gt;
addLocation(34.6693, 135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2013', 0);&lt;br /&gt;
addLocation(35.1584991,136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 23, 2014', 91); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(47.336284,  12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Jul 19-26 2014', 40);&lt;br /&gt;
addLocation(28.333938, -81.587638, 'Megaplex', 'megaplexcon.org', 'Worldgate Resort Hotel&amp;lt;br&amp;gt;3011 Maingate Lane&amp;lt;br&amp;gt;Kissimmee, FL 34747-2302&amp;lt;br&amp;gt;USA', '+1 (866) 705-7676', 'Jul 27-29 2012', 553);&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Aug 30-Sep 1 2013', 548);&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May 9-12 2013', 200);&lt;br /&gt;
addLocation(35.6568544, 139.7351909, 'Metamore Generation V', 'www.metamor.jp/', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(41.981284, -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Nov 16-18 2012', 2600);&lt;br /&gt;
addLocation(35.7549142,139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', '', 'May 5 2014', 66); //only attendees signed up from Twipla - 6 people over venue capacity&lt;br /&gt;
addLocation(40.105846, -83.017244, 'Morphicon', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 3-6 2012', 275);&lt;br /&gt;
addLocation(39.65924 , -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 30-Jan 1 2011', 146) // Was replaced by Furstivus in 2012, but planned to resume for 2013&lt;br /&gt;
addLocation(59.166046, 18.13522, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Quality Hotel Winn Haninge&amp;lt;br&amp;gt;Rudsjoterassen 3&amp;lt;br&amp;gt;SE 136 40  Handen&amp;lt;br&amp;gt;Sweden', '', 'Mar 28-31 2013', 175);&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 17-22 2012', 352);&lt;br /&gt;
addLocation(-31.952222, 115.858889, 'Perthfur Gathering', 'gathering.perthfurs.net', 'Perth, Western Australia', '', 'Aug 13 2011', 76);//&amp;quot;3rd qtr, 2010&amp;quot;&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 27-30 2012', 1424);&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'August 8-10, 2014', 180);&lt;br /&gt;
addLocation(34.6701,  -86.577759, 'Rocket City FurMeet', 'rcfm.net', 'Hilton Garden Inn Huntsville South&amp;lt;br&amp;gt;301 Boulevard South SW&amp;lt;br&amp;gt;Huntsville, Alabama 35802&amp;lt;br&amp;gt;USA', '+1 (256) 881-4170', 'May 24-26 2013', 242);&lt;br /&gt;
addLocation(39.762235,-104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Doubletree Hotel Denver&amp;lt;br&amp;gt;3203 Quebec Street&amp;lt;br&amp;gt;Denver, Colorado 80207&amp;lt;br&amp;gt;USA', '+1 (303) 321-3333', 'Aug 2-4 2013', 863);&lt;br /&gt;
addLocation(56.050627,36.823576, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 5-10 2013', 286);&lt;br /&gt;
addLocation(57.478307, -4.22672, 'ScotiaCon', 'www.scotiacon.com', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Jul 27-30 2012', 123);&lt;br /&gt;
addLocation(-26.201, 28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', '30 Aug-1 Sep 2013', 126);&lt;br /&gt;
addLocation(49.266323,-123.011509, 'VancouFur', 'vancoufur.ca', 'Executive Hotel &amp;amp; Conference Centre Burnaby&amp;lt;br&amp;gt;4201 Lougheed Hwy&amp;lt;br&amp;gt;Burnaby, British Columbia, V5C 3Y6&amp;lt;br&amp;gt;Canada', '', 'Mar 1-3 2013', 479);&lt;br /&gt;
addLocation(45.499474, -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 17-19 2013', 282);&lt;br /&gt;
addLocation(40.538786, -79.830565, 'Western Pennsylvania Furry Weekend', 'wpafw.org', 'Quality Inn Pittsburgh North&amp;lt;br&amp;gt;2801 Freeport Road&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15238&amp;lt;br&amp;gt;USA', '+1 (412) 828-9400', 'Sep 28-30 2012', 116);&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 25-29 2013', 302);&lt;br /&gt;
addLocation(50.456309, 30.504819, 'WUFF', 'wuff.org.ua/2013', 'Kiev, Ukraine', '', 'May 9-12 2013', 164)&lt;br /&gt;
addLocation(44.520806, 11.401609, 'Zampacon', 'zampacon.forumfree.it', 'Ostello SanSisto&amp;lt;br&amp;gt;via Viadagola 5&amp;lt;br&amp;gt;Bologna, 40127&amp;lt;br&amp;gt;Italy', '', 'Sep 3-7 2014', 39);&lt;br /&gt;
addLocation(47.503095, 12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 25-Feb 1 2014', 40);&lt;br /&gt;
addLocation(50.773040, 15.311701, 'ZodiaCon', 'zodiacon.org', 'Hotel Emilka&amp;lt;br&amp;gt;Na Novině 401&amp;lt;br&amp;gt;468 61 Desná III&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 30-June 2, 2014', 74);&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Everywhere (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Japan (&amp;quot;+count_japan+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_JAPAN;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_JAPAN:&lt;br /&gt;
            filter_func = is_in_japan; break;            &lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_japan(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates into numbers for sorting&lt;br /&gt;
// Might benefit from also parsing years.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
	if (!s) {return 4001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (!x || !x[1]) return 4000;&lt;br /&gt;
	day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	switch (x[1]){&lt;br /&gt;
		case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		default:	month = 20;&lt;br /&gt;
	}//switch&lt;br /&gt;
	return month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        markerOpts = {&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: name&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        markerOpts.icon = (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 200 ? purpleIcon : blueIcon ) );&lt;br /&gt;
        markerOpts.shadow = markerShadow;&lt;br /&gt;
        markerOpts.title = a.name;&lt;br /&gt;
&lt;br /&gt;
        a.marker = new google.maps.Marker(markerOpts);&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            //if we can't see the marker, show it in the center&lt;br /&gt;
            if (!map.getBounds().contains(a.marker.getPosition())){&lt;br /&gt;
                map.panTo(a.marker.getPosition());&lt;br /&gt;
            }&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++; &lt;br /&gt;
        } else if (is_in_japan(a.lat, a.lng)) {&lt;br /&gt;
	    count_japan ++; &lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2014-05-01T01:53:15Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Updated date and attendance for BerliCon, Furry Cruise, Furstock, Lakeside Furs, Zampacon&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the link button, copy it into a text editor (like Notepad), and use the numbers after 'll='. &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_japan = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_JAPAN = 4;&lt;br /&gt;
var FILT_OTHERS = 5;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
function is_in_japan(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var markerShadow = new google.maps.MarkerImage(&amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/markers/marker_sprite.png&amp;quot;, new google.maps.Size(37,34), new google.maps.Point(20, 0), new google.maps.Point(10, 34)); &lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
addLocation(-24.265278,-48.406944, 'Abando', 'abando.com.br', 'Parque Estadual Intervales&amp;lt;br&amp;gt;São Roque, São Paulo&amp;lt;br&amp;gt;Brazil', '', 'Mar 1-4 2013', 55);&lt;br /&gt;
//addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jul 3-6 2014', '5577');&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 12-15 2014', 89);&lt;br /&gt;
addLocation(39.523177, -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'Mar 28-30 2014', '704');&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'May 30-Jun 1 2014', 1178);&lt;br /&gt;
addLocation(43.721056,-121.291552, 'Campfire Tails', 'campfiretails.com', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Aug 1-5 2012', 143);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439, -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(49.638649,  15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jun 27-30 2013', 107);&lt;br /&gt;
addLocation(50.94149, 6.94651, 'Cologne Furdance', 'www.cologne-cfd.de', 'Zeughaus24, Zeughausstraße 24, 50667 Köln, Germany', '', 'Nov 10 2012'); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 2-4 2013', 251);&lt;br /&gt;
addLocation(-37.825497,144.951725, 'ConFurgence', 'confurgence.com', 'Hilton South Wharf&amp;lt;br&amp;gt;2 Convention Centre Place&amp;lt;br&amp;gt;South Wharf, Melbourne&amp;lt;br&amp;gt;Australia 3006', '+61-3-9027-2000', 'Jan 10-12 2014', 474);&lt;br /&gt;
addLocation(52.450713,  -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 23-27 2014', 873);&lt;br /&gt;
addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 6-8 2013');&lt;br /&gt;
addLocation(51.689585, 11.274526, 'EAST', 'www.east-convention.de.vu', 'DJH Falkenstein/Harz&amp;lt;br&amp;gt;Falkensteiner Weg 2b&amp;lt;br&amp;gt;06463 Falkenstein/Harz&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Sep 19-22 2013');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'ele.furryhost.com', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(52.129813, 11.631281, 'Eurofurence', 'eurofurence.org', 'Maritim Hotel Magdeburg&amp;lt;br&amp;gt;Otto-von-Guericke-Straße 87&amp;lt;br&amp;gt;39104 Magdeburg&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 21-25 2013', 1376);&lt;br /&gt;
addLocation(40.703546, -74.184279, 'FA: United', 'faunited.org', 'Hanover Marriott&amp;lt;br&amp;gt;1401 Rt 10 E&amp;lt;br&amp;gt;Whippany, NJ 07981&amp;lt;br&amp;gt;USA', '+1 (973) 538 8811 ', 'Aug 17-19 2012', 629);&lt;br /&gt;
addLocation(35.91979, -84.088551, 'Fangcon', 'fangcon.org', 'Holiday Inn Knoxville West&amp;lt;br&amp;gt;9134 Executive Park Dr&amp;lt;br&amp;gt;Knoxville, TN 37923&amp;lt;br&amp;gt;USA', '+1 (865) 693-1011', 'Nov 07-09 2014', 231);&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 24-28 2012', 94);&lt;br /&gt;
addLocation(62.02209, 30.0185, 'FinFur', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
addLocation(35.454262,139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(-41.239835,174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 6-9 2014', 50);&lt;br /&gt;
addLocation(-28.00041, 153.4264, 'FurDU', 'www.furrydownunder.com', 'Vibe Hotel Gold Coast&amp;lt;br&amp;gt;42 Ferny Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'Apr 27-29 2012', 246);&lt;br /&gt;
addLocation(53.541723, -113.625262, 'Fur-eh!', 'fureh.ca', 'Hilton Garden Inn&amp;lt;br&amp;gt;17610 Stony Plain Road&amp;lt;br&amp;gt;Edmonton, Alberta, T5S 1A2&amp;lt;br&amp;gt;Canada', '+1 (780) 443-2233', 'May 4-6 2012', 200);&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Oct 7-9 2012');&lt;br /&gt;
addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 12-14 2014', 241); //attendance for 2012&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 27 2012', 148);&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 8-10 2013', 750);&lt;br /&gt;
addLocation(28.401971, -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Nov 9-16 2014', 24);&lt;br /&gt;
addLocation(32.956825, -96.822896, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Feb 21-23 2014', 1492);&lt;br /&gt;
addLocation(44.86092, -93.23923, 'Furry Migration', 'www.furrymigration.org', 'Ramada Mall of America&amp;lt;br&amp;gt;American Blvd E&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 952-854-3411', 'Sep 12-14 2014');&lt;br /&gt;
addLocation(33.761999, -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Apr 9-12 2015', 2488);&lt;br /&gt;
addLocation(52.775556,   6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 15-18 2013', 57);&lt;br /&gt;
addLocation(51.40328, 5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66);&lt;br /&gt;
addLocation(52.588333, 14.65, 'Furstock', 'www.polfurs.org', '', '', 'Jul 31-Aug 2 2014', 45);&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'Jul 2012?');&lt;br /&gt;
addLocation(37.330294,-121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 16-20 2014', 3380);&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'furthestnorth.ca', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Aug 2-5 2013', 63);&lt;br /&gt;
addLocation(35.559328, 139.723602, 'Fur-st', 'fur-st.com', '志ら井&amp;lt;br&amp;gt;1 Chome-20-28 Minamikamata&amp;lt;br&amp;gt;Ota, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Oct 18 2014', 144);&lt;br /&gt;
addLocation(39.283286,-84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'Oct 10-12, 2014');&lt;br /&gt;
addLocation(39.494658,-76.66367, 'Fur the \'More', 'furthemore.org', 'Hunt Valley Inn&amp;lt;br&amp;gt;245 Shawan Rd&amp;lt;br&amp;gt;Baltimore, MD&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Mar 14-16 2014', 714);&lt;br /&gt;
addLocation(51.93180, 19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 8-11 2013', 93);&lt;br /&gt;
addLocation(49.8954237, 5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013', 14);&lt;br /&gt;
addLocation(47.35016, 7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Nov 15-18 2012');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Oct 3-7 2012', 50);&lt;br /&gt;
addLocation(49.26716,-123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', 'Nov 10-12 2011', 182);&lt;br /&gt;
addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Nov 24-25 2012');&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Sheraton at Keystone Crossing&amp;lt;br&amp;gt;8787 Keystone Crossing&amp;lt;br&amp;gt;Indianapolis, IN 46240&amp;lt;br&amp;gt;USA', '+1 (317) 846-2700', 'Aug 9-11 2013', 482);&lt;br /&gt;
addLocation(34.743463, 137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 10-11 2015', 232);&lt;br /&gt;
addLocation(35.3334755,139.9891955, 'Kemocon', 'www.kemocon.com', 'Kasuza Akademia Hall&amp;lt;br&amp;gt;2 Chome-3-9 Kazusakamatari&amp;lt;br&amp;gt;Kisarazu, Chiba Prefecture&amp;lt;br&amp;gt;Japan', '', 'Nov 22-23 2014', 420);&lt;br /&gt;
addLocation(34.985692,138.417148, 'Kemono Square', 'eixinweb.jp/kemono-square.html', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 7 2014', 81); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(35.654685,139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);  //259 vendors from 246 circles confirmed for 2014&lt;br /&gt;
addLocation(34.6693, 135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2013', 0);&lt;br /&gt;
addLocation(35.1584991,136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 23, 2014', 91); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(47.336284,  12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Jul 19-26 2014', 40);&lt;br /&gt;
addLocation(28.333938, -81.587638, 'Megaplex', 'megaplexcon.org', 'Worldgate Resort Hotel&amp;lt;br&amp;gt;3011 Maingate Lane&amp;lt;br&amp;gt;Kissimmee, FL 34747-2302&amp;lt;br&amp;gt;USA', '+1 (866) 705-7676', 'Jul 27-29 2012', 553);&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Aug 30-Sep 1 2013', 548);&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May 9-12 2013', 200);&lt;br /&gt;
addLocation(35.6568544, 139.7351909, 'Metamore Generation V', 'www.metamor.jp/', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(41.981284, -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Nov 16-18 2012', 2600);&lt;br /&gt;
addLocation(35.7549142,139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', '', 'May 5 2014', 54); //only attendees signed up from Twipla - 4 people over venue capacity&lt;br /&gt;
addLocation(40.105846, -83.017244, 'Morphicon', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 3-6 2012', 275);&lt;br /&gt;
addLocation(39.65924 , -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 30-Jan 1 2011', 146) // Was replaced by Furstivus in 2012, but planned to resume for 2013&lt;br /&gt;
addLocation(59.166046, 18.13522, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Quality Hotel Winn Haninge&amp;lt;br&amp;gt;Rudsjoterassen 3&amp;lt;br&amp;gt;SE 136 40  Handen&amp;lt;br&amp;gt;Sweden', '', 'Mar 28-31 2013', 175);&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 17-22 2012', 300);&lt;br /&gt;
addLocation(-31.952222, 115.858889, 'Perthfur Gathering', 'gathering.perthfurs.net', 'Perth, Western Australia', '', 'Aug 13 2011', 76);//&amp;quot;3rd qtr, 2010&amp;quot;&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 27-30 2012', 1424);&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'Jun 29-Jul 2 2012', 50);&lt;br /&gt;
addLocation(34.6701,  -86.577759, 'Rocket City FurMeet', 'rcfm.net', 'Hilton Garden Inn Huntsville South&amp;lt;br&amp;gt;301 Boulevard South SW&amp;lt;br&amp;gt;Huntsville, Alabama 35802&amp;lt;br&amp;gt;USA', '+1 (256) 881-4170', 'May 24-26 2013', 242);&lt;br /&gt;
addLocation(39.762235,-104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Doubletree Hotel Denver&amp;lt;br&amp;gt;3203 Quebec Street&amp;lt;br&amp;gt;Denver, Colorado 80207&amp;lt;br&amp;gt;USA', '+1 (303) 321-3333', 'Aug 2-4 2013', 863);&lt;br /&gt;
addLocation(56.050627,36.823576, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 5-10 2013', 286);&lt;br /&gt;
addLocation(57.478307, -4.22672, 'ScotiaCon', 'www.scotiacon.com', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Jul 27-30 2012', 123);&lt;br /&gt;
addLocation(-26.201, 28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', '30 Aug-1 Sep 2013', 126);&lt;br /&gt;
addLocation(49.266323,-123.011509, 'VancouFur', 'vancoufur.ca', 'Executive Hotel &amp;amp; Conference Centre Burnaby&amp;lt;br&amp;gt;4201 Lougheed Hwy&amp;lt;br&amp;gt;Burnaby, British Columbia, V5C 3Y6&amp;lt;br&amp;gt;Canada', '', 'Mar 1-3 2013', 479);&lt;br /&gt;
addLocation(45.499474, -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 17-19 2013', 282);&lt;br /&gt;
addLocation(40.538786, -79.830565, 'Western Pennsylvania Furry Weekend', 'wpafw.org', 'Quality Inn Pittsburgh North&amp;lt;br&amp;gt;2801 Freeport Road&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15238&amp;lt;br&amp;gt;USA', '+1 (412) 828-9400', 'Sep 28-30 2012', 116);&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 25-29 2013', 122);&lt;br /&gt;
addLocation(50.456309, 30.504819, 'WUFF', 'wuff.org.ua/2013', 'Kiev, Ukraine', '', 'May 9-12 2013', 164)&lt;br /&gt;
addLocation(44.520806, 11.401609, 'Zampacon', 'zampacon.forumfree.it', 'Ostello SanSisto&amp;lt;br&amp;gt;via Viadagola 5&amp;lt;br&amp;gt;Bologna, 40127&amp;lt;br&amp;gt;Italy', '', 'Sep 3-7 2014', 39);&lt;br /&gt;
addLocation(47.503095, 12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 25-Feb 1 2014', 40);&lt;br /&gt;
addLocation(50.773040, 15.311701, 'ZodiaCon', 'zodiacon.org', 'Hotel Emilka&amp;lt;br&amp;gt;Na Novině 401&amp;lt;br&amp;gt;468 61 Desná III&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 30-June 2, 2014', 74);&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Everywhere (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Japan (&amp;quot;+count_japan+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_JAPAN;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_JAPAN:&lt;br /&gt;
            filter_func = is_in_japan; break;            &lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_japan(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates into numbers for sorting&lt;br /&gt;
// Might benefit from also parsing years.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
	if (!s) {return 4001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (!x || !x[1]) return 4000;&lt;br /&gt;
	day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	switch (x[1]){&lt;br /&gt;
		case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		default:	month = 20;&lt;br /&gt;
	}//switch&lt;br /&gt;
	return month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        markerOpts = {&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: name&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        markerOpts.icon = (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 200 ? purpleIcon : blueIcon ) );&lt;br /&gt;
        markerOpts.shadow = markerShadow;&lt;br /&gt;
        markerOpts.title = a.name;&lt;br /&gt;
&lt;br /&gt;
        a.marker = new google.maps.Marker(markerOpts);&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            //if we can't see the marker, show it in the center&lt;br /&gt;
            if (!map.getBounds().contains(a.marker.getPosition())){&lt;br /&gt;
                map.panTo(a.marker.getPosition());&lt;br /&gt;
            }&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++; &lt;br /&gt;
        } else if (is_in_japan(a.lat, a.lng)) {&lt;br /&gt;
	    count_japan ++; &lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2014-04-30T02:49:43Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Update attendance for Fur the \'More, Fuzzcon, ZodiaCon. Update date for ZodiaCon&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the link button, copy it into a text editor (like Notepad), and use the numbers after 'll='. &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_japan = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_JAPAN = 4;&lt;br /&gt;
var FILT_OTHERS = 5;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
function is_in_japan(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var markerShadow = new google.maps.MarkerImage(&amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/markers/marker_sprite.png&amp;quot;, new google.maps.Size(37,34), new google.maps.Point(20, 0), new google.maps.Point(10, 34)); &lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
addLocation(-24.265278,-48.406944, 'Abando', 'abando.com.br', 'Parque Estadual Intervales&amp;lt;br&amp;gt;São Roque, São Paulo&amp;lt;br&amp;gt;Brazil', '', 'Mar 1-4 2013', 55);&lt;br /&gt;
//addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jul 3-6 2014', '5577');&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', '20-23 Jun 2013', 35);&lt;br /&gt;
addLocation(39.523177, -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'Mar 28-30 2014', '704');&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'May 30-Jun 1 2014', 1178);&lt;br /&gt;
addLocation(43.721056,-121.291552, 'Campfire Tails', 'campfiretails.com', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Aug 1-5 2012', 143);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439, -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(49.638649,  15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jun 27-30 2013', 107);&lt;br /&gt;
addLocation(50.94149, 6.94651, 'Cologne Furdance', 'www.cologne-cfd.de', 'Zeughaus24, Zeughausstraße 24, 50667 Köln, Germany', '', 'Nov 10 2012'); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 2-4 2013', 251);&lt;br /&gt;
addLocation(-37.825497,144.951725, 'ConFurgence', 'confurgence.com', 'Hilton South Wharf&amp;lt;br&amp;gt;2 Convention Centre Place&amp;lt;br&amp;gt;South Wharf, Melbourne&amp;lt;br&amp;gt;Australia 3006', '+61-3-9027-2000', 'Jan 10-12 2014', 474);&lt;br /&gt;
addLocation(52.450713,  -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 23-27 2014', 873);&lt;br /&gt;
addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 6-8 2013');&lt;br /&gt;
addLocation(51.689585, 11.274526, 'EAST', 'www.east-convention.de.vu', 'DJH Falkenstein/Harz&amp;lt;br&amp;gt;Falkensteiner Weg 2b&amp;lt;br&amp;gt;06463 Falkenstein/Harz&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Sep 19-22 2013');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'ele.furryhost.com', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(52.129813, 11.631281, 'Eurofurence', 'eurofurence.org', 'Maritim Hotel Magdeburg&amp;lt;br&amp;gt;Otto-von-Guericke-Straße 87&amp;lt;br&amp;gt;39104 Magdeburg&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 21-25 2013', 1376);&lt;br /&gt;
addLocation(40.703546, -74.184279, 'FA: United', 'faunited.org', 'Hanover Marriott&amp;lt;br&amp;gt;1401 Rt 10 E&amp;lt;br&amp;gt;Whippany, NJ 07981&amp;lt;br&amp;gt;USA', '+1 (973) 538 8811 ', 'Aug 17-19 2012', 629);&lt;br /&gt;
addLocation(35.91979, -84.088551, 'Fangcon', 'fangcon.org', 'Holiday Inn Knoxville West&amp;lt;br&amp;gt;9134 Executive Park Dr&amp;lt;br&amp;gt;Knoxville, TN 37923&amp;lt;br&amp;gt;USA', '+1 (865) 693-1011', 'Nov 07-09 2014', 231);&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 24-28 2012', 94);&lt;br /&gt;
addLocation(62.02209, 30.0185, 'FinFur', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
addLocation(35.454262,139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(-41.239835,174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 6-9 2014', 50);&lt;br /&gt;
addLocation(-28.00041, 153.4264, 'FurDU', 'www.furrydownunder.com', 'Vibe Hotel Gold Coast&amp;lt;br&amp;gt;42 Ferny Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'Apr 27-29 2012', 246);&lt;br /&gt;
addLocation(53.541723, -113.625262, 'Fur-eh!', 'fureh.ca', 'Hilton Garden Inn&amp;lt;br&amp;gt;17610 Stony Plain Road&amp;lt;br&amp;gt;Edmonton, Alberta, T5S 1A2&amp;lt;br&amp;gt;Canada', '+1 (780) 443-2233', 'May 4-6 2012', 200);&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Oct 7-9 2012');&lt;br /&gt;
addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 12-14 2014', 241); //attendance for 2012&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 27 2012', 148);&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 8-10 2013', 750);&lt;br /&gt;
addLocation(28.401971, -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Dec 2-7 2012', 24);&lt;br /&gt;
addLocation(32.956825, -96.822896, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Feb 21-23 2014', 1492);&lt;br /&gt;
addLocation(44.86092, -93.23923, 'Furry Migration', 'www.furrymigration.org', 'Ramada Mall of America&amp;lt;br&amp;gt;American Blvd E&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 952-854-3411', 'Sep 12-14 2014');&lt;br /&gt;
addLocation(33.761999, -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Apr 9-12 2015', 2488);&lt;br /&gt;
addLocation(52.775556,   6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 15-18 2013', 57);&lt;br /&gt;
addLocation(51.40328, 5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66);&lt;br /&gt;
addLocation(52.588333, 14.65, 'Furstock', 'www.polfurs.org', '', '', 'Dec 30 2012-Jan 1 2013', 35);&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'Jul 2012?');&lt;br /&gt;
addLocation(37.330294,-121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 16-20 2014', 3380);&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'furthestnorth.ca', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Aug 2-5 2013', 63);&lt;br /&gt;
addLocation(35.559328, 139.723602, 'Fur-st', 'fur-st.com', '志ら井&amp;lt;br&amp;gt;1 Chome-20-28 Minamikamata&amp;lt;br&amp;gt;Ota, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Oct 18 2014', 144);&lt;br /&gt;
addLocation(39.283286,-84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'Oct 10-12, 2014');&lt;br /&gt;
addLocation(39.494658,-76.66367, 'Fur the \'More', 'furthemore.org', 'Hunt Valley Inn&amp;lt;br&amp;gt;245 Shawan Rd&amp;lt;br&amp;gt;Baltimore, MD&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Mar 14-16 2014', 714);&lt;br /&gt;
addLocation(51.93180, 19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 8-11 2013', 93);&lt;br /&gt;
addLocation(49.8954237, 5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013', 14);&lt;br /&gt;
addLocation(47.35016, 7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Nov 15-18 2012');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Oct 3-7 2012', 50);&lt;br /&gt;
addLocation(49.26716,-123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', 'Nov 10-12 2011', 182);&lt;br /&gt;
addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Nov 24-25 2012');&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Sheraton at Keystone Crossing&amp;lt;br&amp;gt;8787 Keystone Crossing&amp;lt;br&amp;gt;Indianapolis, IN 46240&amp;lt;br&amp;gt;USA', '+1 (317) 846-2700', 'Aug 9-11 2013', 482);&lt;br /&gt;
addLocation(34.743463, 137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 10-11 2015', 232);&lt;br /&gt;
addLocation(35.3334755,139.9891955, 'Kemocon', 'www.kemocon.com', 'Kasuza Akademia Hall&amp;lt;br&amp;gt;2 Chome-3-9 Kazusakamatari&amp;lt;br&amp;gt;Kisarazu, Chiba Prefecture&amp;lt;br&amp;gt;Japan', '', 'Nov 22-23 2014', 420);&lt;br /&gt;
addLocation(34.985692,138.417148, 'Kemono Square', 'eixinweb.jp/kemono-square.html', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 7 2014', 81); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(35.654685,139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);  //259 vendors from 246 circles confirmed for 2014&lt;br /&gt;
addLocation(34.6693, 135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2013', 0);&lt;br /&gt;
addLocation(35.1584991,136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 23, 2014', 91); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(47.336284,  12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Aug 8-11 2012', 20);&lt;br /&gt;
addLocation(28.333938, -81.587638, 'Megaplex', 'megaplexcon.org', 'Worldgate Resort Hotel&amp;lt;br&amp;gt;3011 Maingate Lane&amp;lt;br&amp;gt;Kissimmee, FL 34747-2302&amp;lt;br&amp;gt;USA', '+1 (866) 705-7676', 'Jul 27-29 2012', 553);&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Aug 30-Sep 1 2013', 548);&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May 9-12 2013', 200);&lt;br /&gt;
addLocation(35.6568544, 139.7351909, 'Metamore Generation V', 'www.metamor.jp/', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(41.981284, -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Nov 16-18 2012', 2600);&lt;br /&gt;
addLocation(35.7549142,139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', '', 'May 5 2014', 54); //only attendees signed up from Twipla - 4 people over venue capacity&lt;br /&gt;
addLocation(40.105846, -83.017244, 'Morphicon', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 3-6 2012', 275);&lt;br /&gt;
addLocation(39.65924 , -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 30-Jan 1 2011', 146) // Was replaced by Furstivus in 2012, but planned to resume for 2013&lt;br /&gt;
addLocation(59.166046, 18.13522, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Quality Hotel Winn Haninge&amp;lt;br&amp;gt;Rudsjoterassen 3&amp;lt;br&amp;gt;SE 136 40  Handen&amp;lt;br&amp;gt;Sweden', '', 'Mar 28-31 2013', 175);&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 17-22 2012', 300);&lt;br /&gt;
addLocation(-31.952222, 115.858889, 'Perthfur Gathering', 'gathering.perthfurs.net', 'Perth, Western Australia', '', 'Aug 13 2011', 76);//&amp;quot;3rd qtr, 2010&amp;quot;&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 27-30 2012', 1424);&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'Jun 29-Jul 2 2012', 50);&lt;br /&gt;
addLocation(34.6701,  -86.577759, 'Rocket City FurMeet', 'rcfm.net', 'Hilton Garden Inn Huntsville South&amp;lt;br&amp;gt;301 Boulevard South SW&amp;lt;br&amp;gt;Huntsville, Alabama 35802&amp;lt;br&amp;gt;USA', '+1 (256) 881-4170', 'May 24-26 2013', 242);&lt;br /&gt;
addLocation(39.762235,-104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Doubletree Hotel Denver&amp;lt;br&amp;gt;3203 Quebec Street&amp;lt;br&amp;gt;Denver, Colorado 80207&amp;lt;br&amp;gt;USA', '+1 (303) 321-3333', 'Aug 2-4 2013', 863);&lt;br /&gt;
addLocation(56.050627,36.823576, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 5-10 2013', 286);&lt;br /&gt;
addLocation(57.478307, -4.22672, 'ScotiaCon', 'www.scotiacon.com', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Jul 27-30 2012', 123);&lt;br /&gt;
addLocation(-26.201, 28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', '30 Aug-1 Sep 2013', 126);&lt;br /&gt;
addLocation(49.266323,-123.011509, 'VancouFur', 'vancoufur.ca', 'Executive Hotel &amp;amp; Conference Centre Burnaby&amp;lt;br&amp;gt;4201 Lougheed Hwy&amp;lt;br&amp;gt;Burnaby, British Columbia, V5C 3Y6&amp;lt;br&amp;gt;Canada', '', 'Mar 1-3 2013', 479);&lt;br /&gt;
addLocation(45.499474, -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 17-19 2013', 282);&lt;br /&gt;
addLocation(40.538786, -79.830565, 'Western Pennsylvania Furry Weekend', 'wpafw.org', 'Quality Inn Pittsburgh North&amp;lt;br&amp;gt;2801 Freeport Road&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15238&amp;lt;br&amp;gt;USA', '+1 (412) 828-9400', 'Sep 28-30 2012', 116);&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 25-29 2013', 122);&lt;br /&gt;
addLocation(50.456309, 30.504819, 'WUFF', 'wuff.org.ua/2013', 'Kiev, Ukraine', '', 'May 9-12 2013', 164)&lt;br /&gt;
addLocation(44.520806, 11.401609, 'Zampacon', 'zampacon.forumfree.it', 'Ostello SanSisto&amp;lt;br&amp;gt;via Viadagola 5&amp;lt;br&amp;gt;Bologna, 40127&amp;lt;br&amp;gt;Italy', '', 'Dec 29-Jan 1 2013', 34);&lt;br /&gt;
addLocation(47.503095, 12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 25-Feb 1 2014', 40);&lt;br /&gt;
addLocation(50.773040, 15.311701, 'ZodiaCon', 'zodiacon.org', 'Hotel Emilka&amp;lt;br&amp;gt;Na Novině 401&amp;lt;br&amp;gt;468 61 Desná III&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 30-June 2, 2014', 74);&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Everywhere (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Japan (&amp;quot;+count_japan+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_JAPAN;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_JAPAN:&lt;br /&gt;
            filter_func = is_in_japan; break;            &lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_japan(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates into numbers for sorting&lt;br /&gt;
// Might benefit from also parsing years.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
	if (!s) {return 4001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (!x || !x[1]) return 4000;&lt;br /&gt;
	day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	switch (x[1]){&lt;br /&gt;
		case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		default:	month = 20;&lt;br /&gt;
	}//switch&lt;br /&gt;
	return month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        markerOpts = {&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: name&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        markerOpts.icon = (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 200 ? purpleIcon : blueIcon ) );&lt;br /&gt;
        markerOpts.shadow = markerShadow;&lt;br /&gt;
        markerOpts.title = a.name;&lt;br /&gt;
&lt;br /&gt;
        a.marker = new google.maps.Marker(markerOpts);&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            //if we can't see the marker, show it in the center&lt;br /&gt;
            if (!map.getBounds().contains(a.marker.getPosition())){&lt;br /&gt;
                map.panTo(a.marker.getPosition());&lt;br /&gt;
            }&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++; &lt;br /&gt;
        } else if (is_in_japan(a.lat, a.lng)) {&lt;br /&gt;
	    count_japan ++; &lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2014-04-30T02:33:20Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Update attendance for Unthrocon, Furlaxation; update date for Fur Reality&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the link button, copy it into a text editor (like Notepad), and use the numbers after 'll='. &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_japan = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_JAPAN = 4;&lt;br /&gt;
var FILT_OTHERS = 5;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
function is_in_japan(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var markerShadow = new google.maps.MarkerImage(&amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/markers/marker_sprite.png&amp;quot;, new google.maps.Size(37,34), new google.maps.Point(20, 0), new google.maps.Point(10, 34)); &lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
addLocation(-24.265278,-48.406944, 'Abando', 'abando.com.br', 'Parque Estadual Intervales&amp;lt;br&amp;gt;São Roque, São Paulo&amp;lt;br&amp;gt;Brazil', '', 'Mar 1-4 2013', 55);&lt;br /&gt;
//addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jul 3-6 2014', '5577');&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', '20-23 Jun 2013', 35);&lt;br /&gt;
addLocation(39.523177, -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'Mar 28-30 2014', '704');&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'May 30-Jun 1 2014', 1178);&lt;br /&gt;
addLocation(43.721056,-121.291552, 'Campfire Tails', 'campfiretails.com', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Aug 1-5 2012', 143);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439, -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(49.638649,  15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jun 27-30 2013', 107);&lt;br /&gt;
addLocation(50.94149, 6.94651, 'Cologne Furdance', 'www.cologne-cfd.de', 'Zeughaus24, Zeughausstraße 24, 50667 Köln, Germany', '', 'Nov 10 2012'); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 2-4 2013', 251);&lt;br /&gt;
addLocation(-37.825497,144.951725, 'ConFurgence', 'confurgence.com', 'Hilton South Wharf&amp;lt;br&amp;gt;2 Convention Centre Place&amp;lt;br&amp;gt;South Wharf, Melbourne&amp;lt;br&amp;gt;Australia 3006', '+61-3-9027-2000', 'Jan 10-12 2014', 474);&lt;br /&gt;
addLocation(52.450713,  -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 23-27 2014', 873);&lt;br /&gt;
addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 6-8 2013');&lt;br /&gt;
addLocation(51.689585, 11.274526, 'EAST', 'www.east-convention.de.vu', 'DJH Falkenstein/Harz&amp;lt;br&amp;gt;Falkensteiner Weg 2b&amp;lt;br&amp;gt;06463 Falkenstein/Harz&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Sep 19-22 2013');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'ele.furryhost.com', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(52.129813, 11.631281, 'Eurofurence', 'eurofurence.org', 'Maritim Hotel Magdeburg&amp;lt;br&amp;gt;Otto-von-Guericke-Straße 87&amp;lt;br&amp;gt;39104 Magdeburg&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 21-25 2013', 1376);&lt;br /&gt;
addLocation(40.703546, -74.184279, 'FA: United', 'faunited.org', 'Hanover Marriott&amp;lt;br&amp;gt;1401 Rt 10 E&amp;lt;br&amp;gt;Whippany, NJ 07981&amp;lt;br&amp;gt;USA', '+1 (973) 538 8811 ', 'Aug 17-19 2012', 629);&lt;br /&gt;
addLocation(35.91979, -84.088551, 'Fangcon', 'fangcon.org', 'Holiday Inn Knoxville West&amp;lt;br&amp;gt;9134 Executive Park Dr&amp;lt;br&amp;gt;Knoxville, TN 37923&amp;lt;br&amp;gt;USA', '+1 (865) 693-1011', 'Nov 07-09 2014', 231);&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 24-28 2012', 94);&lt;br /&gt;
addLocation(62.02209, 30.0185, 'FinFur', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
addLocation(35.454262,139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(-41.239835,174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 6-9 2014', 50);&lt;br /&gt;
addLocation(-28.00041, 153.4264, 'FurDU', 'www.furrydownunder.com', 'Vibe Hotel Gold Coast&amp;lt;br&amp;gt;42 Ferny Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'Apr 27-29 2012', 246);&lt;br /&gt;
addLocation(53.541723, -113.625262, 'Fur-eh!', 'fureh.ca', 'Hilton Garden Inn&amp;lt;br&amp;gt;17610 Stony Plain Road&amp;lt;br&amp;gt;Edmonton, Alberta, T5S 1A2&amp;lt;br&amp;gt;Canada', '+1 (780) 443-2233', 'May 4-6 2012', 200);&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Oct 7-9 2012');&lt;br /&gt;
addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 12-14 2014', 241); //attendance for 2012&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 27 2012', 148);&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 8-10 2013', 750);&lt;br /&gt;
addLocation(28.401971, -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Dec 2-7 2012', 24);&lt;br /&gt;
addLocation(32.956825, -96.822896, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Feb 21-23 2014', 1492);&lt;br /&gt;
addLocation(44.86092, -93.23923, 'Furry Migration', 'www.furrymigration.org', 'Ramada Mall of America&amp;lt;br&amp;gt;American Blvd E&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 952-854-3411', 'Sep 12-14 2014');&lt;br /&gt;
addLocation(33.761999, -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Apr 9-12 2015', 2488);&lt;br /&gt;
addLocation(52.775556,   6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 15-18 2013', 57);&lt;br /&gt;
addLocation(51.40328, 5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66);&lt;br /&gt;
addLocation(52.588333, 14.65, 'Furstock', 'www.polfurs.org', '', '', 'Dec 30 2012-Jan 1 2013', 35);&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'Jul 2012?');&lt;br /&gt;
addLocation(37.330294,-121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 16-20 2014', 3380);&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'furthestnorth.ca', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Aug 2-5 2013', 63);&lt;br /&gt;
addLocation(35.559328, 139.723602, 'Fur-st', 'fur-st.com', '志ら井&amp;lt;br&amp;gt;1 Chome-20-28 Minamikamata&amp;lt;br&amp;gt;Ota, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Oct 18 2014', 144);&lt;br /&gt;
addLocation(39.283286,-84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'October 10-12, 2014');&lt;br /&gt;
addLocation(39.494658,-76.66367, 'Fur the \'More', 'furthemore.org', 'Hunt Valley Inn&amp;lt;br&amp;gt;245 Shawan Rd&amp;lt;br&amp;gt;Baltimore, MD&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Mar 14-16 2014');&lt;br /&gt;
addLocation(51.93180, 19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 8-11 2013', 93);&lt;br /&gt;
addLocation(49.8954237, 5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013');&lt;br /&gt;
addLocation(47.35016, 7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Nov 15-18 2012');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Oct 3-7 2012', 50);&lt;br /&gt;
addLocation(49.26716,-123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', 'Nov 10-12 2011', 182);&lt;br /&gt;
addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Nov 24-25 2012');&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Sheraton at Keystone Crossing&amp;lt;br&amp;gt;8787 Keystone Crossing&amp;lt;br&amp;gt;Indianapolis, IN 46240&amp;lt;br&amp;gt;USA', '+1 (317) 846-2700', 'Aug 9-11 2013', 482);&lt;br /&gt;
addLocation(34.743463, 137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 10-11 2015', 232);&lt;br /&gt;
addLocation(35.3334755,139.9891955, 'Kemocon', 'www.kemocon.com', 'Kasuza Akademia Hall&amp;lt;br&amp;gt;2 Chome-3-9 Kazusakamatari&amp;lt;br&amp;gt;Kisarazu, Chiba Prefecture&amp;lt;br&amp;gt;Japan', '', 'Nov 22-23 2014', 420);&lt;br /&gt;
addLocation(34.985692,138.417148, 'Kemono Square', 'eixinweb.jp/kemono-square.html', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 7 2014', 81); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(35.654685,139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);  //259 vendors from 246 circles confirmed for 2014&lt;br /&gt;
addLocation(34.6693, 135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2013', 0);&lt;br /&gt;
addLocation(35.1584991,136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 23, 2014', 91); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(47.336284,  12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Aug 8-11 2012', 20);&lt;br /&gt;
addLocation(28.333938, -81.587638, 'Megaplex', 'megaplexcon.org', 'Worldgate Resort Hotel&amp;lt;br&amp;gt;3011 Maingate Lane&amp;lt;br&amp;gt;Kissimmee, FL 34747-2302&amp;lt;br&amp;gt;USA', '+1 (866) 705-7676', 'Jul 27-29 2012', 553);&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Aug 30-Sep 1 2013', 548);&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May 9-12 2013', 200);&lt;br /&gt;
addLocation(35.6568544, 139.7351909, 'Metamore Generation V', 'www.metamor.jp/', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(41.981284, -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Nov 16-18 2012', 2600);&lt;br /&gt;
addLocation(35.7549142,139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', '', 'May 5 2014', 54); //only attendees signed up from Twipla - 4 people over venue capacity&lt;br /&gt;
addLocation(40.105846, -83.017244, 'Morphicon', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 3-6 2012', 275);&lt;br /&gt;
addLocation(39.65924 , -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 30-Jan 1 2011', 146) // Was replaced by Furstivus in 2012, but planned to resume for 2013&lt;br /&gt;
addLocation(59.166046, 18.13522, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Quality Hotel Winn Haninge&amp;lt;br&amp;gt;Rudsjoterassen 3&amp;lt;br&amp;gt;SE 136 40  Handen&amp;lt;br&amp;gt;Sweden', '', 'Mar 28-31 2013', 175);&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 17-22 2012', 300);&lt;br /&gt;
addLocation(-31.952222, 115.858889, 'Perthfur Gathering', 'gathering.perthfurs.net', 'Perth, Western Australia', '', 'Aug 13 2011', 76);//&amp;quot;3rd qtr, 2010&amp;quot;&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 27-30 2012', 1424);&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'Jun 29-Jul 2 2012', 50);&lt;br /&gt;
addLocation(34.6701,  -86.577759, 'Rocket City FurMeet', 'rcfm.net', 'Hilton Garden Inn Huntsville South&amp;lt;br&amp;gt;301 Boulevard South SW&amp;lt;br&amp;gt;Huntsville, Alabama 35802&amp;lt;br&amp;gt;USA', '+1 (256) 881-4170', 'May 24-26 2013', 242);&lt;br /&gt;
addLocation(39.762235,-104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Doubletree Hotel Denver&amp;lt;br&amp;gt;3203 Quebec Street&amp;lt;br&amp;gt;Denver, Colorado 80207&amp;lt;br&amp;gt;USA', '+1 (303) 321-3333', 'Aug 2-4 2013', 863);&lt;br /&gt;
addLocation(56.050627,36.823576, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 5-10 2013', 286);&lt;br /&gt;
addLocation(57.478307, -4.22672, 'ScotiaCon', 'www.scotiacon.com', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Jul 27-30 2012', 123);&lt;br /&gt;
addLocation(-26.201, 28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', '30 Aug-1 Sep 2013', 126);&lt;br /&gt;
addLocation(49.266323,-123.011509, 'VancouFur', 'vancoufur.ca', 'Executive Hotel &amp;amp; Conference Centre Burnaby&amp;lt;br&amp;gt;4201 Lougheed Hwy&amp;lt;br&amp;gt;Burnaby, British Columbia, V5C 3Y6&amp;lt;br&amp;gt;Canada', '', 'Mar 1-3 2013', 479);&lt;br /&gt;
addLocation(45.499474, -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 17-19 2013', 282);&lt;br /&gt;
addLocation(40.538786, -79.830565, 'Western Pennsylvania Furry Weekend', 'wpafw.org', 'Quality Inn Pittsburgh North&amp;lt;br&amp;gt;2801 Freeport Road&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15238&amp;lt;br&amp;gt;USA', '+1 (412) 828-9400', 'Sep 28-30 2012', 116);&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 25-29 2013', 122);&lt;br /&gt;
addLocation(50.456309, 30.504819, 'WUFF', 'wuff.org.ua/2013', 'Kiev, Ukraine', '', 'May 9-12 2013', 164)&lt;br /&gt;
addLocation(44.520806, 11.401609, 'Zampacon', 'zampacon.forumfree.it', 'Ostello SanSisto&amp;lt;br&amp;gt;via Viadagola 5&amp;lt;br&amp;gt;Bologna, 40127&amp;lt;br&amp;gt;Italy', '', 'Dec 29-Jan 1 2013', 34);&lt;br /&gt;
addLocation(47.503095, 12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 25-Feb 1 2014', 40);&lt;br /&gt;
addLocation(50.773040, 15.311701, 'ZodiaCon', 'zodiacon.org', 'Hotel Emilka&amp;lt;br&amp;gt;Na Novině 401&amp;lt;br&amp;gt;468 61 Desná III&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 2012?');&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Everywhere (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Japan (&amp;quot;+count_japan+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_JAPAN;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_JAPAN:&lt;br /&gt;
            filter_func = is_in_japan; break;            &lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_japan(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates into numbers for sorting&lt;br /&gt;
// Might benefit from also parsing years.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
	if (!s) {return 4001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (!x || !x[1]) return 4000;&lt;br /&gt;
	day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	switch (x[1]){&lt;br /&gt;
		case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		default:	month = 20;&lt;br /&gt;
	}//switch&lt;br /&gt;
	return month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        markerOpts = {&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: name&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        markerOpts.icon = (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 200 ? purpleIcon : blueIcon ) );&lt;br /&gt;
        markerOpts.shadow = markerShadow;&lt;br /&gt;
        markerOpts.title = a.name;&lt;br /&gt;
&lt;br /&gt;
        a.marker = new google.maps.Marker(markerOpts);&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            //if we can't see the marker, show it in the center&lt;br /&gt;
            if (!map.getBounds().contains(a.marker.getPosition())){&lt;br /&gt;
                map.panTo(a.marker.getPosition());&lt;br /&gt;
            }&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++; &lt;br /&gt;
        } else if (is_in_japan(a.lat, a.lng)) {&lt;br /&gt;
	    count_japan ++; &lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2014-04-28T19:58:03Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Change filter option &amp;quot;all events&amp;quot; to &amp;quot;Everywhere&amp;quot; to hint that filtering is geographic&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the link button, copy it into a text editor (like Notepad), and use the numbers after 'll='. &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_japan = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_JAPAN = 4;&lt;br /&gt;
var FILT_OTHERS = 5;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
function is_in_japan(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var markerShadow = new google.maps.MarkerImage(&amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/markers/marker_sprite.png&amp;quot;, new google.maps.Size(37,34), new google.maps.Point(20, 0), new google.maps.Point(10, 34)); &lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
addLocation(-24.265278,-48.406944, 'Abando', 'abando.com.br', 'Parque Estadual Intervales&amp;lt;br&amp;gt;São Roque, São Paulo&amp;lt;br&amp;gt;Brazil', '', 'Mar 1-4 2013', 55);&lt;br /&gt;
//addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jul 3-6 2014', '5577');&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', '20-23 Jun 2013', 35);&lt;br /&gt;
addLocation(39.523177, -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'Mar 28-30 2014', '704');&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'May 30-Jun 1 2014', 1178);&lt;br /&gt;
addLocation(43.721056,-121.291552, 'Campfire Tails', 'campfiretails.com', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Aug 1-5 2012', 143);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439, -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(49.638649,  15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jun 27-30 2013', 107);&lt;br /&gt;
addLocation(50.94149, 6.94651, 'Cologne Furdance', 'www.cologne-cfd.de', 'Zeughaus24, Zeughausstraße 24, 50667 Köln, Germany', '', 'Nov 10 2012'); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 2-4 2013', 251);&lt;br /&gt;
addLocation(-37.825497,144.951725, 'ConFurgence', 'confurgence.com', 'Hilton South Wharf&amp;lt;br&amp;gt;2 Convention Centre Place&amp;lt;br&amp;gt;South Wharf, Melbourne&amp;lt;br&amp;gt;Australia 3006', '+61-3-9027-2000', 'Jan 10-12 2014', 474);&lt;br /&gt;
addLocation(52.450713,  -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 23-27 2014', 873);&lt;br /&gt;
addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 6-8 2013');&lt;br /&gt;
addLocation(51.689585, 11.274526, 'EAST', 'www.east-convention.de.vu', 'DJH Falkenstein/Harz&amp;lt;br&amp;gt;Falkensteiner Weg 2b&amp;lt;br&amp;gt;06463 Falkenstein/Harz&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Sep 19-22 2013');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'ele.furryhost.com', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(52.129813, 11.631281, 'Eurofurence', 'eurofurence.org', 'Maritim Hotel Magdeburg&amp;lt;br&amp;gt;Otto-von-Guericke-Straße 87&amp;lt;br&amp;gt;39104 Magdeburg&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 21-25 2013', 1376);&lt;br /&gt;
addLocation(40.703546, -74.184279, 'FA: United', 'faunited.org', 'Hanover Marriott&amp;lt;br&amp;gt;1401 Rt 10 E&amp;lt;br&amp;gt;Whippany, NJ 07981&amp;lt;br&amp;gt;USA', '+1 (973) 538 8811 ', 'Aug 17-19 2012', 629);&lt;br /&gt;
addLocation(35.91979, -84.088551, 'Fangcon', 'fangcon.org', 'Holiday Inn Knoxville West&amp;lt;br&amp;gt;9134 Executive Park Dr&amp;lt;br&amp;gt;Knoxville, TN 37923&amp;lt;br&amp;gt;USA', '+1 (865) 693-1011', 'Nov 07-09 2014', 231);&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 24-28 2012', 94);&lt;br /&gt;
addLocation(62.02209, 30.0185, 'FinFur', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
addLocation(35.454262,139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(-41.239835,174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 6-9 2014', 50);&lt;br /&gt;
addLocation(-28.00041, 153.4264, 'FurDU', 'www.furrydownunder.com', 'Vibe Hotel Gold Coast&amp;lt;br&amp;gt;42 Ferny Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'Apr 27-29 2012', 246);&lt;br /&gt;
addLocation(53.541723, -113.625262, 'Fur-eh!', 'fureh.ca', 'Hilton Garden Inn&amp;lt;br&amp;gt;17610 Stony Plain Road&amp;lt;br&amp;gt;Edmonton, Alberta, T5S 1A2&amp;lt;br&amp;gt;Canada', '+1 (780) 443-2233', 'May 4-6 2012', 200);&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Oct 7-9 2012');&lt;br /&gt;
addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 28-30 2012');&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 27 2012', 148);&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 8-10 2013', 750);&lt;br /&gt;
addLocation(28.401971, -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Dec 2-7 2012', 24);&lt;br /&gt;
addLocation(32.956825, -96.822896, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Feb 21-23 2014', 1492);&lt;br /&gt;
addLocation(44.86092, -93.23923, 'Furry Migration', 'www.furrymigration.org', 'Ramada Mall of America&amp;lt;br&amp;gt;American Blvd E&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 952-854-3411', 'Sep 12-14 2014');&lt;br /&gt;
addLocation(33.761999, -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Apr 9-12 2015', 2488);&lt;br /&gt;
addLocation(52.775556,   6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 15-18 2013', 57);&lt;br /&gt;
addLocation(51.40328, 5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66);&lt;br /&gt;
addLocation(52.588333, 14.65, 'Furstock', 'www.polfurs.org', '', '', 'Dec 30 2012-Jan 1 2013', 35);&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'Jul 2012?');&lt;br /&gt;
addLocation(37.330294,-121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 16-20 2014', 3380);&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'furthestnorth.ca', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Aug 2-5 2013', 63);&lt;br /&gt;
addLocation(39.283286,-84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'Oct 11-13 2013');&lt;br /&gt;
addLocation(39.494658,-76.66367, 'Fur the \'More', 'furthemore.org', 'Hunt Valley Inn&amp;lt;br&amp;gt;245 Shawan Rd&amp;lt;br&amp;gt;Baltimore, MD&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Mar 14-16 2014');&lt;br /&gt;
addLocation(51.93180, 19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 8-11 2013', 93);&lt;br /&gt;
addLocation(49.8954237, 5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013');&lt;br /&gt;
addLocation(47.35016, 7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Nov 15-18 2012');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Oct 3-7 2012', 50);&lt;br /&gt;
addLocation(49.26716,-123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', 'Nov 10-12 2011', 182);&lt;br /&gt;
addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Nov 24-25 2012');&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Sheraton at Keystone Crossing&amp;lt;br&amp;gt;8787 Keystone Crossing&amp;lt;br&amp;gt;Indianapolis, IN 46240&amp;lt;br&amp;gt;USA', '+1 (317) 846-2700', 'Aug 9-11 2013', 482);&lt;br /&gt;
addLocation(34.743463, 137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 10-11 2015', 232);&lt;br /&gt;
addLocation(35.3334755,139.9891955, 'Kemocon', 'www.kemocon.com', 'Kasuza Akademia Hall&amp;lt;br&amp;gt;2 Chome-3-9 Kazusakamatari&amp;lt;br&amp;gt;Kisarazu, Chiba Prefecture&amp;lt;br&amp;gt;Japan', '', 'Nov 22-23 2014', 420);&lt;br /&gt;
addLocation(34.985692,138.417148, 'Kemono Square', 'eixinweb.jp/kemono-square.html', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 7 2014', 81); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(35.654685,139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);  //259 vendors from 246 circles confirmed for 2014&lt;br /&gt;
addLocation(34.6693, 135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2013', 0);&lt;br /&gt;
addLocation(35.1584991,136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 23, 2014', 91); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(47.336284,  12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Aug 8-11 2012', 20);&lt;br /&gt;
addLocation(28.333938, -81.587638, 'Megaplex', 'megaplexcon.org', 'Worldgate Resort Hotel&amp;lt;br&amp;gt;3011 Maingate Lane&amp;lt;br&amp;gt;Kissimmee, FL 34747-2302&amp;lt;br&amp;gt;USA', '+1 (866) 705-7676', 'Jul 27-29 2012', 553);&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Aug 30-Sep 1 2013', 548);&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May 9-12 2013', 200);&lt;br /&gt;
addLocation(35.6568544, 139.7351909, 'Metamore Generation V', 'www.metamor.jp/', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(41.981284, -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Nov 16-18 2012', 2600);&lt;br /&gt;
addLocation(35.7549142,139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', '', 'May 5 2014', 54); //only attendees signed up from Twipla - 4 people over venue capacity&lt;br /&gt;
addLocation(40.105846, -83.017244, 'Morphicon', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 3-6 2012', 275);&lt;br /&gt;
addLocation(39.65924 , -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 30-Jan 1 2011', 146) // Was replaced by Furstivus in 2012, but planned to resume for 2013&lt;br /&gt;
addLocation(59.166046, 18.13522, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Quality Hotel Winn Haninge&amp;lt;br&amp;gt;Rudsjoterassen 3&amp;lt;br&amp;gt;SE 136 40  Handen&amp;lt;br&amp;gt;Sweden', '', 'Mar 28-31 2013', 175);&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 17-22 2012', 300);&lt;br /&gt;
addLocation(-31.952222, 115.858889, 'Perthfur Gathering', 'gathering.perthfurs.net', 'Perth, Western Australia', '', 'Aug 13 2011', 76);//&amp;quot;3rd qtr, 2010&amp;quot;&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 27-30 2012', 1424);&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'Jun 29-Jul 2 2012', 50);&lt;br /&gt;
addLocation(34.6701,  -86.577759, 'Rocket City FurMeet', 'rcfm.net', 'Hilton Garden Inn Huntsville South&amp;lt;br&amp;gt;301 Boulevard South SW&amp;lt;br&amp;gt;Huntsville, Alabama 35802&amp;lt;br&amp;gt;USA', '+1 (256) 881-4170', 'May 24-26 2013', 242);&lt;br /&gt;
addLocation(39.762235,-104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Doubletree Hotel Denver&amp;lt;br&amp;gt;3203 Quebec Street&amp;lt;br&amp;gt;Denver, Colorado 80207&amp;lt;br&amp;gt;USA', '+1 (303) 321-3333', 'Aug 2-4 2013', 863);&lt;br /&gt;
addLocation(56.050627,36.823576, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 5-10 2013', 286);&lt;br /&gt;
addLocation(57.478307, -4.22672, 'ScotiaCon', 'www.scotiacon.com', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Jul 27-30 2012', 123);&lt;br /&gt;
addLocation(-26.201, 28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', '30 Aug-1 Sep 2013', 0);&lt;br /&gt;
addLocation(49.266323,-123.011509, 'VancouFur', 'vancoufur.ca', 'Executive Hotel &amp;amp; Conference Centre Burnaby&amp;lt;br&amp;gt;4201 Lougheed Hwy&amp;lt;br&amp;gt;Burnaby, British Columbia, V5C 3Y6&amp;lt;br&amp;gt;Canada', '', 'Mar 1-3 2013', 479);&lt;br /&gt;
addLocation(45.499474, -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 17-19 2013', 282);&lt;br /&gt;
addLocation(40.538786, -79.830565, 'Western Pennsylvania Furry Weekend', 'wpafw.org', 'Quality Inn Pittsburgh North&amp;lt;br&amp;gt;2801 Freeport Road&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15238&amp;lt;br&amp;gt;USA', '+1 (412) 828-9400', 'Sep 28-30 2012', 116);&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 25-29 2013', 122);&lt;br /&gt;
addLocation(50.456309, 30.504819, 'WUFF', 'wuff.org.ua/2013', 'Kiev, Ukraine', '', 'May 9-12 2013', 164)&lt;br /&gt;
addLocation(44.520806, 11.401609, 'Zampacon', 'zampacon.forumfree.it', 'Ostello SanSisto&amp;lt;br&amp;gt;via Viadagola 5&amp;lt;br&amp;gt;Bologna, 40127&amp;lt;br&amp;gt;Italy', '', 'Dec 29-Jan 1 2013', 34);&lt;br /&gt;
addLocation(47.503095, 12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 25-Feb 1 2014', 40);&lt;br /&gt;
addLocation(50.773040, 15.311701, 'ZodiaCon', 'zodiacon.org', 'Hotel Emilka&amp;lt;br&amp;gt;Na Novině 401&amp;lt;br&amp;gt;468 61 Desná III&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 2012?');&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Everywhere (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Japan (&amp;quot;+count_japan+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_JAPAN;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_JAPAN:&lt;br /&gt;
            filter_func = is_in_japan; break;            &lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_japan(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates into numbers for sorting&lt;br /&gt;
// Might benefit from also parsing years.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
	if (!s) {return 4001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (!x || !x[1]) return 4000;&lt;br /&gt;
	day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	switch (x[1]){&lt;br /&gt;
		case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		default:	month = 20;&lt;br /&gt;
	}//switch&lt;br /&gt;
	return month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        markerOpts = {&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: name&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        markerOpts.icon = (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 200 ? purpleIcon : blueIcon ) );&lt;br /&gt;
        markerOpts.shadow = markerShadow;&lt;br /&gt;
        markerOpts.title = a.name;&lt;br /&gt;
&lt;br /&gt;
        a.marker = new google.maps.Marker(markerOpts);&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            //if we can't see the marker, show it in the center&lt;br /&gt;
            if (!map.getBounds().contains(a.marker.getPosition())){&lt;br /&gt;
                map.panTo(a.marker.getPosition());&lt;br /&gt;
            }&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++; &lt;br /&gt;
        } else if (is_in_japan(a.lat, a.lng)) {&lt;br /&gt;
	    count_japan ++; &lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2014-04-27T12:48:26Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: if we can't see the marker, show it in the center&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the link button, copy it into a text editor (like Notepad), and use the numbers after 'll='. &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_japan = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_JAPAN = 4;&lt;br /&gt;
var FILT_OTHERS = 5;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
function is_in_japan(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var markerShadow = new google.maps.MarkerImage(&amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/markers/marker_sprite.png&amp;quot;, new google.maps.Size(37,34), new google.maps.Point(20, 0), new google.maps.Point(10, 34)); &lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
addLocation(-24.265278,-48.406944, 'Abando', 'abando.com.br', 'Parque Estadual Intervales&amp;lt;br&amp;gt;São Roque, São Paulo&amp;lt;br&amp;gt;Brazil', '', 'Mar 1-4 2013', 55);&lt;br /&gt;
//addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jul 3-6 2014', '5577');&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', '20-23 Jun 2013', 35);&lt;br /&gt;
addLocation(39.523177, -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'Mar 28-30 2014', '704');&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'May 30-Jun 1 2014', 1178);&lt;br /&gt;
addLocation(43.721056,-121.291552, 'Campfire Tails', 'campfiretails.com', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Aug 1-5 2012', 143);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439, -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(49.638649,  15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jun 27-30 2013', 107);&lt;br /&gt;
addLocation(50.94149, 6.94651, 'Cologne Furdance', 'www.cologne-cfd.de', 'Zeughaus24, Zeughausstraße 24, 50667 Köln, Germany', '', 'Nov 10 2012'); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 2-4 2013', 251);&lt;br /&gt;
addLocation(-37.825497,144.951725, 'ConFurgence', 'confurgence.com', 'Hilton South Wharf&amp;lt;br&amp;gt;2 Convention Centre Place&amp;lt;br&amp;gt;South Wharf, Melbourne&amp;lt;br&amp;gt;Australia 3006', '+61-3-9027-2000', 'Jan 10-12 2014', 474);&lt;br /&gt;
addLocation(52.450713,  -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 23-27 2014', 873);&lt;br /&gt;
addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 6-8 2013');&lt;br /&gt;
addLocation(51.689585, 11.274526, 'EAST', 'www.east-convention.de.vu', 'DJH Falkenstein/Harz&amp;lt;br&amp;gt;Falkensteiner Weg 2b&amp;lt;br&amp;gt;06463 Falkenstein/Harz&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Sep 19-22 2013');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'ele.furryhost.com', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(52.129813, 11.631281, 'Eurofurence', 'eurofurence.org', 'Maritim Hotel Magdeburg&amp;lt;br&amp;gt;Otto-von-Guericke-Straße 87&amp;lt;br&amp;gt;39104 Magdeburg&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 21-25 2013', 1376);&lt;br /&gt;
addLocation(40.703546, -74.184279, 'FA: United', 'faunited.org', 'Hanover Marriott&amp;lt;br&amp;gt;1401 Rt 10 E&amp;lt;br&amp;gt;Whippany, NJ 07981&amp;lt;br&amp;gt;USA', '+1 (973) 538 8811 ', 'Aug 17-19 2012', 629);&lt;br /&gt;
addLocation(35.91979, -84.088551, 'Fangcon', 'fangcon.org', 'Holiday Inn Knoxville West&amp;lt;br&amp;gt;9134 Executive Park Dr&amp;lt;br&amp;gt;Knoxville, TN 37923&amp;lt;br&amp;gt;USA', '+1 (865) 693-1011', 'Nov 07-09 2014', 231);&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 24-28 2012', 94);&lt;br /&gt;
addLocation(62.02209, 30.0185, 'FinFur', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
addLocation(35.454262,139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(-41.239835,174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 6-9 2014', 50);&lt;br /&gt;
addLocation(-28.00041, 153.4264, 'FurDU', 'www.furrydownunder.com', 'Vibe Hotel Gold Coast&amp;lt;br&amp;gt;42 Ferny Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'Apr 27-29 2012', 246);&lt;br /&gt;
addLocation(53.541723, -113.625262, 'Fur-eh!', 'fureh.ca', 'Hilton Garden Inn&amp;lt;br&amp;gt;17610 Stony Plain Road&amp;lt;br&amp;gt;Edmonton, Alberta, T5S 1A2&amp;lt;br&amp;gt;Canada', '+1 (780) 443-2233', 'May 4-6 2012', 200);&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Oct 7-9 2012');&lt;br /&gt;
addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 28-30 2012');&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 27 2012', 148);&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 8-10 2013', 750);&lt;br /&gt;
addLocation(28.401971, -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Dec 2-7 2012', 24);&lt;br /&gt;
addLocation(32.956825, -96.822896, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Feb 21-23 2014', 1492);&lt;br /&gt;
addLocation(44.86092, -93.23923, 'Furry Migration', 'www.furrymigration.org', 'Ramada Mall of America&amp;lt;br&amp;gt;American Blvd E&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 952-854-3411', 'Sep 12-14 2014');&lt;br /&gt;
addLocation(33.761999, -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Apr 9-12 2015', 2488);&lt;br /&gt;
addLocation(52.775556,   6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 15-18 2013', 57);&lt;br /&gt;
addLocation(51.40328, 5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66);&lt;br /&gt;
addLocation(52.588333, 14.65, 'Furstock', 'www.polfurs.org', '', '', 'Dec 30 2012-Jan 1 2013', 35);&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'Jul 2012?');&lt;br /&gt;
addLocation(37.330294,-121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 16-20 2014', 3380);&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'furthestnorth.ca', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Aug 2-5 2013', 63);&lt;br /&gt;
addLocation(39.283286,-84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'Oct 11-13 2013');&lt;br /&gt;
addLocation(39.494658,-76.66367, 'Fur the \'More', 'furthemore.org', 'Hunt Valley Inn&amp;lt;br&amp;gt;245 Shawan Rd&amp;lt;br&amp;gt;Baltimore, MD&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Mar 14-16 2014');&lt;br /&gt;
addLocation(51.93180, 19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 8-11 2013', 93);&lt;br /&gt;
addLocation(49.8954237, 5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013');&lt;br /&gt;
addLocation(47.35016, 7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Nov 15-18 2012');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Oct 3-7 2012', 50);&lt;br /&gt;
addLocation(49.26716,-123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', 'Nov 10-12 2011', 182);&lt;br /&gt;
addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Nov 24-25 2012');&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Sheraton at Keystone Crossing&amp;lt;br&amp;gt;8787 Keystone Crossing&amp;lt;br&amp;gt;Indianapolis, IN 46240&amp;lt;br&amp;gt;USA', '+1 (317) 846-2700', 'Aug 9-11 2013', 482);&lt;br /&gt;
addLocation(34.743463, 137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 10-11 2015', 232);&lt;br /&gt;
addLocation(35.3334755,139.9891955, 'Kemocon', 'www.kemocon.com', 'Kasuza Akademia Hall&amp;lt;br&amp;gt;2 Chome-3-9 Kazusakamatari&amp;lt;br&amp;gt;Kisarazu, Chiba Prefecture&amp;lt;br&amp;gt;Japan', '', 'Nov 22-23 2014', 420);&lt;br /&gt;
addLocation(34.985692,138.417148, 'Kemono Square', 'eixinweb.jp/kemono-square.html', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 7 2014', 81); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(35.654685,139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);  //259 vendors from 246 circles confirmed for 2014&lt;br /&gt;
addLocation(34.6693, 135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2013', 0);&lt;br /&gt;
addLocation(35.1584991,136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 23, 2014', 91); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(47.336284,  12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Aug 8-11 2012', 20);&lt;br /&gt;
addLocation(28.333938, -81.587638, 'Megaplex', 'megaplexcon.org', 'Worldgate Resort Hotel&amp;lt;br&amp;gt;3011 Maingate Lane&amp;lt;br&amp;gt;Kissimmee, FL 34747-2302&amp;lt;br&amp;gt;USA', '+1 (866) 705-7676', 'Jul 27-29 2012', 553);&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Aug 30-Sep 1 2013', 548);&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May 9-12 2013', 200);&lt;br /&gt;
addLocation(35.6568544, 139.7351909, 'Metamore Generation V', 'www.metamor.jp/', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(41.981284, -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Nov 16-18 2012', 2600);&lt;br /&gt;
addLocation(35.7549142,139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', '', 'May 5 2014', 54); //only attendees signed up from Twipla - 4 people over venue capacity&lt;br /&gt;
addLocation(40.105846, -83.017244, 'Morphicon', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 3-6 2012', 275);&lt;br /&gt;
addLocation(39.65924 , -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 30-Jan 1 2011', 146) // Was replaced by Furstivus in 2012, but planned to resume for 2013&lt;br /&gt;
addLocation(59.166046, 18.13522, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Quality Hotel Winn Haninge&amp;lt;br&amp;gt;Rudsjoterassen 3&amp;lt;br&amp;gt;SE 136 40  Handen&amp;lt;br&amp;gt;Sweden', '', 'Mar 28-31 2013', 175);&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 17-22 2012', 300);&lt;br /&gt;
addLocation(-31.952222, 115.858889, 'Perthfur Gathering', 'gathering.perthfurs.net', 'Perth, Western Australia', '', 'Aug 13 2011', 76);//&amp;quot;3rd qtr, 2010&amp;quot;&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 27-30 2012', 1424);&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'Jun 29-Jul 2 2012', 50);&lt;br /&gt;
addLocation(34.6701,  -86.577759, 'Rocket City FurMeet', 'rcfm.net', 'Hilton Garden Inn Huntsville South&amp;lt;br&amp;gt;301 Boulevard South SW&amp;lt;br&amp;gt;Huntsville, Alabama 35802&amp;lt;br&amp;gt;USA', '+1 (256) 881-4170', 'May 24-26 2013', 242);&lt;br /&gt;
addLocation(39.762235,-104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Doubletree Hotel Denver&amp;lt;br&amp;gt;3203 Quebec Street&amp;lt;br&amp;gt;Denver, Colorado 80207&amp;lt;br&amp;gt;USA', '+1 (303) 321-3333', 'Aug 2-4 2013', 863);&lt;br /&gt;
addLocation(56.050627,36.823576, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 5-10 2013', 286);&lt;br /&gt;
addLocation(57.478307, -4.22672, 'ScotiaCon', 'www.scotiacon.com', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Jul 27-30 2012', 123);&lt;br /&gt;
addLocation(-26.201, 28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', '30 Aug-1 Sep 2013', 0);&lt;br /&gt;
addLocation(49.266323,-123.011509, 'VancouFur', 'vancoufur.ca', 'Executive Hotel &amp;amp; Conference Centre Burnaby&amp;lt;br&amp;gt;4201 Lougheed Hwy&amp;lt;br&amp;gt;Burnaby, British Columbia, V5C 3Y6&amp;lt;br&amp;gt;Canada', '', 'Mar 1-3 2013', 479);&lt;br /&gt;
addLocation(45.499474, -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 17-19 2013', 282);&lt;br /&gt;
addLocation(40.538786, -79.830565, 'Western Pennsylvania Furry Weekend', 'wpafw.org', 'Quality Inn Pittsburgh North&amp;lt;br&amp;gt;2801 Freeport Road&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15238&amp;lt;br&amp;gt;USA', '+1 (412) 828-9400', 'Sep 28-30 2012', 116);&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 25-29 2013', 122);&lt;br /&gt;
addLocation(50.456309, 30.504819, 'WUFF', 'wuff.org.ua/2013', 'Kiev, Ukraine', '', 'May 9-12 2013', 164)&lt;br /&gt;
addLocation(44.520806, 11.401609, 'Zampacon', 'zampacon.forumfree.it', 'Ostello SanSisto&amp;lt;br&amp;gt;via Viadagola 5&amp;lt;br&amp;gt;Bologna, 40127&amp;lt;br&amp;gt;Italy', '', 'Dec 29-Jan 1 2013', 34);&lt;br /&gt;
addLocation(47.503095, 12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 25-Feb 1 2014', 40);&lt;br /&gt;
addLocation(50.773040, 15.311701, 'ZodiaCon', 'zodiacon.org', 'Hotel Emilka&amp;lt;br&amp;gt;Na Novině 401&amp;lt;br&amp;gt;468 61 Desná III&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 2012?');&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;All events (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Japan (&amp;quot;+count_japan+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_JAPAN;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_JAPAN:&lt;br /&gt;
            filter_func = is_in_japan; break;            &lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_japan(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates into numbers for sorting&lt;br /&gt;
// Might benefit from also parsing years.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
	if (!s) {return 4001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (!x || !x[1]) return 4000;&lt;br /&gt;
	day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	switch (x[1]){&lt;br /&gt;
		case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		default:	month = 20;&lt;br /&gt;
	}//switch&lt;br /&gt;
	return month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        markerOpts = {&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: name&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        markerOpts.icon = (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 200 ? purpleIcon : blueIcon ) );&lt;br /&gt;
        markerOpts.shadow = markerShadow;&lt;br /&gt;
        markerOpts.title = a.name;&lt;br /&gt;
&lt;br /&gt;
        a.marker = new google.maps.Marker(markerOpts);&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            //if we can't see the marker, show it in the center&lt;br /&gt;
            if (!map.getBounds().contains(a.marker.getPosition())){&lt;br /&gt;
                map.panTo(a.marker.getPosition());&lt;br /&gt;
            }&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++; &lt;br /&gt;
        } else if (is_in_japan(a.lat, a.lng)) {&lt;br /&gt;
	    count_japan ++; &lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2014-04-27T01:37:00Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the link button, copy it into a text editor (like Notepad), and use the numbers after 'll='. &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_japan = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_JAPAN = 4;&lt;br /&gt;
var FILT_OTHERS = 5;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
function is_in_japan(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var markerShadow = new google.maps.MarkerImage(&amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/markers/marker_sprite.png&amp;quot;, new google.maps.Size(37,34), new google.maps.Point(20, 0), new google.maps.Point(10, 34)); &lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
addLocation(-24.265278,-48.406944, 'Abando', 'abando.com.br', 'Parque Estadual Intervales&amp;lt;br&amp;gt;São Roque, São Paulo&amp;lt;br&amp;gt;Brazil', '', 'Mar 1-4 2013', 55);&lt;br /&gt;
//addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jul 3-6 2014', '5577');&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', '20-23 Jun 2013', 35);&lt;br /&gt;
addLocation(39.523177, -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'Mar 28-30 2014', '704');&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'May 30-Jun 1 2014', 1178);&lt;br /&gt;
addLocation(43.721056,-121.291552, 'Campfire Tails', 'campfiretails.com', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Aug 1-5 2012', 143);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439, -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(49.638649,  15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jun 27-30 2013', 107);&lt;br /&gt;
addLocation(50.94149, 6.94651, 'Cologne Furdance', 'www.cologne-cfd.de', 'Zeughaus24, Zeughausstraße 24, 50667 Köln, Germany', '', 'Nov 10 2012'); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 2-4 2013', 251);&lt;br /&gt;
addLocation(-37.825497,144.951725, 'ConFurgence', 'confurgence.com', 'Hilton South Wharf&amp;lt;br&amp;gt;2 Convention Centre Place&amp;lt;br&amp;gt;South Wharf, Melbourne&amp;lt;br&amp;gt;Australia 3006', '+61-3-9027-2000', 'Jan 10-12 2014', 474);&lt;br /&gt;
addLocation(52.450713,  -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 23-27 2014', 873);&lt;br /&gt;
addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 6-8 2013');&lt;br /&gt;
addLocation(51.689585, 11.274526, 'EAST', 'www.east-convention.de.vu', 'DJH Falkenstein/Harz&amp;lt;br&amp;gt;Falkensteiner Weg 2b&amp;lt;br&amp;gt;06463 Falkenstein/Harz&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Sep 19-22 2013');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'ele.furryhost.com', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(52.129813, 11.631281, 'Eurofurence', 'eurofurence.org', 'Maritim Hotel Magdeburg&amp;lt;br&amp;gt;Otto-von-Guericke-Straße 87&amp;lt;br&amp;gt;39104 Magdeburg&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 21-25 2013', 1376);&lt;br /&gt;
addLocation(40.703546, -74.184279, 'FA: United', 'faunited.org', 'Hanover Marriott&amp;lt;br&amp;gt;1401 Rt 10 E&amp;lt;br&amp;gt;Whippany, NJ 07981&amp;lt;br&amp;gt;USA', '+1 (973) 538 8811 ', 'Aug 17-19 2012', 629);&lt;br /&gt;
addLocation(35.91979, -84.088551, 'Fangcon', 'fangcon.org', 'Holiday Inn Knoxville West&amp;lt;br&amp;gt;9134 Executive Park Dr&amp;lt;br&amp;gt;Knoxville, TN 37923&amp;lt;br&amp;gt;USA', '+1 (865) 693-1011', 'Nov 07-09 2014', 231);&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 24-28 2012', 94);&lt;br /&gt;
addLocation(62.02209, 30.0185, 'FinFur', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
addLocation(35.454262,139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(-41.239835,174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 6-9 2014', 50);&lt;br /&gt;
addLocation(-28.00041, 153.4264, 'FurDU', 'www.furrydownunder.com', 'Vibe Hotel Gold Coast&amp;lt;br&amp;gt;42 Ferny Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'Apr 27-29 2012', 246);&lt;br /&gt;
addLocation(53.541723, -113.625262, 'Fur-eh!', 'fureh.ca', 'Hilton Garden Inn&amp;lt;br&amp;gt;17610 Stony Plain Road&amp;lt;br&amp;gt;Edmonton, Alberta, T5S 1A2&amp;lt;br&amp;gt;Canada', '+1 (780) 443-2233', 'May 4-6 2012', 200);&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Oct 7-9 2012');&lt;br /&gt;
addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 28-30 2012');&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 27 2012', 148);&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 8-10 2013', 750);&lt;br /&gt;
addLocation(28.401971, -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Dec 2-7 2012', 24);&lt;br /&gt;
addLocation(32.956825, -96.822896, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Feb 21-23 2014', 1492);&lt;br /&gt;
addLocation(44.86092, -93.23923, 'Furry Migration', 'www.furrymigration.org', 'Ramada Mall of America&amp;lt;br&amp;gt;American Blvd E&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 952-854-3411', 'Sep 12-14 2014');&lt;br /&gt;
addLocation(33.761999, -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Apr 9-12 2015', 2488);&lt;br /&gt;
addLocation(52.775556,   6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 15-18 2013', 57);&lt;br /&gt;
addLocation(51.40328, 5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66);&lt;br /&gt;
addLocation(52.588333, 14.65, 'Furstock', 'www.polfurs.org', '', '', 'Dec 30 2012-Jan 1 2013', 35);&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'Jul 2012?');&lt;br /&gt;
addLocation(37.330294,-121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 16-20 2014', 3380);&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'furthestnorth.ca', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Aug 2-5 2013', 63);&lt;br /&gt;
addLocation(39.283286,-84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'Oct 11-13 2013');&lt;br /&gt;
addLocation(39.494658,-76.66367, 'Fur the \'More', 'furthemore.org', 'Hunt Valley Inn&amp;lt;br&amp;gt;245 Shawan Rd&amp;lt;br&amp;gt;Baltimore, MD&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Mar 14-16 2014');&lt;br /&gt;
addLocation(51.93180, 19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 8-11 2013', 93);&lt;br /&gt;
addLocation(49.8954237, 5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013');&lt;br /&gt;
addLocation(47.35016, 7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Nov 15-18 2012');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Oct 3-7 2012', 50);&lt;br /&gt;
addLocation(49.26716,-123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', 'Nov 10-12 2011', 182);&lt;br /&gt;
addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Nov 24-25 2012');&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Sheraton at Keystone Crossing&amp;lt;br&amp;gt;8787 Keystone Crossing&amp;lt;br&amp;gt;Indianapolis, IN 46240&amp;lt;br&amp;gt;USA', '+1 (317) 846-2700', 'Aug 9-11 2013', 482);&lt;br /&gt;
addLocation(34.743463, 137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 10-11 2015', 232);&lt;br /&gt;
addLocation(35.3334755,139.9891955, 'Kemocon', 'www.kemocon.com', 'Kasuza Akademia Hall&amp;lt;br&amp;gt;2 Chome-3-9 Kazusakamatari&amp;lt;br&amp;gt;Kisarazu, Chiba Prefecture&amp;lt;br&amp;gt;Japan', '', 'Nov 22-23 2014', 420);&lt;br /&gt;
addLocation(34.985692,138.417148, 'Kemono Square', 'eixinweb.jp/kemono-square.html', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 7 2014', 81); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(35.654685,139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);  //259 vendors from 246 circles confirmed for 2014&lt;br /&gt;
addLocation(34.6693, 135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2013', 0);&lt;br /&gt;
addLocation(35.1584991,136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 23, 2014', 91); //only attendees signed up from Twipla&lt;br /&gt;
addLocation(47.336284,  12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Aug 8-11 2012', 20);&lt;br /&gt;
addLocation(28.333938, -81.587638, 'Megaplex', 'megaplexcon.org', 'Worldgate Resort Hotel&amp;lt;br&amp;gt;3011 Maingate Lane&amp;lt;br&amp;gt;Kissimmee, FL 34747-2302&amp;lt;br&amp;gt;USA', '+1 (866) 705-7676', 'Jul 27-29 2012', 553);&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Aug 30-Sep 1 2013', 548);&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May 9-12 2013', 200);&lt;br /&gt;
addLocation(35.6568544, 139.7351909, 'Metamore Generation V', 'www.metamor.jp/', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(41.981284, -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Nov 16-18 2012', 2600);&lt;br /&gt;
addLocation(35.7549142,139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', '', 'May 5 2014', 54); //only attendees signed up from Twipla - 4 people over venue capacity&lt;br /&gt;
addLocation(40.105846, -83.017244, 'Morphicon', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 3-6 2012', 275);&lt;br /&gt;
addLocation(39.65924 , -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 30-Jan 1 2011', 146) // Was replaced by Furstivus in 2012, but planned to resume for 2013&lt;br /&gt;
addLocation(59.166046, 18.13522, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Quality Hotel Winn Haninge&amp;lt;br&amp;gt;Rudsjoterassen 3&amp;lt;br&amp;gt;SE 136 40  Handen&amp;lt;br&amp;gt;Sweden', '', 'Mar 28-31 2013', 175);&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 17-22 2012', 300);&lt;br /&gt;
addLocation(-31.952222, 115.858889, 'Perthfur Gathering', 'gathering.perthfurs.net', 'Perth, Western Australia', '', 'Aug 13 2011', 76);//&amp;quot;3rd qtr, 2010&amp;quot;&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 27-30 2012', 1424);&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'Jun 29-Jul 2 2012', 50);&lt;br /&gt;
addLocation(34.6701,  -86.577759, 'Rocket City FurMeet', 'rcfm.net', 'Hilton Garden Inn Huntsville South&amp;lt;br&amp;gt;301 Boulevard South SW&amp;lt;br&amp;gt;Huntsville, Alabama 35802&amp;lt;br&amp;gt;USA', '+1 (256) 881-4170', 'May 24-26 2013', 242);&lt;br /&gt;
addLocation(39.762235,-104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Doubletree Hotel Denver&amp;lt;br&amp;gt;3203 Quebec Street&amp;lt;br&amp;gt;Denver, Colorado 80207&amp;lt;br&amp;gt;USA', '+1 (303) 321-3333', 'Aug 2-4 2013', 863);&lt;br /&gt;
addLocation(56.050627,36.823576, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 5-10 2013', 286);&lt;br /&gt;
addLocation(57.478307, -4.22672, 'ScotiaCon', 'www.scotiacon.com', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Jul 27-30 2012', 123);&lt;br /&gt;
addLocation(-26.201, 28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', '30 Aug-1 Sep 2013', 0);&lt;br /&gt;
addLocation(49.266323,-123.011509, 'VancouFur', 'vancoufur.ca', 'Executive Hotel &amp;amp; Conference Centre Burnaby&amp;lt;br&amp;gt;4201 Lougheed Hwy&amp;lt;br&amp;gt;Burnaby, British Columbia, V5C 3Y6&amp;lt;br&amp;gt;Canada', '', 'Mar 1-3 2013', 479);&lt;br /&gt;
addLocation(45.499474, -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 17-19 2013', 282);&lt;br /&gt;
addLocation(40.538786, -79.830565, 'Western Pennsylvania Furry Weekend', 'wpafw.org', 'Quality Inn Pittsburgh North&amp;lt;br&amp;gt;2801 Freeport Road&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15238&amp;lt;br&amp;gt;USA', '+1 (412) 828-9400', 'Sep 28-30 2012', 116);&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 25-29 2013', 122);&lt;br /&gt;
addLocation(50.456309, 30.504819, 'WUFF', 'wuff.org.ua/2013', 'Kiev, Ukraine', '', 'May 9-12 2013', 164)&lt;br /&gt;
addLocation(44.520806, 11.401609, 'Zampacon', 'zampacon.forumfree.it', 'Ostello SanSisto&amp;lt;br&amp;gt;via Viadagola 5&amp;lt;br&amp;gt;Bologna, 40127&amp;lt;br&amp;gt;Italy', '', 'Dec 29-Jan 1 2013', 34);&lt;br /&gt;
addLocation(47.503095, 12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 25-Feb 1 2014', 40);&lt;br /&gt;
addLocation(50.773040, 15.311701, 'ZodiaCon', 'zodiacon.org', 'Hotel Emilka&amp;lt;br&amp;gt;Na Novině 401&amp;lt;br&amp;gt;468 61 Desná III&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 2012?');&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;All events (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Japan (&amp;quot;+count_japan+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_JAPAN;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_JAPAN:&lt;br /&gt;
            filter_func = is_in_japan; break;            &lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_japan(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates into numbers for sorting&lt;br /&gt;
// Might benefit from also parsing years.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
	if (!s) {return 4001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (!x || !x[1]) return 4000;&lt;br /&gt;
	day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	switch (x[1]){&lt;br /&gt;
		case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		default:	month = 20;&lt;br /&gt;
	}//switch&lt;br /&gt;
	return month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        markerOpts = {&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: name&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        markerOpts.icon = (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 200 ? purpleIcon : blueIcon ) );&lt;br /&gt;
        markerOpts.shadow = markerShadow;&lt;br /&gt;
        markerOpts.title = a.name;&lt;br /&gt;
&lt;br /&gt;
        a.marker = new google.maps.Marker(markerOpts);&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++; &lt;br /&gt;
        } else if (is_in_japan(a.lat, a.lng)) {&lt;br /&gt;
	    count_japan ++; &lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2014-04-26T23:48:13Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Make Japan its own region.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the link button, copy it into a text editor (like Notepad), and use the numbers after 'll='. &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_japan = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_JAPAN = 4;&lt;br /&gt;
var FILT_OTHERS = 5;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 40);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
function is_in_japan(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 30 &amp;amp;&amp;amp; lat &amp;lt; 40 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 130 &amp;amp;&amp;amp; lng &amp;lt; 145);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var markerShadow = new google.maps.MarkerImage(&amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/markers/marker_sprite.png&amp;quot;, new google.maps.Size(37,34), new google.maps.Point(20, 0), new google.maps.Point(10, 34)); &lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
addLocation(-24.265278,-48.406944, 'Abando', 'abando.com.br', 'Parque Estadual Intervales&amp;lt;br&amp;gt;São Roque, São Paulo&amp;lt;br&amp;gt;Brazil', '', 'Mar 1-4 2013', 55);&lt;br /&gt;
//addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jul 3-6 2014', '5577');&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', '20-23 Jun 2013', 35);&lt;br /&gt;
addLocation(39.523177, -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'Mar 28-30 2014', '704');&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'May 30-Jun 1 2014', 1178);&lt;br /&gt;
addLocation(43.721056,-121.291552, 'Campfire Tails', 'campfiretails.com', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Aug 1-5 2012', 143);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439, -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(49.638649,  15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jun 27-30 2013', 107);&lt;br /&gt;
addLocation(50.94149, 6.94651, 'Cologne Furdance', 'www.cologne-cfd.de', 'Zeughaus24, Zeughausstraße 24, 50667 Köln, Germany', '', 'Nov 10 2012'); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 2-4 2013', 251);&lt;br /&gt;
addLocation(-37.825497,144.951725, 'ConFurgence', 'confurgence.com', 'Hilton South Wharf&amp;lt;br&amp;gt;2 Convention Centre Place&amp;lt;br&amp;gt;South Wharf, Melbourne&amp;lt;br&amp;gt;Australia 3006', '+61-3-9027-2000', 'Jan 10-12 2014', 474);&lt;br /&gt;
addLocation(52.450713,  -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 23-27 2014', 873);&lt;br /&gt;
addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 6-8 2013');&lt;br /&gt;
addLocation(51.689585, 11.274526, 'EAST', 'www.east-convention.de.vu', 'DJH Falkenstein/Harz&amp;lt;br&amp;gt;Falkensteiner Weg 2b&amp;lt;br&amp;gt;06463 Falkenstein/Harz&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Sep 19-22 2013');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'ele.furryhost.com', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(52.129813, 11.631281, 'Eurofurence', 'eurofurence.org', 'Maritim Hotel Magdeburg&amp;lt;br&amp;gt;Otto-von-Guericke-Straße 87&amp;lt;br&amp;gt;39104 Magdeburg&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 21-25 2013', 1376);&lt;br /&gt;
addLocation(40.703546, -74.184279, 'FA: United', 'faunited.org', 'Hanover Marriott&amp;lt;br&amp;gt;1401 Rt 10 E&amp;lt;br&amp;gt;Whippany, NJ 07981&amp;lt;br&amp;gt;USA', '+1 (973) 538 8811 ', 'Aug 17-19 2012', 629);&lt;br /&gt;
addLocation(35.91979, -84.088551, 'Fangcon', 'fangcon.org', 'Holiday Inn Knoxville West&amp;lt;br&amp;gt;9134 Executive Park Dr&amp;lt;br&amp;gt;Knoxville, TN 37923&amp;lt;br&amp;gt;USA', '+1 (865) 693-1011', 'Nov 07-09 2014', 231);&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 24-28 2012', 94);&lt;br /&gt;
addLocation(62.02209, 30.0185, 'FinFur', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
addLocation(35.454262,139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(-41.239835,174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 6-9 2014', 50);&lt;br /&gt;
addLocation(-28.00041, 153.4264, 'FurDU', 'www.furrydownunder.com', 'Vibe Hotel Gold Coast&amp;lt;br&amp;gt;42 Ferny Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'Apr 27-29 2012', 246);&lt;br /&gt;
addLocation(53.541723, -113.625262, 'Fur-eh!', 'fureh.ca', 'Hilton Garden Inn&amp;lt;br&amp;gt;17610 Stony Plain Road&amp;lt;br&amp;gt;Edmonton, Alberta, T5S 1A2&amp;lt;br&amp;gt;Canada', '+1 (780) 443-2233', 'May 4-6 2012', 200);&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Oct 7-9 2012');&lt;br /&gt;
addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 28-30 2012');&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 27 2012', 148);&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 8-10 2013', 750);&lt;br /&gt;
addLocation(28.401971, -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Dec 2-7 2012', 24);&lt;br /&gt;
addLocation(32.956825, -96.822896, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Feb 21-23 2014', 1492);&lt;br /&gt;
addLocation(44.86092, -93.23923, 'Furry Migration', 'www.furrymigration.org', 'Ramada Mall of America&amp;lt;br&amp;gt;American Blvd E&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 952-854-3411', 'Sep 12-14 2014');&lt;br /&gt;
addLocation(33.761999, -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Apr 9-12 2015', 2488);&lt;br /&gt;
addLocation(52.775556,   6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 15-18 2013', 57);&lt;br /&gt;
addLocation(51.40328, 5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66);&lt;br /&gt;
addLocation(52.588333, 14.65, 'Furstock', 'www.polfurs.org', '', '', 'Dec 30 2012-Jan 1 2013', 35);&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'Jul 2012?');&lt;br /&gt;
addLocation(37.330294,-121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 16-20 2014', 3380);&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'furthestnorth.ca', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Aug 2-5 2013', 63);&lt;br /&gt;
addLocation(39.283286,-84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'Oct 11-13 2013');&lt;br /&gt;
addLocation(39.494658,-76.66367, 'Fur the \'More', 'furthemore.org', 'Hunt Valley Inn&amp;lt;br&amp;gt;245 Shawan Rd&amp;lt;br&amp;gt;Baltimore, MD&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Mar 14-16 2014');&lt;br /&gt;
addLocation(51.93180, 19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 8-11 2013', 93);&lt;br /&gt;
addLocation(49.8954237, 5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013');&lt;br /&gt;
addLocation(47.35016, 7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Nov 15-18 2012');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Oct 3-7 2012', 50);&lt;br /&gt;
addLocation(49.26716,-123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', 'Nov 10-12 2011', 182);&lt;br /&gt;
addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Nov 24-25 2012');&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Sheraton at Keystone Crossing&amp;lt;br&amp;gt;8787 Keystone Crossing&amp;lt;br&amp;gt;Indianapolis, IN 46240&amp;lt;br&amp;gt;USA', '+1 (317) 846-2700', 'Aug 9-11 2013', 482);&lt;br /&gt;
addLocation(34.743463, 137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 10-11 2015', 232);&lt;br /&gt;
addLocation(35.3334755,139.9891955, 'Kemocon', 'www.kemocon.com', 'Kasuza Akademia Hall&amp;lt;br&amp;gt;2 Chome-3-9 Kazusakamatari&amp;lt;br&amp;gt;Kisarazu, Chiba Prefecture&amp;lt;br&amp;gt;Japan', '', 'Nov 22-23 2014', 420);&lt;br /&gt;
addLocation(34.985692,138.417148, 'Kemono Square', 'eixinweb.jp/kemono-square.html', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 7 2014', 0);&lt;br /&gt;
addLocation(35.654685,139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);&lt;br /&gt;
addLocation(34.6693, 135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2013', 0);&lt;br /&gt;
addLocation(35.1584991,136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 23, 2014', 0);&lt;br /&gt;
addLocation(47.336284,  12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Aug 8-11 2012', 20);&lt;br /&gt;
addLocation(28.333938, -81.587638, 'Megaplex', 'megaplexcon.org', 'Worldgate Resort Hotel&amp;lt;br&amp;gt;3011 Maingate Lane&amp;lt;br&amp;gt;Kissimmee, FL 34747-2302&amp;lt;br&amp;gt;USA', '+1 (866) 705-7676', 'Jul 27-29 2012', 553);&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Aug 30-Sep 1 2013', 548);&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May 9-12 2013', 200);&lt;br /&gt;
addLocation(35.6568544, 139.7351909, 'Metamore Generation V', 'www.metamor.jp/', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(41.981284, -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Nov 16-18 2012', 2600);&lt;br /&gt;
addLocation(35.7549142,139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', '', 'May 5 2014', 0);&lt;br /&gt;
addLocation(40.105846, -83.017244, 'Morphicon', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 3-6 2012', 275);&lt;br /&gt;
addLocation(39.65924 , -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 30-Jan 1 2011', 146) // Was replaced by Furstivus in 2012, but planned to resume for 2013&lt;br /&gt;
addLocation(59.166046, 18.13522, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Quality Hotel Winn Haninge&amp;lt;br&amp;gt;Rudsjoterassen 3&amp;lt;br&amp;gt;SE 136 40  Handen&amp;lt;br&amp;gt;Sweden', '', 'Mar 28-31 2013', 175);&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 17-22 2012', 300);&lt;br /&gt;
addLocation(-31.952222, 115.858889, 'Perthfur Gathering', 'gathering.perthfurs.net', 'Perth, Western Australia', '', 'Aug 13 2011', 76);//&amp;quot;3rd qtr, 2010&amp;quot;&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 27-30 2012', 1424);&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'Jun 29-Jul 2 2012', 50);&lt;br /&gt;
addLocation(34.6701,  -86.577759, 'Rocket City FurMeet', 'rcfm.net', 'Hilton Garden Inn Huntsville South&amp;lt;br&amp;gt;301 Boulevard South SW&amp;lt;br&amp;gt;Huntsville, Alabama 35802&amp;lt;br&amp;gt;USA', '+1 (256) 881-4170', 'May 24-26 2013', 242);&lt;br /&gt;
addLocation(39.762235,-104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Doubletree Hotel Denver&amp;lt;br&amp;gt;3203 Quebec Street&amp;lt;br&amp;gt;Denver, Colorado 80207&amp;lt;br&amp;gt;USA', '+1 (303) 321-3333', 'Aug 2-4 2013', 863);&lt;br /&gt;
addLocation(56.050627,36.823576, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 5-10 2013', 286);&lt;br /&gt;
addLocation(57.478307, -4.22672, 'ScotiaCon', 'www.scotiacon.com', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Jul 27-30 2012', 123);&lt;br /&gt;
addLocation(-26.201, 28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', '30 Aug-1 Sep 2013', 0);&lt;br /&gt;
addLocation(49.266323,-123.011509, 'VancouFur', 'vancoufur.ca', 'Executive Hotel &amp;amp; Conference Centre Burnaby&amp;lt;br&amp;gt;4201 Lougheed Hwy&amp;lt;br&amp;gt;Burnaby, British Columbia, V5C 3Y6&amp;lt;br&amp;gt;Canada', '', 'Mar 1-3 2013', 479);&lt;br /&gt;
addLocation(45.499474, -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 17-19 2013', 282);&lt;br /&gt;
addLocation(40.538786, -79.830565, 'Western Pennsylvania Furry Weekend', 'wpafw.org', 'Quality Inn Pittsburgh North&amp;lt;br&amp;gt;2801 Freeport Road&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15238&amp;lt;br&amp;gt;USA', '+1 (412) 828-9400', 'Sep 28-30 2012', 116);&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 25-29 2013', 122);&lt;br /&gt;
addLocation(50.456309, 30.504819, 'WUFF', 'wuff.org.ua/2013', 'Kiev, Ukraine', '', 'May 9-12 2013', 164)&lt;br /&gt;
addLocation(44.520806, 11.401609, 'Zampacon', 'zampacon.forumfree.it', 'Ostello SanSisto&amp;lt;br&amp;gt;via Viadagola 5&amp;lt;br&amp;gt;Bologna, 40127&amp;lt;br&amp;gt;Italy', '', 'Dec 29-Jan 1 2013', 34);&lt;br /&gt;
addLocation(47.503095, 12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 25-Feb 1 2014', 40);&lt;br /&gt;
addLocation(50.773040, 15.311701, 'ZodiaCon', 'zodiacon.org', 'Hotel Emilka&amp;lt;br&amp;gt;Na Novině 401&amp;lt;br&amp;gt;468 61 Desná III&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 2012?');&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;All events (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Japan (&amp;quot;+count_japan+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_JAPAN;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_JAPAN:&lt;br /&gt;
            filter_func = is_in_japan; break;            &lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_japan(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates into numbers for sorting&lt;br /&gt;
// Might benefit from also parsing years.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
	if (!s) {return 4001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (!x || !x[1]) return 4000;&lt;br /&gt;
	day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	switch (x[1]){&lt;br /&gt;
		case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		default:	month = 20;&lt;br /&gt;
	}//switch&lt;br /&gt;
	return month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        markerOpts = {&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: name&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        markerOpts.icon = (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 200 ? purpleIcon : blueIcon ) );&lt;br /&gt;
        markerOpts.shadow = markerShadow;&lt;br /&gt;
        markerOpts.title = a.name;&lt;br /&gt;
&lt;br /&gt;
        a.marker = new google.maps.Marker(markerOpts);&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++; &lt;br /&gt;
        } else if (is_in_japan(a.lat, a.lng)) {&lt;br /&gt;
	    count_japan ++; &lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2014-04-26T23:31:00Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: ... that's the date, not the phone number&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the link button, copy it into a text editor (like Notepad), and use the numbers after 'll='. &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_OTHERS = 4;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 32);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var markerShadow = new google.maps.MarkerImage(&amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/markers/marker_sprite.png&amp;quot;, new google.maps.Size(37,34), new google.maps.Point(20, 0), new google.maps.Point(10, 34)); &lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
addLocation(-24.265278,-48.406944, 'Abando', 'abando.com.br', 'Parque Estadual Intervales&amp;lt;br&amp;gt;São Roque, São Paulo&amp;lt;br&amp;gt;Brazil', '', 'Mar 1-4 2013', 55);&lt;br /&gt;
//addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jul 3-6 2014', '5577');&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', '20-23 Jun 2013', 35);&lt;br /&gt;
addLocation(39.523177, -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'Mar 28-30 2014', '704');&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'May 30-Jun 1 2014', 1178);&lt;br /&gt;
addLocation(43.721056,-121.291552, 'Campfire Tails', 'campfiretails.com', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Aug 1-5 2012', 143);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439, -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(49.638649,  15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jun 27-30 2013', 107);&lt;br /&gt;
addLocation(50.94149, 6.94651, 'Cologne Furdance', 'www.cologne-cfd.de', 'Zeughaus24, Zeughausstraße 24, 50667 Köln, Germany', '', 'Nov 10 2012'); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 2-4 2013', 251);&lt;br /&gt;
addLocation(-37.825497,144.951725, 'ConFurgence', 'confurgence.com', 'Hilton South Wharf&amp;lt;br&amp;gt;2 Convention Centre Place&amp;lt;br&amp;gt;South Wharf, Melbourne&amp;lt;br&amp;gt;Australia 3006', '+61-3-9027-2000', 'Jan 10-12 2014', 474);&lt;br /&gt;
addLocation(52.450713,  -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 23-27 2014', 873);&lt;br /&gt;
addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 6-8 2013');&lt;br /&gt;
addLocation(51.689585, 11.274526, 'EAST', 'www.east-convention.de.vu', 'DJH Falkenstein/Harz&amp;lt;br&amp;gt;Falkensteiner Weg 2b&amp;lt;br&amp;gt;06463 Falkenstein/Harz&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Sep 19-22 2013');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'ele.furryhost.com', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(52.129813, 11.631281, 'Eurofurence', 'eurofurence.org', 'Maritim Hotel Magdeburg&amp;lt;br&amp;gt;Otto-von-Guericke-Straße 87&amp;lt;br&amp;gt;39104 Magdeburg&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 21-25 2013', 1376);&lt;br /&gt;
addLocation(40.703546, -74.184279, 'FA: United', 'faunited.org', 'Hanover Marriott&amp;lt;br&amp;gt;1401 Rt 10 E&amp;lt;br&amp;gt;Whippany, NJ 07981&amp;lt;br&amp;gt;USA', '+1 (973) 538 8811 ', 'Aug 17-19 2012', 629);&lt;br /&gt;
addLocation(35.91979, -84.088551, 'Fangcon', 'fangcon.org', 'Holiday Inn Knoxville West&amp;lt;br&amp;gt;9134 Executive Park Dr&amp;lt;br&amp;gt;Knoxville, TN 37923&amp;lt;br&amp;gt;USA', '+1 (865) 693-1011', 'Nov 07-09 2014', 231);&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 24-28 2012', 94);&lt;br /&gt;
addLocation(62.02209, 30.0185, 'FinFur', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
addLocation(35.454262,139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(-41.239835,174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 6-9 2014', 50);&lt;br /&gt;
addLocation(-28.00041, 153.4264, 'FurDU', 'www.furrydownunder.com', 'Vibe Hotel Gold Coast&amp;lt;br&amp;gt;42 Ferny Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'Apr 27-29 2012', 246);&lt;br /&gt;
addLocation(53.541723, -113.625262, 'Fur-eh!', 'fureh.ca', 'Hilton Garden Inn&amp;lt;br&amp;gt;17610 Stony Plain Road&amp;lt;br&amp;gt;Edmonton, Alberta, T5S 1A2&amp;lt;br&amp;gt;Canada', '+1 (780) 443-2233', 'May 4-6 2012', 200);&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Oct 7-9 2012');&lt;br /&gt;
addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 28-30 2012');&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 27 2012', 148);&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 8-10 2013', 750);&lt;br /&gt;
addLocation(28.401971, -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Dec 2-7 2012', 24);&lt;br /&gt;
addLocation(32.956825, -96.822896, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Feb 21-23 2014', 1492);&lt;br /&gt;
addLocation(44.86092, -93.23923, 'Furry Migration', 'www.furrymigration.org', 'Ramada Mall of America&amp;lt;br&amp;gt;American Blvd E&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 952-854-3411', 'Sep 12-14 2014');&lt;br /&gt;
addLocation(33.761999, -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Apr 9-12 2015', 2488);&lt;br /&gt;
addLocation(52.775556,   6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 15-18 2013', 57);&lt;br /&gt;
addLocation(51.40328, 5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66);&lt;br /&gt;
addLocation(52.588333, 14.65, 'Furstock', 'www.polfurs.org', '', '', 'Dec 30 2012-Jan 1 2013', 35);&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'Jul 2012?');&lt;br /&gt;
addLocation(37.330294,-121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 16-20 2014', 3380);&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'furthestnorth.ca', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Aug 2-5 2013', 63);&lt;br /&gt;
addLocation(39.283286,-84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'Oct 11-13 2013');&lt;br /&gt;
addLocation(39.494658,-76.66367, 'Fur the \'More', 'furthemore.org', 'Hunt Valley Inn&amp;lt;br&amp;gt;245 Shawan Rd&amp;lt;br&amp;gt;Baltimore, MD&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Mar 14-16 2014');&lt;br /&gt;
addLocation(51.93180, 19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 8-11 2013', 93);&lt;br /&gt;
addLocation(49.8954237, 5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013');&lt;br /&gt;
addLocation(47.35016, 7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Nov 15-18 2012');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Oct 3-7 2012', 50);&lt;br /&gt;
addLocation(49.26716,-123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', 'Nov 10-12 2011', 182);&lt;br /&gt;
addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Nov 24-25 2012');&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Sheraton at Keystone Crossing&amp;lt;br&amp;gt;8787 Keystone Crossing&amp;lt;br&amp;gt;Indianapolis, IN 46240&amp;lt;br&amp;gt;USA', '+1 (317) 846-2700', 'Aug 9-11 2013', 482);&lt;br /&gt;
addLocation(34.743463, 137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 10-11 2015', 232);&lt;br /&gt;
addLocation(35.3334755,139.9891955, 'Kemocon', 'www.kemocon.com', 'Kasuza Akademia Hall&amp;lt;br&amp;gt;2 Chome-3-9 Kazusakamatari&amp;lt;br&amp;gt;Kisarazu, Chiba Prefecture&amp;lt;br&amp;gt;Japan', '', 'Nov 22-23 2014', 420);&lt;br /&gt;
addLocation(34.985692,138.417148, 'Kemono Square', 'eixinweb.jp/kemono-square.html', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 7 2014', 0);&lt;br /&gt;
addLocation(35.654685,139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);&lt;br /&gt;
addLocation(34.6693, 135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2013', 0);&lt;br /&gt;
addLocation(35.1584991,136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 23, 2014', 0);&lt;br /&gt;
addLocation(47.336284,  12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Aug 8-11 2012', 20);&lt;br /&gt;
addLocation(28.333938, -81.587638, 'Megaplex', 'megaplexcon.org', 'Worldgate Resort Hotel&amp;lt;br&amp;gt;3011 Maingate Lane&amp;lt;br&amp;gt;Kissimmee, FL 34747-2302&amp;lt;br&amp;gt;USA', '+1 (866) 705-7676', 'Jul 27-29 2012', 553);&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Aug 30-Sep 1 2013', 548);&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May 9-12 2013', 200);&lt;br /&gt;
addLocation(35.6568544, 139.7351909, 'Metamore Generation V', 'www.metamor.jp/', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(41.981284, -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Nov 16-18 2012', 2600);&lt;br /&gt;
addLocation(35.7549142,139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', '', 'May 5 2014', 0);&lt;br /&gt;
addLocation(40.105846, -83.017244, 'Morphicon', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 3-6 2012', 275);&lt;br /&gt;
addLocation(39.65924 , -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 30-Jan 1 2011', 146) // Was replaced by Furstivus in 2012, but planned to resume for 2013&lt;br /&gt;
addLocation(59.166046, 18.13522, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Quality Hotel Winn Haninge&amp;lt;br&amp;gt;Rudsjoterassen 3&amp;lt;br&amp;gt;SE 136 40  Handen&amp;lt;br&amp;gt;Sweden', '', 'Mar 28-31 2013', 175);&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 17-22 2012', 300);&lt;br /&gt;
addLocation(-31.952222, 115.858889, 'Perthfur Gathering', 'gathering.perthfurs.net', 'Perth, Western Australia', '', 'Aug 13 2011', 76);//&amp;quot;3rd qtr, 2010&amp;quot;&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 27-30 2012', 1424);&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'Jun 29-Jul 2 2012', 50);&lt;br /&gt;
addLocation(34.6701,  -86.577759, 'Rocket City FurMeet', 'rcfm.net', 'Hilton Garden Inn Huntsville South&amp;lt;br&amp;gt;301 Boulevard South SW&amp;lt;br&amp;gt;Huntsville, Alabama 35802&amp;lt;br&amp;gt;USA', '+1 (256) 881-4170', 'May 24-26 2013', 242);&lt;br /&gt;
addLocation(39.762235,-104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Doubletree Hotel Denver&amp;lt;br&amp;gt;3203 Quebec Street&amp;lt;br&amp;gt;Denver, Colorado 80207&amp;lt;br&amp;gt;USA', '+1 (303) 321-3333', 'Aug 2-4 2013', 863);&lt;br /&gt;
addLocation(56.050627,36.823576, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 5-10 2013', 286);&lt;br /&gt;
addLocation(57.478307, -4.22672, 'ScotiaCon', 'www.scotiacon.com', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Jul 27-30 2012', 123);&lt;br /&gt;
addLocation(-26.201, 28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', '30 Aug-1 Sep 2013', 0);&lt;br /&gt;
addLocation(49.266323,-123.011509, 'VancouFur', 'vancoufur.ca', 'Executive Hotel &amp;amp; Conference Centre Burnaby&amp;lt;br&amp;gt;4201 Lougheed Hwy&amp;lt;br&amp;gt;Burnaby, British Columbia, V5C 3Y6&amp;lt;br&amp;gt;Canada', '', 'Mar 1-3 2013', 479);&lt;br /&gt;
addLocation(45.499474, -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 17-19 2013', 282);&lt;br /&gt;
addLocation(40.538786, -79.830565, 'Western Pennsylvania Furry Weekend', 'wpafw.org', 'Quality Inn Pittsburgh North&amp;lt;br&amp;gt;2801 Freeport Road&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15238&amp;lt;br&amp;gt;USA', '+1 (412) 828-9400', 'Sep 28-30 2012', 116);&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 25-29 2013', 122);&lt;br /&gt;
addLocation(50.456309, 30.504819, 'WUFF', 'wuff.org.ua/2013', 'Kiev, Ukraine', '', 'May 9-12 2013', 164)&lt;br /&gt;
addLocation(44.520806, 11.401609, 'Zampacon', 'zampacon.forumfree.it', 'Ostello SanSisto&amp;lt;br&amp;gt;via Viadagola 5&amp;lt;br&amp;gt;Bologna, 40127&amp;lt;br&amp;gt;Italy', '', 'Dec 29-Jan 1 2013', 34);&lt;br /&gt;
addLocation(47.503095, 12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 25-Feb 1 2014', 40);&lt;br /&gt;
addLocation(50.773040, 15.311701, 'ZodiaCon', 'zodiacon.org', 'Hotel Emilka&amp;lt;br&amp;gt;Na Novině 401&amp;lt;br&amp;gt;468 61 Desná III&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 2012?');&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;All events (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates into numbers for sorting&lt;br /&gt;
// Might benefit from also parsing years.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
	if (!s) {return 4001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (!x || !x[1]) return 4000;&lt;br /&gt;
	day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	switch (x[1]){&lt;br /&gt;
		case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		default:	month = 20;&lt;br /&gt;
	}//switch&lt;br /&gt;
	return month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        markerOpts = {&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: name&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        markerOpts.icon = (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 200 ? purpleIcon : blueIcon ) );&lt;br /&gt;
        markerOpts.shadow = markerShadow;&lt;br /&gt;
        markerOpts.title = a.name;&lt;br /&gt;
&lt;br /&gt;
        a.marker = new google.maps.Marker(markerOpts);&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++;&lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2014-04-26T23:25:08Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Added a bunch of Japanese conventions (and updated Kemcon)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the link button, copy it into a text editor (like Notepad), and use the numbers after 'll='. &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit! If there's an apostrophe in a name or location, put a backslash (\) in front of it.&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_OTHERS = 4;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 32);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var markerShadow = new google.maps.MarkerImage(&amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/markers/marker_sprite.png&amp;quot;, new google.maps.Size(37,34), new google.maps.Point(20, 0), new google.maps.Point(10, 34)); &lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
&lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
addLocation(-24.265278,-48.406944, 'Abando', 'abando.com.br', 'Parque Estadual Intervales&amp;lt;br&amp;gt;São Roque, São Paulo&amp;lt;br&amp;gt;Brazil', '', 'Mar 1-4 2013', 55);&lt;br /&gt;
//addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jul 3-6 2014', '5577');&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', '20-23 Jun 2013', 35);&lt;br /&gt;
addLocation(39.523177, -119.78106, 'Biggest Little Fur Con', 'www.biggestlittlefurcon.org', 'Grand Sierra Resort&amp;lt;br&amp;gt;2500 East 2nd Street&amp;lt;br&amp;gt;Reno, Nevada 89595&amp;lt;br&amp;gt;USA', '+1 (77) YEAH-BLFC', 'Mar 28-30 2014', '704');&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
//addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'May 30-Jun 1 2014', 1178);&lt;br /&gt;
addLocation(43.721056,-121.291552, 'Campfire Tails', 'campfiretails.com', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Aug 1-5 2012', 143);&lt;br /&gt;
//addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
//addLocation(38.9439, -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(49.638649,  15.298977, 'ČeSFuR', 'www.cesfur.org', 'Hotel Luna&amp;lt;br&amp;gt;Kouty 77&amp;lt;br&amp;gt;584 01 Kouty&amp;lt;br&amp;gt;Czech Republic', '', 'Jun 27-30 2013', 107);&lt;br /&gt;
addLocation(50.94149, 6.94651, 'Cologne Furdance', 'www.cologne-cfd.de', 'Zeughaus24, Zeughausstraße 24, 50667 Köln, Germany', '', 'Nov 10 2012'); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 2-4 2013', 251);&lt;br /&gt;
addLocation(-37.825497,144.951725, 'ConFurgence', 'confurgence.com', 'Hilton South Wharf&amp;lt;br&amp;gt;2 Convention Centre Place&amp;lt;br&amp;gt;South Wharf, Melbourne&amp;lt;br&amp;gt;Australia 3006', '+61-3-9027-2000', 'Jan 10-12 2014', 474);&lt;br /&gt;
addLocation(52.450713,  -1.715519, 'ConFuzzled', 'confuzzled.org.uk', 'Hilton Birmingham Metropole&amp;lt;br&amp;gt;National Exhibition Centre&amp;lt;br&amp;gt;Birmingham B40 1PP&amp;lt;br&amp;gt;United Kingdom', '+44 (0)121 780-4242', 'May 23-27 2014', 873);&lt;br /&gt;
addLocation(42.150821, -87.911611, 'Duckon', 'www.duckon.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, IL 60090&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;United States', '+1 (847) 777-6500', 'Jun 6-8 2013');&lt;br /&gt;
addLocation(51.689585, 11.274526, 'EAST', 'www.east-convention.de.vu', 'DJH Falkenstein/Harz&amp;lt;br&amp;gt;Falkensteiner Weg 2b&amp;lt;br&amp;gt;06463 Falkenstein/Harz&amp;lt;br&amp;gt;Germany', '+49 034743 8257', 'Sep 19-22 2013');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'ele.furryhost.com', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(52.129813, 11.631281, 'Eurofurence', 'eurofurence.org', 'Maritim Hotel Magdeburg&amp;lt;br&amp;gt;Otto-von-Guericke-Straße 87&amp;lt;br&amp;gt;39104 Magdeburg&amp;lt;br&amp;gt;Germany', '+49 (0) 3915949-0', 'Aug 21-25 2013', 1376);&lt;br /&gt;
addLocation(40.703546, -74.184279, 'FA: United', 'faunited.org', 'Hanover Marriott&amp;lt;br&amp;gt;1401 Rt 10 E&amp;lt;br&amp;gt;Whippany, NJ 07981&amp;lt;br&amp;gt;USA', '+1 (973) 538 8811 ', 'Aug 17-19 2012', 629);&lt;br /&gt;
addLocation(35.91979, -84.088551, 'Fangcon', 'fangcon.org', 'Holiday Inn Knoxville West&amp;lt;br&amp;gt;9134 Executive Park Dr&amp;lt;br&amp;gt;Knoxville, TN 37923&amp;lt;br&amp;gt;USA', '+1 (865) 693-1011', 'Nov 07-09 2014', 231);&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 24-28 2012', 94);&lt;br /&gt;
addLocation(62.02209, 30.0185, 'FinFur', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
addLocation(35.454262,139.638556, 'Fullmoff', 'www.fullmoff.com', 'Yokohama World Porters&amp;lt;br&amp;gt;2-2-1 Shinko, Naka-ku, &amp;lt;br&amp;gt;Yokohama, Kanagawa &amp;lt;br&amp;gt;Japan', '', 'Oct 25 2014', 0);&lt;br /&gt;
addLocation(-41.239835,174.980063, 'FurcoNZ', 'www.furconz.org.nz', 'Brookfield Outdoor Education Centre&amp;lt;br&amp;gt;Wainuiomata&amp;lt;br&amp;gt;Wellington&amp;lt;br&amp;gt;New Zealand', '', 'Feb 6-9 2014', 50);&lt;br /&gt;
addLocation(-28.00041, 153.4264, 'FurDU', 'www.furrydownunder.com', 'Vibe Hotel Gold Coast&amp;lt;br&amp;gt;42 Ferny Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'Apr 27-29 2012', 246);&lt;br /&gt;
addLocation(53.541723, -113.625262, 'Fur-eh!', 'fureh.ca', 'Hilton Garden Inn&amp;lt;br&amp;gt;17610 Stony Plain Road&amp;lt;br&amp;gt;Edmonton, Alberta, T5S 1A2&amp;lt;br&amp;gt;Canada', '+1 (780) 443-2233', 'May 4-6 2012', 200);&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Oct 7-9 2012');&lt;br /&gt;
addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 28-30 2012');&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 27 2012', 148);&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 8-10 2013', 750);&lt;br /&gt;
addLocation(28.401971, -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Dec 2-7 2012', 24);&lt;br /&gt;
addLocation(32.956825, -96.822896, 'Furry Fiesta', 'www.furryfiesta.org', 'Intercontinental Dallas Hotel&amp;lt;br&amp;gt;15201 Dallas Pkwy&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA', '+1 (972) 386-6000', 'Feb 21-23 2014', 1492);&lt;br /&gt;
addLocation(44.86092, -93.23923, 'Furry Migration', 'www.furrymigration.org', 'Ramada Mall of America&amp;lt;br&amp;gt;American Blvd E&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 952-854-3411', 'Sep 12-14 2014');&lt;br /&gt;
addLocation(33.761999, -84.383352, 'Furry Weekend Atlanta', 'furryweekend.com', 'Atlanta Marriott Marquis&amp;lt;br&amp;gt;265 Peachtree Center Ave NE&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 521-0000', 'Apr 9-12 2015', 2488);&lt;br /&gt;
addLocation(52.775556,   6.801771, 'Furry Weekend Holland', 'furryweekend.nl', 'Het Labyrint&amp;lt;br&amp;gt;Brink 9 7841 CE&amp;lt;br&amp;gt;Sleen&amp;lt;br&amp;gt;Netherlands', '', 'Mar 15-18 2013', 57);&lt;br /&gt;
addLocation(51.40328, 5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66);&lt;br /&gt;
addLocation(52.588333, 14.65, 'Furstock', 'www.polfurs.org', '', '', 'Dec 30 2012-Jan 1 2013', 35);&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'Jul 2012?');&lt;br /&gt;
addLocation(37.330294,-121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 16-20 2014', 3380);&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'furthestnorth.ca', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Aug 2-5 2013', 63);&lt;br /&gt;
addLocation(39.283286,-84.466442, 'Fur Reality', 'www.furreality.org', 'Atrium Hotel&amp;lt;br&amp;gt;30 Tri-County Parkway&amp;lt;br&amp;gt;Cincinnati, OH 45246&amp;lt;br&amp;gt;USA', '513 771 7171', 'Oct 11-13 2013');&lt;br /&gt;
addLocation(39.494658,-76.66367, 'Fur the \'More', 'furthemore.org', 'Hunt Valley Inn&amp;lt;br&amp;gt;245 Shawan Rd&amp;lt;br&amp;gt;Baltimore, MD&amp;lt;br&amp;gt;USA', '+1 (410) 785-7000', 'Mar 14-16 2014');&lt;br /&gt;
addLocation(51.93180, 19.407, 'Futerkon', 'futerkon.pl', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 8-11 2013', 93);&lt;br /&gt;
addLocation(49.8954237, 5.080949, 'Fuzzcon', 'fuzzcon.be', 'Au pays de mon pere&amp;lt;br&amp;gt;Rue des Combattants 1&amp;lt;br&amp;gt;6850 Paliseul&amp;lt;br&amp;gt;Belgium', '', 'Aug 22-25 2013');&lt;br /&gt;
addLocation(47.35016, 7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Nov 15-18 2012');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '+49 030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Oct 3-7 2012', 50);&lt;br /&gt;
addLocation(49.26716,-123.010021, 'Howloween', 'howloween.ca', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', 'Nov 10-12 2011', 182);&lt;br /&gt;
addLocation(38.866200,  -0.406165, 'Ibercamp', 'ibercamp.es', 'Salem, Valencia&amp;lt;br&amp;gt;Spain', '', 'Nov 24-25 2012');&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Sheraton at Keystone Crossing&amp;lt;br&amp;gt;8787 Keystone Crossing&amp;lt;br&amp;gt;Indianapolis, IN 46240&amp;lt;br&amp;gt;USA', '+1 (317) 846-2700', 'Aug 9-11 2013', 482);&lt;br /&gt;
addLocation(34.743463, 137.370965, 'Japan Meeting of Furries', 'www.j-mof.org', 'Loisir Hotel Toyohashi&amp;lt;br&amp;gt;141 Fujisawacho&amp;lt;br&amp;gt;Toyohashi, Aichi&amp;lt;br&amp;gt;Japan', '', 'Jan 10-11 2015', 232);&lt;br /&gt;
addLocation(35.3334755,139.9891955, 'Kemocon', 'www.kemocon.com', 'Kasuza Akademia Hall&amp;lt;br&amp;gt;2 Chome-3-9 Kazusakamatari&amp;lt;br&amp;gt;Kisarazu, Chiba Prefecture&amp;lt;br&amp;gt;Japan', '', 'Nov 22-23 2014', 420);&lt;br /&gt;
addLocation(34.985692,138.417148, 'Kemono Square', 'eixinweb.jp/kemono-square.html', 'Shizuoka Convention &amp;amp; Arts Center &amp;quot;Granship&amp;quot; 7F&amp;lt;br&amp;gt;79-4 Ikeda, Suruga Ward, Shizuoka City&amp;lt;br&amp;gt;Japan', '', 'Jun 7 2014', 0);&lt;br /&gt;
addLocation(35.654685,139.761096, 'Kemoket', 'kemoket.com', 'Tokyo Metropolitan Industrial Trade Center Hamamastucho-kan&amp;lt;br&amp;gt;1 Chome-7-8 Kaigan&amp;lt;br&amp;gt;Minato, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Apr 29 2014', 0);&lt;br /&gt;
addLocation(34.6693, 135.476103, 'Kemoket', 'kemoket.com', 'Sky Hall D Block&amp;lt;br&amp;gt;Osaka Dome&amp;lt;br&amp;gt;Osaka&amp;lt;br&amp;gt;Japan', '', 'Oct 13 2013', 0);&lt;br /&gt;
addLocation(35.1584991,136.9298391, 'Kigukemo', 'kigukemo.jp', 'Nagoya Trade &amp;amp; Industry Center &amp;lt;br&amp;gt;2-6-3 Fukiage&amp;lt;br&amp;gt;Chikusa Ward, Nagoya, Aichi&amp;lt;br&amp;gt;Japan ', 'Phone Number', 'Aug 23, 2014', 0);&lt;br /&gt;
addLocation(47.336284,  12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Aug 8-11 2012', 20);&lt;br /&gt;
addLocation(28.333938, -81.587638, 'Megaplex', 'megaplexcon.org', 'Worldgate Resort Hotel&amp;lt;br&amp;gt;3011 Maingate Lane&amp;lt;br&amp;gt;Kissimmee, FL 34747-2302&amp;lt;br&amp;gt;USA', '+1 (866) 705-7676', 'Jul 27-29 2012', 553);&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Aug 30-Sep 1 2013', 548);&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May 9-12 2013', 200);&lt;br /&gt;
addLocation(35.6568544, 139.7351909, 'Metamore Generation V', 'www.metamor.jp/', 'Village&amp;lt;br&amp;gt;B1F, Fukao Bldg. 1-4-5 Azabu-juban, Minato-ku, Tokyo, Japan', '', 'Oct 5 2013', 0);&lt;br /&gt;
addLocation(41.981284, -87.859078, 'Midwest FurFest', 'furfest.org', 'Hyatt Regency O\'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA', '+1 (847) 696-1234', 'Nov 16-18 2012', 2600);&lt;br /&gt;
addLocation(35.7549142,139.7366338, 'Mofukai', 'twipla.jp/events/84157', '北とぴあ 14F　Sky Hall&amp;lt;br&amp;gt;1 Chome-11 Oji Kita Tokyo &amp;lt;br&amp;gt;Japan', 'May 5 2014', 0);&lt;br /&gt;
addLocation(40.105846, -83.017244, 'Morphicon', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 3-6 2012', 275);&lt;br /&gt;
addLocation(39.65924 , -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 30-Jan 1 2011', 146) // Was replaced by Furstivus in 2012, but planned to resume for 2013&lt;br /&gt;
addLocation(59.166046, 18.13522, 'NordicFuzzCon', 'nordicfuzzcon.org', 'Quality Hotel Winn Haninge&amp;lt;br&amp;gt;Rudsjoterassen 3&amp;lt;br&amp;gt;SE 136 40  Handen&amp;lt;br&amp;gt;Sweden', '', 'Mar 28-31 2013', 175);&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 17-22 2012', 300);&lt;br /&gt;
addLocation(-31.952222, 115.858889, 'Perthfur Gathering', 'gathering.perthfurs.net', 'Perth, Western Australia', '', 'Aug 13 2011', 76);//&amp;quot;3rd qtr, 2010&amp;quot;&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 27-30 2012', 1424);&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'Jun 29-Jul 2 2012', 50);&lt;br /&gt;
addLocation(34.6701,  -86.577759, 'Rocket City FurMeet', 'rcfm.net', 'Hilton Garden Inn Huntsville South&amp;lt;br&amp;gt;301 Boulevard South SW&amp;lt;br&amp;gt;Huntsville, Alabama 35802&amp;lt;br&amp;gt;USA', '+1 (256) 881-4170', 'May 24-26 2013', 242);&lt;br /&gt;
addLocation(39.762235,-104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Doubletree Hotel Denver&amp;lt;br&amp;gt;3203 Quebec Street&amp;lt;br&amp;gt;Denver, Colorado 80207&amp;lt;br&amp;gt;USA', '+1 (303) 321-3333', 'Aug 2-4 2013', 863);&lt;br /&gt;
addLocation(56.050627,36.823576, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Авантель Клаб Истра&amp;quot; (RAS &amp;quot;Avantel Club Istra&amp;quot;)&amp;lt;br&amp;gt;ЗИстринское Водохранилище (Istra Reservoir), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 5-10 2013', 286);&lt;br /&gt;
addLocation(57.478307, -4.22672, 'ScotiaCon', 'www.scotiacon.com', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Jul 27-30 2012', 123);&lt;br /&gt;
addLocation(-26.201, 28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(40.769163,-111.897349, 'Unthrocon', 'www.unthrocon.org', ' Salt Lake City Radisson Hotel&amp;lt;br&amp;gt;215 W South Temple&amp;lt;br&amp;gt;Salt Lake City, Utah 84101&amp;lt;br&amp;gt;USA', '+1 (801) 531-7500', '30 Aug-1 Sep 2013', 0);&lt;br /&gt;
addLocation(49.266323,-123.011509, 'VancouFur', 'vancoufur.ca', 'Executive Hotel &amp;amp; Conference Centre Burnaby&amp;lt;br&amp;gt;4201 Lougheed Hwy&amp;lt;br&amp;gt;Burnaby, British Columbia, V5C 3Y6&amp;lt;br&amp;gt;Canada', '', 'Mar 1-3 2013', 479);&lt;br /&gt;
addLocation(45.499474, -73.562801, 'What The Fur', 'whatthefur.ca', 'Delta Centre-Ville&amp;lt;br&amp;gt;777 University Street&amp;lt;br&amp;gt;Montreal, Quebec&amp;lt;br&amp;gt;H3C 3Z7, Canada', '+1 (514) 879-1370', 'May 17-19 2013', 282);&lt;br /&gt;
addLocation(40.538786, -79.830565, 'Western Pennsylvania Furry Weekend', 'wpafw.org', 'Quality Inn Pittsburgh North&amp;lt;br&amp;gt;2801 Freeport Road&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15238&amp;lt;br&amp;gt;USA', '+1 (412) 828-9400', 'Sep 28-30 2012', 116);&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 25-29 2013', 122);&lt;br /&gt;
addLocation(50.456309, 30.504819, 'WUFF', 'wuff.org.ua/2013', 'Kiev, Ukraine', '', 'May 9-12 2013', 164)&lt;br /&gt;
addLocation(44.520806, 11.401609, 'Zampacon', 'zampacon.forumfree.it', 'Ostello SanSisto&amp;lt;br&amp;gt;via Viadagola 5&amp;lt;br&amp;gt;Bologna, 40127&amp;lt;br&amp;gt;Italy', '', 'Dec 29-Jan 1 2013', 34);&lt;br /&gt;
addLocation(47.503095, 12.190969, 'Zillercon', '', 'Wörgl, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 25-Feb 1 2014', 40);&lt;br /&gt;
addLocation(50.773040, 15.311701, 'ZodiaCon', 'zodiacon.org', 'Hotel Emilka&amp;lt;br&amp;gt;Na Novině 401&amp;lt;br&amp;gt;468 61 Desná III&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 2012?');&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;All events (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates into numbers for sorting&lt;br /&gt;
// Might benefit from also parsing years.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
	if (!s) {return 4001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (!x || !x[1]) return 4000;&lt;br /&gt;
	day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	switch (x[1]){&lt;br /&gt;
		case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		default:	month = 20;&lt;br /&gt;
	}//switch&lt;br /&gt;
	return month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;//en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        markerOpts = {&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: name&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        markerOpts.icon = (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 200 ? purpleIcon : blueIcon ) );&lt;br /&gt;
        markerOpts.shadow = markerShadow;&lt;br /&gt;
        markerOpts.title = a.name;&lt;br /&gt;
&lt;br /&gt;
        a.marker = new google.maps.Marker(markerOpts);&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++;&lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2012-09-02T23:55:42Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Updating a few attandence numbers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the link button, copy it into a text editor (like Notepad), and use the numbers after 'll='. &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit!&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_OTHERS = 4;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 32);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var markerShadow = new google.maps.MarkerImage(&amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/markers/marker_sprite.png&amp;quot;, new google.maps.Size(37,34), new google.maps.Point(20, 0), new google.maps.Point(10, 34)); &lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
 &lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
addLocation(-24.097951,-48.371558, 'Abando', 'abando.com.br', 'São Roque, São Paulo&amp;lt;br&amp;gt;Brazil', '', 'Feb 9-12 2013', 50);&lt;br /&gt;
//addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jul 4-7 2013', '5179');&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 21-24 2012', 35);&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'Jun 1-3 2012', 919);&lt;br /&gt;
addLocation(43.721056,-121.291552, 'Campfire Tails', 'campfiretails.com', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Aug 2-6 2012', 100);&lt;br /&gt;
addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
addLocation(38.9439, -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(50.176635,  14.355700, 'ČeSFuR', 'www.cesfur.org', 'Hotel Vltava&amp;lt;br&amp;gt;250 68 Rez u Prahy&amp;lt;br&amp;gt;Czech Republic', '+420 220 940 759', 'Jul 5-8 2012', 107);&lt;br /&gt;
addLocation(50.94149, 6.94651, 'Cologne Furdance', 'www.cologne-cfd.de', 'Zeughaus24, Zeughausstraße 24, 50667 Köln, Germany', '', 'Nov 10 2012'); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Jul 27-29 2012', 251);&lt;br /&gt;
addLocation(53.415679,	-2.247281, 'ConFuzzled', 'confuzzled.org.uk', 'Britannia Country House Hotel&amp;lt;br&amp;gt;Palatine Road&amp;lt;br&amp;gt;Didsbury&amp;lt;br&amp;gt;Manchester M20 2WG&amp;lt;br&amp;gt;England', 'N/A', 'May 30-Jun 3 2013', 725);&lt;br /&gt;
addLocation(41.80347,-88.120222, 'Duckon', 'www.duckon.org', 'Naperville Holiday Inn Select&amp;lt;br&amp;gt;1801 Naper Blvd&amp;lt;br&amp;gt;Naperville, IL 60563&amp;lt;br&amp;gt;United States', '', 'Jun 1-3 2012');&lt;br /&gt;
addLocation(51.283333, 11.566667, 'EAST', 'www.east-con.de.vu', '', '', 'Sep 27-30');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'ele.furryhost.com', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(50.616714,  10.723858, 'Eurofurence', 'eurofurence.org', 'Ringberg Resort Hotel&amp;lt;br&amp;gt;Ringberg 10&amp;lt;br&amp;gt;D-98527 Suhl&amp;lt;br&amp;gt;Germany', '+49 36 81/3 89-0', 'Aug 29-Sep 2 2012', 1066);&lt;br /&gt;
addLocation(40.703546, -74.184279, 'FA: United', 'faunited.org', 'Hanover Marriott&amp;lt;br&amp;gt;1401 Rt 10 E&amp;lt;br&amp;gt;Whippany, NJ 07981&amp;lt;br&amp;gt;USA', '+1 (973) 538 8811 ', 'Aug 17-19 2012', 629);&lt;br /&gt;
addLocation(36.187871,-86.799223, 'Fangcon', 'fangcon.org', 'Millennium Maxwell House Hotel&amp;lt;br&amp;gt;2025 Rosa L. Parks Boulevard&amp;lt;br&amp;gt;Nashville, TN 37228-1505&amp;lt;br&amp;gt;USA', '+1 (615) 259 4343', 'Oct 26-28 2012');&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 24-28 2012', 94);&lt;br /&gt;
addLocation(62.02209, 30.0185, 'FinFur', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
addLocation(-38.625454,176.090927, 'FurcoNZ', 'www.furconz.org.nz', 'Kiwanis and Huia Lodges, Huia&amp;lt;b&amp;gt;Waitakere Ranges Regional Park&amp;lt;br&amp;gt;Auckland&amp;lt;br&amp;gt;New Zealand', '', 'Dec 14-17 2012', 50);&lt;br /&gt;
addLocation(-28.00041, 153.4264, 'FurDU', 'www.furrydownunder.com', 'Vibe Hotel Gold Coast&amp;lt;br&amp;gt;42 Ferny Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'Apr 27-29 2012', 246);&lt;br /&gt;
addLocation(53.541723, -113.625262, 'Fur-eh!', 'fureh.ca', 'Hilton Garden Inn&amp;lt;br&amp;gt;17610 Stony Plain Road&amp;lt;br&amp;gt;Edmonton, Alberta, T5S 1A2&amp;lt;br&amp;gt;Canada', '+1 (780) 443-2233', 'May 4-6 2012', 200);&lt;br /&gt;
addLocation(41.542706, -72.970258, 'FurFright', 'furfright.org', 'Crowne Plaza Cromwell&amp;lt;br&amp;gt;100 Berlin Road&amp;lt;br&amp;gt;Cromwell, CT 06416&amp;lt;br&amp;gt;USA', '+1 (888) 233-9527', 'Oct 26-28 2012', 1485);&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Oct 7-9 2012');&lt;br /&gt;
addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 28-30 2012');&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 27 2012', 148);&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 8-10 2013', 651);&lt;br /&gt;
addLocation(42.441891, -83.434789, 'Furry Connection North', 'furryconnectionnorth.com', 'Shearton Detroit Novi&amp;lt;br&amp;gt;21111 Haggerty Road&amp;lt;br&amp;gt;Novi, Michigan 48375&amp;lt;br&amp;gt;USA', '+1 (248) 349-4000', 'Apr 13-15 2012', 1179);&lt;br /&gt;
addLocation(28.401971, -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Dec 2-7 2012', 24);&lt;br /&gt;
addLocation(32.9455, -96.8398, 'Furry Fiesta', 'www.furryfiesta.org', 'Crowne Plaza Hotel&amp;lt;br&amp;gt;14315 Midway Road&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA','+1 (972) 980-8877', 'Feb 22-24 2013', 1210);&lt;br /&gt;
addLocation(33.626091, -84.451776, 'Furry Weekend Atlanta', 'furryweekend.com', 'Westin Peachtree Plaza&amp;lt;br&amp;gt;210 Peachtree St&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 659-1400', 'Mar 14-17 2012', 1902);&lt;br /&gt;
addLocation(51.40328, 5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013', 66);&lt;br /&gt;
addLocation(52.588333, 14.65, 'Furstock', 'www.polfurs.org', '', '', 'Dec 30 2012 - Jan 1 2013', 35);&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'Jul 2012?');&lt;br /&gt;
addLocation(37.330294,-121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 17-21 2013', 3021);&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'furthestnorth.ca', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Aug 3-6 2012', 63);&lt;br /&gt;
addLocation(51.93180, 19.407, 'Futrzakon', 'www.futrzakon.org', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 8-11 2012', 67);&lt;br /&gt;
addLocation(47.35016, 7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Nov 15-18 2012');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Oct 3-7 2012', 50);&lt;br /&gt;
addLocation(49.26716,-123.010021, 'Howloween', 'howloween.org', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', 'Nov 10-12 2012', 151);&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Sheraton at Keystone Crossing&amp;lt;br&amp;gt;8787 Keystone Crossing&amp;lt;br&amp;gt;Indianapolis, IN 46240&amp;lt;br&amp;gt;USA', '+1 (317) 846-2700', 'Aug 9-11 2013', 482);&lt;br /&gt;
addLocation(35.694742, 139.816679, 'Kemocon', 'www.kemocon.com', 'Sumida Industrial Centre&amp;lt;br&amp;gt;〒130-0022&amp;lt;br&amp;gt;Sumida, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Nov 19 2011', 400);&lt;br /&gt;
addLocation(47.336284,  12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Aug 8-11 2012', 20);&lt;br /&gt;
addLocation(28.333938, -81.587638, 'Megaplex', 'megaplexcon.org', 'Worldgate Resort Hotel&amp;lt;br&amp;gt;3011 Maingate Lane&amp;lt;br&amp;gt;Kissimmee, FL 34747-2302&amp;lt;br&amp;gt;USA', '+1 (866) 705-7676', 'Jul 27-29 2012', 553);&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Aug 31-Sep 2 2012', 546);&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May 9-12 2013', 200);&lt;br /&gt;
addLocation(-37.80541, 144.963291, 'MiDFur', 'www.midfur.com.au', 'Arrow on Swanston&amp;lt;br&amp;gt;488 Swanston Street&amp;lt;br&amp;gt;Carlton, VIC&amp;lt;br&amp;gt;Australia', '(613) 9225 9000', 'Dec 4-8 2012', 372);&lt;br /&gt;
addLocation(41.981284, -87.859078, 'Midwest FurFest', 'furfest.org', &amp;quot;Hyatt Regency O'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA&amp;quot;, '+1 (847) 696-1234', 'Nov 16-18 2012', 2600);&lt;br /&gt;
addLocation(40.105846, -83.017244, 'Morphicon', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 3-6 2012', 275);&lt;br /&gt;
addLocation(39.65924 , -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 30-Jan 1 2011', 146) // Was replaced by Furstivus in 2012, but planned to resume for 2013&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 17-22 2012', 300);&lt;br /&gt;
addLocation(-31.952222, 115.858889, 'Perthfur Gathering', 'gathering.perthfurs.net', 'Perth, Western Australia', '', 'Aug 13 2011', 76);//&amp;quot;3rd qtr, 2010&amp;quot;&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 27-30 2012', 1424);&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'Jun 29-Jul 2 2012', 50);&lt;br /&gt;
addLocation(34.6701,  -86.577759, 'Rocket City FurMeet', 'rcfm.net', 'Hilton Garden Inn Huntsville South&amp;lt;br&amp;gt;301 Boulevard South SW&amp;lt;br&amp;gt;Huntsville, Alabama 35802&amp;lt;br&amp;gt;USA', '+1 (256) 881-4170', 'May 24-26 2013', 242);&lt;br /&gt;
addLocation(39.762235,-104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Doubletree Hotel Denver&amp;lt;br&amp;gt;3203 Quebec Street&amp;lt;br&amp;gt;Denver, Colorado 80207&amp;lt;br&amp;gt;USA', '+1 (303) 321-3333', 'Aug 2-4 2013', 863);&lt;br /&gt;
addLocation(55.734529,  36.882262, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Звенигородский&amp;quot; (RAS &amp;quot;Zvenigorodsky&amp;quot;)&amp;lt;br&amp;gt;Звенигород (Zvenigorod), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Jan 31-Feb 5 2012', 190);&lt;br /&gt;
addLocation(57.478307, -4.22672, 'ScotiaCon', 'www.scotiacon.com', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Jul 27-30 2012', 123);&lt;br /&gt;
addLocation(-26.201, 28.046, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?', 0);&lt;br /&gt;
addLocation(49.266323,-123.011509, 'VancouFur', 'vancoufur.ca', 'Executive Hotel &amp;amp; Conference Centre Burnaby&amp;lt;br&amp;gt;4201 Lougheed Hwy&amp;lt;br&amp;gt;Burnaby, British Columbia, V5C 3Y6&amp;lt;br&amp;gt;Canada', '', 'Mar 1-3 2012', 347);&lt;br /&gt;
addLocation(45.493191,-73.5736397, 'What The Fur', 'whatthefur.ca', 'The Days Hotel &amp;amp; Conference Centre of Montreal&amp;lt;br&amp;gt;1005 rue Guy, Montréal, QC H3H 2K4, Canada', '514-938-4611', 'May 17-19 2013', 282);&lt;br /&gt;
addLocation(40.538786, -79.830565, 'Western Pennsylvania Furry Weekend', 'wpafw.org', 'Quality Inn Pittsburgh North&amp;lt;br&amp;gt;2801 Freeport Road&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15238&amp;lt;br&amp;gt;USA', '+1 (412) 828-9400', 'Sep 28-30 2012', 116);&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 25-29 2013', 122);&lt;br /&gt;
addLocation(50.456309, 30.504819, 'WUFF', 'furry.org.ua/index.php?page=meetings', 'Kiev, Ukraine', '', 'April 28-May 2 2012', 164)&lt;br /&gt;
addLocation(47.405582,  12.040372, 'Zillercon', '', 'Wildschönau, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 21-28 2012', 40);&lt;br /&gt;
addLocation(50.773040,  15.311701, 'ZodiaCon', 'zodiacon.org', 'Hotel Emilka&amp;lt;br&amp;gt;Na Novině 401&amp;lt;br&amp;gt;468 61 Desná III&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 2012?');&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;All events (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates into numbers for sorting&lt;br /&gt;
// Might benefit from also parsing years.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
	if (!s) {return 4001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (!x || !x[1]) return 4000;&lt;br /&gt;
	day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	switch (x[1]){&lt;br /&gt;
		case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		default:	month = 20;&lt;br /&gt;
	}//switch&lt;br /&gt;
	return month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;http://en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        markerOpts = {&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: name&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        markerOpts.icon = (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 200 ? purpleIcon : blueIcon ) );&lt;br /&gt;
        markerOpts.shadow = markerShadow;&lt;br /&gt;
        markerOpts.title = a.name;&lt;br /&gt;
&lt;br /&gt;
        a.marker = new google.maps.Marker(markerOpts);&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++;&lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2012-09-02T23:40:18Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Have the Date-classifying RegEx eat any letters after the month abbervation. Hopefully this will allow full length month names.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the link button, copy it into a text editor (like Notepad), and use the numbers after 'll='. &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit!&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_OTHERS = 4;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 32);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
&lt;br /&gt;
// Used later when creating markers&lt;br /&gt;
var redIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png&amp;quot;);&lt;br /&gt;
var purpleIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png&amp;quot;);&lt;br /&gt;
var blueIcon = new google.maps.MarkerImage(&amp;quot;//www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png&amp;quot;);&lt;br /&gt;
var markerShadow = new google.maps.MarkerImage(&amp;quot;//maps.gstatic.com/intl/en_us/mapfiles/markers/marker_sprite.png&amp;quot;, new google.maps.Size(37,34), new google.maps.Point(20, 0), new google.maps.Point(10, 34)); &lt;br /&gt;
&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
 &lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
addLocation(-24.097951,-48.371558, 'Abando', 'abando.com.br', 'São Roque, São Paulo&amp;lt;br&amp;gt;Brazil', '', 'Feb 9-12 2013', 50);&lt;br /&gt;
//addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jul 4-7 2013', '5179');&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 21-24 2012', 35);&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'Jun 1-3 2012', 919);&lt;br /&gt;
addLocation(43.721056,-121.291552, 'Campfire Tails', 'campfiretails.com', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Aug 2-6 2012', 100);&lt;br /&gt;
addLocation(44.858188, -93.221054, 'Cat Days', 'www.mnfurs.org/cat-days', 'Crowne Plaza Hotel and Suites&amp;lt;br&amp;gt;Minneapolis International Airport&amp;lt;br&amp;gt;Appletree Square&amp;lt;br&amp;gt;Bloomington, MN 55425&amp;lt;br&amp;gt;USA', '+1 877-859-5095', 'Aug 3-4 2012');&lt;br /&gt;
addLocation(38.9439, -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(50.176635,  14.355700, 'ČeSFuR', 'www.cesfur.org', 'Hotel Vltava&amp;lt;br&amp;gt;250 68 Rez u Prahy&amp;lt;br&amp;gt;Czech Republic', '+420 220 940 759', 'Jul 5-8 2012', 107);&lt;br /&gt;
addLocation(50.94149, 6.94651, 'Cologne Furdance', 'www.cologne-cfd.de', 'Zeughaus24, Zeughausstraße 24, 50667 Köln, Germany', '', 'Nov 10 2012'); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Jul 27-29 2012', 251);&lt;br /&gt;
addLocation(53.415679,	-2.247281, 'ConFuzzled', 'confuzzled.org.uk', 'Britannia Country House Hotel&amp;lt;br&amp;gt;Palatine Road&amp;lt;br&amp;gt;Didsbury&amp;lt;br&amp;gt;Manchester M20 2WG&amp;lt;br&amp;gt;England', 'N/A', 'May 30-Jun 3 2013', 725);&lt;br /&gt;
addLocation(41.80347,-88.120222, 'Duckon', 'www.duckon.org', 'Naperville Holiday Inn Select&amp;lt;br&amp;gt;1801 Naper Blvd&amp;lt;br&amp;gt;Naperville, IL 60563&amp;lt;br&amp;gt;United States', '', 'Jun 1-3 2012');&lt;br /&gt;
addLocation(51.283333, 11.566667, 'EAST', 'www.east-con.de.vu', '', '', 'Sep 27-30');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'ele.furryhost.com', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(50.616714,  10.723858, 'Eurofurence', 'eurofurence.org', 'Ringberg Resort Hotel&amp;lt;br&amp;gt;Ringberg 10&amp;lt;br&amp;gt;D-98527 Suhl&amp;lt;br&amp;gt;Germany', '+49 36 81/3 89-0', 'Aug 29-Sep 2 2012', 1066);&lt;br /&gt;
addLocation(40.703546, -74.184279, 'FA: United', 'faunited.org', 'Hanover Marriott&amp;lt;br&amp;gt;1401 Rt 10 E&amp;lt;br&amp;gt;Whippany, NJ 07981&amp;lt;br&amp;gt;USA', '+1 (973) 538 8811 ', 'Aug 17-19 2012', 629);&lt;br /&gt;
addLocation(36.187871,-86.799223, 'Fangcon', 'fangcon.org', 'Millennium Maxwell House Hotel&amp;lt;br&amp;gt;2025 Rosa L. Parks Boulevard&amp;lt;br&amp;gt;Nashville, TN 37228-1505&amp;lt;br&amp;gt;USA', '+1 (615) 259 4343', 'Oct 26-28 2012');&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 24-28 2012', 94);&lt;br /&gt;
addLocation(62.02209, 30.0185, 'FinFur', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
addLocation(-38.625454,176.090927, 'FurcoNZ', 'www.furconz.org.nz', 'Kiwanis and Huia Lodges, Huia&amp;lt;b&amp;gt;Waitakere Ranges Regional Park&amp;lt;br&amp;gt;Auckland&amp;lt;br&amp;gt;New Zealand', '', 'Dec 14-17 2012', 50);&lt;br /&gt;
addLocation(-28.00041, 153.4264, 'FurDU', 'www.furrydownunder.com', 'Vibe Hotel Gold Coast&amp;lt;br&amp;gt;42 Ferny Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'Apr 27-29 2012', 246);&lt;br /&gt;
addLocation(53.541723, -113.625262, 'Fur-eh!', 'fureh.ca', 'Hilton Garden Inn&amp;lt;br&amp;gt;17610 Stony Plain Road&amp;lt;br&amp;gt;Edmonton, Alberta, T5S 1A2&amp;lt;br&amp;gt;Canada', '+1 (780) 443-2233', 'May 4-6 2012', 200);&lt;br /&gt;
addLocation(41.542706, -72.970258, 'FurFright', 'furfright.org', 'Crowne Plaza Cromwell&amp;lt;br&amp;gt;100 Berlin Road&amp;lt;br&amp;gt;Cromwell, CT 06416&amp;lt;br&amp;gt;USA', '+1 (888) 233-9527', 'Oct 26-28 2012', 1485);&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Oct 7-9 2012');&lt;br /&gt;
addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 28-30 2012');&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 27 2012', 148);&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 8-10 2013', 651);&lt;br /&gt;
addLocation(42.441891, -83.434789, 'Furry Connection North', 'furryconnectionnorth.com', 'Shearton Detroit Novi&amp;lt;br&amp;gt;21111 Haggerty Road&amp;lt;br&amp;gt;Novi, Michigan 48375&amp;lt;br&amp;gt;USA', '+1 (248) 349-4000', 'Apr 13-15 2012', 1179);&lt;br /&gt;
addLocation(28.401971, -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Dec 2-7 2012', 24);&lt;br /&gt;
addLocation(32.9455, -96.8398, 'Furry Fiesta', 'www.furryfiesta.org', 'Crowne Plaza Hotel&amp;lt;br&amp;gt;14315 Midway Road&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA','+1 (972) 980-8877', 'Feb 22-24 2013', 1210);&lt;br /&gt;
addLocation(33.626091, -84.451776, 'Furry Weekend Atlanta', 'furryweekend.com', 'Westin Peachtree Plaza&amp;lt;br&amp;gt;210 Peachtree St&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 659-1400', 'Mar 14-17 2012', 1902);&lt;br /&gt;
addLocation(51.40328, 5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013');&lt;br /&gt;
addLocation(52.588333, 14.65, 'Furstock', 'www.polfurs.org', '', '', 'Aug 4-6 2011');&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'Jul 2012?');&lt;br /&gt;
addLocation(37.330294,-121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 17-21 2013', 3021);&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'furthestnorth.ca', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Aug 3-6 2012', 63);&lt;br /&gt;
addLocation(51.93180, 19.407, 'Futrzakon', 'www.futrzakon.org', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 8-11 2012', 67);&lt;br /&gt;
addLocation(47.35016, 7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Nov 15-18 2012');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Oct 3-7 2012');&lt;br /&gt;
addLocation(49.26716,-123.010021, 'Howloween', 'howloween.org', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', 'Nov 10-12 2012', 151);&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Sheraton at Keystone Crossing&amp;lt;br&amp;gt;8787 Keystone Crossing&amp;lt;br&amp;gt;Indianapolis, IN 46240&amp;lt;br&amp;gt;USA', '+1 (317) 846-2700', 'Aug 9-11 2013', 482);&lt;br /&gt;
addLocation(35.694742, 139.816679, 'Kemocon', 'www.kemocon.com', 'Sumida Industrial Centre&amp;lt;br&amp;gt;〒130-0022&amp;lt;br&amp;gt;Sumida, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Nov 19 2011', 400);&lt;br /&gt;
addLocation(47.336284,  12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Aug 8-11 2012', 20);&lt;br /&gt;
addLocation(28.333938, -81.587638, 'Megaplex', 'megaplexcon.org', 'Worldgate Resort Hotel&amp;lt;br&amp;gt;3011 Maingate Lane&amp;lt;br&amp;gt;Kissimmee, FL 34747-2302&amp;lt;br&amp;gt;USA', '+1 (866) 705-7676', 'Jul 27-29 2012', 553);&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Aug 31-Sep 2 2012', 546);&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May 9-12 2013', 200);&lt;br /&gt;
addLocation(-37.80541, 144.963291, 'MiDFur', 'www.midfur.com.au', 'Arrow on Swanston&amp;lt;br&amp;gt;488 Swanston Street&amp;lt;br&amp;gt;Carlton, VIC&amp;lt;br&amp;gt;Australia', '(613) 9225 9000', 'Dec 4-8 2012', 372);&lt;br /&gt;
addLocation(41.981284, -87.859078, 'Midwest FurFest', 'furfest.org', &amp;quot;Hyatt Regency O'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA&amp;quot;, '+1 (847) 696-1234', 'Nov 16-18 2012', 2600);&lt;br /&gt;
addLocation(40.105846, -83.017244, 'Morphicon', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 3-6 2012', 275);&lt;br /&gt;
addLocation(39.65924 , -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 30-Jan 1 2011', 146) // Was replaced by Furstivus in 2012, but planned to resume for 2013&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 17-22 2012', 300);&lt;br /&gt;
addLocation(-31.952222, 115.858889, 'Perthfur Gathering', 'gathering.perthfurs.net', 'Perth, Western Australia', '', 'Aug 13 2011', 76);//&amp;quot;3rd qtr, 2010&amp;quot;&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 27-30 2012', 1424);&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'Jun 29-Jul 2 2012', 50);&lt;br /&gt;
addLocation(34.6701,  -86.577759, 'Rocket City FurMeet', 'rcfm.net', 'Hilton Garden Inn Huntsville South&amp;lt;br&amp;gt;301 Boulevard South SW&amp;lt;br&amp;gt;Huntsville, Alabama 35802&amp;lt;br&amp;gt;USA', '+1 (256) 881-4170', 'May 24-26 2013', 242);&lt;br /&gt;
addLocation(39.762235,-104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Doubletree Hotel Denver&amp;lt;br&amp;gt;3203 Quebec Street&amp;lt;br&amp;gt;Denver, Colorado 80207&amp;lt;br&amp;gt;USA', '+1 (303) 321-3333', 'Aug 2-4 2013', 863);&lt;br /&gt;
addLocation(55.734529,  36.882262, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Звенигородский&amp;quot; (RAS &amp;quot;Zvenigorodsky&amp;quot;)&amp;lt;br&amp;gt;Звенигород (Zvenigorod), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Jan 31-Feb 5 2012', 190);&lt;br /&gt;
addLocation(57.478307, -4.22672, 'ScotiaCon', 'www.scotiacon.com', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Jul 27-30 2012', 123);&lt;br /&gt;
addLocation(-33.932, 25.571, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?');&lt;br /&gt;
addLocation(49.266323,-123.011509, 'VancouFur', 'vancoufur.ca', 'Executive Hotel &amp;amp; Conference Centre Burnaby&amp;lt;br&amp;gt;4201 Lougheed Hwy&amp;lt;br&amp;gt;Burnaby, British Columbia, V5C 3Y6&amp;lt;br&amp;gt;Canada', '', 'Mar 1-3 2012');&lt;br /&gt;
addLocation(45.493191,-73.5736397, 'What The Fur', 'whatthefur.ca', 'The Days Hotel &amp;amp; Conference Centre of Montreal&amp;lt;br&amp;gt;1005 rue Guy, Montréal, QC H3H 2K4, Canada', '514-938-4611', 'May 17-19 2013', 282);&lt;br /&gt;
addLocation(40.538786, -79.830565, 'Western Pennsylvania Furry Weekend', 'wpafw.org', 'Quality Inn Pittsburgh North&amp;lt;br&amp;gt;2801 Freeport Road&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15238&amp;lt;br&amp;gt;USA', '+1 (412) 828-9400', 'Sep 28-30 2012', 116);&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 25-29 2013', 122);&lt;br /&gt;
addLocation(50.456309, 30.504819, 'WUFF', 'furry.org.ua/index.php?page=meetings', 'Kiev, Ukraine', '', 'April 28-May 2 2012', 164)&lt;br /&gt;
addLocation(47.405582,  12.040372, 'Zillercon', '', 'Wildschönau, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 21-28 2012', 40);&lt;br /&gt;
addLocation(50.773040,  15.311701, 'ZodiaCon', 'zodiacon.org', 'Hotel Emilka&amp;lt;br&amp;gt;Na Novině 401&amp;lt;br&amp;gt;468 61 Desná III&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 2012?');&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendance(a,b){&lt;br /&gt;
	if (a.attendance){&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return b.attendance - a.attendance;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendance){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendance&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendance);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendance?&amp;quot; (&amp;quot;+meet.attendance+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;All events (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates into numbers for sorting&lt;br /&gt;
// Might benefit from also parsing years.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
	if (!s) {return 4001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[A-Za-z]*(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (!x || !x[1]) return 4000;&lt;br /&gt;
	day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	switch (x[1]){&lt;br /&gt;
		case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		default:	month = 20;&lt;br /&gt;
	}//switch&lt;br /&gt;
	return month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendance) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;http://en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendance? &amp;quot; Past atnd. &amp;quot;+ attendance:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendance){&lt;br /&gt;
meets.push({'lat':lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendance': attendance});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date, attendance&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        markerOpts = {&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: name&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        markerOpts.icon = (a.attendance &amp;gt;= 1000 ? redIcon : (a.attendance &amp;gt;= 200 ? purpleIcon : blueIcon ) );&lt;br /&gt;
        markerOpts.shadow = markerShadow;&lt;br /&gt;
        markerOpts.title = a.name;&lt;br /&gt;
&lt;br /&gt;
        a.marker = new google.maps.Marker(markerOpts);&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendance));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++;&lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2012-08-17T20:33:59Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Changing the description on the top, hopefully this will make it more readable.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikifur.com/FurryConventionMap.html map of active conventions]&amp;lt;/span&amp;gt;. Edit events in the &amp;quot;Add map points&amp;quot; section below. &lt;br /&gt;
&lt;br /&gt;
// To get latitude and longitude, find the target on Google Maps, then click the link button, copy it into a text editor (like Notepad), and use the numbers after 'll='. &lt;br /&gt;
&lt;br /&gt;
// Reload the map to check it works after you edit!&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
var infoWindow = null;&lt;br /&gt;
var meets = [];&lt;br /&gt;
&lt;br /&gt;
// number of conventions in different areas, displayed in drop down&lt;br /&gt;
var count = 0;&lt;br /&gt;
var count_na = 0;&lt;br /&gt;
var count_eu = 0; &lt;br /&gt;
var count_oceania = 0;&lt;br /&gt;
var count_others = 0;&lt;br /&gt;
&lt;br /&gt;
//constants specifying which region is selected in the drop down&lt;br /&gt;
var FILT_ALL = 0;&lt;br /&gt;
var FILT_NA = 1;&lt;br /&gt;
var FILT_EU = 2;&lt;br /&gt;
var FILT_OCEANIA = 3;&lt;br /&gt;
var FILT_OTHERS = 4;&lt;br /&gt;
&lt;br /&gt;
//These functions are used to classify conventions into regions&lt;br /&gt;
//They are hacks; function only be accurate for existing data&lt;br /&gt;
function is_in_na(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 21 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -144 &amp;amp;&amp;amp; lng &amp;lt; -48);&lt;br /&gt;
}&lt;br /&gt;
function is_in_eu(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; 36 &amp;amp;&amp;amp; lat &amp;lt; 75 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; -13 &amp;amp;&amp;amp; lng &amp;lt; 32);&lt;br /&gt;
}&lt;br /&gt;
function is_in_oceania(lat, lng){&lt;br /&gt;
    return (lat &amp;gt; -50 &amp;amp;&amp;amp; lat &amp;lt; -5 &amp;amp;&amp;amp; &lt;br /&gt;
                lng &amp;gt; 110 &amp;amp;&amp;amp; lng &amp;lt; 180);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var is_phone = false;&lt;br /&gt;
function load() {&lt;br /&gt;
 var useragent = navigator.userAgent;&lt;br /&gt;
  is_phone = (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) //TODO support other phones that support tel: protocol?&lt;br /&gt;
  &lt;br /&gt;
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {&lt;br /&gt;
  //working around Android Browser having no scroll bar (Fennec/Firefox Mobile has no bar, but can scroll inside divs)&lt;br /&gt;
//document.getElementById(&amp;quot;map&amp;quot;).style.position=&amp;quot;fixed&amp;quot;; //Google Maps will undo this&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.height=&amp;quot;auto&amp;quot;;&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).style.overflow=&amp;quot;auto&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 if (true) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
markers = [];&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
// These values are assuming a 1280x800 monitor with 96dpi.&lt;br /&gt;
// it would be nice to scale this according to client area size&lt;br /&gt;
var centerLatLng = new google.maps.LatLng(40,-40);&lt;br /&gt;
var mapOpts = {&lt;br /&gt;
    zoom: 3,&lt;br /&gt;
    center: centerLatLng,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP,&lt;br /&gt;
    streetViewControl: true&lt;br /&gt;
};&lt;br /&gt;
// creating map&lt;br /&gt;
map = new google.maps.Map(mapNode, mapOpts);&lt;br /&gt;
infoWindow = new google.maps.InfoWindow({});&lt;br /&gt;
 &lt;br /&gt;
// Add map points&lt;br /&gt;
// Format: addLocation(latitude, longitude, 'Name', 'website', 'Place name&amp;lt;br&amp;gt;Street&amp;lt;br&amp;gt;City, State Code&amp;lt;br&amp;gt;Country', 'Phone Number', 'Mon[th] 1-3 20XX', attendance);&lt;br /&gt;
addLocation(-24.097951,-48.371558, 'Abando', 'abando.com.br', 'São Roque, São Paulo&amp;lt;br&amp;gt;Brazil', '', 'Feb 9-12 2013', 50);&lt;br /&gt;
//addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '', 41);&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jul 4-7 2013', '5179');&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'www.berlicon.org', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 21-24 2012', 35);&lt;br /&gt;
//addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 19-20 2012', 3);&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'Jun 1-3 2012', 919);&lt;br /&gt;
addLocation(43.721056,-121.291552, 'Campfire Tails', 'campfiretails.com', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '', 'Aug 2-6 2012', 100);&lt;br /&gt;
addLocation(38.9439, -95.3385, 'Central Midwest Furmeet', 'cmfurmeet.webs.com', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 14-16 2012', 22);&lt;br /&gt;
addLocation(50.176635,  14.355700, 'ČeSFuR', 'www.cesfur.org', 'Hotel Vltava&amp;lt;br&amp;gt;250 68 Rez u Prahy&amp;lt;br&amp;gt;Czech Republic', '+420 220 940 759', 'Jul 5-8 2012', 86);&lt;br /&gt;
addLocation(50.94149, 6.94651, 'Cologne Furdance', 'www.cologne-cfd.de', 'Zeughaus24, Zeughausstraße 24, 50667 Köln, Germany', '', 'Nov 10 2012'); //Colonge Fur-Dance, Germany, June/November&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Jul 27-29 2012', 251);&lt;br /&gt;
addLocation(53.415679,	-2.247281, 'ConFuzzled', 'confuzzled.org.uk', 'Britannia Country House Hotel&amp;lt;br&amp;gt;Palatine Road&amp;lt;br&amp;gt;Didsbury&amp;lt;br&amp;gt;Manchester M20 2WG&amp;lt;br&amp;gt;England', 'N/A', 'May 25-28 2012', 725);&lt;br /&gt;
addLocation(41.80347,-88.120222, 'Duckon', 'www.duckon.org', 'Naperville Holiday Inn Select&amp;lt;br&amp;gt;1801 Naper Blvd&amp;lt;br&amp;gt;Naperville, IL 60563&amp;lt;br&amp;gt;United States', '', 'Jun 1-3 2012');&lt;br /&gt;
addLocation(51.283333, 11.566667, 'EAST', 'www.east-con.de.vu', '', '', 'Sep 27-30');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'ele.furryhost.com', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee, FL 34747, United States','', &amp;quot;Year-round&amp;quot;, 215);//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
addLocation(50.616714,  10.723858, 'Eurofurence', 'eurofurence.org', 'Ringberg Resort Hotel&amp;lt;br&amp;gt;Ringberg 10&amp;lt;br&amp;gt;D-98527 Suhl&amp;lt;br&amp;gt;Germany', '+49 36 81/3 89-0', 'Aug 29-Sep 2 2012', 1066);&lt;br /&gt;
addLocation(40.703546, -74.184279, 'FA: United', 'faunited.org', 'Hanover Marriott&amp;lt;br&amp;gt;1401 Rt 10 E&amp;lt;br&amp;gt;Whippany, NJ 07981&amp;lt;br&amp;gt;USA', '+1 (973) 538 8811 ', 'Aug 17-19 2012', 531);&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 24-28 2012', 94);&lt;br /&gt;
addLocation(62.02209, 30.0185, 'FinFur', 'ffsc.finfur.net', '', '', 'Jul 11-15 2012');&lt;br /&gt;
addLocation(-38.625454,176.090927, 'FurcoNZ', 'www.furconz.org.nz', 'Kiwanis and Huia Lodges, Huia&amp;lt;b&amp;gt;Waitakere Ranges Regional Park&amp;lt;br&amp;gt;Auckland&amp;lt;br&amp;gt;New Zealand', '', 'Dec 14-17 2012', 50);&lt;br /&gt;
addLocation(-28.00041, 153.4264, 'FurDU', 'www.furrydownunder.com', 'Vibe Hotel Gold Coast&amp;lt;br&amp;gt;42 Ferny Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'Apr 27-29 2012', 246);&lt;br /&gt;
addLocation(53.541723, -113.625262, 'Fur-eh!', 'fureh.ca', 'Hilton Garden Inn&amp;lt;br&amp;gt;17610 Stony Plain Road&amp;lt;br&amp;gt;Edmonton, Alberta, T5S 1A2&amp;lt;br&amp;gt;Canada', '+1 (780) 443-2233', 'May 4-6 2012', 200);&lt;br /&gt;
addLocation(41.542706, -72.970258, 'FurFright', 'furfright.org', 'Crowne Plaza Cromwell&amp;lt;br&amp;gt;100 Berlin Road&amp;lt;br&amp;gt;Cromwell, CT 06416&amp;lt;br&amp;gt;USA', '+1 (888) 233-9527', 'Oct 26-28 2012', 1485);&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'www.furjam.org', ' Forresters Hotel&amp;lt;br&amp;gt;336 Riley Street&amp;lt;br&amp;gt;Surry Hills NSW 2010&amp;lt;br&amp;gt;Australia', '(02) 9212 3035', 'Oct 7-9 2012');&lt;br /&gt;
addLocation(39.983333, -82.983333, 'Furlaxation', 'furlaxation.org', 'Columbus, Ohio', '', 'Sep 28-30 2012');&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'www.furhold.org/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 29 2011', 148);&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Sheraton Toronto Airport Hotel &amp;amp; Conference Centre&amp;lt;br&amp;gt;801 Dixon Road&amp;lt;br&amp;gt;Toronto, ON M9W 1J3&amp;lt;br&amp;gt;Canada', '+1 (416) 675-6100', 'Mar 8-10 2013', 651);&lt;br /&gt;
addLocation(42.441891, -83.434789, 'Furry Connection North', 'furryconnectionnorth.com', 'Shearton Detroit Novi&amp;lt;br&amp;gt;21111 Haggerty Road&amp;lt;br&amp;gt;Novi, Michigan 48375&amp;lt;br&amp;gt;USA', '+1 (248) 349-4000', 'Apr 13-15 2012', 1179);&lt;br /&gt;
addLocation(28.401971, -80.618792, 'Furry Cruise', 'www.furrycruise.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Freedom of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Port Canaveral, Florida&amp;lt;br&amp;gt;USA', '+1 (734) 340-4553', 'Dec 2-7 2012', 24);&lt;br /&gt;
addLocation(32.9455, -96.8398, 'Furry Fiesta', 'www.furryfiesta.org', 'Crowne Plaza Hotel&amp;lt;br&amp;gt;14315 Midway Road&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA','+1 (972) 980-8877', 'Feb 22-24 2013', 1210);&lt;br /&gt;
addLocation(33.626091, -84.451776, 'Furry Weekend Atlanta', 'furryweekend.com', 'Westin Peachtree Plaza&amp;lt;br&amp;gt;210 Peachtree St&amp;lt;br&amp;gt;Atlanta, GA 30303&amp;lt;br&amp;gt;USA', '+1 (404) 659-1400', 'Mar 14-17 2012', 1902);&lt;br /&gt;
addLocation(51.40328, 5.95940, 'Furs on Fire', 'www.fursonfire.eu', 'Evertsoord, The Netherlands', '', 'Dec 29-Jan 1 2013');&lt;br /&gt;
addLocation(52.588333, 14.65, 'Furstock', 'www.polfurs.org', '', '', 'Aug 4-6 2011');&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'Jul 2012?');&lt;br /&gt;
addLocation(37.330294,-121.888375, 'Further Confusion', 'furtherconfusion.org', 'San Jose Mariott&amp;lt;br&amp;gt;301 South Market Street&amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 408-280-1300', 'Jan 17-21 2013', 3021);&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'furthestnorth.ca', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Aug 3-6 2012', 63);&lt;br /&gt;
addLocation(51.93180, 19.407, 'Futrzakon', 'www.futrzakon.org', 'Municipal Cultural Center&amp;lt;br&amp;gt;95-001 Dzierżązna&amp;lt;br&amp;gt;Poland', '42 717 84 66', 'Aug 8-11 2012', 67);&lt;br /&gt;
addLocation(47.35016, 7.76123, 'Golden Leaves Con', 'glc.furry.ch', 'Baselbieter Chinderhus&amp;lt;br&amp;gt;Bachtalenstrasse 10&amp;lt;br&amp;gt;4438 Langenbruck&amp;lt;br&amp;gt;Switzerland', '062 390 12 24', 'Nov 15-18 2012');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '030-261030-0', 'Oct 11-14 2012', 20);//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Oct 3-7 2012');&lt;br /&gt;
addLocation(49.26716,-123.010021, 'Howloween', 'howloween.org', 'Burnaby Executive Hotel&amp;lt;br&amp;gt;4201 Lougheed Highway&amp;lt;br&amp;gt;Burnaby, BC&amp;lt;br&amp;gt;Canada', '', 'Nov 5-6 2011', 151);&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Sheraton at Keystone Crossing&amp;lt;br&amp;gt;8787 Keystone Crossing&amp;lt;br&amp;gt;Indianapolis, IN 46240&amp;lt;br&amp;gt;USA', '+1 (317) 846-2700', 'Aug 10-12 2012', 369);&lt;br /&gt;
addLocation(35.694742, 139.816679, 'Kemocon', 'www.kemocon.com', 'Sumida Industrial Centre&amp;lt;br&amp;gt;〒130-0022&amp;lt;br&amp;gt;Sumida, Tokyo&amp;lt;br&amp;gt;Japan', '', 'Nov 19 2011', 400);&lt;br /&gt;
addLocation(47.336284,  12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Aug 8-11 2012', 20);&lt;br /&gt;
addLocation(28.333938, -81.587638, 'Megaplex', 'megaplexcon.org', 'Worldgate Resort Hotel&amp;lt;br&amp;gt;3011 Maingate Lane&amp;lt;br&amp;gt;Kissimmee, FL 34747-2302&amp;lt;br&amp;gt;USA', '+1 (866) 705-7676', 'Jul 27-29 2012', 553);&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Aug 31-Sep 2 2012', 546);&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May 9-12 2013', 200);&lt;br /&gt;
addLocation(-37.80541, 144.963291, 'MiDFur', 'www.midfur.com.au', 'Arrow on Swanston&amp;lt;br&amp;gt;488 Swanston Street&amp;lt;br&amp;gt;Carlton, VIC&amp;lt;br&amp;gt;Australia', '(613) 9225 9000', 'Dec 4-8 2012', 372);&lt;br /&gt;
addLocation(41.981284, -87.859078, 'Midwest FurFest', 'furfest.org', &amp;quot;Hyatt Regency O'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA&amp;quot;, '+1 (847) 696-1234', 'Nov 16-18 2012', 2600);&lt;br /&gt;
addLocation(40.105846, -83.017244, 'Morphicon', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 3-6 2012', 275);&lt;br /&gt;
addLocation(39.65924 , -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 30-Jan 1 2011', 146) // Was replaced by Furstivus in 2012, but planned to resume for 2013&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 17-22 2012', 300);&lt;br /&gt;
addLocation(-31.952222, 115.858889, 'Perthfur Gathering', 'gathering.perthfurs.net', 'Perth, Western Australia', '', 'Aug 13 2011', 76);//&amp;quot;3rd qtr, 2010&amp;quot;&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', 'Hilton Seattle Airport&amp;lt;br&amp;gt;17620 International Boulevard&amp;lt;br&amp;gt;Seattle, WA 98188&amp;lt;br&amp;gt;USA', '+1 (206) 244-4800', 'Sep 27-30 2012', 1424);&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'Jun 29-Jul 2 2012', 50);&lt;br /&gt;
addLocation(34.6701,  -86.577759, 'Rocket City FurMeet', 'rcfm.net', 'Hilton Garden Inn Huntsville South&amp;lt;br&amp;gt;301 Boulevard South SW&amp;lt;br&amp;gt;Huntsville, Alabama 35802&amp;lt;br&amp;gt;USA', '+1 (256) 881-4170', 'May 25-27 2012', 302);&lt;br /&gt;
addLocation(39.762235,-104.900293, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Doubletree Hotel Denver&amp;lt;br&amp;gt;3203 Quebec Street&amp;lt;br&amp;gt;Denver, Colorado 80207&amp;lt;br&amp;gt;USA', '+1 (303) 321-3333', 'Aug 10-12 2012', 643);&lt;br /&gt;
addLocation(55.734529,  36.882262, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Звенигородский&amp;quot; (RAS &amp;quot;Zvenigorodsky&amp;quot;)&amp;lt;br&amp;gt;Звенигород (Zvenigorod), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Jan 31-Feb 5 2012', 190);&lt;br /&gt;
addLocation(57.478307, -4.22672, 'ScotiaCon', 'www.scotiacon.com', 'Mercure Inverness Hotel&amp;lt;br&amp;gt;Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Jul 27-30 2012', 123);&lt;br /&gt;
addLocation(-33.932, 25.571, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=1330', '', '', 'Dec 2012?');&lt;br /&gt;
addLocation(49.266323,-123.011509, 'VancouFur', 'vancoufur.ca', 'Executive Hotel &amp;amp; Conference Centre Burnaby&amp;lt;br&amp;gt;4201 Lougheed Hwy&amp;lt;br&amp;gt;Burnaby, British Columbia, V5C 3Y6&amp;lt;br&amp;gt;Canada', '', 'Mar 9–11 2012');//check date, no clue for 2013&lt;br /&gt;
addLocation(45.493191,-73.5736397, 'What The Fur', 'whatthefur.ca', 'The Days Hotel &amp;amp; Conference Centre of Montreal&amp;lt;br&amp;gt;1005 rue Guy, Montréal, QC H3H 2K4, Canada', '514-938-4611', 'May 2013?', 282);&lt;br /&gt;
addLocation(40.538786, -79.830565, 'Western Pennsylvania Furry Weekend', 'wpafw.org', 'Quality Inn Pittsburgh North&amp;lt;br&amp;gt;2801 Freeport Road&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15238&amp;lt;br&amp;gt;USA', '+1 (412) 828-9400', 'Sep 28-30 2012', 116);&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 25-29 2013', 122);&lt;br /&gt;
addLocation(50.456309, 30.504819, 'WUFF', 'furry.org.ua/index.php?page=meetings', 'Kiev, Ukraine', '', 'April 28-May 2 2012', 164)&lt;br /&gt;
addLocation(47.405582,  12.040372, 'Zillercon', '', 'Wildschönau, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 21-28 2012', 40);&lt;br /&gt;
addLocation(50.773040,  15.311701, 'ZodiaCon', 'zodiacon.org', 'Hotel Emilka&amp;lt;br&amp;gt;Na Novině 401&amp;lt;br&amp;gt;468 61 Desná III&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 2012?');&lt;br /&gt;
&lt;br /&gt;
// convert textual dates to numbers for sorting.&lt;br /&gt;
for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	meet.datev=(v=getmonthvalue(meet.date))?v:3000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds or rearranges meets in the side bar.&lt;br /&gt;
function refresh(f){&lt;br /&gt;
	for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
		addLocation1(meet, f);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// comparison functions, those decide the order meetups are listed&lt;br /&gt;
function compare_name(a, b){&lt;br /&gt;
	return a.name?(b.name?a.name.localeCompare(b.name):-1):1;&lt;br /&gt;
}&lt;br /&gt;
function compare_date(a,b){&lt;br /&gt;
	var d = a.datev - b.datev;&lt;br /&gt;
	return (d == 0)? compare_name(a, b) : d;&lt;br /&gt;
}&lt;br /&gt;
function compare_attendence(a,b){&lt;br /&gt;
	if (a.attendence){&lt;br /&gt;
		if (b.attendence){&lt;br /&gt;
			return b.attendence - a.attendence;&lt;br /&gt;
		} else {&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if (b.attendence){&lt;br /&gt;
			return 1;&lt;br /&gt;
		} else {&lt;br /&gt;
			return compare_name(a,b);&lt;br /&gt;
		}		&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
// assigning functionality to sort buttons&lt;br /&gt;
document.getElementById(&amp;quot;bydate&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_date);&lt;br /&gt;
	refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byname&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_name);&lt;br /&gt;
	refresh();&lt;br /&gt;
	}&lt;br /&gt;
document.getElementById(&amp;quot;byattendence&amp;quot;).onclick=function(){&lt;br /&gt;
	meets.sort(compare_attendence);&lt;br /&gt;
	refresh(function (meet){return meet.name + (meet.attendence?&amp;quot; (&amp;quot;+meet.attendence+&amp;quot;)&amp;quot;:&amp;quot;&amp;quot;);});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
meets.sort(function (a,b){&lt;br /&gt;
	return a.datev - b.datev;&lt;br /&gt;
	})&lt;br /&gt;
refresh(function(meet){return meet.date?(meet.date + &amp;quot; &amp;quot; + meet.name):meet.name;});&lt;br /&gt;
&lt;br /&gt;
// add drop-down options&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;All events (&amp;quot;+count+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_ALL;&lt;br /&gt;
opt.selected=true;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;North America (&amp;quot;+count_na+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_NA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Europe (&amp;quot;+count_eu+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_EU;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Oceania (&amp;quot;+count_oceania+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OCEANIA;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
opt.innerHTML = &amp;quot;Rest of the World (&amp;quot;+count_others+&amp;quot;)&amp;quot;;&lt;br /&gt;
opt.value = FILT_OTHERS;&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).appendChild(opt);&lt;br /&gt;
&lt;br /&gt;
document.getElementById(&amp;quot;filter&amp;quot;).onchange = function(){&lt;br /&gt;
    opts = document.getElementById(&amp;quot;filter&amp;quot;).firstChild;&lt;br /&gt;
    selection = 0;&lt;br /&gt;
    while(opts != null){&lt;br /&gt;
        if (opts.selected) {&lt;br /&gt;
            selection = opts.value;&lt;br /&gt;
        }&lt;br /&gt;
        opts = opts.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    filter_func = null;&lt;br /&gt;
    switch(Number(selection)){&lt;br /&gt;
        case FILT_NA:&lt;br /&gt;
            filter_func = is_in_na; break;&lt;br /&gt;
        case FILT_EU:&lt;br /&gt;
            filter_func = is_in_eu; break;&lt;br /&gt;
        case FILT_OCEANIA:&lt;br /&gt;
            filter_func = is_in_oceania; break;&lt;br /&gt;
        case FILT_OTHERS:&lt;br /&gt;
            filter_func = function(lat, lng){&lt;br /&gt;
                return !(is_in_na(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_eu(lat, lng)) &amp;amp;&amp;amp; &lt;br /&gt;
                            !(is_in_oceania(lat, lng))&lt;br /&gt;
                ;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        case FILT_ALL:&lt;br /&gt;
        default:&lt;br /&gt;
            filter_func = function(lat, lng){return true;}&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds = null;&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
&lt;br /&gt;
        //only show those that pass filter_func&lt;br /&gt;
        visible = filter_func(meet.lat, meet.lng);&lt;br /&gt;
        meet.marker.setVisible(visible);&lt;br /&gt;
        meet.li.style.display = visible ? &amp;quot;&amp;quot;: &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (visible) {&lt;br /&gt;
            if (bounds){&lt;br /&gt;
                bounds.extend(meet.marker.getPosition());&lt;br /&gt;
            } else {&lt;br /&gt;
            pos = meet.marker.getPosition();&lt;br /&gt;
            bounds = new google.maps.LatLngBounds(pos, pos);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (bounds) {map.fitBounds(bounds);} //zoom to include in the viewport all markers if there are any&lt;br /&gt;
}&lt;br /&gt;
} //if (true)&lt;br /&gt;
footnote = document.createElement(&amp;quot;p&amp;quot;);&lt;br /&gt;
footnote.innerHTML = '&amp;lt;a href=&amp;quot;//pool.wikifur.com/w/index.php?title=Convention_map_script&amp;amp;action=edit&amp;quot;&amp;gt;Edit data on WikiFur&amp;lt;/a&amp;gt; or &amp;lt;a href=&amp;quot;//pool.wikifur.com/wiki/Talk:Convention_map_script&amp;quot;&amp;gt;discuss&amp;lt;/a&amp;gt;';&lt;br /&gt;
document.getElementById(&amp;quot;side&amp;quot;).appendChild(footnote);&lt;br /&gt;
} //load()&lt;br /&gt;
&lt;br /&gt;
// convert textual dates into numbers for sorting&lt;br /&gt;
// Might benefit from also parsing years.&lt;br /&gt;
function getmonthvalue(s){&lt;br /&gt;
	if (!s) {return 4001;}&lt;br /&gt;
&lt;br /&gt;
	//automatically generate these for i18n and l10n extensibility?&lt;br /&gt;
	x = /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)(?: )?([0-9]*)/.exec(s);&lt;br /&gt;
	if (!x || !x[1]) return 4000;&lt;br /&gt;
	day = (v=parseInt(x[2]))?v:0;&lt;br /&gt;
	if (day &amp;gt; 1980) {day = 40;}&lt;br /&gt;
	switch (x[1]){&lt;br /&gt;
		case &amp;quot;Jan&amp;quot;: month = 1; break;&lt;br /&gt;
		case &amp;quot;Feb&amp;quot;: month = 2; break;&lt;br /&gt;
		case &amp;quot;Mar&amp;quot;: month = 3; break;&lt;br /&gt;
		case &amp;quot;Apr&amp;quot;: month = 4; break;&lt;br /&gt;
		case &amp;quot;May&amp;quot;: month = 5; break;&lt;br /&gt;
		case &amp;quot;Jun&amp;quot;: month = 6; break;&lt;br /&gt;
		case &amp;quot;Jul&amp;quot;: month = 7; break;&lt;br /&gt;
		case &amp;quot;Aug&amp;quot;: month = 8; break;&lt;br /&gt;
		case &amp;quot;Sep&amp;quot;: month = 9; break;&lt;br /&gt;
		case &amp;quot;Oct&amp;quot;: month = 10; break;&lt;br /&gt;
		case &amp;quot;Nov&amp;quot;: month = 11; break;&lt;br /&gt;
		case &amp;quot;Dec&amp;quot;: month = 12; break;&lt;br /&gt;
		default:	month = 20;&lt;br /&gt;
	}//switch&lt;br /&gt;
	return month * 100 + day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//returns the text to be displayed in info window&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date, attendence) {&lt;br /&gt;
  return '&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;http://en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + &lt;br /&gt;
	(url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;/p&amp;gt;&amp;lt;p class=&amp;quot;smaller&amp;quot;&amp;gt;' +&lt;br /&gt;
	address +&lt;br /&gt;
	 (tel?&lt;br /&gt;
		('&amp;lt;br&amp;gt;Phone: ' + &lt;br /&gt;
			(is_phone? &lt;br /&gt;
				('&amp;lt;a href=&amp;quot;tel:' + tel.replace(/\s/g, &amp;quot;&amp;quot;) + '&amp;quot;&amp;gt;' + tel + '&amp;lt;/a&amp;gt;')&lt;br /&gt;
				:tel))&lt;br /&gt;
		:'') + &lt;br /&gt;
&lt;br /&gt;
	(date?'&amp;lt;br&amp;gt;'+date:'') +&lt;br /&gt;
	(attendence? &amp;quot; Past atnd. &amp;quot;+ attendence:&amp;quot;&amp;quot;) +&lt;br /&gt;
	&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date, attendence){&lt;br /&gt;
meets.push({&amp;quot;lat&amp;quot;:lat, 'lng': lng, 'name':name, 'url': url, 'address': address, 'tel': tel, 'date':date, 'attendence': attendence});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//this is called to add markers as well as to sort markers.&lt;br /&gt;
//this takes advantage of the fact that when adding a child to a DOM node, if the child is already in the document, it is removed from its original location first.&lt;br /&gt;
//lat, lng, name, url, address, tel, date&lt;br /&gt;
function addLocation1(a, f) {&lt;br /&gt;
    if (!f) {f = function(meet){return meet.date? (meet.name + &amp;quot; &amp;quot; + meet.date) : meet.name;}};&lt;br /&gt;
    if (!a.marker || !a.li){&lt;br /&gt;
&lt;br /&gt;
        //make the marker&lt;br /&gt;
        markerOpts = {&lt;br /&gt;
            position: new google.maps.LatLng(a.lat, a.lng),&lt;br /&gt;
            map: map,&lt;br /&gt;
            title: name&lt;br /&gt;
        }&lt;br /&gt;
        a.marker = new google.maps.Marker(markerOpts);&lt;br /&gt;
        fn =  function() {&lt;br /&gt;
            infoWindow.setContent(getLocationHTML(a.name, a.url, a.address, a.tel, a.date, a.attendence));&lt;br /&gt;
            infoWindow.open(map, a.marker);&lt;br /&gt;
        }&lt;br /&gt;
        google.maps.event.addListener(a.marker, &amp;quot;click&amp;quot;,fn);&lt;br /&gt;
        &lt;br /&gt;
        link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
        link.innerHTML = f(a);&lt;br /&gt;
	    link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
        link.onclick = fn;&lt;br /&gt;
        &lt;br /&gt;
        //clean up this on unload!&lt;br /&gt;
        a.li = document.createElement(&amp;quot;LI&amp;quot;);&lt;br /&gt;
        a.li.appendChild(link);&lt;br /&gt;
&lt;br /&gt;
        count++;&lt;br /&gt;
        if      (is_in_na(a.lat, a.lng)){&lt;br /&gt;
            count_na++;&lt;br /&gt;
        } else if (is_in_eu(a.lat, a.lng)) {&lt;br /&gt;
            count_eu++;&lt;br /&gt;
        } else if (is_in_oceania(a.lat, a.lng)){&lt;br /&gt;
            count_oceania ++;&lt;br /&gt;
        } else {&lt;br /&gt;
            count_others ++;&lt;br /&gt;
        }&lt;br /&gt;
    } else {&lt;br /&gt;
        //only change the label text&lt;br /&gt;
        a.li.firstChild.innerHTML = f(a);&lt;br /&gt;
    }&lt;br /&gt;
          //(re)insert the item into list&lt;br /&gt;
          document.getElementById(&amp;quot;list&amp;quot;).appendChild(a.li);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unload(){&lt;br /&gt;
    for(var i = 0, meet; meet = meets[i]; i++){&lt;br /&gt;
	    meet.marker=null;&lt;br /&gt;
	    meet.li=null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2011-07-15T12:28:58Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Added 9 events, updated dates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://greenreaper.co.uk/wikifur/ConventionMap.html map of active conventions]. &amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
function load() {&lt;br /&gt;
 if (GBrowserIsCompatible()) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
map = new GMap2(mapNode);&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
map.setCenter(new GLatLng(30, -40), 3, G_HYBRID_MAP);&lt;br /&gt;
map.addControl(new GLargeMapControl());&lt;br /&gt;
map.addControl(new GMapTypeControl());&lt;br /&gt;
&lt;br /&gt;
map.enableDoubleClickZoom();&lt;br /&gt;
map.enableContinuousZoom();&lt;br /&gt;
map.enableScrollWheelZoom();&lt;br /&gt;
 &lt;br /&gt;
// Add map points&lt;br /&gt;
addLocation(-23.541248,-47.090321, 'Abando', 'abando.org', 'São Roque, São Paulo&amp;lt;br&amp;gt;Brazil', '', 'Feb 18-21');&lt;br /&gt;
addLocation(47.656832,-117.419643, 'All Fur Fun', 'allfurfun.com', 'Westcoast Ridpath Hotel&amp;lt;br&amp;gt;515 W Sprague Avenue&amp;lt;br&amp;gt; Spokane 99204&amp;lt;br&amp;gt;USA', '+1 (877) 209-8635', ''); //'May 15-17, 2009', Inactive in 2010&lt;br /&gt;
//addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina', '');&lt;br /&gt;
addLocation(33.944791,-118.373807, 'Antheria', 'www.antheria.org', 'The Westin Los Angeles Airport&amp;lt;br&amp;gt;5400 West Century Boulevard&amp;lt;br&amp;gt;Los Angeles, CA 90045', '+1 (310) 216-5858', 'Sep 30-Oct 2');&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jun 21-24');&lt;br /&gt;
//Anthrotomne, France, Late October, no clue for 2010&lt;br /&gt;
//BC Fur BQ, domain squatted&lt;br /&gt;
//We do have lots of furries in Ottawa, but getting a con running takes more than just furries.&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'http://www.berlicon.org/', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 2012?');&lt;br /&gt;
addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', '');&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'Jun 2012?');&lt;br /&gt;
//addLocation(32.71025 ,-117.161744, 'Califur Diego', 'califur.com', 'Horton Grand Hotel&amp;lt;br&amp;gt;311 Island Ave&amp;lt;br&amp;gt;San Diego, California 92101&amp;lt;br&amp;gt;USA', '+1 (619) 544-1886');//not sure if they still hold it&lt;br /&gt;
addLocation(43.721056,-121.291552, 'Campfire Tails', 'campfiretails.com', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', 'Aug 4-8', 'Aug 4-8');&lt;br /&gt;
addLocation(38.9439, -95.3385, 'Central Midwest Furmeet', 'http://cmfurmeet.webs.com/', ' Bloomington West Group Camp at Clinton Lake near Lawrence, Kansas', '', 'Sep 9-11');&lt;br /&gt;
addLocation(50.176635,  14.355700, 'ČeSFuR', 'www.cesfur.org', 'Hotel Vltava&amp;lt;br&amp;gt;250 68 Rez u Prahy&amp;lt;br&amp;gt;Czech Republic', '+420 220 940 759', 'Jul 14-17');//&lt;br /&gt;
addLocation(50.94149, 6.94651, 'Cologne Furdance', 'http://www.cologne-cfd.de/', 'Zeughaus24, Zeughausstraße 24, 50667 Köln, Germany', 'Jun 2012?', 'Jun 2012?');//&lt;br /&gt;
//Colonge Fur-Dance, Germany, June/November, no clue for 2010&lt;br /&gt;
addLocation(46.973664,8.616457, 'CH-on', 'con.swissfurs.ch', '', '', 'Jun 2012?');&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Jul 22-24');&lt;br /&gt;
addLocation(53.415679,    -2.247281, 'ConFuzzled', 'confuzzled.org.uk', 'Britannia Country House Hotel&amp;lt;br&amp;gt;Palatine Road&amp;lt;br&amp;gt;Didsbury&amp;lt;br&amp;gt;Manchester M20 2WG&amp;lt;br&amp;gt;England', 'N/A', 'May 2012?');&lt;br /&gt;
//addLocation(50.964684,-114.069307, 'ConWild', 'nlwolf.com/calfur.html', 'Best Western Hospitality Inn&amp;lt;br&amp;gt;135 Southland Drive SE&amp;lt;br&amp;gt;Calgary, Alberta T2J 5X5&amp;lt;br&amp;gt;Canada', '+1 (403) 278-5050');//unlikely to be held again&lt;br /&gt;
addLocation(41.80347,-88.120222, 'Duckon', 'www.duckon.org', 'Naperville Holiday Inn Select&amp;lt;br&amp;gt;1801 Naper Blvd&amp;lt;br&amp;gt;Naperville, IL 60563&amp;lt;br&amp;gt;United States', '', 'Jun 2012?');&lt;br /&gt;
addLocation(51.283333, 11.566667, 'EAST', 'http://www.east-con.de.vu/', '', '', 'Sep 8-11');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'http://ele.furryhost.com/', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee FL 34747, United States');//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
//Eufuria, Denmark, June - Cancelled for 2010&lt;br /&gt;
addLocation(50.616714,  10.723858, 'Eurofurence', 'eurofurence.org', 'Ringberg Resort Hotel&amp;lt;br&amp;gt;Ringberg 10&amp;lt;br&amp;gt;D-98527 Suhl&amp;lt;br&amp;gt;Germany', '+49 36 81/3 89-0', 'Aug 17-21');&lt;br /&gt;
addLocation(40.703546, -74.184279, 'FA: United', 'faunited.com', 'Ramada Inn - Newark Airport&amp;lt;br&amp;gt;550 Route 1 South&amp;lt;br&amp;gt;Newark, New Jersey, 07114&amp;lt;br&amp;gt;USA', '+1 (973) 824-4000', 'May 2012?');&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Aug 31-Sep 4');&lt;br /&gt;
//Fhursky, France Alps (45.5049, 6.7006), early Jan, no clue for 2011&lt;br /&gt;
//addLocation(62.02209, 30.0185, 'FinFur', 'http://ffsc.finfur.net/', '', '', 'Jul 2012?');&lt;br /&gt;
&lt;br /&gt;
addLocation(43.087839, -77.616139, 'FOXmas', 'foxmas.com', 'Holiday Inn Hotel &amp;amp; Suites&amp;lt;br&amp;gt;800 Jefferson Road&amp;lt;br&amp;gt;Rochester, NY 14623&amp;lt;br&amp;gt;USA', '+1 (585) 475-9190',''); //in planning&lt;br /&gt;
//addLocation(38.105116, -78.196993, 'Fur Camping Con', 'furries.meetup.com/286/?gj=sj3', 'Fur Camping Con&amp;lt;br&amp;gt;Gordonsville, Virginia 22942&amp;lt;br&amp;gt;USA', '', '');//last activity was 2008&lt;br /&gt;
addLocation(-38.625454,176.090927, 'FurcoNZ', 'www.furconz.org.nz', 'Wairakei, Waikato&amp;lt;br&amp;gt;New Zealand', '', 'Dec 9-12'); //&lt;br /&gt;
addLocation(-28.00041, 153.4264, 'FurDU', 'www.furrydownunder.com', 'vibe hotel gold coast&amp;lt;br&amp;gt;42 Ferny Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'Apr 27-29');&lt;br /&gt;
addLocation(53.52285, -113.62475, 'Fur-eh!', 'http://fureh.ca/', '', '', 'May 2012?');&lt;br /&gt;
addLocation(41.542706, -72.970258, 'FurFright', 'furfright.org', 'Connecticut Grand Hotel&amp;lt;br&amp;gt;3580 East Main Street&amp;lt;br&amp;gt;Waterbury, CT 06705&amp;lt;br&amp;gt;USA', '+1 (203) 706-1000', 'Oct 14-16');&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'http://www.furjam.org/', 'Sydney, Australia', '', 'Sep 30-Oct 2');&lt;br /&gt;
addLocation(-39.983333, -82.983333, 'Furlaxation', 'http://furlaxation.org/', '', '', 'Sept 14-16 2012');&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', '//www.furhold.org/furloween/', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', 'Oct 29'); //late october, no clue for 2010&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Doubletree by Hilton Toronto Airport‎&amp;lt;br&amp;gt;33 Carlson Ct&amp;lt;br&amp;gt;Toronto, ON M9W&amp;lt;br&amp;gt;Canada‎', '+1 (800) 668-3656‎', 'Mar 16-18');&lt;br /&gt;
//Furnival late july, may not be held 2010, NE Ohio&lt;br /&gt;
addLocation(59.379824,  13.515136, 'FurryCon', 'furrycon.se', 'Verkstadsgatan 1&amp;lt;br&amp;gt;65219 Karlstad&amp;lt;br&amp;gt;Sweden', '‎', ''); //Was held mid-September 2009, no clue for 2010&lt;br /&gt;
addLocation(42.441891, -83.434789, 'Furry Connection North', 'furryconnect.com', 'Shearton Detroit Novi&amp;lt;br&amp;gt;21111 Haggerty Road&amp;lt;br&amp;gt;Novi, Michigan 48375&amp;lt;br&amp;gt;USA', '+1 (248) 349-4000', 'Apr 6-8');//&lt;br /&gt;
addLocation(26.121997, -80.143375, 'Furry Cruise', 'furrycruise.livejournal.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Monarch of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Fort Lauderdale, Florida&amp;lt;br&amp;gt;USA', '+1 (800) 542 3895', 'Dec 5-10');&lt;br /&gt;
addLocation(32.9455, -96.8398, 'Furry Fiesta', 'www.furryfiesta.org', 'Crowne Plaza Hotel&amp;lt;br&amp;gt;14315 Midway Road&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA','+1 (972) 980-8877', 'Feb 24-26');&lt;br /&gt;
addLocation(33.626091, -84.451776, 'Furry Weekend Atlanta', 'furryweekend.com', 'Sheraton Gateway Hotel&amp;lt;br&amp;gt;1900 Sullivan Road&amp;lt;br&amp;gt;Atlanta, Georgia 30337&amp;lt;br&amp;gt;USA', '+1 (770) 997-1100', 'Mar 15-18');&lt;br /&gt;
addLocation(51.40328, 5.95940, 'Furs on Fire', 'http://www.fursonfire.eu/', 'Evertsoord, The Netherlands', '', 'Dec 30-Jan 1');&lt;br /&gt;
addLocation(52.588333, 14.65, 'Furstock', 'www.polfurs.org', '', '', 'Aug 4-6');&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'Jul 2012?');&lt;br /&gt;
addLocation(37.333065,-121.889043, 'Further Confusion', 'furtherconfusion.org', 'Fairmont San Jose&amp;lt;br&amp;gt;170 South Market Street &amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 (866) 540-4493 ', 'Jan 12-16');&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'fn.boarral.com', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229', 'Sep 2-5');//Winter:February 12-15 Summer: July 30-August 2&lt;br /&gt;
addLocation(51.93180, 19.407, 'Futrzakon', 'http://www.futrzakon.org/', 'Dzierżązna', 'Aug 10-13', 'Aug 10-13');//Futrzakon needs location.&lt;br /&gt;
addLocation(47.35016, 7.76123, 'Golden Leaves Con', 'http://glc.furry.ch/', 'Baselbieter Chinderhus &amp;lt;br&amp;gt;Bachtalenstrasse 10 &amp;lt;br&amp;gt;4438 Langenbruck ', '', 'Nov 3-6');//&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '030-261030-0', '');//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', '');// not on list&lt;br /&gt;
addLocation(49.181619,-122.845057, 'Howloween', 'howloween.org', 'Compass Point Inn&amp;lt;br&amp;gt;9850 King George Highway&amp;lt;br&amp;gt;Surrey, British Columbia, V3T 4Y3&amp;lt;br&amp;gt;Canada', '+1 (604) 588-9511 ', 'Nov 2011?');//Early November, no clue for 2010&lt;br /&gt;
addLocation(40.78834,-73.111954, 'I-CON', 'www.iconsf.org', 'Holiday Inn Ronkonkoma&amp;lt;br&amp;gt;3845 Veterans Memorial Highway&amp;lt;br&amp;gt;Ronkonkoma, NY 11779', '(631) 585-9500', 'Apr 2012?');&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Hilton Indianapolis North&amp;lt;br&amp;gt;8181 North Shadeland Ave&amp;lt;br&amp;gt;Indianapolis, Indiana 46250&amp;lt;br&amp;gt;USA', '+1 (317) 849-6668', 'Aug 12-14');&lt;br /&gt;
//Kemocon would be here, reuse TransFur entry&lt;br /&gt;
addLocation(35.535284, 139.701167, 'Kemocon', 'www.kemocon.com', 'Exhibition Room 4F&amp;lt;br&amp;gt;Kawasaki City Industrial Promotion Hall&amp;lt;br&amp;gt;66-20, horikawa-cho&amp;lt;br&amp;gt;Saiwaiku, Kawasaki-city, Kanagawa, Japan', '', 'Nov 2011?');//〒212-0013 is the postal code (It has the postal code 〒-symbol) no clue for 2010; &lt;br /&gt;
addLocation(47.336284,  12.855555, 'Lakeside Furs', 'lakesidefurs.at', 'Zell am See&amp;lt;br&amp;gt;Talstr. 159, 5700 Thumersbach&amp;lt;br&amp;gt;Austria', '+43 (0)6542/73734', 'Jul 30-Aug 6');&lt;br /&gt;
addLocation(28.333938, -81.587638, 'Megaplex', 'megaplexcon.org', 'Radisson Worldgate Hotel&amp;lt;br&amp;gt;3011 Maingate Lane&amp;lt;br&amp;gt;Kissimmee, FL 34747-2302&amp;lt;br&amp;gt;USA', '+1 (407) 278-7073', 'Jul 29-31');&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Furmeet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Sep 2-4');&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May 17-20');&lt;br /&gt;
addLocation(-37.79461, 144.978901, 'MiDFur', 'www.midfur.com.au', 'Victoria Hotel&amp;lt;br&amp;gt;Little Collins St.&amp;lt;br&amp;gt;Melbourne, VIC&amp;lt;br&amp;gt;Australia', '+61 (03) 9669 0000', 'Jan 4-7');&lt;br /&gt;
addLocation(41.981284, -87.859078, 'Midwest FurFest', 'furfest.org', &amp;quot;Hyatt Regency O'Hare&amp;lt;br&amp;gt;9300 Bryn Mawr Avenue&amp;lt;br&amp;gt;Rosemont, Illinois 60018&amp;lt;br&amp;gt;USA&amp;quot;, '+1 (847) 696-1234', 'Nov 18-20');&lt;br /&gt;
addLocation(40.105846, -83.017244, 'Morphicon', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May 2012?');&lt;br /&gt;
addLocation(43.056362, -89.49656, 'NakamaCon', 'nakamacon.com', 'Radisson Hotel Madison&amp;lt;br&amp;gt;517 Grand Canyon Drive, Madison Wisconsin 53719&amp;lt;br&amp;gt;USA', '1-800-395-7046', 'May 27-31')&lt;br /&gt;
addLocation(39.65924 , -75.75286, 'New Year\'s Furry Ball', 'www.ticketderby.com/innerindex.php?eventid=3505', 'Embassy Suites Newark-Wilmington/South&amp;lt;br&amp;gt;854 S College Ave&amp;lt;br&amp;gt;Newark, DE 19713&amp;lt;br&amp;gt;USA', '(302) 368-8000', 'Dec 2011?')&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct 19-24');&lt;br /&gt;
addLocation(-31.952222, 115.858889, 'Perthfur Gathering', 'gathering.perthfurs.net', 'Perth, Western Australia', '', 'Aug 13');//&amp;quot;3rd qtr, 2010&amp;quot;&lt;br /&gt;
addLocation(-34.929, 138.601, 'RADFur', 'radfur.safurs.net', 'Adelaide, South Australia', '', 'Oct 2011?');&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', ' The Seattle Airport Marriott&amp;lt;br&amp;gt;3201 South 176th Street&amp;lt;br&amp;gt;Seattle, Washington 98188&amp;lt;br&amp;gt;USA', '+1 (206) 241-2000', 'Sep 22-25');&lt;br /&gt;
addLocation(51.502692,-0.023925, 'RBW', 'rbw.org.uk', 'Canary Wharf, London&amp;lt;br&amp;gt;United Kingdom', '', 'Nov 2011?'); // Not happening in 2011&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'Jul 2012?');&lt;br /&gt;
addLocation(34.729481, -86.586170, 'Rocket City FurMeet', 'rcfm.net', 'Huntsville, Alabama&amp;lt;br&amp;gt;USA', '', 'May 2012?');//&lt;br /&gt;
addLocation(39.742323,-104.99181, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Crowne Plaza Hotel&amp;lt;br&amp;gt;1450 Glenarm Place&amp;lt;br&amp;gt;Denver, Colorado 80202&amp;lt;br&amp;gt;USA', '+1 (303) 573-1450', 'Aug 12-14');&lt;br /&gt;
addLocation(55.734529,  36.882262, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Звенигородский&amp;quot; (RAS &amp;quot;Zvenigorodsky&amp;quot;)&amp;lt;br&amp;gt;Звенигород (Zvenigorod), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'Feb 7-12');&lt;br /&gt;
addLocation(57.478307, -4.22672, 'ScotiaCon', 'www.scotiacon.com', 'Church Street&amp;lt;br&amp;gt;Inverness, IV1 1QY&amp;lt;br&amp;gt;Inverness-shire, United Kingdom', '', 'Jul 15-17');&lt;br /&gt;
addLocation(-33.932, 25.571, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=938', '', '', 'Dec 10-16');&lt;br /&gt;
//addLocation(47.5, 12.016667, 'Summit', 'www.the-summit.info', 'Angerberg, Austria', '', '');&lt;br /&gt;
//addLocation(52.45, 13.566667, 'Tropicon', '', 'Köpenick, Berlin, Germany', '', '');&lt;br /&gt;
addLocation(-32.970796,-60.612774, 'UFACon', 'ufa.ahiros.com.ar/ufacon.htm', 'Centro de Expresiones Contemporáneas&amp;lt;br&amp;gt;Bajada Sgto. Cabral y el Río&amp;lt;br&amp;gt;Rosario&amp;lt;br&amp;gt;Argentina', '(0341) 480-2245 y 480-2545', 'Oct 2011?'); //check date, no clue for 2010&lt;br /&gt;
addLocation(45.493191,-73.5736397, 'What The Fur', 'whatthefur.ca', 'The Days Hotel &amp;amp; Conference Centre of Montreal&amp;lt;br&amp;gt;1005 rue Guy, Montréal, QC H3H 2K4, Canada', '514-938-4611', 'Jun 1-3');&lt;br /&gt;
addLocation(40.538786, -79.830565, 'Western Pennsylvania Furry Weekend', 'wpafw.org', 'Comfort Inn Pittsburgh North&amp;lt;br&amp;gt;2801 Freeport Road&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15238&amp;lt;br&amp;gt;USA', '+1 (412) 828-9400'); //seems to have no plan for 2010&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr 2012?');&lt;br /&gt;
addLocation(47.405582,  12.040372, 'Zillercon', 'furcon.de/#con460', 'Wildschönau, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan 2012?');&lt;br /&gt;
addLocation(50.773040,  15.311701, 'ZodiaCon', 'zodiacon.org', 'Hotel Emilka&amp;lt;br&amp;gt;Na Novině 401&amp;lt;br&amp;gt;468 61 Desná III&amp;lt;br&amp;gt;Czech Republic', '+420 483 300 335', 'May 2012?');&lt;br /&gt;
//addLocation(32.225745,-110.979466, 'ZonieCon', 'community.livejournal.com/zoniecon', 'Hotel Tucson City Center&amp;lt;br&amp;gt;475 N Granada Avenue&amp;lt;br&amp;gt;Tucson, Arizona 85701&amp;lt;br&amp;gt;USA', '+1 (888) 784 8324', '');&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date) {&lt;br /&gt;
  return '&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;http://en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + (url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;' + address + (tel?('&amp;lt;br&amp;gt;Phone: ' + tel):'') + (date?'&amp;lt;br&amp;gt;'+date:'');&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date) {&lt;br /&gt;
  var marker = new GMarker(new GLatLng(lat, lng));&lt;br /&gt;
  GEvent.addListener(marker, &amp;quot;click&amp;quot;, function() {&lt;br /&gt;
    map.panTo(marker.getPoint());&lt;br /&gt;
    marker.openInfoWindowHtml(getLocationHTML(name, url, address, tel, date));&lt;br /&gt;
  });&lt;br /&gt;
  var link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  link.innerHTML = name;&lt;br /&gt;
  link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
  link.onclick = function() {&lt;br /&gt;
    map.panTo(marker.getPoint());&lt;br /&gt;
    marker.openInfoWindowHtml(getLocationHTML(name, url, address, tel, date));&lt;br /&gt;
  };&lt;br /&gt;
  document.getElementById(&amp;quot;side&amp;quot;).appendChild(link);&lt;br /&gt;
  document.getElementById(&amp;quot;side&amp;quot;).appendChild(document.createElement(&amp;quot;BR&amp;quot;));&lt;br /&gt;
  map.addOverlay(marker);&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/File:Anthrocon.gif</id>
		<title>File:Anthrocon.gif</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/File:Anthrocon.gif"/>
				<updated>2011-07-03T13:10:33Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: link to en instead of nowhere.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:en:Anthrocon|Anthrocon]] logo. There is an [http://tarr.uspto.gov/servlet/tarr?regser=serial&amp;amp;entry=77042065 application] to register this as a trademark (filed by Anthrocon, Inc. on 12 November 2006) which notes that it has been in use since 30 June 1998.&lt;br /&gt;
{{logo}}&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Template:Logo</id>
		<title>Template:Logo</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Template:Logo"/>
				<updated>2011-07-03T13:08:31Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Can stop mentioning Wikia here.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Fair use tag, based on Template:Image-license-fairuse --&amp;gt;&lt;br /&gt;
{{message box&lt;br /&gt;
|bordercolor=#bb3333&lt;br /&gt;
|backgroundcolor=#ffeeee&lt;br /&gt;
|image=Red_copyright.svg&lt;br /&gt;
|size=60px&lt;br /&gt;
|heading=This is a copyrighted and/or trademarked [[Wikipedia:Logo|logo]]. It is believed that logos may be exhibited on [[:en:WikiFur|WikiFur]] under the '''[[Wikipedia:Fair use|fair use]]''' provision of [[Wikipedia:United States copyright law|United States copyright law]].&lt;br /&gt;
|message=Use of the logo here does not imply endorsement of the organization by WikiFur, nor does it imply endorsement of WikiFur by the organization. See [[Wikipedia:Wikipedia:Logos|logos]] and [[Wikipedia:Wikipedia:Copyrights|Copyrights]].&lt;br /&gt;
}}&amp;lt;includeonly&amp;gt;[[Category:Logos|{{PAGENAME}}]] [[Category:Fair use images|{{PAGENAME}}]]&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;[[Category:Image copyright tags|{{PAGENAME}}]][[de:Vorlage:Logo]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2010-08-30T13:12:58Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://greenreaper.co.uk/wikifur/ConventionMap.html map of active conventions]. &amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
function load() {&lt;br /&gt;
 if (GBrowserIsCompatible()) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
map = new GMap2(mapNode);&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
map.setCenter(new GLatLng(30, -40), 3, G_HYBRID_MAP);&lt;br /&gt;
map.addControl(new GLargeMapControl());&lt;br /&gt;
map.addControl(new GMapTypeControl());&lt;br /&gt;
&lt;br /&gt;
map.enableDoubleClickZoom();&lt;br /&gt;
map.enableContinuousZoom();&lt;br /&gt;
map.enableScrollWheelZoom();&lt;br /&gt;
 &lt;br /&gt;
// Add map points&lt;br /&gt;
addLocation(-23.541248,-47.090321, 'Abando', 'abando.org', 'São Roque, São Paulo&amp;lt;br&amp;gt;Brazil', '', &amp;quot;Mar 5-8&amp;quot;);&lt;br /&gt;
addLocation(47.656832,-117.419643, 'All Fur Fun', 'allfurfun.com', 'Westcoast Ridpath Hotel&amp;lt;br&amp;gt;515 W Sprague Avenue&amp;lt;br&amp;gt; Spokane 99204&amp;lt;br&amp;gt;USA', '+1 (877) 209-8635'); //&amp;quot;May 15-17, 2009&amp;quot;, Inactive in 2010&lt;br /&gt;
addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina');&lt;br /&gt;
addLocation(33.944791,-118.373807, 'Antheria', 'www.antheria.org', 'The Westin Los Angeles Airport&amp;lt;br&amp;gt;5400 West Century Boulevard&amp;lt;br&amp;gt;Los Angeles, CA 90045', '+1 (310) 216-5858', 'Oct 1-3');&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jun 23-26');&lt;br /&gt;
//Anthrotomne, France, Late October, no clue for 2010&lt;br /&gt;
//BC Fur BQ, domain squatted&lt;br /&gt;
//We do have lots of furries in Ottawa, but getting a con running takes more than just furries.&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'http://www.berlicon.org/', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 17-20');&lt;br /&gt;
addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 22-23');&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'Jun 3-5');&lt;br /&gt;
addLocation(32.71025 ,-117.161744, 'Califur Diego', 'califur.com', 'Horton Grand Hotel&amp;lt;br&amp;gt;311 Island Ave&amp;lt;br&amp;gt;San Diego, California 92101&amp;lt;br&amp;gt;USA', '+1 (619) 544-1886');//not sure if they still hold it&lt;br /&gt;
addLocation(43.721056,-121.291552, 'Campfire Tails', 'campfiretails.com', 'Ogden Group Camp C&amp;lt;br&amp;gt;Paulina Lake&amp;lt;br&amp;gt;La Pine, Oregon&amp;lt;br&amp;gt;USA', '');&lt;br /&gt;
addLocation(49.637927,  16.532192, 'ČeSFuR', 'www.cesfur.org', 'Turistická ubytovna Pohoda&amp;lt;br&amp;gt;Březová nad Svitavou&amp;lt;br&amp;gt;Czech Republic', '', 'Jun30-Jul3');//&lt;br /&gt;
addLocation(46.973664,8.616457, 'CH-on', 'con.swissfurs.ch', '', '', 'Jun3-6');//&lt;br /&gt;
//Colonge Fur-Dance, Germany, June/November, no clue for 2010&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 6-8');&lt;br /&gt;
addLocation(53.475436,    -2.2575, 'ConFuzzled', 'confuzzled.org.uk', 'Potato Wharf, Castlefield&amp;lt;br&amp;gt;Manchester M3 4NB&amp;lt;br&amp;gt;England', '+44 (0)870 770 5950', 'May 6-9');&lt;br /&gt;
//addLocation(50.964684,-114.069307, 'ConWild', 'nlwolf.com/calfur.html', 'Best Western Hospitality Inn&amp;lt;br&amp;gt;135 Southland Drive SE&amp;lt;br&amp;gt;Calgary, Alberta T2J 5X5&amp;lt;br&amp;gt;Canada', '+1 (403) 278-5050');//unlikely to be held again&lt;br /&gt;
addLocation(41.80347,-88.120222, 'Duckon', 'www.duckon.org', 'Naperville Holiday Inn Select&amp;lt;br&amp;gt;1801 Naper Blvd&amp;lt;br&amp;gt;Naperville, IL 60563&amp;lt;br&amp;gt;United States', '', 'Jun 17-19');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'http://ele.furryhost.com/', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee FL 34747, United States');//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
//Eufuria, Denmark, June - Cancelled for 2010&lt;br /&gt;
addLocation(50.616714,  10.723858, 'Eurofurence', 'eurofurence.org', 'Ringberg Resort Hotel&amp;lt;br&amp;gt;Ringberg 10&amp;lt;br&amp;gt;D-98527 Suhl&amp;lt;br&amp;gt;Germany', '+49 36 81/3 89-0', 'Sep1-5');&lt;br /&gt;
addLocation(40.703546, -74.184279, 'FA: United', 'faunited.com', 'Ramada Inn - Newark Airport&amp;lt;br&amp;gt;550 Route 1 South&amp;lt;br&amp;gt;Newark, New Jersey, 07114&amp;lt;br&amp;gt;USA', '+1 (973) 824-4000', 'May 20-22');&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Sep 1-5');&lt;br /&gt;
//Fhursky, France Alps (45.5049, 6.7006), early Jan, no clue for 2011&lt;br /&gt;
addLocation(43.087839, -77.616139, 'FOXmas', 'foxmas.com', 'Holiday Inn Hotel &amp;amp; Suites&amp;lt;br&amp;gt;800 Jefferson Road&amp;lt;br&amp;gt;Rochester, NY 14623&amp;lt;br&amp;gt;USA', '+1 (585) 475-9190','December'); //in planning&lt;br /&gt;
//addLocation(38.105116, -78.196993, 'Fur Camping Con', 'furries.meetup.com/286/?gj=sj3', 'Fur Camping Con&amp;lt;br&amp;gt;Gordonsville, Virginia 22942&amp;lt;br&amp;gt;USA', '', 'May/october');//last activity was 2008&lt;br /&gt;
addLocation(-38.625454,176.090927, 'FurcoNZ', 'www.furconz.org.nz', 'Wairakei, Waikato&amp;lt;br&amp;gt;New Zealand', '', 'Dec 10-13'); //&lt;br /&gt;
addLocation(-28.00041, 153.4264, 'FurDU', 'www.furrydownunder.com', 'vibe hotel gold coast&amp;lt;br&amp;gt;42 Ferny Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'Apr 23-25');&lt;br /&gt;
addLocation(41.542706, -72.970258, 'FurFright', 'furfright.org', 'Connecticut Grand Hotel&amp;lt;br&amp;gt;3580 East Main Street&amp;lt;br&amp;gt;Waterbury, CT 06705&amp;lt;br&amp;gt;USA', '+1 (203) 706-1000', 'Oct 29-31');&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'http://www.furjam.org/', 'Sydney, Australia', '', 'Sep 24-26');&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', '//www.furhold.org/furloween/', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900', &amp;quot;Oct 30&amp;quot;); //late october, no clue for 2010&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Doubletree by Hilton Toronto Airport‎&amp;lt;br&amp;gt;33 Carlson Ct&amp;lt;br&amp;gt;Toronto, ON M9W&amp;lt;br&amp;gt;Canada‎', '+1 (800) 668-3656‎', 'Mar 11-13');&lt;br /&gt;
//Furnival late july, may not be held 2010, NE Ohio&lt;br /&gt;
addLocation(59.379824,  13.515136, 'FurryCon', 'furrycon.se', 'Verkstadsgatan 1&amp;lt;br&amp;gt;65219 Karlstad&amp;lt;br&amp;gt;Sweden', '‎', 'September 18-20'); //Was held mid-September 2009, no clue for 2010&lt;br /&gt;
addLocation(42.441891, -83.434789, 'Furry Connection North', 'furryconnect.com', 'Shearton Detroit Novi&amp;lt;br&amp;gt;21111 Haggerty Road&amp;lt;br&amp;gt;Novi, Michigan 48375&amp;lt;br&amp;gt;USA', '+1 (248) 349-4000', 'Apr 9-11');//&lt;br /&gt;
addLocation(26.121997, -80.143375, 'Furry Cruise', 'furrycruise.livejournal.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Monarch of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Fort Lauderdale, Florida&amp;lt;br&amp;gt;USA', '+1 (800) 542 3895', 'Dec 4-9');&lt;br /&gt;
addLocation(32.9455, -96.8398, 'Furry Fiesta', 'www.furryfiesta.org', 'Crowne Plaza Hotel&amp;lt;br&amp;gt;14315 Midway Road&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA','+1 (972) 980-8877', 'Feb 25-27');&lt;br /&gt;
addLocation(33.626091, -84.451776, 'Furry Weekend Atlanta', 'furryweekend.com', 'Sheraton Gateway Hotel&amp;lt;br&amp;gt;1900 Sullivan Road&amp;lt;br&amp;gt;Atlanta, Georgia 30337&amp;lt;br&amp;gt;USA', '+1 (770) 997-1100', 'Mar 25-28');&lt;br /&gt;
addLocation(51.40328, 5.95940, 'Furs on Fire', 'http://www.fursonfire.eu/', 'Evertsoord, The Netherlands', 'Dec 30-Jan 1');&lt;br /&gt;
//Furstock, Poland&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'July 8-10');&lt;br /&gt;
addLocation(37.333065,-121.889043, 'Further Confusion', 'furtherconfusion.org', 'Fairmont San Jose&amp;lt;br&amp;gt;170 South Market Street &amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 (866) 540-4493 ', 'Jan13-17');&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'fn.boarral.com', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229');//Winter:February 12-15 Summer: July 30-August 2&lt;br /&gt;
//Futrzakon Coming soon. Aug2010?&lt;br /&gt;
//Golden leaves con '404'&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '030-261030-0', '26.03.2010 - 28.03.2010');//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Sep 30 - Oct 03');// not on list&lt;br /&gt;
addLocation(49.181619,-122.845057, 'Howloween', 'howloween.org', 'Compass Point Inn&amp;lt;br&amp;gt;9850 King George Highway&amp;lt;br&amp;gt;Surrey, British Columbia, V3T 4Y3&amp;lt;br&amp;gt;Canada', '+1 (604) 588-9511 ', 'November 7th');//Early November, no clue for 2010&lt;br /&gt;
addLocation(40.78834,-73.111954, 'I-Con', 'www.iconsf.org', 'Holiday Inn Ronkonkoma&amp;lt;br&amp;gt;3845 Veterans Memorial Highway&amp;lt;br&amp;gt;Ronkonkoma, NY 11779','(631) 585-9500 ', 'Mar26-28');&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Hilton Indianapolis North&amp;lt;br&amp;gt;8181 North Shadeland Ave&amp;lt;br&amp;gt;Indianapolis, Indiana 46250&amp;lt;br&amp;gt;USA', '+1 (317) 849-6668', 'Aug12-14');&lt;br /&gt;
//Kemocon would be here, reuse TransFur entry&lt;br /&gt;
addLocation(35.535284, 139.701167, 'Kemocon', 'www.kemocon.com', 'Exhibition Room 4F&amp;lt;br&amp;gt;Kawasaki City Industrial Promotion Hall&amp;lt;br&amp;gt;66-20, horikawa-cho&amp;lt;br&amp;gt;Saiwaiku, Kawasaki-city, Kanagawa, Japan', '', 'Nov 30');//〒212-0013 is the postal code (It has the postal code 〒-symbol) no clue for 2010; &lt;br /&gt;
addLocation(47.647523,  13.896396, 'Lakeside Furs', 'lakesidefurs.at.tt', 'Grundlsee Youth &amp;amp; Family Guesthouse&amp;lt;br&amp;gt;Goessl 149, Steiermark 8993&amp;lt;br&amp;gt;Austria', '+43 (0)3622/8629', 'Jul 31-Aug 7');&lt;br /&gt;
addLocation(28.333938, -81.587638, 'Megaplex', 'megaplexcon.org', 'Radisson Worldgate Hotel&amp;lt;br&amp;gt;3011 Maingate Lane&amp;lt;br&amp;gt;Kissimmee, FL 34747-2302&amp;lt;br&amp;gt;USA', '+1 (407) 278-7073', 'Jul 29-31');&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Fur Meet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Sep 3-5');&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May13-16');&lt;br /&gt;
addLocation(-37.79461, 144.978901, 'MiDFur', 'www.midfur.com.au', 'Victoria Hotel&amp;lt;br&amp;gt;Little Collins St.&amp;lt;br&amp;gt;Melbourne, VIC&amp;lt;br&amp;gt;Australia', '+61 (03) 9669 0000', 'Dec2-5');&lt;br /&gt;
addLocation(42.148741, -87.913826, 'Midwest FurFest', 'furfest.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, Illinois 60090&amp;lt;br&amp;gt;USA', '+1 (847) 777-6500', 'Nov19-21');&lt;br /&gt;
addLocation(40.105846, -83.017244, 'Morphicon', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May13-16');&lt;br /&gt;
addLocation(43.056362,-89.49656, 'NakamaCon', 'http://www.nakamacon.com/main/', 'Radisson Hotel Madison&amp;lt;br&amp;gt;517 Grand Canyon Drive, Madison Wisconsin 53719, &amp;lt;br&amp;gt;United States', '1-800-395-7046', 'May 27-31')&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct28-Nov1');&lt;br /&gt;
addLocation(-31.952222, 115.858889, 'Perthfur Gathering', 'gathering.perthfurs.net', 'Perth, Western Australia', '', 'Aug 2010?');//&amp;quot;3rd qtr, 2010&amp;quot;&lt;br /&gt;
addLocation(-34.929, 138.601, 'RadFur', 'radfur.safurs.net', 'Adelaide, South Australia', '', 'Oct 1-3');&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', ' The Seattle Airport Marriott&amp;lt;br&amp;gt;3201 South 176th Street&amp;lt;br&amp;gt;Seattle, Washington 98188&amp;lt;br&amp;gt;USA', '+1 (206) 241-2000', 'Sep 24-26');&lt;br /&gt;
addLocation(51.502692,-0.023925, 'RBW', 'rbw.org.uk', 'Canary Wharf, London&amp;lt;br&amp;gt;United Kingdom', '', 'Nov 5-7');&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'Jul 9-11');&lt;br /&gt;
addLocation(34.729481, -86.586170, 'Rocket City FurMeet', 'rcfm.net', 'Huntsville, Alabama&amp;lt;br&amp;gt;USA', '', 'May28-30');//&lt;br /&gt;
addLocation(39.742323,-104.99181, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Crowne Plaza Hotel&amp;lt;br&amp;gt;1450 Glenarm Place&amp;lt;br&amp;gt;Denver, Colorado 80202&amp;lt;br&amp;gt;USA', '+1 (303) 573-1450', 'Aug6-8');&lt;br /&gt;
addLocation(55.734529,  36.882262, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Звенигородский&amp;quot; (RAS &amp;quot;Zvenigorodsky&amp;quot;)&amp;lt;br&amp;gt;Звенигород (Zvenigorod), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'January 26-31');&lt;br /&gt;
addLocation(57.478307, -4.22672, 'ScotiaCon', '//www.scotiacon.com', 'Church Street&amp;lt;br&amp;gt;&lt;br /&gt;
Inverness, IV1 1QY&amp;lt;br&amp;gt;&lt;br /&gt;
Inverness-shire, United Kingdom', '', 'Jul 15-17');&lt;br /&gt;
&lt;br /&gt;
//ScotiaCon Apr23-24, 2011, Inverness, Scotland&lt;br /&gt;
addLocation(-33.932, 25.571, 'South Afrifur meet', 'http://forum.zafur.co.za/viewtopic.php?f=53&amp;amp;t=938', '', '', 'Jan 7-15');&lt;br /&gt;
addLocation(47.5, 12.016667, 'Summit', 'www.the-summit.info', 'Angerberg, Austria', '', 'Jun26-Jul3');&lt;br /&gt;
addLocation(52.45, 13.566667, 'Tropicon', '', 'Köpenick, Berlin, Germany', '', 'Jul 15-18');&lt;br /&gt;
addLocation(-32.970796,-60.612774, 'UFACon', 'ufa.ahiros.com.ar/ufacon.htm', 'Centro de Expresiones Contemporáneas&amp;lt;br&amp;gt;Bajada Sgto. Cabral y el Río&amp;lt;br&amp;gt;Rosario&amp;lt;br&amp;gt;Argentina', '(0341) 480-2245 y 480-2545', 'Oct 9-11'); //check date, no clue for 2010&lt;br /&gt;
addLocation(45.4931910,-73.5736397, 'What The Fur', 'http://whatthefur.ca/', 'The Days Hotel &amp;amp; Conference Centre of Montreal&amp;lt;br&amp;gt;1005 rue Guy, Montréal, QC H3H 2K4, Canada', '514-938-4611', 'Jun 4-6');&lt;br /&gt;
addLocation(40.538786, -79.830565, 'Western Pennsylvania Furry Weekend', 'wpafw.org', 'Comfort Inn Pittsburgh North&amp;lt;br&amp;gt;2801 Freeport Road&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15238&amp;lt;br&amp;gt;USA', '+1 (412) 828-9400'); //seems to have no plan for 2010&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr22-26');&lt;br /&gt;
addLocation(47.405582,  12.040372, 'Zillercon', 'furcon.de/#con460', 'Wildschönau, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan22-29');&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date) {&lt;br /&gt;
  return '&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;http://en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + (url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;' + address + (tel?('&amp;lt;br&amp;gt;Phone: ' + tel):'') + (date?'&amp;lt;br&amp;gt;'+date:'');&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date) {&lt;br /&gt;
  var marker = new GMarker(new GLatLng(lat, lng));&lt;br /&gt;
  GEvent.addListener(marker, &amp;quot;click&amp;quot;, function() {&lt;br /&gt;
    map.panTo(marker.getPoint());&lt;br /&gt;
    marker.openInfoWindowHtml(getLocationHTML(name, url, address, tel, date));&lt;br /&gt;
  });&lt;br /&gt;
  var link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  link.innerHTML = name;&lt;br /&gt;
  link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
  link.onclick = function() {&lt;br /&gt;
    map.panTo(marker.getPoint());&lt;br /&gt;
    marker.openInfoWindowHtml(getLocationHTML(name, url, address, tel, date));&lt;br /&gt;
  };&lt;br /&gt;
  document.getElementById(&amp;quot;side&amp;quot;).appendChild(link);&lt;br /&gt;
  document.getElementById(&amp;quot;side&amp;quot;).appendChild(document.createElement(&amp;quot;BR&amp;quot;));&lt;br /&gt;
  map.addOverlay(marker);&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2010-03-09T02:09:12Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Oops, broke it...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://greenreaper.co.uk/wikifur/ConventionMap.html map of active conventions]. &amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
function load() {&lt;br /&gt;
 if (GBrowserIsCompatible()) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
map = new GMap2(mapNode);&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
map.setCenter(new GLatLng(30, -40), 3, G_HYBRID_MAP);&lt;br /&gt;
map.addControl(new GLargeMapControl());&lt;br /&gt;
map.addControl(new GMapTypeControl());&lt;br /&gt;
&lt;br /&gt;
map.enableDoubleClickZoom();&lt;br /&gt;
map.enableContinuousZoom();&lt;br /&gt;
map.enableScrollWheelZoom();&lt;br /&gt;
 &lt;br /&gt;
// Add map points&lt;br /&gt;
addLocation(-23.541248,-47.090321, 'Abando', 'abando.org', 'São Roque, São Paulo&amp;lt;br&amp;gt;Brazil', '', &amp;quot;Feb 13-16&amp;quot;);&lt;br /&gt;
addLocation(47.656832,-117.419643, 'All Fur Fun', 'allfurfun.com', 'Westcoast Ridpath Hotel&amp;lt;br&amp;gt;515 W Sprague Avenue&amp;lt;br&amp;gt; Spokane 99204&amp;lt;br&amp;gt;USA', '+1 (877) 209-8635'); //&amp;quot;May 15-17, 2009&amp;quot;, Inactive in 2010&lt;br /&gt;
addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina');&lt;br /&gt;
addLocation(33.944791,-118.373807, 'Antheria', 'www.antheria.org', 'The Westin Los Angeles Airport&amp;lt;br&amp;gt;5400 West Century Boulevard&amp;lt;br&amp;gt;Los Angeles, CA 90045', '+1 (310) 216-5858', 'Oct 1-3');&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jun 24-27');&lt;br /&gt;
//Anthrotomne, France, Late October, no clue for 2010&lt;br /&gt;
//BC Fur BQ, domain squatted&lt;br /&gt;
//We do have lots of furries in Ottawa, but getting a con running takes more than just furries.&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'http://www.berlicon.org/', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 17-20');&lt;br /&gt;
addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 22-23');&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'Jun 4-6');&lt;br /&gt;
addLocation(32.71025 ,-117.161744, 'Califur Diego', 'califur.com', 'Horton Grand Hotel&amp;lt;br&amp;gt;311 Island Ave&amp;lt;br&amp;gt;San Diego, California 92101&amp;lt;br&amp;gt;USA', '+1 (619) 544-1886');//not sure if they still hold it&lt;br /&gt;
addLocation(49.637927,  16.532192, 'ČeSFuR', 'www.cesfur.org', 'Turistická ubytovna Pohoda&amp;lt;br&amp;gt;Březová nad Svitavou&amp;lt;br&amp;gt;Czech Republic', '', 'Jun30-Jul3');//&lt;br /&gt;
addLocation(46.973664,8.616457, 'CH-on', 'con.swissfurs.ch', '', '', 'Jun3-6');//&lt;br /&gt;
//Colonge Fur-Dance, Germany, June/November, no clue for 2010&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 6-8');&lt;br /&gt;
addLocation(53.475436,    -2.2575, 'ConFuzzled', 'confuzzled.org.uk', 'Potato Wharf, Castlefield&amp;lt;br&amp;gt;Manchester M3 4NB&amp;lt;br&amp;gt;England', '+44 (0)870 770 5950', 'May 07-10');&lt;br /&gt;
//addLocation(50.964684,-114.069307, 'ConWild', 'nlwolf.com/calfur.html', 'Best Western Hospitality Inn&amp;lt;br&amp;gt;135 Southland Drive SE&amp;lt;br&amp;gt;Calgary, Alberta T2J 5X5&amp;lt;br&amp;gt;Canada', '+1 (403) 278-5050');//unlikely to be held again&lt;br /&gt;
addLocation(41.80347,-88.120222, 'Duckon', 'www.duckon.org', 'Naperville Holiday Inn Select&amp;lt;br&amp;gt;1801 Naper Blvd&amp;lt;br&amp;gt;Naperville, IL 60563&amp;lt;br&amp;gt;United States', '', 'Jun 18-20');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'http://ele.furryhost.com/', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee FL 34747, United States');//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
//Eufuria, Denmark, June - Cancelled for 2010&lt;br /&gt;
addLocation(50.616714,  10.723858, 'Eurofurence', 'eurofurence.org', 'Ringberg Resort Hotel&amp;lt;br&amp;gt;Ringberg 10&amp;lt;br&amp;gt;D-98527 Suhl&amp;lt;br&amp;gt;Germany', '+49 36 81/3 89-0', 'Sep1-5');&lt;br /&gt;
addLocation(40.703546, -74.184279, 'FA: United', 'faunited.com', 'Ramada Inn - Newark Airport&amp;lt;br&amp;gt;550 Route 1 South&amp;lt;br&amp;gt;Newark, New Jersey, 07114&amp;lt;br&amp;gt;USA', '+1 (973) 824-4000', 'May 28-30');&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Sep 1-5');&lt;br /&gt;
//Fhursky, France Alps (45.5049, 6.7006), early Jan, no clue for 2011&lt;br /&gt;
addLocation(43.087839, -77.616139, 'FOXmas', 'foxmas.com', 'Holiday Inn Hotel &amp;amp; Suites&amp;lt;br&amp;gt;800 Jefferson Road&amp;lt;br&amp;gt;Rochester, NY 14623&amp;lt;br&amp;gt;USA', '+1 (585) 475-9190','December'); //in planning&lt;br /&gt;
//addLocation(38.105116, -78.196993, 'Fur Camping Con', 'furries.meetup.com/286/?gj=sj3', 'Fur Camping Con&amp;lt;br&amp;gt;Gordonsville, Virginia 22942&amp;lt;br&amp;gt;USA', '', 'May/october');//last activity was 2008&lt;br /&gt;
addLocation(-38.625454,176.090927, 'FurcoNZ', 'www.furconz.org.nz', 'Wairakei, Waikato&amp;lt;br&amp;gt;New Zealand', '', 'Nov 26-29'); //&lt;br /&gt;
addLocation(-28.00041, 153.4264, 'FurDU', 'www.furrydownunder.com', 'vibe hotel gold coast&amp;lt;br&amp;gt;42 Ferny Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'Apr 23-25');&lt;br /&gt;
addLocation(41.542706, -72.970258, 'FurFright', 'furfright.org', 'Connecticut Grand Hotel&amp;lt;br&amp;gt;3580 East Main Street&amp;lt;br&amp;gt;Waterbury, CT 06705&amp;lt;br&amp;gt;USA', '+1 (203) 706-1000', 'Oct 29-31');&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'http://www.furjam.org/', 'Sydney, Australia', '', 'Sep 24-26');&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'floridafurs.com/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900'); //late october, no clue for 2010&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Doubletree by Hilton Toronto Airport‎&amp;lt;br&amp;gt;33 Carlson Ct&amp;lt;br&amp;gt;Toronto, ON M9W&amp;lt;br&amp;gt;Canada‎', '+1 (800) 668-3656‎', 'Mar 6-7');&lt;br /&gt;
//Furnival late july, may not be held 2010, NE Ohio&lt;br /&gt;
addLocation(59.379824,  13.515136, 'FurryCon', 'furrycon.se', 'Verkstadsgatan 1&amp;lt;br&amp;gt;65219 Karlstad&amp;lt;br&amp;gt;Sweden', '‎', 'September 18-20'); //Was held mid-September 2009, no clue for 2010&lt;br /&gt;
addLocation(42.441891, -83.434789, 'Furry Connection North', 'furryconnect.com', 'Shearton Detroit Novi&amp;lt;br&amp;gt;21111 Haggerty Road&amp;lt;br&amp;gt;Novi, Michigan 48375&amp;lt;br&amp;gt;USA', '+1 (248) 349-4000', 'Apr 9-11');//&lt;br /&gt;
addLocation(26.121997, -80.143375, 'Furry Cruise', 'furrycruise.livejournal.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Monarch of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Fort Lauderdale, Florida&amp;lt;br&amp;gt;USA', '+1 (800) 542 3895', 'Dec 4-9');&lt;br /&gt;
addLocation(32.9455, -96.8398, 'Furry Fiesta', 'www.furryfiesta.org', 'Crowne Plaza Hotel&amp;lt;br&amp;gt;14315 Midway Road&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA','+1 (972) 980-8877', 'Feb 25-27');&lt;br /&gt;
addLocation(33.626091, -84.451776, 'Furry Weekend Atlanta', 'furryweekend.com', 'Sheraton Gateway Hotel&amp;lt;br&amp;gt;1900 Sullivan Road&amp;lt;br&amp;gt;Atlanta, Georgia 30337&amp;lt;br&amp;gt;USA', '+1 (770) 997-1100', 'Mar 25-28');&lt;br /&gt;
//Furstock, Poland&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'July 8-10');&lt;br /&gt;
addLocation(37.333065,-121.889043, 'Further Confusion', 'furtherconfusion.org', 'Fairmont San Jose&amp;lt;br&amp;gt;170 South Market Street &amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 (866) 540-4493 ', 'Jan20-24');&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'fn.boarral.com', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229');//Winter:February 12-15 Summer: July 30-August 2&lt;br /&gt;
//Futrzakon Coming soon. Aug2010?&lt;br /&gt;
//Golden leaves con '404'&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '030-261030-0', '26.03.2010 - 28.03.2010');//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Sep 30 - Oct 03');// not on list&lt;br /&gt;
addLocation(49.181619,-122.845057, 'Howloween', 'howloween.org', 'Compass Point Inn&amp;lt;br&amp;gt;9850 King George Highway&amp;lt;br&amp;gt;Surrey, British Columbia, V3T 4Y3&amp;lt;br&amp;gt;Canada', '+1 (604) 588-9511 ', 'November 7th');//Early November, no clue for 2010&lt;br /&gt;
addLocation(40.78834,-73.111954, 'I-Con', 'www.iconsf.org', 'Holiday Inn Ronkonkoma&amp;lt;br&amp;gt;3845 Veterans Memorial Highway&amp;lt;br&amp;gt;Ronkonkoma, NY 11779','(631) 585-9500 ', 'Mar26-28');&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Hilton Indianapolis North&amp;lt;br&amp;gt;8181 North Shadeland Ave&amp;lt;br&amp;gt;Indianapolis, Indiana 46250&amp;lt;br&amp;gt;USA', '+1 (317) 849-6668', 'Aug13-15');&lt;br /&gt;
//Kemocon would be here, reuse TransFur entry&lt;br /&gt;
addLocation(35.535284, 139.701167, 'Kemocon', 'www.kemocon.com', 'Exhibition Room 4F&amp;lt;br&amp;gt;Kawasaki City Industrial Promotion Hall&amp;lt;br&amp;gt;66-20, horikawa-cho&amp;lt;br&amp;gt;Saiwaiku, Kawasaki-city, Kanagawa, Japan', '', 'Nov 30');//〒212-0013 is the postal code (It has the postal code 〒-symbol) no clue for 2010; &lt;br /&gt;
addLocation(47.647523,  13.896396, 'Lakeside Furs', 'lakesidefurs.at.tt', 'Grundlsee Youth &amp;amp; Family Guesthouse&amp;lt;br&amp;gt;Goessl 149, Steiermark 8993&amp;lt;br&amp;gt;Austria', '+43 (0)3622/8629', 'Jul 31-Aug 7');&lt;br /&gt;
addLocation(28.333938, -81.587638, 'Megaplex', 'megaplexcon.org', 'Radisson Worldgate Hotel&amp;lt;br&amp;gt;3011 Maingate Lane&amp;lt;br&amp;gt;Kissimmee, FL 34747-2302&amp;lt;br&amp;gt;USA', '+1 (407) 278-7073', 'Jul 23-25');&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Fur Meet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Sep 3-5');&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May13-16');&lt;br /&gt;
addLocation(-37.79461, 144.978901, 'MiDFur', 'www.midfur.com.au', 'Victoria Hotel&amp;lt;br&amp;gt;Little Collins St.&amp;lt;br&amp;gt;Melbourne, VIC&amp;lt;br&amp;gt;Australia', '+61 (03) 9669 0000', 'Dec2-5');&lt;br /&gt;
addLocation(42.148741, -87.913826, 'Midwest FurFest', 'furfest.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, Illinois 60090&amp;lt;br&amp;gt;USA', '+1 (847) 777-6500', 'Nov19-21');&lt;br /&gt;
addLocation(40.105846, -83.017244, 'Morphicon', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May13-16');&lt;br /&gt;
addLocation(43.056362,-89.49656, 'NakamaCon', 'http://www.nakamacon.com/main/', 'Radisson Hotel Madison&amp;lt;br&amp;gt;517 Grand Canyon Drive, Madison Wisconsin 53719, &amp;lt;br&amp;gt;United States', '1-800-395-7046', 'May 27-31')&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct28-Nov1');&lt;br /&gt;
addLocation(-31.952222, 115.858889, 'Perthfur Gathering', 'gathering.perthfurs.net', 'Perth, Western Australia', '', 'Aug 2010?');//&amp;quot;3rd qtr, 2010&amp;quot;&lt;br /&gt;
addLocation(-34.929, 138.601, 'RadFur', 'radfur.safurs.net', 'Adelaide, South Australia', '', 'Oct 1-3');&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', ' The Seattle Airport Marriott&amp;lt;br&amp;gt;3201 South 176th Street&amp;lt;br&amp;gt;Seattle, Washington 98188&amp;lt;br&amp;gt;USA', '+1 (206) 241-2000', 'Sep 24-26');&lt;br /&gt;
addLocation(51.502692,-0.023925, 'RBW', 'rbw.org.uk', 'Canary Wharf, London&amp;lt;br&amp;gt;United Kingdom', '', 'Nov 5-7');&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'Jul 9-11');&lt;br /&gt;
addLocation(34.729481, -86.586170, 'Rocket City FurMeet', 'rcfm.net', 'Huntsville, Alabama&amp;lt;br&amp;gt;USA', '', 'May28-30');//&lt;br /&gt;
addLocation(39.742323,-104.99181, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Crowne Plaza Hotel&amp;lt;br&amp;gt;1450 Glenarm Place&amp;lt;br&amp;gt;Denver, Colorado 80202&amp;lt;br&amp;gt;USA', '+1 (303) 573-1450', 'Aug6-8');&lt;br /&gt;
addLocation(55.734529,  36.882262, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Звенигородский&amp;quot; (RAS &amp;quot;Zvenigorodsky&amp;quot;)&amp;lt;br&amp;gt;Звенигород (Zvenigorod), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'January 26-31');&lt;br /&gt;
//ScotiaCon Apr23-24, 2011, Inverness, Scotland&lt;br /&gt;
addLocation(-33.828077, 18.509561, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=46&amp;amp;t=284', 'At Cheryls&amp;lt;br&amp;gt;50 Circle Road&amp;lt;br&amp;gt;Table View, South Africa', '+27 (0) 21 557 7693');//registered only, no clue for 2010&lt;br /&gt;
addLocation(47.5, 12.016667, 'Summit', 'www.the-summit.info', 'Angerberg, Austria', '', 'Jun26-Jul3');&lt;br /&gt;
addLocation(52.45, 13.566667, 'Tropicon', '', 'Köpenick, Berlin, Germany', '', 'Jul 15-18');&lt;br /&gt;
addLocation(-32.970796,-60.612774, 'UFACon', 'ufa.ahiros.com.ar/ufacon.htm', 'Centro de Expresiones Contemporáneas&amp;lt;br&amp;gt;Bajada Sgto. Cabral y el Río&amp;lt;br&amp;gt;Rosario&amp;lt;br&amp;gt;Argentina', '(0341) 480-2245 y 480-2545', 'October'); //check date, no clue for 2010&lt;br /&gt;
addLocation(45.4931910,-73.5736397, 'What The Fur', 'http://whatthefur.ca/', 'The Days Hotel &amp;amp; Conference Centre of Montreal&amp;lt;br&amp;gt;1005 rue Guy, Montréal, QC H3H 2K4, Canada', '514-938-4611', 'Jun 4-6');&lt;br /&gt;
addLocation(40.538786, -79.830565, 'Western Pennsylvania Furry Weekend', 'wpafw.org', 'Comfort Inn Pittsburgh North&amp;lt;br&amp;gt;2801 Freeport Road&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15238&amp;lt;br&amp;gt;USA', '+1 (412) 828-9400'); //seems to have no plan for 2010&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr22-26');&lt;br /&gt;
addLocation(47.405582,  12.040372, 'Zillercon', 'furcon.de/#con460', 'Wildschönau, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan22-29');&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date) {&lt;br /&gt;
  return '&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;http://en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + (url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;' + address + (tel?('&amp;lt;br&amp;gt;Phone: ' + tel):'') + (date?'&amp;lt;br&amp;gt;'+date:'');&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date) {&lt;br /&gt;
  var marker = new GMarker(new GLatLng(lat, lng));&lt;br /&gt;
  GEvent.addListener(marker, &amp;quot;click&amp;quot;, function() {&lt;br /&gt;
    map.panTo(marker.getPoint());&lt;br /&gt;
    marker.openInfoWindowHtml(getLocationHTML(name, url, address, tel, date));&lt;br /&gt;
  });&lt;br /&gt;
  var link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  link.innerHTML = name;&lt;br /&gt;
  link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
  link.onclick = function() {&lt;br /&gt;
    map.panTo(marker.getPoint());&lt;br /&gt;
    marker.openInfoWindowHtml(getLocationHTML(name, url, address, tel, date));&lt;br /&gt;
  };&lt;br /&gt;
  document.getElementById(&amp;quot;side&amp;quot;).appendChild(link);&lt;br /&gt;
  document.getElementById(&amp;quot;side&amp;quot;).appendChild(document.createElement(&amp;quot;BR&amp;quot;));&lt;br /&gt;
  map.addOverlay(marker);&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2010-03-09T02:06:58Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: durr.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://greenreaper.co.uk/wikifur/ConventionMap.html map of active conventions]. &amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
function load() {&lt;br /&gt;
 if (GBrowserIsCompatible()) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
map = new GMap2(mapNode);&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
map.setCenter(new GLatLng(30, -40), 3, G_HYBRID_MAP);&lt;br /&gt;
map.addControl(new GLargeMapControl());&lt;br /&gt;
map.addControl(new GMapTypeControl());&lt;br /&gt;
&lt;br /&gt;
map.enableDoubleClickZoom();&lt;br /&gt;
map.enableContinuousZoom();&lt;br /&gt;
map.enableScrollWheelZoom();&lt;br /&gt;
 &lt;br /&gt;
// Add map points&lt;br /&gt;
addLocation(-23.541248,-47.090321, 'Abando', 'abando.org', 'São Roque, São Paulo&amp;lt;br&amp;gt;Brazil', '', &amp;quot;Feb 13-16&amp;quot;);&lt;br /&gt;
addLocation(47.656832,-117.419643, 'All Fur Fun', 'allfurfun.com', 'Westcoast Ridpath Hotel&amp;lt;br&amp;gt;515 W Sprague Avenue&amp;lt;br&amp;gt; Spokane 99204&amp;lt;br&amp;gt;USA', '+1 (877) 209-8635'); //&amp;quot;May 15-17, 2009&amp;quot;, Inactive in 2010&lt;br /&gt;
addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina');&lt;br /&gt;
addLocation(33.944791,-118.373807, 'Antheria', 'www.antheria.org', 'The Westin Los Angeles Airport&amp;lt;br&amp;gt;5400 West Century Boulevard&amp;lt;br&amp;gt;Los Angeles, CA 90045', '+1 (310) 216-5858', 'Oct 1-3');&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jun 24-27');&lt;br /&gt;
//Anthrotomne, France, Late October, no clue for 2010&lt;br /&gt;
//BC Fur BQ, domain squatted&lt;br /&gt;
//We do have lots of furries in Ottawa, but getting a con running takes more than just furries.&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'http://www.berlicon.org/', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 17-20');&lt;br /&gt;
addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 22-23');&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'Jun 4-6');&lt;br /&gt;
addLocation(32.71025 ,-117.161744, 'Califur Diego', 'califur.com', 'Horton Grand Hotel&amp;lt;br&amp;gt;311 Island Ave&amp;lt;br&amp;gt;San Diego, California 92101&amp;lt;br&amp;gt;USA', '+1 (619) 544-1886');//not sure if they still hold it&lt;br /&gt;
addLocation(49.637927,  16.532192, 'ČeSFuR', 'www.cesfur.org', 'Turistická ubytovna Pohoda&amp;lt;br&amp;gt;Březová nad Svitavou&amp;lt;br&amp;gt;Czech Republic', '', 'Jun30-Jul3');//&lt;br /&gt;
addLocation(46.973664,8.616457, 'CH-on', 'con.swissfurs.ch', '', '', 'Jun3-6');//&lt;br /&gt;
//Colonge Fur-Dance, Germany, June/November, no clue for 2010&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 6-8');&lt;br /&gt;
addLocation(53.475436,    -2.2575, 'ConFuzzled', 'confuzzled.org.uk', 'Potato Wharf, Castlefield&amp;lt;br&amp;gt;Manchester M3 4NB&amp;lt;br&amp;gt;England', '+44 (0)870 770 5950', 'May 07-10');&lt;br /&gt;
//addLocation(50.964684,-114.069307, 'ConWild', 'nlwolf.com/calfur.html', 'Best Western Hospitality Inn&amp;lt;br&amp;gt;135 Southland Drive SE&amp;lt;br&amp;gt;Calgary, Alberta T2J 5X5&amp;lt;br&amp;gt;Canada', '+1 (403) 278-5050');//unlikely to be held again&lt;br /&gt;
addLocation(41.80347,-88.120222, 'Duckon', 'www.duckon.org', 'Naperville Holiday Inn Select&amp;lt;br&amp;gt;1801 Naper Blvd&amp;lt;br&amp;gt;Naperville, IL 60563&amp;lt;br&amp;gt;United States', '', 'Jun 18-20');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'http://ele.furryhost.com/', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee FL 34747, United States');//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
//Eufuria, Denmark, June - Cancelled for 2010&lt;br /&gt;
addLocation(50.616714,  10.723858, 'Eurofurence', 'eurofurence.org', 'Ringberg Resort Hotel&amp;lt;br&amp;gt;Ringberg 10&amp;lt;br&amp;gt;D-98527 Suhl&amp;lt;br&amp;gt;Germany', '+49 36 81/3 89-0', 'Sep1-5');&lt;br /&gt;
addLocation(40.703546, -74.184279, 'FA: United', 'faunited.com', 'Ramada Inn - Newark Airport&amp;lt;br&amp;gt;550 Route 1 South&amp;lt;br&amp;gt;Newark, New Jersey, 07114&amp;lt;br&amp;gt;USA', '+1 (973) 824-4000', 'May 28-30');&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Sep 1-5');&lt;br /&gt;
//Fhursky, France Alps (45.5049, 6.7006), early Jan, no clue for 2011&lt;br /&gt;
addLocation(43.087839, -77.616139, 'FOXmas', 'foxmas.com', 'Holiday Inn Hotel &amp;amp; Suites&amp;lt;br&amp;gt;800 Jefferson Road&amp;lt;br&amp;gt;Rochester, NY 14623&amp;lt;br&amp;gt;USA', '+1 (585) 475-9190','December'); //in planning&lt;br /&gt;
//addLocation(38.105116, -78.196993, 'Fur Camping Con', 'furries.meetup.com/286/?gj=sj3', 'Fur Camping Con&amp;lt;br&amp;gt;Gordonsville, Virginia 22942&amp;lt;br&amp;gt;USA', '', 'May/october');//last activity was 2008&lt;br /&gt;
addLocation(-38.625454,176.090927, 'FurcoNZ', 'www.furconz.org.nz', 'Wairakei, Waikato&amp;lt;br&amp;gt;New Zealand', '', 'Nov 26-29'); //&lt;br /&gt;
addLocation(-28.00041, 153.4264, 'FurDU', 'www.furrydownunder.com', 'vibe hotel gold coast&amp;lt;br&amp;gt;42 Ferny Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'Apr 23-25');&lt;br /&gt;
addLocation(41.542706, -72.970258, 'FurFright', 'furfright.org', 'Connecticut Grand Hotel&amp;lt;br&amp;gt;3580 East Main Street&amp;lt;br&amp;gt;Waterbury, CT 06705&amp;lt;br&amp;gt;USA', '+1 (203) 706-1000', 'Oct 29-31');&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'http://www.furjam.org/', 'Sydney, Australia', '', 'Sep 24-26');&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'floridafurs.com/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900'); //late october, no clue for 2010&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Doubletree by Hilton Toronto Airport‎&amp;lt;br&amp;gt;33 Carlson Ct&amp;lt;br&amp;gt;Toronto, ON M9W&amp;lt;br&amp;gt;Canada‎', '+1 (800) 668-3656‎', 'Mar 6-7');&lt;br /&gt;
//Furnival late july, may not be held 2010, NE Ohio&lt;br /&gt;
addLocation(59.379824,  13.515136, 'FurryCon', 'furrycon.se', 'Verkstadsgatan 1&amp;lt;br&amp;gt;65219 Karlstad&amp;lt;br&amp;gt;Sweden', '‎', 'September 18-20'); //Was held mid-September 2009, no clue for 2010&lt;br /&gt;
addLocation(42.441891, -83.434789, 'Furry Connection North', 'furryconnect.com', 'Shearton Detroit Novi&amp;lt;br&amp;gt;21111 Haggerty Road&amp;lt;br&amp;gt;Novi, Michigan 48375&amp;lt;br&amp;gt;USA', '+1 (248) 349-4000', 'Apr 9-11');//&lt;br /&gt;
addLocation(26.121997, -80.143375, 'Furry Cruise', 'furrycruise.livejournal.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Monarch of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Fort Lauderdale, Florida&amp;lt;br&amp;gt;USA', '+1 (800) 542 3895', 'Dec 4-9');&lt;br /&gt;
addLocation(32.9455, -96.8398, 'Furry Fiesta', 'www.furryfiesta.org', 'Crowne Plaza Hotel&amp;lt;br&amp;gt;14315 Midway Road&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA','+1 (972) 980-8877', 'Feb 25-27');&lt;br /&gt;
addLocation(33.626091, -84.451776, 'Furry Weekend Atlanta', 'furryweekend.com', 'Sheraton Gateway Hotel&amp;lt;br&amp;gt;1900 Sullivan Road&amp;lt;br&amp;gt;Atlanta, Georgia 30337&amp;lt;br&amp;gt;USA', '+1 (770) 997-1100', 'Mar 25-28');&lt;br /&gt;
//Furstock, Poland&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'July 8-10');&lt;br /&gt;
addLocation(37.333065,-121.889043, 'Further Confusion', 'furtherconfusion.org', 'Fairmont San Jose&amp;lt;br&amp;gt;170 South Market Street &amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 (866) 540-4493 ', 'Jan20-24');&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'fn.boarral.com', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229');//Winter:February 12-15 Summer: July 30-August 2&lt;br /&gt;
//Futrzakon Coming soon. Aug2010?&lt;br /&gt;
//Golden leaves con '404'&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '030-261030-0', '26.03.2010 - 28.03.2010');//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Sep 30 - Oct 03');// not on list&lt;br /&gt;
addLocation(49.181619,-122.845057, 'Howloween', 'howloween.org', 'Compass Point Inn&amp;lt;br&amp;gt;9850 King George Highway&amp;lt;br&amp;gt;Surrey, British Columbia, V3T 4Y3&amp;lt;br&amp;gt;Canada', '+1 (604) 588-9511 ', 'November 7th');//Early November, no clue for 2010&lt;br /&gt;
addLocation(40.78834,-73.111954, 'I-Con', 'www.iconsf.org', 'Holiday Inn Ronkonkoma&amp;lt;br&amp;gt;3845 Veterans Memorial Highway&amp;lt;br&amp;gt;Ronkonkoma, NY 11779','(631) 585-9500 ', 'Mar26-28');&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Hilton Indianapolis North&amp;lt;br&amp;gt;8181 North Shadeland Ave&amp;lt;br&amp;gt;Indianapolis, Indiana 46250&amp;lt;br&amp;gt;USA', '+1 (317) 849-6668', 'Aug13-15');&lt;br /&gt;
//Kemocon would be here, reuse TransFur entry&lt;br /&gt;
addLocation(35.535284, 139.701167, 'Kemocon', 'www.kemocon.com', 'Exhibition Room 4F&amp;lt;br&amp;gt;Kawasaki City Industrial Promotion Hall&amp;lt;br&amp;gt;66-20, horikawa-cho&amp;lt;br&amp;gt;Saiwaiku, Kawasaki-city, Kanagawa, Japan', '', 'Nov 30');//〒212-0013 is the postal code (It has the postal code 〒-symbol) no clue for 2010; &lt;br /&gt;
addLocation(47.647523,  13.896396, 'Lakeside Furs', 'lakesidefurs.at.tt', 'Grundlsee Youth &amp;amp; Family Guesthouse&amp;lt;br&amp;gt;Goessl 149, Steiermark 8993&amp;lt;br&amp;gt;Austria', '+43 (0)3622/8629', 'Jul 31-Aug 7');&lt;br /&gt;
addLocation(28.333938, -81.587638, 'Megaplex', 'megaplexcon.org', 'Radisson Worldgate Hotel&amp;lt;br&amp;gt;3011 Maingate Lane&amp;lt;br&amp;gt;Kissimmee, FL 34747-2302&amp;lt;br&amp;gt;USA', '+1 (407) 278-7073', 'Jul 23-25');&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Fur Meet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Sep 3-5');&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May13-16');&lt;br /&gt;
addLocation(-37.79461, 144.978901, 'MiDFur', 'www.midfur.com.au', 'Victoria Hotel&amp;lt;br&amp;gt;Little Collins St.&amp;lt;br&amp;gt;Melbourne, VIC&amp;lt;br&amp;gt;Australia', '+61 (03) 9669 0000', 'Dec2-5');&lt;br /&gt;
addLocation(42.148741, -87.913826, 'Midwest FurFest', 'furfest.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, Illinois 60090&amp;lt;br&amp;gt;USA', '+1 (847) 777-6500', 'Nov19-21');&lt;br /&gt;
addLocation(40.105846, -83.017244, 'Morphicon', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May13-16');&lt;br /&gt;
addLocation(43.056362,-89.49656, 'NakamaCon', 'http://www.nakamacon.com/main/', 'Radisson Hotel Madison&amp;lt;br&amp;gt;517 Grand Canyon Drive, Madison Wisconsin 53719, &amp;lt;br&amp;gt;United States', '1-800-395-7046', 'May 27-31')&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct28-Nov1');&lt;br /&gt;
addLocation(-31.952222, 115.858889, 'Perthfur Gathering', 'gathering.perthfurs.net', 'Perth, Western Australia', '', 'Aug 2010?');//&amp;quot;3rd qtr, 2010&amp;quot;&lt;br /&gt;
addLocation(-34.929, 138.601, 'RadFur', 'radfur.safurs.net', 'Adelaide, South Australia', '', 'Oct 1-3');&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', ' The Seattle Airport Marriott&amp;lt;br&amp;gt;3201 South 176th Street&amp;lt;br&amp;gt;Seattle, Washington 98188&amp;lt;br&amp;gt;USA', '+1 (206) 241-2000', 'Sep 24-26');&lt;br /&gt;
addLocation(51.502692,-0.023925, 'RBW', 'rbw.org.uk', 'Canary Wharf, London&amp;lt;br&amp;gt;United Kingdom', '', 'Nov 5-7');&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'Jul 9-11');&lt;br /&gt;
addLocation(34.729481, -86.586170, 'Rocket City FurMeet', 'rcfm.net', 'Huntsville, Alabama&amp;lt;br&amp;gt;USA', '', 'May28-30');//&lt;br /&gt;
addLocation(39.742323,-104.99181, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Crowne Plaza Hotel&amp;lt;br&amp;gt;1450 Glenarm Place&amp;lt;br&amp;gt;Denver, Colorado 80202&amp;lt;br&amp;gt;USA', '+1 (303) 573-1450', 'Aug6-8');&lt;br /&gt;
addLocation(55.734529,  36.882262, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Звенигородский&amp;quot; (RAS &amp;quot;Zvenigorodsky&amp;quot;)&amp;lt;br&amp;gt;Звенигород (Zvenigorod), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'January 26-31');&lt;br /&gt;
//ScotiaCon Apr23-24, 2011, Inverness, Scotland&lt;br /&gt;
addLocation(-33.828077, 18.509561, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=46&amp;amp;t=284', 'At Cheryls&amp;lt;br&amp;gt;50 Circle Road&amp;lt;br&amp;gt;Table View, South Africa', '+27 (0) 21 557 7693');//registered only, no clue for 2010&lt;br /&gt;
addLocation(47.5, 12.016667, 'Summit', 'www.the-summit.info', 'Angerberg, Austria', '', 'Jun26-Jul3');&lt;br /&gt;
addLocation(52.45, 13.566667, 'Tropicon', '', 'Köpenick, Berlin, Germany', '', 'Jul 15-18');&lt;br /&gt;
addLocation(-32.970796,-60.612774, 'UFACon', 'ufa.ahiros.com.ar/ufacon.htm', 'Centro de Expresiones Contemporáneas&amp;lt;br&amp;gt;Bajada Sgto. Cabral y el Río&amp;lt;br&amp;gt;Rosario&amp;lt;br&amp;gt;Argentina', '(0341) 480-2245 y 480-2545', 'October'); //check date, no clue for 2010&lt;br /&gt;
addLocation(45.4931910,-73.5736397, 'What The Fur', 'http://whatthefur.ca/', 'The Days Hotel &amp;amp; Conference Centre of Montreal&amp;lt;br&amp;gt;1005 rue Guy, Montréal, QC H3H 2K4, Canada', '514-938-4611', 'Jun 4-6');&lt;br /&gt;
addLocation(40.538786, -79.830565, 'Western Pennsylvania Furry Weekend', 'wpafw.org', 'Comfort Inn Pittsburgh North&amp;lt;br&amp;gt;2801 Freeport Road&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15238&amp;lt;br&amp;gt;USA', '+1 (412) 828-9400'); //seems to have no plan for 2010&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr22-26');&lt;br /&gt;
addLocation(47.405582,  12.040372, 'Zillercon', 'furcon.de/#con460', 'Wildschönau, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan22-29');&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date) {&lt;br /&gt;
  return '&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;http://en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + (url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;' + address + (tel?('&amp;lt;br&amp;gt;Phone: ' + tel):'') + (?'&amp;lt;br&amp;gt;'+:'');&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel, date) {&lt;br /&gt;
  var marker = new GMarker(new GLatLng(lat, lng));&lt;br /&gt;
  GEvent.addListener(marker, &amp;quot;click&amp;quot;, function() {&lt;br /&gt;
    map.panTo(marker.getPoint());&lt;br /&gt;
    marker.openInfoWindowHtml(getLocationHTML(name, url, address, tel, date));&lt;br /&gt;
  });&lt;br /&gt;
  var link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  link.innerHTML = name;&lt;br /&gt;
  link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
  link.onclick = function() {&lt;br /&gt;
    map.panTo(marker.getPoint());&lt;br /&gt;
    marker.openInfoWindowHtml(getLocationHTML(name, url, address, tel, date));&lt;br /&gt;
  };&lt;br /&gt;
  document.getElementById(&amp;quot;side&amp;quot;).appendChild(link);&lt;br /&gt;
  document.getElementById(&amp;quot;side&amp;quot;).appendChild(document.createElement(&amp;quot;BR&amp;quot;));&lt;br /&gt;
  map.addOverlay(marker);&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2010-03-09T01:57:34Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://greenreaper.co.uk/wikifur/ConventionMap.html map of active conventions]. &amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
function load() {&lt;br /&gt;
 if (GBrowserIsCompatible()) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
map = new GMap2(mapNode);&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
map.setCenter(new GLatLng(30, -40), 3, G_HYBRID_MAP);&lt;br /&gt;
map.addControl(new GLargeMapControl());&lt;br /&gt;
map.addControl(new GMapTypeControl());&lt;br /&gt;
&lt;br /&gt;
map.enableDoubleClickZoom();&lt;br /&gt;
map.enableContinuousZoom();&lt;br /&gt;
map.enableScrollWheelZoom();&lt;br /&gt;
 &lt;br /&gt;
// Add map points&lt;br /&gt;
addLocation(-23.541248,-47.090321, 'Abando', 'abando.org', 'São Roque, São Paulo&amp;lt;br&amp;gt;Brazil', '', &amp;quot;Feb 13-16&amp;quot;);&lt;br /&gt;
addLocation(47.656832,-117.419643, 'All Fur Fun', 'allfurfun.com', 'Westcoast Ridpath Hotel&amp;lt;br&amp;gt;515 W Sprague Avenue&amp;lt;br&amp;gt; Spokane 99204&amp;lt;br&amp;gt;USA', '+1 (877) 209-8635'); //&amp;quot;May 15-17, 2009&amp;quot;, Inactive in 2010&lt;br /&gt;
addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina');&lt;br /&gt;
addLocation(33.944791,-118.373807, 'Antheria', 'www.antheria.org', 'The Westin Los Angeles Airport&amp;lt;br&amp;gt;5400 West Century Boulevard&amp;lt;br&amp;gt;Los Angeles, CA 90045', '+1 (310) 216-5858', 'Oct 1-3');&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jun 24-27');&lt;br /&gt;
//Anthrotomne, France, Late October, no clue for 2010&lt;br /&gt;
//BC Fur BQ, domain squatted&lt;br /&gt;
//We do have lots of furries in Ottawa, but getting a con running takes more than just furries.&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'http://www.berlicon.org/', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 17-20');&lt;br /&gt;
addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 22-23');&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'Jun 4-6');&lt;br /&gt;
addLocation(32.71025 ,-117.161744, 'Califur Diego', 'califur.com', 'Horton Grand Hotel&amp;lt;br&amp;gt;311 Island Ave&amp;lt;br&amp;gt;San Diego, California 92101&amp;lt;br&amp;gt;USA', '+1 (619) 544-1886');//not sure if they still hold it&lt;br /&gt;
addLocation(49.637927,  16.532192, 'ČeSFuR', 'www.cesfur.org', 'Turistická ubytovna Pohoda&amp;lt;br&amp;gt;Březová nad Svitavou&amp;lt;br&amp;gt;Czech Republic', '', 'Jun30-Jul3');//&lt;br /&gt;
addLocation(46.973664,8.616457, 'CH-on', 'con.swissfurs.ch', '', '', 'Jun3-6');//&lt;br /&gt;
//Colonge Fur-Dance, Germany, June/November, no clue for 2010&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 6-8');&lt;br /&gt;
addLocation(53.475436,    -2.2575, 'ConFuzzled', 'confuzzled.org.uk', 'Potato Wharf, Castlefield&amp;lt;br&amp;gt;Manchester M3 4NB&amp;lt;br&amp;gt;England', '+44 (0)870 770 5950', 'May 07-10');&lt;br /&gt;
//addLocation(50.964684,-114.069307, 'ConWild', 'nlwolf.com/calfur.html', 'Best Western Hospitality Inn&amp;lt;br&amp;gt;135 Southland Drive SE&amp;lt;br&amp;gt;Calgary, Alberta T2J 5X5&amp;lt;br&amp;gt;Canada', '+1 (403) 278-5050');//unlikely to be held again&lt;br /&gt;
addLocation(41.80347,-88.120222, 'Duckon', 'www.duckon.org', 'Naperville Holiday Inn Select&amp;lt;br&amp;gt;1801 Naper Blvd&amp;lt;br&amp;gt;Naperville, IL 60563&amp;lt;br&amp;gt;United States', '', 'Jun 18-20');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'http://ele.furryhost.com/', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee FL 34747, United States');//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
//Eufuria, Denmark, June - Cancelled for 2010&lt;br /&gt;
addLocation(50.616714,  10.723858, 'Eurofurence', 'eurofurence.org', 'Ringberg Resort Hotel&amp;lt;br&amp;gt;Ringberg 10&amp;lt;br&amp;gt;D-98527 Suhl&amp;lt;br&amp;gt;Germany', '+49 36 81/3 89-0', 'Sep1-5');&lt;br /&gt;
addLocation(40.703546, -74.184279, 'FA: United', 'faunited.com', 'Ramada Inn - Newark Airport&amp;lt;br&amp;gt;550 Route 1 South&amp;lt;br&amp;gt;Newark, New Jersey, 07114&amp;lt;br&amp;gt;USA', '+1 (973) 824-4000', 'May 28-30');&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Sep 1-5');&lt;br /&gt;
//Fhursky, France Alps (45.5049, 6.7006), early Jan, no clue for 2011&lt;br /&gt;
addLocation(43.087839, -77.616139, 'FOXmas', 'foxmas.com', 'Holiday Inn Hotel &amp;amp; Suites&amp;lt;br&amp;gt;800 Jefferson Road&amp;lt;br&amp;gt;Rochester, NY 14623&amp;lt;br&amp;gt;USA', '+1 (585) 475-9190','December'); //in planning&lt;br /&gt;
//addLocation(38.105116, -78.196993, 'Fur Camping Con', 'furries.meetup.com/286/?gj=sj3', 'Fur Camping Con&amp;lt;br&amp;gt;Gordonsville, Virginia 22942&amp;lt;br&amp;gt;USA', '', 'May/october');//last activity was 2008&lt;br /&gt;
addLocation(-38.625454,176.090927, 'FurcoNZ', 'www.furconz.org.nz', 'Wairakei, Waikato&amp;lt;br&amp;gt;New Zealand', '', 'Nov 26-29'); //&lt;br /&gt;
addLocation(-28.00041, 153.4264, 'FurDU', 'www.furrydownunder.com', 'vibe hotel gold coast&amp;lt;br&amp;gt;42 Ferny Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'Apr 23-25');&lt;br /&gt;
addLocation(41.542706, -72.970258, 'FurFright', 'furfright.org', 'Connecticut Grand Hotel&amp;lt;br&amp;gt;3580 East Main Street&amp;lt;br&amp;gt;Waterbury, CT 06705&amp;lt;br&amp;gt;USA', '+1 (203) 706-1000', 'Oct 29-31');&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'http://www.furjam.org/', 'Sydney, Australia', '', 'Sep 24-26');&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'floridafurs.com/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900'); //late october, no clue for 2010&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Doubletree by Hilton Toronto Airport‎&amp;lt;br&amp;gt;33 Carlson Ct&amp;lt;br&amp;gt;Toronto, ON M9W&amp;lt;br&amp;gt;Canada‎', '+1 (800) 668-3656‎', 'Mar 6-7');&lt;br /&gt;
//Furnival late july, may not be held 2010, NE Ohio&lt;br /&gt;
addLocation(59.379824,  13.515136, 'FurryCon', 'furrycon.se', 'Verkstadsgatan 1&amp;lt;br&amp;gt;65219 Karlstad&amp;lt;br&amp;gt;Sweden', '‎', 'September 18-20'); //Was held mid-September 2009, no clue for 2010&lt;br /&gt;
addLocation(42.441891, -83.434789, 'Furry Connection North', 'furryconnect.com', 'Shearton Detroit Novi&amp;lt;br&amp;gt;21111 Haggerty Road&amp;lt;br&amp;gt;Novi, Michigan 48375&amp;lt;br&amp;gt;USA', '+1 (248) 349-4000', 'Apr 9-11');//&lt;br /&gt;
addLocation(26.121997, -80.143375, 'Furry Cruise', 'furrycruise.livejournal.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Monarch of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Fort Lauderdale, Florida&amp;lt;br&amp;gt;USA', '+1 (800) 542 3895', 'Dec 4-9');&lt;br /&gt;
addLocation(32.9455, -96.8398, 'Furry Fiesta', 'www.furryfiesta.org', 'Crowne Plaza Hotel&amp;lt;br&amp;gt;14315 Midway Road&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA','+1 (972) 980-8877', 'Feb 25-27');&lt;br /&gt;
addLocation(33.626091, -84.451776, 'Furry Weekend Atlanta', 'furryweekend.com', 'Sheraton Gateway Hotel&amp;lt;br&amp;gt;1900 Sullivan Road&amp;lt;br&amp;gt;Atlanta, Georgia 30337&amp;lt;br&amp;gt;USA', '+1 (770) 997-1100', 'Mar 25-28');&lt;br /&gt;
//Furstock, Poland&lt;br /&gt;
addLocation(57.05, 9.916667, 'Furtastic', 'www.furtastic.dk', 'Denmark', '', 'July 8-10');&lt;br /&gt;
addLocation(37.333065,-121.889043, 'Further Confusion', 'furtherconfusion.org', 'Fairmont San Jose&amp;lt;br&amp;gt;170 South Market Street &amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 (866) 540-4493 ', 'Jan20-24');&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'fn.boarral.com', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229');//Winter:February 12-15 Summer: July 30-August 2&lt;br /&gt;
//Futrzakon Coming soon. Aug2010?&lt;br /&gt;
//Golden leaves con '404'&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '030-261030-0', '26.03.2010 - 28.03.2010');//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Sep 30 - Oct 03');// not on list&lt;br /&gt;
addLocation(49.181619,-122.845057, 'Howloween', 'howloween.org', 'Compass Point Inn&amp;lt;br&amp;gt;9850 King George Highway&amp;lt;br&amp;gt;Surrey, British Columbia, V3T 4Y3&amp;lt;br&amp;gt;Canada', '+1 (604) 588-9511 ', 'November 7th');//Early November, no clue for 2010&lt;br /&gt;
addLocation(40.78834,-73.111954, 'I-Con', 'www.iconsf.org', 'Holiday Inn Ronkonkoma&amp;lt;br&amp;gt;3845 Veterans Memorial Highway&amp;lt;br&amp;gt;Ronkonkoma, NY 11779','(631) 585-9500 ', 'Mar26-28');&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Hilton Indianapolis North&amp;lt;br&amp;gt;8181 North Shadeland Ave&amp;lt;br&amp;gt;Indianapolis, Indiana 46250&amp;lt;br&amp;gt;USA', '+1 (317) 849-6668', 'Aug13-15');&lt;br /&gt;
//Kemocon would be here, reuse TransFur entry&lt;br /&gt;
addLocation(35.535284, 139.701167, 'Kemocon', 'www.kemocon.com', 'Exhibition Room 4F&amp;lt;br&amp;gt;Kawasaki City Industrial Promotion Hall&amp;lt;br&amp;gt;66-20, horikawa-cho&amp;lt;br&amp;gt;Saiwaiku, Kawasaki-city, Kanagawa, Japan', '', 'Nov 30');//〒212-0013 is the postal code (It has the postal code 〒-symbol) no clue for 2010; &lt;br /&gt;
addLocation(47.647523,  13.896396, 'Lakeside Furs', 'lakesidefurs.at.tt', 'Grundlsee Youth &amp;amp; Family Guesthouse&amp;lt;br&amp;gt;Goessl 149, Steiermark 8993&amp;lt;br&amp;gt;Austria', '+43 (0)3622/8629', 'Jul 31-Aug 7');&lt;br /&gt;
addLocation(28.333938, -81.587638, 'Megaplex', 'megaplexcon.org', 'Radisson Worldgate Hotel&amp;lt;br&amp;gt;3011 Maingate Lane&amp;lt;br&amp;gt;Kissimmee, FL 34747-2302&amp;lt;br&amp;gt;USA', '+1 (407) 278-7073', 'Jul 23-25');&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Fur Meet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Sep 3-5');&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May13-16');&lt;br /&gt;
addLocation(-37.79461, 144.978901, 'MiDFur', 'www.midfur.com.au', 'Victoria Hotel&amp;lt;br&amp;gt;Little Collins St.&amp;lt;br&amp;gt;Melbourne, VIC&amp;lt;br&amp;gt;Australia', '+61 (03) 9669 0000', 'Dec2-5');&lt;br /&gt;
addLocation(42.148741, -87.913826, 'Midwest FurFest', 'furfest.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, Illinois 60090&amp;lt;br&amp;gt;USA', '+1 (847) 777-6500', 'Nov19-21');&lt;br /&gt;
addLocation(40.105846, -83.017244, 'Morphicon', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May13-16');&lt;br /&gt;
addLocation(43.056362,-89.49656, 'NakamaCon', 'http://www.nakamacon.com/main/', 'Radisson Hotel Madison&amp;lt;br&amp;gt;517 Grand Canyon Drive, Madison Wisconsin 53719, &amp;lt;br&amp;gt;United States', '1-800-395-7046', 'May 27-31')&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct28-Nov1');&lt;br /&gt;
addLocation(-31.952222, 115.858889, 'Perthfur Gathering', 'gathering.perthfurs.net', 'Perth, Western Australia', '', 'Aug 2010?');//&amp;quot;3rd qtr, 2010&amp;quot;&lt;br /&gt;
addLocation(-34.929, 138.601, 'RadFur', 'radfur.safurs.net', 'Adelaide, South Australia', '', 'Oct 1-3');&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', ' The Seattle Airport Marriott&amp;lt;br&amp;gt;3201 South 176th Street&amp;lt;br&amp;gt;Seattle, Washington 98188&amp;lt;br&amp;gt;USA', '+1 (206) 241-2000', 'Sep 24-26');&lt;br /&gt;
addLocation(51.502692,-0.023925, 'RBW', 'rbw.org.uk', 'Canary Wharf, London&amp;lt;br&amp;gt;United Kingdom', '', 'Nov 5-7');&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'Jul 9-11');&lt;br /&gt;
addLocation(34.729481, -86.586170, 'Rocket City FurMeet', 'rcfm.net', 'Huntsville, Alabama&amp;lt;br&amp;gt;USA', '', 'May28-30');//&lt;br /&gt;
addLocation(39.742323,-104.99181, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Crowne Plaza Hotel&amp;lt;br&amp;gt;1450 Glenarm Place&amp;lt;br&amp;gt;Denver, Colorado 80202&amp;lt;br&amp;gt;USA', '+1 (303) 573-1450', 'Aug6-8');&lt;br /&gt;
addLocation(55.734529,  36.882262, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Звенигородский&amp;quot; (RAS &amp;quot;Zvenigorodsky&amp;quot;)&amp;lt;br&amp;gt;Звенигород (Zvenigorod), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'January 26-31');&lt;br /&gt;
//ScotiaCon Apr23-24, 2011, Inverness, Scotland&lt;br /&gt;
addLocation(-33.828077, 18.509561, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=46&amp;amp;t=284', 'At Cheryls&amp;lt;br&amp;gt;50 Circle Road&amp;lt;br&amp;gt;Table View, South Africa', '+27 (0) 21 557 7693');//registered only, no clue for 2010&lt;br /&gt;
addLocation(47.5, 12.016667, 'Summit', 'www.the-summit.info', 'Angerberg, Austria', '', 'Jun26-Jul3');&lt;br /&gt;
addLocation(52.45, 13.566667, 'Tropicon', '', 'Köpenick, Berlin, Germany', '', 'Jul 15-18');&lt;br /&gt;
addLocation(-32.970796,-60.612774, 'UFACon', 'ufa.ahiros.com.ar/ufacon.htm', 'Centro de Expresiones Contemporáneas&amp;lt;br&amp;gt;Bajada Sgto. Cabral y el Río&amp;lt;br&amp;gt;Rosario&amp;lt;br&amp;gt;Argentina', '(0341) 480-2245 y 480-2545', 'October'); //check date, no clue for 2010&lt;br /&gt;
addLocation(45.4931910,-73.5736397, 'What The Fur', 'http://whatthefur.ca/', 'The Days Hotel &amp;amp; Conference Centre of Montreal&amp;lt;br&amp;gt;1005 rue Guy, Montréal, QC H3H 2K4, Canada', '514-938-4611', 'Jun 4-6');&lt;br /&gt;
addLocation(40.538786, -79.830565, 'Western Pennsylvania Furry Weekend', 'wpafw.org', 'Comfort Inn Pittsburgh North&amp;lt;br&amp;gt;2801 Freeport Road&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15238&amp;lt;br&amp;gt;USA', '+1 (412) 828-9400'); //seems to have no plan for 2010&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr22-26');&lt;br /&gt;
addLocation(47.405582,  12.040372, 'Zillercon', 'furcon.de/#con460', 'Wildschönau, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan22-29');&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date) {&lt;br /&gt;
  return '&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;http://en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + (url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;' + address + (tel?('&amp;lt;br&amp;gt;Phone: ' + tel):'') + (date?'&amp;lt;br&amp;gt;'+date:'');&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel) {&lt;br /&gt;
  var marker = new GMarker(new GLatLng(lat, lng));&lt;br /&gt;
  GEvent.addListener(marker, &amp;quot;click&amp;quot;, function() {&lt;br /&gt;
    map.panTo(marker.getPoint());&lt;br /&gt;
    marker.openInfoWindowHtml(getLocationHTML(name, url, address, tel));&lt;br /&gt;
  });&lt;br /&gt;
  var link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  link.innerHTML = name;&lt;br /&gt;
  link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
  link.onclick = function() {&lt;br /&gt;
    map.panTo(marker.getPoint());&lt;br /&gt;
    marker.openInfoWindowHtml(getLocationHTML(name, url, address, tel));&lt;br /&gt;
  };&lt;br /&gt;
  document.getElementById(&amp;quot;side&amp;quot;).appendChild(link);&lt;br /&gt;
  document.getElementById(&amp;quot;side&amp;quot;).appendChild(document.createElement(&amp;quot;BR&amp;quot;));&lt;br /&gt;
  map.addOverlay(marker);&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/Convention_map_script</id>
		<title>Convention map script</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Convention_map_script"/>
				<updated>2010-03-09T01:44:01Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: Update: Added and removed a couple of cons, added date where applicable&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// This powers the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://greenreaper.co.uk/wikifur/ConventionMap.html map of active conventions]. &amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var map = null;&lt;br /&gt;
function load() {&lt;br /&gt;
 if (GBrowserIsCompatible()) {&lt;br /&gt;
&lt;br /&gt;
var mapNode = document.getElementById(&amp;quot;map&amp;quot;);&lt;br /&gt;
map = new GMap2(mapNode);&lt;br /&gt;
&lt;br /&gt;
// Set initial position&lt;br /&gt;
map.setCenter(new GLatLng(30, -40), 3, G_HYBRID_MAP);&lt;br /&gt;
map.addControl(new GLargeMapControl());&lt;br /&gt;
map.addControl(new GMapTypeControl());&lt;br /&gt;
&lt;br /&gt;
map.enableDoubleClickZoom();&lt;br /&gt;
map.enableContinuousZoom();&lt;br /&gt;
map.enableScrollWheelZoom();&lt;br /&gt;
 &lt;br /&gt;
// Add map points&lt;br /&gt;
addLocation(-23.541248,-47.090321, 'Abando', 'abando.org', 'São Roque, São Paulo&amp;lt;br&amp;gt;Brazil', '', &amp;quot;Feb 13-16&amp;quot;);//&amp;quot;Feb 13-16&amp;quot;, indet on list&lt;br /&gt;
addLocation(47.656832,-117.419643, 'All Fur Fun', 'allfurfun.com', 'Westcoast Ridpath Hotel&amp;lt;br&amp;gt;515 W Sprague Avenue&amp;lt;br&amp;gt; Spokane 99204&amp;lt;br&amp;gt;USA', '+1 (877) 209-8635'); //&amp;quot;May 15-17, 2009&amp;quot;, Inactive in 2010&lt;br /&gt;
addLocation(-37.891950, -57.832850, 'Animales Sueltos', 'furrycamp.com.ar', 'Camping \'La Serranita\'&amp;lt;br&amp;gt;barrio Colinas Verdes&amp;lt;br&amp;gt;Mar del Plata&amp;lt;br&amp;gt;Argentina');&lt;br /&gt;
addLocation(33.944791,-118.373807, 'Antheria', 'www.antheria.org', 'The Westin Los Angeles Airport&amp;lt;br&amp;gt;5400 West Century Boulevard&amp;lt;br&amp;gt;Los Angeles, CA 90045', '+1 (310) 216-5858', 'Oct 1-3');&lt;br /&gt;
addLocation(40.444334, -79.995532, 'Anthrocon', 'www.anthrocon.org', 'Westin Convention Center Pittsburgh&amp;lt;br&amp;gt;1000 Penn Avenue&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15222&amp;lt;br&amp;gt;USA', '+1 (412) 281-3700', 'Jun 24-27');&lt;br /&gt;
//Anthrotomne, France, Late October, no clue for 2010&lt;br /&gt;
//BC Fur BQ, domain squatted&lt;br /&gt;
//Bytown Fur Con is officially cancelled for 2010. We do have lots of furries in Ottawa, but getting a con running takes more than just furries.&lt;br /&gt;
addLocation(52.597652, 13.22226, 'BerliCon', 'http://www.berlicon.org/', 'Zeltlagerplatz e.V.&amp;lt;br&amp;gt;Rallenweg 4,13505 Berlin-Heiligensee&amp;lt;br&amp;gt;Germany', '', 'Jun 17-20');&lt;br /&gt;
addLocation(61.599498,   9.750860, 'CabinCon', 'swandog.livejournal.com', 'Vinstra&amp;lt;br&amp;gt;Norway', '');//not on list, website is private&lt;br /&gt;
addLocation(39.077092, -74.830348, 'Cape May Fur Meet', 'capemayfurmeet.com', 'Middle Township Elementary School #2&amp;lt;br&amp;gt;101 West Pacific Ave, Cape May Court House&amp;lt;br&amp;gt;Middle, New Jersey 08210&amp;lt;br&amp;gt;USA', '', 'May 22-23');//not on list. Why? - update article as well&lt;br /&gt;
addLocation(33.679673,-117.852488, 'Califur', 'califur.com', 'Irvine Marriott&amp;lt;br&amp;gt;18000 Von Karman Avenue&amp;lt;br&amp;gt;Irvine, California, 92614&amp;lt;br&amp;gt;USA', '+1 (949) 553-0100', 'Jun 4-6');&lt;br /&gt;
addLocation(32.71025 ,-117.161744, 'Califur Diego', 'califur.com', 'Horton Grand Hotel&amp;lt;br&amp;gt;311 Island Ave&amp;lt;br&amp;gt;San Diego, California 92101&amp;lt;br&amp;gt;USA', '+1 (619) 544-1886');//not sure if they still hold it&lt;br /&gt;
addLocation(49.637927,  16.532192, 'ČeSFuR', 'www.cesfur.org', 'Turistická ubytovna Pohoda&amp;lt;br&amp;gt;Březová nad Svitavou&amp;lt;br&amp;gt;Czech Republic', '', 'Jun30-Jul3');//&lt;br /&gt;
addLocation(46.973664,8.616457, 'CH-on', 'con.swissfurs.ch', '', '', 'Jun3-6');//&lt;br /&gt;
//Colonge Fur-Dance, Germany, June/November, no clue for 2010&lt;br /&gt;
addLocation(42.930358, -81.218609, 'Condition', 'www.conditionfurry.ca', 'Four Points Sheraton&amp;lt;br&amp;gt;1150 Wellington Road South&amp;lt;br&amp;gt;London, Ontario N6E 1M3&amp;lt;br&amp;gt;Canada', '+1 (519) 681-0600', 'Aug 6-8');&lt;br /&gt;
addLocation(53.475436,    -2.2575, 'ConFuzzled', 'confuzzled.org.uk', 'Potato Wharf, Castlefield&amp;lt;br&amp;gt;Manchester M3 4NB&amp;lt;br&amp;gt;England', '+44 (0)870 770 5950', 'May 07-10');&lt;br /&gt;
//addLocation(50.964684,-114.069307, 'ConWild', 'nlwolf.com/calfur.html', 'Best Western Hospitality Inn&amp;lt;br&amp;gt;135 Southland Drive SE&amp;lt;br&amp;gt;Calgary, Alberta T2J 5X5&amp;lt;br&amp;gt;Canada', '+1 (403) 278-5050');//unlikely to be held again&lt;br /&gt;
addLocation(41.80347,-88.120222, 'Duckon', 'www.duckon.org', 'Naperville Holiday Inn Select&amp;lt;br&amp;gt;1801 Naper Blvd&amp;lt;br&amp;gt;Naperville, IL 60563&amp;lt;br&amp;gt;United States', '', 'Jun 18-20');&lt;br /&gt;
addLocation(28.33704,-81.587777, 'Elliott\'s Live Events', 'http://ele.furryhost.com/', 'Radisson Resort Worldgate&amp;lt;br&amp;gt;3011 Maingate Lane, Kissimmee FL 34747, United States');//May21-23, Aug7-8, Oct30-31&lt;br /&gt;
//Eufuria, Denmark, June - Cancelled for 2010&lt;br /&gt;
addLocation(50.616714,  10.723858, 'Eurofurence', 'eurofurence.org', 'Ringberg Resort Hotel&amp;lt;br&amp;gt;Ringberg 10&amp;lt;br&amp;gt;D-98527 Suhl&amp;lt;br&amp;gt;Germany', '+49 36 81/3 89-0', 'Sep1-5');&lt;br /&gt;
addLocation(40.703546, -74.184279, 'FA: United', 'faunited.com', 'Ramada Inn - Newark Airport&amp;lt;br&amp;gt;550 Route 1 South&amp;lt;br&amp;gt;Newark, New Jersey, 07114&amp;lt;br&amp;gt;USA', '+1 (973) 824-4000', 'May 28-30');&lt;br /&gt;
addLocation(45.880449, -78.564606, 'Feral!', 'campferal.org', 'Camp Arowhon&amp;lt;br&amp;gt;Algonquin Park, Ontario P1H 2G6&amp;lt;br&amp;gt;Canada', '+1 (705) 633-5651', 'Sep 1-5');&lt;br /&gt;
//Fhursky, France Alps (45.5049, 6.7006), early Jan, no clue for 2011&lt;br /&gt;
addLocation(43.087839, -77.616139, 'FOXmas', 'foxmas.com', 'Holiday Inn Hotel &amp;amp; Suites&amp;lt;br&amp;gt;800 Jefferson Road&amp;lt;br&amp;gt;Rochester, NY 14623&amp;lt;br&amp;gt;USA', '+1 (585) 475-9190','December'); //in planning&lt;br /&gt;
//addLocation(38.105116, -78.196993, 'Fur Camping Con', 'furries.meetup.com/286/?gj=sj3', 'Fur Camping Con&amp;lt;br&amp;gt;Gordonsville, Virginia 22942&amp;lt;br&amp;gt;USA', '', 'May/october');//last activity was 2008&lt;br /&gt;
addLocation(-38.625454,176.090927, 'FurcoNZ', 'www.furconz.org.nz', 'Wairakei, Waikato&amp;lt;br&amp;gt;New Zealand', '', 'Nov 26-29'); //&lt;br /&gt;
addLocation(-28.00041, 153.4264, 'FurDU', 'www.furrydownunder.com', 'vibe hotel gold coast&amp;lt;br&amp;gt;42 Ferny Avenue,&amp;lt;br&amp;gt;Surfers Paradise, QLD 4217&amp;lt;br&amp;gt;Australia', '', 'Apr 23-25');&lt;br /&gt;
addLocation(41.542706, -72.970258, 'FurFright', 'furfright.org', 'Connecticut Grand Hotel&amp;lt;br&amp;gt;3580 East Main Street&amp;lt;br&amp;gt;Waterbury, CT 06705&amp;lt;br&amp;gt;USA', '+1 (203) 706-1000', 'Oct 29-31');&lt;br /&gt;
addLocation(-33.859972, 151.211111, 'FurJam', 'http://www.furjam.org/', 'Sydney, Australia', '', 'Sep 24-26');&lt;br /&gt;
addLocation(28.542401, -81.347945, 'Furloween', 'floridafurs.com/furloween', 'Orlando Elks Lodge&amp;lt;br&amp;gt;12 North Primrose Dr.&amp;lt;br&amp;gt;Orlando, Florida 32803&amp;lt;br&amp;gt;USA', '+1 (407) 282-3900'); //late october, no clue for 2010&lt;br /&gt;
addLocation(43.689551, -79.586356, 'Furnal Equinox', 'furnalequinox.com', 'Doubletree by Hilton Toronto Airport‎&amp;lt;br&amp;gt;33 Carlson Ct&amp;lt;br&amp;gt;Toronto, ON M9W&amp;lt;br&amp;gt;Canada‎', '+1 (800) 668-3656‎', 'Mar 6-7');&lt;br /&gt;
//Furnival late july, may not be held 2010, NE Ohio&lt;br /&gt;
addLocation(59.379824,  13.515136, 'FurryCon', 'furrycon.se', 'Verkstadsgatan 1&amp;lt;br&amp;gt;65219 Karlstad&amp;lt;br&amp;gt;Sweden', '‎', 'September 18-20'); //Was held mid-September 2009, no clue for 2010&lt;br /&gt;
addLocation(42.441891, -83.434789, 'Furry Connection North', 'furryconnect.com', 'Shearton Detroit Novi&amp;lt;br&amp;gt;21111 Haggerty Road&amp;lt;br&amp;gt;Novi, Michigan 48375&amp;lt;br&amp;gt;USA', '+1 (248) 349-4000', 'Apr 9-11');//&lt;br /&gt;
addLocation(26.121997, -80.143375, 'Furry Cruise', 'furrycruise.livejournal.com', 'Royal Caribbean\'s &amp;lt;i&amp;gt;Monarch of the Seas&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;Fort Lauderdale, Florida&amp;lt;br&amp;gt;USA', '+1 (800) 542 3895', 'Dec 4-9'); //update list and article&lt;br /&gt;
addLocation(32.9455, -96.8398, 'Furry Fiesta', 'www.furryfiesta.org', 'Crowne Plaza Hotel&amp;lt;br&amp;gt;14315 Midway Road&amp;lt;br&amp;gt;Addison, Texas 75001&amp;lt;br&amp;gt;USA','+1 (972) 980-8877', 'Feb 25-27');&lt;br /&gt;
addLocation(33.626091, -84.451776, 'Furry Weekend Atlanta', 'furryweekend.com', 'Sheraton Gateway Hotel&amp;lt;br&amp;gt;1900 Sullivan Road&amp;lt;br&amp;gt;Atlanta, Georgia 30337&amp;lt;br&amp;gt;USA', '+1 (770) 997-1100', 'Mar 25-28');&lt;br /&gt;
//Furstock, Poland&lt;br /&gt;
//Furtastic, Proposed for 2011&lt;br /&gt;
addLocation(37.333065,-121.889043, 'Further Confusion', 'furtherconfusion.org', 'Fairmont San Jose&amp;lt;br&amp;gt;170 South Market Street &amp;lt;br&amp;gt;San Jose, CA 95113&amp;lt;br&amp;gt;USA', '+1 (866) 540-4493 ', 'Jan20-24');&lt;br /&gt;
addLocation(51.388923,-115.784912, 'Furthest North', 'fn.boarral.com', 'Deer Creek Provincial Recreation Area&amp;lt;br&amp;gt;Alberta&amp;lt;br&amp;gt;Canada', '+1 (403) 637-2229');//Winter:February 12-15 Summer: July 30-August 2&lt;br /&gt;
//Futrzakon Coming soon. Aug2010?&lt;br /&gt;
//Golden leaves con '404'&lt;br /&gt;
//addLocation(52.505369,  13.353882, 'Herbstcon', 'herbstcon.de', 'Sozialistische Jugend Deutschlands – Die Falken&amp;lt;br&amp;gt;Haus am Lützowplatz&amp;lt;br&amp;gt;Lützowplatz 9&amp;lt;br&amp;gt;10785 Berlin&amp;lt;br&amp;gt;Germany', '030-261030-0', '26.03.2010 - 28.03.2010');//Invite only&lt;br /&gt;
addLocation(49.616848,   8.826463, 'H-Con', 'h-con.afc-group.org', 'Gerhart-Hauptmann-Haus&amp;lt;br&amp;gt;Außerhalb 1-3&amp;lt;br&amp;gt;64689 Grasellenbach-Scharbach&amp;lt;br&amp;gt;Germany', '+49 06 2 07/1 22-1', 'Sep 30 - Oct 03');// not on list&lt;br /&gt;
addLocation(49.181619,-122.845057, 'Howloween', 'howloween.org', 'Compass Point Inn&amp;lt;br&amp;gt;9850 King George Highway&amp;lt;br&amp;gt;Surrey, British Columbia, V3T 4Y3&amp;lt;br&amp;gt;Canada', '+1 (604) 588-9511 ', 'November 7th');//Early November, no clue for 2010&lt;br /&gt;
addLocation(40.78834,-73.111954, 'I-Con', 'www.iconsf.org', 'Holiday Inn Ronkonkoma&amp;lt;br&amp;gt;3845 Veterans Memorial Highway&amp;lt;br&amp;gt;Ronkonkoma, NY 11779','(631) 585-9500 ', 'Mar26-28');&lt;br /&gt;
addLocation(39.768971, -86.160601, 'IndyFurCon', 'indyfurcon.com', 'Hilton Indianapolis North&amp;lt;br&amp;gt;8181 North Shadeland Ave&amp;lt;br&amp;gt;Indianapolis, Indiana 46250&amp;lt;br&amp;gt;USA', '+1 (317) 849-6668', 'Aug13-15');&lt;br /&gt;
//Kemocon would be here, reuse TransFur entry&lt;br /&gt;
addLocation(35.535284, 139.701167, 'Kemocon', 'www.kemocon.com', 'Exhibition Room 4F&amp;lt;br&amp;gt;Kawasaki City Industrial Promotion Hall&amp;lt;br&amp;gt;66-20, horikawa-cho&amp;lt;br&amp;gt;Saiwaiku, Kawasaki-city, Kanagawa, Japan', '', 'Nov 30');//〒212-0013 is the postal code (It has the postal code 〒-symbol) no clue for 2010; &lt;br /&gt;
addLocation(47.647523,  13.896396, 'Lakeside Furs', 'lakesidefurs.at.tt', 'Grundlsee Youth &amp;amp; Family Guesthouse&amp;lt;br&amp;gt;Goessl 149, Steiermark 8993&amp;lt;br&amp;gt;Austria', '+43 (0)3622/8629', 'Jul 31-Aug 7');&lt;br /&gt;
addLocation(28.333938, -81.587638, 'Megaplex', 'megaplexcon.org', 'Radisson Worldgate Hotel&amp;lt;br&amp;gt;3011 Maingate Lane&amp;lt;br&amp;gt;Kissimmee, FL 34747-2302&amp;lt;br&amp;gt;USA', '+1 (407) 278-7073', 'Jul 23-25');&lt;br /&gt;
addLocation(34.966572, -89.791608, 'Mephit Fur Meet', 'mephitfurmeet.org', 'Whispering Woods Hotel &amp;amp; Conference Center&amp;lt;br&amp;gt;11200 Goodman Rd&amp;lt;br&amp;gt;Olive Branch, MS 38654-4212&amp;lt;br&amp;gt;USA', '+1 (662) 895-2941', 'Sep 3-5');&lt;br /&gt;
addLocation(50.825484,   7.887068, 'Mephit Mini Con', 'mmc.furcon.de', 'Freusburg, Seigen&amp;lt;br&amp;gt;Germany', '', 'May13-16');&lt;br /&gt;
addLocation(-37.79461, 144.978901, 'MiDFur', 'www.midfur.com.au', 'Victoria Hotel&amp;lt;br&amp;gt;Little Collins St.&amp;lt;br&amp;gt;Melbourne, VIC&amp;lt;br&amp;gt;Australia', '+61 (03) 9669 0000', 'Dec2-5');&lt;br /&gt;
addLocation(42.148741, -87.913826, 'Midwest FurFest', 'furfest.org', 'Westin Chicago North Shore&amp;lt;br&amp;gt;601 N. Milwaukee Avenue&amp;lt;br&amp;gt;Wheeling, Illinois 60090&amp;lt;br&amp;gt;USA', '+1 (847) 777-6500', 'Nov19-21');&lt;br /&gt;
addLocation(40.105846, -83.017244, 'Morphicon', 'morphicon.org', 'Holiday Inn Columbus-Worthington&amp;lt;br&amp;gt;7007 N. High Street&amp;lt;br&amp;gt;Worthington, Ohio 43085&amp;lt;br&amp;gt;USA', '+1 (614) 436-0700', 'May13-16');&lt;br /&gt;
addLocation(43.056362,-89.49656, 'NakamaCon', 'http://www.nakamacon.com/main/', 'Radisson Hotel Madison&amp;lt;br&amp;gt;517 Grand Canyon Drive, Madison Wisconsin 53719, &amp;lt;br&amp;gt;United States', '1-800-395-7046', 'May 27-31')&lt;br /&gt;
addLocation(35.933888, -98.429604, 'Oklacon', 'oklacon.com', 'Roman Nose State Park&amp;lt;br&amp;gt;Rt 1 Box 2-2&amp;lt;br&amp;gt;Watonga, Oklahoma 73772&amp;lt;br&amp;gt;USA', '+1 (580) 623-4215', 'Oct28-Nov1');&lt;br /&gt;
addLocation(-31.952222, 115.858889, 'Perthfur Gathering', 'gathering.perthfurs.net', 'Perth, Western Australia', '', 'Aug 2010?');//&amp;quot;3rd qtr, 2010&amp;quot;&lt;br /&gt;
addLocation(-34.929, 138.601, 'RadFur', 'radfur.safurs.net', 'Adelaide, South Australia', '', 'Oct 1-3');//&amp;quot;3rd qtr, 2010&amp;quot;&lt;br /&gt;
addLocation(47.444579,-122.293807, 'RainFurrest', 'rainfurrest.org', ' The Seattle Airport Marriott&amp;lt;br&amp;gt;3201 South 176th Street&amp;lt;br&amp;gt;Seattle, Washington 98188&amp;lt;br&amp;gt;USA', '+1 (206) 241-2000', 'Sep 24-26');&lt;br /&gt;
addLocation(51.502692,-0.023925, 'RBW', 'rbw.org.uk', 'Canary Wharf, London&amp;lt;br&amp;gt;United Kingdom', '', 'Nov 5-7');&lt;br /&gt;
addLocation(-27.467778, 153.027778, 'RivFur', 'www.rivfur.org', 'Brisbane, Queensland, Australia', '', 'Jul 9-11');&lt;br /&gt;
addLocation(34.729481, -86.586170, 'Rocket City FurMeet', 'rcfm.net', 'Huntsville, Alabama&amp;lt;br&amp;gt;USA', '', 'May28-30');//&lt;br /&gt;
addLocation(39.742323,-104.99181, 'Rocky Mountain Fur Con', 'rockymountainfurcon.org', 'Crowne Plaza Hotel&amp;lt;br&amp;gt;1450 Glenarm Place&amp;lt;br&amp;gt;Denver, Colorado 80202&amp;lt;br&amp;gt;USA', '+1 (303) 573-1450', 'Aug6-8');&lt;br /&gt;
addLocation(55.734529,  36.882262, 'Rusfurrence', 'rusfurrence.ru', 'РАН &amp;quot;Звенигородский&amp;quot; (RAS &amp;quot;Zvenigorodsky&amp;quot;)&amp;lt;br&amp;gt;Звенигород (Zvenigorod), Moscow&amp;lt;br&amp;gt;Russian Federation', '', 'January 26-31');//Article needs updating, no clue for 2011&lt;br /&gt;
//ScotiaCon Apr23-24, 2011, Inverness, Scotland&lt;br /&gt;
addLocation(-33.828077, 18.509561, 'South Afrifur meet', 'forum.zafur.co.za/viewtopic.php?f=46&amp;amp;t=284', 'At Cheryls&amp;lt;br&amp;gt;50 Circle Road&amp;lt;br&amp;gt;Table View, South Africa', '+27 (0) 21 557 7693');//registered only, no clue for 2010&lt;br /&gt;
addLocation(47.5, 12.016667, 'Summit', 'www.the-summit.info', 'Angerberg, Austria', '', 'Jun26-Jul3');&lt;br /&gt;
addLocation(52.45, 13.566667, 'Tropicon', '', 'Köpenick, Berlin, Germany', '', 'Jul 15-18');&lt;br /&gt;
addLocation(-32.970796,-60.612774, 'UFACon', 'ufa.ahiros.com.ar/ufacon.htm', 'Centro de Expresiones Contemporáneas&amp;lt;br&amp;gt;Bajada Sgto. Cabral y el Río&amp;lt;br&amp;gt;Rosario&amp;lt;br&amp;gt;Argentina', '(0341) 480-2245 y 480-2545', 'October'); //check date, no clue for 2010&lt;br /&gt;
addLocation(45.4931910,-73.5736397, 'What The Fur', 'http://whatthefur.ca/', 'The Days Hotel &amp;amp; Conference Centre of Montreal&amp;lt;br&amp;gt;1005 rue Guy, Montréal, QC H3H 2K4, Canada', '514-938-4611', 'Jun 4-6');&lt;br /&gt;
addLocation(40.538786, -79.830565, 'Western Pennsylvania Furry Weekend', 'wpafw.org', 'Comfort Inn Pittsburgh North&amp;lt;br&amp;gt;2801 Freeport Road&amp;lt;br&amp;gt;Pittsburgh, Pennsylvania 15238&amp;lt;br&amp;gt;USA', '+1 (412) 828-9400'); //seems to have no plan for 2010&lt;br /&gt;
addLocation(35.042611, -95.317672, 'Wild Nights', 'wildnights.org', 'Robbers Cave State Park&amp;lt;br&amp;gt;Wilburton, Oklahoma 74578&amp;lt;br&amp;gt;USA', '+1 (918) 465-2565', 'Apr22-26');&lt;br /&gt;
addLocation(47.405582,  12.040372, 'Zillercon', 'furcon.de/#con460', 'Wildschönau, Tyrol&amp;lt;br&amp;gt;Austria', '', 'Jan22-29');&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getLocationHTML(name, url, address, tel, date) {&lt;br /&gt;
  return '&amp;lt;b&amp;gt;&amp;lt;a href=&amp;quot;http://en.wikifur.com/wiki/' + name + '&amp;quot;&amp;gt;' + name + '&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;' + (url?('&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;http://' + url + '&amp;quot;&amp;gt;' + url + '&amp;lt;/a&amp;gt;'):'') + '&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;' + address + (tel?('&amp;lt;br&amp;gt;Phone: ' + tel):'') + (date?'&amp;lt;br&amp;gt;'+date:'');&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLocation(lat, lng, name, url, address, tel) {&lt;br /&gt;
  var marker = new GMarker(new GLatLng(lat, lng));&lt;br /&gt;
  GEvent.addListener(marker, &amp;quot;click&amp;quot;, function() {&lt;br /&gt;
    map.panTo(marker.getPoint());&lt;br /&gt;
    marker.openInfoWindowHtml(getLocationHTML(name, url, address, tel));&lt;br /&gt;
  });&lt;br /&gt;
  var link = document.createElement(&amp;quot;A&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  link.innerHTML = name;&lt;br /&gt;
  link.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
  link.onclick = function() {&lt;br /&gt;
    map.panTo(marker.getPoint());&lt;br /&gt;
    marker.openInfoWindowHtml(getLocationHTML(name, url, address, tel));&lt;br /&gt;
  };&lt;br /&gt;
  document.getElementById(&amp;quot;side&amp;quot;).appendChild(link);&lt;br /&gt;
  document.getElementById(&amp;quot;side&amp;quot;).appendChild(document.createElement(&amp;quot;BR&amp;quot;));&lt;br /&gt;
  map.addOverlay(marker);&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/File:Da-fox_glowsticks.JPG</id>
		<title>File:Da-fox glowsticks.JPG</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/File:Da-fox_glowsticks.JPG"/>
				<updated>2010-02-10T20:53:01Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: {{en|:en:Da-Fox| playing with glowsticks in his new suit}}

{{cc-by-sa-3.0}}
{{fursona}}&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{en|[[:en:Da-Fox|Da-Fox]] playing with glowsticks in his new suit}}&lt;br /&gt;
&lt;br /&gt;
{{cc-by-sa-3.0}}&lt;br /&gt;
{{fursona}}&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/File:Da-fox-glowsticks-2.JPG</id>
		<title>File:Da-fox-glowsticks-2.JPG</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/File:Da-fox-glowsticks-2.JPG"/>
				<updated>2010-02-10T20:51:40Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{cc-by-sa-3.0}}{{Fursona}}&lt;br /&gt;
&lt;br /&gt;
{{delete}}&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/File:Da-fox-glowsticks-2.JPG</id>
		<title>File:Da-fox-glowsticks-2.JPG</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/File:Da-fox-glowsticks-2.JPG"/>
				<updated>2010-02-10T20:49:32Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: {{cc-by-sa-3.0}}{{Fursona}}&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{cc-by-sa-3.0}}{{Fursona}}&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/File:Pawpad1.jpg</id>
		<title>File:Pawpad1.jpg</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/File:Pawpad1.jpg"/>
				<updated>2010-02-09T14:00:31Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: {{zh|一对猫爪手套，上面有很明显de:zh:肉球|。}}
{{en|A pair of cat-paw gloves, with very distinctive pawpads.}}
{{Cc-by-3.0}}&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{zh|一对猫爪手套，上面有很明显de[[:zh:肉球|肉球]]。}}&lt;br /&gt;
{{en|A pair of cat-paw gloves, with very distinctive pawpads.}}&lt;br /&gt;
{{Cc-by-3.0}}&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	<entry>
		<id>//pool.wikifur.com/wiki/File:Badgecomparisons.jpg</id>
		<title>File:Badgecomparisons.jpg</title>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/File:Badgecomparisons.jpg"/>
				<updated>2010-02-08T19:01:45Z</updated>
		
		<summary type="html">&lt;p&gt;Kakurady: == Summary ==
{{en}}A pair of Jigsaw Forte's con badges, shown for comparison between an official convention badge from Anime Weekend Atlanta 2007 http://www.awa-con.com and a commissioned artist's badge from Angel Jules Stud&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
{{en}}A pair of [[:en:User:Jigsaw_Forte|Jigsaw Forte]]'s con badges, shown for comparison between an official convention badge from Anime Weekend Atlanta 2007 [[http://www.awa-con.com]] and a commissioned artist's badge from Angel Jules Studios [[http://angeljules.com/]].&lt;br /&gt;
[[Category:Badges]]&lt;br /&gt;
&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{fursona}}&lt;br /&gt;
&lt;br /&gt;
[[en:Badgecomparisons.jpg]]&lt;/div&gt;</summary>
		<author><name>Kakurady</name></author>	</entry>

	</feed>