Advertisement
Guest User

Untitled

a guest
Dec 6th, 2012
394
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.01 KB | None | 0 0
  1. __d("Primer", ["function-extensions", "Bootloader", "CSS", "ErrorUtils", "Parent", "clickRefAction", "trackReferrer", "userAction"], function (a, b, c, d, e, f) {
  2. b('function-extensions');
  3. var g = b('Bootloader'),
  4. h = b('CSS'),
  5. i = b('ErrorUtils'),
  6. j = b('Parent'),
  7. k = b('clickRefAction'),
  8. l = b('trackReferrer'),
  9. m = b('userAction'),
  10. n = null,
  11. o = /async(?:-post)?|dialog(?:-post)?|theater|toggle/,
  12. p = document.documentElement;
  13.  
  14. function q(t, u) {
  15. t = j.byAttribute(t, u);
  16. if (!t) return;
  17. do {
  18. var v = t.getAttribute(u);
  19. JSON.parse(v).forEach(function (w) {
  20. var x = t;
  21. g.loadModules.call(g, [w[0]], function (y) {
  22. y[w[1]](x);
  23. });
  24. });
  25. } while (t = j.byAttribute(t.parentNode, u));
  26. return false;
  27. }
  28. p.onclick = i.guard(function (t) {
  29. t = t || window.event;
  30. n = t.target || t.srcElement;
  31. var u = q(n, 'data-onclick'),
  32. v = j.byTag(n, 'A');
  33. if (!v) return u;
  34. var w = v.getAttribute('ajaxify'),
  35. x = v.href,
  36. y = w || x;
  37. if (y) {
  38. k('a', v, t).coalesce_namespace('primer');
  39. var z = m('primer', v, t, {
  40. mode: 'DEDUP'
  41. }).uai_fallback('click');
  42. if (a.ArbiterMonitor) a.ArbiterMonitor.initUA(z, [v]);
  43. }
  44. if (w && x && !(/#$/).test(x)) {
  45. var aa = t.which && t.which === 2,
  46. ba = t.altKey || t.ctrlKey || t.metaKey || t.shiftKey;
  47. if (aa || ba) return;
  48. }
  49. l(v, y);
  50. var ca = v.rel && v.rel.match(o);
  51. ca = ca && ca[0];
  52. switch (ca) {
  53. case 'dialog':
  54. case 'dialog-post':
  55. g.loadModules(['AsyncDialog'], function (da) {
  56. da.bootstrap(y, v, ca);
  57. });
  58. break;
  59. case 'async':
  60. case 'async-post':
  61. g.loadModules(['AsyncRequest'], function (da) {
  62. da.bootstrap(y, v);
  63. });
  64. break;
  65. case 'theater':
  66. g.loadModules(['PhotoSnowlift'], function (da) {
  67. da.bootstrap(y, v);
  68. });
  69. break;
  70. case 'toggle':
  71. h.toggleClass(v.parentNode, 'openToggler');
  72. g.loadModules(['Toggler'], function (da) {
  73. da.bootstrap(v);
  74. });
  75. break;
  76. default:
  77. return u;
  78. }
  79. return false;
  80. });
  81. p.onsubmit = i.guard(function (t) {
  82. t = t || window.event;
  83. var u = t.target || t.srcElement;
  84. if (u && u.nodeName == 'FORM' && u.getAttribute('rel') == 'async') {
  85. k('f', u, t).coalesce_namespace('primer');
  86. var v = m('primer', u, t, {
  87. mode: 'DEDUP'
  88. }).uai_fallback('submit');
  89. if (a.ArbiterMonitor) a.ArbiterMonitor.initUA(v, [u]);
  90. var w = n;
  91. g.loadModules(['Form'], function (x) {
  92. x.bootstrap(u, w);
  93. });
  94. return false;
  95. }
  96. });
  97. var r = null,
  98. s = i.guard(function (t, u) {
  99. u = u || window.event;
  100. r = u.target || u.srcElement;
  101. q(r, 'data-on' + t);
  102. var v = j.byAttribute(r, 'data-hover');
  103. if (!v) return;
  104. switch (v.getAttribute('data-hover')) {
  105. case 'tooltip':
  106. g.loadModules(['Tooltip'], function (w) {
  107. w.process(v, r);
  108. });
  109. break;
  110. }
  111. });
  112. p.onmouseover = s.curry('mouseover');
  113. if (p.addEventListener) {
  114. p.addEventListener('focus', s.curry('focus'), true);
  115. } else p.attachEvent('onfocusin', s.curry('focus'));
  116. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement