PageRenderTime 23ms CodeModel.GetById 19ms RepoModel.GetById 1ms app.codeStats 0ms

/timeline/ext/planning/planning-api.js

http://showslow.googlecode.com/
JavaScript | 92 lines | 67 code | 10 blank | 15 comment | 12 complexity | 7ad844b52986ba133cd7f63e0f9c990f MD5 | raw file
  1. /*==================================================
  2. * Planning Extension
  3. *
  4. * This file will load all the Javascript files
  5. * necessary to make the extension work.
  6. *
  7. *==================================================
  8. */
  9. (function() {
  10. var javascriptFiles = [
  11. "planning.js",
  12. "units.js",
  13. "ether-painters.js",
  14. "labellers.js"
  15. ];
  16. var cssFiles = [
  17. ];
  18. var localizedJavascriptFiles = [
  19. "labellers.js"
  20. ];
  21. var localizedCssFiles = [
  22. ];
  23. // ISO-639 language codes, ISO-3166 country codes (2 characters)
  24. var supportedLocales = [
  25. "en" // English
  26. ];
  27. try {
  28. var includeJavascriptFile = function(filename) {
  29. document.write("<script src='" + Timeline.urlPrefix + "ext/planning/scripts/" + filename + "' type='text/javascript'></script>");
  30. };
  31. var includeCssFile = function(filename) {
  32. document.write("<link rel='stylesheet' href='" + Timeline.urlPrefix + "ext/planning/styles/" + filename + "' type='text/css'/>");
  33. }
  34. /*
  35. * Include non-localized files
  36. */
  37. for (var i = 0; i < javascriptFiles.length; i++) {
  38. includeJavascriptFile(javascriptFiles[i]);
  39. }
  40. for (var i = 0; i < cssFiles.length; i++) {
  41. includeCssFile(cssFiles[i]);
  42. }
  43. /*
  44. * Include localized files
  45. */
  46. var loadLocale = [];
  47. var tryExactLocale = function(locale) {
  48. for (var l = 0; l < supportedLocales.length; l++) {
  49. if (locale == supportedLocales[l]) {
  50. loadLocale[locale] = true;
  51. return true;
  52. }
  53. }
  54. return false;
  55. }
  56. var tryLocale = function(locale) {
  57. if (tryExactLocale(locale)) {
  58. return locale;
  59. }
  60. var dash = locale.indexOf("-");
  61. if (dash > 0 && tryExactLocale(locale.substr(0, dash))) {
  62. return locale.substr(0, dash);
  63. }
  64. return null;
  65. }
  66. tryLocale(Timeline.serverLocale);
  67. tryLocale(Timeline.clientLocale);
  68. for (var l = 0; l < supportedLocales.length; l++) {
  69. var locale = supportedLocales[l];
  70. if (loadLocale[locale]) {
  71. for (var i = 0; i < localizedJavascriptFiles.length; i++) {
  72. includeJavascriptFile("l10n/" + locale + "/" + localizedJavascriptFiles[i]);
  73. }
  74. for (var i = 0; i < localizedCssFiles.length; i++) {
  75. includeCssFile("l10n/" + locale + "/" + localizedCssFiles[i]);
  76. }
  77. }
  78. }
  79. } catch (e) {
  80. alert(e);
  81. }
  82. })();