1jQuery(document).ready(function() { 2 3 function friendlyName(str) { 4 var names={}; 5 names["amazon"]="Amazon"; 6 names["binu"]="biNu"; 7 names["getjar"]="GetJar"; 8 names["google"]="Google"; 9 names["opera"]="Opera"; 10 names["safaricom"]="Safari"; 11 names["imimobile"]="IMImobile"; 12 names["vodacom"]="Vodacom"; 13 names["iOS"]="Apple iOS"; 14 15 var niceName=str; 16 if (names.hasOwnProperty(str)) { 17 niceName=names[str]; 18 } 19 return niceName; 20 21 } 22 23 function initJavaSelect() { 24 //for an example of this in action, see http://innovation.bbg.gov/blog/bbgs-new-java-based-apps-are-built-for-very-low-end-or-feature-phones/ 25 entities = [{ 26 "value": "VOA", 27 "display": "VOA News" 28 }, { 29 "value": "Alhurra", 30 "display": "Alhurra TV" 31 }, { 32 "value": "Marti", 33 "display": "Martà Noticias" 34 }, { 35 "value": "RFERL", 36 "display": "Radio Free Europe/Radio Liberty" 37 }, { 38 "value": "RFA", 39 "display": "Radio Free Asia" 40 }]; 41 42 43 stores = ["binu", "opera", "getjar"]; 44 45 var links={}; 46 links["Alhurra"]={}; 47 links["Alhurra"]["binu"]={}; 48 links["Alhurra"]["getjar"]={}; 49 links["Alhurra"]["opera"]={}; 50 links["Alhurra"]["binu"]["multi"]="http://m.binu.com/alh/"; 51 links["Alhurra"]["getjar"]["multi"]="http://www.getjar.mobi/mobile/848171/-Alhurra-for-Java-Phones"; 52 links["Alhurra"]["opera"]["multi"]="http://java.apps.opera.com/en_us/alhurra_for_java_phones.html?dm=1&multi=1"; 53 54 links["Marti"]={}; 55 links["Marti"]["binu"]={}; 56 links["Marti"]["getjar"]={}; 57 links["Marti"]["opera"]={}; 58 links["Marti"]["binu"]["multi"]="http://m.binu.com/mar/"; 59 links["Marti"]["getjar"]["multi"]="http://www.getjar.mobi/mobile/848168/OCB-Mart-Noticias-for-Java-Phones"; 60 links["Marti"]["opera"]["multi"]="http://java.apps.opera.com/en_us/marti_noticias_for_java_phones.html?dm=1&multi=1"; 61 62 links["RFA"]={}; 63 links["RFA"]["binu"]={}; 64 links["RFA"]["getjar"]={}; 65 links["RFA"]["opera"]={}; 66 links["RFA"]["binu"]["multi"]="http://m.binu.com/rfa/"; 67 links["RFA"]["getjar"]["Chinese_Simplified"]="http://www.getjar.mobi/mobile/848351/RFA-Chinese-Simplified-for-Java-Phones"; 68 links["RFA"]["getjar"]["Chinese_Traditional"]="http://www.getjar.mobi/mobile/848352/RFA-Chinese-Traditional-for-Java-Phones"; 69 links["RFA"]["getjar"]["English"]="http://www.getjar.mobi/mobile/848349/RFA-English-for-Java-Phones"; 70 links["RFA"]["getjar"]["Korean"]="http://www.getjar.mobi/mobile/848353/RFA-Korean-for-Java-Phones"; 71 links["RFA"]["getjar"]["Vietnamese"]="http://www.getjar.mobi/mobile/848354/RFA-Vietnamese-for-Java-Phones"; 72 links["RFA"]["opera"]["multi"]="http://java.apps.opera.com/en_us/radio_free_asia_rfa_for_java_phones.html?dm=1&multi=1&set_lang=en"; 73 74 links["RFERL"]={}; 75 links["RFERL"]["binu"]={}; 76 links["RFERL"]["getjar"]={}; 77 links["RFERL"]["opera"]={}; 78 links["RFERL"]["binu"]["multi"]="http://m.binu.com/rfe/"; 79 links["RFERL"]["getjar"]["Belarusian"]="http://www.getjar.mobi/mobile/848341/RFERL-Belarusian-for-Java-Phones"; 80 links["RFERL"]["getjar"]["English"]="http://www.getjar.mobi/mobile/848340/RFERL-English-for-Java-Phones"; 81 links["RFERL"]["getjar"]["Persian"]="http://www.getjar.mobi/mobile/848343/RFERL-Persian-for-Java-Phones"; 82 links["RFERL"]["getjar"]["Russian"]="http://www.getjar.mobi/mobile/848344/RFERL-Russian-for-Java-Phones"; 83 links["RFERL"]["getjar"]["Ukrainian"]="http://www.getjar.mobi/mobile/848345/RFERL-Ukrainian-for-Java-Phones"; 84 links["RFERL"]["opera"]["multi"]="http://java.apps.opera.com/en_us/rferl_for_java_phones.html?dm=1&multi=1&set_lang=en"; 85 86 links["VOA"]={}; 87 links["VOA"]["binu"]={}; 88 links["VOA"]["getjar"]={}; 89 links["VOA"]["opera"]={}; 90 links["VOA"]["binu"]["multi"]="http://m.binu.com/voa/"; 91 links["VOA"]["getjar"]["English"] = "http://www.getjar.mobi/mobile/847025/VOA-News-for-Java-Phones"; 92 links["VOA"]["getjar"]["French"] = "http://www.getjar.mobi/mobile/848176/VOA-French-for-Java-Phones"; 93 links["VOA"]["getjar"]["Indonesian"] = "http://www.getjar.mobi/mobile/848263/VOA-Indonesian-for-Java-Phones"; 94 links["VOA"]["getjar"]["Korean"] = "http://www.getjar.mobi/mobile/848269/VOA-Korean-for-Java-Phones"; 95 links["VOA"]["getjar"]["Persian"] = "http://www.getjar.mobi/mobile/848262/VOA-Persian-for-Java-Phones"; 96 links["VOA"]["getjar"]["Portuguese"] = "http://www.getjar.mobi/mobile/848253/VOA-Portuguese-for-Java-Phones"; 97 links["VOA"]["getjar"]["Russian"] = "http://www.getjar.mobi/mobile/848272/VOA-Russian-for-Java-Phones"; 98 links["VOA"]["getjar"]["Serbian"] = "http://www.getjar.mobi/mobile/848274/VOA-Serbian-for-Java-Phones"; 99 links["VOA"]["getjar"]["Spanish"] = "http://www.getjar.mobi/mobile/848260/VOA-Spanish-for-Java-Phones"; 100 links["VOA"]["getjar"]["Swahili"] = "http://www.getjar.mobi/mobile/848254/VOA-Swahili-for-Java-Phones"; 101 links["VOA"]["getjar"]["Thai"] = "http://www.getjar.mobi/mobile/848264/VOA-Thai-for-Java-Phones"; 102 links["VOA"]["getjar"]["Turkish"] = "http://www.getjar.mobi/mobile/848271/VOA-Turkish-for-Java-Phones"; 103 links["VOA"]["getjar"]["Ukrainian"] = "http://www.getjar.mobi/mobile/848273/VOA-Ukrainian-for-Java-Phones"; 104 links["VOA"]["getjar"]["Vietnamese"] = "http://www.getjar.mobi/mobile/848268/VOA-Vietnamese-for-Java-Phones"; 105 links["VOA"]["getjar"]["Amharic"] = "http://www.getjar.mobi/mobile/848255/VOA-Amharic-for-Java-Phones"; 106 links["VOA"]["getjar"]["Chinese Simplified"] = "http://www.getjar.mobi/mobile/848265/VOA-Chinese-Simplified-for-Java-Phones"; 107 links["VOA"]["getjar"]["Chinese Traditional"] = "http://www.getjar.mobi/mobile/848266/VOA-Chinese-Traditional-for-Java-Phones"; 108 links["VOA"]["opera"]["multi"]="http://java.apps.opera.com/en_us/voa_news_for_java_phones.html?dm=1&multi=1&set_lang=en"; 109 110 /*** Populate the entity selector ****/ 111 var str = ""; 112 for (var i = 0; i < entities.length; i++) { 113 str += "<option value=" + entities[i].value + ">" + entities[i].display + "</option>"; 114 } 115 jQuery("#appSelect-java select[name=entity]").append(str); 116 117 /*** Populate the store selector ****/ 118 str=""; 119 for (var i = 0; i < stores.length; i++) { 120 str += "<option value=" + stores[i] + ">" + friendlyName(stores[i]) + "</option>"; 121 } 122 jQuery("#appSelect-java select[name=store]").append(str); 123 jQuery("#stores").hide(); 124 125 126 127 /*** Show the form (we keep it hidden until it has data) ****/ 128 jQuery("#appSelect-java").css("display", "block"); 129 130 function refreshLanguages() { 131 jQuery("select[name=language]").empty(); 132 var selectedEntity= jQuery("select[name=entity]").val(); 133 var selectedStore= jQuery("select[name=store]").val(); 134 var languages = links[selectedEntity][selectedStore]; 135 136 var str = '<option value="" disabled selected>Select a language</option>'; 137 var hasMulti=false; 138 for (var key in languages) { 139 if (languages.hasOwnProperty(key)) { 140 if (key == "multi") { 141 hasMulti=true; 142 } else { 143 str += "<option value=" + key + ">" + key + "</option>"; 144 } 145 } 146 } 147 148 jQuery("select[name=language]").append(str); 149 if (!hasMulti) { 150 jQuery("#languages").show(); 151 jQuery("select[name=language]").prop('selectedIndex',0); 152 jQuery("input[name=btnGo]").hide(); 153 } else { 154 155 jQuery("#languages").hide(); 156 jQuery("select[name=language]").prop('selectedIndex',1); 157 jQuery("input[name=btnGo]").show(); 158 } 159 } 160 161 /*** when entity is changed, clear the store selection and remove language options***/ 162 jQuery("select[name=entity]").change(function() { 163 var newEntity = jQuery(this).val(); 164 jQuery("#appSelect-java select[name=store]").prop('selectedIndex',0); 165 jQuery("#appSelect-java select[name=language]").empty(); 166 jQuery("#languages").hide(); 167 jQuery("input[name=btnGo]").hide(); 168 jQuery("#stores").show(); 169 170 }) 171 172 /*** when store is changed, fill in the languages ***/ 173 jQuery("select[name=store]").change(function() {
174 var storeValue = jQuery("select[name=store]").val(); 175 if (storeValue != "") { 176 refreshLanguages(); 177 } else { 178 jQuery("#languages").hide(); 179 jQuery("input[name=btnGo]").hide(); 180 } 181 }) 182 183 jQuery("select[name=language]").change(function() { 184 jQuery("input[name=btnGo]").show(); 185 }); 186 187 jQuery("input[name=btnGo]").click(function() { 188 var entityValue = jQuery("select[name=entity]").val(); 189 var storeValue = jQuery("select[name=store]").val(); 190 var languageValue = jQuery("select[name=language] option:selected").text(); 191 var targetUrl = ""; 192 if (links[entityValue][storeValue].hasOwnProperty("multi")) { 193 targetUrl=links[entityValue][storeValue]["multi"]; 194 } else { 195 targetUrl=links[entityValue][storeValue][languageValue]; 196 } 197 if (targetUrl != "") { 198 window.open(targetUrl, '_blank'); 199 } 200 }); 201 202 jQuery("#languages").hide(); 203 jQuery("input[name=btnGo]").hide(); 204 205 } 206 207 function initSmartphoneSelect() { 208 //see http://innovation.bbg.gov/blog/mobile-news-apps/ 209 console.log("initSmartphoneSelect"); 210 211 var iOSLinks={} 212 iOSLinks["Alhurra"]="https://itunes.apple.com/app/alhurra/id639637717?ls=1&mt=8"; 213 iOSLinks["Marti"]="https://itunes.apple.com/app/marti-noticias/id639624682?mt=8"; 214 iOSLinks["RFA"]="https://itunes.apple.com/app/rfa/id744921169?ls=1&mt=8"; 215 iOSLinks["RFERL"]="https://itunes.apple.com/app/id475986784"; 216 iOSLinks["VOA"]="https://itunes.apple.com/app/voa/id632618796?ls=1&mt=8"; 217 218 219 220 var stores = ["amazon", "getjar", "google", "opera"]; 221 222 var entities = [{ 223 "value": "VOA", 224 "display": "VOA News" 225 }, { 226 "value": "Alhurra", 227 "display": "Alhurra TV" 228 }, { 229 "value": "Marti", 230 "display": "Martà Noticias" 231 }, { 232 "value": "RFERL", 233 "display": "Radio Free Europe/Radio Liberty" 234 }, { 235 "value": "RFA", 236 "display": "Radio Free Asia" 237 }]; 238 239 var links={}; 240 links["Alhurra"]={}; 241 links["Alhurra"]["amazon"]={}; 242 links["Alhurra"]["google"]={}; 243 links["Alhurra"]["opera"]={}; 244 links["Alhurra"]["getjar"]={}; 245 links["Alhurra"]["amazon"]["multi"]="http://www.amazon.com/gp/mas/dl/android?p=gov.bbg.mbn"; 246 links["Alhurra"]["google"]["multi"]="https://play.google.com/store/apps/details?id=gov.bbg.mbn&hl=en"; 247 links["Alhurra"]["opera"]["multi"]="http://apps.opera.com/en_us/alhurra.html?dm=1&multi=1"; 248 links["Alhurra"]["getjar"]["Arabic"]="http://www.getjar.mobi/mobile/812946/"; 249 links["Alhurra"]["getjar"]["English"]="http://www.getjar.mobi/mobile/812939/Alhurra"; 250 251 252 links["Marti"]={}; 253 links["Marti"]["amazon"]={}; 254 links["Marti"]["google"]={}; 255 links["Marti"]["opera"]={}; 256 links["Marti"]["getjar"]={}; 257 links["Marti"]["amazon"]["multi"]="http://www.amazon.com/gp/mas/dl/android?p=gov.bbg.ocb"; 258 links["Marti"]["google"]["multi"]="https://play.google.com/store/apps/details?id=gov.bbg.ocb"; 259 links["Marti"]["opera"]["multi"]="http://apps.opera.com/en_us/mart_noticias.html?dm=1&multi=1"; 260 links["Marti"]["getjar"]["English"]="http://www.getjar.mobi/mobile/771913/martinoticias"; 261 links["Marti"]["getjar"]["Spanish"]="http://www.getjar.mobi/mobile/812951/OCB-Mart-Noticias"; 262 263 links["RFA"]={}; 264 links["RFA"]["amazon"]={}; 265 links["RFA"]["google"]={}; 266 links["RFA"]["opera"]={}; 267 links["RFA"]["getjar"]={}; 268 links["RFA"]["amazon"]["multi"]="http://www.amazon.com/gp/mas/dl/android?p=gov.bbg.rfa"; 269 links["RFA"]["google"]["multi"]="https://play.google.com/store/apps/details?id=gov.bbg.rfa"; 270 links["RFA"]["opera"]["multi"]="http://apps.opera.com/en_us/radio_free_asia.html?dm=1&multi=1"; 271 links["RFA"]["getjar"]["Chinese Simplified"]="http://www.getjar.mobi/mobile/813207/-Simplified-Chinese"; 272 links["RFA"]["getjar"]["Chinese Traditional"]="http://www.getjar.mobi/mobile/841500/-Traditional-Chinese"; 273 links["RFA"]["getjar"]["English"]="http://www.getjar.mobi/mobile/812723/RFA"; 274 links["RFA"]["getjar"]["Korean"]="http://www.getjar.mobi/mobile/813208/"; 275 276 277 links["RFERL"]={}; 278 links["RFERL"]["amazon"]={}; 279 links["RFERL"]["google"]={}; 280 links["RFERL"]["opera"]={}; 281 links["RFERL"]["getjar"]={}; 282 links["RFERL"]["amazon"]["multi"]="http://www.amazon.com/gp/mas/dl/android?p=org.rferl.en"; 283 links["RFERL"]["google"]["multi"]="https://play.google.com/store/apps/details?id=org.rferl.en"; 284 links["RFERL"]["opera"]["multi"]="http://apps.opera.com/en_us/rferl.html?dm=1&multi=1"; 285 links["RFERL"]["getjar"]["Belarusian"]="http://www.getjar.mobi/mobile/813214/RFE-"; 286 links["RFERL"]["getjar"]["English"]="http://www.getjar.mobi/mobile/812940/RFE"; 287 links["RFERL"]["getjar"]["Persian"]="http://www.getjar.mobi/mobile/813215/-"; 288 links["RFERL"]["getjar"]["Russian"]="http://www.getjar.mobi/mobile/813217/RFE-"; 289 links["RFERL"]["getjar"]["Ukrainian"]="http://www.getjar.mobi/mobile/813218/RFE-"; 290 291 292 links["VOA"]={}; 293 links["VOA"]["amazon"]={}; 294 links["VOA"]["google"]={}; 295 links["VOA"]["opera"]={}; 296 links["VOA"]["getjar"]={}; 297 links["VOA"]["amazon"]["multi"]="http://www.amazon.com/gp/mas/dl/android?p=gov.bbg.voa"; 298 links["VOA"]["google"]["multi"]="https://play.google.com/store/apps/details?id=gov.bbg.voa"; 299 links["VOA"]["opera"]["multi"]="http://apps.opera.com/en_us/voa_news.html?dm=1&multi=1"; 300 links["VOA"]["getjar"]["Amharic"] = "http://www.getjar.mobi/mobile/812952/"; 301 links["VOA"]["getjar"]["Chinese Simplified"] = "http://www.getjar.mobi/mobile/812943/"; 302 links["VOA"]["getjar"]["Chinese Traditional"] = "http://www.getjar.mobi/mobile/812945/"; 303 links["VOA"]["getjar"]["English"] = "http://www.getjar.mobi/mobile/812715/Voice-of-America"; 304 links["VOA"]["getjar"]["French"] = "http://www.getjar.mobi/mobile/812953/VOA-French"; 305 links["VOA"]["getjar"]["Indonesian"] = "http://www.getjar.mobi/mobile/812955/VOA-Indonesia"; 306 links["VOA"]["getjar"]["Korean"] = "http://www.getjar.mobi/mobile/812956/VOA-"; 307 links["VOA"]["getjar"]["Persian"] = "http://www.getjar.mobi/mobile/812957/-"; 308 links["VOA"]["getjar"]["Portuguese"] = "http://www.getjar.mobi/mobile/812960/VOA-Portugus"; 309 links["VOA"]["getjar"]["Russian"] = "http://www.getjar.mobi/mobile/813024/-"; 310 links["VOA"]["getjar"]["Serbian"] = "http://www.getjar.mobi/mobile/813040/Glas-Amerike"; 311 links["VOA"]["getjar"]["Spanish"] = "http://www.getjar.mobi/mobile/813042/Voz-de-Amrica"; 312 links["VOA"]["getjar"]["Swahili"] = "http://www.getjar.mobi/mobile/813043/VOA-Swahili"; 313 links["VOA"]["getjar"]["Thai"] = "http://www.getjar.mobi/mobile/813044/VOA-Thai"; 314 links["VOA"]["getjar"]["Turkish"] = "http://www.getjar.mobi/mobile/813196/VOA-Turkish"; 315 links["VOA"]["getjar"]["Ukrainian"] = "http://www.getjar.mobi/mobile/813197/VOA-"; 316 links["VOA"]["getjar"]["Vietnamese"] = "http://www.getjar.mobi/mobile/813205/VOA-Ting-Vit"; 317 318 /*** Populate the entity selector ****/ 319 var str = ""; 320 for (var i = 0; i < entities.length; i++) { 321 str += "<option value=" + entities[i].value + ">" + entities[i].display + "</option>"; 322 } 323 jQuery("#appSelect-smartphone-android select[name=entity]").append(str); 324 jQuery("#appSelect-smartphone-iOS select[name=entity]").append(str); 325 326 /*** Populate the store selector ****/ 327 str=""; 328 for (var i = 0; i < stores.length; i++) { 329 str += "<option value=" + stores[i] + ">" + friendlyName(stores[i]) + "</option>"; 330 } 331 jQuery("select[name=store]").append(str); 332 jQuery("#stores").hide(); 333 334 335 /*** Show the form (we keep it hidden until it has data) ****/ 336 //jQuery("#appSelect-smartphone-iOS").css("display", "block"); 337 //jQuery("#appSelect-smartphone-android").css("display", "block"); 338 339 function refreshLanguages() { 340 341 jQuery("select[name=language]").empty(); 342 var selectedEntity= jQuery("#appSelect-smartphone-android select[name=entity]").val(); 343 var selectedStore= jQuery("select[name=store]").val(); 344 var languages = links[selectedEntity][selectedStore]; 345 346 var str = '<option value="" disabled selected>Select a language</option>'; 347 var hasMulti=false; 348 for (var key in languages) { 349 if (languages.hasOwnProperty(key)) { 350 if (key == "multi") { 351 hasMulti=true; 352 } else { 353 str += "<option value=" + key + ">" + key + "</option>"; 354 } 355 } 356 } 357 358 jQuery("select[name=language]").append(str); 359 if (!hasMulti) { 360 jQuery("#languages").show(); 361 jQuery("select[name=language]").prop('selectedIndex',0); 362 jQuery("input[name=btnGo]").hide(); 363 } else { 364 365 jQuery("#languages").hide(); 366 jQuery("select[name=language]").prop('selectedIndex',1); 367 jQuery("input[name=btnGo]").show(); 368 } 369 } 370 371 jQuery("input[name=os]").change(function() { 372 var newOS = jQuery(this).val(); 373 console.log("os is " + newOS); 374 if (newOS == "iOS") { 375 jQuery("form#appSelect-smartphone-android").hide(); 376 jQuery("form#appSelect-smartphone-iOS").show(); 377 } else { 378 jQuery("form#appSelect-smartphone-android").show(); 379 jQuery("form#appSelect-smartphone-iOS").hide(); 380 } 381 }); 382 383 /*** when entity is changed, clear the store selection and remove language options***/ 384 jQuery("#appSelect-smartphone-android select[name=entity]").change(function() { 385 var newEntity = jQuery(this).val(); 386 jQuery("#appSelect-smartphone-android select[name=store]").prop('selectedIndex',0); 387 jQuery("#appSelect-smartphone-android select[name=language]").empty(); 388 jQuery("#languages").hide(); 389 jQuery("input[name=btnGo]").hide(); 390 jQuery("#stores").show(); 391 392 }) 393 jQuery("#appSelect-smartphone-iOS select[name=entity]").change(function() { 394 var newEntity = jQuery(this).val(); 395 jQuery("input[name=btnGoIOS]").show(); 396 397 }) 398 399 /*** when store is changed, fill in the languages ***/ 400 jQuery("select[name=store]").change(function() {
401 var storeValue = jQuery("select[name=store]").val(); 402 if (storeValue != "") { 403 refreshLanguages(); 404 } else { 405 jQuery("#languages").hide(); 406 jQuery("input[name=btnGo]").hide(); 407 } 408 }) 409 410 jQuery("select[name=language]").change(function() { 411 jQuery("input[name=btnGo]").show(); 412 }); 413 414 jQuery("input[name=btnGo]").click(function() { 415 var entityValue = jQuery("#appSelect-smartphone-android select[name=entity]").val(); 416 var storeValue = jQuery("select[name=store]").val(); 417 var languageValue = jQuery("select[name=language] option:selected").text(); 418 var targetUrl = ""; 419 if (links[entityValue][storeValue].hasOwnProperty("multi")) { 420 targetUrl=links[entityValue][storeValue]["multi"]; 421 } else { 422 targetUrl=links[entityValue][storeValue][languageValue]; 423 } 424 if (targetUrl != "") { 425 window.open(targetUrl, '_blank'); 426 } 427 }); 428 429 jQuery("input[name=btnGoIOS]").click(function() { 430 var entityValue = jQuery("#appSelect-smartphone-iOS select[name=entity]").val(); 431 var targetUrl=""; 432 if (iOSLinks.hasOwnProperty(entityValue)) { 433 targetUrl=iOSLinks[entityValue]; 434 } 435 if (targetUrl != "") { 436 window.open(targetUrl, '_blank'); 437 } 438 }); 439 440 jQuery("#languages").hide(); 441 jQuery("input[name=btnGo]").hide(); 442 jQuery("input[name=btnGoIOS]").hide(); 443 } 444 445 function initSawaSelect() { 446 447 var osList=["iOS","Android","Java"] 448 var javaStores = ["binu", "opera", "getjar"]; 449 var androidStores=["amazon","getjar","google","opera"]; 450 451 var iOSLink="https://itunes.apple.com/app/radyw-swa-radio-sawa/id886220964?ls=1&mt=8"; 452 453 var str = ""; 454 455 var links={}; 456 457 function fillStores(storeType) { 458 var stores=(storeType=="Java") ? javaStores : androidStores; 459 /*** Populate the store selector ****/ 460 str = '<option value="" disabled selected>Select a store</option>'; 461 for (var i = 0; i < stores.length; i++) { 462 str += "<option value=" + stores[i] + ">" + friendlyName(stores[i]) + "</option>"; 463 } 464 jQuery("select[name=store]").empty(); 465 jQuery("select[name=store]").append(str); 466 467 } 468 469 470 links["Java"]={}; 471 links["Java"]["binu"]={}; 472 links["Java"]["getjar"]={}; 473 links["Java"]["opera"]={}; 474 links["Java"]["binu"]["multi"]="http://m.binu.com/sawa/"; 475 links["Java"]["getjar"]["multi"]="http://www.getjar.mobi/mobile/851300/-Radio-Sawa-for-Java-Phones"; 476 links["Java"]["opera"]["multi"]="http://java.apps.opera.com/en_us/radio_sawa_for_java_phones.html?pm=1&multi=1"; 477 478 links["Android"]={} 479 links["Android"]["amazon"]={} 480 links["Android"]["getjar"]={} 481 links["Android"]["google"]={} 482 links["Android"]["opera"]={} 483 484 links["Android"]["amazon"]["multi"]="http://www.amazon.com/gp/mas/dl/android?p=com.bbg.radiosawa"; 485 links["Android"]["google"]["multi"]="https://play.google.com/store/apps/details?id=com.bbg.radiosawa"; 486 links["Android"]["opera"]["multi"]="http://apps.opera.com/en_us/radio_sawa_r9511.html?dm=1&multi=1"; 487 488 links["Android"]["getjar"]["Arabic"] = "http://www.getjar.mobi/mobile/851300/-Radio-Sawa-for-Java-Phones"; 489 links["Android"]["getjar"]["English"] = "http://www.getjar.mobi/mobile/821090/Radio-Sawa"; 490 491 /*** Populate the entity selector ****/ 492 str=""; 493 for (var i = 0; i < osList.length; i++) { 494 str += "<option value=" + osList[i] + ">" + friendlyName(osList[i]) + "</option>"; 495 } 496 jQuery("select[name=os]").append(str); 497 498 jQuery("#stores").hide(); 499 500 /*** Show the form (we keep it hidden until it has data) ****/ 501 jQuery("#appSelect-sawa").css("display", "block"); 502 503 function refreshLanguages() { 504 jQuery("select[name=language]").empty(); 505 var selectedOS= jQuery("select[name=os]").val(); 506 var selectedStore= jQuery("select[name=store]").val(); 507 var languages = links[selectedOS][selectedStore]; 508 509 var str = '<option value="" disabled selected>Select a language</option>'; 510 var hasMulti=false; 511 for (var key in languages) { 512 if (languages.hasOwnProperty(key)) { 513 if (key == "multi") { 514 hasMulti=true; 515 } else { 516 str += "<option value=" + key + ">" + key + "</option>"; 517 } 518 } 519 } 520 jQuery("select[name=language]").append(str); 521 if (!hasMulti) { 522 jQuery("#languages").show(); 523 jQuery("input[name=btnGo]").hide(); 524 } else { 525 jQuery("#languages").hide(); 526 jQuery("select[name=language]").prop('selectedIndex',1); 527 jQuery("input[name=btnGo]").show(); 528 } 529 } 530 531 /*** when entity is changed, clear the store selection and remove language options***/ 532 jQuery("select[name=os]").change(function() { 533 var newOS = jQuery(this).val(); 534 jQuery("#languages").hide(); 535 536 if (newOS == "iOS") { 537 jQuery("input[name=btnGo]").show(); 538 jQuery("#stores").hide(); 539 } else if (newOS == "") { 540 jQuery("#stores").hide(); 541 jQuery("input[name=btnGo]").hide(); 542 } else { 543 jQuery("input[name=btnGo]").hide(); 544 545 fillStores(newOS); 546 547 jQuery("#stores").show(); 548 } 549 }) 550 551 /*** when store is changed, fill in the languages ***/ 552 jQuery("select[name=store]").change(function() {
553 var storeValue = jQuery("select[name=store]").val(); 554 if (storeValue != "") { 555 refreshLanguages(); 556 } else { 557 jQuery("#languages").hide(); 558 jQuery("input[name=btnGo]").hide(); 559 } 560 }) 561 562 jQuery("select[name=language]").change(function() { 563 jQuery("input[name=btnGo]").show(); 564 }); 565 566 jQuery("input[name=btnGo]").click(function() { 567 var osValue = jQuery("select[name=os]").val(); 568 var storeValue = jQuery("select[name=store]").val(); 569 var languageValue = jQuery("select[name=language] option:selected").text(); 570 var targetUrl = ""; 571 572 if (osValue=="iOS") { 573 targetUrl=iOSLink; 574 } else { 575 if (links[osValue][storeValue].hasOwnProperty("multi")) { 576 targetUrl=links[osValue][storeValue]["multi"]; 577 } else { 578 targetUrl=links[osValue][storeValue][languageValue]; 579 } 580 } 581 582 if (targetUrl != "") { 583 window.open(targetUrl, '_blank'); 584 } 585 }); 586 587 jQuery("#languages").hide(); 588 jQuery("input[name=btnGo]").hide(); 589} 590 591 function initStreamerSelect() { 592 var osList=["iOS","Android"] 593 var androidStores=["amazon","getjar","google","imimobile","opera","safaricom"]; //,"vodacom" 594 595 var iOSLink="https://itunes.apple.com/app/voa-mobile-streamer/id1000757271?ls=1&mt=8+"; 596 597 var str = ""; 598 599 var links={}; 600 601 function fillStores() { 602 var stores=androidStores; 603 /*** Populate the store selector ****/ 604 str = '<option value="" disabled selected>Select a store</option>'; 605 for (var i = 0; i < stores.length; i++) { 606 str += "<option value=" + stores[i] + ">" + friendlyName(stores[i]) + "</option>"; 607 } 608 jQuery("select[name=store]").empty(); 609 jQuery("select[name=store]").append(str); 610 611 } 612 613 links["Android"]={} 614 links["Android"]["amazon"]={} 615 links["Android"]["getjar"]={} 616 links["Android"]["google"]={} 617 links["Android"]["imimobile"]={} 618 links["Android"]["opera"]={} 619 links["Android"]["safaricom"]={} 620 // links["Android"]["vodacom"]={} 621 622 links["Android"]["amazon"]["multi"]="http://www.amazon.com/gp/mas/dl/android?p=com.audionowdigital.player.voa"; 623 links["Android"]["google"]["multi"]="https://play.google.com/store/apps/details?id=com.audionowdigital.player.voa"; 624 links["Android"]["opera"]["multi"]="http://apps.opera.com/en_us/voa_mobile_streamer.html?pm=1&multi=1"; 625 626 links["Android"]["getjar"]["Amharic"] = "http://www.getjar.mobi/mobile/856571/VOA-Amharic-Mobile-Streamer"; 627 links["Android"]["getjar"]["Bangla"] = "http://www.getjar.mobi/mobile/856573/VOA-Bengali-Mobile-Streamer"; 628 links["Android"]["getjar"]["Burmese"] = "http://www.getjar.mobi/mobile/856574/VOA-Burmese-Mobile-Streamer"; 629 links["Android"]["getjar"]["Chinese Simplified"] = "http://www.getjar.mobi/mobile/856575/VOA-Chinese-Simplified-Mobile-Streamer"; 630 links["Android"]["getjar"]["Chinese Traditional"] = "http://www.getjar.mobi/mobile/856577/VOA-Chinese-Traditional-Mobile-Streamer"; 631 links["Android"]["getjar"]["English"] = "http://www.getjar.mobi/mobile/856570/VOA-Mobile-Streamer"; 632 links["Android"]["getjar"]["French"] = "http://www.getjar.mobi/mobile/856578/VOA-French-Mobile-Streamer"; 633 links["Android"]["getjar"]["Indonesian"] = "http://www.getjar.mobi/mobile/856579/VOA-Indonesian-Mobile-Streamer"; 634 links["Android"]["getjar"]["Khmer"] = "http://www.getjar.mobi/mobile/856582/VOA-Khmer-Mobile-Streamer"; 635 links["Android"]["getjar"]["Korean"] = "http://www.getjar.mobi/mobile/856583/VOA-Korean-Mobile-Streamer"; 636 links["Android"]["getjar"]["Lao"] = "http://www.getjar.mobi/mobile/856585/VOA-Lao-Mobile-Streamer"; 637 links["Android"]["getjar"]["Portuguese"] = "http://www.getjar.mobi/mobile/856587/VOA-Portuguese-Mobile-Streamer"; 638 links["Android"]["getjar"]["Spanish"] = "http://www.getjar.mobi/mobile/856588/VOA-Spanish-Mobile-Streamer"; 639 links["Android"]["getjar"]["Swahili"] = "http://www.getjar.mobi/mobile/856590/VOA-Swahili-Mobile-Streamer"; 640 links["Android"]["getjar"]["Thai"] = "http://www.getjar.mobi/mobile/856591/VOA-Thai-Mobile-Streamer"; 641 links["Android"]["getjar"]["Vietnamese"] = "http://www.getjar.mobi/mobile/856592/VOA-Vietnamese-Mobile-Streamer"; 642 643 links["Android"]["imimobile"]["English (SA)"] = "http://vfsa-mstore.imimobile.co/Defaultx.aspx?mnu=prev&ctype=AP&cc=147533"; 644 links["Android"]["imimobile"]["Swahili (SA)"] = "http://vfsa-mstore.imimobile.co/Defaultx.aspx?mnu=prev&ctype=AP&cc=147534"; 645 646 links["Android"]["safaricom"]["Swahili"] = "http://appstore.safaricom.com/web/shop/details.aspx?cid=147534&ct=AP"; 647 links["Android"]["safaricom"]["English"] = "http://appstore.safaricom.com/web/shop/details.aspx?cid=147533&ct=AP"; 648 links["Android"]["safaricom"]["English (Kenya)"] = "http://appstore.safaricom.com/Portal/Defaultx.aspx?mnu=prev&ctype=AP&cc=147533"; 649 links["Android"]["safaricom"]["Swahili (Kenya)"] = "http://appstore.safaricom.com/Portal/Defaultx.aspx?mnu=prev&ctype=AP&cc=147534"; 650 651 // links["Android"]["vodacom"]["English (Tanzania)"] = "http://appstore.vodacom.co.tz/Defaultx.aspx?mnu=prev&ctype=AP&cc=147533"; 652 // links["Android"]["vodacom"]["Swahili (Tanzania)"] = "http://appstore.vodacom.co.tz/Defaultx.aspx?mnu=prev&ctype=AP&cc=147534"; 653 654 /*** Populate the entity selector ****/ 655 str=""; 656 for (var i = 0; i < osList.length; i++) { 657 str += "<option value=" + osList[i] + ">" + friendlyName(osList[i]) + "</option>"; 658 } 659 jQuery("select[name=os]").append(str); 660 661 jQuery("#stores").hide(); 662 663 /*** Show the form (we keep it hidden until it has data) ****/ 664 jQuery("#appSelect-streamer").css("display", "block"); 665 666 function refreshLanguages() { 667 jQuery("select[name=language]").empty(); 668 var selectedOS= jQuery("select[name=os]").val(); 669 var selectedStore= jQuery("select[name=store]").val(); 670 var languages = links[selectedOS][selectedStore]; 671 672 var str = '<option value="" disabled selected>Select a language</option>'; 673 var hasMulti=false; 674 for (var key in languages) { 675 if (languages.hasOwnProperty(key)) { 676 if (key == "multi") { 677 hasMulti=true; 678 } else { 679 str += "<option value=" + key + ">" + key + "</option>"; 680 } 681 } 682 } 683 jQuery("select[name=language]").append(str); 684 if (!hasMulti) { 685 jQuery("#languages").show(); 686 jQuery("input[name=btnGo]").hide(); 687 } else { 688 jQuery("#languages").hide(); 689 jQuery("select[name=language]").prop('selectedIndex',1); 690 jQuery("input[name=btnGo]").show(); 691 } 692 } 693 694 /*** when entity is changed, clear the store selection and remove language options***/ 695 jQuery("select[name=os]").change(function() { 696 var newOS = jQuery(this).val(); 697 jQuery("#appSelect-streamer select[name=store]").prop('selectedIndex',0); 698 jQuery("#appSelect-streamer select[name=language]").empty(); 699 jQuery("#languages").hide(); 700 701 if (newOS == "iOS") { 702 jQuery("input[name=btnGo]").show(); 703 jQuery("#stores").hide(); 704 } else if (newOS == "") { 705 jQuery("#stores").hide(); 706 jQuery("input[name=btnGo]").hide(); 707 } else { 708 jQuery("input[name=btnGo]").hide(); 709 710 fillStores(newOS); 711 712 jQuery("#stores").show(); 713 } 714 }) 715 716 /*** when store is changed, fill in the languages ***/ 717 jQuery("select[name=store]").change(function() {
718 var storeValue = jQuery("select[name=store]").val(); 719 if (storeValue != "") { 720 refreshLanguages(); 721 } else { 722 jQuery("#languages").hide(); 723 jQuery("input[name=btnGo]").hide(); 724 } 725 }) 726 727 jQuery("select[name=language]").change(function() { 728 jQuery("input[name=btnGo]").show(); 729 }); 730 731 jQuery("input[name=btnGo]").click(function() { 732 var osValue = jQuery("select[name=os]").val(); 733 var storeValue = jQuery("select[name=store]").val(); 734 var languageValue = jQuery("select[name=language] option:selected").text(); 735 var targetUrl = ""; 736 737 if (osValue=="iOS") { 738 targetUrl=iOSLink; 739 } else { 740 if (links[osValue][storeValue].hasOwnProperty("multi")) { 741 targetUrl=links[osValue][storeValue]["multi"]; 742 } else { 743 targetUrl=links[osValue][storeValue][languageValue]; 744 } 745 } 746 747 if (targetUrl != "") { 748 window.open(targetUrl, '_blank'); 749 } 750 }); 751 752 jQuery("#languages").hide(); 753 jQuery("input[name=btnGo]").hide(); 754 755 } 756 757 if (jQuery("#appSelect-java").length) { 758 initJavaSelect(); 759 } 760 if (jQuery("#appSelect-sawa").length) { 761 initSawaSelect(); 762 } 763 if (jQuery("#appSelect-streamer").length) { 764 initStreamerSelect(); 765 } 766 if (jQuery("#appSelect-smartphone-android").length) { 767 initSmartphoneSelect(); 768 } 769 770});
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.