summaryrefslogtreecommitdiff
path: root/frontend/gamma/js/MochiKit/MochiKit.js
Unidiff
Diffstat (limited to 'frontend/gamma/js/MochiKit/MochiKit.js') (more/less context) (show whitespace changes)
-rw-r--r--frontend/gamma/js/MochiKit/MochiKit.js136
1 files changed, 136 insertions, 0 deletions
diff --git a/frontend/gamma/js/MochiKit/MochiKit.js b/frontend/gamma/js/MochiKit/MochiKit.js
new file mode 100644
index 0000000..8e5be68
--- a/dev/null
+++ b/frontend/gamma/js/MochiKit/MochiKit.js
@@ -0,0 +1,136 @@
1/***
2
3MochiKit.MochiKit 1.5
4
5See <http://mochikit.com/> for documentation, downloads, license, etc.
6
7(c) 2005 Bob Ippolito. All rights Reserved.
8
9***/
10
11if (typeof(MochiKit) == 'undefined') {
12 MochiKit = {};
13}
14
15if (typeof(MochiKit.MochiKit) == 'undefined') {
16 /** @id MochiKit.MochiKit */
17 MochiKit.MochiKit = {};
18}
19
20MochiKit.MochiKit.NAME = "MochiKit.MochiKit";
21MochiKit.MochiKit.VERSION = "1.5";
22MochiKit.MochiKit.__repr__ = function () {
23 return "[" + this.NAME + " " + this.VERSION + "]";
24};
25
26/** @id MochiKit.MochiKit.toString */
27MochiKit.MochiKit.toString = function () {
28 return this.__repr__();
29};
30
31/** @id MochiKit.MochiKit.SUBMODULES */
32MochiKit.MochiKit.SUBMODULES = [
33 "Base",
34 "Iter",
35 "Logging",
36 "DateTime",
37 "Format",
38 "Text",
39 "Async",
40 "DOM",
41 "Selector",
42 "Style",
43 "LoggingPane",
44 "Color",
45 "Signal",
46 "Position",
47 "Visual",
48 "DragAndDrop",
49 "Sortable"
50];
51
52(function () {
53 if (typeof(document) == "undefined") {
54 return;
55 }
56 var scripts = document.getElementsByTagName("script");
57 var kXHTMLNSURI = "http://www.w3.org/1999/xhtml";
58 var kSVGNSURI = "http://www.w3.org/2000/svg";
59 var kXLINKNSURI = "http://www.w3.org/1999/xlink";
60 var kXULNSURI = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
61 var base = null;
62 var baseElem = null;
63 var allScripts = {};
64 var i;
65 var src;
66 for (i = 0; i < scripts.length; i++) {
67 src = null;
68 switch (scripts[i].namespaceURI) {
69 case kSVGNSURI:
70 src = scripts[i].getAttributeNS(kXLINKNSURI, "href");
71 break;
72 /*
73 case null: // HTML
74 case '': // HTML
75 case kXHTMLNSURI:
76 case kXULNSURI:
77 */
78 default:
79 src = scripts[i].getAttribute("src");
80 break;
81 }
82 if (!src) {
83 continue;
84 }
85 allScripts[src] = true;
86 if (src.match(/MochiKit.js(\?.*)?$/)) {
87 base = src.substring(0, src.lastIndexOf('MochiKit.js'));
88 baseElem = scripts[i];
89 }
90 }
91 if (base === null) {
92 return;
93 }
94 var modules = MochiKit.MochiKit.SUBMODULES;
95 for (var i = 0; i < modules.length; i++) {
96 if (MochiKit[modules[i]]) {
97 continue;
98 }
99 var uri = base + modules[i] + '.js';
100 if (uri in allScripts) {
101 continue;
102 }
103 if (baseElem.namespaceURI == kSVGNSURI ||
104 baseElem.namespaceURI == kXULNSURI) {
105 // SVG, XUL
106 /*
107 SVG does not support document.write, so if Safari wants to
108 support SVG tests it should fix its deferred loading bug
109 (see following below).
110 */
111 var s = document.createElementNS(baseElem.namespaceURI, 'script');
112 s.setAttribute("id", "MochiKit_" + base + modules[i]);
113 if (baseElem.namespaceURI == kSVGNSURI) {
114 s.setAttributeNS(kXLINKNSURI, 'href', uri);
115 } else {
116 s.setAttribute('src', uri);
117 }
118 s.setAttribute("type", "application/x-javascript");
119 baseElem.parentNode.appendChild(s);
120 } else {
121 // HTML, XHTML
122 /*
123 DOM can not be used here because Safari does
124 deferred loading of scripts unless they are
125 in the document or inserted with document.write
126
127 This is not XHTML compliant. If you want XHTML
128 compliance then you must use the packed version of MochiKit
129 or include each script individually (basically unroll
130 these document.write calls into your XHTML source)
131 */
132 document.write('<' + baseElem.nodeName + ' src="' + uri +
133 '" type="text/javascript"></script>');
134 }
135 };
136})();