//>>built
define("dojox/lang/docs",["dijit","dojo","dojox"],function(D,e,v){e.provide("dojox.lang.docs");(function(){function B(c){}var l={},n=[],m=v.lang.docs._loadedDocs={},p=function(c,b){l[b]=c},r=function(c){var b=c.type||"",f=!1,d=!1;b=b.replace(/\?/,function(){f=!0;return""});b=b.replace(/\[\]/,function(){d=!0;return""});if(b.match(/HTML/))b="string";else if("String"==b||"Number"==b||"Boolean"==b||"Object"==b||"Array"==b||"Integer"==b||"Function"==b)b=b.toLowerCase();else if("bool"==b)b="boolean";else if(b){var a=
e.getObject(b)||{};var h=!0}else a={};a=a||{type:b};d&&(a={items:a,type:"array"},h=!1);h||(f&&(a.optional=!0),/const/.test(c.tags)&&(a.readonly=!0));return a},x=function(c,b){var f=m[b];if(f){c.description=f.description;c.properties={};c.methods={};if(f.properties)for(var d=f.properties,a=0,h=d.length;a<h;a++)"prototype"==d[a].scope&&((c.properties[d[a].name]=r(d[a])).description=d[a].summary);if(f.methods)for(d=f.methods,a=0,h=d.length;a<h;a++)if((b=d[a].name)&&"prototype"==d[a].scope){var k=c.methods[b]=
{};k.description=d[a].summary;var g=d[a].parameters;if(g){k.parameters=[];for(var q=0,C=g.length;q<C;q++){var t=g[q],w=k.parameters[q]=r(t);w.name=t.name;w.optional="optional"==t.usage}}(g=d[a]["return-types"])&&g[0]&&(g=r(g[0]),g.type&&(k.returns=g))}(f=f.superclass)&&(c["extends"]=e.getObject(f))}},u=function(c){n.push(c)},y=e.declare;e.declare=function(c){var b=y.apply(this,arguments);p(b,c);return b};e.mixin(e.declare,y);var z,A=e.require;e.require=function(c){u(c);return A.apply(this,arguments)};
v.lang.docs.init=function(c){function b(){e.require=A;n=null;try{e.xhrGet({sync:!c,url:e.baseUrl+"../util/docscripts/api.json",handleAs:"text"}).addCallbacks(function(a){m=(new Function("return "+a))();a=null;p=x;for(var h in l)p(l[h],h);l=null},B)}catch(a){}}if(z)return null;z=!0;var f=function(a,h){return e.xhrGet({sync:h||!c,url:e.baseUrl+"../util/docscripts/api/"+a+".json",handleAs:"text"}).addCallback(function(k){k=(new Function("return "+k))();for(var g in k)m[g]||(m[g]=k[g])})};try{var d=n.shift();
f(d,!0).addCallbacks(function(){u=function(a){if(!m[a])try{f(a)}catch(h){m[a]={}}};e.forEach(n,function(a){u(a)});n=null;p=x;for(i in l)p(l[i],i);l=null},b)}catch(a){b()}return null}})()});