loader.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. var _origVars = [];
  2. for (var _prop in window) {
  3. _origVars.push(_prop);
  4. }
  5. function varLeaks() {
  6. for (var prop in window) {
  7. var found = false;
  8. for (var i=0; i<_origVars.length; i++) {
  9. if (prop == _origVars[i]) {
  10. found = true;
  11. break;
  12. }
  13. }
  14. if (!found) {
  15. console.log(prop);
  16. }
  17. }
  18. }
  19. var m = window.location.href.match(/\?(.*)$/);
  20. var queryString = m ? m[1] : '';
  21. function queryStringParam(name) {
  22. m = queryString.match(new RegExp("(?:^|&)"+name+"(?:=([^&]))?"));
  23. if (m) {
  24. if (m[1]) return m[1];
  25. return true;
  26. }
  27. }
  28. function includeJS(src) {
  29. document.write("<script type='text/javascript' src='" + src + "'><\/script>");
  30. }
  31. function includeCSS(href) {
  32. document.write("<link rel='stylesheet' type='text/css' href='" + href + "' />");
  33. }
  34. var _build = queryStringParam('build');
  35. var _uncompressed = queryStringParam('uncompressed');
  36. var _legacy = queryStringParam('legacy');
  37. if (_build) {
  38. includeCSS('../build/fullcalendar/fullcalendar.css');
  39. }else{
  40. includeCSS('../src/css/main.css');
  41. includeCSS('../src/css/grid.css');
  42. }
  43. if (_legacy) {
  44. includeJS('legacy-jquery/jquery.js');
  45. includeJS('legacy-jquery/ui.core.js');
  46. includeJS('legacy-jquery/ui.draggable.js');
  47. includeJS('legacy-jquery/ui.resizable.js');
  48. }
  49. else if (_build) {
  50. includeJS('../build/fullcalendar/jquery/jquery.js');
  51. includeJS('../build/fullcalendar/jquery/ui.core.js');
  52. includeJS('../build/fullcalendar/jquery/ui.draggable.js');
  53. includeJS('../build/fullcalendar/jquery/ui.resizable.js');
  54. }
  55. else {
  56. includeJS('../src/jquery/jquery.js');
  57. includeJS('../src/jquery/ui.core.js');
  58. includeJS('../src/jquery/ui.draggable.js');
  59. includeJS('../src/jquery/ui.resizable.js');
  60. }
  61. if (_build) {
  62. if (_uncompressed) {
  63. includeJS('../build/fullcalendar/uncompressed/fullcalendar.js');
  64. }else{
  65. includeJS('../build/fullcalendar/fullcalendar.js');
  66. }
  67. includeJS('../build/fullcalendar/gcal.js');
  68. }else{
  69. includeJS('../src/main.js');
  70. includeJS('../src/grid.js');
  71. includeJS('../src/view.js');
  72. includeJS('../src/util.js');
  73. includeJS('../src/gcal.js');
  74. }
  75. var _userAgent = navigator.userAgent.toLowerCase();
  76. if (!/mozilla/.test(_userAgent) || /(compatible|webkit)/.test(_userAgent)) {
  77. includeJS('firebug-lite/firebug-lite-compressed.js');
  78. }
  79. window.onload = function() {
  80. $('body').append(
  81. "<form style='position:absolute;top:0;right:0;text-align:right;font-size:10px;color:#666'>" +
  82. "<label for='build'>build</label> " +
  83. "<input type='checkbox' id='build' name='build'" + (_build ? " checked='checked'" : '') +
  84. " style='vertical-align:middle' onclick='$(this).parent().submit()' />" +
  85. "<br />" +
  86. "<label for='uncompressed'>uncompressed</label> " +
  87. "<input type='checkbox' id='uncompressed' name='uncompressed'" + (_uncompressed ? " checked='checked'" : '') +
  88. " style='vertical-align:middle' onclick='$(this).parent().submit()' />" +
  89. "<br />" +
  90. "<label for='legacy'>legacy</label> " +
  91. "<input type='checkbox' id='legacy' name='legacy'" + (_legacy ? " checked='checked'" : '') +
  92. " style='vertical-align:middle' onclick='$(this).parent().submit()' />" +
  93. "</form>"
  94. );
  95. };