summaryrefslogtreecommitdiff
path: root/framework/Web/Javascripts/prototype/compat.js
diff options
context:
space:
mode:
Diffstat (limited to 'framework/Web/Javascripts/prototype/compat.js')
-rw-r--r--framework/Web/Javascripts/prototype/compat.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/framework/Web/Javascripts/prototype/compat.js b/framework/Web/Javascripts/prototype/compat.js
new file mode 100644
index 00000000..09c32582
--- /dev/null
+++ b/framework/Web/Javascripts/prototype/compat.js
@@ -0,0 +1,27 @@
+if (!Array.prototype.push) {
+ Array.prototype.push = function() {
+ var startLength = this.length;
+ for (var i = 0; i < arguments.length; i++)
+ this[startLength + i] = arguments[i];
+ return this.length;
+ }
+}
+
+if (!Function.prototype.apply) {
+ // Based on code from http://www.youngpup.net/
+ Function.prototype.apply = function(object, parameters) {
+ var parameterStrings = new Array();
+ if (!object) object = window;
+ if (!parameters) parameters = new Array();
+
+ for (var i = 0; i < parameters.length; i++)
+ parameterStrings[i] = 'parameters[' + i + ']';
+
+ object.__apply__ = this;
+ var result = eval('object.__apply__(' +
+ parameterStrings.join(', ') + ')');
+ object.__apply__ = null;
+
+ return result;
+ }
+}