1const countries = [ 2 { name: 'United States', code: '+1', flag: 'us' }, 3 { name: 'Afghanistan', code: '+93', flag: 'af' }, 4 { name: 'Albania', code: '+355', flag: 'al' }, 5 { name: 'Algeria', code: '+213', flag: 'dz' }, 6 { name: 'American Samoa', code: '+1-684', flag: 'as' }, 7 { name: 'Andorra', code: '+376', flag: 'ad' }, 8 { name: 'Angola', code: '+244', flag: 'ao' }, 9 { name: 'Anguilla', code: '+1-264', flag: 'ai' }, 10 { name: 'Antarctica', code: '+672', flag: 'aq' }, 11 { name: 'Antigua and Barbuda', code: '+1-268', flag: 'ag' }, 12 { name: 'Argentina', code: '+54', flag: 'ar' }, 13 { name: 'Armenia', code: '+374', flag: 'am' }, 14 { name: 'Aruba', code: '+297', flag: 'aw' }, 15 { name: 'Australia', code: '+61', flag: 'au' }, 16 { name: 'Austria', code: '+43', flag: 'at' }, 17 { name: 'Azerbaijan', code: '+994', flag: 'az' }, 18 { name: 'Bahamas', code: '+1-242', flag: 'bs' }, 19 { name: 'Bahrain', code: '+973', flag: 'bh' }, 20 { name: 'Bangladesh', code: '+880', flag: 'bd' }, 21 { name: 'Barbados', code: '+1-246', flag: 'bb' }, 22 { name: 'Belarus', code: '+375', flag: 'by' }, 23 { name: 'Belgium', code: '+32', flag: 'be' }, 24 { name: 'Belize', code: '+501', flag: 'bz' }, 25 { name: 'Benin', code: '+229', flag: 'bj' }, 26 { name: 'Bermuda', code: '+1-441', flag: 'bm' }, 27 { name: 'Bhutan', code: '+975', flag: 'bt' }, 28 { name: 'Bolivia', code: '+591', flag: 'bo' }, 29 { name: 'Bosnia and Herzegovina', code: '+387', flag: 'ba' }, 30 { name: 'Botswana', code: '+267', flag: 'bw' }, 31 { name: 'Brazil', code: '+55', flag: 'br' }, 32 { name: 'British Virgin Islands', code: '+1-284', flag: 'vg' }, 33 { name: 'Brunei', code: '+673', flag: 'bn' }, 34 { name: 'Bulgaria', code: '+359', flag: 'bg' }, 35 { name: 'Burkina Faso', code: '+226', flag: 'bf' }, 36 { name: 'Burundi', code: '+257', flag: 'bi' }, 37 { name: 'Cambodia', code: '+855', flag: 'kh' }, 38 { name: 'Cameroon', code: '+237', flag: 'cm' }, 39 { name: 'Canada', code: '+1', flag: 'ca' }, 40 { name: 'Cape Verde', code: '+238', flag: 'cv' }, 41 { name: 'Cayman Islands', code: '+1-345', flag: 'ky' }, 42 { name: 'Central African Republic', code: '+236', flag: 'cf' }, 43 { name: 'Chad', code: '+235', flag: 'td' }, 44 { name: 'Chile', code: '+56', flag: 'cl' }, 45 { name: 'China', code: '+86', flag: 'cn' }, 46 { name: 'Colombia', code: '+57', flag: 'co' }, 47 { name: 'Comoros', code: '+269', flag: 'km' }, 48 { name: 'Cook Islands', code: '+682', flag: 'ck' }, 49 { name: 'Costa Rica', code: '+506', flag: 'cr' }, 50 { name: 'Croatia', code: '+385', flag: 'hr' }, 51 { name: 'Cuba', code: '+53', flag: 'cu' }, 52 { name: 'Cyprus', code: '+357', flag: 'cy' }, 53 { name: 'Czech Republic', code: '+420', flag: 'cz' }, 54 { name: 'Democratic Republic of the Congo', code: '+243', flag: 'cd' }, 55 { name: 'Denmark', code: '+45', flag: 'dk' }, 56 { name: 'Djibouti', code: '+253', flag: 'dj' }, 57 { name: 'Dominica', code: '+1-767', flag: 'dm' }, 58 { name: 'Dominican Republic', code: '+1-809', flag: 'do' }, 59 { name: 'East Timor', code: '+670', flag: 'tl' }, 60 { name: 'Ecuador', code: '+593', flag: 'ec' }, 61 { name: 'Egypt', code: '+20', flag: 'eg' }, 62 { name: 'El Salvador', code: '+503', flag: 'sv' }, 63 { name: 'Equatorial Guinea', code: '+240', flag: 'gq' }, 64 { name: 'Eritrea', code: '+291', flag: 'er' }, 65 { name: 'Estonia', code: '+372', flag: 'ee' }, 66 { name: 'Ethiopia', code: '+251', flag: 'et' }, 67 { name: 'Falkland Islands', code: '+500', flag: 'fk' }, 68 { name: 'Faroe Islands', code: '+298', flag: 'fo' }, 69 { name: 'Fiji', code: '+679', flag: 'fj' }, 70 { name: 'Finland', code: '+358', flag: 'fi' }, 71 { name: 'France', code: '+33', flag: 'fr' }, 72 { name: 'French Guiana', code: '+594', flag: 'gf' }, 73 { name: 'French Polynesia', code: '+689', flag: 'pf' }, 74 { name: 'Gabon', code: '+241', flag: 'ga' }, 75 { name: 'Gambia', code: '+220', flag: 'gm' }, 76 { name: 'Georgia', code: '+995', flag: 'ge' }, 77 { name: 'Germany', code: '+49', flag: 'de' }, 78 { name: 'Ghana', code: '+233', flag: 'gh' },
79 { name: 'Gibraltar', code: '+350', flag: 'gi' }, 80 { name: 'Greece', code: '+30', flag: 'gr' }, 81 { name: 'Greenland', code: '+299', flag: 'gl' }, 82 { name: 'Grenada', code: '+1-473', flag: 'gd' }, 83 { name: 'Guadeloupe', code: '+590', flag: 'gp' }, 84 { name: 'Guam', code: '+1-671', flag: 'gu' }, 85 { name: 'Guatemala', code: '+502', flag: 'gt' }, 86 { name: 'Guinea', code: '+224', flag: 'gn' }, 87 { name: 'Guinea-Bissau', code: '+245', flag: 'gw' }, 88 { name: 'Guyana', code: '+592', flag: 'gy' }, 89 { name: 'Haiti', code: '+509', flag: 'ht' }, 90 { name: 'Honduras', code: '+504', flag: 'hn' }, 91 { name: 'Hong Kong', code: '+852', flag: 'hk' }, 92 { name: 'Hungary', code: '+36', flag: 'hu' }, 93 { name: 'Iceland', code: '+354', flag: 'is' }, 94 { name: 'India', code: '+91', flag: 'in' }, 95 { name: 'Indonesia', code: '+62', flag: 'id' }, 96 { name: 'Iran', code: '+98', flag: 'ir' }, 97 { name: 'Iraq', code: '+964', flag: 'iq' }, 98 { name: 'Ireland', code: '+353', flag: 'ie' }, 99 { name: 'Israel', code: '+972', flag: 'il' }, 100 { name: 'Italy', code: '+39', flag: 'it' }, 101 { name: 'Ivory Coast', code: '+225', flag: 'ci' }, 102 { name: 'Jamaica', code: '+1-876', flag: 'jm' }, 103 { name: 'Japan', code: '+81', flag: 'jp' }, 104 { name: 'Jordan', code: '+962', flag: 'jo' }, 105 { name: 'Kazakhstan', code: '+7', flag: 'kz' }, 106 { name: 'Kenya', code: '+254', flag: 'ke' }, 107 { name: 'Kiribati', code: '+686', flag: 'ki' }, 108 { name: 'Kosovo', code: '+383', flag: 'xk' }, 109 { name: 'Kuwait', code: '+965', flag: 'kw' }, 110 { name: 'Kyrgyzstan', code: '+996', flag: 'kg' }, 111 { name: 'Laos', code: '+856', flag: 'la' }, 112 { name: 'Latvia', code: '+371', flag: 'lv' }, 113 { name: 'Lebanon', code: '+961', flag: 'lb' }, 114 { name: 'Lesotho', code: '+266', flag: 'ls' }, 115 { name: 'Liberia', code: '+231', flag: 'lr' }, 116 { name: 'Libya', code: '+218', flag: 'ly' }, 117 { name: 'Liechtenstein', code: '+423', flag: 'li' }, 118 { name: 'Lithuania', code: '+370', flag: 'lt' }, 119 { name: 'Luxembourg', code: '+352', flag: 'lu' }, 120 { name: 'Macau', code: '+853', flag: 'mo' }, 121 { name: 'Macedonia', code: '+389', flag: 'mk' }, 122 { name: 'Madagascar', code: '+261', flag: 'mg' }, 123 { name: 'Malawi', code: '+265', flag: 'mw' }, 124 { name: 'Malaysia', code: '+60', flag: 'my' }, 125 { name: 'Maldives', code: '+960', flag: 'mv' }, 126 { name: 'Mali', code: '+223', flag: 'ml' }, 127 { name: 'Malta', code: '+356', flag: 'mt' }, 128 { name: 'Marshall Islands', code: '+692', flag: 'mh' }, 129 { name: 'Martinique', code: '+596', flag: 'mq' }, 130 { name: 'Mauritania', code: '+222', flag: 'mr' }, 131 { name: 'Mauritius', code: '+230', flag: 'mu' }, 132 { name: 'Mayotte', code: '+262', flag: 'yt' }, 133 { name: 'Mexico', code: '+52', flag: 'mx' }, 134 { name: 'Micronesia', code: '+691', flag: 'fm' }, 135 { name: 'Moldova', code: '+373', flag: 'md' }, 136 { name: 'Monaco', code: '+377', flag: 'mc' }, 137 { name: 'Mongolia', code: '+976', flag: 'mn' }, 138 { name: 'Montenegro', code: '+382', flag: 'me' }, 139 { name: 'Montserrat', code: '+1-664', flag: 'ms' }, 140 { name: 'Morocco', code: '+212', flag: 'ma' }, 141 { name: 'Mozambique', code: '+258', flag: 'mz' }, 142 { name: 'Myanmar', code: '+95', flag: 'mm' }, 143 { name: 'Namibia', code: '+264', flag: 'na' }, 144 { name: 'Nauru', code: '+674', flag: 'nr' }, 145 { name: 'Nepal', code: '+977', flag: 'np' }, 146 { name: 'Netherlands', code: '+31', flag: 'nl' }, 147 { name: 'Netherlands Antilles', code: '+599', flag: 'an' }, 148 { name: 'New Caledonia', code: '+687', flag: 'nc' }, 149 { name: 'New Zealand', code: '+64', flag: 'nz' }, 150 { name: 'Nicaragua', code: '+505', flag: 'ni' }, 151 { name: 'Niger', code: '+227', flag: 'ne' }, 152 { name: 'Nigeria', code: '+234', flag: 'ng' }, 153 { name: 'Niue', code: '+683', flag: 'nu' }, 154 { name: 'North Korea', code: '+850', flag: 'kp' }, 155 { name: 'Northern Mariana Islands', code: '+1-670', flag: 'mp' }, 156 { name: 'Norway', code: '+47', flag: 'no' }, 157 { name: 'Oman', code: '+968', flag: 'om' }, 158 { name: 'Pakistan', code: '+92', flag: 'pk' }, 159 { name: 'Palau', code: '+680', flag: 'pw' }, 160 { name: 'Panama', code: '+507', flag: 'pa' }, 161 { name: 'Papua New Guinea', code: '+675', flag: 'pg' }, 162 { name: 'Paraguay', code: '+595', flag: 'py' }, 163 { name: 'Peru', code: '+51', flag: 'pe' }, 164 { name: 'Philippines', code: '+63', flag: 'ph' }, 165 { name: 'Poland', code: '+48', flag: 'pl' }, 166 { name: 'Portugal', code: '+351', flag: 'pt' }, 167 { name: 'Puerto Rico', code: '+1-787', flag: 'pr' }, 168 { name: 'Qatar', code: '+974', flag: 'qa' }, 169 { name: 'Republic of the Congo', code: '+242', flag: 'cg' }, 170 { name: 'Reunion', code: '+262', flag: 're' }, 171 { name: 'Romania', code: '+40', flag: 'ro' }, 172 { name: 'Russia', code: '+7', flag: 'ru' }, 173 { name: 'Rwanda', code: '+250', flag: 'rw' }, 174 { name: 'Saint Barthelemy', code: '+590', flag: 'bl' }, 175 { name: 'Saint Helena', code: '+290', flag: 'sh' }, 176 { name: 'Saint Kitts and Nevis', code: '+1-869', flag: 'kn' }, 177 { name: 'Saint Lucia', code: '+1-758', flag: 'lc' }, 178 { name: 'Saint Martin', code: '+590', flag: 'mf' }, 179 { name: 'Saint Pierre and Miquelon', code: '+508', flag: 'pm' }, 180 { name: 'Saint Vincent and the Grenadines', code: '+1-784', flag: 'vc' }, 181 { name: 'Samoa', code: '+685', flag: 'ws' }, 182 { name: 'San Marino', code: '+378', flag: 'sm' }, 183 { name: 'Sao Tome and Principe', code: '+239', flag: 'st' }, 184 { name: 'Saudi Arabia', code: '+966', flag: 'sa' }, 185 { name: 'Senegal', code: '+221', flag: 'sn' }, 186 { name: 'Serbia', code: '+381', flag: 'rs' }, 187 { name: 'Seychelles', code: '+248', flag: 'sc' }, 188 { name: 'Sierra Leone', code: '+232', flag: 'sl' }, 189 { name: 'Singapore', code: '+65', flag: 'sg' }, 190 { name: 'Slovakia', code: '+421', flag: 'sk' }, 191 { name: 'Slovenia', code: '+386', flag: 'si' }, 192 { name: 'Solomon Islands', code: '+677', flag: 'sb' }, 193 { name: 'Somalia', code: '+252', flag: 'so' }, 194 { name: 'South Africa', code: '+27', flag: 'za' }, 195 { name: 'South Korea', code: '+82', flag: 'kr' }, 196 { name: 'Spain', code: '+34', flag: 'es' }, 197 { name: 'Sri Lanka', code: '+94', flag: 'lk' }, 198 { name: 'Sudan', code: '+249', flag: 'sd' }, 199 { name: 'Suriname', code: '+597', flag: 'sr' }, 200 { name: 'Svalbard and Jan Mayen', code: '+47', flag: 'sj' }, 201 { name: 'Swaziland', code: '+268', flag: 'sz' }, 202 { name: 'Sweden', code: '+46', flag: 'se' }, 203 { name: 'Switzerland', code: '+41', flag: 'ch' }, 204 { name: 'Syria', code: '+963', flag: 'sy' }, 205 { name: 'Taiwan', code: '+886', flag: 'tw' }, 206 { name: 'Tajikistan', code: '+992', flag: 'tj' }, 207 { name: 'Tanzania', code: '+255', flag: 'tz' }, 208 { name: 'Thailand', code: '+66', flag: 'th' }, 209 { name: 'Togo', code: '+228', flag: 'tg' }, 210 { name: 'Tokelau', code: '+690', flag: 'tk' }, 211 { name: 'Tonga', code: '+676', flag: 'to' }, 212 { name: 'Trinidad and Tobago', code: '+1-868', flag: 'tt' }, 213 { name: 'Tunisia', code: '+216', flag: 'tn' }, 214 { name: 'Turkey', code: '+90', flag: 'tr' }, 215 { name: 'Turkmenistan', code: '+993', flag: 'tm' }, 216 { name: 'Turks and Caicos Islands', code: '+1-649', flag: 'tc' }, 217 { name: 'Tuvalu', code: '+688', flag: 'tv' }, 218 { name: 'UAE', code: '+971', flag: 'ae' }, 219 { name: 'Uganda', code: '+256', flag: 'ug' }, 220 { name: 'Ukraine', code: '+380', flag: 'ua' }, 221 { name: 'United Kingdom', code: '+44', flag: 'gb' }, 222 { name: 'Uruguay', code: '+598', flag: 'uy' }, 223 { name: 'Uzbekistan', code: '+998', flag: 'uz' }, 224 { name: 'Vanuatu', code: '+678', flag: 'vu' }, 225 { name: 'Vatican', code: '+379', flag: 'va' }, 226 { name: 'Venezuela', code: '+58', flag: 've' }, 227 { name: 'Vietnam', code: '+84', flag: 'vn' }, 228 { name: 'Wallis and Futuna', code: '+681', flag: 'wf' }, 229 { name: 'Western Sahara', code: '+212', flag: 'eh' }, 230 { name: 'Yemen', code: '+967', flag: 'ye' }, 231 { name: 'Zambia', code: '+260', flag: 'zm' }, 232 { name: 'Zimbabwe', code: '+263', flag: 'zw' } 233]; 234 235/* =============================== 236 Set country code 237=============================== */ 238function setCountryByCode(code) { 239 if (!code) return; 240 241 const country = countries.find(c => c.code === code); 242 if (!country) return; 243 244 document.getElementById("countryToggle").innerHTML = `
245 <span class="flex items-center gap-1.5"> 246 <img src="https://flagcdn.com/${country.flag}.svg" class="w-5 h-5" /> 247 ${country.code} 248 </span> 249 <svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" fill="none" 250 viewBox="0 0 24 24" stroke="currentColor"> 251 <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" 252 d="M19 9l-7 7-7-7" /> 253 </svg> 254 `; 255 256 document.getElementById("countryCode").value = country.code; 257} 258/* =============================== */ 259 260/* =============================== 261 Get country NAME by code 262 (Reuse existing countries[]) 263=============================== */ 264function setCountryNameByCode(code) { 265 if (!code) { 266 $("#CountryName").val(""); 267 return; 268 } 269 270 const country = countries.find(c => c.code === code); 271 if (!country) { 272 $("#CountryName").val(""); 273 return; 274 } 275 276 $("#CountryName").val(country.name); 277} 278function GetCountryNameByCode(code) { 279 if (!code) return ""; 280 281 const country = countries.find(c => c.code === code); 282 return country ? country.name : ""; 283} 284 285function initCountryCode() { 286 const toggle = document.getElementById("countryToggle"); 287 const menu = document.getElementById("countryMenu"); 288 289 if (!toggle || !menu) { 290 console.error("Country Code elements not found"); 291 return; 292 } 293 294 function attachOptionEvents() { 295 document.querySelectorAll(".country-option").forEach(opt => { 296 opt.onclick = function (e) { 297 e.preventDefault(); 298 e.stopPropagation(); 299 let code = this.dataset.code; 300 let flag = this.dataset.flag; 301 302 const btn = document.getElementById("countryToggle"); 303 if (btn) { 304 btn.innerHTML = `<span class="flex items-center gap-1.5"><img src="https://flagcdn.com/${flag}.svg" class="w-4 h-4 rounded-sm" /> <span class="text-xs">${code}</span></span><svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7" /></svg>`; 305 } 306 307 const hiddenInput = document.getElementById("countryCode"); 308 if (hiddenInput) hiddenInput.value = code; 309 310 const m = document.getElementById("countryMenu"); 311 if (m) m.classList.add("hidden"); 312 }; 313 }); 314 } 315 316 function populateCountries() { 317 const m = document.getElementById("countryMenu"); 318 if (m) { 319 m.classList.remove("w-64"); 320 m.classList.add("w-52"); 321 } 322 menu.innerHTML = ''; 323 countries.forEach(country => { 324 const option = document.createElement('div'); 325 option.className = 'p-2 cursor-pointer hover:bg-white/10 flex items-center gap-2 country-option transition'; 326 option.dataset.code = country.code; 327 option.dataset.flag = country.flag; 328 option.dataset.name = country.name; 329 option.innerHTML = `<img src="https://flagcdn.com/${country.flag}.svg" class="w-5 h-5 shadow-sm" /><span class="text-white text-xs font-normal">${country.name} (${country.code})</span>`; 330 menu.appendChild(option); 331 }); 332 attachOptionEvents(); 333 } 334 335 toggle.onclick = function (e) { 336 e.preventDefault(); 337 e.stopPropagation(); 338 menu.classList.toggle("hidden"); 339 }; 340 341 menu.onclick = function (e) { 342 e.stopPropagation(); 343 }; 344 345 document.addEventListener('click', function () { 346 if (menu) menu.classList.add("hidden"); 347 }); 348 349 populateCountries(); 350} 351 352// Initialize on load 353if (document.readyState === 'loading') { 354 document.addEventListener('DOMContentLoaded', initCountryCode); 355} else { 356 initCountryCode(); 357}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.