From 460f31f5d02f2625be1c74c62acd34d71560249b Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Tue, 26 Aug 2014 00:37:59 +0200 Subject: [PATCH] Update PhoneFormat JS lib --- .../static/lib/phonenumbers/PhoneFormat.js | 1909 +++++++++-------- 1 file changed, 994 insertions(+), 915 deletions(-) diff --git a/base_phone/static/lib/phonenumbers/PhoneFormat.js b/base_phone/static/lib/phonenumbers/PhoneFormat.js index f9d85df..889340b 100644 --- a/base_phone/static/lib/phonenumbers/PhoneFormat.js +++ b/base_phone/static/lib/phonenumbers/PhoneFormat.js @@ -1,8 +1,8 @@ /* -Compiled Tuesday May 14, 2013 at 7:33pm America/New_York +Compiled Wednesday July 30, 2014 at 2:15pm America/New_York -Version: libphonenumber r574 +Version: libphonenumber r680 ------------------------------------------------------------------------ @@ -52,617 +52,690 @@ formatLocal("US", "8646978257"); countryCodeToName("US"); Returns: United States - - + + */ // ------------------------------------------------------------------------- function countryForE164Number(phone) { - /* - - Return the country code for an e164 formatted number - - phone (String) phone number in e164 format to return the country code for - - */ - try { - var phone = cleanPhone(phone); - var phoneUtil = i18n.phonenumbers.PhoneNumberUtil.getInstance(); - var number = phoneUtil.parseAndKeepRawInput(phone); - var output = new goog.string.StringBuffer(); - output = phoneUtil.getRegionCodeForNumber(number); - return output.toString(); + /* + + Return the country code for an e164 formatted number + + phone (String) phone number in e164 format to return the country code for + + */ + try { + var phone = cleanPhone(phone); + var phoneUtil = i18n.phonenumbers.PhoneNumberUtil.getInstance(); + var number = phoneUtil.parseAndKeepRawInput(phone); + var output = new goog.string.StringBuffer(); + output = phoneUtil.getRegionCodeForNumber(number); + return output.toString(); } catch (e) { - return ""; + return ""; } } // ------------------------------------------------------------------------- function formatNumberForMobileDialing(country, phone) { - /* - - Returns a number formatted in such a way that it can be dialed from a mobile - phone in a specific region. If the number cannot be reached from the region - (e.g. some countries block toll-free numbers from being called outside of the - country), the method returns an empty string. - - */ - - try { - var phone = cleanPhone(phone); - var phoneUtil = i18n.phonenumbers.PhoneNumberUtil.getInstance(); - var number = phoneUtil.parseAndKeepRawInput(phone, country); - var output = new goog.string.StringBuffer(); - output = phoneUtil.formatNumberForMobileDialing(number, country, true); - return output.toString(); + /* + + Returns a number formatted in such a way that it can be dialed from a mobile + phone in a specific region. If the number cannot be reached from the region + (e.g. some countries block toll-free numbers from being called outside of the + country), the method returns an empty string. + + */ + + try { + var phone = cleanPhone(phone); + var phoneUtil = i18n.phonenumbers.PhoneNumberUtil.getInstance(); + var number = phoneUtil.parseAndKeepRawInput(phone, country); + var output = new goog.string.StringBuffer(); + output = phoneUtil.formatNumberForMobileDialing(number, country, true); + return output.toString(); } catch (e) { - return ""; + return ""; } } // ------------------------------------------------------------------------- -function isValidNumber(phone) { - /* - - Tests whether a phone number matches a valid pattern. Note this doesn't - verify the number is actually in use, which is impossible to tell by just - looking at a number itself. - - */ - - try { - var phone = cleanPhone(phone); - var phoneUtil = i18n.phonenumbers.PhoneNumberUtil.getInstance(); - var number = phoneUtil.parseAndKeepRawInput(phone, ""); - return phoneUtil.isValidNumber(number); +function isValidNumber(phone, country) { + /* + + Tests whether a phone number matches a valid pattern. Note this doesn't + verify the number is actually in use, which is impossible to tell by just + looking at a number itself. + + */ + + try { + var phone = cleanPhone(phone); + var phoneUtil = i18n.phonenumbers.PhoneNumberUtil.getInstance(); + var number = phoneUtil.parseAndKeepRawInput(phone, country); + return phoneUtil.isValidNumber(number); } catch (e) { - return false; + return false; } } // ------------------------------------------------------------------------- function formatE164(country, phone) { - /* - - Return the phone number in e164 format - - country (String) 2 digit country code - phone (String) phone number to format - - */ - - try { - var phone = cleanPhone(phone); - var phoneUtil = i18n.phonenumbers.PhoneNumberUtil.getInstance(); - var number = phoneUtil.parseAndKeepRawInput(phone, country); - var PNF = i18n.phonenumbers.PhoneNumberFormat; - var output = new goog.string.StringBuffer(); - output = phoneUtil.format(number, PNF.E164); - return output.toString(); + /* + + Return the phone number in e164 format + + country (String) 2 digit country code + phone (String) phone number to format + + */ + + try { + var phone = cleanPhone(phone); + var phoneUtil = i18n.phonenumbers.PhoneNumberUtil.getInstance(); + var number = phoneUtil.parseAndKeepRawInput(phone, country); + var PNF = i18n.phonenumbers.PhoneNumberFormat; + var output = new goog.string.StringBuffer(); + output = phoneUtil.format(number, PNF.E164); + return output.toString(); } catch (e) { - return phone + return phone } } // ------------------------------------------------------------------------- function formatInternational(country, phone) { - /* - - Return the phone number in international format - - country (String) 2 digit country code - phone (String) phone number to format - - */ - - try { - var phone = cleanPhone(phone); - var formatter = new i18n.phonenumbers.AsYouTypeFormatter(country); - var output = new goog.string.StringBuffer(); - for (var i = 0; i < phone.length; ++i) { - var inputChar = phone.charAt(i); - output = (formatter.inputDigit(inputChar)); - } - return output.toString(); + /* + + Return the phone number in international format + + country (String) 2 digit country code + phone (String) phone number to format + + */ + + try { + var phone = cleanPhone(phone); + var formatter = new i18n.phonenumbers.AsYouTypeFormatter(country); + var output = new goog.string.StringBuffer(); + for (var i = 0; i < phone.length; ++i) { + var inputChar = phone.charAt(i); + output = (formatter.inputDigit(inputChar)); + } + return output.toString(); } catch (e) { - return phone; + return phone; } } // ------------------------------------------------------------------------- function formatLocal(country, phone) { - /* + /* + + Return the phone number in the format local to the user + + country (String) 2 digit country code + phone (String) phone number to format + + */ + + try { + var phone = cleanPhone(phone); + var phoneUtil = i18n.phonenumbers.PhoneNumberUtil.getInstance(); + var number = phoneUtil.parseAndKeepRawInput(phone, country); + if (phoneUtil.isValidNumberForRegion(number, country)) { + var PNF = i18n.phonenumbers.PhoneNumberFormat; + var output = new goog.string.StringBuffer(); + output = phoneUtil.format(number, PNF.NATIONAL); + return output.toString(); + } else { + return formatInternational(country, phone); + } + } catch (e) { + return formatInternational(country, phone); + } +} + +// ------------------------------------------------------------------------- +function exampleLandlineNumber(country) { + /* - Return the phone number in the format local to the user + Returns an example land line phone number for the specified country - country (String) 2 digit country code - phone (String) phone number to format + country (String) 2 digit country code - */ - - try { - var phone = cleanPhone(phone); - var phoneUtil = i18n.phonenumbers.PhoneNumberUtil.getInstance(); - var number = phoneUtil.parseAndKeepRawInput(phone, country); - if (phoneUtil.isValidNumberForRegion(number, country)) { - var PNF = i18n.phonenumbers.PhoneNumberFormat; - var output = new goog.string.StringBuffer(); - output = phoneUtil.format(number, PNF.NATIONAL); - return output.toString(); - } else { - return formatInternational(country, phone); - } - } catch (e) { - return formatInternational(country, phone); - } -} + */ + try { + var phoneUtil = i18n.phonenumbers.PhoneNumberUtil.getInstance(); + var output = phoneUtil.getExampleNumber(country); + return ""+output.getNationalNumber(); + } catch (e) { + return ""; + } +} + // ------------------------------------------------------------------------- -function cleanPhone(phone) { - /* +function exampleMobileNumber(country) { + /* - Remove any non numeric characters from the phone number but leave any plus sign at the beginning + Returns an example mobile phone number for the specified country - phone (String) phone number to clean + country (String) 2 digit country code - */ + */ - phone = phone.replace(/[^\d\+]/g,''); - if (phone.substr(0, 1) == "+") { - phone = "+" + phone.replace(/[^\d]/g,''); - } else { - phone = phone.replace(/[^\d]/g,''); - } - return phone; + try { + var phoneUtil = i18n.phonenumbers.PhoneNumberUtil.getInstance(); + var output = phoneUtil.getExampleNumberForType(country, i18n.phonenumbers.PhoneNumberType.MOBILE); + return ""+output.getNationalNumber(); + } catch (e) { + return ""; + } +} + +// ------------------------------------------------------------------------- +function cleanPhone(phone) { + /* + + Remove any non numeric characters from the phone number but leave any plus sign at the beginning + + phone (String) phone number to clean + + */ + + phone = phone.replace(/[^\d\+]/g,''); + if (phone.substr(0, 1) == "+") { + phone = "+" + phone.replace(/[^\d]/g,''); + } else { + phone = phone.replace(/[^\d]/g,''); + } + return phone; } // ------------------------------------------------------------------------- function countryCodeToName(countryCode) { - /* - - Convert the country code to a name - - country (String) 2 digit country code - - */ - - var arrCountry = new Array(); - arrCountry['AF'] = "Afghanistan"; - arrCountry['AL'] = "Albania"; - arrCountry['DZ'] = "Algeria"; - arrCountry['AS'] = "American Samoa"; - arrCountry['AD'] = "Andorra"; - arrCountry['AO'] = "Angola"; - arrCountry['AI'] = "Anguilla"; - arrCountry['AQ'] = "Antarctica"; - arrCountry['AG'] = "Antigua And Barbuda"; - arrCountry['AR'] = "Argentina"; - arrCountry['AM'] = "Armenia"; - arrCountry['AW'] = "Aruba"; - arrCountry['AU'] = "Australia"; - arrCountry['AT'] = "Austria"; - arrCountry['AZ'] = "Azerbaijan"; - arrCountry['BS'] = "Bahamas"; - arrCountry['BH'] = "Bahrain"; - arrCountry['BD'] = "Bangladesh"; - arrCountry['BB'] = "Barbados"; - arrCountry['BY'] = "Belarus"; - arrCountry['BE'] = "Belgium"; - arrCountry['BZ'] = "Belize"; - arrCountry['BJ'] = "Benin"; - arrCountry['BM'] = "Bermuda"; - arrCountry['BT'] = "Bhutan"; - arrCountry['BO'] = "Bolivia"; - arrCountry['BA'] = "Bosnia And Herzegovina"; - arrCountry['BW'] = "Botswana"; - arrCountry['BV'] = "Bouvet Island"; - arrCountry['BR'] = "Brazil"; - arrCountry['IO'] = "British Indian Ocean Territory"; - arrCountry['BN'] = "Brunei"; - arrCountry['BG'] = "Bulgaria"; - arrCountry['BF'] = "Burkina Faso"; - arrCountry['BI'] = "Burundi"; - arrCountry['KH'] = "Cambodia"; - arrCountry['CM'] = "Cameroon"; - arrCountry['CA'] = "Canada"; - arrCountry['CV'] = "Cape Verde"; - arrCountry['KY'] = "Cayman Islands"; - arrCountry['CF'] = "Central African Republic"; - arrCountry['TD'] = "Chad"; - arrCountry['CL'] = "Chile"; - arrCountry['CN'] = "China"; - arrCountry['CX'] = "Christmas Island"; - arrCountry['CC'] = "Cocos (Keeling) Islands"; - arrCountry['CO'] = "Columbia"; - arrCountry['KM'] = "Comoros"; - arrCountry['CG'] = "Congo"; - arrCountry['CK'] = "Cook Islands"; - arrCountry['CR'] = "Costa Rica"; - arrCountry['CI'] = "Cote D'Ivorie (Ivory Coast)"; - arrCountry['HR'] = "Croatia (Hrvatska)"; - arrCountry['CU'] = "Cuba"; - arrCountry['CY'] = "Cyprus"; - arrCountry['CZ'] = "Czech Republic"; - arrCountry['CD'] = "Democratic Republic Of Congo (Zaire)"; - arrCountry['DK'] = "Denmark"; - arrCountry['DJ'] = "Djibouti"; - arrCountry['DM'] = "Dominica"; - arrCountry['DO'] = "Dominican Republic"; - arrCountry['TP'] = "East Timor"; - arrCountry['EC'] = "Ecuador"; - arrCountry['EG'] = "Egypt"; - arrCountry['SV'] = "El Salvador"; - arrCountry['GQ'] = "Equatorial Guinea"; - arrCountry['ER'] = "Eritrea"; - arrCountry['EE'] = "Estonia"; - arrCountry['ET'] = "Ethiopia"; - arrCountry['FK'] = "Falkland Islands (Malvinas)"; - arrCountry['FO'] = "Faroe Islands"; - arrCountry['FJ'] = "Fiji"; - arrCountry['FI'] = "Finland"; - arrCountry['FR'] = "France"; - arrCountry['FX'] = "France, Metropolitan"; - arrCountry['GF'] = "French Guinea"; - arrCountry['PF'] = "French Polynesia"; - arrCountry['TF'] = "French Southern Territories"; - arrCountry['GA'] = "Gabon"; - arrCountry['GM'] = "Gambia"; - arrCountry['GE'] = "Georgia"; - arrCountry['DE'] = "Germany"; - arrCountry['GH'] = "Ghana"; - arrCountry['GI'] = "Gibraltar"; - arrCountry['GR'] = "Greece"; - arrCountry['GL'] = "Greenland"; - arrCountry['GD'] = "Grenada"; - arrCountry['GP'] = "Guadeloupe"; - arrCountry['GU'] = "Guam"; - arrCountry['GT'] = "Guatemala"; - arrCountry['GN'] = "Guinea"; - arrCountry['GW'] = "Guinea-Bissau"; - arrCountry['GY'] = "Guyana"; - arrCountry['HT'] = "Haiti"; - arrCountry['HM'] = "Heard And McDonald Islands"; - arrCountry['HN'] = "Honduras"; - arrCountry['HK'] = "Hong Kong"; - arrCountry['HU'] = "Hungary"; - arrCountry['IS'] = "Iceland"; - arrCountry['IN'] = "India"; - arrCountry['ID'] = "Indonesia"; - arrCountry['IR'] = "Iran"; - arrCountry['IQ'] = "Iraq"; - arrCountry['IE'] = "Ireland"; - arrCountry['IM'] = "Isle of Man"; - arrCountry['IL'] = "Israel"; - arrCountry['IT'] = "Italy"; - arrCountry['JM'] = "Jamaica"; - arrCountry['JP'] = "Japan"; - arrCountry['JO'] = "Jordan"; - arrCountry['KZ'] = "Kazakhstan"; - arrCountry['KE'] = "Kenya"; - arrCountry['KI'] = "Kiribati"; - arrCountry['KW'] = "Kuwait"; - arrCountry['KG'] = "Kyrgyzstan"; - arrCountry['LA'] = "Laos"; - arrCountry['LV'] = "Latvia"; - arrCountry['LB'] = "Lebanon"; - arrCountry['LS'] = "Lesotho"; - arrCountry['LR'] = "Liberia"; - arrCountry['LY'] = "Libya"; - arrCountry['LI'] = "Liechtenstein"; - arrCountry['LT'] = "Lithuania"; - arrCountry['LU'] = "Luxembourg"; - arrCountry['MO'] = "Macau"; - arrCountry['MK'] = "Macedonia"; - arrCountry['MG'] = "Madagascar"; - arrCountry['MW'] = "Malawi"; - arrCountry['MY'] = "Malaysia"; - arrCountry['MV'] = "Maldives"; - arrCountry['ML'] = "Mali"; - arrCountry['MT'] = "Malta"; - arrCountry['MH'] = "Marshall Islands"; - arrCountry['MQ'] = "Martinique"; - arrCountry['MR'] = "Mauritania"; - arrCountry['MU'] = "Mauritius"; - arrCountry['YT'] = "Mayotte"; - arrCountry['MX'] = "Mexico"; - arrCountry['FM'] = "Micronesia"; - arrCountry['MD'] = "Moldova"; - arrCountry['MC'] = "Monaco"; - arrCountry['MN'] = "Mongolia"; - arrCountry['MS'] = "Montserrat"; - arrCountry['MA'] = "Morocco"; - arrCountry['MZ'] = "Mozambique"; - arrCountry['MM'] = "Myanmar (Burma)"; - arrCountry['NA'] = "Namibia"; - arrCountry['NR'] = "Nauru"; - arrCountry['NP'] = "Nepal"; - arrCountry['NL'] = "Netherlands"; - arrCountry['AN'] = "Netherlands Antilles"; - arrCountry['NC'] = "New Caledonia"; - arrCountry['NZ'] = "New Zealand"; - arrCountry['NI'] = "Nicaragua"; - arrCountry['NE'] = "Niger"; - arrCountry['NG'] = "Nigeria"; - arrCountry['NU'] = "Niue"; - arrCountry['NF'] = "Norfolk Island"; - arrCountry['KP'] = "North Korea"; - arrCountry['MP'] = "Northern Mariana Islands"; - arrCountry['NO'] = "Norway"; - arrCountry['OM'] = "Oman"; - arrCountry['PK'] = "Pakistan"; - arrCountry['PW'] = "Palau"; - arrCountry['PA'] = "Panama"; - arrCountry['PG'] = "Papua New Guinea"; - arrCountry['PY'] = "Paraguay"; - arrCountry['PE'] = "Peru"; - arrCountry['PH'] = "Philippines"; - arrCountry['PN'] = "Pitcairn"; - arrCountry['PL'] = "Poland"; - arrCountry['PT'] = "Portugal"; - arrCountry['PR'] = "Puerto Rico"; - arrCountry['QA'] = "Qatar"; - arrCountry['RE'] = "Reunion"; - arrCountry['RO'] = "Romania"; - arrCountry['RU'] = "Russia"; - arrCountry['RW'] = "Rwanda"; - arrCountry['SH'] = "Saint Helena"; - arrCountry['KN'] = "Saint Kitts And Nevis"; - arrCountry['LC'] = "Saint Lucia"; - arrCountry['PM'] = "Saint Pierre And Miquelon"; - arrCountry['VC'] = "Saint Vincent And The Grenadines"; - arrCountry['SM'] = "San Marino"; - arrCountry['ST'] = "Sao Tome And Principe"; - arrCountry['SA'] = "Saudi Arabia"; - arrCountry['SN'] = "Senegal"; - arrCountry['SC'] = "Seychelles"; - arrCountry['SL'] = "Sierra Leone"; - arrCountry['SG'] = "Singapore"; - arrCountry['SK'] = "Slovak Republic"; - arrCountry['SI'] = "Slovenia"; - arrCountry['SB'] = "Solomon Islands"; - arrCountry['SO'] = "Somalia"; - arrCountry['ZA'] = "South Africa"; - arrCountry['GS'] = "South Georgia And South Sandwich Islands"; - arrCountry['KR'] = "South Korea"; - arrCountry['ES'] = "Spain"; - arrCountry['LK'] = "Sri Lanka"; - arrCountry['SD'] = "Sudan"; - arrCountry['SR'] = "Suriname"; - arrCountry['SJ'] = "Svalbard And Jan Mayen"; - arrCountry['SZ'] = "Swaziland"; - arrCountry['SE'] = "Sweden"; - arrCountry['CH'] = "Switzerland"; - arrCountry['SY'] = "Syria"; - arrCountry['TW'] = "Taiwan"; - arrCountry['TJ'] = "Tajikistan"; - arrCountry['TZ'] = "Tanzania"; - arrCountry['TH'] = "Thailand"; - arrCountry['TG'] = "Togo"; - arrCountry['TK'] = "Tokelau"; - arrCountry['TO'] = "Tonga"; - arrCountry['TT'] = "Trinidad And Tobago"; - arrCountry['TN'] = "Tunisia"; - arrCountry['TR'] = "Turkey"; - arrCountry['TM'] = "Turkmenistan"; - arrCountry['TC'] = "Turks And Caicos Islands"; - arrCountry['TV'] = "Tuvalu"; - arrCountry['UG'] = "Uganda"; - arrCountry['UA'] = "Ukraine"; - arrCountry['AE'] = "United Arab Emirates"; - arrCountry['GB'] = "United Kingdom"; - arrCountry['US'] = "United States"; - arrCountry['UM'] = "United States Minor Outlying Islands"; - arrCountry['UY'] = "Uruguay"; - arrCountry['UZ'] = "Uzbekistan"; - arrCountry['VU'] = "Vanuatu"; - arrCountry['VA'] = "Vatican City (Holy See)"; - arrCountry['VE'] = "Venezuela"; - arrCountry['VN'] = "Vietnam"; - arrCountry['VG'] = "Virgin Islands (British)"; - arrCountry['VI'] = "Virgin Islands (US)"; - arrCountry['WF'] = "Wallis And Futuna Islands"; - arrCountry['EH'] = "Western Sahara"; - arrCountry['WS'] = "Western Samoa"; - arrCountry['YE'] = "Yemen"; - arrCountry['YU'] = "Yugoslavia"; - arrCountry['ZM'] = "Zambia"; - arrCountry['ZW'] = "Zimbabwe"; - - var name = arrCountry[countryCode.toUpperCase()]; - if (name === undefined) { - return ""; - } else { - return name; - } + /* + + Convert the country code to a name + + country (String) 2 digit country code + + */ + + var arrCountry = new Array(); + arrCountry['AF'] = "Afghanistan"; + arrCountry['AL'] = "Albania"; + arrCountry['DZ'] = "Algeria"; + arrCountry['AS'] = "American Samoa"; + arrCountry['AD'] = "Andorra"; + arrCountry['AO'] = "Angola"; + arrCountry['AI'] = "Anguilla"; + arrCountry['AQ'] = "Antarctica"; + arrCountry['AG'] = "Antigua And Barbuda"; + arrCountry['AR'] = "Argentina"; + arrCountry['AM'] = "Armenia"; + arrCountry['AW'] = "Aruba"; + arrCountry['AC'] = "Ascension Island"; + arrCountry['AU'] = "Australia"; + arrCountry['AT'] = "Austria"; + arrCountry['AZ'] = "Azerbaijan"; + arrCountry['BS'] = "Bahamas"; + arrCountry['BH'] = "Bahrain"; + arrCountry['BD'] = "Bangladesh"; + arrCountry['BB'] = "Barbados"; + arrCountry['BY'] = "Belarus"; + arrCountry['BE'] = "Belgium"; + arrCountry['BZ'] = "Belize"; + arrCountry['BJ'] = "Benin"; + arrCountry['BM'] = "Bermuda"; + arrCountry['BT'] = "Bhutan"; + arrCountry['BO'] = "Bolivia"; + arrCountry['BA'] = "Bosnia And Herzegovina"; + arrCountry['BW'] = "Botswana"; + arrCountry['BV'] = "Bouvet Island"; + arrCountry['BR'] = "Brazil"; + arrCountry['IO'] = "British Indian Ocean Territory"; + arrCountry['BN'] = "Brunei"; + arrCountry['BG'] = "Bulgaria"; + arrCountry['BF'] = "Burkina Faso"; + arrCountry['BI'] = "Burundi"; + arrCountry['KH'] = "Cambodia"; + arrCountry['CM'] = "Cameroon"; + arrCountry['CA'] = "Canada"; + arrCountry['CV'] = "Cape Verde"; + arrCountry['KY'] = "Cayman Islands"; + arrCountry['CF'] = "Central African Republic"; + arrCountry['TD'] = "Chad"; + arrCountry['CL'] = "Chile"; + arrCountry['CN'] = "China"; + arrCountry['CX'] = "Christmas Island"; + arrCountry['CC'] = "Cocos (Keeling) Islands"; + arrCountry['CO'] = "Columbia"; + arrCountry['KM'] = "Comoros"; + arrCountry['CG'] = "Congo"; + arrCountry['CK'] = "Cook Islands"; + arrCountry['CR'] = "Costa Rica"; + arrCountry['CI'] = "Cote D'Ivorie (Ivory Coast)"; + arrCountry['HR'] = "Croatia (Hrvatska)"; + arrCountry['CU'] = "Cuba"; + arrCountry['CY'] = "Cyprus"; + arrCountry['CZ'] = "Czech Republic"; + arrCountry['CD'] = "Democratic Republic Of Congo (Zaire)"; + arrCountry['DK'] = "Denmark"; + arrCountry['DJ'] = "Djibouti"; + arrCountry['DM'] = "Dominica"; + arrCountry['DO'] = "Dominican Republic"; + arrCountry['TL'] = "East Timor"; + arrCountry['EC'] = "Ecuador"; + arrCountry['EG'] = "Egypt"; + arrCountry['SV'] = "El Salvador"; + arrCountry['GQ'] = "Equatorial Guinea"; + arrCountry['ER'] = "Eritrea"; + arrCountry['EE'] = "Estonia"; + arrCountry['ET'] = "Ethiopia"; + arrCountry['FK'] = "Falkland Islands (Malvinas)"; + arrCountry['FO'] = "Faroe Islands"; + arrCountry['FJ'] = "Fiji"; + arrCountry['FI'] = "Finland"; + arrCountry['FR'] = "France"; + arrCountry['FX'] = "France, Metropolitan"; + arrCountry['GF'] = "French Guinea"; + arrCountry['PF'] = "French Polynesia"; + arrCountry['TF'] = "French Southern Territories"; + arrCountry['GA'] = "Gabon"; + arrCountry['GM'] = "Gambia"; + arrCountry['GE'] = "Georgia"; + arrCountry['DE'] = "Germany"; + arrCountry['GH'] = "Ghana"; + arrCountry['GI'] = "Gibraltar"; + arrCountry['GR'] = "Greece"; + arrCountry['GL'] = "Greenland"; + arrCountry['GD'] = "Grenada"; + arrCountry['GP'] = "Guadeloupe"; + arrCountry['GU'] = "Guam"; + arrCountry['GT'] = "Guatemala"; + arrCountry['GN'] = "Guinea"; + arrCountry['GW'] = "Guinea-Bissau"; + arrCountry['GY'] = "Guyana"; + arrCountry['HT'] = "Haiti"; + arrCountry['HM'] = "Heard And McDonald Islands"; + arrCountry['HN'] = "Honduras"; + arrCountry['HK'] = "Hong Kong"; + arrCountry['HU'] = "Hungary"; + arrCountry['IS'] = "Iceland"; + arrCountry['IN'] = "India"; + arrCountry['ID'] = "Indonesia"; + arrCountry['IR'] = "Iran"; + arrCountry['IQ'] = "Iraq"; + arrCountry['IE'] = "Ireland"; + arrCountry['IM'] = "Isle of Man"; + arrCountry['IL'] = "Israel"; + arrCountry['IT'] = "Italy"; + arrCountry['JM'] = "Jamaica"; + arrCountry['JP'] = "Japan"; + arrCountry['JO'] = "Jordan"; + arrCountry['KZ'] = "Kazakhstan"; + arrCountry['KE'] = "Kenya"; + arrCountry['KI'] = "Kiribati"; + arrCountry['KW'] = "Kuwait"; + arrCountry['KG'] = "Kyrgyzstan"; + arrCountry['LA'] = "Laos"; + arrCountry['LV'] = "Latvia"; + arrCountry['LB'] = "Lebanon"; + arrCountry['LS'] = "Lesotho"; + arrCountry['LR'] = "Liberia"; + arrCountry['LY'] = "Libya"; + arrCountry['LI'] = "Liechtenstein"; + arrCountry['LT'] = "Lithuania"; + arrCountry['LU'] = "Luxembourg"; + arrCountry['MO'] = "Macau"; + arrCountry['MK'] = "Macedonia"; + arrCountry['MG'] = "Madagascar"; + arrCountry['MW'] = "Malawi"; + arrCountry['MY'] = "Malaysia"; + arrCountry['MV'] = "Maldives"; + arrCountry['ML'] = "Mali"; + arrCountry['MT'] = "Malta"; + arrCountry['MH'] = "Marshall Islands"; + arrCountry['MQ'] = "Martinique"; + arrCountry['MR'] = "Mauritania"; + arrCountry['MU'] = "Mauritius"; + arrCountry['YT'] = "Mayotte"; + arrCountry['MX'] = "Mexico"; + arrCountry['FM'] = "Micronesia"; + arrCountry['MD'] = "Moldova"; + arrCountry['MC'] = "Monaco"; + arrCountry['MN'] = "Mongolia"; + arrCountry['ME'] = "Montenegro"; + arrCountry['MS'] = "Montserrat"; + arrCountry['MA'] = "Morocco"; + arrCountry['MZ'] = "Mozambique"; + arrCountry['MM'] = "Myanmar (Burma)"; + arrCountry['NA'] = "Namibia"; + arrCountry['NR'] = "Nauru"; + arrCountry['NP'] = "Nepal"; + arrCountry['NL'] = "Netherlands"; + arrCountry['AN'] = "Netherlands Antilles"; + arrCountry['NC'] = "New Caledonia"; + arrCountry['NZ'] = "New Zealand"; + arrCountry['NI'] = "Nicaragua"; + arrCountry['NE'] = "Niger"; + arrCountry['NG'] = "Nigeria"; + arrCountry['NU'] = "Niue"; + arrCountry['NF'] = "Norfolk Island"; + arrCountry['KP'] = "North Korea"; + arrCountry['MP'] = "Northern Mariana Islands"; + arrCountry['NO'] = "Norway"; + arrCountry['OM'] = "Oman"; + arrCountry['PK'] = "Pakistan"; + arrCountry['PW'] = "Palau"; + arrCountry['PS'] = "Palestine"; + arrCountry['PA'] = "Panama"; + arrCountry['PG'] = "Papua New Guinea"; + arrCountry['PY'] = "Paraguay"; + arrCountry['PE'] = "Peru"; + arrCountry['PH'] = "Philippines"; + arrCountry['PN'] = "Pitcairn"; + arrCountry['PL'] = "Poland"; + arrCountry['PT'] = "Portugal"; + arrCountry['PR'] = "Puerto Rico"; + arrCountry['QA'] = "Qatar"; + arrCountry['RE'] = "Reunion"; + arrCountry['RO'] = "Romania"; + arrCountry['RU'] = "Russia"; + arrCountry['RW'] = "Rwanda"; + arrCountry['SH'] = "Saint Helena"; + arrCountry['KN'] = "Saint Kitts And Nevis"; + arrCountry['LC'] = "Saint Lucia"; + arrCountry['PM'] = "Saint Pierre And Miquelon"; + arrCountry['VC'] = "Saint Vincent And The Grenadines"; + arrCountry['SM'] = "San Marino"; + arrCountry['ST'] = "Sao Tome And Principe"; + arrCountry['SA'] = "Saudi Arabia"; + arrCountry['SN'] = "Senegal"; + arrCountry['RS'] = "Serbia"; + arrCountry['SC'] = "Seychelles"; + arrCountry['SL'] = "Sierra Leone"; + arrCountry['SG'] = "Singapore"; + arrCountry['SK'] = "Slovak Republic"; + arrCountry['SI'] = "Slovenia"; + arrCountry['SB'] = "Solomon Islands"; + arrCountry['SO'] = "Somalia"; + arrCountry['ZA'] = "South Africa"; + arrCountry['GS'] = "South Georgia And South Sandwich Islands"; + arrCountry['KR'] = "South Korea"; + arrCountry['ES'] = "Spain"; + arrCountry['LK'] = "Sri Lanka"; + arrCountry['SD'] = "Sudan"; + arrCountry['SR'] = "Suriname"; + arrCountry['SJ'] = "Svalbard And Jan Mayen"; + arrCountry['SZ'] = "Swaziland"; + arrCountry['SE'] = "Sweden"; + arrCountry['CH'] = "Switzerland"; + arrCountry['SY'] = "Syria"; + arrCountry['TW'] = "Taiwan"; + arrCountry['TJ'] = "Tajikistan"; + arrCountry['TZ'] = "Tanzania"; + arrCountry['TH'] = "Thailand"; + arrCountry['TG'] = "Togo"; + arrCountry['TK'] = "Tokelau"; + arrCountry['TO'] = "Tonga"; + arrCountry['TT'] = "Trinidad And Tobago"; + arrCountry['TN'] = "Tunisia"; + arrCountry['TR'] = "Turkey"; + arrCountry['TM'] = "Turkmenistan"; + arrCountry['TC'] = "Turks And Caicos Islands"; + arrCountry['TV'] = "Tuvalu"; + arrCountry['UG'] = "Uganda"; + arrCountry['UA'] = "Ukraine"; + arrCountry['AE'] = "United Arab Emirates"; + arrCountry['GB'] = "United Kingdom"; + arrCountry['US'] = "United States"; + arrCountry['UM'] = "United States Minor Outlying Islands"; + arrCountry['UY'] = "Uruguay"; + arrCountry['UZ'] = "Uzbekistan"; + arrCountry['VU'] = "Vanuatu"; + arrCountry['VA'] = "Vatican City (Holy See)"; + arrCountry['VE'] = "Venezuela"; + arrCountry['VN'] = "Vietnam"; + arrCountry['VG'] = "Virgin Islands (British)"; + arrCountry['VI'] = "Virgin Islands (US)"; + arrCountry['WF'] = "Wallis And Futuna Islands"; + arrCountry['EH'] = "Western Sahara"; + arrCountry['WS'] = "Western Samoa"; + arrCountry['YE'] = "Yemen"; + arrCountry['YU'] = "Yugoslavia"; + arrCountry['ZM'] = "Zambia"; + arrCountry['ZW'] = "Zimbabwe"; + + var name = arrCountry[countryCode.toUpperCase()]; + if (name === undefined) { + return ""; + } else { + return name; + } } -var COMPILED=!0,goog=goog||{};goog.global=this;goog.DEBUG=!0;goog.LOCALE="en";goog.provide=function(a){if(!COMPILED){if(goog.isProvided_(a))throw Error('Namespace "'+a+'" already declared.');delete goog.implicitNamespaces_[a];for(var b=a;(b=b.substring(0,b.lastIndexOf(".")))&&!goog.getObjectByName(b);)goog.implicitNamespaces_[b]=!0}goog.exportPath_(a)};goog.setTestOnly=function(a){if(COMPILED&&!goog.DEBUG)throw a=a||"",Error("Importing test-only code into non-debug environment"+a?": "+a:".");}; -COMPILED||(goog.isProvided_=function(a){return!goog.implicitNamespaces_[a]&&!!goog.getObjectByName(a)},goog.implicitNamespaces_={});goog.exportPath_=function(a,b,c){a=a.split(".");c=c||goog.global;!(a[0]in c)&&c.execScript&&c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)!a.length&&goog.isDef(b)?c[d]=b:c=c[d]?c[d]:c[d]={}};goog.getObjectByName=function(a,b){for(var c=a.split("."),d=b||goog.global,e;e=c.shift();)if(goog.isDefAndNotNull(d[e]))d=d[e];else return null;return d}; -goog.globalize=function(a,b){var c=b||goog.global,d;for(d in a)c[d]=a[d]};goog.addDependency=function(a,b,c){if(!COMPILED){var d;a=a.replace(/\\/g,"/");for(var e=goog.dependencies_,f=0;d=b[f];f++)e.nameToPath[d]=a,a in e.pathToNames||(e.pathToNames[a]={}),e.pathToNames[a][d]=!0;for(d=0;b=c[d];d++)a in e.requires||(e.requires[a]={}),e.requires[a][b]=!0}};goog.ENABLE_DEBUG_LOADER=!0; -goog.require=function(a){if(!COMPILED&&!goog.isProvided_(a)){if(goog.ENABLE_DEBUG_LOADER){var b=goog.getPathFromDeps_(a);if(b){goog.included_[b]=!0;goog.writeScripts_();return}}a="goog.require could not find: "+a;goog.global.console&&goog.global.console.error(a);throw Error(a);}};goog.basePath="";goog.nullFunction=function(){};goog.identityFunction=function(a){return a};goog.abstractMethod=function(){throw Error("unimplemented abstract method");}; -goog.addSingletonGetter=function(a){a.getInstance=function(){if(a.instance_)return a.instance_;goog.DEBUG&&(goog.instantiatedSingletons_[goog.instantiatedSingletons_.length]=a);return a.instance_=new a}};goog.instantiatedSingletons_=[]; -!COMPILED&&goog.ENABLE_DEBUG_LOADER&&(goog.included_={},goog.dependencies_={pathToNames:{},nameToPath:{},requires:{},visited:{},written:{}},goog.inHtmlDocument_=function(){var a=goog.global.document;return"undefined"!=typeof a&&"write"in a},goog.findBasePath_=function(){if(goog.global.CLOSURE_BASE_PATH)goog.basePath=goog.global.CLOSURE_BASE_PATH;else if(goog.inHtmlDocument_())for(var a=goog.global.document.getElementsByTagName("script"),b=a.length-1;0<=b;--b){var c=a[b].src,d=c.lastIndexOf("?"),d= --1==d?c.length:d;if("base.js"==c.substr(d-7,7)){goog.basePath=c.substr(0,d-7);break}}},goog.importScript_=function(a){var b=goog.global.CLOSURE_IMPORT_SCRIPT||goog.writeScriptTag_;!goog.dependencies_.written[a]&&b(a)&&(goog.dependencies_.written[a]=!0)},goog.writeScriptTag_=function(a){if(goog.inHtmlDocument_()){var b=goog.global.document;if("complete"==b.readyState){if(/\bdeps.js$/.test(a))return!1;throw Error('Cannot write "'+a+'" after document load');}b.write('