summaryrefslogtreecommitdiff
path: root/live/js/mootools/mootools.v1.11.js
diff options
context:
space:
mode:
Diffstat (limited to 'live/js/mootools/mootools.v1.11.js')
-rw-r--r--live/js/mootools/mootools.v1.11.js71
1 files changed, 71 insertions, 0 deletions
diff --git a/live/js/mootools/mootools.v1.11.js b/live/js/mootools/mootools.v1.11.js
index b6c0cd6..ad6bfeb 100644
--- a/live/js/mootools/mootools.v1.11.js
+++ b/live/js/mootools/mootools.v1.11.js
@@ -4375,6 +4375,77 @@ Element.extend({
});
/*
+Script: Json.js
+ Simple Json parser and Stringyfier, See: <http://www.json.org/>
+
+License:
+ MIT-style license.
+*/
+
+/*
+Class: Json
+ Simple Json parser and Stringyfier, See: <http://www.json.org/>
+*/
+
+var Json = {
+
+ /*
+ Property: toString
+ Converts an object to a string, to be passed in server-side scripts as a parameter. Although its not normal usage for this class, this method can also be used to convert functions and arrays to strings.
+
+ Arguments:
+ obj - the object to convert to string
+
+ Returns:
+ A json string
+
+ Example:
+ (start code)
+ Json.toString({apple: 'red', lemon: 'yellow'}); '{"apple":"red","lemon":"yellow"}'
+ (end)
+ */
+
+ toString: function(obj){
+ switch($type(obj)){
+ case 'string':
+ return '"' + obj.replace(/(["\\])/g, '\\$1') + '"';
+ case 'array':
+ return '[' + obj.map(Json.toString).join(',') + ']';
+ case 'object':
+ var string = [];
+ for (var property in obj) string.push(Json.toString(property) + ':' + Json.toString(obj[property]));
+ return '{' + string.join(',') + '}';
+ case 'number':
+ if (isFinite(obj)) break;
+ case false:
+ return 'null';
+ }
+ return String(obj);
+ },
+
+ /*
+ Property: evaluate
+ converts a json string to an javascript Object.
+
+ Arguments:
+ str - the string to evaluate. if its not a string, it returns false.
+ secure - optionally, performs syntax check on json string. Defaults to false.
+
+ Credits:
+ Json test regexp is by Douglas Crockford <http://crockford.org>.
+
+ Example:
+ >var myObject = Json.evaluate('{"apple":"red","lemon":"yellow"}');
+ >//myObject will become {apple: 'red', lemon: 'yellow'}
+ */
+
+ evaluate: function(str, secure){
+ return (($type(str) != 'string') || (secure && !str.test(/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/))) ? null : eval('(' + str + ')');
+ }
+
+};
+
+/*
Script: Tips.js
Tooltips, BubbleTips, whatever they are, they will appear on mouseover