common.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. (function() {
  2. var locale_options = false;
  3. try {
  4. (0).toLocaleString('i');
  5. } catch (e) { // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString#Example:_Checking_for_support_for_locales_and_options_arguments
  6. locale_options = e.name == 'RangeError';
  7. }
  8. Object.append(window.ykill, {
  9. 'api': function(path, cb) {
  10. new Request.JSON({
  11. 'url': ykill.api_host + path,
  12. 'onSuccess': cb,
  13. }).get();
  14. },
  15. 'portrait': function(id, text, img_dir, img_suffix) {
  16. var img = new Element('img', {
  17. 'src': '//image.eveonline.com/' + img_dir + '/' + id + img_suffix,
  18. 'alt': text,
  19. });
  20. return img;
  21. },
  22. 'format_isk': function(isk) {
  23. isk /= 100;
  24. if (!locale_options)
  25. return parseFloat(isk.toFixed(0)).toLocaleString();
  26. return isk.toLocaleString('en-US', {'maximumFractionDigits': 0});
  27. },
  28. 'format_millions': function(isk) {
  29. isk /= 100 * 1000 * 1000;
  30. if (!locale_options)
  31. return parseFloat(isk.toFixed(2)).toLocaleString();
  32. return isk.toLocaleString('en-US', {'minimumFractionDigits': 2, 'maximumFractionDigits': 2});
  33. },
  34. 'format_billions': function(isk) {
  35. return ykill.format_millions(isk / 1000);
  36. },
  37. 'format_system': function(system, security, security_status) {
  38. if (security_status == '?') // placeholder for w-space
  39. security = '?';
  40. else
  41. security = security.toFixed(1);
  42. return system + ' <span class="' + security_status + '">' + security + '</span>';
  43. }
  44. });
  45. })();