/*
 * jQuery JSON Plugin
 * version: 2.1 (2009-08-14)
 *
 * This document is licensed as free software under the terms of the
 * MIT License: http://www.opensource.org/licenses/mit-license.php
 */
(function($){$.toJSON=function(o){if(typeof(JSON)=='object'&&JSON.stringify)return JSON.stringify(o);var a=typeof(o);if(o===null)return"null";if(a=="undefined")return undefined;if(a=="number"||a=="boolean")return o+"";if(a=="string")return $.quoteString(o);if(a=='object'){if(typeof o.toJSON=="function")return $.toJSON(o.toJSON());if(o.constructor===Date){var b=o.getUTCMonth()+1;if(b<10)b='0'+b;var c=o.getUTCDate();if(c<10)c='0'+c;var d=o.getUTCFullYear();var e=o.getUTCHours();if(e<10)e='0'+e;var f=o.getUTCMinutes();if(f<10)f='0'+f;var g=o.getUTCSeconds();if(g<10)g='0'+g;var h=o.getUTCMilliseconds();if(h<100)h='0'+h;if(h<10)h='0'+h;return'"'+d+'-'+b+'-'+c+'T'+e+':'+f+':'+g+'.'+h+'Z"'}if(o.constructor===Array){var j=[];for(var i=0;i<o.length;i++)j.push($.toJSON(o[i])||"null");return"["+j.join(",")+"]"}var l=[];for(var k in o){var m;var a=typeof k;if(a=="number")m='"'+k+'"';else if(a=="string")m=$.quoteString(k);else continue;if(typeof o[k]=="function")continue;var n=$.toJSON(o[k]);l.push(m+":"+n)}return"{"+l.join(", ")+"}"}};$.evalJSON=function(a){if(typeof(JSON)=='object'&&JSON.parse)return JSON.parse(a);return eval("("+a+")")};$.secureEvalJSON=function(a){if(typeof(JSON)=='object'&&JSON.parse)return JSON.parse(a);var b=a;b=b.replace(/\\["\\\/bfnrtu]/g,'@');b=b.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']');b=b.replace(/(?:^|:|,)(?:\s*\[)+/g,'');if(/^[\],:{}\s]*$/.test(b))return eval("("+a+")");else throw new SyntaxError("Error parsing JSON, source is not valid.");};$.quoteString=function(b){if(b.match(p)){return'"'+b.replace(p,function(a){var c=q[a];if(typeof c==='string')return c;c=a.charCodeAt();return'\\u00'+Math.floor(c/16).toString(16)+(c%16).toString(16)})+'"'}return'"'+b+'"'};var p=/["\\\x00-\x1f\x7f-\x9f]/g;var q={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'}})(jQuery);
