<?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=2601%3A243%3A600%3A1015%3A3561%3A16BC%3AAA03%3AFD7C</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=2601%3A243%3A600%3A1015%3A3561%3A16BC%3AAA03%3AFD7C"/>
		<link rel="alternate" type="text/html" href="https://pool.wikifur.com/wiki/Special:Contributions/2601:243:600:1015:3561:16BC:AA03:FD7C"/>
		<updated>2026-10-16T10:50:09Z</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>2017-02-10T00:10:23Z</updated>
		
		<summary type="html">&lt;p&gt;2601:243:600:1015:3561:16BC:AA03:FD7C: &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(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(-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(34.7461291,   -92.402298, '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(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(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 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(39.2730325,   -84.4411356, 'Fur Reality', 'www.furreality.org', 'Hilton Garden Inn Cincinnati/Sharonville&amp;lt;br&amp;gt;11149 Dowlin Dr&amp;lt;br&amp;gt;Cincinnati, OH 45241&amp;lt;br&amp;gt;USA', '(513) 772-2837', 'Dec 31, 2016-Jan 1, 2017', null);&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(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', 'Jan 27-29 2017', 0);&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', 211);&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(41.846166,    -87.942571, '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 2016-Jan 1 2017', ~100);&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', 'Nov 30-Dec 3 2017', 7075);&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(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(41.3887839,  -73.5173294, '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.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>2601:243:600:1015:3561:16BC:AA03:FD7C</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>2017-02-10T00:09:25Z</updated>
		
		<summary type="html">&lt;p&gt;2601:243:600:1015:3561:16BC:AA03:FD7C: &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(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(-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(34.7461291,   -92.402298, '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(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(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 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(40.0914571,   -75.3716987, 'Furrydelphia', 'www.furrydelphia.com', 'DoubleTree by Hilton Hotel Philadelphia - 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 17-20 2017', null);&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(39.2730325,   -84.4411356, 'Fur Reality', 'www.furreality.org', 'Hilton Garden Inn Cincinnati/Sharonville&amp;lt;br&amp;gt;11149 Dowlin Dr&amp;lt;br&amp;gt;Cincinnati, OH 45241&amp;lt;br&amp;gt;USA', '(513) 772-2837', 'Dec 31, 2016-Jan 1, 2017', null);&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(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', 'Jan 27-29 2017', 0);&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', 211);&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(41.846166,    -87.942571, '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 2016-Jan 1 2017', ~100);&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', 'Nov 30-Dec 3 2017', 7075);&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(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(41.3887839,  -73.5173294, '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.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>2601:243:600:1015:3561:16BC:AA03:FD7C</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>2017-02-10T00:08:01Z</updated>
		
		<summary type="html">&lt;p&gt;2601:243:600:1015:3561:16BC:AA03:FD7C: &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(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(-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(34.7461291,   -92.402298, '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(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(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 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(40.0914571,   -75.3716987, 'Furrydelphia', 'www.furrydelphia.com', 'DoubleTree by Hilton Hotel Philadelphia - 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 17-20 2017', null);&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(39.2730325,   -84.4411356, 'Fur Reality', 'www.furreality.org', 'Hilton Garden Inn Cincinnati/Sharonville&amp;lt;br&amp;gt;11149 Dowlin Dr&amp;lt;br&amp;gt;Cincinnati, OH 45241&amp;lt;br&amp;gt;USA', '(513) 772-2837', 'Dec 31, 2016-Jan 1, 2017', null);&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(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', 'Jan 27-29 2017', 0);&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', 211);&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(41.846166,    -87.942571, '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 2016-Jan 1 2017', ~100);&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', 'Nov 30-Dec 3 2017', 7075);&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(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(41.3887839,  -73.5173294, '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.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>2601:243:600:1015:3561:16BC:AA03:FD7C</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>2017-02-09T23:57:44Z</updated>
		
		<summary type="html">&lt;p&gt;2601:243:600:1015:3561:16BC:AA03:FD7C: &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(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(-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(34.7461291,   -92.402298, '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(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(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 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(39.2730325,   -84.4411356, 'Fur Reality', 'www.furreality.org', 'Hilton Garden Inn Cincinnati/Sharonville&amp;lt;br&amp;gt;11149 Dowlin Dr&amp;lt;br&amp;gt;Cincinnati, OH 45241&amp;lt;br&amp;gt;USA', '(513) 772-2837', 'Dec 31, 2016-Jan 1, 2017', null);&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(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', 'Jan 27-29 2017', 0);&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', 211);&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(41.846166,    -87.942571, '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 2016-Jan 1 2017', ~100);&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', 'Nov 30-Dec 3 2017', 7075);&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(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(41.3887839,  -73.5173294, '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.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>2601:243:600:1015:3561:16BC:AA03:FD7C</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>2017-02-09T23:51:10Z</updated>
		
		<summary type="html">&lt;p&gt;2601:243:600:1015:3561:16BC:AA03:FD7C: &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(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(-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(34.7461291,   -92.402298, '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(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(39.2730325,   -84.4411356, 'Fur Reality', 'www.furreality.org', 'Hilton Garden Inn Cincinnati/Sharonville&amp;lt;br&amp;gt;11149 Dowlin Dr&amp;lt;br&amp;gt;Cincinnati, OH 45241&amp;lt;br&amp;gt;USA', '(513) 772-2837', 'Dec 31, 2016-Jan 1, 2017', null);&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(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', 'Jan 27-29 2017', 0);&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', 211);&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(41.846166,    -87.942571, '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 2016-Jan 1 2017', ~100);&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', 'Nov 30-Dec 3 2017', 7075);&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(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(41.3887839,  -73.5173294, '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.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>2601:243:600:1015:3561:16BC:AA03:FD7C</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>2017-02-09T22:21:05Z</updated>
		
		<summary type="html">&lt;p&gt;2601:243:600:1015:3561:16BC:AA03:FD7C: &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(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(-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(39.2730325,   -84.4411356, 'Fur Reality', 'www.furreality.org', 'Hilton Garden Inn Cincinnati/Sharonville&amp;lt;br&amp;gt;11149 Dowlin Dr&amp;lt;br&amp;gt;Cincinnati, OH 45241&amp;lt;br&amp;gt;USA', '(513) 772-2837', 'Dec 31, 2016-Jan 1, 2017', null);&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(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', 'Jan 27-29 2017', 0);&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', 211);&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(41.846166,    -87.942571, '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 2016-Jan 1 2017', ~100);&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', 'Nov 30-Dec 3 2017', 7075);&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(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(41.3887839,  -73.5173294, '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.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>2601:243:600:1015:3561:16BC:AA03:FD7C</name></author>	</entry>

	</feed>