JavaScript
var gridMapData = [
[' ',' ','MAR','DZA','TUN','LBY','EGY',' ',' ',' '],
[' ','ESH','MRT','SEN','GNB','GIN','SDN','ERI',' ',' '],
['SLE','LBY','CIV','GHA','NER','SSD','ETH','DJI',' ',' '],
[' ','GMB','TGO','BEN','NGA','CMR','CAF','TCD', '-','SOM'],
[' ',' ',' ','GNQ','GAB','UGA','KEN',' ',' ',' '],
[' ',' ',' ',' ','COG','RWA','TZA',' ',' ',' '],
[' ',' ',' ',' ','COD','BDI','MWI',' ',' ',' '],
[' ',' ',' ',' ','AGO','ZMB','MOZ',' ','MDG',' '],
[' ',' ',' ',' ','NAM','BWA','ZWE',' ',' ',' '],
[' ',' ',' ',' ','ZAF','LSO','SWZ',' ',' ',' ']
];
var COLORS = [
'135, 207, 233',
'103, 232, 99',
'233, 135, 207',
'255, 241, 118',
'173, 173, 173'
];
var REGIONS = [
'Northern Africa',
'Western Africa',
'Eastern Africa',
'Central African Republic',
'Southern Africa'
];
var mapInfo = {
MAR: {
group: 0,
name: 'Morocco',
capital: 'Rabat'
},
DZA: {
group: 0,
name: 'Algeria',
capital: 'Algiers'
},
TUN: {
group: 0,
name: 'Tunisia',
capital: 'Tunisia'
},
LBY: {
group: 0,
name: 'Libya',
capital: 'Tripolis'
},
EGY: {
group: 0,
name: 'Egypt',
capital: 'Cairo'
},
ESH: {
group: 0,
name: 'Western Sahara',
capital: 'El-Aaiun'
},
MRT: {
group: 1,
name: 'Mauritania',
capital: 'Nouakchott'
},
SEN: {
group: 1,
name: 'Senegal',
capital: 'Dakar'
},
GNB: {
group: 1,
name: 'Guinea-Bissau',
capital: 'Bissau'
},
GIN: {
group: 1,
name: 'Guinea',
capital: 'Conakry'
},
SDN: {
group: 0,
name: 'Sudan',
capital: 'Khartoum'
},
ERI: {
group: 2,
name: 'Eritrea',
capital: 'Asmara'
},
SLE: {
group: 1,
name: 'Sierra Leone',
capital: 'Freetown'
},
LBY: {
group: 1,
name: 'Liberia',
capital: 'Tripolis'
},
CIV: {
group: 1,
name:...