dojo-pkg 1.111.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2409) hide show
  1. data/History.txt +4 -0
  2. data/Manifest.txt +2408 -0
  3. data/PostInstall.txt +11 -0
  4. data/README.rdoc +55 -0
  5. data/README.txt +3 -0
  6. data/Rakefile +4 -0
  7. data/bin/dojofy +15 -0
  8. data/config/hoe.rb +73 -0
  9. data/config/requirements.rb +15 -0
  10. data/data/dojo-release-1.1.1-src/dijit/ColorPalette.js +288 -0
  11. data/data/dojo-release-1.1.1-src/dijit/Declaration.js +72 -0
  12. data/data/dojo-release-1.1.1-src/dijit/Dialog.js +476 -0
  13. data/data/dojo-release-1.1.1-src/dijit/Editor.js +369 -0
  14. data/data/dojo-release-1.1.1-src/dijit/InlineEditBox.js +418 -0
  15. data/data/dojo-release-1.1.1-src/dijit/LICENSE +195 -0
  16. data/data/dojo-release-1.1.1-src/dijit/Menu.js +483 -0
  17. data/data/dojo-release-1.1.1-src/dijit/ProgressBar.js +91 -0
  18. data/data/dojo-release-1.1.1-src/dijit/TitlePane.js +153 -0
  19. data/data/dojo-release-1.1.1-src/dijit/Toolbar.js +50 -0
  20. data/data/dojo-release-1.1.1-src/dijit/Tooltip.js +288 -0
  21. data/data/dojo-release-1.1.1-src/dijit/Tree.js +1332 -0
  22. data/data/dojo-release-1.1.1-src/dijit/_Calendar.js +235 -0
  23. data/data/dojo-release-1.1.1-src/dijit/_Container.js +342 -0
  24. data/data/dojo-release-1.1.1-src/dijit/_Templated.js +325 -0
  25. data/data/dojo-release-1.1.1-src/dijit/_TimePicker.js +245 -0
  26. data/data/dojo-release-1.1.1-src/dijit/_Widget.js +405 -0
  27. data/data/dojo-release-1.1.1-src/dijit/_base/bidi.js +9 -0
  28. data/data/dojo-release-1.1.1-src/dijit/_base/focus.js +338 -0
  29. data/data/dojo-release-1.1.1-src/dijit/_base/manager.js +190 -0
  30. data/data/dojo-release-1.1.1-src/dijit/_base/place.js +209 -0
  31. data/data/dojo-release-1.1.1-src/dijit/_base/popup.js +265 -0
  32. data/data/dojo-release-1.1.1-src/dijit/_base/scroll.js +25 -0
  33. data/data/dojo-release-1.1.1-src/dijit/_base/sniff.js +41 -0
  34. data/data/dojo-release-1.1.1-src/dijit/_base/typematic.js +135 -0
  35. data/data/dojo-release-1.1.1-src/dijit/_base/wai.js +139 -0
  36. data/data/dojo-release-1.1.1-src/dijit/_base/window.js +43 -0
  37. data/data/dojo-release-1.1.1-src/dijit/_base.js +23 -0
  38. data/data/dojo-release-1.1.1-src/dijit/_editor/RichText.js +1445 -0
  39. data/data/dojo-release-1.1.1-src/dijit/_editor/_Plugin.js +97 -0
  40. data/data/dojo-release-1.1.1-src/dijit/_editor/html.js +102 -0
  41. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/FontChoice.js +25 -0
  42. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/LinkDialog.js +7 -0
  43. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/ar/FontChoice.js +25 -0
  44. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/ar/LinkDialog.js +7 -0
  45. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/ar/commands.js +42 -0
  46. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/commands.js +44 -0
  47. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/cs/FontChoice.js +25 -0
  48. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/cs/LinkDialog.js +7 -0
  49. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/cs/commands.js +43 -0
  50. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/da/FontChoice.js +25 -0
  51. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/da/LinkDialog.js +7 -0
  52. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/da/commands.js +42 -0
  53. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/de/FontChoice.js +25 -0
  54. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/de/LinkDialog.js +7 -0
  55. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/de/commands.js +43 -0
  56. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/el/FontChoice.js +25 -0
  57. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/el/LinkDialog.js +7 -0
  58. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/el/commands.js +42 -0
  59. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/es/FontChoice.js +25 -0
  60. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/es/LinkDialog.js +7 -0
  61. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/es/commands.js +43 -0
  62. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/fi/FontChoice.js +25 -0
  63. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/fi/LinkDialog.js +7 -0
  64. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/fi/commands.js +42 -0
  65. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/fr/FontChoice.js +25 -0
  66. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/fr/LinkDialog.js +7 -0
  67. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/fr/commands.js +42 -0
  68. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/he/FontChoice.js +25 -0
  69. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/he/LinkDialog.js +7 -0
  70. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/he/commands.js +42 -0
  71. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/hu/FontChoice.js +25 -0
  72. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/hu/LinkDialog.js +7 -0
  73. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/hu/commands.js +42 -0
  74. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/it/FontChoice.js +25 -0
  75. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/it/LinkDialog.js +7 -0
  76. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/it/commands.js +42 -0
  77. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/ja/FontChoice.js +25 -0
  78. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/ja/LinkDialog.js +7 -0
  79. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/ja/commands.js +42 -0
  80. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/ko/FontChoice.js +25 -0
  81. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/ko/LinkDialog.js +7 -0
  82. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/ko/commands.js +42 -0
  83. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/nb/FontChoice.js +25 -0
  84. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/nb/LinkDialog.js +7 -0
  85. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/nb/commands.js +42 -0
  86. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/nl/FontChoice.js +25 -0
  87. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/nl/LinkDialog.js +7 -0
  88. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/nl/commands.js +43 -0
  89. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/pl/FontChoice.js +25 -0
  90. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/pl/LinkDialog.js +7 -0
  91. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/pl/commands.js +42 -0
  92. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/pt/FontChoice.js +25 -0
  93. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/pt/LinkDialog.js +7 -0
  94. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/pt/commands.js +42 -0
  95. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/pt-pt/FontChoice.js +25 -0
  96. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/pt-pt/LinkDialog.js +7 -0
  97. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/pt-pt/commands.js +42 -0
  98. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/ru/FontChoice.js +25 -0
  99. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/ru/LinkDialog.js +7 -0
  100. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/ru/commands.js +42 -0
  101. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/sv/FontChoice.js +25 -0
  102. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/sv/LinkDialog.js +7 -0
  103. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/sv/commands.js +43 -0
  104. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/tr/FontChoice.js +25 -0
  105. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/tr/LinkDialog.js +7 -0
  106. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/tr/commands.js +42 -0
  107. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/zh/FontChoice.js +25 -0
  108. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/zh/LinkDialog.js +7 -0
  109. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/zh/commands.js +42 -0
  110. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/zh-tw/FontChoice.js +25 -0
  111. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/zh-tw/LinkDialog.js +7 -0
  112. data/data/dojo-release-1.1.1-src/dijit/_editor/nls/zh-tw/commands.js +42 -0
  113. data/data/dojo-release-1.1.1-src/dijit/_editor/plugins/AlwaysShowToolbar.js +136 -0
  114. data/data/dojo-release-1.1.1-src/dijit/_editor/plugins/EnterKeyHandling.js +412 -0
  115. data/data/dojo-release-1.1.1-src/dijit/_editor/plugins/FontChoice.js +163 -0
  116. data/data/dojo-release-1.1.1-src/dijit/_editor/plugins/LinkDialog.js +143 -0
  117. data/data/dojo-release-1.1.1-src/dijit/_editor/plugins/TextColor.js +36 -0
  118. data/data/dojo-release-1.1.1-src/dijit/_editor/plugins/ToggleDir.js +36 -0
  119. data/data/dojo-release-1.1.1-src/dijit/_editor/range.js +566 -0
  120. data/data/dojo-release-1.1.1-src/dijit/_editor/selection.js +242 -0
  121. data/data/dojo-release-1.1.1-src/dijit/_tree/Node.html +12 -0
  122. data/data/dojo-release-1.1.1-src/dijit/_tree/Tree.html +3 -0
  123. data/data/dojo-release-1.1.1-src/dijit/_tree/dndContainer.js +146 -0
  124. data/data/dojo-release-1.1.1-src/dijit/_tree/dndSelector.js +167 -0
  125. data/data/dojo-release-1.1.1-src/dijit/_tree/dndSource.js +369 -0
  126. data/data/dojo-release-1.1.1-src/dijit/_tree/model.js +84 -0
  127. data/data/dojo-release-1.1.1-src/dijit/bench/benchReceive.php +129 -0
  128. data/data/dojo-release-1.1.1-src/dijit/bench/benchTool.html +189 -0
  129. data/data/dojo-release-1.1.1-src/dijit/bench/create_widgets.html +73 -0
  130. data/data/dojo-release-1.1.1-src/dijit/bench/test_Button-programmatic.html +75 -0
  131. data/data/dojo-release-1.1.1-src/dijit/bench/test_button-results.html +66 -0
  132. data/data/dojo-release-1.1.1-src/dijit/bench/widget_construction_test.php +186 -0
  133. data/data/dojo-release-1.1.1-src/dijit/changes.txt +93 -0
  134. data/data/dojo-release-1.1.1-src/dijit/demos/chat/chat.css +46 -0
  135. data/data/dojo-release-1.1.1-src/dijit/demos/chat/client.html +65 -0
  136. data/data/dojo-release-1.1.1-src/dijit/demos/chat/community.html +114 -0
  137. data/data/dojo-release-1.1.1-src/dijit/demos/chat/operator.html +83 -0
  138. data/data/dojo-release-1.1.1-src/dijit/demos/chat/room.js +123 -0
  139. data/data/dojo-release-1.1.1-src/dijit/demos/chat.html +86 -0
  140. data/data/dojo-release-1.1.1-src/dijit/demos/form.html +243 -0
  141. data/data/dojo-release-1.1.1-src/dijit/demos/i18n/continents.json +9 -0
  142. data/data/dojo-release-1.1.1-src/dijit/demos/i18n/data.json +8646 -0
  143. data/data/dojo-release-1.1.1-src/dijit/demos/i18n/flags.css +1224 -0
  144. data/data/dojo-release-1.1.1-src/dijit/demos/i18n/flags.png +0 -0
  145. data/data/dojo-release-1.1.1-src/dijit/demos/i18n/generate.html +2353 -0
  146. data/data/dojo-release-1.1.1-src/dijit/demos/i18n/langCountryMap.json +215 -0
  147. data/data/dojo-release-1.1.1-src/dijit/demos/i18n/languages.json +7045 -0
  148. data/data/dojo-release-1.1.1-src/dijit/demos/i18n/languages.sh +18 -0
  149. data/data/dojo-release-1.1.1-src/dijit/demos/i18n/sprite.html +2319 -0
  150. data/data/dojo-release-1.1.1-src/dijit/demos/i18n.html +158 -0
  151. data/data/dojo-release-1.1.1-src/dijit/demos/mail/icons.gif +0 -0
  152. data/data/dojo-release-1.1.1-src/dijit/demos/mail/icons.png +0 -0
  153. data/data/dojo-release-1.1.1-src/dijit/demos/mail/mail.css +157 -0
  154. data/data/dojo-release-1.1.1-src/dijit/demos/mail/mail.json +75 -0
  155. data/data/dojo-release-1.1.1-src/dijit/demos/mail/newMail.html +8 -0
  156. data/data/dojo-release-1.1.1-src/dijit/demos/mail.html +426 -0
  157. data/data/dojo-release-1.1.1-src/dijit/demos/nihao/nls/en/helloworld.js +2 -0
  158. data/data/dojo-release-1.1.1-src/dijit/demos/nihao/nls/fr/helloworld.js +6 -0
  159. data/data/dojo-release-1.1.1-src/dijit/demos/nihao/nls/helloworld.js +6 -0
  160. data/data/dojo-release-1.1.1-src/dijit/demos/nihao/nls/zh/helloworld.js +6 -0
  161. data/data/dojo-release-1.1.1-src/dijit/demos/nihao.html +91 -0
  162. data/data/dojo-release-1.1.1-src/dijit/dijit-all.js +47 -0
  163. data/data/dojo-release-1.1.1-src/dijit/dijit.js +25 -0
  164. data/data/dojo-release-1.1.1-src/dijit/form/Button.js +421 -0
  165. data/data/dojo-release-1.1.1-src/dijit/form/CheckBox.js +129 -0
  166. data/data/dojo-release-1.1.1-src/dijit/form/ComboBox.js +1056 -0
  167. data/data/dojo-release-1.1.1-src/dijit/form/CurrencyTextBox.js +47 -0
  168. data/data/dojo-release-1.1.1-src/dijit/form/DateTextBox.js +16 -0
  169. data/data/dojo-release-1.1.1-src/dijit/form/FilteringSelect.js +237 -0
  170. data/data/dojo-release-1.1.1-src/dijit/form/Form.js +380 -0
  171. data/data/dojo-release-1.1.1-src/dijit/form/MultiSelect.js +80 -0
  172. data/data/dojo-release-1.1.1-src/dijit/form/NumberSpinner.js +27 -0
  173. data/data/dojo-release-1.1.1-src/dijit/form/NumberTextBox.js +75 -0
  174. data/data/dojo-release-1.1.1-src/dijit/form/SimpleTextarea.js +46 -0
  175. data/data/dojo-release-1.1.1-src/dijit/form/Slider.js +477 -0
  176. data/data/dojo-release-1.1.1-src/dijit/form/TextBox.js +181 -0
  177. data/data/dojo-release-1.1.1-src/dijit/form/Textarea.js +257 -0
  178. data/data/dojo-release-1.1.1-src/dijit/form/TimeTextBox.js +29 -0
  179. data/data/dojo-release-1.1.1-src/dijit/form/ValidationTextBox.js +304 -0
  180. data/data/dojo-release-1.1.1-src/dijit/form/_DateTimeTextBox.js +171 -0
  181. data/data/dojo-release-1.1.1-src/dijit/form/_FormWidget.js +336 -0
  182. data/data/dojo-release-1.1.1-src/dijit/form/_Spinner.js +113 -0
  183. data/data/dojo-release-1.1.1-src/dijit/form/nls/ComboBox.js +4 -0
  184. data/data/dojo-release-1.1.1-src/dijit/form/nls/Textarea.js +6 -0
  185. data/data/dojo-release-1.1.1-src/dijit/form/nls/ar/ComboBox.js +4 -0
  186. data/data/dojo-release-1.1.1-src/dijit/form/nls/ar/Textarea.js +6 -0
  187. data/data/dojo-release-1.1.1-src/dijit/form/nls/ar/validate.js +5 -0
  188. data/data/dojo-release-1.1.1-src/dijit/form/nls/cs/ComboBox.js +4 -0
  189. data/data/dojo-release-1.1.1-src/dijit/form/nls/cs/Textarea.js +6 -0
  190. data/data/dojo-release-1.1.1-src/dijit/form/nls/cs/validate.js +5 -0
  191. data/data/dojo-release-1.1.1-src/dijit/form/nls/da/ComboBox.js +4 -0
  192. data/data/dojo-release-1.1.1-src/dijit/form/nls/da/Textarea.js +6 -0
  193. data/data/dojo-release-1.1.1-src/dijit/form/nls/da/validate.js +5 -0
  194. data/data/dojo-release-1.1.1-src/dijit/form/nls/de/ComboBox.js +4 -0
  195. data/data/dojo-release-1.1.1-src/dijit/form/nls/de/Textarea.js +6 -0
  196. data/data/dojo-release-1.1.1-src/dijit/form/nls/de/validate.js +5 -0
  197. data/data/dojo-release-1.1.1-src/dijit/form/nls/el/ComboBox.js +4 -0
  198. data/data/dojo-release-1.1.1-src/dijit/form/nls/el/Textarea.js +6 -0
  199. data/data/dojo-release-1.1.1-src/dijit/form/nls/el/validate.js +5 -0
  200. data/data/dojo-release-1.1.1-src/dijit/form/nls/es/ComboBox.js +4 -0
  201. data/data/dojo-release-1.1.1-src/dijit/form/nls/es/Textarea.js +6 -0
  202. data/data/dojo-release-1.1.1-src/dijit/form/nls/es/validate.js +5 -0
  203. data/data/dojo-release-1.1.1-src/dijit/form/nls/fi/ComboBox.js +4 -0
  204. data/data/dojo-release-1.1.1-src/dijit/form/nls/fi/Textarea.js +6 -0
  205. data/data/dojo-release-1.1.1-src/dijit/form/nls/fi/validate.js +5 -0
  206. data/data/dojo-release-1.1.1-src/dijit/form/nls/fr/ComboBox.js +4 -0
  207. data/data/dojo-release-1.1.1-src/dijit/form/nls/fr/Textarea.js +6 -0
  208. data/data/dojo-release-1.1.1-src/dijit/form/nls/fr/validate.js +5 -0
  209. data/data/dojo-release-1.1.1-src/dijit/form/nls/he/ComboBox.js +4 -0
  210. data/data/dojo-release-1.1.1-src/dijit/form/nls/he/Textarea.js +6 -0
  211. data/data/dojo-release-1.1.1-src/dijit/form/nls/he/validate.js +5 -0
  212. data/data/dojo-release-1.1.1-src/dijit/form/nls/hu/ComboBox.js +4 -0
  213. data/data/dojo-release-1.1.1-src/dijit/form/nls/hu/Textarea.js +6 -0
  214. data/data/dojo-release-1.1.1-src/dijit/form/nls/hu/validate.js +5 -0
  215. data/data/dojo-release-1.1.1-src/dijit/form/nls/it/ComboBox.js +4 -0
  216. data/data/dojo-release-1.1.1-src/dijit/form/nls/it/Textarea.js +6 -0
  217. data/data/dojo-release-1.1.1-src/dijit/form/nls/it/validate.js +5 -0
  218. data/data/dojo-release-1.1.1-src/dijit/form/nls/ja/ComboBox.js +4 -0
  219. data/data/dojo-release-1.1.1-src/dijit/form/nls/ja/Textarea.js +6 -0
  220. data/data/dojo-release-1.1.1-src/dijit/form/nls/ja/validate.js +5 -0
  221. data/data/dojo-release-1.1.1-src/dijit/form/nls/ko/ComboBox.js +4 -0
  222. data/data/dojo-release-1.1.1-src/dijit/form/nls/ko/Textarea.js +6 -0
  223. data/data/dojo-release-1.1.1-src/dijit/form/nls/ko/validate.js +5 -0
  224. data/data/dojo-release-1.1.1-src/dijit/form/nls/nb/ComboBox.js +4 -0
  225. data/data/dojo-release-1.1.1-src/dijit/form/nls/nb/Textarea.js +6 -0
  226. data/data/dojo-release-1.1.1-src/dijit/form/nls/nb/validate.js +5 -0
  227. data/data/dojo-release-1.1.1-src/dijit/form/nls/nl/ComboBox.js +4 -0
  228. data/data/dojo-release-1.1.1-src/dijit/form/nls/nl/Textarea.js +6 -0
  229. data/data/dojo-release-1.1.1-src/dijit/form/nls/nl/validate.js +5 -0
  230. data/data/dojo-release-1.1.1-src/dijit/form/nls/pl/ComboBox.js +4 -0
  231. data/data/dojo-release-1.1.1-src/dijit/form/nls/pl/Textarea.js +6 -0
  232. data/data/dojo-release-1.1.1-src/dijit/form/nls/pl/validate.js +5 -0
  233. data/data/dojo-release-1.1.1-src/dijit/form/nls/pt/ComboBox.js +4 -0
  234. data/data/dojo-release-1.1.1-src/dijit/form/nls/pt/Textarea.js +6 -0
  235. data/data/dojo-release-1.1.1-src/dijit/form/nls/pt/validate.js +5 -0
  236. data/data/dojo-release-1.1.1-src/dijit/form/nls/pt-pt/ComboBox.js +4 -0
  237. data/data/dojo-release-1.1.1-src/dijit/form/nls/pt-pt/Textarea.js +6 -0
  238. data/data/dojo-release-1.1.1-src/dijit/form/nls/pt-pt/validate.js +5 -0
  239. data/data/dojo-release-1.1.1-src/dijit/form/nls/ru/ComboBox.js +4 -0
  240. data/data/dojo-release-1.1.1-src/dijit/form/nls/ru/Textarea.js +6 -0
  241. data/data/dojo-release-1.1.1-src/dijit/form/nls/ru/validate.js +5 -0
  242. data/data/dojo-release-1.1.1-src/dijit/form/nls/sv/ComboBox.js +4 -0
  243. data/data/dojo-release-1.1.1-src/dijit/form/nls/sv/Textarea.js +6 -0
  244. data/data/dojo-release-1.1.1-src/dijit/form/nls/sv/validate.js +5 -0
  245. data/data/dojo-release-1.1.1-src/dijit/form/nls/tr/ComboBox.js +4 -0
  246. data/data/dojo-release-1.1.1-src/dijit/form/nls/tr/Textarea.js +6 -0
  247. data/data/dojo-release-1.1.1-src/dijit/form/nls/tr/validate.js +5 -0
  248. data/data/dojo-release-1.1.1-src/dijit/form/nls/validate.js +5 -0
  249. data/data/dojo-release-1.1.1-src/dijit/form/nls/zh/ComboBox.js +4 -0
  250. data/data/dojo-release-1.1.1-src/dijit/form/nls/zh/Textarea.js +6 -0
  251. data/data/dojo-release-1.1.1-src/dijit/form/nls/zh/validate.js +5 -0
  252. data/data/dojo-release-1.1.1-src/dijit/form/nls/zh-tw/ComboBox.js +4 -0
  253. data/data/dojo-release-1.1.1-src/dijit/form/nls/zh-tw/Textarea.js +6 -0
  254. data/data/dojo-release-1.1.1-src/dijit/form/nls/zh-tw/validate.js +5 -0
  255. data/data/dojo-release-1.1.1-src/dijit/form/templates/Button.html +11 -0
  256. data/data/dojo-release-1.1.1-src/dijit/form/templates/CheckBox.html +7 -0
  257. data/data/dojo-release-1.1.1-src/dijit/form/templates/ComboBox.html +19 -0
  258. data/data/dojo-release-1.1.1-src/dijit/form/templates/ComboButton.html +21 -0
  259. data/data/dojo-release-1.1.1-src/dijit/form/templates/DropDownButton.html +13 -0
  260. data/data/dojo-release-1.1.1-src/dijit/form/templates/HorizontalSlider.html +37 -0
  261. data/data/dojo-release-1.1.1-src/dijit/form/templates/InlineEditBox.html +12 -0
  262. data/data/dojo-release-1.1.1-src/dijit/form/templates/Spinner.html +28 -0
  263. data/data/dojo-release-1.1.1-src/dijit/form/templates/TextBox.html +4 -0
  264. data/data/dojo-release-1.1.1-src/dijit/form/templates/TimePicker.html +5 -0
  265. data/data/dojo-release-1.1.1-src/dijit/form/templates/ValidationTextBox.html +12 -0
  266. data/data/dojo-release-1.1.1-src/dijit/form/templates/VerticalSlider.html +46 -0
  267. data/data/dojo-release-1.1.1-src/dijit/layout/AccordionContainer.js +225 -0
  268. data/data/dojo-release-1.1.1-src/dijit/layout/BorderContainer.js +511 -0
  269. data/data/dojo-release-1.1.1-src/dijit/layout/ContentPane.js +441 -0
  270. data/data/dojo-release-1.1.1-src/dijit/layout/LayoutContainer.js +70 -0
  271. data/data/dojo-release-1.1.1-src/dijit/layout/LinkPane.js +32 -0
  272. data/data/dojo-release-1.1.1-src/dijit/layout/SplitContainer.js +549 -0
  273. data/data/dojo-release-1.1.1-src/dijit/layout/StackContainer.js +489 -0
  274. data/data/dojo-release-1.1.1-src/dijit/layout/TabContainer.js +180 -0
  275. data/data/dojo-release-1.1.1-src/dijit/layout/_LayoutWidget.js +184 -0
  276. data/data/dojo-release-1.1.1-src/dijit/layout/templates/AccordionPane.html +11 -0
  277. data/data/dojo-release-1.1.1-src/dijit/layout/templates/TabContainer.html +4 -0
  278. data/data/dojo-release-1.1.1-src/dijit/layout/templates/TooltipDialog.html +6 -0
  279. data/data/dojo-release-1.1.1-src/dijit/layout/templates/_TabButton.html +10 -0
  280. data/data/dojo-release-1.1.1-src/dijit/nls/ar/common.js +6 -0
  281. data/data/dojo-release-1.1.1-src/dijit/nls/ar/loading.js +4 -0
  282. data/data/dojo-release-1.1.1-src/dijit/nls/common.js +6 -0
  283. data/data/dojo-release-1.1.1-src/dijit/nls/cs/common.js +6 -0
  284. data/data/dojo-release-1.1.1-src/dijit/nls/cs/loading.js +4 -0
  285. data/data/dojo-release-1.1.1-src/dijit/nls/da/common.js +6 -0
  286. data/data/dojo-release-1.1.1-src/dijit/nls/da/loading.js +4 -0
  287. data/data/dojo-release-1.1.1-src/dijit/nls/de/common.js +6 -0
  288. data/data/dojo-release-1.1.1-src/dijit/nls/de/loading.js +4 -0
  289. data/data/dojo-release-1.1.1-src/dijit/nls/el/common.js +6 -0
  290. data/data/dojo-release-1.1.1-src/dijit/nls/el/loading.js +4 -0
  291. data/data/dojo-release-1.1.1-src/dijit/nls/es/common.js +6 -0
  292. data/data/dojo-release-1.1.1-src/dijit/nls/es/loading.js +4 -0
  293. data/data/dojo-release-1.1.1-src/dijit/nls/fi/common.js +6 -0
  294. data/data/dojo-release-1.1.1-src/dijit/nls/fi/loading.js +4 -0
  295. data/data/dojo-release-1.1.1-src/dijit/nls/fr/common.js +6 -0
  296. data/data/dojo-release-1.1.1-src/dijit/nls/fr/loading.js +4 -0
  297. data/data/dojo-release-1.1.1-src/dijit/nls/he/common.js +6 -0
  298. data/data/dojo-release-1.1.1-src/dijit/nls/he/loading.js +4 -0
  299. data/data/dojo-release-1.1.1-src/dijit/nls/hu/common.js +6 -0
  300. data/data/dojo-release-1.1.1-src/dijit/nls/hu/loading.js +4 -0
  301. data/data/dojo-release-1.1.1-src/dijit/nls/it/common.js +6 -0
  302. data/data/dojo-release-1.1.1-src/dijit/nls/it/loading.js +4 -0
  303. data/data/dojo-release-1.1.1-src/dijit/nls/ja/common.js +6 -0
  304. data/data/dojo-release-1.1.1-src/dijit/nls/ja/loading.js +4 -0
  305. data/data/dojo-release-1.1.1-src/dijit/nls/ko/common.js +6 -0
  306. data/data/dojo-release-1.1.1-src/dijit/nls/ko/loading.js +4 -0
  307. data/data/dojo-release-1.1.1-src/dijit/nls/loading.js +4 -0
  308. data/data/dojo-release-1.1.1-src/dijit/nls/nb/common.js +6 -0
  309. data/data/dojo-release-1.1.1-src/dijit/nls/nb/loading.js +4 -0
  310. data/data/dojo-release-1.1.1-src/dijit/nls/nl/common.js +6 -0
  311. data/data/dojo-release-1.1.1-src/dijit/nls/nl/loading.js +4 -0
  312. data/data/dojo-release-1.1.1-src/dijit/nls/pl/common.js +6 -0
  313. data/data/dojo-release-1.1.1-src/dijit/nls/pl/loading.js +4 -0
  314. data/data/dojo-release-1.1.1-src/dijit/nls/pt/common.js +6 -0
  315. data/data/dojo-release-1.1.1-src/dijit/nls/pt/loading.js +4 -0
  316. data/data/dojo-release-1.1.1-src/dijit/nls/pt-pt/common.js +6 -0
  317. data/data/dojo-release-1.1.1-src/dijit/nls/pt-pt/loading.js +4 -0
  318. data/data/dojo-release-1.1.1-src/dijit/nls/ru/common.js +6 -0
  319. data/data/dojo-release-1.1.1-src/dijit/nls/ru/loading.js +4 -0
  320. data/data/dojo-release-1.1.1-src/dijit/nls/sv/common.js +6 -0
  321. data/data/dojo-release-1.1.1-src/dijit/nls/sv/loading.js +4 -0
  322. data/data/dojo-release-1.1.1-src/dijit/nls/tr/common.js +6 -0
  323. data/data/dojo-release-1.1.1-src/dijit/nls/tr/loading.js +4 -0
  324. data/data/dojo-release-1.1.1-src/dijit/nls/zh/common.js +6 -0
  325. data/data/dojo-release-1.1.1-src/dijit/nls/zh/loading.js +4 -0
  326. data/data/dojo-release-1.1.1-src/dijit/nls/zh-tw/common.js +6 -0
  327. data/data/dojo-release-1.1.1-src/dijit/nls/zh-tw/loading.js +4 -0
  328. data/data/dojo-release-1.1.1-src/dijit/resources/_modules.js +15 -0
  329. data/data/dojo-release-1.1.1-src/dijit/templates/Calendar.html +35 -0
  330. data/data/dojo-release-1.1.1-src/dijit/templates/ColorPalette.html +5 -0
  331. data/data/dojo-release-1.1.1-src/dijit/templates/Dialog.html +9 -0
  332. data/data/dojo-release-1.1.1-src/dijit/templates/InlineEditBox.html +8 -0
  333. data/data/dojo-release-1.1.1-src/dijit/templates/ProgressBar.html +9 -0
  334. data/data/dojo-release-1.1.1-src/dijit/templates/TitlePane.html +14 -0
  335. data/data/dojo-release-1.1.1-src/dijit/templates/Tooltip.html +4 -0
  336. data/data/dojo-release-1.1.1-src/dijit/templates/buttons/bg-fade.png +0 -0
  337. data/data/dojo-release-1.1.1-src/dijit/templates/colors3x4.png +0 -0
  338. data/data/dojo-release-1.1.1-src/dijit/templates/colors7x10.png +0 -0
  339. data/data/dojo-release-1.1.1-src/dijit/tests/Container.html +63 -0
  340. data/data/dojo-release-1.1.1-src/dijit/tests/Container.js +5 -0
  341. data/data/dojo-release-1.1.1-src/dijit/tests/_Templated.html +164 -0
  342. data/data/dojo-release-1.1.1-src/dijit/tests/_Templated.js +5 -0
  343. data/data/dojo-release-1.1.1-src/dijit/tests/_altCalendar.html +36 -0
  344. data/data/dojo-release-1.1.1-src/dijit/tests/_base/manager.html +322 -0
  345. data/data/dojo-release-1.1.1-src/dijit/tests/_base/manager.js +5 -0
  346. data/data/dojo-release-1.1.1-src/dijit/tests/_base/test_FocusManager.html +46 -0
  347. data/data/dojo-release-1.1.1-src/dijit/tests/_base/test_focusWidget.html +130 -0
  348. data/data/dojo-release-1.1.1-src/dijit/tests/_base/test_placeStrict.html +400 -0
  349. data/data/dojo-release-1.1.1-src/dijit/tests/_base/test_typematic.html +56 -0
  350. data/data/dojo-release-1.1.1-src/dijit/tests/_base/viewport.html +79 -0
  351. data/data/dojo-release-1.1.1-src/dijit/tests/_base/viewport.js +6 -0
  352. data/data/dojo-release-1.1.1-src/dijit/tests/_base/viewportStrict.html +81 -0
  353. data/data/dojo-release-1.1.1-src/dijit/tests/_base/wai.html +115 -0
  354. data/data/dojo-release-1.1.1-src/dijit/tests/_base/wai.js +5 -0
  355. data/data/dojo-release-1.1.1-src/dijit/tests/_data/categories.json +12 -0
  356. data/data/dojo-release-1.1.1-src/dijit/tests/_data/categoriesNested.json +13 -0
  357. data/data/dojo-release-1.1.1-src/dijit/tests/_data/countries.json +45 -0
  358. data/data/dojo-release-1.1.1-src/dijit/tests/_data/dijits.json +1 -0
  359. data/data/dojo-release-1.1.1-src/dijit/tests/_data/states.json +64 -0
  360. data/data/dojo-release-1.1.1-src/dijit/tests/_data/treeTest.json +22 -0
  361. data/data/dojo-release-1.1.1-src/dijit/tests/_editor/test_6112.html +745 -0
  362. data/data/dojo-release-1.1.1-src/dijit/tests/_editor/test_CustomPlugin.html +151 -0
  363. data/data/dojo-release-1.1.1-src/dijit/tests/_editor/test_RichText.html +59 -0
  364. data/data/dojo-release-1.1.1-src/dijit/tests/_editor/test_ToggleDir.html +37 -0
  365. data/data/dojo-release-1.1.1-src/dijit/tests/_editor/test_richtext.css +4 -0
  366. data/data/dojo-release-1.1.1-src/dijit/tests/_programaticTest.html +109 -0
  367. data/data/dojo-release-1.1.1-src/dijit/tests/_testCommon.js +103 -0
  368. data/data/dojo-release-1.1.1-src/dijit/tests/css/dijitTests.css +78 -0
  369. data/data/dojo-release-1.1.1-src/dijit/tests/form/Form.html +354 -0
  370. data/data/dojo-release-1.1.1-src/dijit/tests/form/Form.js +5 -0
  371. data/data/dojo-release-1.1.1-src/dijit/tests/form/images/Alabama.jpg +0 -0
  372. data/data/dojo-release-1.1.1-src/dijit/tests/form/test_Button.html +286 -0
  373. data/data/dojo-release-1.1.1-src/dijit/tests/form/test_CheckBox.html +127 -0
  374. data/data/dojo-release-1.1.1-src/dijit/tests/form/test_ComboBox.html +289 -0
  375. data/data/dojo-release-1.1.1-src/dijit/tests/form/test_ComboBox_destroy.html +58 -0
  376. data/data/dojo-release-1.1.1-src/dijit/tests/form/test_DateTextBox.html +156 -0
  377. data/data/dojo-release-1.1.1-src/dijit/tests/form/test_FilteringSelect.html +296 -0
  378. data/data/dojo-release-1.1.1-src/dijit/tests/form/test_Form_onsubmit.html +87 -0
  379. data/data/dojo-release-1.1.1-src/dijit/tests/form/test_MultiSelect.html +138 -0
  380. data/data/dojo-release-1.1.1-src/dijit/tests/form/test_SimpleTextarea.html +62 -0
  381. data/data/dojo-release-1.1.1-src/dijit/tests/form/test_Slider.html +208 -0
  382. data/data/dojo-release-1.1.1-src/dijit/tests/form/test_Spinner.html +92 -0
  383. data/data/dojo-release-1.1.1-src/dijit/tests/form/test_Textarea.html +106 -0
  384. data/data/dojo-release-1.1.1-src/dijit/tests/form/test_TimeTextBox.html +143 -0
  385. data/data/dojo-release-1.1.1-src/dijit/tests/form/test_validate.html +428 -0
  386. data/data/dojo-release-1.1.1-src/dijit/tests/i18n/README +4 -0
  387. data/data/dojo-release-1.1.1-src/dijit/tests/i18n/currency.html +210 -0
  388. data/data/dojo-release-1.1.1-src/dijit/tests/i18n/date.html +155 -0
  389. data/data/dojo-release-1.1.1-src/dijit/tests/i18n/digit.html +294 -0
  390. data/data/dojo-release-1.1.1-src/dijit/tests/i18n/module.js +14 -0
  391. data/data/dojo-release-1.1.1-src/dijit/tests/i18n/number.html +136 -0
  392. data/data/dojo-release-1.1.1-src/dijit/tests/i18n/test_i18n.js +206 -0
  393. data/data/dojo-release-1.1.1-src/dijit/tests/i18n/textbox.html +173 -0
  394. data/data/dojo-release-1.1.1-src/dijit/tests/i18n/time.html +207 -0
  395. data/data/dojo-release-1.1.1-src/dijit/tests/images/arrowSmall.gif +0 -0
  396. data/data/dojo-release-1.1.1-src/dijit/tests/images/copy.gif +0 -0
  397. data/data/dojo-release-1.1.1-src/dijit/tests/images/cut.gif +0 -0
  398. data/data/dojo-release-1.1.1-src/dijit/tests/images/flatScreen.gif +0 -0
  399. data/data/dojo-release-1.1.1-src/dijit/tests/images/note.gif +0 -0
  400. data/data/dojo-release-1.1.1-src/dijit/tests/images/paste.gif +0 -0
  401. data/data/dojo-release-1.1.1-src/dijit/tests/images/plus.gif +0 -0
  402. data/data/dojo-release-1.1.1-src/dijit/tests/images/testsBodyBg.gif +0 -0
  403. data/data/dojo-release-1.1.1-src/dijit/tests/images/tube.gif +0 -0
  404. data/data/dojo-release-1.1.1-src/dijit/tests/images/tubeTall.gif +0 -0
  405. data/data/dojo-release-1.1.1-src/dijit/tests/layout/ContentPane.html +577 -0
  406. data/data/dojo-release-1.1.1-src/dijit/tests/layout/ContentPane.js +5 -0
  407. data/data/dojo-release-1.1.1-src/dijit/tests/layout/combotab.html +11 -0
  408. data/data/dojo-release-1.1.1-src/dijit/tests/layout/doc0.html +12 -0
  409. data/data/dojo-release-1.1.1-src/dijit/tests/layout/doc1.html +13 -0
  410. data/data/dojo-release-1.1.1-src/dijit/tests/layout/doc2.html +13 -0
  411. data/data/dojo-release-1.1.1-src/dijit/tests/layout/getResponse.php +57 -0
  412. data/data/dojo-release-1.1.1-src/dijit/tests/layout/tab1.html +6 -0
  413. data/data/dojo-release-1.1.1-src/dijit/tests/layout/tab2.html +3 -0
  414. data/data/dojo-release-1.1.1-src/dijit/tests/layout/tab3.html +39 -0
  415. data/data/dojo-release-1.1.1-src/dijit/tests/layout/tab4.html +40 -0
  416. data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_AccordionContainer.html +195 -0
  417. data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_BorderContainer.html +163 -0
  418. data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_BorderContainer_complex.html +178 -0
  419. data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_BorderContainer_experimental.html +253 -0
  420. data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_BorderContainer_full.html +56 -0
  421. data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_BorderContainer_nested.html +70 -0
  422. data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_ContentPane.html +94 -0
  423. data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_LayoutCode.html +383 -0
  424. data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_LayoutContainer.html +174 -0
  425. data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_SplitContainer.html +116 -0
  426. data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_StackContainer.html +62 -0
  427. data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_StackContainer_code.html +64 -0
  428. data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_TabContainer.html +183 -0
  429. data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_TabContainerTitlePane.html +75 -0
  430. data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_TabContainer_noLayout.html +104 -0
  431. data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_TabContainer_remote.html +109 -0
  432. data/data/dojo-release-1.1.1-src/dijit/tests/manualTests.html +12 -0
  433. data/data/dojo-release-1.1.1-src/dijit/tests/manualTests.js +81 -0
  434. data/data/dojo-release-1.1.1-src/dijit/tests/module.js +17 -0
  435. data/data/dojo-release-1.1.1-src/dijit/tests/ondijitclick.html +95 -0
  436. data/data/dojo-release-1.1.1-src/dijit/tests/ondijitclick.js +5 -0
  437. data/data/dojo-release-1.1.1-src/dijit/tests/runTests.html +9 -0
  438. data/data/dojo-release-1.1.1-src/dijit/tests/test.html +37 -0
  439. data/data/dojo-release-1.1.1-src/dijit/tests/test_Calendar.html +81 -0
  440. data/data/dojo-release-1.1.1-src/dijit/tests/test_ColorPalette.html +53 -0
  441. data/data/dojo-release-1.1.1-src/dijit/tests/test_Declaration.html +66 -0
  442. data/data/dojo-release-1.1.1-src/dijit/tests/test_Dialog.html +408 -0
  443. data/data/dojo-release-1.1.1-src/dijit/tests/test_Dialog_focusDestroy.html +61 -0
  444. data/data/dojo-release-1.1.1-src/dijit/tests/test_Editor.html +153 -0
  445. data/data/dojo-release-1.1.1-src/dijit/tests/test_InlineEditBox.html +231 -0
  446. data/data/dojo-release-1.1.1-src/dijit/tests/test_Menu.html +270 -0
  447. data/data/dojo-release-1.1.1-src/dijit/tests/test_ProgressBar.html +165 -0
  448. data/data/dojo-release-1.1.1-src/dijit/tests/test_TitlePane.html +126 -0
  449. data/data/dojo-release-1.1.1-src/dijit/tests/test_Toolbar.html +186 -0
  450. data/data/dojo-release-1.1.1-src/dijit/tests/test_Tooltip.html +117 -0
  451. data/data/dojo-release-1.1.1-src/dijit/tests/test_TooltipDialog.html +349 -0
  452. data/data/dojo-release-1.1.1-src/dijit/tests/test_Tree.html +115 -0
  453. data/data/dojo-release-1.1.1-src/dijit/tests/test_Tree_Notification_API_Support.html +287 -0
  454. data/data/dojo-release-1.1.1-src/dijit/tests/test_instantiate.html +111 -0
  455. data/data/dojo-release-1.1.1-src/dijit/tests/tree/test_Tree_DnD.html +194 -0
  456. data/data/dojo-release-1.1.1-src/dijit/tests/tree/test_Tree_Programmatic.html +40 -0
  457. data/data/dojo-release-1.1.1-src/dijit/tests/tree/test_Tree_v1.html +111 -0
  458. data/data/dojo-release-1.1.1-src/dijit/tests/widgetsInTemplate.html +112 -0
  459. data/data/dojo-release-1.1.1-src/dijit/tests/widgetsInTemplate.js +5 -0
  460. data/data/dojo-release-1.1.1-src/dijit/themes/a11y/README.txt +3 -0
  461. data/data/dojo-release-1.1.1-src/dijit/themes/a11y/indeterminate_progress.gif +0 -0
  462. data/data/dojo-release-1.1.1-src/dijit/themes/dijit.css +1535 -0
  463. data/data/dojo-release-1.1.1-src/dijit/themes/dijit_rtl.css +194 -0
  464. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/Calendar.css +159 -0
  465. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/Calendar_rtl.css +16 -0
  466. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/ColorPalette.css +5 -0
  467. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/Common.css +37 -0
  468. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/Dialog.css +175 -0
  469. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/Dialog_rtl.css +29 -0
  470. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/Editor.css +60 -0
  471. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/Editor_rtl.css +11 -0
  472. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/Menu.css +63 -0
  473. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/Menu_rtl.css +15 -0
  474. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/ProgressBar.css +33 -0
  475. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/TitlePane.css +77 -0
  476. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/TitlePane_rtl.css +6 -0
  477. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/Toolbar.css +95 -0
  478. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/Tree.css +90 -0
  479. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/Tree_rtl.css +38 -0
  480. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/form/Button.css +109 -0
  481. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/form/Button_rtl.css +3 -0
  482. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/form/Checkbox.css +69 -0
  483. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/form/ComboBox.css +7 -0
  484. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/form/Common.css +82 -0
  485. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/form/Common_rtl.css +7 -0
  486. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/form/RadioButton.css +68 -0
  487. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/form/Slider.css +136 -0
  488. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/form/Slider_rtl.css +34 -0
  489. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/form/Textarea.css +15 -0
  490. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/form/TimeTextBox.css +1 -0
  491. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/accordionItemActive.png +0 -0
  492. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/buttonActive.png +0 -0
  493. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/buttonDisabled.png +0 -0
  494. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/buttonEnabled.png +0 -0
  495. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/buttonHover.png +0 -0
  496. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/dndCopy.png +0 -0
  497. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/dndMove.png +0 -0
  498. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/dndNoCopy.png +0 -0
  499. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/dndNoMove.png +0 -0
  500. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/editor.gif +0 -0
  501. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/editor_rtl.gif +0 -0
  502. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/no.gif +0 -0
  503. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/preciseSliderThumb.gif +0 -0
  504. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/preciseSliderThumb.png +0 -0
  505. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/preciseSliderThumbFocus.gif +0 -0
  506. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/preciseSliderThumbFocus.png +0 -0
  507. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/progressBarAnim.gif +0 -0
  508. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/progressBarEmpty.png +0 -0
  509. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/progressBarFull.png +0 -0
  510. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/sliderEmpty.png +0 -0
  511. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/sliderEmptyVertical.png +0 -0
  512. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/sliderFull.png +0 -0
  513. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/sliderFullFocus.png +0 -0
  514. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/sliderFullVertical.png +0 -0
  515. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/sliderFullVerticalFocus.png +0 -0
  516. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/sliderThumb.png +0 -0
  517. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/sliderThumbFocus.gif +0 -0
  518. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/sliderThumbFocus.png +0 -0
  519. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/splitContainerSizerH-thumb.png +0 -0
  520. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/splitContainerSizerH.png +0 -0
  521. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/splitContainerSizerV-thumb.png +0 -0
  522. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/splitContainerSizerV.png +0 -0
  523. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/spriteArrows.gif +0 -0
  524. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/spriteArrows.png +0 -0
  525. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/spriteCheckbox.gif +0 -0
  526. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/spriteCheckbox.png +0 -0
  527. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/spriteDivIcons.gif +0 -0
  528. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/spriteDivIcons.png +0 -0
  529. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/spriteRadio.gif +0 -0
  530. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/spriteRadio.png +0 -0
  531. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/spriteRoundedIconsSmall.gif +0 -0
  532. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/spriteRoundedIconsSmall.png +0 -0
  533. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/spriteTree.gif +0 -0
  534. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/spriteTree.png +0 -0
  535. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/spriteTree_rtl.gif +0 -0
  536. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/spriteTree_rtl.png +0 -0
  537. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tabBottomActiveC.gif +0 -0
  538. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tabBottomActiveSpriteLR.gif +0 -0
  539. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tabBottomEnabledC.gif +0 -0
  540. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tabBottomEnabledSpriteLR.gif +0 -0
  541. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tabBottomHoverC.gif +0 -0
  542. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tabBottomHoverSpriteLR.gif +0 -0
  543. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tabContainerSprite.gif +0 -0
  544. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tabLeftChecked.gif +0 -0
  545. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tabRightChecked.gif +0 -0
  546. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tabStripe.gif +0 -0
  547. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tabStripeBottom.gif +0 -0
  548. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tabStripeLeft.gif +0 -0
  549. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tabStripeRight.gif +0 -0
  550. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/titleBar.png +0 -0
  551. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/titleBarActive.png +0 -0
  552. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tooltipConnectorDown.gif +0 -0
  553. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tooltipConnectorDown.png +0 -0
  554. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tooltipConnectorLeft.gif +0 -0
  555. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tooltipConnectorLeft.png +0 -0
  556. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tooltipConnectorRight.gif +0 -0
  557. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tooltipConnectorRight.png +0 -0
  558. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tooltipConnectorUp.gif +0 -0
  559. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tooltipConnectorUp.png +0 -0
  560. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/treeExpand_loading.gif +0 -0
  561. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/treeI.gif +0 -0
  562. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/treeI_half.gif +0 -0
  563. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/treeI_half_rtl.gif +0 -0
  564. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/treeI_rtl.gif +0 -0
  565. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/validationInputBg.gif +0 -0
  566. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/validationInputBg.png +0 -0
  567. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/warning.png +0 -0
  568. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/layout/AccordionContainer.css +44 -0
  569. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/layout/AccordionContainer_rtl.css +3 -0
  570. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/layout/BorderContainer.css +34 -0
  571. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/layout/SplitContainer.css +34 -0
  572. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/layout/TabContainer.css +369 -0
  573. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/layout/TabContainer_rtl.css +69 -0
  574. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/nihilo.css +39 -0
  575. data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/nihilo_rtl.css +28 -0
  576. data/data/dojo-release-1.1.1-src/dijit/themes/soria/Calendar.css +159 -0
  577. data/data/dojo-release-1.1.1-src/dijit/themes/soria/Calendar_rtl.css +16 -0
  578. data/data/dojo-release-1.1.1-src/dijit/themes/soria/ColorPalette.css +5 -0
  579. data/data/dojo-release-1.1.1-src/dijit/themes/soria/Common.css +36 -0
  580. data/data/dojo-release-1.1.1-src/dijit/themes/soria/Dialog.css +175 -0
  581. data/data/dojo-release-1.1.1-src/dijit/themes/soria/Dialog_rtl.css +29 -0
  582. data/data/dojo-release-1.1.1-src/dijit/themes/soria/Editor.css +60 -0
  583. data/data/dojo-release-1.1.1-src/dijit/themes/soria/Editor_rtl.css +9 -0
  584. data/data/dojo-release-1.1.1-src/dijit/themes/soria/Menu.css +63 -0
  585. data/data/dojo-release-1.1.1-src/dijit/themes/soria/Menu_rtl.css +15 -0
  586. data/data/dojo-release-1.1.1-src/dijit/themes/soria/ProgressBar.css +33 -0
  587. data/data/dojo-release-1.1.1-src/dijit/themes/soria/TitlePane.css +77 -0
  588. data/data/dojo-release-1.1.1-src/dijit/themes/soria/TitlePane_rtl.css +6 -0
  589. data/data/dojo-release-1.1.1-src/dijit/themes/soria/Toolbar.css +95 -0
  590. data/data/dojo-release-1.1.1-src/dijit/themes/soria/Tree.css +90 -0
  591. data/data/dojo-release-1.1.1-src/dijit/themes/soria/Tree_rtl.css +38 -0
  592. data/data/dojo-release-1.1.1-src/dijit/themes/soria/form/Button.css +109 -0
  593. data/data/dojo-release-1.1.1-src/dijit/themes/soria/form/Button_rtl.css +3 -0
  594. data/data/dojo-release-1.1.1-src/dijit/themes/soria/form/Checkbox.css +69 -0
  595. data/data/dojo-release-1.1.1-src/dijit/themes/soria/form/ComboBox.css +7 -0
  596. data/data/dojo-release-1.1.1-src/dijit/themes/soria/form/Common.css +82 -0
  597. data/data/dojo-release-1.1.1-src/dijit/themes/soria/form/Common_rtl.css +7 -0
  598. data/data/dojo-release-1.1.1-src/dijit/themes/soria/form/RadioButton.css +68 -0
  599. data/data/dojo-release-1.1.1-src/dijit/themes/soria/form/Slider.css +136 -0
  600. data/data/dojo-release-1.1.1-src/dijit/themes/soria/form/Slider_rtl.css +34 -0
  601. data/data/dojo-release-1.1.1-src/dijit/themes/soria/form/Textarea.css +15 -0
  602. data/data/dojo-release-1.1.1-src/dijit/themes/soria/form/TimeTextBox.css +1 -0
  603. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/accordionItemActive.gif +0 -0
  604. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/accordionItemActive.png +0 -0
  605. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/buttonActive.png +0 -0
  606. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/buttonDisabled.png +0 -0
  607. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/buttonEnabled.png +0 -0
  608. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/buttonHover.png +0 -0
  609. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/dndCopy.png +0 -0
  610. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/dndMove.png +0 -0
  611. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/dndNoCopy.png +0 -0
  612. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/dndNoMove.png +0 -0
  613. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/editor.gif +0 -0
  614. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/editor_rtl.gif +0 -0
  615. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/preciseSliderThumb.gif +0 -0
  616. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/preciseSliderThumb.png +0 -0
  617. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/preciseSliderThumbFocus.gif +0 -0
  618. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/preciseSliderThumbFocus.png +0 -0
  619. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/progressBarAnim.gif +0 -0
  620. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/progressBarEmpty.png +0 -0
  621. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/progressBarFull.png +0 -0
  622. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/sliderEmpty.png +0 -0
  623. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/sliderEmptyVertical.png +0 -0
  624. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/sliderFull.png +0 -0
  625. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/sliderFullFocus.png +0 -0
  626. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/sliderFullVertical.png +0 -0
  627. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/sliderFullVerticalFocus.png +0 -0
  628. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/sliderThumb.png +0 -0
  629. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/sliderThumbFocus.gif +0 -0
  630. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/sliderThumbFocus.png +0 -0
  631. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/splitContainerSizerH-thumb.png +0 -0
  632. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/splitContainerSizerH.png +0 -0
  633. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/splitContainerSizerV-thumb.png +0 -0
  634. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/splitContainerSizerV.png +0 -0
  635. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteArrows.gif +0 -0
  636. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteArrows.png +0 -0
  637. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteCheckbox.gif +0 -0
  638. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteCheckbox.png +0 -0
  639. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteDivIcons.gif +0 -0
  640. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteDivIcons.png +0 -0
  641. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteRadio.gif +0 -0
  642. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteRadio.png +0 -0
  643. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteRoundedIconsSmall.gif +0 -0
  644. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteRoundedIconsSmall.png +0 -0
  645. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteRoundedIconsSmallBl.gif +0 -0
  646. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteRoundedIconsSmallBl.png +0 -0
  647. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteTree.gif +0 -0
  648. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteTree.png +0 -0
  649. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteTree_rtl.gif +0 -0
  650. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteTree_rtl.png +0 -0
  651. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tabBottomActiveC.gif +0 -0
  652. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tabBottomActiveSpriteLR.gif +0 -0
  653. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tabBottomEnabledC.gif +0 -0
  654. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tabBottomEnabledSpriteLR.gif +0 -0
  655. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tabBottomHoverC.gif +0 -0
  656. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tabBottomHoverSpriteLR.gif +0 -0
  657. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tabContainerSprite.gif +0 -0
  658. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tabLeftChecked.gif +0 -0
  659. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tabRightChecked.gif +0 -0
  660. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tabStripe.gif +0 -0
  661. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tabStripeBottom.gif +0 -0
  662. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tabStripeLeft.gif +0 -0
  663. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tabStripeRight.gif +0 -0
  664. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/titleBar.png +0 -0
  665. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/titleBarActive.png +0 -0
  666. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tooltipConnectorDown.gif +0 -0
  667. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tooltipConnectorDown.png +0 -0
  668. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tooltipConnectorLeft.gif +0 -0
  669. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tooltipConnectorLeft.png +0 -0
  670. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tooltipConnectorRight.gif +0 -0
  671. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tooltipConnectorRight.png +0 -0
  672. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tooltipConnectorUp.gif +0 -0
  673. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tooltipConnectorUp.png +0 -0
  674. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/treeExpand_loading.gif +0 -0
  675. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/treeI.gif +0 -0
  676. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/treeI_half.gif +0 -0
  677. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/treeI_half_rtl.gif +0 -0
  678. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/treeI_rtl.gif +0 -0
  679. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/validationInputBg.gif +0 -0
  680. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/validationInputBg.png +0 -0
  681. data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/warning.png +0 -0
  682. data/data/dojo-release-1.1.1-src/dijit/themes/soria/layout/AccordionContainer.css +48 -0
  683. data/data/dojo-release-1.1.1-src/dijit/themes/soria/layout/AccordionContainer_rtl.css +3 -0
  684. data/data/dojo-release-1.1.1-src/dijit/themes/soria/layout/BorderContainer.css +34 -0
  685. data/data/dojo-release-1.1.1-src/dijit/themes/soria/layout/SplitContainer.css +34 -0
  686. data/data/dojo-release-1.1.1-src/dijit/themes/soria/layout/TabContainer.css +372 -0
  687. data/data/dojo-release-1.1.1-src/dijit/themes/soria/layout/TabContainer_rtl.css +69 -0
  688. data/data/dojo-release-1.1.1-src/dijit/themes/soria/soria.css +39 -0
  689. data/data/dojo-release-1.1.1-src/dijit/themes/soria/soria_rtl.css +28 -0
  690. data/data/dojo-release-1.1.1-src/dijit/themes/templateThemeTest.html +184 -0
  691. data/data/dojo-release-1.1.1-src/dijit/themes/themeTester.html +745 -0
  692. data/data/dojo-release-1.1.1-src/dijit/themes/themeTesterImages/blackButtonEnabled.gif +0 -0
  693. data/data/dojo-release-1.1.1-src/dijit/themes/themeTesterImages/blackButtonHover.gif +0 -0
  694. data/data/dojo-release-1.1.1-src/dijit/themes/themeTesterQuirk.html +743 -0
  695. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/Calendar.css +154 -0
  696. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/Calendar_rtl.css +16 -0
  697. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/ColorPalette.css +5 -0
  698. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/Common.css +45 -0
  699. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/Dialog.css +179 -0
  700. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/Dialog_rtl.css +29 -0
  701. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/Editor.css +58 -0
  702. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/Editor_rtl.css +9 -0
  703. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/Menu.css +54 -0
  704. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/Menu_rtl.css +8 -0
  705. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/ProgressBar.css +28 -0
  706. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/TitlePane.css +63 -0
  707. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/TitlePane_rtl.css +6 -0
  708. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/Toolbar.css +95 -0
  709. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/Tree.css +86 -0
  710. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/Tree_rtl.css +37 -0
  711. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/form/Button.css +113 -0
  712. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/form/Checkbox.css +47 -0
  713. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/form/Common.css +126 -0
  714. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/form/RadioButton.css +49 -0
  715. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/form/Slider.css +134 -0
  716. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/form/Slider_rtl.css +31 -0
  717. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/form/TextArea.css +10 -0
  718. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/accordionItemActive.gif +0 -0
  719. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/arrowDown.gif +0 -0
  720. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/arrowDown.png +0 -0
  721. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/arrowLeft.gif +0 -0
  722. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/arrowLeft.png +0 -0
  723. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/arrowRight.gif +0 -0
  724. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/arrowRight.png +0 -0
  725. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/arrowUp.gif +0 -0
  726. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/arrowUp.png +0 -0
  727. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/buttonActive.png +0 -0
  728. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/buttonDisabled.png +0 -0
  729. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/buttonEnabled.png +0 -0
  730. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/buttonHover.png +0 -0
  731. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/calendarDayLabel.png +0 -0
  732. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/calendarMonthLabel.png +0 -0
  733. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/calendarYearLabel.png +0 -0
  734. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/checkboxActive.png +0 -0
  735. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/checkboxDisabled.png +0 -0
  736. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/checkboxEnabled.png +0 -0
  737. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/checkboxHover.png +0 -0
  738. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/checkmark.gif +0 -0
  739. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/checkmark.png +0 -0
  740. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/checkmarkNoBorder.gif +0 -0
  741. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/checkmarkNoBorder.png +0 -0
  742. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/circleIcon.gif +0 -0
  743. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/circleIcon.png +0 -0
  744. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/comboArrowDown.gif +0 -0
  745. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/dijitProgressBarAnim.gif +0 -0
  746. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/dijitProgressBarAnim.psd +0 -0
  747. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/dndCopy.png +0 -0
  748. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/dndMove.png +0 -0
  749. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/dndNoCopy.png +0 -0
  750. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/dndNoMove.png +0 -0
  751. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/dojoTundraGradientBg.gif +0 -0
  752. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/dojoTundraGradientBg.png +0 -0
  753. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/doubleArrowDown.png +0 -0
  754. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/doubleArrowUp.png +0 -0
  755. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/editor.gif +0 -0
  756. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/editor_rtl.gif +0 -0
  757. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/folderClosed.gif +0 -0
  758. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/folderOpened.gif +0 -0
  759. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/i.gif +0 -0
  760. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/i_half.gif +0 -0
  761. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/i_half_rtl.gif +0 -0
  762. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/i_rtl.gif +0 -0
  763. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/leaf.gif +0 -0
  764. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/loading.gif +0 -0
  765. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/menu.png +0 -0
  766. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/minusButton.gif +0 -0
  767. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/no.gif +0 -0
  768. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/noX.gif +0 -0
  769. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/plusButton.gif +0 -0
  770. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/popupMenuBg.gif +0 -0
  771. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/preciseSliderThumb.gif +0 -0
  772. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/preciseSliderThumb.png +0 -0
  773. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/preciseSliderThumbFocus.gif +0 -0
  774. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/preciseSliderThumbFocus.png +0 -0
  775. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/progressBarAnim-1.png +0 -0
  776. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/progressBarAnim-2.png +0 -0
  777. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/progressBarAnim-3.png +0 -0
  778. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/progressBarAnim-4.png +0 -0
  779. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/progressBarAnim-5.png +0 -0
  780. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/progressBarAnim-6.png +0 -0
  781. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/progressBarAnim-7.png +0 -0
  782. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/progressBarAnim-8.png +0 -0
  783. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/progressBarAnim-9.png +0 -0
  784. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/progressBarAnim.gif +0 -0
  785. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/progressBarAnim.psd +0 -0
  786. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/progressBarEmpty.png +0 -0
  787. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/progressBarFull.png +0 -0
  788. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/radioButtonActive.png +0 -0
  789. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/radioButtonActiveDisabled.png +0 -0
  790. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/radioButtonActiveHover.png +0 -0
  791. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/radioButtonDisabled.png +0 -0
  792. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/radioButtonEnabled.png +0 -0
  793. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/radioButtonHover.png +0 -0
  794. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/sliderEmpty.png +0 -0
  795. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/sliderEmptyVertical.png +0 -0
  796. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/sliderFull.png +0 -0
  797. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/sliderFullFocus.png +0 -0
  798. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/sliderFullVertical.png +0 -0
  799. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/sliderFullVerticalFocus.png +0 -0
  800. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/sliderThumb.png +0 -0
  801. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/sliderThumbFocus.gif +0 -0
  802. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/sliderThumbFocus.png +0 -0
  803. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/smallArrowDown.png +0 -0
  804. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/smallArrowUp.png +0 -0
  805. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/splitContainerSizerH-thumb.png +0 -0
  806. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/splitContainerSizerH.png +0 -0
  807. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/splitContainerSizerV-thumb.png +0 -0
  808. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/splitContainerSizerV.png +0 -0
  809. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/spriteRoundedIconsSmall.gif +0 -0
  810. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/spriteRoundedIconsSmall.png +0 -0
  811. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tabActive.png +0 -0
  812. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tabClose.gif +0 -0
  813. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tabClose.png +0 -0
  814. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tabCloseHover.gif +0 -0
  815. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tabCloseHover.png +0 -0
  816. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tabDisabled.png +0 -0
  817. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tabEnabled.png +0 -0
  818. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tabHover.gif +0 -0
  819. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tabHover.png +0 -0
  820. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/titleBar.png +0 -0
  821. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/titleBarBg.gif +0 -0
  822. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tooltipConnectorDown.gif +0 -0
  823. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tooltipConnectorDown.png +0 -0
  824. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tooltipConnectorLeft.gif +0 -0
  825. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tooltipConnectorLeft.png +0 -0
  826. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tooltipConnectorRight.gif +0 -0
  827. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tooltipConnectorRight.png +0 -0
  828. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tooltipConnectorUp.gif +0 -0
  829. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tooltipConnectorUp.png +0 -0
  830. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/treeExpand_leaf.gif +0 -0
  831. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/treeExpand_leaf_rtl.gif +0 -0
  832. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/treeExpand_loading.gif +0 -0
  833. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/treeExpand_minus.gif +0 -0
  834. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/treeExpand_minus_rtl.gif +0 -0
  835. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/treeExpand_mius.gif +0 -0
  836. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/treeExpand_plus.gif +0 -0
  837. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/treeExpand_plus_rtl.gif +0 -0
  838. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/validationInputBg.gif +0 -0
  839. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/validationInputBg.png +0 -0
  840. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/warning.png +0 -0
  841. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/layout/AccordionContainer.css +37 -0
  842. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/layout/BorderContainer.css +31 -0
  843. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/layout/SplitContainer.css +35 -0
  844. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/layout/TabContainer.css +138 -0
  845. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/layout/TabContainer_rtl.css +89 -0
  846. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/tundra.css +37 -0
  847. data/data/dojo-release-1.1.1-src/dijit/themes/tundra/tundra_rtl.css +9 -0
  848. data/data/dojo-release-1.1.1-src/dojo/AdapterRegistry.js +95 -0
  849. data/data/dojo-release-1.1.1-src/dojo/DeferredList.js +84 -0
  850. data/data/dojo-release-1.1.1-src/dojo/LICENSE +195 -0
  851. data/data/dojo-release-1.1.1-src/dojo/NodeList-fx.js +133 -0
  852. data/data/dojo-release-1.1.1-src/dojo/OpenAjax.js +194 -0
  853. data/data/dojo-release-1.1.1-src/dojo/_base/Color.js +152 -0
  854. data/data/dojo-release-1.1.1-src/dojo/_base/Deferred.js +404 -0
  855. data/data/dojo-release-1.1.1-src/dojo/_base/NodeList.js +528 -0
  856. data/data/dojo-release-1.1.1-src/dojo/_base/_loader/bootstrap.js +436 -0
  857. data/data/dojo-release-1.1.1-src/dojo/_base/_loader/hostenv_browser.js +379 -0
  858. data/data/dojo-release-1.1.1-src/dojo/_base/_loader/hostenv_rhino.js +238 -0
  859. data/data/dojo-release-1.1.1-src/dojo/_base/_loader/hostenv_spidermonkey.js +80 -0
  860. data/data/dojo-release-1.1.1-src/dojo/_base/_loader/loader.js +688 -0
  861. data/data/dojo-release-1.1.1-src/dojo/_base/_loader/loader_debug.js +57 -0
  862. data/data/dojo-release-1.1.1-src/dojo/_base/_loader/loader_xd.js +627 -0
  863. data/data/dojo-release-1.1.1-src/dojo/_base/array.js +178 -0
  864. data/data/dojo-release-1.1.1-src/dojo/_base/browser.js +17 -0
  865. data/data/dojo-release-1.1.1-src/dojo/_base/connect.js +281 -0
  866. data/data/dojo-release-1.1.1-src/dojo/_base/declare.js +174 -0
  867. data/data/dojo-release-1.1.1-src/dojo/_base/event.js +525 -0
  868. data/data/dojo-release-1.1.1-src/dojo/_base/fx.js +580 -0
  869. data/data/dojo-release-1.1.1-src/dojo/_base/html.js +1223 -0
  870. data/data/dojo-release-1.1.1-src/dojo/_base/json.js +133 -0
  871. data/data/dojo-release-1.1.1-src/dojo/_base/lang.js +253 -0
  872. data/data/dojo-release-1.1.1-src/dojo/_base/query.js +1187 -0
  873. data/data/dojo-release-1.1.1-src/dojo/_base/window.js +141 -0
  874. data/data/dojo-release-1.1.1-src/dojo/_base/xhr.js +726 -0
  875. data/data/dojo-release-1.1.1-src/dojo/_base.js +9 -0
  876. data/data/dojo-release-1.1.1-src/dojo/_firebug/LICENSE +37 -0
  877. data/data/dojo-release-1.1.1-src/dojo/_firebug/errorIcon.png +0 -0
  878. data/data/dojo-release-1.1.1-src/dojo/_firebug/firebug.css +222 -0
  879. data/data/dojo-release-1.1.1-src/dojo/_firebug/firebug.js +1099 -0
  880. data/data/dojo-release-1.1.1-src/dojo/_firebug/infoIcon.png +0 -0
  881. data/data/dojo-release-1.1.1-src/dojo/_firebug/warningIcon.png +0 -0
  882. data/data/dojo-release-1.1.1-src/dojo/back.js +390 -0
  883. data/data/dojo-release-1.1.1-src/dojo/behavior.js +181 -0
  884. data/data/dojo-release-1.1.1-src/dojo/cldr/LICENSE +29 -0
  885. data/data/dojo-release-1.1.1-src/dojo/cldr/README +18 -0
  886. data/data/dojo-release-1.1.1-src/dojo/cldr/monetary.js +23 -0
  887. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/currency.js +12 -0
  888. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/de/currency.js +15 -0
  889. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/de/gregorian.js +37 -0
  890. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/de/number.js +9 -0
  891. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/de-de/number.js +4 -0
  892. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/en/currency.js +21 -0
  893. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/en/gregorian.js +1 -0
  894. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/en/number.js +6 -0
  895. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/en-au/currency.js +6 -0
  896. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/en-au/gregorian.js +8 -0
  897. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/en-au/number.js +4 -0
  898. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/en-ca/currency.js +6 -0
  899. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/en-ca/gregorian.js +6 -0
  900. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/en-gb/gregorian.js +12 -0
  901. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/en-gb/number.js +4 -0
  902. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/en-us/currency.js +5 -0
  903. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/en-us/number.js +4 -0
  904. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/es/currency.js +18 -0
  905. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/es/gregorian.js +33 -0
  906. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/es/number.js +6 -0
  907. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/es-es/gregorian.js +7 -0
  908. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/es-es/number.js +4 -0
  909. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/fr/currency.js +20 -0
  910. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/fr/gregorian.js +38 -0
  911. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/fr/number.js +9 -0
  912. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/gregorian.js +59 -0
  913. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/it/currency.js +14 -0
  914. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/it/gregorian.js +30 -0
  915. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/it/number.js +5 -0
  916. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/it-it/gregorian.js +5 -0
  917. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/ja/currency.js +15 -0
  918. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/ja/gregorian.js +1 -0
  919. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/ja/number.js +4 -0
  920. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/ja-jp/number.js +4 -0
  921. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/ko/currency.js +15 -0
  922. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/ko/gregorian.js +1 -0
  923. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/ko/number.js +4 -0
  924. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/ko-kr/gregorian.js +6 -0
  925. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/ko-kr/number.js +4 -0
  926. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/number.js +25 -0
  927. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/pt/currency.js +13 -0
  928. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/pt/gregorian.js +1 -0
  929. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/pt/number.js +9 -0
  930. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/pt-br/gregorian.js +18 -0
  931. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/zh/currency.js +15 -0
  932. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/zh/gregorian.js +34 -0
  933. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/zh/number.js +6 -0
  934. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/zh-cn/gregorian.js +12 -0
  935. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/zh-cn/number.js +4 -0
  936. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/zh-tw/currency.js +2 -0
  937. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/zh-tw/gregorian.js +2 -0
  938. data/data/dojo-release-1.1.1-src/dojo/cldr/nls/zh-tw/number.js +2 -0
  939. data/data/dojo-release-1.1.1-src/dojo/cldr/supplemental.js +70 -0
  940. data/data/dojo-release-1.1.1-src/dojo/colors.js +221 -0
  941. data/data/dojo-release-1.1.1-src/dojo/cookie.js +91 -0
  942. data/data/dojo-release-1.1.1-src/dojo/currency.js +93 -0
  943. data/data/dojo-release-1.1.1-src/dojo/data/ItemFileReadStore.js +761 -0
  944. data/data/dojo-release-1.1.1-src/dojo/data/ItemFileWriteStore.js +800 -0
  945. data/data/dojo-release-1.1.1-src/dojo/data/api/Identity.js +103 -0
  946. data/data/dojo-release-1.1.1-src/dojo/data/api/Notification.js +115 -0
  947. data/data/dojo-release-1.1.1-src/dojo/data/api/Read.js +502 -0
  948. data/data/dojo-release-1.1.1-src/dojo/data/api/Request.js +28 -0
  949. data/data/dojo-release-1.1.1-src/dojo/data/api/Write.js +222 -0
  950. data/data/dojo-release-1.1.1-src/dojo/data/util/filter.js +65 -0
  951. data/data/dojo-release-1.1.1-src/dojo/data/util/simpleFetch.js +86 -0
  952. data/data/dojo-release-1.1.1-src/dojo/data/util/sorter.js +77 -0
  953. data/data/dojo-release-1.1.1-src/dojo/date/locale.js +652 -0
  954. data/data/dojo-release-1.1.1-src/dojo/date/stamp.js +137 -0
  955. data/data/dojo-release-1.1.1-src/dojo/date.js +339 -0
  956. data/data/dojo-release-1.1.1-src/dojo/dnd/Avatar.js +78 -0
  957. data/data/dojo-release-1.1.1-src/dojo/dnd/Container.js +307 -0
  958. data/data/dojo-release-1.1.1-src/dojo/dnd/Manager.js +176 -0
  959. data/data/dojo-release-1.1.1-src/dojo/dnd/Moveable.js +126 -0
  960. data/data/dojo-release-1.1.1-src/dojo/dnd/Mover.js +80 -0
  961. data/data/dojo-release-1.1.1-src/dojo/dnd/Selector.js +240 -0
  962. data/data/dojo-release-1.1.1-src/dojo/dnd/Source.js +389 -0
  963. data/data/dojo-release-1.1.1-src/dojo/dnd/TimedMoveable.js +62 -0
  964. data/data/dojo-release-1.1.1-src/dojo/dnd/autoscroll.js +99 -0
  965. data/data/dojo-release-1.1.1-src/dojo/dnd/common.js +31 -0
  966. data/data/dojo-release-1.1.1-src/dojo/dnd/move.js +198 -0
  967. data/data/dojo-release-1.1.1-src/dojo/dojo.js +147 -0
  968. data/data/dojo-release-1.1.1-src/dojo/fx.js +411 -0
  969. data/data/dojo-release-1.1.1-src/dojo/i18n.js +245 -0
  970. data/data/dojo-release-1.1.1-src/dojo/io/iframe.js +354 -0
  971. data/data/dojo-release-1.1.1-src/dojo/io/script.js +207 -0
  972. data/data/dojo-release-1.1.1-src/dojo/jaxer.js +11 -0
  973. data/data/dojo-release-1.1.1-src/dojo/nls/ar/colors.js +154 -0
  974. data/data/dojo-release-1.1.1-src/dojo/nls/colors.js +154 -0
  975. data/data/dojo-release-1.1.1-src/dojo/nls/cs/colors.js +154 -0
  976. data/data/dojo-release-1.1.1-src/dojo/nls/da/colors.js +154 -0
  977. data/data/dojo-release-1.1.1-src/dojo/nls/de/colors.js +154 -0
  978. data/data/dojo-release-1.1.1-src/dojo/nls/el/colors.js +154 -0
  979. data/data/dojo-release-1.1.1-src/dojo/nls/es/colors.js +154 -0
  980. data/data/dojo-release-1.1.1-src/dojo/nls/fi/colors.js +154 -0
  981. data/data/dojo-release-1.1.1-src/dojo/nls/fr/colors.js +154 -0
  982. data/data/dojo-release-1.1.1-src/dojo/nls/he/colors.js +154 -0
  983. data/data/dojo-release-1.1.1-src/dojo/nls/hu/colors.js +154 -0
  984. data/data/dojo-release-1.1.1-src/dojo/nls/it/colors.js +154 -0
  985. data/data/dojo-release-1.1.1-src/dojo/nls/ja/colors.js +154 -0
  986. data/data/dojo-release-1.1.1-src/dojo/nls/ko/colors.js +154 -0
  987. data/data/dojo-release-1.1.1-src/dojo/nls/nb/colors.js +154 -0
  988. data/data/dojo-release-1.1.1-src/dojo/nls/nl/colors.js +154 -0
  989. data/data/dojo-release-1.1.1-src/dojo/nls/pl/colors.js +154 -0
  990. data/data/dojo-release-1.1.1-src/dojo/nls/pt/colors.js +154 -0
  991. data/data/dojo-release-1.1.1-src/dojo/nls/pt-pt/colors.js +154 -0
  992. data/data/dojo-release-1.1.1-src/dojo/nls/ru/colors.js +154 -0
  993. data/data/dojo-release-1.1.1-src/dojo/nls/sv/colors.js +154 -0
  994. data/data/dojo-release-1.1.1-src/dojo/nls/tr/colors.js +154 -0
  995. data/data/dojo-release-1.1.1-src/dojo/nls/zh/colors.js +154 -0
  996. data/data/dojo-release-1.1.1-src/dojo/nls/zh-tw/colors.js +154 -0
  997. data/data/dojo-release-1.1.1-src/dojo/number.js +547 -0
  998. data/data/dojo-release-1.1.1-src/dojo/parser.js +273 -0
  999. data/data/dojo-release-1.1.1-src/dojo/regexp.js +65 -0
  1000. data/data/dojo-release-1.1.1-src/dojo/resources/LICENSE +30 -0
  1001. data/data/dojo-release-1.1.1-src/dojo/resources/_modules.js +36 -0
  1002. data/data/dojo-release-1.1.1-src/dojo/resources/blank.gif +0 -0
  1003. data/data/dojo-release-1.1.1-src/dojo/resources/blank.html +1 -0
  1004. data/data/dojo-release-1.1.1-src/dojo/resources/dnd.css +9 -0
  1005. data/data/dojo-release-1.1.1-src/dojo/resources/dojo.css +198 -0
  1006. data/data/dojo-release-1.1.1-src/dojo/resources/iframe_history.html +79 -0
  1007. data/data/dojo-release-1.1.1-src/dojo/resources/images/dndCopy.png +0 -0
  1008. data/data/dojo-release-1.1.1-src/dojo/resources/images/dndMove.png +0 -0
  1009. data/data/dojo-release-1.1.1-src/dojo/resources/images/dndNoCopy.png +0 -0
  1010. data/data/dojo-release-1.1.1-src/dojo/resources/images/dndNoMove.png +0 -0
  1011. data/data/dojo-release-1.1.1-src/dojo/rpc/JsonService.js +79 -0
  1012. data/data/dojo-release-1.1.1-src/dojo/rpc/JsonpService.js +61 -0
  1013. data/data/dojo-release-1.1.1-src/dojo/rpc/RpcService.js +168 -0
  1014. data/data/dojo-release-1.1.1-src/dojo/string.js +80 -0
  1015. data/data/dojo-release-1.1.1-src/dojo/tests/AdapterRegistry.js +71 -0
  1016. data/data/dojo-release-1.1.1-src/dojo/tests/DeferredList.js +202 -0
  1017. data/data/dojo-release-1.1.1-src/dojo/tests/NodeList-fx.html +150 -0
  1018. data/data/dojo-release-1.1.1-src/dojo/tests/TODO +11 -0
  1019. data/data/dojo-release-1.1.1-src/dojo/tests/_base/Color.js +28 -0
  1020. data/data/dojo-release-1.1.1-src/dojo/tests/_base/Deferred.js +72 -0
  1021. data/data/dojo-release-1.1.1-src/dojo/tests/_base/NodeList.html +370 -0
  1022. data/data/dojo-release-1.1.1-src/dojo/tests/_base/_loader/addLoadEvents.html +37 -0
  1023. data/data/dojo-release-1.1.1-src/dojo/tests/_base/_loader/afterOnLoad.html +56 -0
  1024. data/data/dojo-release-1.1.1-src/dojo/tests/_base/_loader/bootstrap.js +82 -0
  1025. data/data/dojo-release-1.1.1-src/dojo/tests/_base/_loader/getText.txt +1 -0
  1026. data/data/dojo-release-1.1.1-src/dojo/tests/_base/_loader/hostenv_browser.js +11 -0
  1027. data/data/dojo-release-1.1.1-src/dojo/tests/_base/_loader/hostenv_rhino.js +13 -0
  1028. data/data/dojo-release-1.1.1-src/dojo/tests/_base/_loader/hostenv_spidermonkey.js +11 -0
  1029. data/data/dojo-release-1.1.1-src/dojo/tests/_base/_loader/loader.js +48 -0
  1030. data/data/dojo-release-1.1.1-src/dojo/tests/_base/_loader/scope/scope04.html +80 -0
  1031. data/data/dojo-release-1.1.1-src/dojo/tests/_base/_loader/scope/scopeContained.html +71 -0
  1032. data/data/dojo-release-1.1.1-src/dojo/tests/_base/_loader/scope/scopeContainedXd.html +84 -0
  1033. data/data/dojo-release-1.1.1-src/dojo/tests/_base/_loader/scope/scopeDjConfig.html +64 -0
  1034. data/data/dojo-release-1.1.1-src/dojo/tests/_base/_loader/scope/scopeSingle.html +62 -0
  1035. data/data/dojo-release-1.1.1-src/dojo/tests/_base/_loader/scope/scopeSingleDaac.html +63 -0
  1036. data/data/dojo-release-1.1.1-src/dojo/tests/_base/array.js +297 -0
  1037. data/data/dojo-release-1.1.1-src/dojo/tests/_base/connect.js +221 -0
  1038. data/data/dojo-release-1.1.1-src/dojo/tests/_base/declare.js +193 -0
  1039. data/data/dojo-release-1.1.1-src/dojo/tests/_base/fx.html +342 -0
  1040. data/data/dojo-release-1.1.1-src/dojo/tests/_base/fx.js +4 -0
  1041. data/data/dojo-release-1.1.1-src/dojo/tests/_base/fx_delay.html +22 -0
  1042. data/data/dojo-release-1.1.1-src/dojo/tests/_base/html.html +556 -0
  1043. data/data/dojo-release-1.1.1-src/dojo/tests/_base/html.js +8 -0
  1044. data/data/dojo-release-1.1.1-src/dojo/tests/_base/html_box.html +207 -0
  1045. data/data/dojo-release-1.1.1-src/dojo/tests/_base/html_box_quirks.html +205 -0
  1046. data/data/dojo-release-1.1.1-src/dojo/tests/_base/html_quirks.html +322 -0
  1047. data/data/dojo-release-1.1.1-src/dojo/tests/_base/html_rtl.html +110 -0
  1048. data/data/dojo-release-1.1.1-src/dojo/tests/_base/json.js +33 -0
  1049. data/data/dojo-release-1.1.1-src/dojo/tests/_base/lang.js +176 -0
  1050. data/data/dojo-release-1.1.1-src/dojo/tests/_base/query.html +154 -0
  1051. data/data/dojo-release-1.1.1-src/dojo/tests/_base/query.js +5 -0
  1052. data/data/dojo-release-1.1.1-src/dojo/tests/_base/timeout.php +7 -0
  1053. data/data/dojo-release-1.1.1-src/dojo/tests/_base/xhr.html +404 -0
  1054. data/data/dojo-release-1.1.1-src/dojo/tests/_base/xhr.js +4 -0
  1055. data/data/dojo-release-1.1.1-src/dojo/tests/_base/xhrDummyMethod.php +7 -0
  1056. data/data/dojo-release-1.1.1-src/dojo/tests/_base.js +132 -0
  1057. data/data/dojo-release-1.1.1-src/dojo/tests/back-hash.js +29 -0
  1058. data/data/dojo-release-1.1.1-src/dojo/tests/back.html +107 -0
  1059. data/data/dojo-release-1.1.1-src/dojo/tests/back.js +4 -0
  1060. data/data/dojo-release-1.1.1-src/dojo/tests/behavior.html +106 -0
  1061. data/data/dojo-release-1.1.1-src/dojo/tests/behavior.js +4 -0
  1062. data/data/dojo-release-1.1.1-src/dojo/tests/cldr.js +15 -0
  1063. data/data/dojo-release-1.1.1-src/dojo/tests/colors.js +44 -0
  1064. data/data/dojo-release-1.1.1-src/dojo/tests/cookie.html +84 -0
  1065. data/data/dojo-release-1.1.1-src/dojo/tests/cookie.js +4 -0
  1066. data/data/dojo-release-1.1.1-src/dojo/tests/currency.js +44 -0
  1067. data/data/dojo-release-1.1.1-src/dojo/tests/data/ItemFileReadStore.js +6 -0
  1068. data/data/dojo-release-1.1.1-src/dojo/tests/data/ItemFileWriteStore.js +1398 -0
  1069. data/data/dojo-release-1.1.1-src/dojo/tests/data/countries.json +11 -0
  1070. data/data/dojo-release-1.1.1-src/dojo/tests/data/countries_commentFiltered.json +12 -0
  1071. data/data/dojo-release-1.1.1-src/dojo/tests/data/countries_idcollision.json +10 -0
  1072. data/data/dojo-release-1.1.1-src/dojo/tests/data/countries_references.json +44 -0
  1073. data/data/dojo-release-1.1.1-src/dojo/tests/data/countries_withBoolean.json +11 -0
  1074. data/data/dojo-release-1.1.1-src/dojo/tests/data/countries_withDates.json +21 -0
  1075. data/data/dojo-release-1.1.1-src/dojo/tests/data/countries_withNull.json +10 -0
  1076. data/data/dojo-release-1.1.1-src/dojo/tests/data/countries_withoutid.json +10 -0
  1077. data/data/dojo-release-1.1.1-src/dojo/tests/data/data_multitype.json +18 -0
  1078. data/data/dojo-release-1.1.1-src/dojo/tests/data/geography_hierarchy_large.json +44 -0
  1079. data/data/dojo-release-1.1.1-src/dojo/tests/data/geography_hierarchy_small.json +19 -0
  1080. data/data/dojo-release-1.1.1-src/dojo/tests/data/readOnlyItemFileTestTemplates.js +2256 -0
  1081. data/data/dojo-release-1.1.1-src/dojo/tests/data/reference_integrity.json +27 -0
  1082. data/data/dojo-release-1.1.1-src/dojo/tests/data/runTests.html +9 -0
  1083. data/data/dojo-release-1.1.1-src/dojo/tests/data/utils.js +199 -0
  1084. data/data/dojo-release-1.1.1-src/dojo/tests/data.js +8 -0
  1085. data/data/dojo-release-1.1.1-src/dojo/tests/date/locale.js +394 -0
  1086. data/data/dojo-release-1.1.1-src/dojo/tests/date/stamp.js +90 -0
  1087. data/data/dojo-release-1.1.1-src/dojo/tests/date.js +712 -0
  1088. data/data/dojo-release-1.1.1-src/dojo/tests/dnd/dndDefault.css +69 -0
  1089. data/data/dojo-release-1.1.1-src/dojo/tests/dnd/flickr_viewer.html +168 -0
  1090. data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_box_constraints.html +61 -0
  1091. data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_container.html +74 -0
  1092. data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_container_markup.html +67 -0
  1093. data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_custom_constraints.html +51 -0
  1094. data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_dnd.html +130 -0
  1095. data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_dnd_handles.html +65 -0
  1096. data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_form.html +103 -0
  1097. data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_moveable.html +106 -0
  1098. data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_moveable_markup.html +83 -0
  1099. data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_params.html +61 -0
  1100. data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_parent_constraints.html +53 -0
  1101. data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_parent_constraints_margins.html +51 -0
  1102. data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_selector.html +80 -0
  1103. data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_selector_markup.html +71 -0
  1104. data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_timed_moveable.html +112 -0
  1105. data/data/dojo-release-1.1.1-src/dojo/tests/fx.html +310 -0
  1106. data/data/dojo-release-1.1.1-src/dojo/tests/fx.js +5 -0
  1107. data/data/dojo-release-1.1.1-src/dojo/tests/i18n.js +84 -0
  1108. data/data/dojo-release-1.1.1-src/dojo/tests/io/iframe.html +124 -0
  1109. data/data/dojo-release-1.1.1-src/dojo/tests/io/iframe.js +4 -0
  1110. data/data/dojo-release-1.1.1-src/dojo/tests/io/iframeResponse.html +8 -0
  1111. data/data/dojo-release-1.1.1-src/dojo/tests/io/iframeResponse.js.html +7 -0
  1112. data/data/dojo-release-1.1.1-src/dojo/tests/io/iframeResponse.json.html +7 -0
  1113. data/data/dojo-release-1.1.1-src/dojo/tests/io/iframeResponse.text.html +7 -0
  1114. data/data/dojo-release-1.1.1-src/dojo/tests/io/iframeUploadTest.html +50 -0
  1115. data/data/dojo-release-1.1.1-src/dojo/tests/io/script.html +101 -0
  1116. data/data/dojo-release-1.1.1-src/dojo/tests/io/script.js +4 -0
  1117. data/data/dojo-release-1.1.1-src/dojo/tests/io/scriptJsonp.js +57 -0
  1118. data/data/dojo-release-1.1.1-src/dojo/tests/io/scriptSimple.js +5 -0
  1119. data/data/dojo-release-1.1.1-src/dojo/tests/io/scriptTimeout.html +67 -0
  1120. data/data/dojo-release-1.1.1-src/dojo/tests/io/upload.cgi +60 -0
  1121. data/data/dojo-release-1.1.1-src/dojo/tests/manualTests.html +12 -0
  1122. data/data/dojo-release-1.1.1-src/dojo/tests/manualTests.js +41 -0
  1123. data/data/dojo-release-1.1.1-src/dojo/tests/module.js +25 -0
  1124. data/data/dojo-release-1.1.1-src/dojo/tests/nls/ar/salutations.js +8 -0
  1125. data/data/dojo-release-1.1.1-src/dojo/tests/nls/cs/salutations.js +4 -0
  1126. data/data/dojo-release-1.1.1-src/dojo/tests/nls/de/salutations.js +4 -0
  1127. data/data/dojo-release-1.1.1-src/dojo/tests/nls/el/salutations.js +4 -0
  1128. data/data/dojo-release-1.1.1-src/dojo/tests/nls/en-au/salutations.js +3 -0
  1129. data/data/dojo-release-1.1.1-src/dojo/tests/nls/en-us-hawaii/salutations.js +3 -0
  1130. data/data/dojo-release-1.1.1-src/dojo/tests/nls/en-us-new_york-brooklyn/salutations.js +3 -0
  1131. data/data/dojo-release-1.1.1-src/dojo/tests/nls/en-us-texas/salutations.js +3 -0
  1132. data/data/dojo-release-1.1.1-src/dojo/tests/nls/es/salutations.js +5 -0
  1133. data/data/dojo-release-1.1.1-src/dojo/tests/nls/fa/salutations.js +4 -0
  1134. data/data/dojo-release-1.1.1-src/dojo/tests/nls/fr/salutations.js +4 -0
  1135. data/data/dojo-release-1.1.1-src/dojo/tests/nls/he/salutations.js +4 -0
  1136. data/data/dojo-release-1.1.1-src/dojo/tests/nls/hi/salutations.js +4 -0
  1137. data/data/dojo-release-1.1.1-src/dojo/tests/nls/it/salutations.js +4 -0
  1138. data/data/dojo-release-1.1.1-src/dojo/tests/nls/ja/salutations.js +4 -0
  1139. data/data/dojo-release-1.1.1-src/dojo/tests/nls/ko/salutations.js +4 -0
  1140. data/data/dojo-release-1.1.1-src/dojo/tests/nls/pl/salutations.js +4 -0
  1141. data/data/dojo-release-1.1.1-src/dojo/tests/nls/pt/salutations.js +4 -0
  1142. data/data/dojo-release-1.1.1-src/dojo/tests/nls/ru/salutations.js +4 -0
  1143. data/data/dojo-release-1.1.1-src/dojo/tests/nls/salutations.js +32 -0
  1144. data/data/dojo-release-1.1.1-src/dojo/tests/nls/sw/salutations.js +3 -0
  1145. data/data/dojo-release-1.1.1-src/dojo/tests/nls/th/salutations.js +4 -0
  1146. data/data/dojo-release-1.1.1-src/dojo/tests/nls/tr/salutations.js +4 -0
  1147. data/data/dojo-release-1.1.1-src/dojo/tests/nls/yi/salutations.js +4 -0
  1148. data/data/dojo-release-1.1.1-src/dojo/tests/nls/zh-cn/salutations.js +4 -0
  1149. data/data/dojo-release-1.1.1-src/dojo/tests/nls/zh-tw/salutations.js +4 -0
  1150. data/data/dojo-release-1.1.1-src/dojo/tests/number.js +962 -0
  1151. data/data/dojo-release-1.1.1-src/dojo/tests/parser.html +241 -0
  1152. data/data/dojo-release-1.1.1-src/dojo/tests/parser.js +4 -0
  1153. data/data/dojo-release-1.1.1-src/dojo/tests/resources/ApplicationState.js +28 -0
  1154. data/data/dojo-release-1.1.1-src/dojo/tests/resources/JSON.php +724 -0
  1155. data/data/dojo-release-1.1.1-src/dojo/tests/resources/testClass.php +20 -0
  1156. data/data/dojo-release-1.1.1-src/dojo/tests/resources/testClass.smd +40 -0
  1157. data/data/dojo-release-1.1.1-src/dojo/tests/resources/test_JsonRPCMediator.php +43 -0
  1158. data/data/dojo-release-1.1.1-src/dojo/tests/resources/test_css.html +100 -0
  1159. data/data/dojo-release-1.1.1-src/dojo/tests/resources/yahoo_smd_v1.smd +268 -0
  1160. data/data/dojo-release-1.1.1-src/dojo/tests/rpc.js +147 -0
  1161. data/data/dojo-release-1.1.1-src/dojo/tests/runTests.html +9 -0
  1162. data/data/dojo-release-1.1.1-src/dojo/tests/string.js +27 -0
  1163. data/data/dojo-release-1.1.1-src/dojo/tests/test_FirebugLite.html +100 -0
  1164. data/data/dojo-release-1.1.1-src/dojo/tests/test_FirebugLitePopup.html +101 -0
  1165. data/data/dojo-release-1.1.1-src/dojo/tests/test_fx.html +107 -0
  1166. data/data/dojo-release-1.1.1-src/dojo/tests.js +12 -0
  1167. data/data/dojo-release-1.1.1-src/dojox/LICENSE +195 -0
  1168. data/data/dojo-release-1.1.1-src/dojox/_sql/LICENSE +9 -0
  1169. data/data/dojo-release-1.1.1-src/dojox/_sql/_crypto.js +439 -0
  1170. data/data/dojo-release-1.1.1-src/dojox/_sql/common.js +534 -0
  1171. data/data/dojo-release-1.1.1-src/dojox/_sql/demos/customers/customers.html +292 -0
  1172. data/data/dojo-release-1.1.1-src/dojox/analytics/README +134 -0
  1173. data/data/dojo-release-1.1.1-src/dojox/analytics/_base.js +123 -0
  1174. data/data/dojo-release-1.1.1-src/dojox/analytics/logger/JSON.php +724 -0
  1175. data/data/dojo-release-1.1.1-src/dojox/analytics/logger/dojoxAnalytics.php +31 -0
  1176. data/data/dojo-release-1.1.1-src/dojox/analytics/plugins/consoleMessages.js +20 -0
  1177. data/data/dojo-release-1.1.1-src/dojox/analytics/plugins/dojo.js +18 -0
  1178. data/data/dojo-release-1.1.1-src/dojox/analytics/plugins/idle.js +30 -0
  1179. data/data/dojo-release-1.1.1-src/dojox/analytics/plugins/mouseClick.js +45 -0
  1180. data/data/dojo-release-1.1.1-src/dojox/analytics/plugins/mouseOver.js +86 -0
  1181. data/data/dojo-release-1.1.1-src/dojox/analytics/plugins/window.js +30 -0
  1182. data/data/dojo-release-1.1.1-src/dojox/analytics/profiles/analytics.profile.js +21 -0
  1183. data/data/dojo-release-1.1.1-src/dojox/analytics/profiles/analyticsInBase.profile.js +22 -0
  1184. data/data/dojo-release-1.1.1-src/dojox/analytics/tests/test_analytics.html +93 -0
  1185. data/data/dojo-release-1.1.1-src/dojox/analytics.js +12 -0
  1186. data/data/dojo-release-1.1.1-src/dojox/av/README +40 -0
  1187. data/data/dojo-release-1.1.1-src/dojox/av/_base/_ieFlash.js +17 -0
  1188. data/data/dojo-release-1.1.1-src/dojox/av/_base/flash.js +182 -0
  1189. data/data/dojo-release-1.1.1-src/dojox/av/_base/quicktime.js +157 -0
  1190. data/data/dojo-release-1.1.1-src/dojox/av/_base.js +4 -0
  1191. data/data/dojo-release-1.1.1-src/dojox/av/resources/version.mov +0 -0
  1192. data/data/dojo-release-1.1.1-src/dojox/av/tests/flash.html +39 -0
  1193. data/data/dojo-release-1.1.1-src/dojox/av/tests/quicktime.html +24 -0
  1194. data/data/dojo-release-1.1.1-src/dojox/av/tests/resources/hfp.swf +0 -0
  1195. data/data/dojo-release-1.1.1-src/dojox/av.js +3 -0
  1196. data/data/dojo-release-1.1.1-src/dojox/charting/Chart2D.js +337 -0
  1197. data/data/dojo-release-1.1.1-src/dojox/charting/Chart3D.js +82 -0
  1198. data/data/dojo-release-1.1.1-src/dojox/charting/Element.js +45 -0
  1199. data/data/dojo-release-1.1.1-src/dojox/charting/README +31 -0
  1200. data/data/dojo-release-1.1.1-src/dojox/charting/Series.js +16 -0
  1201. data/data/dojo-release-1.1.1-src/dojox/charting/Theme.js +252 -0
  1202. data/data/dojo-release-1.1.1-src/dojox/charting/_color.js +58 -0
  1203. data/data/dojo-release-1.1.1-src/dojox/charting/axis2d/Base.js +27 -0
  1204. data/data/dojo-release-1.1.1-src/dojox/charting/axis2d/Default.js +319 -0
  1205. data/data/dojo-release-1.1.1-src/dojox/charting/axis2d/common.js +71 -0
  1206. data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/Areas.js +10 -0
  1207. data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/Bars.js +85 -0
  1208. data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/Base.js +56 -0
  1209. data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/ClusteredBars.js +59 -0
  1210. data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/ClusteredColumns.js +59 -0
  1211. data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/Columns.js +84 -0
  1212. data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/Default.js +169 -0
  1213. data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/Grid.js +112 -0
  1214. data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/Lines.js +9 -0
  1215. data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/Markers.js +9 -0
  1216. data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/MarkersOnly.js +10 -0
  1217. data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/Pie.js +195 -0
  1218. data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/Scatter.js +10 -0
  1219. data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/Stacked.js +156 -0
  1220. data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/StackedAreas.js +10 -0
  1221. data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/StackedBars.js +81 -0
  1222. data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/StackedColumns.js +79 -0
  1223. data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/StackedLines.js +9 -0
  1224. data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/common.js +109 -0
  1225. data/data/dojo-release-1.1.1-src/dojox/charting/plot3d/Bars.js +62 -0
  1226. data/data/dojo-release-1.1.1-src/dojox/charting/plot3d/Base.js +19 -0
  1227. data/data/dojo-release-1.1.1-src/dojox/charting/plot3d/Cylinders.js +65 -0
  1228. data/data/dojo-release-1.1.1-src/dojox/charting/scaler.js +157 -0
  1229. data/data/dojo-release-1.1.1-src/dojox/charting/tests/Theme.js +67 -0
  1230. data/data/dojo-release-1.1.1-src/dojox/charting/tests/_color.js +78 -0
  1231. data/data/dojo-release-1.1.1-src/dojox/charting/tests/charting.js +8 -0
  1232. data/data/dojo-release-1.1.1-src/dojox/charting/tests/data/goog_prices.csv +796 -0
  1233. data/data/dojo-release-1.1.1-src/dojox/charting/tests/data/msft_prices.csv +796 -0
  1234. data/data/dojo-release-1.1.1-src/dojox/charting/tests/data/yahoo_prices.csv +796 -0
  1235. data/data/dojo-release-1.1.1-src/dojox/charting/tests/runTests.html +9 -0
  1236. data/data/dojo-release-1.1.1-src/dojox/charting/tests/test_bars.html +65 -0
  1237. data/data/dojo-release-1.1.1-src/dojox/charting/tests/test_chart2d.html +353 -0
  1238. data/data/dojo-release-1.1.1-src/dojox/charting/tests/test_chart2d_updating.html +80 -0
  1239. data/data/dojo-release-1.1.1-src/dojox/charting/tests/test_cylinders.html +65 -0
  1240. data/data/dojo-release-1.1.1-src/dojox/charting/tests/test_labels2d.html +90 -0
  1241. data/data/dojo-release-1.1.1-src/dojox/charting/tests/test_pie2d.html +128 -0
  1242. data/data/dojo-release-1.1.1-src/dojox/charting/tests/test_scaler.html +97 -0
  1243. data/data/dojo-release-1.1.1-src/dojox/charting/tests/test_sparklines.html +180 -0
  1244. data/data/dojo-release-1.1.1-src/dojox/charting/tests/test_widget2d.html +98 -0
  1245. data/data/dojo-release-1.1.1-src/dojox/charting/themes/ET/greys.js +59 -0
  1246. data/data/dojo-release-1.1.1-src/dojox/charting/themes/GreySkies.js +7 -0
  1247. data/data/dojo-release-1.1.1-src/dojox/charting/themes/PlotKit/README +11 -0
  1248. data/data/dojo-release-1.1.1-src/dojox/charting/themes/PlotKit/blue.js +39 -0
  1249. data/data/dojo-release-1.1.1-src/dojox/charting/themes/PlotKit/cyan.js +39 -0
  1250. data/data/dojo-release-1.1.1-src/dojox/charting/themes/PlotKit/green.js +39 -0
  1251. data/data/dojo-release-1.1.1-src/dojox/charting/themes/PlotKit/orange.js +39 -0
  1252. data/data/dojo-release-1.1.1-src/dojox/charting/themes/PlotKit/purple.js +39 -0
  1253. data/data/dojo-release-1.1.1-src/dojox/charting/themes/PlotKit/red.js +39 -0
  1254. data/data/dojo-release-1.1.1-src/dojox/charting/widget/Chart2D.js +211 -0
  1255. data/data/dojo-release-1.1.1-src/dojox/collections/ArrayList.js +129 -0
  1256. data/data/dojo-release-1.1.1-src/dojox/collections/BinaryTree.js +207 -0
  1257. data/data/dojo-release-1.1.1-src/dojox/collections/Dictionary.js +112 -0
  1258. data/data/dojo-release-1.1.1-src/dojox/collections/Queue.js +70 -0
  1259. data/data/dojo-release-1.1.1-src/dojox/collections/README +39 -0
  1260. data/data/dojo-release-1.1.1-src/dojox/collections/Set.js +85 -0
  1261. data/data/dojo-release-1.1.1-src/dojox/collections/SortedList.js +194 -0
  1262. data/data/dojo-release-1.1.1-src/dojox/collections/Stack.js +68 -0
  1263. data/data/dojo-release-1.1.1-src/dojox/collections/_base.js +96 -0
  1264. data/data/dojo-release-1.1.1-src/dojox/collections/tests/ArrayList.js +79 -0
  1265. data/data/dojo-release-1.1.1-src/dojox/collections/tests/BinaryTree.js +79 -0
  1266. data/data/dojo-release-1.1.1-src/dojox/collections/tests/Dictionary.js +78 -0
  1267. data/data/dojo-release-1.1.1-src/dojox/collections/tests/Queue.js +45 -0
  1268. data/data/dojo-release-1.1.1-src/dojox/collections/tests/Set.js +31 -0
  1269. data/data/dojo-release-1.1.1-src/dojox/collections/tests/SortedList.js +164 -0
  1270. data/data/dojo-release-1.1.1-src/dojox/collections/tests/Stack.js +45 -0
  1271. data/data/dojo-release-1.1.1-src/dojox/collections/tests/_base.js +80 -0
  1272. data/data/dojo-release-1.1.1-src/dojox/collections/tests/collections.js +15 -0
  1273. data/data/dojo-release-1.1.1-src/dojox/collections/tests/runTests.html +9 -0
  1274. data/data/dojo-release-1.1.1-src/dojox/collections.js +2 -0
  1275. data/data/dojo-release-1.1.1-src/dojox/color/Colorspace.js +552 -0
  1276. data/data/dojo-release-1.1.1-src/dojox/color/Generator.js +257 -0
  1277. data/data/dojo-release-1.1.1-src/dojox/color/README +41 -0
  1278. data/data/dojo-release-1.1.1-src/dojox/color/_base.js +193 -0
  1279. data/data/dojo-release-1.1.1-src/dojox/color/tests/Generator.js +124 -0
  1280. data/data/dojo-release-1.1.1-src/dojox/color/tests/_base.js +78 -0
  1281. data/data/dojo-release-1.1.1-src/dojox/color/tests/color.js +10 -0
  1282. data/data/dojo-release-1.1.1-src/dojox/color/tests/runTests.html +9 -0
  1283. data/data/dojo-release-1.1.1-src/dojox/color.js +2 -0
  1284. data/data/dojo-release-1.1.1-src/dojox/cometd/README +29 -0
  1285. data/data/dojo-release-1.1.1-src/dojox/cometd/_base.js +946 -0
  1286. data/data/dojo-release-1.1.1-src/dojox/cometd/timestamp.js +5 -0
  1287. data/data/dojo-release-1.1.1-src/dojox/cometd/timesync.js +122 -0
  1288. data/data/dojo-release-1.1.1-src/dojox/cometd.js +3 -0
  1289. data/data/dojo-release-1.1.1-src/dojox/crypto/Blowfish.js +6 -0
  1290. data/data/dojo-release-1.1.1-src/dojox/crypto/MD5.js +6 -0
  1291. data/data/dojo-release-1.1.1-src/dojox/crypto/README +12 -0
  1292. data/data/dojo-release-1.1.1-src/dojox/crypto/_base.js +10 -0
  1293. data/data/dojo-release-1.1.1-src/dojox/crypto.js +2 -0
  1294. data/data/dojo-release-1.1.1-src/dojox/data/AtomReadStore.js +539 -0
  1295. data/data/dojo-release-1.1.1-src/dojox/data/CsvStore.js +557 -0
  1296. data/data/dojo-release-1.1.1-src/dojox/data/FlickrRestStore.js +467 -0
  1297. data/data/dojo-release-1.1.1-src/dojox/data/FlickrStore.js +253 -0
  1298. data/data/dojo-release-1.1.1-src/dojox/data/HtmlStore.js +527 -0
  1299. data/data/dojo-release-1.1.1-src/dojox/data/HtmlTableStore.js +465 -0
  1300. data/data/dojo-release-1.1.1-src/dojox/data/KeyValueStore.js +377 -0
  1301. data/data/dojo-release-1.1.1-src/dojox/data/OpmlStore.js +511 -0
  1302. data/data/dojo-release-1.1.1-src/dojox/data/PicasaStore.js +250 -0
  1303. data/data/dojo-release-1.1.1-src/dojox/data/QueryReadStore.js +509 -0
  1304. data/data/dojo-release-1.1.1-src/dojox/data/README +89 -0
  1305. data/data/dojo-release-1.1.1-src/dojox/data/SnapLogicStore.js +328 -0
  1306. data/data/dojo-release-1.1.1-src/dojox/data/XmlStore.js +1137 -0
  1307. data/data/dojo-release-1.1.1-src/dojox/data/demos/demo_DataDemoTable.html +130 -0
  1308. data/data/dojo-release-1.1.1-src/dojox/data/demos/demo_FlickrRestStore.html +275 -0
  1309. data/data/dojo-release-1.1.1-src/dojox/data/demos/demo_FlickrStore.html +199 -0
  1310. data/data/dojo-release-1.1.1-src/dojox/data/demos/demo_LazyLoad.html +66 -0
  1311. data/data/dojo-release-1.1.1-src/dojox/data/demos/demo_MultiStores.html +72 -0
  1312. data/data/dojo-release-1.1.1-src/dojox/data/demos/demo_PicasaStore.html +188 -0
  1313. data/data/dojo-release-1.1.1-src/dojox/data/demos/demo_QueryReadStore_ComboBox.html +56 -0
  1314. data/data/dojo-release-1.1.1-src/dojox/data/demos/demo_QueryReadStore_FilteringSelect.html +56 -0
  1315. data/data/dojo-release-1.1.1-src/dojox/data/demos/demo_QueryReadStore_grid.html +129 -0
  1316. data/data/dojo-release-1.1.1-src/dojox/data/demos/flickrDemo.css +35 -0
  1317. data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Argentina/data.json +5 -0
  1318. data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Brazil/data.json +5 -0
  1319. data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Canada/Ottawa/data.json +6 -0
  1320. data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Canada/Toronto/data.json +6 -0
  1321. data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Canada/data.json +10 -0
  1322. data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/China/data.json +4 -0
  1323. data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Commonwealth of Australia/data.json +5 -0
  1324. data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Egypt/data.json +5 -0
  1325. data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/France/data.json +4 -0
  1326. data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Germany/data.json +4 -0
  1327. data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/India/data.json +4 -0
  1328. data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Italy/data.json +4 -0
  1329. data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Kenya/Mombasa/data.json +5 -0
  1330. data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Kenya/Nairobi/data.json +5 -0
  1331. data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Kenya/data.json +9 -0
  1332. data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Mexico/Guadalajara/data.json +7 -0
  1333. data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Mexico/Mexico City/data.json +6 -0
  1334. data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Mexico/data.json +10 -0
  1335. data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Mongolia/data.json +4 -0
  1336. data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Russia/data.json +4 -0
  1337. data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Spain/data.json +4 -0
  1338. data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Sudan/Khartoum/data.json +5 -0
  1339. data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Sudan/data.json +6 -0
  1340. data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/United States of America/data.json +4 -0
  1341. data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/root.json +39 -0
  1342. data/data/dojo-release-1.1.1-src/dojox/data/demos/geography.json +45 -0
  1343. data/data/dojo-release-1.1.1-src/dojox/data/demos/geography.xml +51 -0
  1344. data/data/dojo-release-1.1.1-src/dojox/data/demos/picasaDemo.css +44 -0
  1345. data/data/dojo-release-1.1.1-src/dojox/data/demos/stores/LazyLoadJSIStore.js +138 -0
  1346. data/data/dojo-release-1.1.1-src/dojox/data/demos/widgets/FlickrView.js +32 -0
  1347. data/data/dojo-release-1.1.1-src/dojox/data/demos/widgets/FlickrViewList.js +33 -0
  1348. data/data/dojo-release-1.1.1-src/dojox/data/demos/widgets/PicasaView.js +33 -0
  1349. data/data/dojo-release-1.1.1-src/dojox/data/demos/widgets/PicasaViewList.js +33 -0
  1350. data/data/dojo-release-1.1.1-src/dojox/data/demos/widgets/templates/FlickrView.html +34 -0
  1351. data/data/dojo-release-1.1.1-src/dojox/data/demos/widgets/templates/FlickrViewList.html +2 -0
  1352. data/data/dojo-release-1.1.1-src/dojox/data/demos/widgets/templates/PicasaView.html +35 -0
  1353. data/data/dojo-release-1.1.1-src/dojox/data/demos/widgets/templates/PicasaViewList.html +2 -0
  1354. data/data/dojo-release-1.1.1-src/dojox/data/dom.js +183 -0
  1355. data/data/dojo-release-1.1.1-src/dojox/data/jsonPathStore.js +1187 -0
  1356. data/data/dojo-release-1.1.1-src/dojox/data/tests/QueryReadStore.html +220 -0
  1357. data/data/dojo-release-1.1.1-src/dojox/data/tests/dom.js +129 -0
  1358. data/data/dojo-release-1.1.1-src/dojox/data/tests/ml/divList.html +14 -0
  1359. data/data/dojo-release-1.1.1-src/dojox/data/tests/ml/orderedList.html +16 -0
  1360. data/data/dojo-release-1.1.1-src/dojox/data/tests/ml/table.html +46 -0
  1361. data/data/dojo-release-1.1.1-src/dojox/data/tests/ml/test_HtmlStore_declaratively.html +172 -0
  1362. data/data/dojo-release-1.1.1-src/dojox/data/tests/ml/test_HtmlStore_remote.html +115 -0
  1363. data/data/dojo-release-1.1.1-src/dojox/data/tests/ml/test_HtmlTableStore_declaratively.html +120 -0
  1364. data/data/dojo-release-1.1.1-src/dojox/data/tests/ml/unorderedList.html +17 -0
  1365. data/data/dojo-release-1.1.1-src/dojox/data/tests/module.js +26 -0
  1366. data/data/dojo-release-1.1.1-src/dojox/data/tests/runTests.html +9 -0
  1367. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/AtomReadStore.js +637 -0
  1368. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/CsvStore.js +1123 -0
  1369. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/FlickrRestStore.js +472 -0
  1370. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/FlickrStore.js +406 -0
  1371. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/HtmlStore.js +800 -0
  1372. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/HtmlTableStore.js +698 -0
  1373. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/KeyValueStore.js +998 -0
  1374. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/OpmlStore.js +1071 -0
  1375. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/QueryReadStore.js +438 -0
  1376. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/QueryReadStore.php +114 -0
  1377. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/SnapLogicStore.js +434 -0
  1378. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/XmlStore.js +877 -0
  1379. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/atom1.xml +848 -0
  1380. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/books.html +118 -0
  1381. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/books.xml +103 -0
  1382. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/books2.html +43 -0
  1383. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/books2.xml +28 -0
  1384. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/books3.html +14 -0
  1385. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/books3.xml +31 -0
  1386. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/books_isbnAttr.xml +23 -0
  1387. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/books_isbnAttr2.xml +23 -0
  1388. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/geography.xml +51 -0
  1389. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/geography_withspeciallabel.xml +51 -0
  1390. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/jsonPathStore.js +600 -0
  1391. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/movies.csv +9 -0
  1392. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/movies2.csv +9 -0
  1393. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/patterns.csv +11 -0
  1394. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/properties.js +10 -0
  1395. data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/snap_pipeline.php +72 -0
  1396. data/data/dojo-release-1.1.1-src/dojox/data/tests/test_Tree_vs_jsonPathStore.html +105 -0
  1397. data/data/dojo-release-1.1.1-src/dojox/data/tests/treeTest.json +10 -0
  1398. data/data/dojo-release-1.1.1-src/dojox/date/README +36 -0
  1399. data/data/dojo-release-1.1.1-src/dojox/date/php.js +308 -0
  1400. data/data/dojo-release-1.1.1-src/dojox/date/posix.js +289 -0
  1401. data/data/dojo-release-1.1.1-src/dojox/date/tests/module.js +8 -0
  1402. data/data/dojo-release-1.1.1-src/dojox/date/tests/posix.js +232 -0
  1403. data/data/dojo-release-1.1.1-src/dojox/date/tests/runTests.html +9 -0
  1404. data/data/dojo-release-1.1.1-src/dojox/dtl/Context.js +83 -0
  1405. data/data/dojo-release-1.1.1-src/dojox/dtl/README +207 -0
  1406. data/data/dojo-release-1.1.1-src/dojox/dtl/_HtmlTemplated.js +68 -0
  1407. data/data/dojo-release-1.1.1-src/dojox/dtl/_Templated.js +89 -0
  1408. data/data/dojo-release-1.1.1-src/dojox/dtl/_base.js +566 -0
  1409. data/data/dojo-release-1.1.1-src/dojox/dtl/contrib/data.js +85 -0
  1410. data/data/dojo-release-1.1.1-src/dojox/dtl/contrib/dijit.js +216 -0
  1411. data/data/dojo-release-1.1.1-src/dojox/dtl/contrib/html.js +103 -0
  1412. data/data/dojo-release-1.1.1-src/dojox/dtl/contrib/objects.js +11 -0
  1413. data/data/dojo-release-1.1.1-src/dojox/dtl/demos/demo_Animation.html +45 -0
  1414. data/data/dojo-release-1.1.1-src/dojox/dtl/demos/demo_Blog.html +96 -0
  1415. data/data/dojo-release-1.1.1-src/dojox/dtl/demos/demo_Data.html +58 -0
  1416. data/data/dojo-release-1.1.1-src/dojox/dtl/demos/demo_Dijitless.html +50 -0
  1417. data/data/dojo-release-1.1.1-src/dojox/dtl/demos/demo_Events.html +46 -0
  1418. data/data/dojo-release-1.1.1-src/dojox/dtl/demos/demo_HtmlTemplated.html +40 -0
  1419. data/data/dojo-release-1.1.1-src/dojox/dtl/demos/demo_Inline.html +48 -0
  1420. data/data/dojo-release-1.1.1-src/dojox/dtl/demos/demo_NodeList.html +37 -0
  1421. data/data/dojo-release-1.1.1-src/dojox/dtl/demos/demo_Table.html +4072 -0
  1422. data/data/dojo-release-1.1.1-src/dojox/dtl/demos/demo_Templated.html +36 -0
  1423. data/data/dojo-release-1.1.1-src/dojox/dtl/demos/demo_Tree.html +33 -0
  1424. data/data/dojo-release-1.1.1-src/dojox/dtl/demos/json/blog/get_blog_1.json +1 -0
  1425. data/data/dojo-release-1.1.1-src/dojox/dtl/demos/json/blog/get_blog_3.json +1 -0
  1426. data/data/dojo-release-1.1.1-src/dojox/dtl/demos/json/blog/get_blog_list.json +1 -0
  1427. data/data/dojo-release-1.1.1-src/dojox/dtl/demos/json/blog/get_page_about.json +1 -0
  1428. data/data/dojo-release-1.1.1-src/dojox/dtl/demos/json/fruit.json +1 -0
  1429. data/data/dojo-release-1.1.1-src/dojox/dtl/demos/json/morefruit.json +1 -0
  1430. data/data/dojo-release-1.1.1-src/dojox/dtl/demos/templates/animation.html +5 -0
  1431. data/data/dojo-release-1.1.1-src/dojox/dtl/demos/templates/blog_base.html +8 -0
  1432. data/data/dojo-release-1.1.1-src/dojox/dtl/demos/templates/blog_detail.html +10 -0
  1433. data/data/dojo-release-1.1.1-src/dojox/dtl/demos/templates/blog_list.html +9 -0
  1434. data/data/dojo-release-1.1.1-src/dojox/dtl/demos/templates/blog_page.html +7 -0
  1435. data/data/dojo-release-1.1.1-src/dojox/dtl/demos/templates/countrychildren.html +1 -0
  1436. data/data/dojo-release-1.1.1-src/dojox/dtl/demos/templates/gallery.html +16 -0
  1437. data/data/dojo-release-1.1.1-src/dojox/dtl/demos/templates/nodelist.html +5 -0
  1438. data/data/dojo-release-1.1.1-src/dojox/dtl/ext-dojo/NodeList.js +29 -0
  1439. data/data/dojo-release-1.1.1-src/dojox/dtl/filter/dates.js +50 -0
  1440. data/data/dojo-release-1.1.1-src/dojox/dtl/filter/htmlstrings.js +55 -0
  1441. data/data/dojo-release-1.1.1-src/dojox/dtl/filter/integers.js +28 -0
  1442. data/data/dojo-release-1.1.1-src/dojox/dtl/filter/lists.js +133 -0
  1443. data/data/dojo-release-1.1.1-src/dojox/dtl/filter/logic.js +30 -0
  1444. data/data/dojo-release-1.1.1-src/dojox/dtl/filter/misc.js +55 -0
  1445. data/data/dojo-release-1.1.1-src/dojox/dtl/filter/strings.js +323 -0
  1446. data/data/dojo-release-1.1.1-src/dojox/dtl/html.js +814 -0
  1447. data/data/dojo-release-1.1.1-src/dojox/dtl/render/html.js +72 -0
  1448. data/data/dojo-release-1.1.1-src/dojox/dtl/tag/date.js +25 -0
  1449. data/data/dojo-release-1.1.1-src/dojox/dtl/tag/loader.js +273 -0
  1450. data/data/dojo-release-1.1.1-src/dojox/dtl/tag/logic.js +268 -0
  1451. data/data/dojo-release-1.1.1-src/dojox/dtl/tag/loop.js +192 -0
  1452. data/data/dojo-release-1.1.1-src/dojox/dtl/tag/misc.js +287 -0
  1453. data/data/dojo-release-1.1.1-src/dojox/dtl/tests/context.js +75 -0
  1454. data/data/dojo-release-1.1.1-src/dojox/dtl/tests/demo_Templated_Jaxer.html +87 -0
  1455. data/data/dojo-release-1.1.1-src/dojox/dtl/tests/html/buffer.js +31 -0
  1456. data/data/dojo-release-1.1.1-src/dojox/dtl/tests/html/tag.js +229 -0
  1457. data/data/dojo-release-1.1.1-src/dojox/dtl/tests/html/util.js +156 -0
  1458. data/data/dojo-release-1.1.1-src/dojox/dtl/tests/module.js +11 -0
  1459. data/data/dojo-release-1.1.1-src/dojox/dtl/tests/runTests.html +9 -0
  1460. data/data/dojo-release-1.1.1-src/dojox/dtl/tests/templates/hello.html +1 -0
  1461. data/data/dojo-release-1.1.1-src/dojox/dtl/tests/templates/pocket.html +1 -0
  1462. data/data/dojo-release-1.1.1-src/dojox/dtl/tests/templates/pocket2.html +1 -0
  1463. data/data/dojo-release-1.1.1-src/dojox/dtl/tests/text/filter.js +736 -0
  1464. data/data/dojo-release-1.1.1-src/dojox/dtl/tests/text/load.js +2 -0
  1465. data/data/dojo-release-1.1.1-src/dojox/dtl/tests/text/tag.js +476 -0
  1466. data/data/dojo-release-1.1.1-src/dojox/dtl/utils/date.js +68 -0
  1467. data/data/dojo-release-1.1.1-src/dojox/dtl.js +2 -0
  1468. data/data/dojo-release-1.1.1-src/dojox/encoding/LICENSE +9 -0
  1469. data/data/dojo-release-1.1.1-src/dojox/encoding/README +35 -0
  1470. data/data/dojo-release-1.1.1-src/dojox/encoding/_base.js +3 -0
  1471. data/data/dojo-release-1.1.1-src/dojox/encoding/ascii85.js +59 -0
  1472. data/data/dojo-release-1.1.1-src/dojox/encoding/base64.js +62 -0
  1473. data/data/dojo-release-1.1.1-src/dojox/encoding/bits.js +64 -0
  1474. data/data/dojo-release-1.1.1-src/dojox/encoding/compression/lzw.js +87 -0
  1475. data/data/dojo-release-1.1.1-src/dojox/encoding/compression/splay.js +60 -0
  1476. data/data/dojo-release-1.1.1-src/dojox/encoding/crypto/Blowfish.js +477 -0
  1477. data/data/dojo-release-1.1.1-src/dojox/encoding/crypto/_base.js +15 -0
  1478. data/data/dojo-release-1.1.1-src/dojox/encoding/digests/MD5.js +173 -0
  1479. data/data/dojo-release-1.1.1-src/dojox/encoding/digests/_base.js +74 -0
  1480. data/data/dojo-release-1.1.1-src/dojox/encoding/easy64.js +46 -0
  1481. data/data/dojo-release-1.1.1-src/dojox/encoding/tests/ascii85.js +31 -0
  1482. data/data/dojo-release-1.1.1-src/dojox/encoding/tests/bits.js +70 -0
  1483. data/data/dojo-release-1.1.1-src/dojox/encoding/tests/compression/_base.js +8 -0
  1484. data/data/dojo-release-1.1.1-src/dojox/encoding/tests/compression/colors.js +152 -0
  1485. data/data/dojo-release-1.1.1-src/dojox/encoding/tests/compression/colors2.html +104 -0
  1486. data/data/dojo-release-1.1.1-src/dojox/encoding/tests/compression/colors2.js +60 -0
  1487. data/data/dojo-release-1.1.1-src/dojox/encoding/tests/compression/colors3.html +104 -0
  1488. data/data/dojo-release-1.1.1-src/dojox/encoding/tests/compression/colors3.js +49 -0
  1489. data/data/dojo-release-1.1.1-src/dojox/encoding/tests/compression/lzw.js +50 -0
  1490. data/data/dojo-release-1.1.1-src/dojox/encoding/tests/compression/runTests.html +9 -0
  1491. data/data/dojo-release-1.1.1-src/dojox/encoding/tests/compression/splay.js +45 -0
  1492. data/data/dojo-release-1.1.1-src/dojox/encoding/tests/compression/test.html +61 -0
  1493. data/data/dojo-release-1.1.1-src/dojox/encoding/tests/compression/vq.html +185 -0
  1494. data/data/dojo-release-1.1.1-src/dojox/encoding/tests/crypto/Blowfish.js +31 -0
  1495. data/data/dojo-release-1.1.1-src/dojox/encoding/tests/crypto/_base.js +8 -0
  1496. data/data/dojo-release-1.1.1-src/dojox/encoding/tests/crypto/runTests.html +9 -0
  1497. data/data/dojo-release-1.1.1-src/dojox/encoding/tests/digests/MD5.js +22 -0
  1498. data/data/dojo-release-1.1.1-src/dojox/encoding/tests/digests/_base.js +8 -0
  1499. data/data/dojo-release-1.1.1-src/dojox/encoding/tests/digests/runTests.html +9 -0
  1500. data/data/dojo-release-1.1.1-src/dojox/encoding/tests/easy64.js +31 -0
  1501. data/data/dojo-release-1.1.1-src/dojox/encoding/tests/encoding.js +9 -0
  1502. data/data/dojo-release-1.1.1-src/dojox/encoding/tests/runTests.html +9 -0
  1503. data/data/dojo-release-1.1.1-src/dojox/flash/DojoExternalInterface.as +168 -0
  1504. data/data/dojo-release-1.1.1-src/dojox/flash/ExpressInstall.as +71 -0
  1505. data/data/dojo-release-1.1.1-src/dojox/flash/README +31 -0
  1506. data/data/dojo-release-1.1.1-src/dojox/flash/_base.js +758 -0
  1507. data/data/dojo-release-1.1.1-src/dojox/flash/tests/TestFlash.as +36 -0
  1508. data/data/dojo-release-1.1.1-src/dojox/flash/tests/TestFlash.swf +0 -0
  1509. data/data/dojo-release-1.1.1-src/dojox/flash/tests/buildFlashTest.sh +4 -0
  1510. data/data/dojo-release-1.1.1-src/dojox/flash/tests/test_flash.html +15 -0
  1511. data/data/dojo-release-1.1.1-src/dojox/flash/tests/test_flash.js +155 -0
  1512. data/data/dojo-release-1.1.1-src/dojox/flash.js +2 -0
  1513. data/data/dojo-release-1.1.1-src/dojox/form/CheckedMultiSelect.js +219 -0
  1514. data/data/dojo-release-1.1.1-src/dojox/form/DropDownSelect.js +263 -0
  1515. data/data/dojo-release-1.1.1-src/dojox/form/PasswordValidator.js +276 -0
  1516. data/data/dojo-release-1.1.1-src/dojox/form/README +39 -0
  1517. data/data/dojo-release-1.1.1-src/dojox/form/nls/PasswordValidator.js +4 -0
  1518. data/data/dojo-release-1.1.1-src/dojox/form/resources/CheckedMultiSelect.css +99 -0
  1519. data/data/dojo-release-1.1.1-src/dojox/form/resources/CheckedMultiSelect.html +4 -0
  1520. data/data/dojo-release-1.1.1-src/dojox/form/resources/DropDownSelect.css +209 -0
  1521. data/data/dojo-release-1.1.1-src/dojox/form/resources/PasswordValidator.html +3 -0
  1522. data/data/dojo-release-1.1.1-src/dojox/form/resources/_CheckedMultiSelectItem.html +4 -0
  1523. data/data/dojo-release-1.1.1-src/dojox/form/tests/test_CheckedMultiSelect.html +91 -0
  1524. data/data/dojo-release-1.1.1-src/dojox/form/tests/test_DropDownSelect.html +128 -0
  1525. data/data/dojo-release-1.1.1-src/dojox/form/tests/test_PasswordValidator.html +216 -0
  1526. data/data/dojo-release-1.1.1-src/dojox/fx/README +77 -0
  1527. data/data/dojo-release-1.1.1-src/dojox/fx/Shadow.js +147 -0
  1528. data/data/dojo-release-1.1.1-src/dojox/fx/_arg.js +23 -0
  1529. data/data/dojo-release-1.1.1-src/dojox/fx/_base.js +236 -0
  1530. data/data/dojo-release-1.1.1-src/dojox/fx/_core.js +56 -0
  1531. data/data/dojo-release-1.1.1-src/dojox/fx/easing.js +219 -0
  1532. data/data/dojo-release-1.1.1-src/dojox/fx/ext-dojo/NodeList.js +62 -0
  1533. data/data/dojo-release-1.1.1-src/dojox/fx/resources/shadowB.png +0 -0
  1534. data/data/dojo-release-1.1.1-src/dojox/fx/resources/shadowBL.png +0 -0
  1535. data/data/dojo-release-1.1.1-src/dojox/fx/resources/shadowBR.png +0 -0
  1536. data/data/dojo-release-1.1.1-src/dojox/fx/resources/shadowL.png +0 -0
  1537. data/data/dojo-release-1.1.1-src/dojox/fx/resources/shadowR.png +0 -0
  1538. data/data/dojo-release-1.1.1-src/dojox/fx/resources/shadowT.png +0 -0
  1539. data/data/dojo-release-1.1.1-src/dojox/fx/resources/shadowTL.png +0 -0
  1540. data/data/dojo-release-1.1.1-src/dojox/fx/resources/shadowTR.png +0 -0
  1541. data/data/dojo-release-1.1.1-src/dojox/fx/scroll.js +36 -0
  1542. data/data/dojo-release-1.1.1-src/dojox/fx/style.js +215 -0
  1543. data/data/dojo-release-1.1.1-src/dojox/fx/tests/_animation.css +113 -0
  1544. data/data/dojo-release-1.1.1-src/dojox/fx/tests/example_Line.html +80 -0
  1545. data/data/dojo-release-1.1.1-src/dojox/fx/tests/example_backgroundPosition.html +59 -0
  1546. data/data/dojo-release-1.1.1-src/dojox/fx/tests/example_dojoAnimations.html +442 -0
  1547. data/data/dojo-release-1.1.1-src/dojox/fx/tests/example_easingChart2D.html +147 -0
  1548. data/data/dojo-release-1.1.1-src/dojox/fx/tests/images/averycutedog.jpg +0 -0
  1549. data/data/dojo-release-1.1.1-src/dojox/fx/tests/images/dot.png +0 -0
  1550. data/data/dojo-release-1.1.1-src/dojox/fx/tests/images/longBg.png +0 -0
  1551. data/data/dojo-release-1.1.1-src/dojox/fx/tests/test_Nodelist-fx.html +282 -0
  1552. data/data/dojo-release-1.1.1-src/dojox/fx/tests/test_Shadow.html +93 -0
  1553. data/data/dojo-release-1.1.1-src/dojox/fx/tests/test_animateClass.html +222 -0
  1554. data/data/dojo-release-1.1.1-src/dojox/fx/tests/test_crossFade.html +145 -0
  1555. data/data/dojo-release-1.1.1-src/dojox/fx/tests/test_easing.html +142 -0
  1556. data/data/dojo-release-1.1.1-src/dojox/fx/tests/test_highlight.html +45 -0
  1557. data/data/dojo-release-1.1.1-src/dojox/fx/tests/test_scroll.html +98 -0
  1558. data/data/dojo-release-1.1.1-src/dojox/fx/tests/test_sizeTo.html +142 -0
  1559. data/data/dojo-release-1.1.1-src/dojox/fx/tests/test_slideBy.html +75 -0
  1560. data/data/dojo-release-1.1.1-src/dojox/fx/tests/test_wipeTo.html +109 -0
  1561. data/data/dojo-release-1.1.1-src/dojox/fx.js +3 -0
  1562. data/data/dojo-release-1.1.1-src/dojox/gfx/Moveable.js +97 -0
  1563. data/data/dojo-release-1.1.1-src/dojox/gfx/Mover.js +58 -0
  1564. data/data/dojo-release-1.1.1-src/dojox/gfx/README +102 -0
  1565. data/data/dojo-release-1.1.1-src/dojox/gfx/_base.js +284 -0
  1566. data/data/dojo-release-1.1.1-src/dojox/gfx/arc.js +118 -0
  1567. data/data/dojo-release-1.1.1-src/dojox/gfx/attach.js +7 -0
  1568. data/data/dojo-release-1.1.1-src/dojox/gfx/canvas.js +683 -0
  1569. data/data/dojo-release-1.1.1-src/dojox/gfx/canvas_attach.js +8 -0
  1570. data/data/dojo-release-1.1.1-src/dojox/gfx/decompose.js +135 -0
  1571. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/beautify.html +48 -0
  1572. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/butterfly.html +88 -0
  1573. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/career_test.html +467 -0
  1574. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/circles.html +90 -0
  1575. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/clock.html +253 -0
  1576. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/clockWidget.html +332 -0
  1577. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/clock_black.html +253 -0
  1578. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/creator.html +123 -0
  1579. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/Lars.json +1823 -0
  1580. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/Lars.svg +531 -0
  1581. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/LarsDreaming.json +1823 -0
  1582. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/LarsDreaming.svg +536 -0
  1583. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/Nils.json +717 -0
  1584. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/Nils.svg +188 -0
  1585. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/buratino-bg.png +0 -0
  1586. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/buratino-head.png +0 -0
  1587. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/buratino-left-arm.png +0 -0
  1588. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/buratino-left-leg.png +0 -0
  1589. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/buratino-lollipop.png +0 -0
  1590. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/buratino-nose-large.png +0 -0
  1591. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/buratino-nose-medium.png +0 -0
  1592. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/buratino-right-arm.png +0 -0
  1593. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/buratino-right-leg.png +0 -0
  1594. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/buratino-torso.png +0 -0
  1595. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/buratino.jpg +0 -0
  1596. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/buratino.json +12 -0
  1597. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/svg2gfx.xsl +72 -0
  1598. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/transform.json +1567 -0
  1599. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/images/clock_face.jpg +0 -0
  1600. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/images/clock_face_black.jpg +0 -0
  1601. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/inspector.html +165 -0
  1602. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/lion.html +235 -0
  1603. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/roundedPane.html +191 -0
  1604. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/tiger.html +566 -0
  1605. data/data/dojo-release-1.1.1-src/dojox/gfx/demos/tooltip.html +238 -0
  1606. data/data/dojo-release-1.1.1-src/dojox/gfx/fx.js +277 -0
  1607. data/data/dojo-release-1.1.1-src/dojox/gfx/matrix.js +440 -0
  1608. data/data/dojo-release-1.1.1-src/dojox/gfx/move.js +4 -0
  1609. data/data/dojo-release-1.1.1-src/dojox/gfx/path.js +357 -0
  1610. data/data/dojo-release-1.1.1-src/dojox/gfx/shape.js +687 -0
  1611. data/data/dojo-release-1.1.1-src/dojox/gfx/silverlight.js +689 -0
  1612. data/data/dojo-release-1.1.1-src/dojox/gfx/silverlight_attach.js +87 -0
  1613. data/data/dojo-release-1.1.1-src/dojox/gfx/svg.js +634 -0
  1614. data/data/dojo-release-1.1.1-src/dojox/gfx/svg_attach.js +224 -0
  1615. data/data/dojo-release-1.1.1-src/dojox/gfx/tests/decompose.js +110 -0
  1616. data/data/dojo-release-1.1.1-src/dojox/gfx/tests/matrix.js +224 -0
  1617. data/data/dojo-release-1.1.1-src/dojox/gfx/tests/module.js +9 -0
  1618. data/data/dojo-release-1.1.1-src/dojox/gfx/tests/runTests.html +9 -0
  1619. data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_arc.html +71 -0
  1620. data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_bezier.html +85 -0
  1621. data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_decompose.html +54 -0
  1622. data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_fill.html +47 -0
  1623. data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_fx.html +113 -0
  1624. data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_gfx.html +489 -0
  1625. data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_gradient.html +70 -0
  1626. data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_group.html +73 -0
  1627. data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_image1.html +74 -0
  1628. data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_image2.html +50 -0
  1629. data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_linearGradient.html +80 -0
  1630. data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_linestyle.html +45 -0
  1631. data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_pattern.html +44 -0
  1632. data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_poly.html +53 -0
  1633. data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_resize.html +61 -0
  1634. data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_setPath.html +76 -0
  1635. data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_tbbox.html +117 -0
  1636. data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_text.html +88 -0
  1637. data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_textpath.html +76 -0
  1638. data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_transform.html +98 -0
  1639. data/data/dojo-release-1.1.1-src/dojox/gfx/utils.js +83 -0
  1640. data/data/dojo-release-1.1.1-src/dojox/gfx/vml.js +1161 -0
  1641. data/data/dojo-release-1.1.1-src/dojox/gfx/vml_attach.js +362 -0
  1642. data/data/dojo-release-1.1.1-src/dojox/gfx.js +36 -0
  1643. data/data/dojo-release-1.1.1-src/dojox/gfx3d/README +36 -0
  1644. data/data/dojo-release-1.1.1-src/dojox/gfx3d/_base.js +15 -0
  1645. data/data/dojo-release-1.1.1-src/dojox/gfx3d/gradient.js +37 -0
  1646. data/data/dojo-release-1.1.1-src/dojox/gfx3d/lighting.js +237 -0
  1647. data/data/dojo-release-1.1.1-src/dojox/gfx3d/matrix.js +335 -0
  1648. data/data/dojo-release-1.1.1-src/dojox/gfx3d/object.js +1088 -0
  1649. data/data/dojo-release-1.1.1-src/dojox/gfx3d/scheduler.js +122 -0
  1650. data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_camerarotate.html +93 -0
  1651. data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_camerarotate_shaded.html +97 -0
  1652. data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_cube.html +50 -0
  1653. data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_cylinder.html +66 -0
  1654. data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_drawer.html +92 -0
  1655. data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_edges.html +73 -0
  1656. data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_matrix.html +89 -0
  1657. data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_orbit.html +50 -0
  1658. data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_overlap.html +69 -0
  1659. data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_polygon.html +44 -0
  1660. data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_quads.html +78 -0
  1661. data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_rotate.html +123 -0
  1662. data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_scene.html +66 -0
  1663. data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_triangles.html +82 -0
  1664. data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_vector.html +59 -0
  1665. data/data/dojo-release-1.1.1-src/dojox/gfx3d/vector.js +106 -0
  1666. data/data/dojo-release-1.1.1-src/dojox/gfx3d.js +7 -0
  1667. data/data/dojo-release-1.1.1-src/dojox/grid/Grid.js +359 -0
  1668. data/data/dojo-release-1.1.1-src/dojox/grid/README +39 -0
  1669. data/data/dojo-release-1.1.1-src/dojox/grid/VirtualGrid.js +775 -0
  1670. data/data/dojo-release-1.1.1-src/dojox/grid/_data/dijitEditors.js +166 -0
  1671. data/data/dojo-release-1.1.1-src/dojox/grid/_data/editors.js +235 -0
  1672. data/data/dojo-release-1.1.1-src/dojox/grid/_data/fields.js +100 -0
  1673. data/data/dojo-release-1.1.1-src/dojox/grid/_data/model.js +758 -0
  1674. data/data/dojo-release-1.1.1-src/dojox/grid/_grid/Grid.css +258 -0
  1675. data/data/dojo-release-1.1.1-src/dojox/grid/_grid/Grid_rtl.css +10 -0
  1676. data/data/dojo-release-1.1.1-src/dojox/grid/_grid/builder.js +518 -0
  1677. data/data/dojo-release-1.1.1-src/dojox/grid/_grid/cell.js +62 -0
  1678. data/data/dojo-release-1.1.1-src/dojox/grid/_grid/drag.js +109 -0
  1679. data/data/dojo-release-1.1.1-src/dojox/grid/_grid/edit.js +234 -0
  1680. data/data/dojo-release-1.1.1-src/dojox/grid/_grid/focus.js +203 -0
  1681. data/data/dojo-release-1.1.1-src/dojox/grid/_grid/images/grid_dx_gradient.gif +0 -0
  1682. data/data/dojo-release-1.1.1-src/dojox/grid/_grid/images/grid_sort_down.gif +0 -0
  1683. data/data/dojo-release-1.1.1-src/dojox/grid/_grid/images/grid_sort_up.gif +0 -0
  1684. data/data/dojo-release-1.1.1-src/dojox/grid/_grid/images/tabEnabled_rotated.png +0 -0
  1685. data/data/dojo-release-1.1.1-src/dojox/grid/_grid/images/tabHover_rotated.png +0 -0
  1686. data/data/dojo-release-1.1.1-src/dojox/grid/_grid/layout.js +71 -0
  1687. data/data/dojo-release-1.1.1-src/dojox/grid/_grid/lib.js +250 -0
  1688. data/data/dojo-release-1.1.1-src/dojox/grid/_grid/nihiloGrid.css +275 -0
  1689. data/data/dojo-release-1.1.1-src/dojox/grid/_grid/publicEvents.js +447 -0
  1690. data/data/dojo-release-1.1.1-src/dojox/grid/_grid/rowbar.js +49 -0
  1691. data/data/dojo-release-1.1.1-src/dojox/grid/_grid/rows.js +62 -0
  1692. data/data/dojo-release-1.1.1-src/dojox/grid/_grid/scroller.js +485 -0
  1693. data/data/dojo-release-1.1.1-src/dojox/grid/_grid/selection.js +211 -0
  1694. data/data/dojo-release-1.1.1-src/dojox/grid/_grid/soriaGrid.css +276 -0
  1695. data/data/dojo-release-1.1.1-src/dojox/grid/_grid/tundraGrid.css +281 -0
  1696. data/data/dojo-release-1.1.1-src/dojox/grid/_grid/view.js +332 -0
  1697. data/data/dojo-release-1.1.1-src/dojox/grid/_grid/views.js +273 -0
  1698. data/data/dojo-release-1.1.1-src/dojox/grid/resources/GridView.html +12 -0
  1699. data/data/dojo-release-1.1.1-src/dojox/grid/resources/VirtualGrid.html +5 -0
  1700. data/data/dojo-release-1.1.1-src/dojox/grid/tests/databaseModel.js +333 -0
  1701. data/data/dojo-release-1.1.1-src/dojox/grid/tests/images/closed.gif +0 -0
  1702. data/data/dojo-release-1.1.1-src/dojox/grid/tests/images/flatScreen.gif +0 -0
  1703. data/data/dojo-release-1.1.1-src/dojox/grid/tests/images/open.gif +0 -0
  1704. data/data/dojo-release-1.1.1-src/dojox/grid/tests/support/books.xml +103 -0
  1705. data/data/dojo-release-1.1.1-src/dojox/grid/tests/support/data.php +379 -0
  1706. data/data/dojo-release-1.1.1-src/dojox/grid/tests/support/geography.xml +51 -0
  1707. data/data/dojo-release-1.1.1-src/dojox/grid/tests/support/json.php +794 -0
  1708. data/data/dojo-release-1.1.1-src/dojox/grid/tests/support/movies.csv +9 -0
  1709. data/data/dojo-release-1.1.1-src/dojox/grid/tests/support/test_data.js +30 -0
  1710. data/data/dojo-release-1.1.1-src/dojox/grid/tests/support/test_data_objects.js +31 -0
  1711. data/data/dojo-release-1.1.1-src/dojox/grid/tests/support/testtbl.sql +944 -0
  1712. data/data/dojo-release-1.1.1-src/dojox/grid/tests/support/yahoo_search.js +131 -0
  1713. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_change_structure.html +124 -0
  1714. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_custom_sort.html +86 -0
  1715. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_dojo_data_edit.html +124 -0
  1716. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_dojo_data_empty.html +63 -0
  1717. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_dojo_data_model.html +84 -0
  1718. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_dojo_data_model_EmptyResultSet.html +57 -0
  1719. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_dojo_data_model_multiStores.html +291 -0
  1720. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_dojo_data_model_processError.html +65 -0
  1721. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_dojo_data_notification.html +114 -0
  1722. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_edit.html +149 -0
  1723. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_edit_canEdit.html +156 -0
  1724. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_edit_dijit.html +137 -0
  1725. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_events.html +174 -0
  1726. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_expand.html +107 -0
  1727. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_grid.html +69 -0
  1728. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_grid_dlg.html +88 -0
  1729. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_grid_headerHeight.html +84 -0
  1730. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_grid_layout.html +112 -0
  1731. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_grid_layout_LayoutContainer.html +87 -0
  1732. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_grid_layout_borderContainer.html +98 -0
  1733. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_grid_object_model_change.html +86 -0
  1734. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_grid_programmatic.html +65 -0
  1735. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_grid_programmatic_layout.html +74 -0
  1736. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_grid_rtl.html +71 -0
  1737. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_grid_themes.html +118 -0
  1738. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_grid_tooltip_menu.html +161 -0
  1739. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_keyboard.html +90 -0
  1740. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_markup.html +112 -0
  1741. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_mysql_edit.html +155 -0
  1742. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_sizing.html +175 -0
  1743. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_sizing_100rows.html +168 -0
  1744. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_sizing_ResizeHandle.html +113 -0
  1745. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_styling.html +131 -0
  1746. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_subgrid.html +179 -0
  1747. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_tundra_edit.html +139 -0
  1748. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_yahoo_images.html +148 -0
  1749. data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_yahoo_search.html +141 -0
  1750. data/data/dojo-release-1.1.1-src/dojox/grid/tests/yahooSearch.js +137 -0
  1751. data/data/dojo-release-1.1.1-src/dojox/help/README +35 -0
  1752. data/data/dojo-release-1.1.1-src/dojox/help/_base.js +469 -0
  1753. data/data/dojo-release-1.1.1-src/dojox/help/console.js +76 -0
  1754. data/data/dojo-release-1.1.1-src/dojox/help/demos/demo_Console.html +33 -0
  1755. data/data/dojo-release-1.1.1-src/dojox/highlight/README +31 -0
  1756. data/data/dojo-release-1.1.1-src/dojox/highlight/_base.js +402 -0
  1757. data/data/dojo-release-1.1.1-src/dojox/highlight/languages/_all.js +7 -0
  1758. data/data/dojo-release-1.1.1-src/dojox/highlight/languages/_dynamic.js +7 -0
  1759. data/data/dojo-release-1.1.1-src/dojox/highlight/languages/_static.js +6 -0
  1760. data/data/dojo-release-1.1.1-src/dojox/highlight/languages/_www.js +8 -0
  1761. data/data/dojo-release-1.1.1-src/dojox/highlight/languages/cpp.js +49 -0
  1762. data/data/dojo-release-1.1.1-src/dojox/highlight/languages/css.js +92 -0
  1763. data/data/dojo-release-1.1.1-src/dojox/highlight/languages/delphi.js +118 -0
  1764. data/data/dojo-release-1.1.1-src/dojox/highlight/languages/django.js +93 -0
  1765. data/data/dojo-release-1.1.1-src/dojox/highlight/languages/html.js +66 -0
  1766. data/data/dojo-release-1.1.1-src/dojox/highlight/languages/javascript.js +51 -0
  1767. data/data/dojo-release-1.1.1-src/dojox/highlight/languages/pygments/_html.js +21 -0
  1768. data/data/dojo-release-1.1.1-src/dojox/highlight/languages/pygments/_www.js +8 -0
  1769. data/data/dojo-release-1.1.1-src/dojox/highlight/languages/pygments/css.js +207 -0
  1770. data/data/dojo-release-1.1.1-src/dojox/highlight/languages/pygments/html.js +97 -0
  1771. data/data/dojo-release-1.1.1-src/dojox/highlight/languages/pygments/javascript.js +148 -0
  1772. data/data/dojo-release-1.1.1-src/dojox/highlight/languages/pygments/xml.js +75 -0
  1773. data/data/dojo-release-1.1.1-src/dojox/highlight/languages/python.js +98 -0
  1774. data/data/dojo-release-1.1.1-src/dojox/highlight/languages/sql.js +97 -0
  1775. data/data/dojo-release-1.1.1-src/dojox/highlight/languages/xml.js +65 -0
  1776. data/data/dojo-release-1.1.1-src/dojox/highlight/resources/highlight.css +58 -0
  1777. data/data/dojo-release-1.1.1-src/dojox/highlight/resources/pygments/autumn.css +28 -0
  1778. data/data/dojo-release-1.1.1-src/dojox/highlight/resources/pygments/borland.css +17 -0
  1779. data/data/dojo-release-1.1.1-src/dojox/highlight/resources/pygments/colorful.css +43 -0
  1780. data/data/dojo-release-1.1.1-src/dojox/highlight/resources/pygments/default.css +35 -0
  1781. data/data/dojo-release-1.1.1-src/dojox/highlight/resources/pygments/emacs.css +36 -0
  1782. data/data/dojo-release-1.1.1-src/dojox/highlight/resources/pygments/friendly.css +36 -0
  1783. data/data/dojo-release-1.1.1-src/dojox/highlight/resources/pygments/fruity.css +20 -0
  1784. data/data/dojo-release-1.1.1-src/dojox/highlight/resources/pygments/manni.css +37 -0
  1785. data/data/dojo-release-1.1.1-src/dojox/highlight/resources/pygments/murphy.css +43 -0
  1786. data/data/dojo-release-1.1.1-src/dojox/highlight/resources/pygments/native.css +28 -0
  1787. data/data/dojo-release-1.1.1-src/dojox/highlight/resources/pygments/pastie.css +36 -0
  1788. data/data/dojo-release-1.1.1-src/dojox/highlight/resources/pygments/perldoc.css +30 -0
  1789. data/data/dojo-release-1.1.1-src/dojox/highlight/resources/pygments/trac.css +26 -0
  1790. data/data/dojo-release-1.1.1-src/dojox/highlight/tests/test_highlight.html +327 -0
  1791. data/data/dojo-release-1.1.1-src/dojox/highlight/tests/test_pygments.html +142 -0
  1792. data/data/dojo-release-1.1.1-src/dojox/highlight.js +2 -0
  1793. data/data/dojo-release-1.1.1-src/dojox/image/Gallery.js +178 -0
  1794. data/data/dojo-release-1.1.1-src/dojox/image/Lightbox.js +447 -0
  1795. data/data/dojo-release-1.1.1-src/dojox/image/Magnifier.js +71 -0
  1796. data/data/dojo-release-1.1.1-src/dojox/image/MagnifierLite.js +122 -0
  1797. data/data/dojo-release-1.1.1-src/dojox/image/README +66 -0
  1798. data/data/dojo-release-1.1.1-src/dojox/image/SlideShow.js +594 -0
  1799. data/data/dojo-release-1.1.1-src/dojox/image/ThumbnailPicker.js +531 -0
  1800. data/data/dojo-release-1.1.1-src/dojox/image/resources/Gallery.html +4 -0
  1801. data/data/dojo-release-1.1.1-src/dojox/image/resources/Lightbox.html +15 -0
  1802. data/data/dojo-release-1.1.1-src/dojox/image/resources/Magnifier.css +5 -0
  1803. data/data/dojo-release-1.1.1-src/dojox/image/resources/SlideShow.html +14 -0
  1804. data/data/dojo-release-1.1.1-src/dojox/image/resources/ThumbnailPicker.html +11 -0
  1805. data/data/dojo-release-1.1.1-src/dojox/image/resources/image.css +345 -0
  1806. data/data/dojo-release-1.1.1-src/dojox/image/resources/images/buttons.gif +0 -0
  1807. data/data/dojo-release-1.1.1-src/dojox/image/resources/images/buttons.png +0 -0
  1808. data/data/dojo-release-1.1.1-src/dojox/image/resources/images/close.png +0 -0
  1809. data/data/dojo-release-1.1.1-src/dojox/image/resources/images/close_dark.png +0 -0
  1810. data/data/dojo-release-1.1.1-src/dojox/image/resources/images/left.png +0 -0
  1811. data/data/dojo-release-1.1.1-src/dojox/image/resources/images/loading.gif +0 -0
  1812. data/data/dojo-release-1.1.1-src/dojox/image/resources/images/right.png +0 -0
  1813. data/data/dojo-release-1.1.1-src/dojox/image/resources/images/warning.png +0 -0
  1814. data/data/dojo-release-1.1.1-src/dojox/image/tests/images/extraWide.jpg +0 -0
  1815. data/data/dojo-release-1.1.1-src/dojox/image/tests/images/huuuge.png +0 -0
  1816. data/data/dojo-release-1.1.1-src/dojox/image/tests/images/imageHoriz.jpg +0 -0
  1817. data/data/dojo-release-1.1.1-src/dojox/image/tests/images/imageHoriz2.jpg +0 -0
  1818. data/data/dojo-release-1.1.1-src/dojox/image/tests/images/imageVert.jpg +0 -0
  1819. data/data/dojo-release-1.1.1-src/dojox/image/tests/images/spanke.jpg +0 -0
  1820. data/data/dojo-release-1.1.1-src/dojox/image/tests/images/square.jpg +0 -0
  1821. data/data/dojo-release-1.1.1-src/dojox/image/tests/images.json +32 -0
  1822. data/data/dojo-release-1.1.1-src/dojox/image/tests/test_Gallery.html +67 -0
  1823. data/data/dojo-release-1.1.1-src/dojox/image/tests/test_Lightbox.html +105 -0
  1824. data/data/dojo-release-1.1.1-src/dojox/image/tests/test_Magnifier.html +98 -0
  1825. data/data/dojo-release-1.1.1-src/dojox/image/tests/test_MagnifierLite.html +91 -0
  1826. data/data/dojo-release-1.1.1-src/dojox/image/tests/test_SlideShow.html +68 -0
  1827. data/data/dojo-release-1.1.1-src/dojox/image/tests/test_ThumbnailPicker.html +134 -0
  1828. data/data/dojo-release-1.1.1-src/dojox/io/README +45 -0
  1829. data/data/dojo-release-1.1.1-src/dojox/io/proxy/README +82 -0
  1830. data/data/dojo-release-1.1.1-src/dojox/io/proxy/tests/frag.xml +4 -0
  1831. data/data/dojo-release-1.1.1-src/dojox/io/proxy/tests/xip.html +62 -0
  1832. data/data/dojo-release-1.1.1-src/dojox/io/proxy/xip.js +437 -0
  1833. data/data/dojo-release-1.1.1-src/dojox/io/proxy/xip_client.html +102 -0
  1834. data/data/dojo-release-1.1.1-src/dojox/io/proxy/xip_server.html +382 -0
  1835. data/data/dojo-release-1.1.1-src/dojox/io/xhrMultiPart.js +77 -0
  1836. data/data/dojo-release-1.1.1-src/dojox/jsonPath/README +125 -0
  1837. data/data/dojo-release-1.1.1-src/dojox/jsonPath/query.js +159 -0
  1838. data/data/dojo-release-1.1.1-src/dojox/jsonPath/tests/jsonPath.js +207 -0
  1839. data/data/dojo-release-1.1.1-src/dojox/jsonPath/tests/module.js +8 -0
  1840. data/data/dojo-release-1.1.1-src/dojox/jsonPath/tests/runTests.html +9 -0
  1841. data/data/dojo-release-1.1.1-src/dojox/jsonPath.js +2 -0
  1842. data/data/dojo-release-1.1.1-src/dojox/lang/LICENSE +21 -0
  1843. data/data/dojo-release-1.1.1-src/dojox/lang/README +37 -0
  1844. data/data/dojo-release-1.1.1-src/dojox/lang/functional/array.js +109 -0
  1845. data/data/dojo-release-1.1.1-src/dojox/lang/functional/curry.js +92 -0
  1846. data/data/dojo-release-1.1.1-src/dojox/lang/functional/fold.js +83 -0
  1847. data/data/dojo-release-1.1.1-src/dojox/lang/functional/lambda.js +106 -0
  1848. data/data/dojo-release-1.1.1-src/dojox/lang/functional/listcomp.js +50 -0
  1849. data/data/dojo-release-1.1.1-src/dojox/lang/functional/object.js +44 -0
  1850. data/data/dojo-release-1.1.1-src/dojox/lang/functional/reversed.js +75 -0
  1851. data/data/dojo-release-1.1.1-src/dojox/lang/functional/scan.js +80 -0
  1852. data/data/dojo-release-1.1.1-src/dojox/lang/functional/sequence.js +34 -0
  1853. data/data/dojo-release-1.1.1-src/dojox/lang/functional/zip.js +41 -0
  1854. data/data/dojo-release-1.1.1-src/dojox/lang/functional.js +5 -0
  1855. data/data/dojo-release-1.1.1-src/dojox/lang/tests/array.js +80 -0
  1856. data/data/dojo-release-1.1.1-src/dojox/lang/tests/curry.js +27 -0
  1857. data/data/dojo-release-1.1.1-src/dojox/lang/tests/fold.js +60 -0
  1858. data/data/dojo-release-1.1.1-src/dojox/lang/tests/fun_perf.html +176 -0
  1859. data/data/dojo-release-1.1.1-src/dojox/lang/tests/lambda.js +20 -0
  1860. data/data/dojo-release-1.1.1-src/dojox/lang/tests/listcomp.js +24 -0
  1861. data/data/dojo-release-1.1.1-src/dojox/lang/tests/main.js +13 -0
  1862. data/data/dojo-release-1.1.1-src/dojox/lang/tests/misc.js +27 -0
  1863. data/data/dojo-release-1.1.1-src/dojox/lang/tests/runTests.html +9 -0
  1864. data/data/dojo-release-1.1.1-src/dojox/lang/utils.js +50 -0
  1865. data/data/dojo-release-1.1.1-src/dojox/layout/BorderContainer.js +3 -0
  1866. data/data/dojo-release-1.1.1-src/dojox/layout/ContentPane.js +475 -0
  1867. data/data/dojo-release-1.1.1-src/dojox/layout/DragPane.js +61 -0
  1868. data/data/dojo-release-1.1.1-src/dojox/layout/ExpandoPane.js +204 -0
  1869. data/data/dojo-release-1.1.1-src/dojox/layout/FloatingPane.js +390 -0
  1870. data/data/dojo-release-1.1.1-src/dojox/layout/README +75 -0
  1871. data/data/dojo-release-1.1.1-src/dojox/layout/RadioGroup.js +229 -0
  1872. data/data/dojo-release-1.1.1-src/dojox/layout/ResizeHandle.js +267 -0
  1873. data/data/dojo-release-1.1.1-src/dojox/layout/ScrollPane.js +110 -0
  1874. data/data/dojo-release-1.1.1-src/dojox/layout/resources/ExpandoPane.css +116 -0
  1875. data/data/dojo-release-1.1.1-src/dojox/layout/resources/ExpandoPane.html +9 -0
  1876. data/data/dojo-release-1.1.1-src/dojox/layout/resources/FloatingPane.css +183 -0
  1877. data/data/dojo-release-1.1.1-src/dojox/layout/resources/FloatingPane.html +14 -0
  1878. data/data/dojo-release-1.1.1-src/dojox/layout/resources/RadioGroup.css +45 -0
  1879. data/data/dojo-release-1.1.1-src/dojox/layout/resources/ResizeHandle.css +34 -0
  1880. data/data/dojo-release-1.1.1-src/dojox/layout/resources/ScrollPane.css +24 -0
  1881. data/data/dojo-release-1.1.1-src/dojox/layout/resources/ScrollPane.html +6 -0
  1882. data/data/dojo-release-1.1.1-src/dojox/layout/resources/icons/resize.png +0 -0
  1883. data/data/dojo-release-1.1.1-src/dojox/layout/tests/ContentPane.html +1059 -0
  1884. data/data/dojo-release-1.1.1-src/dojox/layout/tests/_bottomPane.html +53 -0
  1885. data/data/dojo-release-1.1.1-src/dojox/layout/tests/_expando.css +64 -0
  1886. data/data/dojo-release-1.1.1-src/dojox/layout/tests/_floating.html +48 -0
  1887. data/data/dojo-release-1.1.1-src/dojox/layout/tests/_lorem.html +11 -0
  1888. data/data/dojo-release-1.1.1-src/dojox/layout/tests/_script.html +9 -0
  1889. data/data/dojo-release-1.1.1-src/dojox/layout/tests/doc0.html +14 -0
  1890. data/data/dojo-release-1.1.1-src/dojox/layout/tests/images/blank.gif +0 -0
  1891. data/data/dojo-release-1.1.1-src/dojox/layout/tests/images/dojoLogo.png +0 -0
  1892. data/data/dojo-release-1.1.1-src/dojox/layout/tests/images/gridUnderlay.png +0 -0
  1893. data/data/dojo-release-1.1.1-src/dojox/layout/tests/images/testImage.gif +0 -0
  1894. data/data/dojo-release-1.1.1-src/dojox/layout/tests/remote/getResponse.php +108 -0
  1895. data/data/dojo-release-1.1.1-src/dojox/layout/tests/test_DragPane.html +93 -0
  1896. data/data/dojo-release-1.1.1-src/dojox/layout/tests/test_ExpandoPane.html +307 -0
  1897. data/data/dojo-release-1.1.1-src/dojox/layout/tests/test_ExpandoPane_code.html +98 -0
  1898. data/data/dojo-release-1.1.1-src/dojox/layout/tests/test_ExpandoPane_more.html +114 -0
  1899. data/data/dojo-release-1.1.1-src/dojox/layout/tests/test_FloatingPane.html +167 -0
  1900. data/data/dojo-release-1.1.1-src/dojox/layout/tests/test_RadioGroup.html +61 -0
  1901. data/data/dojo-release-1.1.1-src/dojox/layout/tests/test_ResizeHandle.html +134 -0
  1902. data/data/dojo-release-1.1.1-src/dojox/layout/tests/test_ScrollPane.html +129 -0
  1903. data/data/dojo-release-1.1.1-src/dojox/layout/tests/test_ScrollPaneSingle.html +71 -0
  1904. data/data/dojo-release-1.1.1-src/dojox/layout/tests/test_SizingPane.html +170 -0
  1905. data/data/dojo-release-1.1.1-src/dojox/math/README +38 -0
  1906. data/data/dojo-release-1.1.1-src/dojox/math/_base.js +118 -0
  1907. data/data/dojo-release-1.1.1-src/dojox/math/curves.js +189 -0
  1908. data/data/dojo-release-1.1.1-src/dojox/math/matrix.js +290 -0
  1909. data/data/dojo-release-1.1.1-src/dojox/math.js +2 -0
  1910. data/data/dojo-release-1.1.1-src/dojox/off/README +28 -0
  1911. data/data/dojo-release-1.1.1-src/dojox/off/_common.js +555 -0
  1912. data/data/dojo-release-1.1.1-src/dojox/off/docs/bookmarklets.html +10 -0
  1913. data/data/dojo-release-1.1.1-src/dojox/off/files.js +450 -0
  1914. data/data/dojo-release-1.1.1-src/dojox/off/network_check.txt +1 -0
  1915. data/data/dojo-release-1.1.1-src/dojox/off/offline.js +7 -0
  1916. data/data/dojo-release-1.1.1-src/dojox/off/resources/checkmark.png +0 -0
  1917. data/data/dojo-release-1.1.1-src/dojox/off/resources/greenball.png +0 -0
  1918. data/data/dojo-release-1.1.1-src/dojox/off/resources/learnhow.html +43 -0
  1919. data/data/dojo-release-1.1.1-src/dojox/off/resources/learnhow.js +43 -0
  1920. data/data/dojo-release-1.1.1-src/dojox/off/resources/offline-widget.css +112 -0
  1921. data/data/dojo-release-1.1.1-src/dojox/off/resources/offline-widget.html +40 -0
  1922. data/data/dojo-release-1.1.1-src/dojox/off/resources/redball.png +0 -0
  1923. data/data/dojo-release-1.1.1-src/dojox/off/resources/roller.gif +0 -0
  1924. data/data/dojo-release-1.1.1-src/dojox/off/sync.js +686 -0
  1925. data/data/dojo-release-1.1.1-src/dojox/off/ui.js +618 -0
  1926. data/data/dojo-release-1.1.1-src/dojox/off.js +2 -0
  1927. data/data/dojo-release-1.1.1-src/dojox/presentation/README +72 -0
  1928. data/data/dojo-release-1.1.1-src/dojox/presentation/_base.js +553 -0
  1929. data/data/dojo-release-1.1.1-src/dojox/presentation/resources/Show.css +110 -0
  1930. data/data/dojo-release-1.1.1-src/dojox/presentation/resources/Show.html +12 -0
  1931. data/data/dojo-release-1.1.1-src/dojox/presentation/resources/Slide.html +4 -0
  1932. data/data/dojo-release-1.1.1-src/dojox/presentation/resources/icons/down.png +0 -0
  1933. data/data/dojo-release-1.1.1-src/dojox/presentation/resources/icons/next.png +0 -0
  1934. data/data/dojo-release-1.1.1-src/dojox/presentation/resources/icons/prev.png +0 -0
  1935. data/data/dojo-release-1.1.1-src/dojox/presentation/resources/icons/up.png +0 -0
  1936. data/data/dojo-release-1.1.1-src/dojox/presentation/tests/_ext1.html +21 -0
  1937. data/data/dojo-release-1.1.1-src/dojox/presentation/tests/test_presentation.html +162 -0
  1938. data/data/dojo-release-1.1.1-src/dojox/presentation.js +2 -0
  1939. data/data/dojo-release-1.1.1-src/dojox/resources/README.template +36 -0
  1940. data/data/dojo-release-1.1.1-src/dojox/resources/_modules.js +204 -0
  1941. data/data/dojo-release-1.1.1-src/dojox/resources/manualTests.html +12 -0
  1942. data/data/dojo-release-1.1.1-src/dojox/resources/manualTests.js +207 -0
  1943. data/data/dojo-release-1.1.1-src/dojox/rpc/CouchDBRestStore.js +83 -0
  1944. data/data/dojo-release-1.1.1-src/dojox/rpc/JsonRPC.js +54 -0
  1945. data/data/dojo-release-1.1.1-src/dojox/rpc/JsonReferencing.js +261 -0
  1946. data/data/dojo-release-1.1.1-src/dojox/rpc/JsonRestStore.js +657 -0
  1947. data/data/dojo-release-1.1.1-src/dojox/rpc/PersevereRestStore.js +35 -0
  1948. data/data/dojo-release-1.1.1-src/dojox/rpc/README +52 -0
  1949. data/data/dojo-release-1.1.1-src/dojox/rpc/Rest.js +86 -0
  1950. data/data/dojo-release-1.1.1-src/dojox/rpc/SMDLibrary/yahoo.smd +493 -0
  1951. data/data/dojo-release-1.1.1-src/dojox/rpc/Service.js +289 -0
  1952. data/data/dojo-release-1.1.1-src/dojox/rpc/demos/demo_JsonRestStore_CouchDB.html +125 -0
  1953. data/data/dojo-release-1.1.1-src/dojox/rpc/demos/demo_JsonRestStore_Persevere.html +65 -0
  1954. data/data/dojo-release-1.1.1-src/dojox/rpc/demos/documentation.html +33 -0
  1955. data/data/dojo-release-1.1.1-src/dojox/rpc/demos/templates/documentation.html +8 -0
  1956. data/data/dojo-release-1.1.1-src/dojox/rpc/demos/templates/yahoo.html +31 -0
  1957. data/data/dojo-release-1.1.1-src/dojox/rpc/demos/yahoo.html +39 -0
  1958. data/data/dojo-release-1.1.1-src/dojox/rpc/documentation.smd +30 -0
  1959. data/data/dojo-release-1.1.1-src/dojox/rpc/test.txt +0 -0
  1960. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/JsonReferencing.js +26 -0
  1961. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/Service.js +698 -0
  1962. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/Yahoo.js +313 -0
  1963. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/libraryTests.js +8 -0
  1964. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/module.js +9 -0
  1965. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/JSON.php +724 -0
  1966. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/bigQuery +1 -0
  1967. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/bigQuery5 +1 -0
  1968. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/echo.php +7 -0
  1969. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/echoJson.php +8 -0
  1970. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/fakestore.php +36 -0
  1971. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/jsonRpc10.php +47 -0
  1972. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/jsonRpc11.php +52 -0
  1973. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/jsonRpc12.php +53 -0
  1974. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/jsonRpcPostGetEcho.php +38 -0
  1975. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/jsonpEcho.php +23 -0
  1976. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/jsonpEcho.phps +23 -0
  1977. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/jsonpJsonRpcEcho.php +37 -0
  1978. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/obj1 +1 -0
  1979. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/obj1testArray +1 -0
  1980. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/obj3 +1 -0
  1981. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/obj4 +1 -0
  1982. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/query +6 -0
  1983. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/rawEcho.php +5 -0
  1984. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/res +1 -0
  1985. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/store.php +24 -0
  1986. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/test.smd +189 -0
  1987. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/runLibraryTests.html +9 -0
  1988. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/runTests.html +9 -0
  1989. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/stores/JsonRestStore.js +233 -0
  1990. data/data/dojo-release-1.1.1-src/dojox/rpc/tests/test_dojo_data_model_persevere.html +146 -0
  1991. data/data/dojo-release-1.1.1-src/dojox/sketch/Anchor.js +57 -0
  1992. data/data/dojo-release-1.1.1-src/dojox/sketch/Annotation.js +219 -0
  1993. data/data/dojo-release-1.1.1-src/dojox/sketch/DoubleArrowAnnotation.js +196 -0
  1994. data/data/dojo-release-1.1.1-src/dojox/sketch/Figure.js +489 -0
  1995. data/data/dojo-release-1.1.1-src/dojox/sketch/LeadAnnotation.js +137 -0
  1996. data/data/dojo-release-1.1.1-src/dojox/sketch/PreexistingAnnotation.js +117 -0
  1997. data/data/dojo-release-1.1.1-src/dojox/sketch/README +58 -0
  1998. data/data/dojo-release-1.1.1-src/dojox/sketch/SingleArrowAnnotation.js +179 -0
  1999. data/data/dojo-release-1.1.1-src/dojox/sketch/Slider.js +27 -0
  2000. data/data/dojo-release-1.1.1-src/dojox/sketch/Toolbar.js +92 -0
  2001. data/data/dojo-release-1.1.1-src/dojox/sketch/UnderlineAnnotation.js +78 -0
  2002. data/data/dojo-release-1.1.1-src/dojox/sketch/UndoStack.js +100 -0
  2003. data/data/dojo-release-1.1.1-src/dojox/sketch/_Plugin.js +79 -0
  2004. data/data/dojo-release-1.1.1-src/dojox/sketch/resources/images/icons.gif +0 -0
  2005. data/data/dojo-release-1.1.1-src/dojox/sketch/resources/sketch.css +17 -0
  2006. data/data/dojo-release-1.1.1-src/dojox/sketch/tests/annotation.svg +1 -0
  2007. data/data/dojo-release-1.1.1-src/dojox/sketch/tests/images/figure2.gif +0 -0
  2008. data/data/dojo-release-1.1.1-src/dojox/sketch/tests/images/testsBodyBg.gif +0 -0
  2009. data/data/dojo-release-1.1.1-src/dojox/sketch/tests/test_full.html +66 -0
  2010. data/data/dojo-release-1.1.1-src/dojox/sketch.js +9 -0
  2011. data/data/dojo-release-1.1.1-src/dojox/sql.js +2 -0
  2012. data/data/dojo-release-1.1.1-src/dojox/storage/AirDBStorageProvider.js +248 -0
  2013. data/data/dojo-release-1.1.1-src/dojox/storage/AirEncryptedLocalStorageProvider.js +217 -0
  2014. data/data/dojo-release-1.1.1-src/dojox/storage/AirFileStorageProvider.js +228 -0
  2015. data/data/dojo-release-1.1.1-src/dojox/storage/FlashStorageProvider.js +342 -0
  2016. data/data/dojo-release-1.1.1-src/dojox/storage/GearsStorageProvider.js +316 -0
  2017. data/data/dojo-release-1.1.1-src/dojox/storage/Provider.js +327 -0
  2018. data/data/dojo-release-1.1.1-src/dojox/storage/README +76 -0
  2019. data/data/dojo-release-1.1.1-src/dojox/storage/Storage.as +399 -0
  2020. data/data/dojo-release-1.1.1-src/dojox/storage/Storage.swf +0 -0
  2021. data/data/dojo-release-1.1.1-src/dojox/storage/WhatWGStorageProvider.js +274 -0
  2022. data/data/dojo-release-1.1.1-src/dojox/storage/_common.js +18 -0
  2023. data/data/dojo-release-1.1.1-src/dojox/storage/buildFlashStorage.sh +4 -0
  2024. data/data/dojo-release-1.1.1-src/dojox/storage/demos/helloworld.html +90 -0
  2025. data/data/dojo-release-1.1.1-src/dojox/storage/manager.js +257 -0
  2026. data/data/dojo-release-1.1.1-src/dojox/storage/storage_dialog.fla +0 -0
  2027. data/data/dojo-release-1.1.1-src/dojox/storage/tests/resources/testBook.txt +7104 -0
  2028. data/data/dojo-release-1.1.1-src/dojox/storage/tests/resources/testXML.xml +203 -0
  2029. data/data/dojo-release-1.1.1-src/dojox/storage/tests/test_storage.html +189 -0
  2030. data/data/dojo-release-1.1.1-src/dojox/storage/tests/test_storage.js +493 -0
  2031. data/data/dojo-release-1.1.1-src/dojox/storage.js +2 -0
  2032. data/data/dojo-release-1.1.1-src/dojox/string/Builder.js +97 -0
  2033. data/data/dojo-release-1.1.1-src/dojox/string/README +39 -0
  2034. data/data/dojo-release-1.1.1-src/dojox/string/sprintf.js +402 -0
  2035. data/data/dojo-release-1.1.1-src/dojox/string/tests/Builder.js +87 -0
  2036. data/data/dojo-release-1.1.1-src/dojox/string/tests/BuilderPerf.html +403 -0
  2037. data/data/dojo-release-1.1.1-src/dojox/string/tests/PerfFun.html +260 -0
  2038. data/data/dojo-release-1.1.1-src/dojox/string/tests/lipsum.js +133 -0
  2039. data/data/dojo-release-1.1.1-src/dojox/string/tests/notes.txt +153 -0
  2040. data/data/dojo-release-1.1.1-src/dojox/string/tests/peller.html +78 -0
  2041. data/data/dojo-release-1.1.1-src/dojox/string/tests/runTests.html +9 -0
  2042. data/data/dojo-release-1.1.1-src/dojox/string/tests/sprintf.js +273 -0
  2043. data/data/dojo-release-1.1.1-src/dojox/string/tests/string.js +6 -0
  2044. data/data/dojo-release-1.1.1-src/dojox/string/tokenize.js +38 -0
  2045. data/data/dojo-release-1.1.1-src/dojox/timing/README +58 -0
  2046. data/data/dojo-release-1.1.1-src/dojox/timing/Sequence.js +141 -0
  2047. data/data/dojo-release-1.1.1-src/dojox/timing/Streamer.js +90 -0
  2048. data/data/dojo-release-1.1.1-src/dojox/timing/ThreadPool.js +153 -0
  2049. data/data/dojo-release-1.1.1-src/dojox/timing/_base.js +54 -0
  2050. data/data/dojo-release-1.1.1-src/dojox/timing/tests/test_Sequence.html +80 -0
  2051. data/data/dojo-release-1.1.1-src/dojox/timing/tests/test_ThreadPool.html +16 -0
  2052. data/data/dojo-release-1.1.1-src/dojox/timing.js +2 -0
  2053. data/data/dojo-release-1.1.1-src/dojox/uuid/README +43 -0
  2054. data/data/dojo-release-1.1.1-src/dojox/uuid/Uuid.js +196 -0
  2055. data/data/dojo-release-1.1.1-src/dojox/uuid/_base.js +241 -0
  2056. data/data/dojo-release-1.1.1-src/dojox/uuid/generateRandomUuid.js +52 -0
  2057. data/data/dojo-release-1.1.1-src/dojox/uuid/generateTimeBasedUuid.js +286 -0
  2058. data/data/dojo-release-1.1.1-src/dojox/uuid/tests/runTests.html +10 -0
  2059. data/data/dojo-release-1.1.1-src/dojox/uuid/tests/uuid.js +373 -0
  2060. data/data/dojo-release-1.1.1-src/dojox/uuid.js +2 -0
  2061. data/data/dojo-release-1.1.1-src/dojox/validate/README +37 -0
  2062. data/data/dojo-release-1.1.1-src/dojox/validate/_base.js +179 -0
  2063. data/data/dojo-release-1.1.1-src/dojox/validate/ca.js +40 -0
  2064. data/data/dojo-release-1.1.1-src/dojox/validate/check.js +257 -0
  2065. data/data/dojo-release-1.1.1-src/dojox/validate/creditCard.js +88 -0
  2066. data/data/dojo-release-1.1.1-src/dojox/validate/isbn.js +33 -0
  2067. data/data/dojo-release-1.1.1-src/dojox/validate/regexp.js +327 -0
  2068. data/data/dojo-release-1.1.1-src/dojox/validate/tests/creditcard.js +115 -0
  2069. data/data/dojo-release-1.1.1-src/dojox/validate/tests/module.js +10 -0
  2070. data/data/dojo-release-1.1.1-src/dojox/validate/tests/runTests.html +9 -0
  2071. data/data/dojo-release-1.1.1-src/dojox/validate/tests/validate.js +312 -0
  2072. data/data/dojo-release-1.1.1-src/dojox/validate/us.js +63 -0
  2073. data/data/dojo-release-1.1.1-src/dojox/validate/web.js +85 -0
  2074. data/data/dojo-release-1.1.1-src/dojox/validate.js +2 -0
  2075. data/data/dojo-release-1.1.1-src/dojox/widget/ColorPicker/ColorPicker.css +89 -0
  2076. data/data/dojo-release-1.1.1-src/dojox/widget/ColorPicker/ColorPicker.html +31 -0
  2077. data/data/dojo-release-1.1.1-src/dojox/widget/ColorPicker/images/hue.png +0 -0
  2078. data/data/dojo-release-1.1.1-src/dojox/widget/ColorPicker/images/hueHandle.png +0 -0
  2079. data/data/dojo-release-1.1.1-src/dojox/widget/ColorPicker/images/pickerPointer.png +0 -0
  2080. data/data/dojo-release-1.1.1-src/dojox/widget/ColorPicker/images/underlay.png +0 -0
  2081. data/data/dojo-release-1.1.1-src/dojox/widget/ColorPicker.js +280 -0
  2082. data/data/dojo-release-1.1.1-src/dojox/widget/FileInput/FileInput.css +79 -0
  2083. data/data/dojo-release-1.1.1-src/dojox/widget/FileInput/FileInput.html +9 -0
  2084. data/data/dojo-release-1.1.1-src/dojox/widget/FileInput/FileInputAuto.html +9 -0
  2085. data/data/dojo-release-1.1.1-src/dojox/widget/FileInput/ReceiveFile.php +37 -0
  2086. data/data/dojo-release-1.1.1-src/dojox/widget/FileInput.js +71 -0
  2087. data/data/dojo-release-1.1.1-src/dojox/widget/FileInputAuto.js +181 -0
  2088. data/data/dojo-release-1.1.1-src/dojox/widget/FisheyeList/FisheyeList.css +28 -0
  2089. data/data/dojo-release-1.1.1-src/dojox/widget/FisheyeList.js +704 -0
  2090. data/data/dojo-release-1.1.1-src/dojox/widget/FisheyeLite.js +131 -0
  2091. data/data/dojo-release-1.1.1-src/dojox/widget/Iterator.js +173 -0
  2092. data/data/dojo-release-1.1.1-src/dojox/widget/Loader/Loader.css +27 -0
  2093. data/data/dojo-release-1.1.1-src/dojox/widget/Loader/README +39 -0
  2094. data/data/dojo-release-1.1.1-src/dojox/widget/Loader/honey.php +27 -0
  2095. data/data/dojo-release-1.1.1-src/dojox/widget/Loader/icons/loading.gif +0 -0
  2096. data/data/dojo-release-1.1.1-src/dojox/widget/Loader.js +99 -0
  2097. data/data/dojo-release-1.1.1-src/dojox/widget/MultiComboBox.js +57 -0
  2098. data/data/dojo-release-1.1.1-src/dojox/widget/README +84 -0
  2099. data/data/dojo-release-1.1.1-src/dojox/widget/Rating/Rating.css +24 -0
  2100. data/data/dojo-release-1.1.1-src/dojox/widget/Rating/rating_empty.gif +0 -0
  2101. data/data/dojo-release-1.1.1-src/dojox/widget/Rating/rating_empty.png +0 -0
  2102. data/data/dojo-release-1.1.1-src/dojox/widget/Rating/rating_full.gif +0 -0
  2103. data/data/dojo-release-1.1.1-src/dojox/widget/Rating/rating_full.png +0 -0
  2104. data/data/dojo-release-1.1.1-src/dojox/widget/Rating/rating_half.png +0 -0
  2105. data/data/dojo-release-1.1.1-src/dojox/widget/Rating.js +86 -0
  2106. data/data/dojo-release-1.1.1-src/dojox/widget/SortList/SortList.css +64 -0
  2107. data/data/dojo-release-1.1.1-src/dojox/widget/SortList/SortList.html +9 -0
  2108. data/data/dojo-release-1.1.1-src/dojox/widget/SortList.js +147 -0
  2109. data/data/dojo-release-1.1.1-src/dojox/widget/TimeSpinner.js +44 -0
  2110. data/data/dojo-release-1.1.1-src/dojox/widget/Toaster/Toaster.css +47 -0
  2111. data/data/dojo-release-1.1.1-src/dojox/widget/Toaster.js +264 -0
  2112. data/data/dojo-release-1.1.1-src/dojox/widget/Wizard/Wizard.css +22 -0
  2113. data/data/dojo-release-1.1.1-src/dojox/widget/Wizard/Wizard.html +9 -0
  2114. data/data/dojo-release-1.1.1-src/dojox/widget/Wizard.js +188 -0
  2115. data/data/dojo-release-1.1.1-src/dojox/widget/nls/Wizard.js +5 -0
  2116. data/data/dojo-release-1.1.1-src/dojox/widget/nls/ar/Wizard.js +5 -0
  2117. data/data/dojo-release-1.1.1-src/dojox/widget/nls/cs/Wizard.js +5 -0
  2118. data/data/dojo-release-1.1.1-src/dojox/widget/nls/da/Wizard.js +5 -0
  2119. data/data/dojo-release-1.1.1-src/dojox/widget/nls/de/Wizard.js +5 -0
  2120. data/data/dojo-release-1.1.1-src/dojox/widget/nls/el/Wizard.js +5 -0
  2121. data/data/dojo-release-1.1.1-src/dojox/widget/nls/es/Wizard.js +5 -0
  2122. data/data/dojo-release-1.1.1-src/dojox/widget/nls/fi/Wizard.js +5 -0
  2123. data/data/dojo-release-1.1.1-src/dojox/widget/nls/fr/Wizard.js +5 -0
  2124. data/data/dojo-release-1.1.1-src/dojox/widget/nls/he/Wizard.js +5 -0
  2125. data/data/dojo-release-1.1.1-src/dojox/widget/nls/hu/Wizard.js +5 -0
  2126. data/data/dojo-release-1.1.1-src/dojox/widget/nls/it/Wizard.js +5 -0
  2127. data/data/dojo-release-1.1.1-src/dojox/widget/nls/ja/Wizard.js +5 -0
  2128. data/data/dojo-release-1.1.1-src/dojox/widget/nls/ko/Wizard.js +5 -0
  2129. data/data/dojo-release-1.1.1-src/dojox/widget/nls/nb/Wizard.js +5 -0
  2130. data/data/dojo-release-1.1.1-src/dojox/widget/nls/nl/Wizard.js +5 -0
  2131. data/data/dojo-release-1.1.1-src/dojox/widget/nls/pl/Wizard.js +5 -0
  2132. data/data/dojo-release-1.1.1-src/dojox/widget/nls/pt/Wizard.js +5 -0
  2133. data/data/dojo-release-1.1.1-src/dojox/widget/nls/pt-pt/Wizard.js +1 -0
  2134. data/data/dojo-release-1.1.1-src/dojox/widget/nls/ru/Wizard.js +5 -0
  2135. data/data/dojo-release-1.1.1-src/dojox/widget/nls/sv/Wizard.js +5 -0
  2136. data/data/dojo-release-1.1.1-src/dojox/widget/nls/tr/Wizard.js +5 -0
  2137. data/data/dojo-release-1.1.1-src/dojox/widget/nls/zh/Wizard.js +5 -0
  2138. data/data/dojo-release-1.1.1-src/dojox/widget/nls/zh-tw/Wizard.js +5 -0
  2139. data/data/dojo-release-1.1.1-src/dojox/widget/tests/_tags.json +100 -0
  2140. data/data/dojo-release-1.1.1-src/dojox/widget/tests/demo_FisheyeList-orig.html +111 -0
  2141. data/data/dojo-release-1.1.1-src/dojox/widget/tests/demo_FisheyeList.html +117 -0
  2142. data/data/dojo-release-1.1.1-src/dojox/widget/tests/demo_FisheyeLite.html +175 -0
  2143. data/data/dojo-release-1.1.1-src/dojox/widget/tests/images/fisheye_1.png +0 -0
  2144. data/data/dojo-release-1.1.1-src/dojox/widget/tests/images/fisheye_2.png +0 -0
  2145. data/data/dojo-release-1.1.1-src/dojox/widget/tests/images/fisheye_3.png +0 -0
  2146. data/data/dojo-release-1.1.1-src/dojox/widget/tests/images/fisheye_4.png +0 -0
  2147. data/data/dojo-release-1.1.1-src/dojox/widget/tests/images/icon_browser.png +0 -0
  2148. data/data/dojo-release-1.1.1-src/dojox/widget/tests/images/icon_calendar.png +0 -0
  2149. data/data/dojo-release-1.1.1-src/dojox/widget/tests/images/icon_email.png +0 -0
  2150. data/data/dojo-release-1.1.1-src/dojox/widget/tests/images/icon_texteditor.png +0 -0
  2151. data/data/dojo-release-1.1.1-src/dojox/widget/tests/images/icon_update.png +0 -0
  2152. data/data/dojo-release-1.1.1-src/dojox/widget/tests/images/icon_users.png +0 -0
  2153. data/data/dojo-release-1.1.1-src/dojox/widget/tests/images/rating_empty.gif +0 -0
  2154. data/data/dojo-release-1.1.1-src/dojox/widget/tests/images/rating_empty.png +0 -0
  2155. data/data/dojo-release-1.1.1-src/dojox/widget/tests/images/rating_full.gif +0 -0
  2156. data/data/dojo-release-1.1.1-src/dojox/widget/tests/images/rating_full.png +0 -0
  2157. data/data/dojo-release-1.1.1-src/dojox/widget/tests/test_ColorPicker.html +41 -0
  2158. data/data/dojo-release-1.1.1-src/dojox/widget/tests/test_FileInput.html +115 -0
  2159. data/data/dojo-release-1.1.1-src/dojox/widget/tests/test_FisheyeList.html +144 -0
  2160. data/data/dojo-release-1.1.1-src/dojox/widget/tests/test_FisheyeLite.html +257 -0
  2161. data/data/dojo-release-1.1.1-src/dojox/widget/tests/test_Iterator.html +73 -0
  2162. data/data/dojo-release-1.1.1-src/dojox/widget/tests/test_Loader.html +81 -0
  2163. data/data/dojo-release-1.1.1-src/dojox/widget/tests/test_MultiComboBox.html +70 -0
  2164. data/data/dojo-release-1.1.1-src/dojox/widget/tests/test_Rating.html +91 -0
  2165. data/data/dojo-release-1.1.1-src/dojox/widget/tests/test_SortList.html +74 -0
  2166. data/data/dojo-release-1.1.1-src/dojox/widget/tests/test_TimeSpinner.html +87 -0
  2167. data/data/dojo-release-1.1.1-src/dojox/widget/tests/test_Toaster.html +147 -0
  2168. data/data/dojo-release-1.1.1-src/dojox/widget/tests/test_Wizard.html +118 -0
  2169. data/data/dojo-release-1.1.1-src/dojox/wire/CompositeWire.js +99 -0
  2170. data/data/dojo-release-1.1.1-src/dojox/wire/DataWire.js +175 -0
  2171. data/data/dojo-release-1.1.1-src/dojox/wire/README +53 -0
  2172. data/data/dojo-release-1.1.1-src/dojox/wire/TableAdapter.js +84 -0
  2173. data/data/dojo-release-1.1.1-src/dojox/wire/TextAdapter.js +84 -0
  2174. data/data/dojo-release-1.1.1-src/dojox/wire/TreeAdapter.js +184 -0
  2175. data/data/dojo-release-1.1.1-src/dojox/wire/Wire.js +332 -0
  2176. data/data/dojo-release-1.1.1-src/dojox/wire/XmlWire.js +240 -0
  2177. data/data/dojo-release-1.1.1-src/dojox/wire/_base.js +191 -0
  2178. data/data/dojo-release-1.1.1-src/dojox/wire/demos/TableContainer.css +30 -0
  2179. data/data/dojo-release-1.1.1-src/dojox/wire/demos/TableContainer.js +64 -0
  2180. data/data/dojo-release-1.1.1-src/dojox/wire/demos/WidgetRepeater.js +29 -0
  2181. data/data/dojo-release-1.1.1-src/dojox/wire/demos/markup/countries.json +43 -0
  2182. data/data/dojo-release-1.1.1-src/dojox/wire/demos/markup/demo_ActionChaining.html +108 -0
  2183. data/data/dojo-release-1.1.1-src/dojox/wire/demos/markup/demo_ActionWiring.html +142 -0
  2184. data/data/dojo-release-1.1.1-src/dojox/wire/demos/markup/demo_BasicChildWire.html +78 -0
  2185. data/data/dojo-release-1.1.1-src/dojox/wire/demos/markup/demo_BasicColumnWiring.html +90 -0
  2186. data/data/dojo-release-1.1.1-src/dojox/wire/demos/markup/demo_ConditionalActions.html +221 -0
  2187. data/data/dojo-release-1.1.1-src/dojox/wire/demos/markup/demo_FlickrStoreWire.html +281 -0
  2188. data/data/dojo-release-1.1.1-src/dojox/wire/demos/markup/demo_TopicWiring.html +78 -0
  2189. data/data/dojo-release-1.1.1-src/dojox/wire/demos/markup/flickrDemo.css +35 -0
  2190. data/data/dojo-release-1.1.1-src/dojox/wire/demos/markup/states.json +56 -0
  2191. data/data/dojo-release-1.1.1-src/dojox/wire/ml/Action.js +221 -0
  2192. data/data/dojo-release-1.1.1-src/dojox/wire/ml/Data.js +139 -0
  2193. data/data/dojo-release-1.1.1-src/dojox/wire/ml/DataStore.js +112 -0
  2194. data/data/dojo-release-1.1.1-src/dojox/wire/ml/Invocation.js +167 -0
  2195. data/data/dojo-release-1.1.1-src/dojox/wire/ml/Service.js +336 -0
  2196. data/data/dojo-release-1.1.1-src/dojox/wire/ml/Transfer.js +355 -0
  2197. data/data/dojo-release-1.1.1-src/dojox/wire/ml/util.js +291 -0
  2198. data/data/dojo-release-1.1.1-src/dojox/wire/tests/markup/Action.html +147 -0
  2199. data/data/dojo-release-1.1.1-src/dojox/wire/tests/markup/Data.html +105 -0
  2200. data/data/dojo-release-1.1.1-src/dojox/wire/tests/markup/DataStore.html +66 -0
  2201. data/data/dojo-release-1.1.1-src/dojox/wire/tests/markup/DataStore.xml +18 -0
  2202. data/data/dojo-release-1.1.1-src/dojox/wire/tests/markup/Invocation.html +53 -0
  2203. data/data/dojo-release-1.1.1-src/dojox/wire/tests/markup/Service/JSON.smd +11 -0
  2204. data/data/dojo-release-1.1.1-src/dojox/wire/tests/markup/Service/XML.smd +11 -0
  2205. data/data/dojo-release-1.1.1-src/dojox/wire/tests/markup/Service/a.json +5 -0
  2206. data/data/dojo-release-1.1.1-src/dojox/wire/tests/markup/Service/a.xml +5 -0
  2207. data/data/dojo-release-1.1.1-src/dojox/wire/tests/markup/Service.html +84 -0
  2208. data/data/dojo-release-1.1.1-src/dojox/wire/tests/markup/Transfer.html +157 -0
  2209. data/data/dojo-release-1.1.1-src/dojox/wire/tests/module.js +9 -0
  2210. data/data/dojo-release-1.1.1-src/dojox/wire/tests/programmatic/CompositeWire.js +47 -0
  2211. data/data/dojo-release-1.1.1-src/dojox/wire/tests/programmatic/ConverterDynamic.js +8 -0
  2212. data/data/dojo-release-1.1.1-src/dojox/wire/tests/programmatic/DataWire.js +21 -0
  2213. data/data/dojo-release-1.1.1-src/dojox/wire/tests/programmatic/TableAdapter.js +20 -0
  2214. data/data/dojo-release-1.1.1-src/dojox/wire/tests/programmatic/TextAdapter.js +21 -0
  2215. data/data/dojo-release-1.1.1-src/dojox/wire/tests/programmatic/TreeAdapter.js +25 -0
  2216. data/data/dojo-release-1.1.1-src/dojox/wire/tests/programmatic/Wire.js +119 -0
  2217. data/data/dojo-release-1.1.1-src/dojox/wire/tests/programmatic/XmlWire.js +28 -0
  2218. data/data/dojo-release-1.1.1-src/dojox/wire/tests/programmatic/_base.js +107 -0
  2219. data/data/dojo-release-1.1.1-src/dojox/wire/tests/runTests.html +9 -0
  2220. data/data/dojo-release-1.1.1-src/dojox/wire/tests/wire.js +14 -0
  2221. data/data/dojo-release-1.1.1-src/dojox/wire/tests/wireml.js +14 -0
  2222. data/data/dojo-release-1.1.1-src/dojox/wire.js +3 -0
  2223. data/data/dojo-release-1.1.1-src/dojox/xml/DomParser.js +375 -0
  2224. data/data/dojo-release-1.1.1-src/dojox/xml/README +40 -0
  2225. data/data/dojo-release-1.1.1-src/util/LICENSE +195 -0
  2226. data/data/dojo-release-1.1.1-src/util/buildscripts/LICENSE +195 -0
  2227. data/data/dojo-release-1.1.1-src/util/buildscripts/README +44 -0
  2228. data/data/dojo-release-1.1.1-src/util/buildscripts/build.bat +1 -0
  2229. data/data/dojo-release-1.1.1-src/util/buildscripts/build.js +327 -0
  2230. data/data/dojo-release-1.1.1-src/util/buildscripts/build.sh +3 -0
  2231. data/data/dojo-release-1.1.1-src/util/buildscripts/build_notice.txt +9 -0
  2232. data/data/dojo-release-1.1.1-src/util/buildscripts/build_release.sh +89 -0
  2233. data/data/dojo-release-1.1.1-src/util/buildscripts/changeVersion.js +13 -0
  2234. data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/README +9 -0
  2235. data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/arrayInherit.js +102 -0
  2236. data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/build.xml +250 -0
  2237. data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/calendar.xsl +495 -0
  2238. data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/currency.xsl +127 -0
  2239. data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/ldml/CatalogManager.properties +16 -0
  2240. data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/ldml/LICENSE +29 -0
  2241. data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/ldml/README +3 -0
  2242. data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/ldml/catalog +8 -0
  2243. data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/ldml/core.zip +0 -0
  2244. data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/ldml/ldml.dtd +1096 -0
  2245. data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/lib/APL-2.0.html +408 -0
  2246. data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/lib/LICENSE +12 -0
  2247. data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/lib/MPL-1.0.html +420 -0
  2248. data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/lib/MPL-1.1.html +389 -0
  2249. data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/lib/ant-apache-bsf.jar +0 -0
  2250. data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/lib/bsf.jar +0 -0
  2251. data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/lib/js.jar +0 -0
  2252. data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/lib/resolver.jar +0 -0
  2253. data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/lib/saxon8.jar +0 -0
  2254. data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/number.xsl +209 -0
  2255. data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/specialLocale.js +179 -0
  2256. data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/util.xsl +86 -0
  2257. data/data/dojo-release-1.1.1-src/util/buildscripts/copyright.txt +10 -0
  2258. data/data/dojo-release-1.1.1-src/util/buildscripts/jslib/buildUtil.js +1535 -0
  2259. data/data/dojo-release-1.1.1-src/util/buildscripts/jslib/buildUtilXd.js +175 -0
  2260. data/data/dojo-release-1.1.1-src/util/buildscripts/jslib/checkBuildSize.js +13 -0
  2261. data/data/dojo-release-1.1.1-src/util/buildscripts/jslib/convertTestsToXDomain.js +17 -0
  2262. data/data/dojo-release-1.1.1-src/util/buildscripts/jslib/dojoGuardEnd.jsfrag +10 -0
  2263. data/data/dojo-release-1.1.1-src/util/buildscripts/jslib/dojoGuardStart.jsfrag +39 -0
  2264. data/data/dojo-release-1.1.1-src/util/buildscripts/jslib/fileUtil.js +169 -0
  2265. data/data/dojo-release-1.1.1-src/util/buildscripts/jslib/i18nUtil.js +319 -0
  2266. data/data/dojo-release-1.1.1-src/util/buildscripts/jslib/logger.js +36 -0
  2267. data/data/dojo-release-1.1.1-src/util/buildscripts/jslib/packer/LICENSE +24 -0
  2268. data/data/dojo-release-1.1.1-src/util/buildscripts/jslib/packer/Packer.js +203 -0
  2269. data/data/dojo-release-1.1.1-src/util/buildscripts/jslib/packer/Words.js +62 -0
  2270. data/data/dojo-release-1.1.1-src/util/buildscripts/jslib/packer/base2.js +972 -0
  2271. data/data/dojo-release-1.1.1-src/util/buildscripts/listProfileDeps.js +18 -0
  2272. data/data/dojo-release-1.1.1-src/util/buildscripts/makeDojoJsWeb.js +103 -0
  2273. data/data/dojo-release-1.1.1-src/util/buildscripts/profiles/base.profile.js +1 -0
  2274. data/data/dojo-release-1.1.1-src/util/buildscripts/profiles/cometd.profile.js +15 -0
  2275. data/data/dojo-release-1.1.1-src/util/buildscripts/profiles/layers.profile.js +66 -0
  2276. data/data/dojo-release-1.1.1-src/util/buildscripts/profiles/offline.profile.js +21 -0
  2277. data/data/dojo-release-1.1.1-src/util/buildscripts/profiles/rhino.profile.js +16 -0
  2278. data/data/dojo-release-1.1.1-src/util/buildscripts/profiles/standard.profile.js +32 -0
  2279. data/data/dojo-release-1.1.1-src/util/buildscripts/profiles/storage.profile.js +21 -0
  2280. data/data/dojo-release-1.1.1-src/util/buildscripts/tests/conditionalTest.js +21 -0
  2281. data/data/dojo-release-1.1.1-src/util/buildscripts/tests/conditionalTest.txt +17 -0
  2282. data/data/dojo-release-1.1.1-src/util/buildscripts/tests/foo/page/view.js +7 -0
  2283. data/data/dojo-release-1.1.1-src/util/buildscripts/tests/profiles/customBase.profile.js +15 -0
  2284. data/data/dojo-release-1.1.1-src/util/buildscripts/tests/profiles/nestedNls.profile.js +27 -0
  2285. data/data/dojo-release-1.1.1-src/util/buildscripts/webbuild/builder_ui.html +442 -0
  2286. data/data/dojo-release-1.1.1-src/util/buildscripts/webbuild/dojo.js.html +33 -0
  2287. data/data/dojo-release-1.1.1-src/util/buildscripts/webbuild/helma/apps/builder/Global/download.skin +1 -0
  2288. data/data/dojo-release-1.1.1-src/util/buildscripts/webbuild/helma/apps/builder/Global/global.js +36 -0
  2289. data/data/dojo-release-1.1.1-src/util/buildscripts/webbuild/helma/apps/builder/Root/main.hac +102 -0
  2290. data/data/dojo-release-1.1.1-src/util/buildscripts/webbuild/helma/apps/builder/app.properties +2 -0
  2291. data/data/dojo-release-1.1.1-src/util/buildscripts/webbuild/helma/apps.properties +28 -0
  2292. data/data/dojo-release-1.1.1-src/util/buildscripts/webbuild/index.html +683 -0
  2293. data/data/dojo-release-1.1.1-src/util/buildscripts/webbuild/makeWebBuildModuleList.js +95 -0
  2294. data/data/dojo-release-1.1.1-src/util/buildscripts/webbuild/topIndex.html +299 -0
  2295. data/data/dojo-release-1.1.1-src/util/buildscripts/webbuild/webbuild.js +55 -0
  2296. data/data/dojo-release-1.1.1-src/util/buildscripts/webbuild/webbuild.sh +54 -0
  2297. data/data/dojo-release-1.1.1-src/util/buildscripts/webbuild.html +34 -0
  2298. data/data/dojo-release-1.1.1-src/util/buildscripts/webbuild.php +23 -0
  2299. data/data/dojo-release-1.1.1-src/util/docscripts/LICENSE +195 -0
  2300. data/data/dojo-release-1.1.1-src/util/docscripts/README +0 -0
  2301. data/data/dojo-release-1.1.1-src/util/docscripts/_browse.php +227 -0
  2302. data/data/dojo-release-1.1.1-src/util/docscripts/generate.php +152 -0
  2303. data/data/dojo-release-1.1.1-src/util/docscripts/includes/dojo.inc +480 -0
  2304. data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/Dojo.php +62 -0
  2305. data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoArray.php +20 -0
  2306. data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoBlock.php +27 -0
  2307. data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoBoolean.php +16 -0
  2308. data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoExecutedFunction.php +90 -0
  2309. data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoFunction.php +0 -0
  2310. data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoFunctionBody.php +659 -0
  2311. data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoFunctionCall.php +76 -0
  2312. data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoFunctionDeclare.php +436 -0
  2313. data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoNull.php +18 -0
  2314. data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoObject.php +212 -0
  2315. data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoPackage.php +454 -0
  2316. data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoParameter.php +160 -0
  2317. data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoParameters.php +55 -0
  2318. data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoString.php +18 -0
  2319. data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoVariable.php +21 -0
  2320. data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/README +2 -0
  2321. data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/Text.php +213 -0
  2322. data/data/dojo-release-1.1.1-src/util/docscripts/makeCix.php +290 -0
  2323. data/data/dojo-release-1.1.1-src/util/docscripts/modules/dijit.module +29 -0
  2324. data/data/dojo-release-1.1.1-src/util/docscripts/modules/dojo.module +29 -0
  2325. data/data/dojo-release-1.1.1-src/util/docscripts/modules/dojox.module +26 -0
  2326. data/data/dojo-release-1.1.1-src/util/doh/LICENSE +195 -0
  2327. data/data/dojo-release-1.1.1-src/util/doh/README +12 -0
  2328. data/data/dojo-release-1.1.1-src/util/doh/_browserRunner.js +465 -0
  2329. data/data/dojo-release-1.1.1-src/util/doh/_rhinoRunner.js +17 -0
  2330. data/data/dojo-release-1.1.1-src/util/doh/_sounds/LICENSE +10 -0
  2331. data/data/dojo-release-1.1.1-src/util/doh/_sounds/doh.wav +0 -0
  2332. data/data/dojo-release-1.1.1-src/util/doh/_sounds/dohaaa.wav +0 -0
  2333. data/data/dojo-release-1.1.1-src/util/doh/_sounds/woohoo.wav +0 -0
  2334. data/data/dojo-release-1.1.1-src/util/doh/runner.html +283 -0
  2335. data/data/dojo-release-1.1.1-src/util/doh/runner.js +948 -0
  2336. data/data/dojo-release-1.1.1-src/util/doh/runner.sh +3 -0
  2337. data/data/dojo-release-1.1.1-src/util/doh/small_logo.png +0 -0
  2338. data/data/dojo-release-1.1.1-src/util/jsdoc/INSTALL +41 -0
  2339. data/data/dojo-release-1.1.1-src/util/jsdoc/LICENSE +195 -0
  2340. data/data/dojo-release-1.1.1-src/util/jsdoc/THEMING +0 -0
  2341. data/data/dojo-release-1.1.1-src/util/jsdoc/jsdoc.css +24 -0
  2342. data/data/dojo-release-1.1.1-src/util/jsdoc/jsdoc.info +5 -0
  2343. data/data/dojo-release-1.1.1-src/util/jsdoc/jsdoc.install +190 -0
  2344. data/data/dojo-release-1.1.1-src/util/jsdoc/jsdoc.js +60 -0
  2345. data/data/dojo-release-1.1.1-src/util/jsdoc/jsdoc.module +4473 -0
  2346. data/data/dojo-release-1.1.1-src/util/jsdoc/lib/EXTERNALS +1 -0
  2347. data/data/dojo-release-1.1.1-src/util/jsdoc/template.php +16 -0
  2348. data/data/dojo-release-1.1.1-src/util/resources/LICENSE +195 -0
  2349. data/data/dojo-release-1.1.1-src/util/resources/api/api.xml +0 -0
  2350. data/data/dojo-release-1.1.1-src/util/resources/api/dojo.cix +0 -0
  2351. data/data/dojo-release-1.1.1-src/util/resources/dojotoolkit.org/mini-dtk/dojo-styles.css +114 -0
  2352. data/data/dojo-release-1.1.1-src/util/resources/dojotoolkit.org/mini-dtk/images/bg-content-left.png +0 -0
  2353. data/data/dojo-release-1.1.1-src/util/resources/dojotoolkit.org/mini-dtk/images/bg-content-right.png +0 -0
  2354. data/data/dojo-release-1.1.1-src/util/resources/dojotoolkit.org/mini-dtk/images/body.png +0 -0
  2355. data/data/dojo-release-1.1.1-src/util/resources/dojotoolkit.org/mini-dtk/images/logo.png +0 -0
  2356. data/data/dojo-release-1.1.1-src/util/resources/dojotoolkit.org/mini-dtk/mini-dtk.css +34 -0
  2357. data/data/dojo-release-1.1.1-src/util/resources/dojotoolkit.org/mini-dtk/mini-dtk.psd +0 -0
  2358. data/data/dojo-release-1.1.1-src/util/resources/dojotoolkit.org/mini-dtk/style.css +1092 -0
  2359. data/data/dojo-release-1.1.1-src/util/resources/dojotoolkit.org/mini-dtk/template.html +115 -0
  2360. data/data/dojo-release-1.1.1-src/util/resources/logo/negative/dijit.logo.neg.ai +4111 -22
  2361. data/data/dojo-release-1.1.1-src/util/resources/logo/negative/dijit.logo.neg.eps +5557 -0
  2362. data/data/dojo-release-1.1.1-src/util/resources/logo/negative/dijit.logo.neg.png +0 -0
  2363. data/data/dojo-release-1.1.1-src/util/resources/logo/negative/dijit.logo.neg.svg +987 -0
  2364. data/data/dojo-release-1.1.1-src/util/resources/logo/negative/dojo.logo.neg.ai +0 -0
  2365. data/data/dojo-release-1.1.1-src/util/resources/logo/negative/dojo.logo.neg.big.png +0 -0
  2366. data/data/dojo-release-1.1.1-src/util/resources/logo/negative/dojo.logo.neg.eps +64 -0
  2367. data/data/dojo-release-1.1.1-src/util/resources/logo/negative/dojo.logo.neg.png +0 -0
  2368. data/data/dojo-release-1.1.1-src/util/resources/logo/negative/dojo.logo.neg.svg +36 -0
  2369. data/data/dojo-release-1.1.1-src/util/resources/logo/negative/dojox.logo.neg.ai +3995 -16
  2370. data/data/dojo-release-1.1.1-src/util/resources/logo/negative/dojox.logo.neg.eps +5357 -0
  2371. data/data/dojo-release-1.1.1-src/util/resources/logo/negative/dojox.logo.neg.png +0 -0
  2372. data/data/dojo-release-1.1.1-src/util/resources/logo/negative/dojox.logo.neg.svg +41 -0
  2373. data/data/dojo-release-1.1.1-src/util/resources/logo/positive/dijit.logo.ai +4161 -18
  2374. data/data/dojo-release-1.1.1-src/util/resources/logo/positive/dijit.logo.eps +5562 -0
  2375. data/data/dojo-release-1.1.1-src/util/resources/logo/positive/dijit.logo.png +0 -0
  2376. data/data/dojo-release-1.1.1-src/util/resources/logo/positive/dijit.logo.svg +987 -0
  2377. data/data/dojo-release-1.1.1-src/util/resources/logo/positive/dojo.logo.ai +3719 -15
  2378. data/data/dojo-release-1.1.1-src/util/resources/logo/positive/dojo.logo.big.png +0 -0
  2379. data/data/dojo-release-1.1.1-src/util/resources/logo/positive/dojo.logo.eps +64 -0
  2380. data/data/dojo-release-1.1.1-src/util/resources/logo/positive/dojo.logo.png +0 -0
  2381. data/data/dojo-release-1.1.1-src/util/resources/logo/positive/dojo.logo.svg +36 -0
  2382. data/data/dojo-release-1.1.1-src/util/resources/logo/positive/dojox.logo.ai +4065 -16
  2383. data/data/dojo-release-1.1.1-src/util/resources/logo/positive/dojox.logo.eps +5362 -0
  2384. data/data/dojo-release-1.1.1-src/util/resources/logo/positive/dojox.logo.png +0 -0
  2385. data/data/dojo-release-1.1.1-src/util/resources/logo/positive/dojox.logo.svg +41 -0
  2386. data/data/dojo-release-1.1.1-src/util/shrinksafe/BUILD +13 -0
  2387. data/data/dojo-release-1.1.1-src/util/shrinksafe/LICENSE +6 -0
  2388. data/data/dojo-release-1.1.1-src/util/shrinksafe/MPL-1.1.html +389 -0
  2389. data/data/dojo-release-1.1.1-src/util/shrinksafe/custom_rhino.diff +1343 -0
  2390. data/data/dojo-release-1.1.1-src/util/shrinksafe/custom_rhino.jar +0 -0
  2391. data/lib/dojo-pkg/errors.rb +6 -0
  2392. data/lib/dojo-pkg/version.rb +16 -0
  2393. data/lib/dojo-pkg.rb +72 -0
  2394. data/script/console +10 -0
  2395. data/script/destroy +14 -0
  2396. data/script/generate +14 -0
  2397. data/script/txt2html +82 -0
  2398. data/setup.rb +1585 -0
  2399. data/tasks/deployment.rake +34 -0
  2400. data/tasks/environment.rake +7 -0
  2401. data/tasks/website.rake +17 -0
  2402. data/test/test_dojo-pkg.rb +38 -0
  2403. data/test/test_helper.rb +2 -0
  2404. data/website/index.html +80 -0
  2405. data/website/index.txt +78 -0
  2406. data/website/javascripts/rounded_corners_lite.inc.js +285 -0
  2407. data/website/stylesheets/screen.css +137 -0
  2408. data/website/template.html.erb +48 -0
  2409. metadata +2497 -0
@@ -0,0 +1,4473 @@
1
+ <?php
2
+ // $Id$
3
+
4
+ /**
5
+ * @file
6
+ * Documentation front-end for JavaScript projects.
7
+ *
8
+ * Allows JavaScript projects to parse their code and return an object structure
9
+ * that will be used to generate custom Drupal nodes.
10
+ */
11
+
12
+ // Public API (intended for use in a JS source page)
13
+ // =================================================
14
+
15
+ // Implemented global hook functions
16
+ // =================================
17
+
18
+ /**
19
+ * Implementation of hook_node_info().
20
+ */
21
+ function jsdoc_node_info() {
22
+ return array(
23
+ 'jsdoc_object' => array('name' => t('JavaScript Object'), 'module' => 'jsdoc_object', 'description' => t('An implemented JavaScript object')),
24
+ 'jsdoc_variable' => array('name' => t('JavaScript Variable'), 'module' => 'jsdoc_variable', 'description' => t('A disambiguation in case an object occurs in more than one file.')),
25
+ 'jsdoc_resource' => array('name' => t('JavaScript Resource'), 'module' => 'jsdoc_resource', 'description' => t('A "dot-notation" pointer to a file or include')),
26
+ 'jsdoc_project' => array('name' => t('JavaScript Project'), 'module' => 'jsdoc_project'),
27
+ 'jsdoc_version' => array('name' => t('JavaScript Project Version'), 'module' => 'jsdoc_version')
28
+ );
29
+ }
30
+
31
+ /**
32
+ * Implementation of hook_perm().
33
+ */
34
+ function jsdoc_perm() {
35
+ return array('edit jsdoc');
36
+ }
37
+
38
+ /**
39
+ * Implementation of hook_menu().
40
+ */
41
+ function jsdoc_menu($may_cache) {
42
+ $items = array();
43
+ $version = $_SESSION['jsdoc_version'];
44
+
45
+ if ($may_cache) {
46
+ $items[] = array(
47
+ 'path' => 'admin/settings/jsdoc',
48
+ 'title' => t('JavaScript Documentation'),
49
+ 'callback' => 'drupal_get_form',
50
+ 'callback arguments' => array('jsdoc_admin'),
51
+ 'access' => user_access('access administration pages'),
52
+ 'type' => MENU_NORMAL_ITEM
53
+ );
54
+
55
+ $items[] = array(
56
+ 'path' => 'node/add/jsdoc',
57
+ 'access' => false
58
+ );
59
+
60
+ $items[] = array(
61
+ 'path' => 'node/add/jsdoc_object',
62
+ 'access' => false
63
+ );
64
+
65
+ $items[] = array(
66
+ 'path' => 'node/add/jsdoc_resource',
67
+ 'access' => false
68
+ );
69
+
70
+ $items[] = array(
71
+ 'path' => 'jsdoc/jsonp',
72
+ 'type' => MENU_CALLBACK,
73
+ 'callback' => 'jsdoc_jsonp',
74
+ 'access' => true
75
+ );
76
+
77
+ $items[] = array(
78
+ 'path' => 'jsdoc/jsonp',
79
+ 'type' => MENU_CALLBACK,
80
+ 'callback' => 'jsdoc_jsonp',
81
+ 'access' => true
82
+ );
83
+
84
+ $items[] = array(
85
+ 'path' => 'jsdoc/ide',
86
+ 'type' => MENU_CALLBACK,
87
+ 'callback' => 'jsdoc_ide',
88
+ 'access' => true
89
+ );
90
+ }
91
+ else {
92
+ if (db_result(db_query("SELECT 1 FROM {jsdoc_objects} WHERE used = 0 OR new = 1"))) {
93
+ $items[] = array('path' => 'jsdoc/manage',
94
+ 'title' => t('Manage Documentation Changes'),
95
+ 'callback' => 'drupal_get_form',
96
+ 'callback arguments' => array('jsdoc_manage'),
97
+ 'access' => user_access('edit jsdoc'),
98
+ 'type' => MENU_NORMAL_ITEM
99
+ );
100
+ }
101
+
102
+ if (arg(0) == 'jsdoc' && arg(1) != 'jsonp') {
103
+ $project = false;
104
+ $version = false;
105
+ $resource = false;
106
+ $name = '';
107
+ $path = '';
108
+ if (arg(4)) {
109
+ // If we have 4 arguments, assume that we've been passed a resource
110
+ $project = arg(1);
111
+ $version = arg(2);
112
+ $resource = str_replace('__', '/', arg(3));
113
+ $name = arg(4);
114
+ $path = "jsdoc/$project/$version/" . arg(3) . "/$name";
115
+
116
+ // TODO: Remove this once search engines have stopped indexing it.
117
+ if ($resource == 'object') {
118
+ drupal_goto("jsdoc/$project/$version/$name");
119
+ }
120
+ }
121
+ elseif (arg(3)) {
122
+ // If we have 3 arguments, assume that we don't have a resource
123
+ $project = arg(1);
124
+ $version = arg(2);
125
+ $name = arg(3);
126
+ $path = "jsdoc/$project/$version/$name";
127
+ }
128
+ elseif (arg(2)) {
129
+ // If we have 2 arguments, assume that we don't have a resource or project
130
+ // So basically, we assume that version is more important than project
131
+ $version = arg(1);
132
+ $name = arg(2);
133
+ $path = "jsdoc/$version/$name";
134
+ }
135
+ elseif (arg(1)) {
136
+ // Allow the user to only pass the name
137
+ $name = arg(1);
138
+ $path = "jsdoc/$name";
139
+ }
140
+
141
+ if ($node = jsdoc_object_nodes_load($name, $project, $version, $resource)) {
142
+ if (count($node) == 1) {
143
+ $node = $node[0];
144
+ jsdoc_current_node($node);
145
+ }
146
+ $item = array(
147
+ 'path' => $path,
148
+ 'title' => t('View'),
149
+ 'access' => node_access('view', $node),
150
+ 'type' => MENU_CALLBACK
151
+ );
152
+ if (is_array($node)) {
153
+ $item['callback'] = 'jsdoc_variables_node_view';
154
+ $item['callback arguments'] = array($node);
155
+ }
156
+ else {
157
+ if ($node->type == 'jsdoc_object') {
158
+ $item['callback'] = 'jsdoc_object_node_view';
159
+ $item['callback arguments'] = array($node);
160
+ }
161
+ else {
162
+ $item['callback'] = 'jsdoc_variable_node_view';
163
+ $item['callback arguments'] = array($node);
164
+ }
165
+ }
166
+ $items[] = $item;
167
+ }
168
+ }
169
+ }
170
+
171
+ return $items;
172
+ }
173
+
174
+ /**
175
+ * Impelementation of hook_block
176
+ */
177
+ function jsdoc_block($op='list', $delta=0) {
178
+ if (module_exists('search')) {
179
+ if ($op == 'list') {
180
+ $block[0]['info'] = t('JavaScript Documentation Search');
181
+ $block[1]['info'] = t('JavaScript Namespace List');
182
+ return $block;
183
+ }
184
+ elseif ($op == 'view') {
185
+ if ($delta == 0) {
186
+ $block['subject'] = 'Search';
187
+ $block['content'] = preg_replace('%ignore.*endignore%s', theme('jsdoc_search', 'search'), drupal_get_form('_jsdoc_block_search'));
188
+ return $block;
189
+ }
190
+ elseif ($delta == 1) {
191
+ $namespaces = array();
192
+
193
+ $current = jsdoc_current_node();
194
+
195
+ if ($_GET['jsdoc_project'] || $current) {
196
+ if ($_GET['jsdoc_project']) {
197
+ $project_title = $_GET['jsdoc_project'];
198
+ }
199
+ else {
200
+ $project_title = jsdoc_get_project($current)->title;
201
+ }
202
+
203
+ foreach (jsdoc_projects() as $project) {
204
+ if ($project->title != $project_title) {
205
+ $namespaces[] = (object)array(
206
+ 'title' => $project->title,
207
+ 'url' => url($_GET['q'], 'jsdoc_project=' . $project->title),
208
+ 'a' => l($project->title, $_GET['q'], array(), 'jsdoc_project=' . $project->title)
209
+ );
210
+ }
211
+ else {
212
+ if ($_GET['jsdoc_project']) {
213
+ $version = jsdoc_version_node_load('HEAD', $_GET['jsdoc_project']);
214
+ $project = jsdoc_get_project($version);
215
+ }
216
+ else {
217
+ $version = jsdoc_get_version($current);
218
+ $project = jsdoc_get_project($current);
219
+ }
220
+
221
+ if (!($all_namespaces = cache_get('jsdoc_namespaces_' . $project->title, 'cache'))) {
222
+ $all_namespaces = array();
223
+ }
224
+ else {
225
+ $all_namespaces = unserialize($all_namespaces->data);
226
+ }
227
+ if (empty($all_namespaces[$version->nid])) {
228
+ $query = db_query("SELECT n.title, n.nid, n.vid, jo.type AS jsdoc_type, jo.initialized AS jsdoc_initialized FROM {jsdoc_objects} jo JOIN {node} n ON (n.vid = jo.vid) WHERE jo.private = 0 AND jo.private_parent = 0 AND jo.version = %d AND (n.title = '%s' OR n.title LIKE '%s.%%') AND (jo.type = 'Object' OR (jo.type = 'Function' AND jo.initialized = 1)) GROUP BY BINARY n.title ORDER BY n.title", $version->nid, $project->title, $project->title);
229
+ while ($result = db_fetch_object($query)) {
230
+ if (jsdoc_is_namespace($result)) {
231
+ $all_namespaces[$version->nid][] = array($result->nid, $result->vid);
232
+ }
233
+ }
234
+ cache_set('jsdoc_namespaces_' . $project->title, 'cache', serialize($all_namespaces));
235
+ }
236
+
237
+ foreach ($all_namespaces[$version->nid] as $namespace) {
238
+ $namespace = _jsdoc_node_load($namespace[0], $namespace[1]);
239
+ $children = false;
240
+
241
+ if ($_GET['jsdoc_object'] == $namespace->title) {
242
+ $variables = jsdoc_get_child_variables($namespace);
243
+ if (!empty($variables)) {
244
+ foreach ($variables as $child) {
245
+ $children[$child->title] = _jsdoc_get_object_themed($child);
246
+ }
247
+ uksort($children, "strnatcasecmp");
248
+ }
249
+ }
250
+
251
+ $namespace = _jsdoc_get_object_themed($namespace);
252
+ $namespace->children = $children;
253
+ $namespace->url = url($namespace->title, $_GET['q'], 'jsdoc_project=' . $_GET['jsdoc_project'] . '&jsdoc_object=' . $namespace->title);
254
+ $namespace->a = l($namespace->title, $_GET['q'], array(), 'jsdoc_project=' . $_GET['jsdoc_project'] . '&jsdoc_object=' . $namespace->title);
255
+
256
+ $namespaces[] = $namespace;
257
+ }
258
+ }
259
+ }
260
+ }
261
+ else {
262
+ foreach (jsdoc_projects() as $project) {
263
+ $namespaces[] = (object)array(
264
+ 'title' => $project->title,
265
+ 'url' => url($_GET['q'], 'jsdoc_project=' . $project->title),
266
+ 'a' => l($project->title, $_GET['q'], array(), 'jsdoc_project=' . $project->title)
267
+ );
268
+ }
269
+ }
270
+ //$namespaces = unserialize(cache_get('jsdoc_namespaces', 'cache')->data);
271
+ $block['subject'] = 'Objects';
272
+ $block['content'] = theme('jsdoc_namespaces', $namespaces);
273
+ return $block;
274
+ }
275
+ }
276
+ }
277
+ }
278
+
279
+ function _jsdoc_block_search() {
280
+ if (module_exists('search')) {
281
+ return array(
282
+ 'ignore' => array(
283
+ '#value' => 'ignore'
284
+ ),
285
+ 'search' => array(
286
+ '#type' => 'textfield'
287
+ ),
288
+ 'go' => array(
289
+ '#type' => 'submit',
290
+ '#value' => 'Go'
291
+ ),
292
+ 'endignore' => array(
293
+ '#value' => 'endignore'
294
+ )
295
+ );
296
+ }
297
+ }
298
+
299
+ function _jsdoc_block_search_submit($form_id, $form) {
300
+ $search = $form['search'];
301
+ if (strpos($search, ' ') === false) {
302
+ $query = db_query("SELECT title FROM {node} WHERE type = 'jsdoc_object' AND title = '%s' GROUP BY BINARY title", $search);
303
+ if (db_num_rows($query) == 1) {
304
+ $object = jsdoc_object_node_load(db_result($query));
305
+ watchdog('search', t('%keys (@type).', array('%keys' => $search, '@type' => 'JavaScript Documentation')), WATCHDOG_NOTICE, l(t('result'), $object->jsdoc_url));
306
+ drupal_goto($object->jsdoc_url);
307
+ return;
308
+ }
309
+ else {
310
+ $query = db_query("SELECT title FROM {node} WHERE type = 'jsdoc_object' AND title LIKE '%%%s%%' GROUP BY BINARY title", $search);
311
+ if (db_num_rows($query) == 1) {
312
+ $object = jsdoc_object_node_load(db_result($query));
313
+ watchdog('search', t('%keys (@type).', array('%keys' => $search, '@type' => 'JavaScript Documentation')), WATCHDOG_NOTICE, l(t('result'), $object->jsdoc_url));
314
+ drupal_goto($object->jsdoc_url);
315
+ return;
316
+ }
317
+ }
318
+ }
319
+
320
+ drupal_goto('search/jsdoc/' . $search);
321
+ }
322
+
323
+ /**
324
+ * Implementation of hook_update_index().
325
+ *
326
+ * Handle node status the way that the node module does... through remembering nids, last change time,
327
+ * and last comment change time.
328
+ *
329
+ * We need to save things by version/node pair though. That way, we can keep things so that the latest
330
+ * update is always the latest version of the node.
331
+ */
332
+ function jsdoc_update_index() {
333
+ global $last_change, $last_nid;
334
+
335
+ register_shutdown_function('jsdoc_update_shutdown');
336
+
337
+ $last = variable_get('jsdoc_cron_last', 0);
338
+ $last_nid = variable_get('jsdoc_cron_last_nid', 0);
339
+ $limit = (int)variable_get('search_cron_limit', 500);
340
+
341
+ $result = db_query_range("SELECT GREATEST(IF(c.last_comment_timestamp IS NULL, 0, c.last_comment_timestamp), n.changed) as last_change, n.nid FROM {node} n LEFT JOIN {node_comment_statistics} c ON n.nid = c.nid WHERE n.type = 'jsdoc_variable' AND n.status = 1 AND ((GREATEST(n.changed, c.last_comment_timestamp) = %d AND n.nid > %d) OR (n.changed > %d OR c.last_comment_timestamp > %d)) ORDER BY GREATEST(n.changed, c.last_comment_timestamp) ASC, n.nid ASC", $last, $last_nid, $last, $last, $last, 0, $limit);
342
+
343
+ while ($node = db_fetch_object($result)) {
344
+ $last_change = $node->last_change;
345
+ $last_nid = $node->nid;
346
+ $node = _jsdoc_node_load($node->nid);
347
+
348
+ $text = '<h1>'. implode(' ', _jsdoc_build_terms($node->title)) . '</h1> ' . jsdoc_get_teaser($node) . ' ' . jsdoc_get_body($node);
349
+
350
+ // Fetch extra data normally not visible
351
+ $extra = node_invoke_nodeapi($node, 'update index');
352
+ foreach ($extra as $t) {
353
+ $text .= $t;
354
+ }
355
+
356
+ // Update index
357
+ search_index($node->nid, 'jsdoc_' . jsdoc_get_version($node)->title, $text);
358
+ }
359
+ }
360
+
361
+ /**
362
+ * shutdown function to make sure we always mark the last node processed.
363
+ */
364
+ function jsdoc_update_shutdown() {
365
+ global $last_change, $last_nid;
366
+
367
+ if ($last_change && $last_nid) {
368
+ variable_set('jsdoc_cron_last', $last_change);
369
+ variable_set('jsdoc_cron_last_nid', $last_nid);
370
+ }
371
+ }
372
+
373
+ /**
374
+ * Implementation of hook_search().
375
+ */
376
+ function jsdoc_search($op = 'search', $keys = null) {
377
+ switch ($op) {
378
+ case 'name':
379
+ return t('JavaScript Documentation');
380
+ case 'search':
381
+ // Get all projects
382
+ // Get all versions mared 'HEAD' in each project
383
+ $project = search_query_extract($keys, 'project');
384
+ $keys = search_query_insert($keys, 'project');
385
+ $version = search_query_extract($keys, 'version');
386
+ if (empty($version)) {
387
+ $version = 'HEAD';
388
+ // TODO: Start using "ANY" here if no version is provided.
389
+ }
390
+ $keys = search_query_insert($keys, 'version');
391
+
392
+ $private = search_query_extract($keys, 'private');
393
+ $keys = search_query_insert($keys, 'private');
394
+
395
+ $where = '1';
396
+ if (!$private) {
397
+ $where = "jo.private = 0 AND jo.private_parent = 0";
398
+ }
399
+
400
+ $find = do_search(
401
+ '(' . implode('), (', _jsdoc_build_terms($keys)) . ')',
402
+ 'jsdoc_' . $version,
403
+ "INNER JOIN {node} n ON (n.nid = i.sid) INNER JOIN {node} n2 ON (n2.title = n.title AND BINARY n2.title = BINARY n.title AND n2.type = 'jsdoc_object') INNER JOIN {jsdoc_objects} jo ON (jo.vid = n2.vid) INNER JOIN {jsdoc_versions} jv ON (jv.nid = jo.version) INNER JOIN {node} n4 ON (n4.nid = jv.project)",
404
+ $where,
405
+ array(),
406
+ 'i.relevance + (15 / CHAR_LENGTH(n.title)) AS score',
407
+ "INNER JOIN {node} n ON (n.nid = i.sid)"
408
+ );
409
+ $results = array();
410
+ foreach ($find as $item) {
411
+ $node = _jsdoc_node_load($item->sid);
412
+
413
+ $info = jsdoc_node_info();
414
+ $results[] = array(
415
+ 'link' => url($node->jsdoc_url),
416
+ 'type' => $info[$node->type]['name'],
417
+ 'title' => $node->title,
418
+ 'user' => theme('username', $node),
419
+ 'date' => $node->changed,
420
+ 'node' => $node,
421
+ 'score' => $item->score,
422
+ 'snippet' => (jsdoc_get_teaser($node)) ? search_excerpt($keys, jsdoc_get_teaser($node)) : ''
423
+ );
424
+ }
425
+ return $results;
426
+ }
427
+ }
428
+
429
+ /**
430
+ * Implementation of hook_search_validate()
431
+ */
432
+ function jsdoc_search_validate($form_id, $form_values, $form) {
433
+ if (!$form_values['jsdoc_version']) {
434
+ $project = '';
435
+ $version = '';
436
+ }
437
+ else {
438
+ list($project, $version) = explode('_', $form_values['jsdoc_version']);
439
+ }
440
+
441
+ $keys = search_query_insert($form_values['processed_keys'], 'project', $project);
442
+ $keys = search_query_insert($keys, 'version', $version);
443
+
444
+ if ($form_values['jsdoc_private']) {
445
+ $keys = search_query_insert($keys, 'private', 'true');
446
+ }
447
+ else {
448
+ $keys = search_query_insert($keys, 'private');
449
+ }
450
+
451
+ form_set_value($form['basic']['inline']['processed_keys'], trim($keys));
452
+ }
453
+
454
+ function _jsdoc_cron_timeout(){
455
+ static $start;
456
+ static $count;
457
+ if (!$start) {
458
+ $start = time();
459
+ return false;
460
+ }
461
+ ++$count;
462
+ $delta = time() - $start;
463
+ $avg = $delta / $count;
464
+ $estimate = $delta + $avg;
465
+ if ($estimate > 30) {
466
+ return true;
467
+ }
468
+ return false;
469
+ }
470
+
471
+ /**
472
+ * Implementation of hook_cron().
473
+ *
474
+ * Here's the deal: We always assume that we're in the same version.
475
+ * This grants us the following allowances:
476
+ *
477
+ * - Resources don't need versioning during the cron run. They will only
478
+ * get new versions is the overall version changes, or if the file gets
479
+ * renamed, which happens in a separate part of the application.
480
+ * - The only significant run-time change is renaming a parameter.
481
+ */
482
+ function jsdoc_cron() {
483
+ // Validate variables and stuff related to basic configuration
484
+ if (!_jsdoc_cron_validate()) {
485
+ return;
486
+ }
487
+
488
+ // Use the configuration settings to switch directories, and load the plugin file
489
+ _jsdoc_cron_chdir(true);
490
+ _jsdoc_cron_timeout();
491
+
492
+ if (_jsdoc_cron_validate_include()) {
493
+ // This is messy since we want to do this without doing any DB manipulation to run this check
494
+ $current_files = call_user_func(_jsdoc_base() . '_get_files');
495
+ $query = db_query("SELECT namespace.title AS namespace, resource.title AS filename, MAX(resource.vid) AS vid FROM {node} resource JOIN {jsdoc_objects} jo ON (resource.vid = jo.resource_vid) JOIN {node} obj ON (obj.vid = jo.vid) JOIN {jsdoc_versions} jv ON (jv.nid = jo.version) JOIN {node} version ON (version.nid = jv.nid) JOIN {node} namespace ON (namespace.nid = jv.project) WHERE version.title = 'HEAD' AND jo.used != -1 GROUP BY BINARY namespace.title, BINARY resource.title");
496
+ while ($result = db_fetch_object($query)) {
497
+ $found = false;
498
+ foreach ($current_files as $current_file) {
499
+ if ($current_file[0] == $result->namespace && $current_file[1] == $result->filename) {
500
+ $found = true;
501
+ break;
502
+ }
503
+ }
504
+ if (!$found) {
505
+ db_query("UPDATE {jsdoc_objects} SET used = 0 WHERE resource_vid = %d", $result->vid);
506
+ }
507
+ }
508
+
509
+ // Validate the stuff added in the newly included file
510
+ $files = variable_get('jsdoc_cron_files', array());
511
+ if (!empty($files)) {
512
+ print count($files) . ' files left<br>';
513
+ }
514
+ else {
515
+ $files = $current_files;
516
+ }
517
+
518
+ if (!is_array($files)) {
519
+ watchdog('jsdoc', _jsdoc_base() . '_get_files' . t(' does not return an array in ') . _jsdoc_file_location(), WATCHDOG_ERROR);
520
+ }
521
+ elseif (!count($files)) {
522
+ watchdog('jsdoc', _jsdoc_base() . '_get_files' . t(' returns an empty array in ') . _jsdoc_file_location(), WATCHDOG_ERROR);
523
+ }
524
+ else {
525
+ _jsdoc_init();
526
+
527
+ foreach (jsdoc_projects() as $project) {
528
+ if (!($namespaces = cache_get('jsdoc_namespaces_' . $project->title, 'cache'))) {
529
+ $namespaces = array();
530
+ }
531
+ else {
532
+ $namespaces = unserialize($namespaces->data);
533
+ }
534
+ $version = jsdoc_get_version($project);
535
+ unset($namespaces[$version->nid]);
536
+ cache_set('jsdoc_namespaces_' . $project->title, 'cache', serialize($namespaces));
537
+ }
538
+
539
+ // Build an array of ctimes from our cache table
540
+ $file_ctimes = array();
541
+ $query = db_query("SELECT ctime, cid, namespace, filepath FROM {jsdoc_cache}");
542
+ while ($cache = db_fetch_object($query)) {
543
+ if (!$file_ctimes[$cache->namespace]) {
544
+ $file_ctimes[$cache->namespace] = array();
545
+ }
546
+ $file_ctimes[$cache->namespace][$cache->filepath] = $cache;
547
+ }
548
+
549
+ while (count($files)) {
550
+ $list = array_shift($files);
551
+
552
+ if (_jsdoc_cron_timeout()) {
553
+ break;
554
+ }
555
+ else{
556
+ variable_set('jsdoc_cron_files', $files);
557
+ }
558
+
559
+ list($namespace, $file_name) = $list;
560
+ unset($list);
561
+ unset($contents);
562
+ print "$file_name<br>";
563
+ if (empty($files)) {
564
+ print 'FINISHED';
565
+ }
566
+ flush();
567
+ ob_flush();
568
+
569
+ set_time_limit(60); // 1 minute
570
+ // Cache the results from a parse in the file and reuse it if we can.
571
+ $cache_dir = _jsdoc_get_base_path() . '/' . drupal_get_path('module', 'jsdoc') . '/cache/';
572
+ $ctime = call_user_func(_jsdoc_base() . '_get_file_time', $namespace, $file_name);
573
+ $cache_hit = false;
574
+ if ($file_ctimes[$namespace] && ($cache = $file_ctimes[$namespace][$file_name])) {
575
+ if ($cache->ctime != $ctime || !file_exists($cache_dir . $cache->cid)) {
576
+ $contents = call_user_func(_jsdoc_base() . '_get_contents', $namespace, $file_name);
577
+ db_query("UPDATE {jsdoc_cache} SET used = 1, ctime = %d WHERE namespace = '%s' AND filepath = '%s'", $ctime, $namespace, $file_name);
578
+ file_put_contents($cache_dir . $cache->cid, serialize($contents));
579
+ }
580
+ else {
581
+ $cache_hit = true;
582
+ db_query("UPDATE {jsdoc_cache} SET used = 1 WHERE namespace = '%s' AND filepath = '%s'", $namespace, $file_name);
583
+ $contents = unserialize(file_get_contents($cache_dir . $cache->cid));
584
+ }
585
+ }
586
+ else {
587
+ $contents = call_user_func(_jsdoc_base() . '_get_contents', $namespace, $file_name);
588
+ $cache->cid = db_next_id('{jsdoc_cache}_cid');
589
+ db_query("INSERT INTO {jsdoc_cache} (namespace, filepath, ctime, cid) VALUES ('%s', '%s', %d, %d)", $namespace, $file_name, $ctime, $cache->cid);
590
+ file_put_contents($cache_dir . $cache->cid, serialize($contents));
591
+ }
592
+
593
+ if (is_array($contents)) {
594
+ // Create an actual node representation for the resource that this file provides.
595
+ $provides_node = _jsdoc_resource_get_or_create($contents['#provides'], $namespace);
596
+ $resource_node = _jsdoc_resource_get_or_create($contents['#resource'], $namespace);
597
+
598
+ db_query("UPDATE {jsdoc_resources} SET used = 1 WHERE vid IN (%d, %d)", $provides_node->vid, $resource_node->vid);
599
+
600
+ if ($cache_hit) {
601
+ if (!$resource_node->is_new) {
602
+ continue;
603
+ }
604
+ print 'cache hit ' . $cache->filepath . '<br>';
605
+ }
606
+
607
+ db_query("DELETE FROM {jsdoc_resource_hierarchy} WHERE nid = %d AND version = %d", $provides_node->nid, jsdoc_get_version($provides_node)->nid);
608
+
609
+ // Using the requires statement, create the links between files that are required
610
+ // by this file, and this file
611
+ if (!empty($contents['#requires']) && !empty($contents['#provides'])) {
612
+ $found = array();
613
+ foreach ($contents['#requires'] as $weight => $require) {
614
+ if($found[serialize($require)]) continue;
615
+ $found[serialize($require)] = true;
616
+
617
+ $requires_node = _jsdoc_resource_get_or_create($require[1], $namespace);
618
+ db_query("UPDATE {jsdoc_resources} SET used = 1 WHERE vid = %d", $requires_node->vid);
619
+
620
+ foreach (taxonomy_get_term_by_name($require[0]) as $term) {
621
+ if ($term->vid == _jsdoc_environments()->vid || $term->vid == _jsdoc_conditions()->vid) {
622
+ // Find a matching item in the environment or conditions vocabularies
623
+ $environment = $term->tid;
624
+ break;
625
+ }
626
+ }
627
+ if (!$environment) {
628
+ // Make sure we have a term for this resource
629
+ watchdog('jsdoc', "Missing environment or condition term for '" . $require[0] . "'", WATCHDOG_ERROR);
630
+ _jsdoc_cron_chdir();
631
+ return;
632
+ }
633
+
634
+ _jsdoc_save_hierarchy($provides_node, $requires_node, $environment);
635
+ }
636
+ }
637
+
638
+ unset($contents['#requires']);
639
+ unset($contents['#resource']);
640
+ unset($contents['#provides']);
641
+
642
+ foreach ($contents as $var => $content) {
643
+ $variable_node = _jsdoc_variable_get_or_create($var, $namespace, $content['private']);
644
+
645
+ $object_node = _jsdoc_object_get_or_create(
646
+ $namespace,
647
+ $var,
648
+ $content['summary'],
649
+ $content['description'],
650
+ $resource_node,
651
+ $provides_node,
652
+ $content['private'],
653
+ $content['private_parent'],
654
+ $content['initialized'],
655
+ $content['classlike'],
656
+ $content['type'],
657
+ $content['returns'],
658
+ $content['return_summary'],
659
+ $content['source'],
660
+ $content['parameters'],
661
+ $content['examples'],
662
+ $content['aliases'],
663
+ $content['instance'],
664
+ $content['prototype'],
665
+ $content['chains'],
666
+ $content['mixins']
667
+ );
668
+ }
669
+ $version = jsdoc_version_node_load('HEAD', $namespace);
670
+ $query = db_query("SELECT n.title, MAX(n.vid) AS vid FROM {jsdoc_objects} jo JOIN {node} n ON (n.vid = jo.vid) WHERE jo.used = 1 AND jo.version = %d AND jo.resource_vid = %d GROUP BY BINARY n.title", $version->nid, $resource_node->vid);
671
+ while ($result = db_fetch_object($query)) {
672
+ if (!array_key_exists($result->title, $contents)) {
673
+ db_query("UPDATE {jsdoc_objects} SET used = 0 WHERE vid = %d", $result->vid);
674
+ }
675
+ }
676
+ }
677
+
678
+ $files = variable_get('jsdoc_cron_files', array());
679
+ }
680
+ }
681
+ }
682
+
683
+ _jsdoc_cron_chdir();
684
+ }
685
+
686
+ /**
687
+ * Implementation of hook_form_alter().
688
+ */
689
+ function jsdoc_form_alter($form_id, &$form) {
690
+ if ($form['type']['#value'] == 'jsdoc_object') {
691
+ unset($form['taxonomy']);
692
+ }
693
+ elseif ($form_id == 'search_form' && $form['module']['#value'] == 'jsdoc') {
694
+ $options = array('' => '-----');
695
+
696
+ $query = db_query("SELECT n.title AS project, n2.title AS version FROM {node} n JOIN {jsdoc_versions} j ON (j.project = n.nid) JOIN {node} n2 ON (n2.nid = j.nid) WHERE n.type = 'jsdoc_project' AND n.title != '' AND n.status = 1 AND n2.status = 1 ORDER BY n2.vid DESC");
697
+ while ($node = db_fetch_object($query)) {
698
+ $options[$node->project . '_' . $node->version] = $node->project . ' -- ' . $node->version;
699
+ }
700
+
701
+ $form['jsdoc_version'] = array(
702
+ '#title' => t('Version'),
703
+ '#type' => 'select',
704
+ '#options' => $options
705
+ );
706
+
707
+ $project = search_query_extract($form['basic']['inline']['keys']['#default_value'], 'project');
708
+ $version = search_query_extract($form['basic']['inline']['keys']['#default_value'], 'version');
709
+
710
+ if ($project && $version) {
711
+ $form['jsdoc_version']['#default_value'] = $project . '_' . $version;
712
+ }
713
+
714
+ $private = search_query_extract($form['basic']['inline']['keys']['#default_value'], 'private');
715
+
716
+ $form['jsdoc_private'] = array(
717
+ '#title' => t('Include Private Variables'),
718
+ '#type' => 'checkbox',
719
+ '#default_value' => $private
720
+ );
721
+
722
+ $form['#validate']['jsdoc_search_validate'] = array();
723
+ }
724
+ }
725
+
726
+ /**
727
+ * Implementation of hook_help().
728
+ */
729
+ function jsdoc_help($section = '') {
730
+ $output = '';
731
+
732
+ switch ($section) {
733
+ case 'admin/help#jsdoc':
734
+ return '<p>' . t('View and edit JavaScript Documentation') . '</p>';
735
+ case 'admin/modules#jsdoc':
736
+ return t('View and edit JavaScript Documentation');
737
+ case 'admin/settings/jsdoc/ignore':
738
+ return t("
739
+ <p>There will be several vocabularies created by this resource. Two of the more important are \"JavaScript Environments\" and \"JavaScript Conditions\". You should read their explanations below and make sure that these values exist in your vocabularies.</p>
740
+ <p>In order for this to work, you need to declare both a file and two functions within that file. When the cron task runs, it will call a function that gets a list of files within your project. The files will be run one by one, each calling the second function. Our task expects an array to be returned in the following format:</p>
741
+ <ul>
742
+ <li><em>variable</em>: The name of the variable</li>
743
+ <li><strong>Resource Specific</strong></li>
744
+ <li><em>#requires</em>: The string literal '#requires'</li>
745
+ <li><em>#provides</em>: The string literal '#provides'. It should match the requires statements of other files</li>
746
+ <li><em>resource</em>: Your code might load different files depending on different conditions. A resource is a string to indicate the location of a file</li>
747
+ <li><em>environment</em>: An indicator of where your code is running. Only one is available during run-time. Must correspond to the entry in \"JavaScript Environments\"</li>
748
+ <li><em>condition</em>: An indicator of a condition under which your code is running. Multiple conditions are available at run-time. Must correspond to an entry in \"JavaScript Conditions\"</li>
749
+ <li><strong>Object Specific</strong></li>
750
+ <li><em>private</em>: True if this object isn't meant to be public</li>
751
+ <li><em>type</em>: Object type. If it's a function, set to 'Function'</li>
752
+ <li><em>summary</em>: A short description of what the item does.</li>
753
+ <li><em>description</em>: An extended description of what the item does.</li>
754
+ <li><strong>Function Specific</strong></li>
755
+ <li><em>aliases</em>: The name of a function/variable this references. In code, it would have been fn1 = fn2, where fn1 aliases fn2</li>
756
+ <li><em>instance</em>: The name of a function that the 'this' variable refers to. Useful if a function is declared in a constructor.</li>
757
+ <li><em>initialized</em>: True if this variable references an initialized function.</li>
758
+ <li><em>classlike</em>: True if a function acts like a class.</li>
759
+ <li><em>prototype</em>: This object is attached via the prototype of this function</li>
760
+ <li><em>returns</em>: Object type of the function return.</li>
761
+ <li><em>return summary</em>: Summary of the function return.</li>
762
+ <li><em>chains</em>: The string literal 'chains'</li>
763
+ <li><em>chain-type</em>: call, or prototype. Basically, either doing this.call(parent); or this.prototype = new parent; respectively</li>
764
+ <li><em>function</em>: A function name</li>
765
+ <li><em>parameters</em>: The string literal 'parameters'</li>
766
+ <li><em>parameter</em>: The name of the parameter</li>
767
+ <li><em>optional</v>: True if the parameter is documented as optional</li>
768
+ <li><em>repeating</em>: True if the parameter is documented as repeating</li>
769
+ <li><em>type</em>: Object type of the parameter.</li>
770
+ <li><em>source</em>: Source Code (if it's a function)</li>
771
+ </ul>
772
+ <pre>array(
773
+ 'variable' => array(
774
+ '#requires' => array(
775
+ array('environment/condition', 'resource')
776
+ )
777
+ 'type' => '',
778
+ 'source' => '',
779
+ 'summary' => '',
780
+ 'description' => '',
781
+ 'aliases' => '',
782
+ 'instance' => '',
783
+ 'initialized' => boolean,
784
+ 'prototype' => '',
785
+ 'returns' => '',
786
+ 'return_summary' => '',
787
+ 'chains' => array(
788
+ array('chain-type', 'function')
789
+ ),
790
+ 'parameters' => array(
791
+ 'parameter' => array(
792
+ 'optional' => boolean,
793
+ 'repeating' => boolean,
794
+ 'type' => '',
795
+ 'summary' => ''
796
+ )
797
+ )
798
+ )
799
+ )</pre>");
800
+ }
801
+
802
+ return '';
803
+ }
804
+
805
+ // Views
806
+ // =====
807
+
808
+ function jsdoc_manage($edit = array()) {
809
+ // If the first parse has run, all items in the DB have new = 1;
810
+ $query = db_query("SELECT 1 FROM {jsdoc_objects} WHERE new != 1");
811
+ if (!db_num_rows($query)) {
812
+ db_query("UPDATE {jsdoc_objects} SET new = 0");
813
+ }
814
+
815
+ $header = array('Variable', 'Project', 'Resource', 'New', 'Deleted or Renamed');
816
+
817
+ //_drupal_add_js('../dojo/dojo.js', 'module', 'header', false, true);
818
+ _drupal_add_js(drupal_get_path('module', 'jsdoc') . '/jsdoc.js', 'module', 'header', false, true);
819
+
820
+ // Objects
821
+ $query = db_query("SELECT j.nid, j.vid, j.used, j.new, j.version FROM {jsdoc_objects} j INNER JOIN {node} n ON (n.vid = j.vid) INNER JOIN {node} n2 ON (n2.vid = j.resource_vid) WHERE j.used = 0 OR j.new = 1 ORDER BY j.version, n2.title, n.title");
822
+ while ($object = db_fetch_object($query)) {
823
+ $node = _jsdoc_node_load($object->nid, $object->vid);
824
+ $project = jsdoc_get_project($node);
825
+ $resource = jsdoc_get_resource($node);
826
+
827
+ $new = '';
828
+ $renamed = '';
829
+ if ($object->new) {
830
+ $new = "<input type=\"checkbox\" name=\"new[{$project->title}][{$node->nid}][{$node->vid}]\" value=\"{$project->title}|{$resource->title}|{$node->title}|{$node->nid}|{$node->vid}\" checked=\"checked\" />";
831
+ }
832
+ else {
833
+ $renamed = "<select name=\"modified[{$project->title}][{$node->nid}][{$node->vid}]\"><option value=\"\">Deleted</option></select>";
834
+ }
835
+
836
+ $rows[] = array($node->title, jsdoc_get_project($node)->title, theme('jsdoc_resource_source_link', jsdoc_get_project($resource)->title, $resource->title), $new, $renamed);
837
+ }
838
+
839
+ $form['table'] = array(
840
+ '#value' => theme('table', $header, $rows)
841
+ );
842
+
843
+ $form['submit'] = array(
844
+ '#type' => 'submit',
845
+ '#value' => t('Done')
846
+ );
847
+
848
+ return $form;
849
+ }
850
+
851
+ function jsdoc_manage_submit($form_id, $form) {
852
+ if ($form_id == 'jsdoc_manage') {
853
+ if ($_POST['modified']) {
854
+ foreach ($_POST['modified'] as $projects) {
855
+ foreach ($projects as $nid => $vids) {
856
+ foreach ($vids as $vid => $props) {
857
+ if (!$props) {
858
+ $node = _jsdoc_node_load($nid, $vid);
859
+ db_query("UPDATE {jsdoc_objects} SET used = -1, new = 0 WHERE nid = %d AND vid = %d", $nid, $vid);
860
+ $node->status = 0;
861
+ node_save($node);
862
+ }
863
+ else {
864
+ // Delete the new node, update the old node.
865
+ list($move_nid, $move_vid) = explode('_', $props);
866
+
867
+ $node = _jsdoc_node_load($nid, $vid);
868
+ $move_node = _jsdoc_node_load($move_nid, $move_vid);
869
+
870
+ $node->revision = 1;
871
+ $node->title = $move_node->title;
872
+ node_save($node);
873
+
874
+ jsdoc_get_children($move_node);
875
+ $chains = array();
876
+ foreach ($move_node->jsdoc_chains as $subtype => $chain) {
877
+ $chains[$subtype] = array_keys($chain);
878
+ }
879
+ $mixins = array();
880
+ foreach ($move_node->jsdoc_mixins as $subtype => $mixin) {
881
+ if (!$subtype) {
882
+ $subtype = 'normal';
883
+ }
884
+ $mixins[$subtype] = array_keys($mixin);
885
+ }
886
+ _jsdoc_object_get_or_create(
887
+ jsdoc_get_project($move_node)->title,
888
+ $move_node->title,
889
+ $move_node->teaser,
890
+ $move_node->body,
891
+ _jsdoc_node_load($node->jsdoc_resource, $node->jsdoc_resource_vid),
892
+ _jsdoc_node_load($node->jsdoc_provide, $node->jsdoc_provide_nid),
893
+ $move_node->jsdoc_private,
894
+ $move_node->jsdoc_private_parent,
895
+ $move_node->jsdoc_initialized,
896
+ $move_node->jsdoc_classlike,
897
+ $move_node->jsdoc_type,
898
+ $move_node->jsdoc_returns,
899
+ $move_node->jsdoc_return_summary,
900
+ $move_node->jsdoc_source,
901
+ $move_node->jsdoc_parameters,
902
+ $move_node->jsdoc_examples,
903
+ $move_node->jsdoc_aliases->title,
904
+ $move_node->jsdoc_instance->title,
905
+ $move_node->jsdoc_prototype->title,
906
+ $chains,
907
+ $mixins
908
+ );
909
+ db_query("UPDATE {jsdoc_objects} SET resource_nid = %d, resource_vid = %d, provide_nid = %d, provide_vid = %d WHERE vid = %d", $move_node->jsdoc_resource, $move_node->jsdoc_resource_vid, $move_node->jsdoc_provide, $move_node->jsdoc_provide_vid, $node->nid);
910
+
911
+ node_delete($move_node->nid);
912
+ }
913
+ }
914
+ }
915
+ }
916
+ }
917
+ if ($_POST['new']) {
918
+ foreach ($_POST['new'] as $projects) {
919
+ foreach ($projects as $nid => $vids) {
920
+ foreach ($vids as $vid => $isnew) {
921
+ if ($isnew) {
922
+ db_query("UPDATE {jsdoc_objects} SET new = 0 WHERE vid = %d", $vid);
923
+ }
924
+ }
925
+ }
926
+ }
927
+ }
928
+ }
929
+
930
+ drupal_goto('');
931
+ }
932
+
933
+ // Implemented node-type hook functions
934
+ // ====================================
935
+
936
+ /**
937
+ * Implementation of hook_access().
938
+ */
939
+ function jsdoc_object_access($op, $node) {
940
+ global $user;
941
+
942
+ if ($op == 'update') {
943
+ return user_access('edit jsdoc');
944
+ }
945
+ elseif ($op == 'view') {
946
+ return user_access('access content');
947
+ }
948
+
949
+ return false;
950
+ }
951
+
952
+ /**
953
+ * Implementation of hook_form().
954
+ */
955
+ function jsdoc_object_form(&$node) {
956
+ $form = array(
957
+ '#redirect' => $node->jsdoc_url
958
+ );
959
+
960
+ if ($node->teaser) {
961
+ $form['summary'] = array(
962
+ '#type' => 'item',
963
+ '#title' => t('Summary'),
964
+ '#value' => $node->teaser,
965
+ '#weight' => -10
966
+ );
967
+ }
968
+
969
+ if ($node->jsdoc_type != 'Function' && !$node->jsdoc_source) {
970
+ // Force them to specify summary in source where possible
971
+ $form['teaser'] = array(
972
+ '#type' => 'textfield',
973
+ '#title' => t('Summary'),
974
+ '#default-value' => $node->teaser,
975
+ '#weight' => -10
976
+ );
977
+ }
978
+ else {
979
+ $form['teaser'] = array(
980
+ '#type' => 'hidden',
981
+ '#value' => $node->teaser
982
+ );
983
+ $form['jsdoc_classlike'] = array(
984
+ '#type' => 'checkbox',
985
+ '#title' => t('Is intended to be instantiated (like a class)'),
986
+ '#default_value' => $node->jsdoc_classlike,
987
+ '#weight' => -2
988
+ );
989
+ }
990
+
991
+ $form['jsdoc_updating'] = array(
992
+ '#type' => 'checkbox',
993
+ '#title' => t('Update on next cron'),
994
+ '#default_value' => 0,
995
+ '#weight' => 0
996
+ );
997
+
998
+ $parameters = jsdoc_get_parameters($parameters);
999
+ if ($parameters) {
1000
+ foreach ($parameters as $parameter) {
1001
+ $form['jsdoc_parameters'][$parameter['name']] = array(
1002
+ '#type' => 'fieldset',
1003
+ '#title' => $parameter['jsdoc_formatted']['type'] . $parameter['jsdoc_formatted']['separator'] . $parameter['name'],
1004
+ '#weight' => $parameter['weight']
1005
+ );
1006
+ $form['jsdoc_parameters'][$parameter['name']]['summary'] = array(
1007
+ '#title' => t('Summary'),
1008
+ '#type' => 'textfield',
1009
+ '#default_value' => $parameter['summary']
1010
+ );
1011
+ $form['jsdoc_parameters']['#type'] = 'fieldset';
1012
+ $form['jsdoc_parameters']['#title'] = t('Parameters');
1013
+ $form['jsdoc_parameters']['#tree'] = true;
1014
+ $form['jsdoc_parameters']['#collapsible'] = true;
1015
+ $form['jsdoc_parameters']['#weight'] = -8;
1016
+ }
1017
+ }
1018
+
1019
+ $form['body_filter']['#weight'] = -6;
1020
+ $form['body_filter']['body'] = array(
1021
+ '#type' => 'textarea',
1022
+ '#title' => t('Description'),
1023
+ '#default_value' => $node->body,
1024
+ '#rows' => 10,
1025
+ '#required' => FALSE,
1026
+ );
1027
+ $form['body_filter']['format'] = filter_form($node->format);
1028
+
1029
+ return $form;
1030
+ }
1031
+
1032
+ /**
1033
+ * Implementation of hook_insert().
1034
+ */
1035
+ function jsdoc_object_insert($node) {
1036
+ $project = _jsdoc_project_get_or_create(jsdoc_get_project($node)->title);
1037
+ $version = _jsdoc_version_get_or_create('HEAD', $project);
1038
+
1039
+ db_query("INSERT INTO {jsdoc_objects} (vid, nid, resource_vid, resource_nid, provide_vid, provide_nid, initialized, classlike, type, returns, return_summary, source, private, private_parent, version) VALUES (%d, %d, %d, %d, %d, %d, %d, %d, '%s', '%s', '%s', '%s', %d, %d, %d)", $node->vid, $node->nid, $node->jsdoc_resource_vid, $node->jsdoc_resource, $node->jsdoc_provide_vid, $node->jsdoc_provide, $node->jsdoc_initialized, $node->jsdoc_classlike, $node->jsdoc_type, $node->jsdoc_returns, $node->jsdoc_return_summary, $node->jsdoc_source, $node->jsdoc_private, $node->jsdoc_private_parent, $version->nid);
1040
+
1041
+ _jsdoc_detail_update_joins($node);
1042
+
1043
+ if ($parameters = jsdoc_get_parameters($node)) {
1044
+ $i = 0;
1045
+ foreach ($parameters as $parameter_name => $parameter) {
1046
+ db_query("INSERT INTO {jsdoc_parameters} (vid, nid, weight, name, type, summary, optional, repeating) VALUES (%d, %d, %d, '%s', '%s', '%s', %d, %d)", $node->vid, $node->nid, $i++, $parameter_name, $parameter['type'], $parameter['summary'], $parameter['optional'], $parameter['repeating']);
1047
+ }
1048
+ }
1049
+
1050
+ if (is_array(jsdoc_get_examples($node))) {
1051
+ foreach (jsdoc_get_examples($node) as $weight => $example) {
1052
+ $example = preg_replace('%^([\s]*)\n%', '', $example);
1053
+ db_query("INSERT INTO {jsdoc_examples} (vid, nid, weight, example, markedup) VALUES (%d, %d, %d, '%s', '%s')", $node->vid, $node->nid, $weight, $example, _jsdoc_markup_text($example, jsdoc_get_version($node)->nid));
1054
+ }
1055
+ }
1056
+ }
1057
+
1058
+ /**
1059
+ * Implementation of hook_update().
1060
+ */
1061
+ function jsdoc_object_update($node) {
1062
+ if ($node->revision) {
1063
+ db_query("UPDATE {jsdoc_objects} SET used = -1 WHERE vid = %d", $node->old_vid);
1064
+ db_query("INSERT INTO {jsdoc_objects} SELECT %d, nid, resource_vid, resource_nid, provide_vid, provide_nid, initialized, classlike, type, updating, returns, return_summary, source, private, private_parent, version, 1, 0 FROM {jsdoc_objects} WHERE vid = %d", $node->vid, $node->old_vid);
1065
+ }
1066
+
1067
+ $project = _jsdoc_project_get_or_create(jsdoc_get_project($node)->title);
1068
+
1069
+ _jsdoc_detail_update_joins($node);
1070
+ db_query("UPDATE {jsdoc_objects} SET updating = %d, resource_vid = %d, resource_nid = %d, provide_vid = %d, provide_nid = %d, initialized = %d, classlike = %d, type = '%s', returns = '%s', return_summary = '%s', source = '%s', private = %d, private_parent = %d, version = %d WHERE vid = %d", $node->jsdoc_updating, $node->jsdoc_resource_vid, $node->jsdoc_resource, $node->jsdoc_provide_vid, $node->jsdoc_provide, $node->jsdoc_initialized, $node->jsdoc_classlike, $node->jsdoc_type, $node->jsdoc_returns, $node->jsdoc_return_summary, $node->jsdoc_source, $node->jsdoc_private, $node->jsdoc_private_parent, jsdoc_get_version($node)->nid, $node->vid);
1071
+
1072
+ db_query("DELETE FROM {jsdoc_parameters} WHERE vid = %d", $node->vid);
1073
+
1074
+ if ($parameters = jsdoc_get_parameters($node)) {
1075
+ $i = 0;
1076
+ foreach ($parameters as $parameter_name => $parameter) {
1077
+ if (is_array($parameter)) {
1078
+ db_query("INSERT INTO {jsdoc_parameters} (vid, nid, weight, name, type, summary, optional, repeating) VALUES (%d, %d, %d, '%s', '%s', '%s', %d, %d)", $node->vid, $node->nid, $i++, $parameter_name, $parameter['type'], ($parameter['previous_summary']) ? $parameter['previous_summary'] : $parameter['summary'], $parameter['optional'], $parameter['repeating']);
1079
+ }
1080
+ }
1081
+ }
1082
+
1083
+ db_query("DELETE FROM {jsdoc_examples} WHERE vid = %d", $node->vid);
1084
+
1085
+ if (is_array(jsdoc_get_examples($node))) {
1086
+ foreach (jsdoc_get_examples($node) as $weight => $example) {
1087
+ $example = preg_replace('%^([\s]*)\n%', '', $example);
1088
+ db_query("INSERT INTO {jsdoc_examples} (vid, nid, weight, example, markedup) VALUES (%d, %d, %d, '%s', '%s')", $node->vid, $node->nid, $weight, $example, _jsdoc_markup_text($example, jsdoc_get_version($node)->nid));
1089
+ }
1090
+ }
1091
+ }
1092
+
1093
+ /**
1094
+ * Implementation of hook_delete
1095
+ */
1096
+ function jsdoc_object_delete(&$node) {
1097
+ db_query("DELETE FROM {jsdoc_objects} WHERE nid = %d", $node->nid);
1098
+ db_query("DELETE FROM {jsdoc_parameters} WHERE nid = %d", $node->nid);
1099
+ db_query("DELETE FROM {jsdoc_examples} WHERE nid = %d", $node->nid);
1100
+ }
1101
+
1102
+ /**
1103
+ * Implementation of hook_load().
1104
+ */
1105
+ function jsdoc_object_load($node) {
1106
+ // TODO: Deal with alias
1107
+ _jsdoc_init();
1108
+ $additions = db_fetch_object(db_query("SELECT jo.type AS jsdoc_raw_type, jo.returns AS jsdoc_returns, jo.return_summary AS jsdoc_return_summary, jo.updating AS jsdoc_updating, jo.classlike AS jsdoc_classlike, jo.private AS jsdoc_private, jo.private_parent AS jsdoc_private_parent, jo.resource_nid AS jsdoc_resource, jo.resource_vid AS jsdoc_resource_vid, jo.provide_nid AS jsdoc_provide, jo.provide_vid AS jsdoc_provide_vid, jo.initialized AS jsdoc_initialized, jo.used AS jsdoc_used, jo.version AS jsdoc_version, source AS jsdoc_source, jo.resource_vid != n.vid AS has_revisions FROM {jsdoc_objects} jo JOIN {node_revisions} nr ON (jo.resource_vid = nr.vid) JOIN {node} n ON (nr.nid = n.nid) WHERE jo.vid = %d", $node->vid));
1109
+
1110
+ $additions->jsdoc_used = round($additions->jsdoc_used);
1111
+
1112
+ $additions->jsdoc_formatted = _jsdoc_format_type($additions->jsdoc_raw_type, $additions->jsdoc_classlike);
1113
+
1114
+ $node->jsdoc_version = $additions->jsdoc_version;
1115
+
1116
+ $node->jsdoc_full_url = 'jsdoc/' . jsdoc_get_project($node)->title . '/HEAD/' . str_replace('/', '__', db_result(db_query("SELECT title FROM {node_revisions} WHERE vid = %d", $additions->jsdoc_resource_vid))) . '/' . $node->title;
1117
+ $node->jsdoc_url = 'jsdoc/' . jsdoc_get_project($node)->title . '/HEAD/' . $node->title;
1118
+
1119
+ return $additions;
1120
+ }
1121
+
1122
+ /**
1123
+ * Implementation of hook_view().
1124
+ */
1125
+ function jsdoc_object_view($node, $teaser = false, $page = false) {
1126
+ $node->teaser = '';
1127
+ $node->body = '';
1128
+ if (!$teaser) {
1129
+ $node->body = l($node->title, $node->jsdoc_url);
1130
+ }
1131
+ $node->title = t('Object');
1132
+ $node->taxonomy = array();
1133
+ $node = node_prepare($node, $teaser);
1134
+ return $node;
1135
+ }
1136
+
1137
+ /**
1138
+ * Implementation of hook_access().
1139
+ */
1140
+ function jsdoc_variable_access($op, $node) {
1141
+ return jsdoc_object_access($op, $node);
1142
+ }
1143
+
1144
+ /**
1145
+ * Implementation of hook_form().
1146
+ */
1147
+ function jsdoc_variable_form(&$node) {
1148
+ $form = array(
1149
+ '#redirect' => $node->jsdoc_url
1150
+ );
1151
+
1152
+ $form['jsdoc_disambiguation'] = array(
1153
+ '#type' => 'fieldset',
1154
+ '#title' => t('Disambiguation'),
1155
+ '#collapsible' => true,
1156
+ '#collapsed' => true
1157
+ );
1158
+
1159
+ $form['jsdoc_disambiguation']['jsdoc_disambiguation'] = array(
1160
+ '#type' => 'radios',
1161
+ '#default_value' => ($node->jsdoc_disambiguation == -1) ? -1 : round($node->jsdoc_disambiguation->vid),
1162
+ '#options' => array()
1163
+ );
1164
+
1165
+ $disambiguations = $node->jsdoc_disambiguations;
1166
+ if ($node->jsdoc_detail) {
1167
+ array_unshift($disambiguations, $node->jsdoc_detail);
1168
+ }
1169
+ foreach ($disambiguations as $disambiguation) {
1170
+ jsdoc_get_resource($disambiguation);
1171
+ jsdoc_get_provide($disambiguation);
1172
+ $form['jsdoc_disambiguation']['jsdoc_disambiguation']['#options'][$disambiguation->jsdoc_resource->vid] = t('Use the summary and description in ' . $disambiguation->jsdoc_resource->title . ' (' . l('Edit object', 'jsdoc/' . jsdoc_get_project($node)->title . '/' . jsdoc_get_version($node)->title . '/' . $node->title . '/edit/' . $disambiguation->jsdoc_resource->vid) . ')');
1173
+ }
1174
+
1175
+ $form['jsdoc_disambiguation']['jsdoc_disambiguation']['#options']['0'] = t('No customization (use default if only one resource)');
1176
+ $form['jsdoc_disambiguation']['jsdoc_disambiguation']['#options']['-1'] = t('Provide a custom summary and description (below)');
1177
+
1178
+ $form['teaser'] = array(
1179
+ '#type' => 'textfield',
1180
+ '#title' => t('Summary'),
1181
+ '#default_value' => $node->teaser
1182
+ );
1183
+
1184
+ $form['body'] = array(
1185
+ '#type' => 'textarea',
1186
+ '#title' => t('Description'),
1187
+ '#default_value' => $node->body
1188
+ );
1189
+
1190
+ return $form;
1191
+ }
1192
+
1193
+ /**
1194
+ * Implementation of hook_insert().
1195
+ */
1196
+ function jsdoc_variable_insert($node) {
1197
+ db_query("INSERT INTO {jsdoc_variables} (vid, nid, private, private_parent, version) VALUES (%d, %d, %d, %d, %d)", $node->vid, $node->nid, $node->jsdoc_private, $node->jsdoc_private_parent, jsdoc_get_version($node)->nid);
1198
+ }
1199
+
1200
+ /**
1201
+ * Implementation of hook_insert().
1202
+ */
1203
+ function jsdoc_version_insert($node) {
1204
+ db_query("INSERT INTO {jsdoc_versions} (nid, project) VALUES (%d, %d)", $node->nid, jsdoc_get_project($node)->nid);
1205
+ }
1206
+
1207
+ /**
1208
+ * Implementation of hook_update().
1209
+ */
1210
+ function jsdoc_variable_update($node) {
1211
+ if ($node->revision) {
1212
+ jsdoc_object_insert($node);
1213
+ }
1214
+ else {
1215
+ if (!is_array($node->jsdoc_disambiguation)) {
1216
+ $resource_nid = db_result(db_query("SELECT nid FROM {node_revisions} WHERE vid = %d", $node->jsdoc_disambiguation));
1217
+ $node->jsdoc_disambiguation = (object)array(
1218
+ 'nid' => $resource_nid,
1219
+ 'vid' => $node->jsdoc_disambiguation
1220
+ );
1221
+ }
1222
+ db_query("UPDATE {jsdoc_variables} SET resource_vid = %d, resource_nid = %d, private = %d, private_parent = %d WHERE vid = %d", $node->jsdoc_disambiguation->vid, $node->jsdoc_disambiguation->nid, $node->jsdoc_private, $node->jsdoc_private_parent, $node->vid);
1223
+ }
1224
+ }
1225
+
1226
+ /**
1227
+ * Implementation of hook_delete
1228
+ */
1229
+ function jsdoc_variable_delete(&$node) {
1230
+ if (function_exists('search_wipe')) {
1231
+ search_wipe($node->nid, 'jsdoc_' . jsdoc_get_version($node)->title);
1232
+ }
1233
+ db_query("DELETE FROM {jsdoc_variables} WHERE nid = %d", $node->nid);
1234
+ db_query("DELETE FROM {jsdoc_variable_hierarchy} WHERE nid = %d OR parent_nid = %d", $node->nid, $node->nid);
1235
+ $query = db_query("SELECT nid FROM {node} WHERE type = 'jsdoc_object' AND title = '%s'", $node->title);
1236
+ while ($object = db_fetch_object($query)) {
1237
+ node_delete($object->nid);
1238
+ }
1239
+ }
1240
+
1241
+ /**
1242
+ * Implementation of hook_access().
1243
+ */
1244
+ function jsdoc_resource_access($op, $node) {
1245
+ return jsdoc_object_access($op, $node);
1246
+ }
1247
+
1248
+ /**
1249
+ * Implementation of hook_form().
1250
+ */
1251
+ function jsdoc_resource_form(&$node, &$param) {
1252
+ $type = node_get_types('type', $node);
1253
+ $form = array(
1254
+ '#redirect' => $node->jsdoc_url
1255
+ );
1256
+
1257
+ $form['title'] = array(
1258
+ '#type' => 'item',
1259
+ '#title' => t('Resource Name'),
1260
+ '#value' => $node->title,
1261
+ '#weight' => -5
1262
+ );
1263
+
1264
+ $form['teaser'] = array(
1265
+ '#type' => 'textfield',
1266
+ '#title' => t('Summary'),
1267
+ '#required' => TRUE,
1268
+ '#default_value' => $node->teaser,
1269
+ '#weight' => -4
1270
+ );
1271
+
1272
+ $form['body_filter']['#weight'] = -6;
1273
+ $form['body_filter']['body'] = array(
1274
+ '#type' => 'textarea',
1275
+ '#title' => t('Description'),
1276
+ '#default_value' => $node->body,
1277
+ '#required' => FALSE
1278
+ );
1279
+ $form['body_filter']['filter'] = filter_form($node->format);
1280
+
1281
+ return $form;
1282
+ }
1283
+
1284
+ /**
1285
+ * Implementation of hook_resource().
1286
+ */
1287
+ function jsdoc_resource_insert($node) {
1288
+ db_query("INSERT INTO {jsdoc_resources} (vid, nid, version) VALUES (%d, %d, %d)", $node->vid, $node->nid, jsdoc_get_version($node)->nid);
1289
+ }
1290
+
1291
+ /**
1292
+ * Implementation of hook_update().
1293
+ */
1294
+ function jsdoc_resource_update($node) {
1295
+ if ($node->revision) {
1296
+ db_query("UPDATE {jsdoc_resources} SET used = -1 WHERE vid = %d", $node->old_vid);
1297
+ db_query("INSERT INTO {jsdoc_resources} SELECT %d, nid, %d, 1, 0 FROM {jsdoc_resources} WHERE vid = %d", $node->vid, jsdoc_get_version($node)->nid, $node->old_vid);
1298
+ }
1299
+
1300
+ db_query("UPDATE {jsdoc_resources} SET version = '%s' WHERE vid = %d", jsdoc_get_version($node)->nid, $node->vid);
1301
+ }
1302
+
1303
+ /**
1304
+ * Implementation of hook_delete
1305
+ */
1306
+ function jsdoc_resource_delete(&$node) {
1307
+ db_query("DELETE FROM {jsdoc_resources} WHERE vid = %d", $node->vid);
1308
+ db_query("DELETE FROM {jsdoc_resource_hierarchy} WHERE vid = %d OR parent_vid = %d", $node->vid, $node->vid);
1309
+ db_query("DELETE FROM {jsdoc_objects} WHERE resource_vid = %d", $node->vid);
1310
+ db_query("DELETE FROM {jsdoc_objects} WHERE provide_vid = %d", $node->vid);
1311
+ }
1312
+
1313
+ /**
1314
+ * Implementation of hook_insert().
1315
+ */
1316
+ function jsdoc_project_insert($node) {
1317
+ _jsdoc_version_get_or_create('HEAD', $node);
1318
+ }
1319
+
1320
+ /**
1321
+ * Implementation of hook_load().
1322
+ */
1323
+ function jsdoc_project_load($node) {
1324
+ $additions = (object)array(
1325
+ 'jsdoc_versions' => array()
1326
+ );
1327
+ $query = db_query("SELECT nid AS jsdoc_version FROM {jsdoc_versions} WHERE project = %d ORDER BY nid DESC", $node->nid);
1328
+ while ($addition = db_fetch_object($query)) {
1329
+ if (empty($additions->jsdoc_versions)) {
1330
+ $additions->jsdoc_version = $addition->jsdoc_version;
1331
+ }
1332
+ $additions->jsdoc_versions[] = $addition->jsdoc_version;
1333
+ }
1334
+
1335
+ return $additions;
1336
+ }
1337
+
1338
+ /**
1339
+ * Implementation of hook_load().
1340
+ */
1341
+ function jsdoc_version_load($node) {
1342
+ return db_fetch_object(db_query("SELECT project AS jsdoc_project FROM {jsdoc_versions} WHERE nid = %d", $node->nid));
1343
+ }
1344
+
1345
+ // Public Functions to Load Data by Type
1346
+ // =====================================
1347
+
1348
+ function jsdoc_get_project(&$node) {
1349
+ if (isset($node->jsdoc_project)) {
1350
+ if (is_numeric($node->jsdoc_project)) {
1351
+ $node->jsdoc_project = _jsdoc_node_load($node->jsdoc_project);
1352
+ }
1353
+ return $node->jsdoc_project;
1354
+ }
1355
+ if (isset($node->jsdoc_project_name)) {
1356
+ return _jsdoc_project_get_or_create($node->jsdoc_project_name);
1357
+ }
1358
+ if (isset($node->jsdoc_version)) {
1359
+ $version = jsdoc_get_version($node);
1360
+ $node->jsdoc_project = jsdoc_get_project($version);
1361
+ return $node->jsdoc_project;
1362
+ }
1363
+ }
1364
+
1365
+ function jsdoc_get_version(&$node) {
1366
+ if (isset($node->jsdoc_version)) {
1367
+ if (is_numeric($node->jsdoc_version)) {
1368
+ $node->jsdoc_version = _jsdoc_node_load($node->jsdoc_version);
1369
+ }
1370
+ return $node->jsdoc_version;
1371
+ }
1372
+ if ($node->type == 'jsdoc_project') {
1373
+ $node->jsdoc_version = _jsdoc_version_get_or_create('HEAD', $node);
1374
+ return $node->jsdoc_version;
1375
+ }
1376
+ elseif (isset($node->jsdoc_project_name)) {
1377
+ $project = _jsdoc_project_get_or_create($node->jsdoc_project_name);
1378
+ return $node->jsdoc_version = _jsdoc_version_get_or_create('HEAD', $project);
1379
+ }
1380
+ }
1381
+
1382
+ function jsdoc_get_return_summary(&$node) {
1383
+ if (isset($node->jsdoc_return_summary_formatted)) {
1384
+ return $node->jsdoc_return_summary_formatted;
1385
+ }
1386
+
1387
+ $object = jsdoc_get_variable_object($node);
1388
+ if ($object->type == 'jsdoc_variable') {
1389
+ $summary = db_result(db_query("SELECT jo.return_summary FROM {jsdoc_objects} jo JOIN {node_revisions} n ON (n.vid = jo.vid) WHERE n.title = '%s' AND BINARY n.title = '%s' AND jo.summary != '' LIMIT 1", $object->title, $object->title));
1390
+ $node->jsdoc_return_summary = $object->jsdoc_return_summary = $summary;
1391
+ return ($node->jsdoc_return_summary = $object->jsdoc_return_summary = $summary);
1392
+ }
1393
+
1394
+ return ($node->jsdoc_return_summary_formatted = $object->jsdoc_return_summary_formatted = trim(preg_replace('%(^<p>|</p>$)%', '', check_markup(str_replace("\n", ' ', $object->jsdoc_return_summary), variable_get('jsdoc_input_format', 1), FALSE))));
1395
+ }
1396
+
1397
+ function jsdoc_get_return_types(&$node) {
1398
+ if (isset($node->jsdoc_return_types)) {
1399
+ return $node->jsdoc_return_types;
1400
+ }
1401
+
1402
+ $types = array();
1403
+
1404
+ $object = jsdoc_get_variable_object($node);
1405
+ if ($object->type == 'jsdoc_variable') {
1406
+ $query = db_query("SELECT jo.returns FROM {jsdoc_objects} jo JOIN {node_revisions} n ON (n.vid = jo.vid) WHERE n.title = '%s' AND BINARY n.title = '%s' AND jo.returns != '' GROUP BY jo.returns", $object->title, $object->title);
1407
+ while ($result = db_fetch_object($query)) {
1408
+ $types[] = $result->returns;
1409
+ }
1410
+ }
1411
+ elseif ($object->type == 'jsdoc_object') {
1412
+ foreach (preg_split('%\s*\|+\s*%', $object->jsdoc_returns) as $type) {
1413
+ if ($type) {
1414
+ $types[] = $type;
1415
+ }
1416
+ }
1417
+ }
1418
+
1419
+ return ($node->jsdoc_return_types = $object->jsdoc_return_types = $types);
1420
+ }
1421
+
1422
+ function jsdoc_get_parameters(&$node) {
1423
+ if (isset($node->jsdoc_parameters)) {
1424
+ return $node->jsdoc_parameters;
1425
+ }
1426
+
1427
+ if (!jsdoc_is_function($node)) {
1428
+ return array();
1429
+ }
1430
+
1431
+ $object = jsdoc_get_variable_object($node);
1432
+ $object->jsdoc_parameters = array();
1433
+ $parameters = array();
1434
+ if ($object->type == 'jsdoc_variable') {
1435
+ $query = db_query("SELECT n.vid, jp.name, jp.type, jp.summary, jp.optional, jp.repeating FROM {jsdoc_parameters} jp JOIN {jsdoc_objects} jo ON (jo.vid = jp.vid) JOIN {node} n ON (n.vid = jo.vid) WHERE n.title = '%s' AND BINARY n.title = '%s' AND jo.used != -1 AND jo.version = %d ORDER BY jp.vid, jp.weight", $object->title, $object->title, jsdoc_get_version($object)->nid);
1436
+ while ($parameter = db_fetch_array($query)) {
1437
+ $parameters[$parameter['vid']][$parameter['name']] = $parameter;
1438
+ }
1439
+
1440
+ $similar = true;
1441
+ $last = array_pop($parameters);
1442
+ foreach ($parameters as $parameter) {
1443
+ if (array_diff(array_keys($last), array_keys($parameter))) {
1444
+ $similar = false;
1445
+ }
1446
+ }
1447
+
1448
+ if ($similar) {
1449
+ $best = $last;
1450
+ $parameters[] = $last;
1451
+ foreach ($parameters as $parameter) {
1452
+ if (strlen($parameter['summary']) > strlen($best['summary'])) {
1453
+ $best['summary'] = $parameter['summary'];
1454
+ }
1455
+ if (strlen($parameter['type']) > strlen($best['type'])) {
1456
+ $best['type'] = $parameter['type'];
1457
+ $best['optional'] = $parameter['optional'];
1458
+ $best['repeating'] = $parameter['repeating'];
1459
+ }
1460
+ }
1461
+ $parameters = array();
1462
+ if($best){
1463
+ foreach ($best as $parameter) {
1464
+ unset($parameter['vid']);
1465
+ $parameters[] = $parameter;
1466
+ }
1467
+ }
1468
+ }
1469
+ else {
1470
+ $parameters = array();
1471
+ }
1472
+ }
1473
+ else {
1474
+ $query = db_query("SELECT name, type, summary, optional, repeating FROM {jsdoc_parameters} WHERE vid = %d ORDER BY weight", $object->vid);
1475
+ while ($parameter = db_fetch_array($query)) {
1476
+ $parameters[] = $parameter;
1477
+ }
1478
+ }
1479
+
1480
+ foreach ($parameters as $parameter) {
1481
+ $parameter['summary'] = trim(preg_replace('%(^<p>|</p>$)%', '', check_markup(str_replace("\n", ' ', $parameter['summary']), variable_get('jsdoc_input_format', 1), FALSE)));
1482
+ $parameter['optional'] = round($parameter['optional']);
1483
+ $parameter['repeating'] = round($parameter['repeating']);
1484
+ $parameter['jsdoc_formatted'] = _jsdoc_format_type($parameter['type'], $parameter['optional'], $parameter['repeating']);
1485
+ $object->jsdoc_parameters[$parameter['name']] = $parameter;
1486
+ }
1487
+
1488
+ return $object->jsdoc_parameters;
1489
+ }
1490
+
1491
+ function jsdoc_get_examples(&$node, $markedup=false) {
1492
+ if (!isset($node->jsdoc_examples)) {
1493
+ $node->jsdoc_examples = array();
1494
+ $node->jsdoc_markedup_examples = array();
1495
+ $query = db_query("SELECT example, markedup FROM {jsdoc_examples} WHERE vid = %d ORDER BY weight", $node->vid);
1496
+ while ($example = db_fetch_object($query)) {
1497
+ $node->jsdoc_examples[] = $example->example;
1498
+ $node->jsdoc_markedup_examples[] = $example->markedup;
1499
+ }
1500
+ }
1501
+
1502
+ return ($markedup) ? $node->jsdoc_markedup_examples : $node->jsdoc_examples;
1503
+ }
1504
+
1505
+ function jsdoc_get_parent_mixins(&$node) {
1506
+ return jsdoc_get_parents($node)->mixin;
1507
+ }
1508
+
1509
+ function jsdoc_get_parent_prototype(&$node) {
1510
+ $parents = jsdoc_get_parents($node);
1511
+ if ($parents->chain && $parents->chain['prototype'] && count($parents->chain['prototype'])) {
1512
+ return $parents->chain['prototype'][0];
1513
+ }
1514
+ }
1515
+
1516
+ /**
1517
+ *
1518
+ */
1519
+ function jsdoc_get_parents(&$node) {
1520
+ if (isset($node->jsdoc_parents)) {
1521
+ return $node->jsdoc_parents;
1522
+ }
1523
+
1524
+ $node->jsdoc_parents = array();
1525
+
1526
+ if ($node->type == "jsdoc_object" || ($node->type == "jsdoc_variable" && jsdoc_get_variable_object($node))) {
1527
+ if ($node->type == "jsdoc_variable") {
1528
+ $object = jsdoc_get_variable_object($node);
1529
+ }
1530
+ else {
1531
+ $object = $node;
1532
+ }
1533
+ $object->jsdoc_parents = array();
1534
+ $query = db_query("SELECT n.title, j.type FROM {jsdoc_variable_hierarchy} j JOIN {node_revisions} n ON (n.vid = j.parent_vid) WHERE j.type IN ('normal', 'prototype', 'instance') AND j.vid = %d GROUP BY BINARY n.title", $object->vid);
1535
+ while ($parent = db_fetch_object($query)) {
1536
+ $object->jsdoc_parents['all'][] = $parent->title;
1537
+ $object->jsdoc_parents[$parent->type][] = $parent->title;
1538
+ natsort($object->jsdoc_parents[$parent->type]);
1539
+ }
1540
+
1541
+ $query = db_query("SELECT j.type, j.subtype, nr.title AS parent FROM {jsdoc_variable_hierarchy} j JOIN {node_revisions} nr ON (nr.vid = j.parent_vid) WHERE j.vid = %d AND j.type IN ('chain', 'mixin')", $object->vid);
1542
+ while ($chain = db_fetch_object($query)) {
1543
+ if (!$chain->subtype) {
1544
+ $chain->subtype = 'normal';
1545
+ }
1546
+ $detail->jsdoc_parents['all'][] = $chain->parent;
1547
+ $object->jsdoc_parents[$chain->type][$chain->subtype][] = $chain->parent;
1548
+ natsort($object->jsdoc_parents[$chain->type][$chain->subtype]);
1549
+ }
1550
+
1551
+ if ($object->jsdoc_parents['all']) {
1552
+ $object->jsdoc_parents['all'] = array_unique($object->jsdoc_parents['all']);
1553
+ natcasesort($object->jsdoc_parents['all']);
1554
+ }
1555
+ else {
1556
+ $object->jsdoc_parents['all'] = array();
1557
+ }
1558
+ $node->jsdoc_parents = $object->jsdoc_parents;
1559
+ }
1560
+ elseif ($node->type == 'jsdoc_variable') {
1561
+ $node->jsdoc_parents = array();
1562
+ if (jsdoc_get_variable_object($node)) {
1563
+ $query = db_query("SELECT %d AS vid", jsdoc_get_variable_object($node)->vid);
1564
+ }
1565
+ else {
1566
+ // Select all objects with this as a name
1567
+ $query = db_query("SELECT MAX(n.vid) AS vid FROM {jsdoc_objects} j JOIN {node_revisions} n ON (n.vid = j.vid) WHERE j.version = %d AND n.title = '%s' AND BINARY n.title = '%s' GROUP BY n.nid", jsdoc_get_version($node)->nid, $node->title, $node->title);
1568
+ }
1569
+ $vids = array(-1);
1570
+ while ($child = db_fetch_object($query)) {
1571
+ $vids[] = $child->vid;
1572
+ }
1573
+ $query = db_query("SELECT n.title FROM {jsdoc_variable_hierarchy} j JOIN {node_revisions} n ON (n.vid = j.parent_vid) WHERE j.vid IN (%s) GROUP BY n.nid ORDER BY n.vid DESC, n.title", implode(", ", array_unique($vids)));
1574
+ while ($parent = db_fetch_object($query)) {
1575
+ $node->jsdoc_parents['all'][] = $parent->title;
1576
+ }
1577
+ }
1578
+
1579
+ $node->jsdoc_parents = (object)$node->jsdoc_parents;
1580
+ return $node->jsdoc_parents;
1581
+ }
1582
+
1583
+ function jsdoc_is_initialized(&$node) {
1584
+ if (isset($node->jsdoc_initialized)) {
1585
+ return $node->jsdoc_initialized;
1586
+ }
1587
+ $object = jsdoc_get_variable_object($node);
1588
+ if ($object) {
1589
+ return $object->jsdoc_initialized;
1590
+ }
1591
+ return false;
1592
+ }
1593
+
1594
+ function jsdoc_get_classlike(&$node) {
1595
+ if (isset($node->jsdoc_classlike)) {
1596
+ return $node->jsdoc_classlike;
1597
+ }
1598
+
1599
+ if ($node->type == 'jsdoc_variable') {
1600
+ $classlikes = array();
1601
+ $query = db_query("SELECT j.classlike FROM {jsdoc_objects} j JOIN {node_revisions} nr ON (nr.vid = j.vid) WHERE nr.title = '%s' AND BINARY nr.title = '%s' AND j.version = %d", $node->title, $node->title, jsdoc_get_version($node)->nid);
1602
+ while ($result = db_fetch_object($query)) {
1603
+ $classlikes[] = $result->classlike;
1604
+ }
1605
+ $classlikes = array_unique($classlikes);
1606
+ if (count($classlikes) == 1) {
1607
+ return $node->jsdoc_classlike = $classlikes[0];
1608
+ }
1609
+ }
1610
+
1611
+ return $node->jsdoc_classlike = false;
1612
+ }
1613
+
1614
+ function jsdoc_get_teaser(&$node) {
1615
+ if (isset($node->formatted_type)) {
1616
+ return $node->formatted_type;
1617
+ }
1618
+
1619
+ if ($node->type == 'jsdoc_variable' && !$node->teaser) {
1620
+ $node->teaser = _jsdoc_resolve_variable($node)->teaser;
1621
+ }
1622
+
1623
+ return ($node->formatted_type = trim(preg_replace('%(^<p>|</p>$)%', '', check_markup(str_replace("\n", ' ', $node->teaser), variable_get('jsdoc_input_format', 1), FALSE))));
1624
+ }
1625
+
1626
+ function jsdoc_get_body(&$node) {
1627
+ if ($node->type == 'jsdoc_variable' && !$node->body) {
1628
+ return $node->body = _jsdoc_resolve_variable($node)->body;
1629
+ }
1630
+
1631
+ return $node->body;
1632
+ }
1633
+
1634
+ function jsdoc_get_format(&$node) {
1635
+ if ($node->type == 'jsdoc_variable' && !$node->format) {
1636
+ return $node->format = _jsdoc_resolve_variable($node)->format;
1637
+ }
1638
+
1639
+ return $node->format;
1640
+ }
1641
+
1642
+ function jsdoc_get_full_url(&$node) {
1643
+ if ($node->type == 'jsdoc_variable' && !$node->jsdoc_full_url) {
1644
+ return $node->jsdoc_full_url = _jsdoc_resolve_variable($node)->full_url;
1645
+ }
1646
+
1647
+ return $node->jsdoc_full_url;
1648
+ }
1649
+
1650
+ function jsdoc_get_variable_object(&$node) {
1651
+ if ($node->type == 'jsdoc_variable') {
1652
+ if ($object = _jsdoc_resolve_variable($node)->object) {
1653
+ return $object;
1654
+ }
1655
+ else {
1656
+ return $node;
1657
+ }
1658
+ }
1659
+
1660
+ return $node;
1661
+ }
1662
+
1663
+ function jsdoc_is_function(&$node) {
1664
+ return (jsdoc_get_type($node) == 'Function' || jsdoc_get_type($node) == 'Constructor');
1665
+ }
1666
+
1667
+ function jsdoc_is_private(&$node) {
1668
+ if ($node->type == 'jsdoc_object' || isset($node->jsdoc_private)) {
1669
+ return $node->jsdoc_private;
1670
+ }
1671
+
1672
+ $query = db_query("SELECT jo.private, jo.private_parent FROM {jsdoc_objects} jo JOIN {node} n ON (n.vid = jo.vid) WHERE n.title = '%s' AND BINARY n.title = '%s' AND jo.version = %d GROUP BY jo.private, jo.private_parent", $node->title, $node->title, jsdoc_get_version($node)->nid);
1673
+ if (db_num_rows($query) == 1) {
1674
+ $result = db_fetch_object($query);
1675
+ $node->jsdoc_private_parent = $result->private_parent;
1676
+ return $node->jsdoc_private = $result->private;
1677
+ }
1678
+ }
1679
+
1680
+ function jsdoc_has_private_parent(&$node) {
1681
+ if ($node->type != 'jsdoc_object' && !isset($node->jsdoc_private_parent)) {
1682
+ jsdoc_is_private($node);
1683
+ }
1684
+ return $node->jsdoc_private_parent;
1685
+ }
1686
+
1687
+ function jsdoc_get_type(&$node) {
1688
+ if (isset($node->jsdoc_type)) {
1689
+ return $node->jsdoc_type;
1690
+ }
1691
+
1692
+ $type = '';
1693
+
1694
+ if ($node->type == 'jsdoc_variable') {
1695
+ $types = array();
1696
+ $query = db_query("SELECT j.type FROM {jsdoc_objects} j JOIN {node_revisions} nr ON (nr.vid = j.vid) WHERE nr.title = '%s' AND BINARY nr.title = '%s' AND j.version = %d", $node->title, $node->title, jsdoc_get_version($node)->nid);
1697
+ while ($result = db_fetch_object($query)) {
1698
+ if ($result->type) {
1699
+ $types[] = $result->type;
1700
+ }
1701
+ }
1702
+ $types = array_unique($types);
1703
+ if (count($types)) {
1704
+ $type = implode('|', $types);
1705
+ }
1706
+ }
1707
+ elseif ($node->type == 'jsdoc_object') {
1708
+ $type = $node->jsdoc_raw_type;
1709
+ unset($node->jsdoc_raw_type);
1710
+ }
1711
+
1712
+ if ($type == 'Function') {
1713
+ if (jsdoc_get_classlike($node)) {
1714
+ $type = 'Constructor';
1715
+ }
1716
+ elseif (count(jsdoc_get_child_instances($node, true)) || count(jsdoc_get_child_prototypes($node, true))) {
1717
+ $type = 'Constructor';
1718
+ }
1719
+ }
1720
+
1721
+ return ($node->jsdoc_type = $type);
1722
+ }
1723
+
1724
+ function jsdoc_get_resource(&$node) {
1725
+ if (is_numeric($node->jsdoc_resource)) {
1726
+ $node->jsdoc_resource = _jsdoc_node_load($node->jsdoc_resource, $node->jsdoc_resource_vid);
1727
+ }
1728
+
1729
+ return $node->jsdoc_resource;
1730
+ }
1731
+
1732
+ function jsdoc_get_source($node, $depth=0) {
1733
+ if ($depth++ < 2 && $node->type == 'jsdoc_object' && empty($node->jsdoc_source)) {
1734
+ if ($constructor = jsdoc_resolve_constructor($node, true, $depth)) {
1735
+ $node->jsdoc_source = $constructor->source;
1736
+ }
1737
+ }
1738
+ return $node->jsdoc_source;
1739
+ }
1740
+
1741
+ function jsdoc_get_provide(&$node) {
1742
+ $object = $node;
1743
+ if ($node->type == 'jsdoc_variable') {
1744
+ $object = jsdoc_get_variable_object($node);
1745
+ }
1746
+ if (is_numeric($object->jsdoc_provide)) {
1747
+ $object->jsdoc_provide = _jsdoc_node_load($object->jsdoc_provide, $object->jsdoc_provide_vid);
1748
+ }
1749
+ return $object->jsdoc_provide;
1750
+ }
1751
+
1752
+ function jsdoc_get_child_instances(&$node) {
1753
+ return jsdoc_get_children($node)->instances;
1754
+ }
1755
+
1756
+ function jsdoc_get_child_prototypes(&$node) {
1757
+ return jsdoc_get_children($node)->prototypes;
1758
+ }
1759
+
1760
+ function jsdoc_get_child_variables(&$node) {
1761
+ return jsdoc_get_children($node)->variables;
1762
+ }
1763
+
1764
+ function jsdoc_get_child_chains(&$node) {
1765
+ return jsdoc_get_children($node)->chains;
1766
+ }
1767
+
1768
+ function jsdoc_get_child_mixins(&$node) {
1769
+ return jsdoc_get_children($node)->mixins;
1770
+ }
1771
+
1772
+ function jsdoc_is_namespace(&$node) {
1773
+ if (isset($node->jsdoc_namespace)) {
1774
+ return $node->jsdoc_namespace;
1775
+ }
1776
+ $namespace = false;
1777
+
1778
+ if (jsdoc_get_type($node) == 'Object' || jsdoc_is_initialized($node)) {
1779
+ $query = db_query("SELECT 1 FROM node n JOIN jsdoc_objects jo ON (jo.vid = n.vid) WHERE jo.type = 'Function' AND n.title LIKE '%s.%%' AND n.title NOT LIKE '%.toString' LIMIT 1", $node->title);
1780
+ if (db_num_rows($query)) {
1781
+ $namespace = true;
1782
+ }
1783
+ }
1784
+ return ($node->jsdoc_namespace = $namespace);
1785
+ }
1786
+
1787
+ function jsdoc_get_children(&$node) {
1788
+ if (isset($node->jsdoc_variables)) {
1789
+ return (object)array(
1790
+ 'instances' => $node->jsdoc_instances,
1791
+ 'prototypes' => $node->jsdoc_prototypes,
1792
+ 'variables' => $node->jsdoc_variables,
1793
+ 'chains' => $node->jsdoc_chains,
1794
+ 'mixins' => $node->jsdoc_mixins
1795
+ );
1796
+ }
1797
+
1798
+ $node->jsdoc_instances = array();
1799
+ $node->jsdoc_prototypes = array();
1800
+ $node->jsdoc_variables = array();
1801
+ $node->jsdoc_chains = array(
1802
+ 'prototype' => array(),
1803
+ 'call' => array()
1804
+ );
1805
+ $node->jsdoc_mixins = array(
1806
+ 'normal' => array(),
1807
+ 'prototype' => array()
1808
+ );
1809
+
1810
+ $version_nids = array(-1);
1811
+ $query = db_query("SELECT nid FROM {node} WHERE type = 'jsdoc_version' AND title = '%s'", jsdoc_get_version($node)->title);
1812
+ while ($result = db_fetch_object($query)) {
1813
+ $version_nids[] = $result->nid;
1814
+ }
1815
+
1816
+ if ($node->type == "jsdoc_variable") {
1817
+ // Find all objects joined normally to this object,
1818
+ $query = db_query("SELECT n.title FROM {jsdoc_variable_hierarchy} j JOIN {jsdoc_objects} jo ON (jo.vid = j.vid) JOIN {node_revisions} n ON (n.vid = j.vid) WHERE j.parent_vid = %d AND j.type = 'normal' AND jo.version IN (%s) AND jo.used != -1 GROUP BY BINARY n.title ORDER BY n.title", $node->vid, implode(',', $version_nids));
1819
+ $node->jsdoc_variables = array();
1820
+ while ($object = db_fetch_object($query)) {
1821
+ $object = jsdoc_object_node_load($object->title, jsdoc_get_project($node), jsdoc_get_version($node));
1822
+ $node->jsdoc_variables[$object->title] = $object;
1823
+ }
1824
+ uksort($node->jsdoc_variables, 'strnatcasecmp');
1825
+ }
1826
+ elseif ($node->type == "jsdoc_object") {
1827
+ $query = db_query("SELECT j.type, j.subtype, nr.nid, nr.vid FROM {jsdoc_variable_hierarchy} j JOIN {node_revisions} nr ON (nr.vid = j.vid) JOIN {node_revisions} nr2 ON (nr2.vid = j.parent_vid) JOIN {jsdoc_objects} jo ON (jo.vid = nr.vid) WHERE jo.used != -1 AND nr2.title = '%s' AND BINARY nr2.title = '%s' AND j.version IN (%s) GROUP BY nr.nid, j.type, j.subtype", $node->title, $node->title, implode(',', $version_nids));
1828
+ while ($join = db_fetch_object($query)) {
1829
+ $object = _jsdoc_node_load($join->nid, $join->vid);
1830
+ if (!$object->jsdoc_used) {
1831
+ continue;
1832
+ }
1833
+ if ($join->type == 'instance') {
1834
+ $node->jsdoc_instances[$object->title] = $object;
1835
+ }
1836
+ elseif ($join->type == 'prototype') {
1837
+ $node->jsdoc_prototypes[$object->title] = $object;
1838
+ }
1839
+ elseif ($join->type == 'normal') {
1840
+ $node->jsdoc_variables[$object->title] = $object;
1841
+ }
1842
+ elseif ($join->type == 'chain') {
1843
+ $node->jsdoc_chains[$join->subtype][$object->title] = $object;
1844
+ }
1845
+ elseif ($join->type == 'mixin') {
1846
+ if (!$join->subtype) {
1847
+ $join->subtype = 'normal';
1848
+ }
1849
+ $node->jsdoc_mixins[$join->subtype][$object->title] = $object;
1850
+ }
1851
+ elseif ($join->type == 'alias') {
1852
+ $node->jsdoc_aliases = $object;
1853
+ }
1854
+ }
1855
+ uksort($node->jsdoc_instances, 'strnatcasecmp');
1856
+ uksort($node->jsdoc_prototypes, 'strnatcasecmp');
1857
+ uksort($node->jsdoc_chains['prototype'], 'strnatcasecmp');
1858
+ uksort($node->jsdoc_chains['call'], 'strnatcasecmp');
1859
+ uksort($node->jsdoc_mixins['normal'], 'strnatcasecmp');
1860
+ uksort($node->jsdoc_mixins['prototype'], 'strnatcasecmp');
1861
+ }
1862
+
1863
+ return jsdoc_get_children($node);
1864
+ }
1865
+
1866
+ function jsdoc_get_query_variables($project){
1867
+ return db_query("SELECT n.title, n.nid, n.vid, n.type, jo.type AS jsdoc_raw_type, jo.classlike AS jsdoc_classlike, jo.initialized AS jsdoc_initialized FROM {jsdoc_objects} jo JOIN {node} n ON (n.vid = jo.vid) WHERE jo.version = %d AND (n.title = '%s' OR n.title LIKE '%s.%%') AND (jo.type = 'Function' OR jo.type = 'Object' OR (jo.type = 'Function' AND jo.initialized = 1)) GROUP BY BINARY n.title ORDER BY n.title", jsdoc_get_version($project)->nid, $project->title, $project->title);
1868
+ }
1869
+
1870
+ /**
1871
+ * Implementation of hook_load().
1872
+ */
1873
+ function jsdoc_resource_load($node) {
1874
+ $additions = db_fetch_object(db_query("SELECT version AS jsdoc_version FROM {jsdoc_resources} WHERE vid = %d", $node->vid));
1875
+ $version = jsdoc_get_version($node);
1876
+ $node->jsdoc_version = $additions->jsdoc_version;
1877
+ return $additions;
1878
+ }
1879
+
1880
+ /**
1881
+ * Implementation of hook_load().
1882
+ */
1883
+ function jsdoc_variable_load($node) {
1884
+ // An object might have a "default" disambiguation package.
1885
+ $additions = db_fetch_object(db_query("SELECT version AS jsdoc_version, resource_nid AS jsdoc_resource, resource_vid AS jsdoc_resource_vid, private AS jsdoc_private FROM {jsdoc_variables} WHERE vid = %d", $node->vid));
1886
+ $node->jsdoc_version = $additions->jsdoc_version;
1887
+ $additions->jsdoc_url = 'jsdoc/' . jsdoc_get_project($node)->title . '/' . jsdoc_get_version($node)->title . '/' . $node->title;
1888
+
1889
+ return $additions;
1890
+ }
1891
+
1892
+ /**
1893
+ * Implementation of hook_view().
1894
+ */
1895
+ function jsdoc_project_view($node, $teaser = false, $page = false) {
1896
+ return jsdoc_resource_view($node, $teaser, $page);
1897
+ }
1898
+
1899
+ /**
1900
+ * Implementation of hook_view().
1901
+ */
1902
+ function jsdoc_version_view($node, $teaser = false, $page = false) {
1903
+ return jsdoc_resource_view($node, $teaser, $page);
1904
+ }
1905
+
1906
+ /**
1907
+ * Implementation of hook_view().
1908
+ */
1909
+ function jsdoc_resource_view($node, $teaser = false, $page = false) {
1910
+ $node->title = '';
1911
+ $node->teaser = '';
1912
+ $node->body = '';
1913
+ $node = node_prepare($node);
1914
+ return $node;
1915
+ }
1916
+
1917
+ /**
1918
+ * Implementation of hook_view().
1919
+ */
1920
+ function jsdoc_variable_view($node, $teaser = false, $page = false) {
1921
+ return jsdoc_object_view($node, $teaser, $page);
1922
+ }
1923
+ /**
1924
+ * Get the base objects for this project
1925
+ *
1926
+ * @param $version
1927
+ * The release version
1928
+ */
1929
+ function jsdoc_root_objects($version) {
1930
+ $objects = array();
1931
+
1932
+ // Find all "objects" that aren't private and don't have a period in them
1933
+ $query = db_query("SELECT nr.nid, MAX(nr.vid) AS vid FROM {jsdoc_objects} jo JOIN {node_revisions} nr ON (nr.vid = jo.vid) WHERE nr.title NOT LIKE '%.%' AND nr.title != 'window' AND jo.private = 0 AND jo.version = '%s' GROUP BY nr.nid ORDER BY nr.title", $version);
1934
+ while ($object = db_fetch_object($query)) {
1935
+ if (_jsdoc_object_has_child($version, $object)) {
1936
+ // If we find attached variables, it means this is a root level object
1937
+ $object = _jsdoc_node_load($object->nid, $object->vid);
1938
+ $objects[$object->title] = $object;
1939
+ }
1940
+ }
1941
+
1942
+ return $objects;
1943
+ }
1944
+
1945
+ /**
1946
+ * Check to see if there are any variables attached directly to this object
1947
+ *
1948
+ * @param $version
1949
+ * The release version
1950
+ * @param $node
1951
+ * A node of type jsdoc_object
1952
+ */
1953
+ function _jsdoc_object_has_child($version_nid, $node) {
1954
+ $query = db_query("SELECT 1 FROM {jsdoc_variable_hierarchy} joh JOIN {jsdoc_resources} jro ON (jro.vid = joh.vid) JOIN {node_revisions} nr ON (nr.vid = joh.vid) WHERE parent = %d AND joh.type = 'normal' AND jro.private = 0 AND jro.version = %d GROUP BY nr.nid", $node->vid, $version_nid);
1955
+ if (db_num_rows($query)) {
1956
+ return true;
1957
+ }
1958
+
1959
+ return false;
1960
+ }
1961
+
1962
+ /**
1963
+ * Path: admin/settings/jsdoc
1964
+ */
1965
+ function jsdoc_admin() {
1966
+ $form = array();
1967
+
1968
+ $form['jsdoc_dir_location'] = array(
1969
+ '#type' => 'textfield',
1970
+ '#title' => t('Directory to run your file from'),
1971
+ '#default_value' => variable_get('jsdoc_dir_location', ''),
1972
+ '#required' => true
1973
+ );
1974
+
1975
+ $form['jsdoc_file_location'] = array(
1976
+ '#type' => 'textfield',
1977
+ '#title' => t('Location of file used to parse your code'),
1978
+ '#default_value' => variable_get('jsdoc_file_location', ''),
1979
+ '#required' => true
1980
+ );
1981
+
1982
+ $form['jsdoc_base'] = array(
1983
+ '#type' => 'textfield',
1984
+ '#title' => t('This will be used as a base of our functions'),
1985
+ '#default_value' => variable_get('jsdoc_base', 'jsdoc'),
1986
+ '#description' => t('Implement hook_get_files() and hook_get_contents($file)'),
1987
+ '#required' => true
1988
+ );
1989
+
1990
+ $formats = filter_formats();
1991
+ $options = array();
1992
+ foreach ($formats as $format) {
1993
+ $options[$format->format] = $format->name;
1994
+ }
1995
+
1996
+ $form['jsdoc_input_format'] = array(
1997
+ '#title' => t('Default Input Format'),
1998
+ '#type' => 'radios',
1999
+ '#options' => $options,
2000
+ '#required' => true,
2001
+ '#default_value' => variable_get('jsdoc_input_format', 1)
2002
+ );
2003
+
2004
+ return system_settings_form($form);
2005
+ }
2006
+
2007
+ /**
2008
+ * Get list of all projects
2009
+ */
2010
+ function jsdoc_projects() {
2011
+ $projects = array();
2012
+ $query = db_query("SELECT nid FROM {node} WHERE type = 'jsdoc_project'");
2013
+ while ($result = db_fetch_object($query)) {
2014
+ $projects[] = _jsdoc_node_load($result->nid);
2015
+ }
2016
+ return $projects;
2017
+ }
2018
+
2019
+ // Node Load Functions
2020
+ // ===================
2021
+
2022
+ /**
2023
+ * Custom version of node_load for projects
2024
+ */
2025
+ function jsdoc_project_node_load($project_name) {
2026
+ static $projects;
2027
+ if (!$projects) {
2028
+ $projects = array();
2029
+ }
2030
+ if ($projects[$project_name]) {
2031
+ return $projects[$project_name];
2032
+ }
2033
+
2034
+ if($nid = db_result(db_query("SELECT n.nid FROM {node} n JOIN {jsdoc_versions} j ON (j.project = n.nid) WHERE BINARY n.title = '%s'", $project_name))) {
2035
+ $projects[$project_name] = _jsdoc_node_load($nid);
2036
+ return $projects[$project_name];
2037
+ }
2038
+ }
2039
+
2040
+ /**
2041
+ * Custom version of node_load for versions
2042
+ */
2043
+ function jsdoc_version_node_load($version_name, $project) {
2044
+ if (is_numeric($project)) {
2045
+ $project_nid = $project;
2046
+ }
2047
+ elseif (is_string($project)) {
2048
+ $project_nid = jsdoc_project_node_load($project)->nid;
2049
+ }
2050
+ elseif (is_object($project) && $project->nid) {
2051
+ $project_nid = $project->nid;
2052
+ }
2053
+ if ($nid = db_result(db_query("SELECT n.nid FROM {node} n JOIN {jsdoc_versions} j ON (j.nid = n.nid) WHERE n.type = 'jsdoc_version' AND n.title = '%s' AND BINARY n.title = '%s' AND j.project = %d", $version_name, $version_name, $project_nid))) {
2054
+ return _jsdoc_node_load($nid);
2055
+ }
2056
+ }
2057
+
2058
+ /**
2059
+ * Custom version of node_load for resources
2060
+ */
2061
+ function jsdoc_resource_node_load($project, $version, $name) {
2062
+ if (is_object($project) && $project->nid) {
2063
+ $project_nid = $project->nid;
2064
+ }
2065
+ elseif (is_numeric($project)) {
2066
+ $project_nid = $project;
2067
+ }
2068
+ elseif (is_string($project)) {
2069
+ $project_nid = jsdoc_project_node_load($project)->nid;
2070
+ }
2071
+
2072
+ if (is_object($version) && $version->nid) {
2073
+ $version_nid = $version->nid;
2074
+ }
2075
+ elseif (is_numeric($version)) {
2076
+ $version_nid = $version;
2077
+ }
2078
+ elseif (is_string($version)) {
2079
+ $version_nid = jsdoc_version_node_load($version, $project_nid)->nid;
2080
+ }
2081
+
2082
+ if ($version_nid && $resource = db_fetch_object(db_query("SELECT nr.nid, MAX(nr.vid) AS vid FROM {jsdoc_resources} jr JOIN {node_revisions} nr ON (nr.vid = jr.vid) JOIN {node} n ON (n.nid = jr.version) WHERE nr.title = '%s' AND BINARY nr.title = '%s' AND jr.version = %d GROUP BY nr.nid", $name, $name, $version_nid))) {
2083
+ return _jsdoc_node_load($resource->nid, $resource->vid);
2084
+ }
2085
+ }
2086
+
2087
+ function jsdoc_object_node_load($name, $project=false, $version=false, $resource=false, $exact=true) {
2088
+ $nodes = jsdoc_object_nodes_load($name, $project, $version, $resource, $exact);
2089
+ if (count($nodes) == 1) {
2090
+ return $nodes[0];
2091
+ }
2092
+ elseif (!empty($nodes)) {
2093
+ $most_similar = 0;
2094
+ foreach($nodes as $match) {
2095
+ similar_text($match->title, jsdoc_get_project($match)->title, $similarity);
2096
+ if ($similarity > $most_similar) {
2097
+ $node = $match;
2098
+ $most_similar = $similarity;
2099
+ }
2100
+ }
2101
+ return $node;
2102
+ }
2103
+ }
2104
+
2105
+ /**
2106
+ * Custom version of node_load for objects
2107
+ */
2108
+ function jsdoc_object_nodes_load($name, $project=false, $version=false, $resource=false, $exact=true) {
2109
+ $lower_name = strtolower($name);
2110
+
2111
+ $override_name = false;
2112
+ $name_override = $name;
2113
+
2114
+ if ($lower_name == 'bool') {
2115
+ $name = 'Boolean';
2116
+ }
2117
+ elseif ($lower_name == 'int' || $lower_name == 'integer') {
2118
+ $override_name = true;
2119
+ $name_override = 'Integer';
2120
+ $name = 'Number';
2121
+ }
2122
+ elseif ($lower_name == 'float' || $lower_name == 'decimal') {
2123
+ $override_name = true;
2124
+ $name_override = ucfirst($lower_name);
2125
+ $name = 'Number';
2126
+ }
2127
+
2128
+ $global_vars = array('Array', 'Boolean', 'Date', 'Error', 'Function', 'Number', 'Object', 'RegExp', 'String');
2129
+ $lower_global_vars = array('array', 'boolean', 'date', 'error', 'function', 'number', 'object', 'regexp', 'string');
2130
+ if (($pos = array_search($lower_name, $lower_global_vars)) !== false) {
2131
+ $name = $global_vars[$pos];
2132
+ }
2133
+
2134
+ if (in_array($name, $global_vars)) {
2135
+ return array((object)array(
2136
+ 'title' => ($override_name) ? $name_override : $name,
2137
+ 'jsdoc_url' => 'http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:' . $name
2138
+ ));
2139
+ }
2140
+ elseif ($lower_name == 'window') {
2141
+ return array((object)array(
2142
+ 'title' => $name,
2143
+ 'jsdoc_url' => 'http://developer.mozilla.org/en/docs/DOM:window'
2144
+ ));
2145
+ }
2146
+ elseif ($lower_name == 'documentelement' || $lower_name == 'document') {
2147
+ return array((object)array(
2148
+ 'title' => $name,
2149
+ 'jsdoc_url' => 'http://developer.mozilla.org/en/docs/DOM:document'
2150
+ ));
2151
+ }
2152
+ elseif (in_array($lower_name, array('node', 'htmlelment', 'domnode'))) {
2153
+ return array((object)array(
2154
+ 'title' => $name,
2155
+ 'jsdoc_url' => 'http://developer.mozilla.org/en/docs/DOM:element'
2156
+ ));
2157
+ }
2158
+ elseif ($name == 'Constructor') {
2159
+ return array((object)array(
2160
+ 'title' => $name,
2161
+ 'jsdoc_url' => 'http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide:Class-Based_vs._Prototype-Based_Languages#Defining_a_Class'
2162
+ ));
2163
+ }
2164
+
2165
+ // Resolve the project the best that we can
2166
+ if (is_object($project) && $project->nid) {
2167
+ $project_nid = $project->nid;
2168
+ }
2169
+ elseif (is_numeric($project)) {
2170
+ $project_nid = $project;
2171
+ }
2172
+ elseif (is_string($project)) {
2173
+ $project = jsdoc_project_node_load($project);
2174
+ $project_nid = $project->nid;
2175
+ if (!$version) {
2176
+ $version = jsdoc_get_version($project);
2177
+ }
2178
+ }
2179
+
2180
+ // Resolve the version the best that we can
2181
+ if (is_object($version) && $version->nid) {
2182
+ $version_nid = $version->nid;
2183
+ }
2184
+ elseif (is_numeric($version)) {
2185
+ $version_nid = $version;
2186
+ }
2187
+ elseif (is_string($version)) {
2188
+ $version_nid = jsdoc_version_node_load($version, $project_nid)->nid;
2189
+ }
2190
+
2191
+ if ($version_nid && (!is_object($version) || !$version->nid)) {
2192
+ $version = _jsdoc_node_load($version_nid);
2193
+ }
2194
+
2195
+ // We have a few situations:
2196
+ // name
2197
+ // project, name
2198
+ // project, version, name
2199
+ // project, version, resource, name
2200
+
2201
+ // If we're missing the version, assume the latest release
2202
+ // If we're missing the project, look up stuff by name
2203
+
2204
+ $binary = ($exact) ? 'BINARY' : '';
2205
+ $title_check = ($exact) ? "= '%s'" : "LIKE '%%%s%%'";
2206
+ $nodes = array();
2207
+
2208
+ if (!$project_nid) {
2209
+ // We can't look up the proper version without knowing the project
2210
+ $query = db_query("SELECT nr.nid, MAX(nr.vid) AS vid FROM {node_revisions} nr JOIN {node} n ON (n.vid = nr.vid) WHERE nr.title $title_check AND $binary nr.title $title_check AND n.type = 'jsdoc_variable' GROUP BY nr.nid", $name, $name);
2211
+ if (!$exact || db_num_rows($query) == 1) {
2212
+ while ($result = db_fetch_object($query)) {
2213
+ $node = _jsdoc_node_load($result->nid, $result->vid);
2214
+ if ($object = jsdoc_get_variable_object($node)) {
2215
+ if (!$version) {
2216
+ // TODO: In the future, figure out the latest non-HEAD
2217
+ $version = 'HEAD';
2218
+ }
2219
+ $version = jsdoc_version_node_load($version, jsdoc_get_project($object));
2220
+ $versioned_query = db_query("SELECT vid FROM {jsdoc_objects} WHERE nid = %d AND version = %d", $object->nid, $version->nid);
2221
+ if ($result = db_fetch_object($versioned_query)) {
2222
+ $node = jsdoc_get_variable_object(_jsdoc_node_load($object->nid, $result->vid));
2223
+ if ($exact) {
2224
+ return array($node);
2225
+ }
2226
+ $nodes[] = $node;
2227
+ }
2228
+ else {
2229
+ if ($exact) {
2230
+ return array($object);
2231
+ }
2232
+ $nodes[] = $object;
2233
+ }
2234
+ }
2235
+ else {
2236
+ if ($exact) {
2237
+ return array($node);
2238
+ }
2239
+ $nodes[] = $node;
2240
+ }
2241
+ }
2242
+ }
2243
+ else {
2244
+ while ($result = db_fetch_object($query)) {
2245
+ $nodes[] = jsdoc_get_variable_object(_jsdoc_node_load($result->nid, $result->vid));
2246
+ }
2247
+ return $nodes;
2248
+ }
2249
+ }
2250
+ else {
2251
+ if ($resource) {
2252
+ if (is_object($resource)) {
2253
+ $resources = array($resource->nid);
2254
+ }
2255
+ elseif (is_numeric($resource)) {
2256
+ $resources = array($resource);
2257
+ }
2258
+ elseif (is_array($resource)) {
2259
+ $resources = $resource;
2260
+ }
2261
+ else {
2262
+ $resources = array(jsdoc_resource_node_load($project_nid, $version_nid, $resource)->nid);
2263
+ }
2264
+ $query = db_query("SELECT nr.nid, MAX(nr.vid) AS vid FROM {node_revisions} nr INNER JOIN {jsdoc_objects} j ON (j.vid = nr.vid) WHERE nr.title $title_check AND $binary nr.title $title_check AND j.version = %d AND (j.resource_nid IN (%s) OR j.provide_nid IN (%s)) GROUP BY nr.nid", $name, $name, $version_nid, implode(',', $resources), implode(',', $resources));
2265
+ }
2266
+ else {
2267
+ $query = db_query("SELECT nr.nid, MAX(nr.vid) AS vid FROM {node_revisions} nr INNER JOIN {jsdoc_variables} j ON (j.vid = nr.vid) WHERE nr.title $title_check AND $binary nr.title $title_check AND j.version = %d GROUP BY nr.nid", $name, $name, $version_nid);
2268
+ }
2269
+
2270
+ while ($result = db_fetch_object($query)) {
2271
+ $nodes[] = jsdoc_get_variable_object(_jsdoc_node_load($result->nid, $result->vid));
2272
+ }
2273
+ }
2274
+
2275
+ if (empty($nodes)) {
2276
+ // Try without the project
2277
+ return jsdoc_object_nodes_load($name, false, $version->title, $resource, $exact);
2278
+ }
2279
+
2280
+ return $nodes;
2281
+ }
2282
+
2283
+ function jsdoc_parameter_weight_sort($a, $b){
2284
+ return ($a['weight'] == $b['weight']) ? 0 : ($a['weight'] < $b['weight']) ? -1 : 1;
2285
+ }
2286
+
2287
+ /**
2288
+ * Path: jsdoc/ide
2289
+ */
2290
+ function jsdoc_ide($ide, $download=false) {
2291
+ if ($ide == 'aptana') {
2292
+ $document = new DomDocument();
2293
+ $document->encoding = 'utf-8';
2294
+ $document->standalone = true;
2295
+ $document->formatOutput = true;
2296
+ $javascript = $document->appendChild($document->createElement('javascript'));
2297
+ $overview = $javascript->appendChild($document->createElement('overview'));
2298
+ $overview->appendChild($document->createTextNode('The Dojo Toolkit is awesome'));
2299
+
2300
+ foreach (jsdoc_projects() as $project) {
2301
+ $query = jsdoc_get_query_variables($project);
2302
+ while ($result = db_fetch_object($query)) {
2303
+ set_time_limit(60);
2304
+ if (jsdoc_is_namespace($result) || jsdoc_get_type($result) == 'Constructor') {
2305
+ $node = _jsdoc_node_load($result->nid, $result->vid);
2306
+ $class = $javascript->appendChild($document->createElement('class'));
2307
+ $class->setAttribute('type', $node->title);
2308
+
2309
+ if (jsdoc_get_teaser($node)) {
2310
+ $class->appendChild($document->createElement('description'))->appendChild($document->createTextNode(jsdoc_get_teaser($node)));
2311
+ }
2312
+
2313
+ $superclasses = array();
2314
+ $class_mixins = array();
2315
+ if (jsdoc_get_type($node) != 'Constructor') {
2316
+ $superclasses[] = 'Object';
2317
+ }
2318
+ else {
2319
+ $superclass = jsdoc_get_parent_prototype($node);
2320
+
2321
+ if ($constructor = jsdoc_resolve_constructor($node, false)) {
2322
+ $constructor_element = $class->appendChild($document->createElement('constructors'))->appendChild($document->createElement('constructor'));
2323
+ $constructor_element->setAttribute('scope', 'instance');
2324
+ if (jsdoc_get_teaser($constructor)) {
2325
+ $constructor_element->appendChild($document->createElement('description'))->appendChild($document->createTextNode(jsdoc_get_teaser($constructor)));
2326
+ }
2327
+ _jsdoc_ide_build_parameters(jsdoc_get_parameters($constructor), $document, $constructor_element);
2328
+ }
2329
+
2330
+ if ($superclass == 'window') {
2331
+ unset($superclass);
2332
+ }
2333
+ if (!$superclass) {
2334
+ $superclass = 'Object';
2335
+ }
2336
+ $superclasses[] = $superclass;
2337
+ if ($mixins = jsdoc_get_parent_mixins($node)) {
2338
+ if ($mixins['prototype']) {
2339
+ foreach ($mixins['prototype'] as $mixin) {
2340
+ if (preg_match('%\.prototype$%', $mixin)) {
2341
+ $superclasses[] = preg_replace('%\.prototype$%', '', $mixin);
2342
+ }
2343
+ else {
2344
+ $class_mixins['instance'][] = array('static', $mixin);
2345
+ }
2346
+ }
2347
+ }
2348
+ if ($mixins['normal']) {
2349
+ foreach ($mixins['normal'] as $mixin) {
2350
+ if (preg_match('%\.prototype$%', $mixin)) {
2351
+ $class_mixins['static'][] = array('instance', preg_replace('%\.prototype$%', '', $mixin));
2352
+ }
2353
+ else {
2354
+ $class_mixins['static'][] = array('static', $mixin);
2355
+ }
2356
+ }
2357
+ }
2358
+ }
2359
+ }
2360
+ $class->setAttribute('superclass', implode(' ', array_unique($superclasses)));
2361
+
2362
+ foreach ($class_mixins as $scope => $class_mixin) {
2363
+ $mixins = $class->appendChild($document->createElement('mixins'));
2364
+ $mixins->setAttribute('scope', $scope);
2365
+ foreach ($class_mixin as $scoped_mixin) {
2366
+ $mixin = $mixins->appendChild($document->createElement('mixin'));
2367
+ $mixin->setAttribute('scope', $scoped_mixin[0]);
2368
+ $mixin->setAttribute('type', $scoped_mixin[1]);
2369
+ }
2370
+ }
2371
+
2372
+ $properties = array();
2373
+ $methods = array();
2374
+ $childrens = jsdoc_get_children($node);
2375
+ foreach ($childrens as $type => $children) {
2376
+ if ($type == 'variables' || $type == 'instances' || $type == 'prototypes') {
2377
+ foreach ($children as $child) {
2378
+ unset($element);
2379
+
2380
+ if (jsdoc_get_type($child) == 'Function') {
2381
+ if (jsdoc_is_initialized($child)) {
2382
+ continue;
2383
+ }
2384
+ $methods[] = $element = $document->createElement('method');
2385
+
2386
+ _jsdoc_ide_build_parameters(jsdoc_get_parameters($child), $document, $element);
2387
+ if ($types = _jsdoc_ide_build_types(jsdoc_get_return_types($child), 'Object')) {
2388
+ $return_types = $element->appendChild($document->createElement('return-types'));
2389
+ foreach ($types as $return_type) {
2390
+ $return_types->appendChild($document->createElement('return-type'))->setAttribute('type', $return_type);
2391
+ }
2392
+ }
2393
+ }
2394
+ elseif (!jsdoc_is_namespace($child) && jsdoc_get_type($child) != 'Constructor') {
2395
+ $properties[] = $element = $document->createElement('property');
2396
+ $child_type = implode('|', _jsdoc_ide_build_types(jsdoc_get_type($child), 'Object'));
2397
+ $element->setAttribute('type', $child_type);
2398
+ $element->setAttribute('access', 'read-write');
2399
+ }
2400
+
2401
+ if ($element) {
2402
+ $element->setAttribute('scope', ($type == 'variables') ? 'static' : 'instance');
2403
+ $name = preg_replace('%^' . $node->title . '\.%', '', $child->title);
2404
+ $element->setAttribute('name', $name);
2405
+ if (jsdoc_is_private($child)) {
2406
+ $element->setAttribute('visibility', 'internal');
2407
+ }
2408
+ if (jsdoc_get_teaser($child)) {
2409
+ $element->appendChild($document->createElement('description'))->appendChild($document->createTextNode(jsdoc_get_teaser($child)));
2410
+ }
2411
+ }
2412
+ }
2413
+ }
2414
+ }
2415
+ if ($properties) {
2416
+ $properties_element = $class->appendChild($document->createElement('properties'));
2417
+ foreach ($properties as $property) {
2418
+ $properties_element->appendChild($property);
2419
+ }
2420
+ }
2421
+ if ($methods) {
2422
+ $methods_element = $class->appendChild($document->createElement('methods'));
2423
+ foreach ($methods as $method) {
2424
+ $methods_element->appendChild($method);
2425
+ }
2426
+ }
2427
+ }
2428
+ }
2429
+ }
2430
+
2431
+ print $document->saveXML();
2432
+ }
2433
+ }
2434
+
2435
+ function _jsdoc_ide_build_parameters($parameters, $document, &$element) {
2436
+ if (!$parameters) {
2437
+ return;
2438
+ }
2439
+
2440
+ $parameters_element = $element->appendChild($document->createElement('parameters'));
2441
+ foreach ($parameters as $parameter) {
2442
+ $parameter_element = $parameters_element->appendChild($document->createElement('parameter'));
2443
+ $parameter_element->setAttribute('name', $parameter['name']);
2444
+ $parameter_element->setAttribute('type', implode('|', _jsdoc_ide_build_types($parameter['type'], 'Object')));
2445
+ $parameter_element->setAttribute('usage', ($parameter['optional']) ? 'optional' : (($parameter['repeating']) ? 'one-or-more' : 'required'));
2446
+ if ($parameter['summary']) {
2447
+ $parameter_element->appendChild($document->createElement('description'))->appendChild($document->createTextNode($parameter['summary']));
2448
+ }
2449
+ }
2450
+ }
2451
+
2452
+ function _jsdoc_ide_build_types($types, $default=null) {
2453
+ if (!is_array($types)) {
2454
+ if (is_string($types)) {
2455
+ if(!$types){
2456
+ if(!is_null($default)){
2457
+ return array($default);
2458
+ }
2459
+ return array();
2460
+ }else{
2461
+ $types = preg_split('%\s*\|+\s*%', $types);
2462
+ }
2463
+ }
2464
+ else {
2465
+ return array();
2466
+ }
2467
+ }
2468
+
2469
+ $return_types = array();
2470
+ foreach ($types as $i => $type) {
2471
+ $node = jsdoc_object_node_load($type);
2472
+ if (!empty($node->title)) {
2473
+ $type = $node->title;
2474
+ }
2475
+ if (preg_match('%^[a-zA-Z_.$][\w_.$]*(\[\])?$%', $type)) {
2476
+ if ($type == 'Integer' || $type == 'Float' || $type == 'Decimal') {
2477
+ $type = 'Number';
2478
+ }
2479
+ $return_types[] = $type;
2480
+ }
2481
+ }
2482
+
2483
+ if (empty($return_types) && !is_null($default)) {
2484
+ $return_types[] = $default;
2485
+ }
2486
+
2487
+ return $return_types;
2488
+ }
2489
+
2490
+ /**
2491
+ * Path: jsdoc/jsonp
2492
+ */
2493
+ function jsdoc_jsonp($batch=false, $json=false) {
2494
+ include_once(_jsdoc_get_base_path() . '/' . drupal_get_path('module', 'jsdoc') . '/lib/json/Encoder.php');
2495
+ include_once(_jsdoc_get_base_path() . '/' . drupal_get_path('module', 'jsdoc') . '/lib/json/Zend_Exception.php');
2496
+ include_once(_jsdoc_get_base_path() . '/' . drupal_get_path('module', 'jsdoc') . '/lib/json/Exception.php');
2497
+
2498
+ $recursion = false;
2499
+ if ($json) {
2500
+ $recursion = true;
2501
+ $_JSON = $json;
2502
+ }
2503
+ else {
2504
+ $_JSON = array();
2505
+ foreach (explode('&', getenv('QUERY_STRING')) as $query_string) {
2506
+ list($key, $value) = explode('=', $query_string, 2);
2507
+ $value = urldecode($value);
2508
+ if (isset($_JSON[$key])) {
2509
+ if (!is_array($_JSON[$key])) {
2510
+ $_JSON[$key] = array($_JSON[$key]);
2511
+ }
2512
+ $_JSON[$key][] = $value;
2513
+ }
2514
+ else {
2515
+ $_JSON[$key] = $value;
2516
+ }
2517
+ }
2518
+ }
2519
+
2520
+ $names = array();
2521
+ if ($batch) {
2522
+ $names = (is_array($_JSON['names'])) ? $_JSON['names'] : array($_JSON['names']);
2523
+ }
2524
+ else {
2525
+ $names = array($_JSON['name']);
2526
+ }
2527
+
2528
+ $attributes = ($_JSON['attributes']) ? $_JSON['attributes'] : array('summary', 'type', 'returns', 'parameters');
2529
+ if (!is_array($attributes)) {
2530
+ $attributes = array($attributes);
2531
+ }
2532
+
2533
+ foreach ($names as $name) {
2534
+ if (empty($name)) {
2535
+ continue;
2536
+ }
2537
+ if ($_JSON['exact']) {
2538
+ if ($nodes = jsdoc_object_node_load($name, $_JSON['project'], $_JSON['version'], $_JSON['resource'], true)){
2539
+ $nodes = array($nodes);
2540
+ }
2541
+ }
2542
+ else {
2543
+ $nodes = jsdoc_object_nodes_load($name, $_JSON['project'], $_JSON['version'], $_JSON['resource'], false);
2544
+ }
2545
+ foreach ($nodes as $node) {
2546
+ $formatted = (object)array('name' => $name);
2547
+ if ($_JSON['exact'] && count($nodes) > 1) {
2548
+ $formatted->project = jsdoc_get_project($node)->title;
2549
+ }
2550
+ foreach ($attributes as $attribute) {
2551
+ switch ($attribute) {
2552
+ case 'summary':
2553
+ $formatted->summary = jsdoc_get_teaser($node);
2554
+ break;
2555
+ case 'type':
2556
+ $formatted->type = jsdoc_get_type($node);
2557
+ break;
2558
+ case 'returns':
2559
+ $formatted->returns = array(
2560
+ 'types' => array(),
2561
+ 'summary' => jsdoc_get_return_summary($node)
2562
+ );
2563
+ foreach (jsdoc_get_return_types($node) as $type) {
2564
+ $themed = _jsdoc_get_type_themed($type, $node, true);
2565
+ if ($themed) {
2566
+ $formatted->returns['types'][] = $themed;
2567
+ }
2568
+ else {
2569
+ $formatted->returns['types'][] = array(
2570
+ 'title' => $type
2571
+ );
2572
+ }
2573
+ }
2574
+ case 'parameters':
2575
+ $formatted->parameters = _jsdoc_get_parameters_themed($node, true);
2576
+ if (!count($formatted->parameters)) {
2577
+ unset($formatted->parameters);
2578
+ }
2579
+ break;
2580
+ }
2581
+ }
2582
+ if ($_JSON['recursive']) {
2583
+ $children = array_keys(jsdoc_get_child_variables($node));
2584
+ if (!empty($children))
2585
+ $formatted->children = jsdoc_jsonp(true, array(
2586
+ 'attributes' => $_JSON['attributes'],
2587
+ 'names' => $children,
2588
+ 'recursive' => $_JSON['recursive']
2589
+ ));
2590
+ }
2591
+ $output[] = $formatted;
2592
+ }
2593
+ }
2594
+
2595
+ $found = array();
2596
+ foreach ($output as $object) {
2597
+ $found[] = $object->name;
2598
+ }
2599
+ foreach (array_diff($names, $found) as $name) {
2600
+ $output[] = (object)array(
2601
+ 'name' => $name
2602
+ );
2603
+ }
2604
+
2605
+ if ($recursion) {
2606
+ return $output;
2607
+ }
2608
+ print $_GET['callback'] . '(' . str_replace('"__className":"stdClass",', '', Zend_Json_Encoder::encode($output)) . ');';
2609
+ }
2610
+
2611
+ /**
2612
+ * A menu callback
2613
+ */
2614
+ function jsdoc_variables_node_view($nodes) {
2615
+ $form = array();
2616
+
2617
+ if (count($nodes)) {
2618
+ drupal_set_title($nodes[0]->title);
2619
+ }
2620
+
2621
+ foreach ($nodes as $node) {
2622
+ $project = jsdoc_get_project($node);
2623
+ $form['projects'][$project->title] = array(
2624
+ '#title' => $project->title,
2625
+ '#type' => 'fieldset'
2626
+ );
2627
+ if (!empty($project->teaser)) {
2628
+ $form['projects'][$project->title]['summary'] = array(
2629
+ '#title' => t('Summary'),
2630
+ '#value' => $project->teaser,
2631
+ '#weight' => 0
2632
+ );
2633
+ }
2634
+ $value = l($node->title, $node->jsdoc_url);
2635
+ if (jsdoc_get_teaser($node)) {
2636
+ $value .= ': ' . jsdoc_get_teaser($node);
2637
+ }
2638
+ $form['projects'][$project->title]['item'] = array(
2639
+ '#value' => $value
2640
+ );
2641
+ }
2642
+
2643
+ return drupal_render_form('jsdoc_variables_form', $form);
2644
+ }
2645
+
2646
+ /**
2647
+ * A menu callback
2648
+ */
2649
+ function jsdoc_variable_node_view($node) {
2650
+ $form = _jsdoc_node_prepare($node);
2651
+
2652
+ $resources = jsdoc_get_variable_resources($node);
2653
+
2654
+ $display_resources = array();
2655
+ foreach ($resources as $resource_value) {
2656
+ $display_resources[] = (object)array(
2657
+ 'href' => l($resource_value->title, 'jsdoc/' . jsdoc_get_project($node)->title . '/HEAD/' . str_replace('/', '__', $resource_value->title) . '/' . $node->title)
2658
+ );
2659
+ }
2660
+ $form['resources'] = array(
2661
+ '#value' => theme('jsdoc_object_resources', $node, $display_resources),
2662
+ '#weight' => 10
2663
+ );
2664
+
2665
+ $parameters = _jsdoc_get_parameters_themed($node);
2666
+ $function = (object)array(
2667
+ 'signature' => _jsdoc_build_function_signature($node, $parameters)
2668
+ );
2669
+ if (count($parameters)) {
2670
+ $function->parameters = $parameters;
2671
+ }
2672
+ $form['function'] = array(
2673
+ '#value' => theme('jsdoc_function_information', $function, array()),
2674
+ '#weight' => 15
2675
+ );
2676
+
2677
+ $form['parameters'] = array(
2678
+ '#value' => theme('jsdoc_function_parameters', $parameters),
2679
+ '#weight' => 20
2680
+ );
2681
+
2682
+ $children = array();
2683
+ $variables = jsdoc_get_child_variables($node);
2684
+ if (!empty($variables)) {
2685
+ foreach ($variables as $child) {
2686
+ $title = $child->title;
2687
+ if (!jsdoc_is_namespace($node) && $node->title . '.' == substr($title, 0, strlen($node->title) + 1)) {
2688
+ $title = substr($title, strlen($node->title) + 1);
2689
+ }
2690
+ $children[$title] = _jsdoc_get_object_themed($child, $title);
2691
+ }
2692
+ uksort($children, "strnatcasecmp");
2693
+ $form['children'] = array(
2694
+ '#value' => theme('jsdoc_object_children', $children),
2695
+ '#weight' => 30
2696
+ );
2697
+ }
2698
+
2699
+ if (function_exists('comment_render') && $node->comment) {
2700
+ $form['comments'] = array(
2701
+ '#value' => comment_render($node),
2702
+ '#weight' => 30
2703
+ );
2704
+ }
2705
+
2706
+ drupal_set_title(theme('jsdoc_object_title', _jsdoc_get_title_themed($node)));
2707
+
2708
+ return drupal_render_form('jsdoc_variable_form', $form);
2709
+ }
2710
+
2711
+ /**
2712
+ * A menu callback
2713
+ */
2714
+ function jsdoc_object_node_view($node, $initialized = null, $allow_private = false) {
2715
+ // Test for the basics
2716
+ if (!$node) {
2717
+ return drupal_not_found();
2718
+ }
2719
+ if ($node->type == 'jsdoc_object' && $node->jsdoc_used == -1) {
2720
+ return drupal_not_found();
2721
+ }
2722
+
2723
+ drupal_set_title(theme('jsdoc_object_title', _jsdoc_get_title_themed($node)));
2724
+
2725
+ $form = _jsdoc_node_prepare($node);
2726
+
2727
+ $form['require'] = array(
2728
+ '#value' => theme('jsdoc_object_require', jsdoc_get_provide($node)),
2729
+ '#weight' => -20
2730
+ );
2731
+
2732
+ $form['resource'] = array(
2733
+ '#value' => theme('jsdoc_object_resource', jsdoc_get_resource($node), jsdoc_get_project($node))
2734
+ );
2735
+
2736
+ $examples = array();
2737
+ foreach (jsdoc_get_examples($node, true) as $weight => $example) {
2738
+ $examples[] = theme('jsdoc_object_example', $example, $weight + 1);
2739
+ }
2740
+ if (!empty($examples)) {
2741
+ $form['examples'] = array(
2742
+ '#value' => theme('jsdoc_object_examples', $examples),
2743
+ '#weight' => 35
2744
+ );
2745
+ }
2746
+
2747
+ $prototype_chain = jsdoc_get_prototype_chain($node, array(3, 4));
2748
+ if(empty($prototype_chain)){
2749
+ $prototype_chain = array($node);
2750
+ }
2751
+ else {
2752
+ $form['prototype_chain'] = array(
2753
+ '#value' => theme('jsdoc_object_prototype_chain', $prototype_chain),
2754
+ '#weight' => 10
2755
+ );
2756
+ }
2757
+
2758
+ $mixin_chain = array();
2759
+ foreach ($prototype_chain as $prototype) {
2760
+ if ($prototype->title == 'Object') {
2761
+ continue;
2762
+ }
2763
+ $mixin_chain[] = (object)array(
2764
+ 'in_prototype_chain' => true,
2765
+ 'on_prototype' => true,
2766
+ 'node' => $prototype
2767
+ );
2768
+ }
2769
+
2770
+ for ($i = 0; $i < count($mixin_chain); $i++) {
2771
+ $item = $mixin_chain[$i]->node;
2772
+ if ($mixin_chain_mixins_all = jsdoc_get_parent_mixins($item)) {
2773
+ foreach ($mixin_chain_mixins_all as $type => $mixin_chain_mixins) {
2774
+ if ($type == 'prototype' && is_array($mixin_chain_mixins)) {
2775
+ ksort($mixin_chain_mixins);
2776
+ foreach ($mixin_chain_mixins as $mixin) {
2777
+ if (substr($mixin, -10) == '.prototype') {
2778
+ // I don't think this is a bad assumption
2779
+ $mixin = substr($mixin, 0, -10);
2780
+ }
2781
+ $mixin = (object)array(
2782
+ 'in_prototype_chain' => false,
2783
+ 'on_prototype' => true,
2784
+ 'node' => jsdoc_object_node_load($mixin, jsdoc_get_project($node), jsdoc_get_version($node), jsdoc_get_all_provide_nids($node, array(3, 4))),
2785
+ );
2786
+ if ($i > 0 && $mixin_chain[$i - 1]->node->title == $mixin->node->title) {
2787
+ continue;
2788
+ }
2789
+ if ($node->title != $item->title) {
2790
+ $mixin->mixin_from = $item->title;
2791
+ }
2792
+ array_splice($mixin_chain, $i++, 0, array($mixin));
2793
+ }
2794
+ }
2795
+ }
2796
+ }
2797
+ }
2798
+
2799
+ if (!empty($mixin_chain)) {
2800
+ $form['parent_mixins'] = array(
2801
+ '#value' => theme('jsdoc_object_mixins', $mixin_chain),
2802
+ '#weight' => 40
2803
+ );
2804
+ }
2805
+
2806
+ $children = array();
2807
+ foreach ($mixin_chain as $mixin) {
2808
+ $mixin = $mixin->node;
2809
+ $children_all = jsdoc_get_children($mixin);
2810
+ foreach ($children_all as $type => $items) {
2811
+ $type = substr($type, 0, -1);
2812
+ foreach ($items as $item) {
2813
+ if (is_object($item)) {
2814
+ $title = $item->title;
2815
+ if ($type == 'variable' && $node->title . '.' != substr($title, 0, strlen($node->title) + 1)) {
2816
+ continue;
2817
+ }
2818
+ if (!jsdoc_is_namespace($node) && $mixin->title . '.' == substr($title, 0, strlen($mixin->title) + 1)) {
2819
+ $title = substr($title, strlen($mixin->title) + 1);
2820
+ }
2821
+ if ($children[$title]) {
2822
+ $found = false;
2823
+ if ($children[$title]->inheritance) {
2824
+ foreach ($children[$title]->inheritance as $parent) {
2825
+ if ($parent->title == $mixin->title) {
2826
+ $found = true;
2827
+ break;
2828
+ }
2829
+ }
2830
+ }
2831
+ if (!$found) {
2832
+ if ($mixin->title == $node->title) {
2833
+ $children[$title]->override = true;
2834
+ }
2835
+ else {
2836
+ $children[$title]->inheritance[] = _jsdoc_get_object_themed($mixin);
2837
+ }
2838
+ $inherited = _jsdoc_get_object_themed($item, $title);
2839
+ foreach ($inherited as $key => $value) {
2840
+ if ($key == 'summary' && trim($value) == '') {
2841
+ continue;
2842
+ }
2843
+ $children[$title]->$key = $value;
2844
+ }
2845
+ }
2846
+ }
2847
+ else {
2848
+ $children[$title] = _jsdoc_get_object_themed($item, $title);
2849
+ if ($mixin->title != $node->title) {
2850
+ $children[$title]->inheritance[] = _jsdoc_get_object_themed($mixin);
2851
+ }
2852
+ }
2853
+ if ($type == 'variable') {
2854
+ $children[$title]->normal = true;
2855
+ }
2856
+ else {
2857
+ $children[$title]->$type = true;
2858
+ }
2859
+ if (trim(jsdoc_get_teaser($item)) != '') {
2860
+ $children[$title]->summary = jsdoc_get_teaser($item);
2861
+ }
2862
+ }
2863
+ }
2864
+ }
2865
+ }
2866
+ uksort($children, "strnatcasecmp");
2867
+
2868
+ if (jsdoc_is_function($node)) {
2869
+ // TODO: jsdoc_get_parameters_themed goes here
2870
+ $parameters = _jsdoc_get_parameters_themed($node);
2871
+
2872
+ if (count($parameters)) {
2873
+ $form['parameters'] = array(
2874
+ '#value' => theme('jsdoc_function_parameters', $parameters),
2875
+ '#weight' => 20
2876
+ );
2877
+ }
2878
+
2879
+ $base = false;
2880
+ if (jsdoc_get_type($node) == 'Constructor') {
2881
+ $base = $node->title;
2882
+ }
2883
+
2884
+ $function = (object)array(
2885
+ 'source' => jsdoc_get_source($node),
2886
+ 'markedup' => _jsdoc_markup_code(jsdoc_get_source($node), jsdoc_get_version($node)->nid, $base),
2887
+ 'signature' => _jsdoc_build_function_signature($node, $parameters)
2888
+ );
2889
+ if (count($parameters)) {
2890
+ $function->parameters = $parameters;
2891
+ }
2892
+ $form['function'] = array(
2893
+ '#value' => theme('jsdoc_function_information', $function, $children),
2894
+ '#weight' => 30
2895
+ );
2896
+ }
2897
+
2898
+ if (count($children)) {
2899
+ $form['children'] = array(
2900
+ '#value' => theme('jsdoc_object_children', $children),
2901
+ '#weight' => 40
2902
+ );
2903
+ }
2904
+
2905
+ if (function_exists('comment_render') && $node->comment) {
2906
+ $form['comments'] = array(
2907
+ '#value' => comment_render($node),
2908
+ '#weight' => 50
2909
+ );
2910
+ }
2911
+
2912
+ return drupal_render_form('jsdoc_object_form', $form);
2913
+ }
2914
+
2915
+ /**
2916
+ * Path: jsdoc/VERSION/NAME/edit
2917
+ */
2918
+ function jsdoc_object_edit_redirect($node, $resource=false) {
2919
+ if ($resource) {
2920
+ if ($node->jsdoc_detail && jsdoc_get_resource($node->jsdoc_detail)->vid == $resource) {
2921
+ drupal_goto('node/' . $node->jsdoc_detail->nid . '/edit');
2922
+ return;
2923
+ }
2924
+ foreach ($node->jsdoc_disambiguations as $disambiguation) {
2925
+ if (jsdoc_get_resource($disambiguation)->vid == $resource) {
2926
+ drupal_goto('node/' . $disambiguation->nid . '/edit');
2927
+ return;
2928
+ }
2929
+ }
2930
+ }
2931
+ drupal_goto('node/' . $node->nid . '/edit');
2932
+ }
2933
+
2934
+ function _jsdoc_get_title_themed($node) {
2935
+ $themed = _jsdoc_get_object_themed($node);
2936
+ $themed->crumbs = array();
2937
+
2938
+ if ($type = jsdoc_get_type($node)) {
2939
+ $type = jsdoc_object_node_load($type, jsdoc_get_project($node), jsdoc_get_version($node), jsdoc_get_all_provide_nids($node, array(3, 4)));
2940
+ $themed->type = (object)array(
2941
+ 'title' => $type->title,
2942
+ 'url' => $type->jsdoc_url
2943
+ );
2944
+ if ($type->jsdoc_url) {
2945
+ $themed->type->a = l($type->title, $type->jsdoc_url);
2946
+ }
2947
+ else {
2948
+ $themed->type->a = $type->title;
2949
+ }
2950
+ }
2951
+
2952
+ $parts = explode('.', $node->title);
2953
+ $title_text = "";
2954
+ $end = array_pop($parts);
2955
+ foreach ($parts as $part) {
2956
+ if (!empty($title_text)) {
2957
+ $title_text .= '.';
2958
+ }
2959
+ $title_text .= $part;
2960
+
2961
+ $obj = jsdoc_object_node_load($title_text, jsdoc_get_project($node), jsdoc_get_version($node));
2962
+ if ($obj) {
2963
+ $themed->crumbs[] = l($part, $obj->jsdoc_url);
2964
+ }
2965
+ else {
2966
+ $themed->crumbs[] = $part;
2967
+ }
2968
+ }
2969
+ $themed->crumbs[] = $end;
2970
+
2971
+ drupal_set_breadcrumb($themed->crumbs);
2972
+
2973
+ return $themed;
2974
+ }
2975
+
2976
+ function _jsdoc_get_object_themed($node, $title=null, $depth=0) {
2977
+ if (is_null($title)) {
2978
+ $title = $node->title;
2979
+ }
2980
+
2981
+ $object = (object)array(
2982
+ 'title' => $title,
2983
+ 'url' => $node->jsdoc_url,
2984
+ 'summary' => jsdoc_get_teaser($node),
2985
+ 'singleton' => jsdoc_is_initialized($node),
2986
+ 'namespace' => jsdoc_is_namespace($node),
2987
+ 'private' => jsdoc_is_private($node),
2988
+ 'private_parent' => jsdoc_has_private_parent($node)
2989
+ );
2990
+
2991
+ if ($object->url) {
2992
+ $object->a = l($node->title, $node->jsdoc_url);
2993
+ }
2994
+ else {
2995
+ $object->a = $object->title;
2996
+ }
2997
+
2998
+ if ($type = jsdoc_get_type($node)) {
2999
+ $optional = false;
3000
+ if (strpos($type, '?') !== false){
3001
+ $optional = true;
3002
+ $type = str_replace('?', '', $type);
3003
+ }
3004
+ $repeating = false;
3005
+ if (strpos($type, '...') !== false){
3006
+ $repeating = true;
3007
+ $type = str_replace('...', '', $type);
3008
+ }
3009
+ $type = jsdoc_object_node_load($type, jsdoc_get_project($node), jsdoc_get_version($node), jsdoc_get_all_provide_nids($node, array(3, 4)));
3010
+ $object->type = (object)array(
3011
+ 'title' => $type->title,
3012
+ 'url' => $type->jsdoc_url,
3013
+ 'optional' => $optional,
3014
+ 'repeating' => $repeating
3015
+ );
3016
+ if ($type->jsdoc_url) {
3017
+ $object->type->a = l($type->title, $type->jsdoc_url);
3018
+ }
3019
+ else {
3020
+ $object->type->a = $type->title;
3021
+ }
3022
+
3023
+ if (jsdoc_is_function($node)) {
3024
+ $parameters = _jsdoc_get_parameters_themed($node, false, $depth);
3025
+ if (!empty($parameters)) {
3026
+ $object->parameters = $parameters;
3027
+ }
3028
+ $signature = _jsdoc_build_function_signature($node, $parameters);
3029
+ if (!empty($signature)) {
3030
+ $object->signature = $signature;
3031
+ }
3032
+ $source = jsdoc_get_source($node, $depth);
3033
+ if (!empty($source)) {
3034
+ $object->source = $source;
3035
+ }
3036
+ }
3037
+ }
3038
+
3039
+ return $object;
3040
+ }
3041
+
3042
+ function jsdoc_resolve_constructor(&$node, $cleaned=true, $depth=0) {
3043
+ if (trim($node->jsdoc_source) || jsdoc_get_parameters($node)) {
3044
+ return ($cleaned) ? _jsdoc_get_object_themed($node, $node->title, $depth) : $node;
3045
+ }
3046
+
3047
+ $prototype_objects = array();
3048
+ $prototype_chain = jsdoc_get_prototype_chain($node, array(3, 4));
3049
+ $prototype_chain[] = $node;
3050
+ foreach ($prototype_chain as $prototype) {
3051
+ $children_all = jsdoc_get_children($prototype);
3052
+ $prototype_object_children = array();
3053
+ foreach ($children_all as $type => $children) {
3054
+ if ($type == 'prototypes' || $type == 'instances') {
3055
+ foreach ($children as $child) {
3056
+ if (jsdoc_get_type($child) == 'Function') {
3057
+ $title = $child->title;
3058
+ if ($prototype->title . '.' == substr($title, 0, strlen($prototype->title) + 1)) {
3059
+ $title = substr($title, strlen($prototype->title) + 1);
3060
+ }
3061
+ $prototype_object_children[$title] = _jsdoc_get_object_themed($child, $title, $depth);
3062
+ $prototype_object_children[$title]->node = $child;
3063
+ }
3064
+ }
3065
+ }
3066
+ }
3067
+ if (!empty($prototype_object_children)) {
3068
+ $prototype_object = _jsdoc_get_object_themed($prototype, $prototype->title, $depth);
3069
+ $prototype_object->node = $prototype;
3070
+ $prototype_objects[] = (object)array(
3071
+ 'node' => $prototype_object,
3072
+ 'children' => $prototype_object_children
3073
+ );
3074
+ }
3075
+ }
3076
+ if ($constructor = theme('jsdoc_resolve_constructor', $prototype_objects)) {
3077
+ return ($cleaned) ? $constructor : $constructor->node;
3078
+ }
3079
+ }
3080
+
3081
+ function _jsdoc_get_type_themed($type, $node, $cleaned){
3082
+ $obj = jsdoc_object_node_load($type, jsdoc_get_project($node), jsdoc_get_version($node), jsdoc_get_all_provide_nids($node, array(3, 4)));
3083
+ if ($obj) {
3084
+ $type = (object)array(
3085
+ 'title' => $obj->title,
3086
+ 'summary' => jsdoc_get_teaser($obj),
3087
+ 'fields' => false
3088
+ );
3089
+ if (!$cleaned) {
3090
+ $type->url = $obj->jsdoc_url;
3091
+ $type->a = l($obj->title, $obj->jsdoc_url);
3092
+ }
3093
+ // It will have an nid if it's local. For example type: Function isn't local
3094
+ if ($obj->nid) {
3095
+ $type->fields = array();
3096
+ $prototype_chain = jsdoc_get_prototype_chain($obj, array(3, 4));
3097
+
3098
+ for ($i = 0; $i < count($prototype_chain); $i++) {
3099
+ $item = $prototype_chain[$i];
3100
+ if ($mixin_chain_mixins_all = jsdoc_get_parent_mixins($item)) {
3101
+ foreach ($mixin_chain_mixins_all as $mixin_type => $mixin_chain_mixins) {
3102
+ if ($mixin_type == 'prototype' && is_array($mixin_chain_mixins)) {
3103
+ ksort($mixin_chain_mixins);
3104
+ foreach ($mixin_chain_mixins as $mixin) {
3105
+ if (substr($mixin, -10) == '.prototype') {
3106
+ // I don't think this is a bad assumption
3107
+ $mixin = substr($mixin, 0, -10);
3108
+ }
3109
+ $mixin = jsdoc_object_node_load($mixin, jsdoc_get_project($item), jsdoc_get_version($item), jsdoc_get_all_provide_nids($item, array(3, 4)));
3110
+ if ($i > 0 && $prototype_chain[$i - 1]->title == $mixin->title) {
3111
+ continue;
3112
+ }
3113
+ array_splice($prototype_chain, $i++, 0, array($mixin));
3114
+ }
3115
+ }
3116
+ }
3117
+ }
3118
+ }
3119
+
3120
+ $prototype_chain[] = $obj;
3121
+ foreach ($prototype_chain as $obj) {
3122
+ if ($obj->nid) {
3123
+ $args = jsdoc_get_child_instances($obj);
3124
+ foreach (jsdoc_get_child_prototypes($obj) as $title => $arg) {
3125
+ $args[$title] = $arg;
3126
+ }
3127
+ if (!empty($args)) {
3128
+ foreach ($args as $arg) {
3129
+ $title = $parameter->name . '.' . substr($arg->title, strlen($obj->title) + 1);
3130
+
3131
+ $field = (object)array(
3132
+ 'title' => $title,
3133
+ 'summary' => jsdoc_get_teaser($arg),
3134
+ 'types' => false
3135
+ );
3136
+ if (!$cleaned) {
3137
+ $field->url = $arg->jsdoc_url;
3138
+ $field->a = l($title, $arg->jsdoc_url);
3139
+ }
3140
+
3141
+ $field_types = preg_split('%\|+%', jsdoc_get_type($arg));
3142
+ foreach ($field_types as $field_type) {
3143
+ $found = 0;
3144
+ $field_type = str_replace('?', '', $field_type, $found);
3145
+ $optional = ($found > 0);
3146
+ $found = 0;
3147
+ $field_type = str_replace('...', '', $field_type, $found);
3148
+ $repeating = ($found > 0);
3149
+
3150
+ $field_obj = jsdoc_object_node_load($field_type, jsdoc_get_project($node), jsdoc_get_version($node), jsdoc_get_all_provide_nids($node, array(3, 4)));
3151
+ $field_type = (object)array(
3152
+ 'title' => $field_obj->title,
3153
+ 'repeating' => $repeating,
3154
+ 'optional' => $optional,
3155
+ 'summary' => jsdoc_get_teaser($field_obj)
3156
+ );
3157
+ if (!$cleaned) {
3158
+ $field_type->url = $field_obj->jsdoc_url;
3159
+ $field_type->a = l($field_obj->title, $field_obj->jsdoc_url);
3160
+ }
3161
+ $field->types[] = $field_type;
3162
+ }
3163
+
3164
+ $type->fields[$field->title] = $field;
3165
+ }
3166
+ }
3167
+ }
3168
+ }
3169
+ if (empty($type->fields)) {
3170
+ unset($type->fields);
3171
+ }else{
3172
+ uksort($type->fields, 'strnatcasecmp');
3173
+ }
3174
+ }
3175
+ return $type;
3176
+ }
3177
+ }
3178
+
3179
+ function _jsdoc_get_parameters_themed(&$node, $cleaned=false, $depth=0) {
3180
+ if (isset($node->jsdoc_parameters_themed)) {
3181
+ return $node->jsdoc_parameters_themed;
3182
+ }
3183
+
3184
+ $parameters = array();
3185
+ $retrieved_parameters = jsdoc_get_parameters($node);
3186
+
3187
+ if ($depth++ < 2 && empty($retrieved_parameters) && jsdoc_get_type($node) == 'Constructor') {
3188
+ if ($constructor = jsdoc_resolve_constructor($node, true, $depth)) {
3189
+ $node->jsdoc_parameters = jsdoc_get_parameters($constructor->node);
3190
+ $parameters = $constructor->parameters;
3191
+ }
3192
+ }
3193
+ else {
3194
+ foreach ($retrieved_parameters as $item) {
3195
+ $parameter = (object)$item['jsdoc_formatted'];
3196
+ $parameter->summary = $item['summary'];
3197
+ $parameter->name = $item['name'];
3198
+ $parameter->optional = $item['optional'];
3199
+ $parameter->repeating = $item['repeating'];
3200
+ $parameter->types = false;
3201
+ if ($cleaned) {
3202
+ unset($parameter->html_type_prefix);
3203
+ unset($parameter->html_type_suffix);
3204
+ unset($parameter->separator);
3205
+ }
3206
+
3207
+ $type = $item['type'];
3208
+ $types = array();
3209
+ if (strpos($type, '|') !== false) {
3210
+ $types = preg_split('%\s*\|+\s*%', $type);
3211
+ }
3212
+ elseif ($type) {
3213
+ $types = array($type);
3214
+ }
3215
+
3216
+ foreach ($types as $type) {
3217
+ if ($type = _jsdoc_get_type_themed($type, $node, $cleaned)) {
3218
+ $parameter->types[] = $type;
3219
+ }
3220
+ }
3221
+
3222
+ if (empty($parameter->types)) {
3223
+ unset($parameter->html_type_prefix);
3224
+ unset($parameter->html_type_suffix);
3225
+ unset($parameter->separator);
3226
+ }
3227
+
3228
+ unset($parameter->type);
3229
+ $parameters[] = $parameter;
3230
+ }
3231
+ }
3232
+
3233
+ return ($node->jsdoc_parameters_themed = $parameters);
3234
+ }
3235
+
3236
+ function _jsdoc_format_type($type, $classlike = false, $optional = false, $repeating = false) {
3237
+ $output = array();
3238
+ $name = '';
3239
+
3240
+ if ($type) {
3241
+ $output['html_type_prefix'] = '/*';
3242
+ $output['html_type_suffix'] = '*/';
3243
+ $output['type'] = $type;
3244
+ if ($type == 'Function' && $classlike) {
3245
+ $output['type'] = 'Constructor';
3246
+ }
3247
+ if ($optional) {
3248
+ $output['type'] .= '?';
3249
+ }
3250
+ if ($repeating) {
3251
+ $output['type'] .= '...';
3252
+ }
3253
+ }
3254
+ if ($type) {
3255
+ $output['separator'] .= ' ';
3256
+ }
3257
+
3258
+ return $output;
3259
+ }
3260
+
3261
+ function _jsdoc_object_mixin($node, $object) {
3262
+
3263
+ }
3264
+
3265
+ /**
3266
+ * Either load or create an object, dealing with versioning and everything
3267
+ *
3268
+ * We look up an object by name and resource, getting the latest nid that we find.
3269
+ *
3270
+ * If there is no object present, we use node_save to create a new node. After
3271
+ * this, we can just exit the block.
3272
+ *
3273
+ * If there is an object present, the first thing to check for is to see if
3274
+ * we need to create a new revision of the object. We do this by checking
3275
+ * to see if we have a new revision, if updating flag is set in the DB, or
3276
+ * if the parameters have been updated. In this case, we create a new version
3277
+ * of the node.
3278
+ *
3279
+ * For a few values, we check to see if they are either absent in the DB or
3280
+ * if the updating flag is set (the user is basically saying for the JS to "win").
3281
+ *
3282
+ * For the rest of the values, the values from JS win.
3283
+ */
3284
+ function _jsdoc_object_get_or_create($namespace, $name, $summary, $description, $resource, $provide, $private, $private_parent, $initialized, $classlike, $type, $returns, $return_summary, $source, $parameters, $examples, $aliases, $instance, $prototype, $chains, $mixins) {
3285
+ if (!$nid_vid = db_fetch_object(db_query("SELECT nr.nid, MAX(nr.vid) AS vid FROM {jsdoc_objects} j JOIN {node_revisions} nr ON (nr.vid = j.vid) WHERE nr.title = '%s' AND BINARY nr.title = '%s' AND j.resource_vid = %d GROUP BY nr.nid", $name, $name, $resource->vid))) {
3286
+ // Create a node for this object if we don't already have one
3287
+ $node = (object)array(
3288
+ 'title' => $name,
3289
+ 'type' => 'jsdoc_object',
3290
+ 'teaser' => $summary, // from source
3291
+ 'body' => $description, // immutable by source
3292
+ 'uid' => 1,
3293
+ 'status' => 1,
3294
+ 'comment' => 2,
3295
+ 'promote' => 0,
3296
+ 'sticky' => 0,
3297
+ 'jsdoc_cron' => true,
3298
+ 'jsdoc_project_name' => $namespace, // from source
3299
+ 'jsdoc_resource' => $resource->nid, // from source,
3300
+ 'jsdoc_resource_vid' => $resource->vid, // from source,
3301
+ 'jsdoc_provide' => $provide->nid, // from source
3302
+ 'jsdoc_provide_vid' => $provide->vid, // from source
3303
+ 'jsdoc_private' => $private, // from source
3304
+ 'jsdoc_private_parent' => $private_parent, // from source
3305
+ 'jsdoc_initialized' => $initialized, // from source
3306
+ 'jsdoc_classlike' => $classlike, // immutable by source
3307
+ 'jsdoc_type' => $type, // immutable
3308
+ 'jsdoc_returns' => $returns, // from source
3309
+ 'jsdoc_return_summary' => $return_summary, // from source
3310
+ 'jsdoc_source' => $source, // from source
3311
+ 'jsdoc_parameters' => $parameters, // from source
3312
+ 'jsdoc_examples' => $examples, // from source. Although I'd like to add a screen for new ones
3313
+ 'jsdoc_aliases' => $aliases, // from source
3314
+ 'jsdoc_instance' => $instance, // from source
3315
+ 'jsdoc_prototype' => $prototype, // from source
3316
+ 'jsdoc_chains' => $chains, // from source
3317
+ 'jsdoc_mixins' => $mixins // from source
3318
+ );
3319
+ if (trim($description)) {
3320
+ $node->format = variable_get('jsdoc_input_format', 1);
3321
+ }
3322
+ node_save($node);
3323
+ $node = _jsdoc_node_load($node->nid);
3324
+ }
3325
+ else {
3326
+ $node = _jsdoc_node_load($nid_vid->nid, $nid_vid->vid);
3327
+ $node->jsdoc_cron = true;
3328
+ $new_version = false;
3329
+ if ($node->jsdoc_updating) {
3330
+ // Who knows if we'll have more conditions in the future? Not me.
3331
+ $new_version = true;
3332
+ }
3333
+
3334
+ if ($parameters) {
3335
+ jsdoc_get_parameters($node);
3336
+ foreach ($parameters as $parameter_name => $parameter) {
3337
+ if (is_array($node->jsdoc_parameters) && array_key_exists($parameter_name, $node->jsdoc_parameters)) {
3338
+ if (empty($parameter['type']) || !$new_version) {
3339
+ $parameters[$parameter_name]['type'] = $node->jsdoc_parameters[$parameter_name]['type']; // Database writes over source
3340
+ }
3341
+ if (empty($parameter['summary']) || !$new_version) {
3342
+ $parameters[$parameter_name]['summary'] = $node->jsdoc_parameters[$parameter_name]['summary']; // Database writes over source
3343
+ }
3344
+ }
3345
+ }
3346
+ }
3347
+
3348
+ $node->jsdoc_parameters = $parameters;
3349
+
3350
+ // Allow overriding of all properties, not just mutable values.
3351
+ // Create a new revision before we do this, though (see logic block above)
3352
+ if ($new_version || !$node->jsdoc_type) {
3353
+ $node->jsdoc_type = $type;
3354
+ }
3355
+
3356
+ if ($new_version || !trim($node->body)) {
3357
+ $node->body = $description;
3358
+ $node->format = variable_get('jsdoc_input_format', 1);
3359
+ }
3360
+
3361
+ if ($new_version) {
3362
+ $node->jsdoc_classlike = $classlike;
3363
+ }
3364
+
3365
+ $node->teaser = $summary;
3366
+ $node->jsdoc_private = $private;
3367
+ $node->jsdoc_private_parent = $private_parent;
3368
+ $node->jsdoc_initialized = $initialized;
3369
+ $node->jsdoc_returns = $returns;
3370
+ $node->jsdoc_return_summary = $return_summary;
3371
+ $node->jsdoc_resource = $resource->nid;
3372
+ $node->jsdoc_resource_vid = $resource->vid;
3373
+ $node->jsdoc_provide = $provide->nid;
3374
+ $node->jsdoc_provide_vid = $provide->vid;
3375
+ $node->jsdoc_source = $source;
3376
+ $node->jsdoc_aliases = $aliases;
3377
+ $node->jsdoc_examples = $examples;
3378
+ $node->jsdoc_instance = $instance;
3379
+ $node->jsdoc_prototype = $prototype;
3380
+ $node->jsdoc_chains = $chains;
3381
+ $node->jsdoc_mixins = $mixins;
3382
+
3383
+ $node->revision = false;
3384
+ node_save($node);
3385
+ $node = _jsdoc_node_load($node->nid);
3386
+ }
3387
+
3388
+ return $node;
3389
+ }
3390
+
3391
+ function _jsdoc_variable_get_or_create($name, $project_name, $private) {
3392
+ if (is_object($project_name)) {
3393
+ $project = $project_name;
3394
+ $version = jsdoc_get_version($project);
3395
+ }
3396
+ else {
3397
+ $project = _jsdoc_project_get_or_create($project_name);
3398
+ $version = _jsdoc_version_get_or_create('HEAD', $project);
3399
+ }
3400
+
3401
+ if (!$nid = db_result(db_query("SELECT nr.nid FROM {jsdoc_variables} j JOIN {node_revisions} nr ON (j.vid = nr.vid) WHERE nr.title = '%s' AND BINARY nr.title = '%s' AND j.version = %d ORDER BY nr.vid DESC", $name, $name, $version->nid))) {
3402
+ $node = (object)array(
3403
+ 'title' => $name,
3404
+ 'jsdoc_version' => $version->nid,
3405
+ 'jsdoc_private' => $private,
3406
+ 'type' => 'jsdoc_variable',
3407
+ 'uid' => 1,
3408
+ 'status' => 1,
3409
+ 'comment' => 2,
3410
+ 'promote' => 0,
3411
+ 'sticky' => 0
3412
+ );
3413
+ node_save($node);
3414
+ $node = _jsdoc_node_load($node->nid);
3415
+ }
3416
+ else {
3417
+ $node = _jsdoc_node_load($nid);
3418
+
3419
+ $node->jsdoc_private = $private;
3420
+
3421
+ node_save($node);
3422
+ $node = _jsdoc_node_load($node->nid);
3423
+ }
3424
+
3425
+ return $node;
3426
+ }
3427
+
3428
+ function _jsdoc_resource_get_or_create($name, $project_name) {
3429
+ if (!$nid = db_result(db_query("SELECT nr.nid FROM {jsdoc_resources} j JOIN {node_revisions} nr ON (j.vid = nr.vid) WHERE nr.title = '%s' AND BINARY nr.title = '%s' ORDER BY nr.vid DESC", $name, $name))) {
3430
+ $project = _jsdoc_project_get_or_create($project_name);
3431
+ $node = (object)array(
3432
+ 'jsdoc_version' => jsdoc_get_version($project)->nid,
3433
+ 'title' => $name,
3434
+ 'type' => 'jsdoc_resource',
3435
+ 'uid' => 1,
3436
+ 'status' => 1,
3437
+ 'comment' => 2,
3438
+ 'promote' => 0,
3439
+ 'stick' => 0
3440
+ );
3441
+ node_save($node);
3442
+ $is_new = $node->is_new;
3443
+ $node = _jsdoc_node_load($node->nid);
3444
+ if ($is_new) {
3445
+ $node->is_new = $is_new;
3446
+ }
3447
+ }
3448
+ else {
3449
+ $node = _jsdoc_node_load($nid);
3450
+ }
3451
+
3452
+ return $node;
3453
+ }
3454
+
3455
+ function _jsdoc_project_get_or_create($name) {
3456
+ if (!$nid = db_result(db_query("SELECT nid FROM {node} n WHERE type = 'jsdoc_project' AND title = '%s' AND BINARY title = '%s'", $name, $name))) {
3457
+ $node = (object)array(
3458
+ 'title' => $name,
3459
+ 'type' => 'jsdoc_project',
3460
+ 'uid' => 1,
3461
+ 'status' => 1,
3462
+ 'comment' => 0,
3463
+ 'promote' => 0,
3464
+ 'stick' => 0
3465
+ );
3466
+ node_save($node);
3467
+ $node = _jsdoc_node_load($node->nid);
3468
+ }
3469
+ else {
3470
+ $node = _jsdoc_node_load($nid);
3471
+ }
3472
+
3473
+ return $node;
3474
+ }
3475
+
3476
+ function _jsdoc_version_get_or_create($name, $project_nid) {
3477
+ if (is_object($project_nid) && $project_nid->nid) {
3478
+ $project_nid = $project_nid->nid;
3479
+ }
3480
+ if (!$nid = db_result(db_query("SELECT n.nid FROM {node} n JOIN {jsdoc_versions} j ON (j.nid = n.nid) WHERE n.type = 'jsdoc_version' AND n.title = '%s' AND BINARY n.title = '%s' AND j.project = %d", $name, $name, $project_nid))) {
3481
+ $node = (object)array(
3482
+ 'jsdoc_project' => $project_nid,
3483
+ 'title' => $name,
3484
+ 'type' => 'jsdoc_version',
3485
+ 'uid' => 1,
3486
+ 'status' => 1,
3487
+ 'comment' => 2,
3488
+ 'promote' => 0,
3489
+ 'stick' => 0
3490
+ );
3491
+ node_save($node);
3492
+ }
3493
+ else {
3494
+ $node = _jsdoc_node_load($nid);
3495
+ }
3496
+ return $node;
3497
+ }
3498
+
3499
+ function _jsdoc_detail_update_joins($node) {
3500
+ if (!isset($node->jsdoc_cron)) return;
3501
+
3502
+ db_query("DELETE FROM {jsdoc_variable_hierarchy} WHERE nid = %d AND version = %d", $node->nid, jsdoc_get_version($node)->nid);
3503
+ if ($node->jsdoc_aliases) {
3504
+ $parent = _jsdoc_variable_get_or_create($node->jsdoc_aliases, jsdoc_get_project($node), false);
3505
+ db_query("INSERT INTO {jsdoc_variable_hierarchy} (vid, nid, parent_vid, parent_nid, type, version) VALUES (%d, %d, %d, %d, '%s', %d)", $node->vid, $node->nid, $parent->vid, $parent->nid, 'alias', jsdoc_get_version($node)->nid);
3506
+ }
3507
+ else {
3508
+ if ($node->jsdoc_instance) {
3509
+ $parent = _jsdoc_variable_get_or_create($node->jsdoc_instance, jsdoc_get_project($node), false);
3510
+ db_query("INSERT INTO {jsdoc_variable_hierarchy} (vid, nid, parent_vid, parent_nid, type, version) VALUES (%d, %d, %d, %d, '%s', %d)", $node->vid, $node->nid, $parent->vid, $parent->nid, 'instance', jsdoc_get_version($node)->nid);
3511
+
3512
+ // If object foo has function foo.bar and foo.bar uses the variable
3513
+ // this.baz and is uninstantiated, `this` would refer to foo,
3514
+ // making baz a property of foo. So we create a normal join
3515
+ // from foo.bar.baz to foo.baz by removing the second to last object section
3516
+ if (preg_match('%^([^.]+)\.[^.]+\.([^.]+)$%', $node->title, $match)) {
3517
+ $parent = _jsdoc_variable_get_or_create($match[1] . '.' . $match[2], jsdoc_get_project($node), false);
3518
+ db_query("INSERT INTO {jsdoc_variable_hierarchy} (vid, nid, parent_vid, parent_nid, type, version) VALUES (%d, %d, %d, %d, '%s', %d)", $node->vid, $node->nid, $parent->vid, $parent->nid, 'cascading', jsdoc_get_version($node)->nid);
3519
+ }
3520
+ }
3521
+ if ($node->jsdoc_prototype) {
3522
+ $parent = _jsdoc_variable_get_or_create($node->jsdoc_prototype, jsdoc_get_project($node), false);
3523
+ db_query("INSERT INTO {jsdoc_variable_hierarchy} (vid, nid, parent_vid, parent_nid, type, version) VALUES (%d, %d, %d, %d, '%s', %d)", $node->vid, $node->nid, $parent->vid, $parent->nid, 'prototype', jsdoc_get_version($node)->nid);
3524
+ }
3525
+ if (!$node->jsdoc_instance && !$node->jsdoc_prototype) {
3526
+ $parts = explode('.', $node->title);
3527
+ if (count($parts) == 1) {
3528
+ $parent = 'window';
3529
+ }
3530
+ else {
3531
+ array_pop($parts);
3532
+ $parent = implode('.', $parts);
3533
+ }
3534
+ $parent = _jsdoc_variable_get_or_create($parent, jsdoc_get_project($node), false);
3535
+ db_query("INSERT INTO {jsdoc_variable_hierarchy} (vid, nid, parent_vid, parent_nid, type, version) VALUES (%d, %d, %d, %d, '%s', %d)", $node->vid, $node->nid, $parent->vid, $parent->nid, 'normal', jsdoc_get_version($node)->nid);
3536
+ }
3537
+ if ($node->jsdoc_mixins) {
3538
+ foreach ($node->jsdoc_mixins as $subtype => $mixin) {
3539
+ if ($subtype == 'normal') {
3540
+ $subtype = '';
3541
+ }
3542
+ $mixin = array_unique($mixin);
3543
+ foreach ($mixin as $parent) {
3544
+ $parent = _jsdoc_variable_get_or_create($parent, jsdoc_get_project($node), false);
3545
+ db_query("INSERT INTO {jsdoc_variable_hierarchy} (vid, nid, parent_vid, parent_nid, type, subtype, version) VALUES (%d, %d, %d, %d, '%s', '%s', %d)", $node->vid, $node->nid, $parent->vid, $parent->nid, 'mixin', $subtype, jsdoc_get_version($node)->nid);
3546
+ }
3547
+ }
3548
+ }
3549
+ if ($node->jsdoc_chains) {
3550
+ foreach ($node->jsdoc_chains as $subtype => $chain) {
3551
+ $chain = array_unique($chain);
3552
+ foreach ($chain as $parent) {
3553
+ $parent = _jsdoc_variable_get_or_create($parent, jsdoc_get_project($node), false);
3554
+ db_query("INSERT INTO {jsdoc_variable_hierarchy} (vid, nid, parent_vid, parent_nid, type, subtype, version) VALUES (%d, %d, %d, %d, '%s', '%s', %d)", $node->vid, $node->nid, $parent->vid, $parent->nid, 'chain', $subtype, jsdoc_get_version($node)->nid);
3555
+ }
3556
+ }
3557
+ }
3558
+ }
3559
+ }
3560
+
3561
+ function jsdoc_get_all_provide_nids(&$node, $environments) {
3562
+ return jsdoc_get_resources($node, $environments)->jsdoc_provide_nids;
3563
+ }
3564
+
3565
+ function jsdoc_get_prototype_chain($node, $environments, $output = array()) {
3566
+ $parents = jsdoc_get_parents($node);
3567
+ $resources = jsdoc_get_resources($node, $environments);
3568
+ array_unshift($output, $node);
3569
+
3570
+ $prototype = "";
3571
+ if ($parents->chain && !empty($parents->chain['prototype'])) {
3572
+ $prototype = $parents->chain['prototype'][0];
3573
+ }
3574
+ if ($prototype) {
3575
+ if ($parent = jsdoc_object_node_load($prototype, jsdoc_get_project($node), jsdoc_get_version($node), jsdoc_get_resources($node, $environments)->jsdoc_provide_nids)) {
3576
+ return jsdoc_get_prototype_chain($parent, $environments, $output);
3577
+ }
3578
+ }
3579
+
3580
+ if (count($output) == 1) {
3581
+ return array();
3582
+ }
3583
+
3584
+ array_unshift($output, jsdoc_object_node_load('Object', jsdoc_get_project($node), jsdoc_get_version($node)));
3585
+ return $output;
3586
+ }
3587
+
3588
+ function jsdoc_get_variable_resources(&$node) {
3589
+ if (isset($node->variable_resources)) {
3590
+ return $node->variable_resources;
3591
+ }
3592
+
3593
+ $node->variable_resources = array();
3594
+ if ($node->type == 'jsdoc_variable') {
3595
+ $query = db_query("SELECT j.resource_nid AS nid, j.resource_vid AS vid FROM {jsdoc_objects} j JOIN {node_revisions} nr ON (nr.vid = j.vid) WHERE nr.title = '%s' AND BINARY nr.title = '%s' AND j.version = %d", $node->title, $node->title, jsdoc_get_version($node)->nid);
3596
+ while ($result = db_fetch_object($query)) {
3597
+ $node->variable_resources[] = _jsdoc_node_load($result->nid, $result->vid);
3598
+ }
3599
+ }
3600
+ elseif ($node->type == 'jsdoc_object') {
3601
+ if ($resource = jsdoc_get_resource($node)) {
3602
+ $node->variable_resources[] = $resource;
3603
+ }
3604
+ }
3605
+
3606
+ return $node->variable_resources;
3607
+ }
3608
+
3609
+ function jsdoc_current_node($node=null) {
3610
+ static $current;
3611
+ if (is_null($node)) {
3612
+ return $current;
3613
+ }
3614
+ $current = $node;
3615
+ }
3616
+
3617
+ function jsdoc_get_resources(&$node, $environments) {
3618
+ if (isset($node->jsdoc_resources)) {
3619
+ return (object)array(
3620
+ 'jsdoc_provide_nids' => $node->jsdoc_provide_nids,
3621
+ 'jsdoc_resources' => $node->jsdoc_resources
3622
+ );
3623
+ }
3624
+
3625
+ $node->jsdoc_provide_nids = array();
3626
+ $node->jsdoc_resources = array();
3627
+
3628
+ if ($node->type == 'jsdoc_object') {
3629
+ $object = $node;
3630
+ }
3631
+ elseif ($node->type == 'jsdoc_variable' && jsdoc_get_variable_object($node)) {
3632
+ $object = jsdoc_get_variable_object($node);
3633
+ }
3634
+
3635
+ $provide = jsdoc_get_provide($node);
3636
+ $node_resource = jsdoc_get_resource($node);
3637
+
3638
+ if ($object && $provide) {
3639
+ $object_provide = jsdoc_get_provide($object);
3640
+ $resource_tree = _jsdoc_get_tree($environments, $provide->nid);
3641
+ $provide_nids = array();
3642
+ $resources = array();
3643
+ foreach ($resource_tree as $resource) {
3644
+ $provide_nids[] = $resource->nid;
3645
+ $resource_node = _jsdoc_node_load($resource->nid, $resource->vid);
3646
+ $resource_node->jsdoc_resource_depth = $resource->depth;
3647
+ $resources[] = $resource_node;
3648
+ }
3649
+ if ($provide && !in_array($provide->nid, $provide_nids)) {
3650
+ $provide_nids[] = $provide->nid;
3651
+ $resource_node = _jsdoc_node_load($provide->nid, $provide->vid);
3652
+ $resource_node->jsdoc_resource_depth = -1;
3653
+ $resources[] = $resource_node;
3654
+ }
3655
+ if ($object_provide->nid && !in_array($object_provide->nid, $provide_nids)) {
3656
+ $provide_nids[] = $object_provide->nid;
3657
+ $resource_node = _jsdoc_node_load($object_provide->nid, $object_provide->vid);
3658
+ $resource_node->jsdoc_resource_depth = -1;
3659
+ $resources[] = $resource_node;
3660
+ }
3661
+ $node->jsdoc_provide_nids = $object->jsdoc_provide_nids = array_unique($provide_nids);
3662
+ $node->jsdoc_resources = $object->jsdoc_resources = $resources;
3663
+ }
3664
+
3665
+ return jsdoc_get_resources($node, $environments);
3666
+ }
3667
+
3668
+ function _jsdoc_get_tree($environments, $parent = 0, $depth = -1, $visited=array()) {
3669
+ static $children, $parents, $terms;
3670
+
3671
+ $depth++;
3672
+
3673
+ if (!isset($parents)) {
3674
+ $parents = array();
3675
+
3676
+ $result = db_query("SELECT j.vid, j.nid, j.parent_vid, j.parent_nid, nr.title AS name FROM {jsdoc_resource_hierarchy} j JOIN {node_revisions} nr ON (j.vid = nr.vid) WHERE j.tid IN (%s) GROUP BY j.vid, j.parent_vid, BINARY nr.title", implode(',', $environments));
3677
+ while ($term = db_fetch_object($result)) {
3678
+ if ($term->parent_vid) {
3679
+ $children[$term->parent_nid][] = $term->nid;
3680
+ $parents[$term->nid][] = array($term->parent_nid, $term->parent_vid);
3681
+ }
3682
+ $terms[$term->nid] = $term;
3683
+ }
3684
+ }
3685
+
3686
+ if ($parents[$parent]) {
3687
+ foreach ($parents[$parent] as $parent) {
3688
+ if (isset($terms[$parent[0]])) {
3689
+ $term = $terms[$parent[0]];
3690
+ }
3691
+ else {
3692
+ $term = (object)array('nid' => $parent[0], 'vid' => $parent[1]);
3693
+ $term->name = $term->title;
3694
+ }
3695
+
3696
+ $term->depth = $depth;
3697
+ $term->children = $children[$parent[0]];
3698
+ $tree[] = $term;
3699
+
3700
+ if ($parents[$parent[0]]) {
3701
+ if (in_array($parent[0], $visited)) {
3702
+ return $tree;
3703
+ }
3704
+ $visited[] = $parent[0];
3705
+ $tree = array_merge($tree, _jsdoc_get_tree($environments, $parent[0], $depth, $visited));
3706
+ }
3707
+ }
3708
+ }
3709
+
3710
+ return $tree ? $tree : array();
3711
+ }
3712
+
3713
+ function _jsdoc_build_function_signature($node, $parameters) {
3714
+ if (isset($node->jsdoc_function_signature)) {
3715
+ return $node->jsdoc_function_signature;
3716
+ }
3717
+
3718
+ if (jsdoc_get_type($node) != 'Function' && jsdoc_get_type($node) != 'Constructor') {
3719
+ return;
3720
+ }
3721
+
3722
+ $signature = '(';
3723
+
3724
+ if ($parameters) {
3725
+ foreach ($parameters as $weight => $parameter) {
3726
+ if ($weight) {
3727
+ $signature .= ', ';
3728
+ }
3729
+ $types = array();
3730
+ if ($parameter->types) {
3731
+ foreach ($parameter->types as $type) {
3732
+ $types[] = $type->a;
3733
+ }
3734
+ }
3735
+ $signature .= $parameter->html_type_prefix . implode('|', $types);
3736
+ if ($parameter->optional) {
3737
+ $signature .= '?';
3738
+ }
3739
+ if ($parameter->repeating) {
3740
+ $signature .= '...';
3741
+ }
3742
+ $signature .= $parameter->html_type_suffix . $parameter->separator . $parameter->name;
3743
+ }
3744
+ }
3745
+
3746
+ $signature .= ')';
3747
+
3748
+ return ($node->jsdoc_function_signature = $signature);
3749
+ }
3750
+
3751
+ function _jsdoc_resource_expand($tree, $child, $depth, &$resources){
3752
+ $output = array();
3753
+ foreach ($tree as $leaf) {
3754
+ if ($leaf->depth == $depth && in_array($child, $leaf->children) && !in_array($leaf->vid, $resources)) {
3755
+ $resources[] = $leaf->vid;
3756
+ $output[] = $leaf;
3757
+ }
3758
+ }
3759
+
3760
+ return $output;
3761
+ }
3762
+
3763
+ /**
3764
+ * Links a node to another node with a taxonomy term.
3765
+ *
3766
+ * @param $vid
3767
+ * The vid of a node_revisions item
3768
+ * @param $parent
3769
+ * The vid of a node_revisions item representing a parent of the vid
3770
+ * @param $tid
3771
+ * The taxonomy term tid to use to link them together
3772
+ */
3773
+ function _jsdoc_save_hierarchy($provides_node, $requires_node, $tid)
3774
+ {
3775
+ db_query("INSERT INTO {jsdoc_resource_hierarchy} (vid, nid, parent_vid, parent_nid, tid, version) VALUES (%d, %d, %d, %d, %d, %d)", $provides_node->vid, $provides_node->nid, $requires_node->vid, $requires_node->nid, $tid, jsdoc_get_version($provides_node)->nid);
3776
+ }
3777
+
3778
+ function _jsdoc_file_location() {
3779
+ static $location;
3780
+
3781
+ if (!isset($location)) {
3782
+ $location = variable_get('jsdoc_file_location', false);
3783
+ }
3784
+
3785
+ return $location;
3786
+ }
3787
+
3788
+ function _jsdoc_dir_location() {
3789
+ static $location;
3790
+
3791
+ if (!isset($location)) {
3792
+ $location = variable_get('jsdoc_dir_location', false);
3793
+ }
3794
+
3795
+ return $location;
3796
+ }
3797
+
3798
+ function _jsdoc_base() {
3799
+ static $base;
3800
+
3801
+ if (!isset($base)) {
3802
+ $base = variable_get('jsdoc_base', 'jsdoc');
3803
+ }
3804
+
3805
+ return $base;
3806
+ }
3807
+
3808
+ function _jsdoc_vocabularies($name) {
3809
+ static $vocabularies;
3810
+
3811
+ if (!isset($vocabularies)) {
3812
+ $vocabularies = array();
3813
+ }
3814
+
3815
+ if ($vocabularies[$name]) {
3816
+ return $vocabularies[$name];
3817
+ }
3818
+
3819
+ foreach (taxonomy_get_vocabularies('jsdoc_object') as $vocabulary) {
3820
+ $vocabularies[$vocabulary->name] = $vocabulary;
3821
+ }
3822
+
3823
+ return $vocabularies[$name];
3824
+ }
3825
+
3826
+ function _jsdoc_environments() {
3827
+ return _jsdoc_vocabularies('Environments');
3828
+ }
3829
+
3830
+ function _jsdoc_conditions() {
3831
+ return _jsdoc_vocabularies('Conditions');
3832
+ }
3833
+
3834
+ function _jsdoc_flags() {
3835
+ return _jsdoc_vocabularies('Flags');
3836
+ }
3837
+
3838
+ /**
3839
+ * Validate some of the expected global settings
3840
+ */
3841
+ function _jsdoc_cron_validate() {
3842
+ ini_set('memory_limit', '256M');
3843
+
3844
+ if (!_jsdoc_file_location() || !_jsdoc_dir_location()) {
3845
+ watchdog('jsdoc', t('jsdoc settings should be configured'), WATCHDOG_ERROR);
3846
+ return false;
3847
+ }
3848
+ if (!file_exists(_jsdoc_file_location())) {
3849
+ watchdog('jsdoc', t('File does not exist ') . _jsdoc_file_location(), WATCHDOG_ERROR);
3850
+ return false;
3851
+ }
3852
+
3853
+ return true;
3854
+ }
3855
+
3856
+ function _jsdoc_cron_validate_include() {
3857
+ $files_function = _jsdoc_base() . '_get_files';
3858
+ if (!function_exists($files_function)) {
3859
+ watchdog('jsdoc', $files_function . t(' does not exist in ') . $file_location, WATCHDOG_ERROR);
3860
+ return false;
3861
+ }
3862
+
3863
+ $test_file = _jsdoc_get_base_path() . '/' . drupal_get_path('module', 'jsdoc') . '/cache/test';
3864
+ if (!@touch($test_file)) {
3865
+ watchdog('jsdoc', t('Need permission to access the jsdoc cache directory'), WATCHDOG_ERROR);
3866
+ return false;
3867
+ }
3868
+ else {
3869
+ unlink($test_file);
3870
+ }
3871
+
3872
+ if (function_exists(_jsdoc_base() . '_get_conditions')) {
3873
+ $conditions = call_user_func(_jsdoc_base() . '_get_conditions');
3874
+
3875
+ $found = false;
3876
+ foreach ($conditions as $condition) {
3877
+ foreach (taxonomy_get_term_by_name($condition) as $term) {
3878
+ if ($term->vid == _jsdoc_conditions()->vid) {
3879
+ $found = true;
3880
+ break;
3881
+ }
3882
+ }
3883
+ if (!$found) {
3884
+ $term = array('name' => $condition, 'description' => '', 'vid' => _jsdoc_conditions()->vid, 'weight' => 0);
3885
+ taxonomy_save_term($term);
3886
+ }
3887
+ }
3888
+ }
3889
+
3890
+ if (function_exists(_jsdoc_base() . '_get_environments')) {
3891
+ $environments = call_user_func(_jsdoc_base() . '_get_environments');
3892
+ _jsdoc_build_taxonomy($environments, _jsdoc_environments()->vid);
3893
+ }
3894
+
3895
+ if (!function_exists(_jsdoc_base() . '_get_contents')) {
3896
+ watchdog('jsdoc', _jsdoc_base() . '_get_contents' . t(' does not exist in ') . _jsdoc_file_location(), WATCHDOG_ERROR);
3897
+ return false;
3898
+ }
3899
+
3900
+ return true;
3901
+ }
3902
+
3903
+ function _jsdoc_build_terms($title) {
3904
+ $output = array($title, array());
3905
+ $parts = explode('.', $title);
3906
+ foreach ($parts as $part) {
3907
+ if (preg_match('%^[_.$]*([a-zA-Z][a-z0-9_.$]*(?:[A-Z][a-z0-9_.$]*)+)%', $part, $match)) {
3908
+ if (preg_match_all('%(^[a-zA-Z][a-z0-9_.$]*|[A-Z][a-z0-9_.$]*)%', $match[1], $cased)) {
3909
+ $output[1] = array_merge($output[1], $cased[0]);
3910
+ }
3911
+ }
3912
+ }
3913
+ $output[1] = implode(' ', $output[1]);
3914
+ $output[2] = implode(' ', $parts);
3915
+ return $output;
3916
+ }
3917
+
3918
+ function _jsdoc_build_taxonomy($names, $vid, $parent = false)
3919
+ {
3920
+ foreach ($names as $name => $content) {
3921
+ foreach (taxonomy_get_term_by_name($name) as $term) {
3922
+ if ($term->vid == $vid) {
3923
+ $found = true;
3924
+ break;
3925
+ }
3926
+ }
3927
+ if (!$found) {
3928
+ $term = array('name' => $name, 'description' => '', 'vid' => $vid, 'weight' => 0);
3929
+ if ($parent) {
3930
+ $term['parent'] = $parent;
3931
+ }
3932
+ taxonomy_save_term($term);
3933
+ }
3934
+ if (is_array($content)) {
3935
+ _jsdoc_build_taxonomy($content, $vid, $term->tid);
3936
+ }
3937
+ }
3938
+ }
3939
+
3940
+ function _jsdoc_get_base_path() {
3941
+ static $path;
3942
+
3943
+ if (!isset($path)) {
3944
+ $path = getcwd();
3945
+ }
3946
+
3947
+ return $path;
3948
+ }
3949
+
3950
+ function _jsdoc_cron_chdir($enter=false) {
3951
+ static $location;
3952
+
3953
+ if ($enter) {
3954
+ $location = _jsdoc_get_base_path();
3955
+ if (!is_dir(_jsdoc_dir_location())){
3956
+ watchdog('jsdoc', _jsdoc_dir_location() . t(' should be a directory'), WATCHDOG_ERROR);
3957
+ return false;
3958
+ }
3959
+ if (!@chdir(_jsdoc_dir_location())) {
3960
+ watchdog('jsdoc', _jsdoc_dir_location() . t(' could not be accessed'), WATCHDOG_ERROR);
3961
+ return false;
3962
+ }
3963
+ include_once(_jsdoc_file_location());
3964
+ }
3965
+ else {
3966
+ chdir($location);
3967
+ }
3968
+ }
3969
+
3970
+ // Private Utility Functions
3971
+ // =========================
3972
+
3973
+ function _jsdoc_theme_clone($node) {
3974
+ $clone = drupal_clone($node);
3975
+ foreach ($clone as $key => $value) {
3976
+ if (substr($key, 0, 6) == 'jsdoc_') {
3977
+ unset($clone->$key);
3978
+ }
3979
+ }
3980
+ return $clone;
3981
+ }
3982
+
3983
+ function _jsdoc_node_prepare($node) {
3984
+ $node->teaser = jsdoc_get_teaser($node);
3985
+ $node->body = jsdoc_get_body($node);
3986
+
3987
+ $form = node_prepare($node)->content;
3988
+ $form['summary'] = array(
3989
+ '#value' => jsdoc_get_teaser($node),
3990
+ '#weight' => $form['body']['#weight'] - 1
3991
+ );
3992
+
3993
+ $teaser = $form['summary']['#value'];
3994
+ $form['summary']['#value'] = theme('jsdoc_object_summary', $teaser);
3995
+ $form['description']['#value'] = theme('jsdoc_object_description', $teaser, $form['body']['#value']);
3996
+
3997
+ unset($form['body']);
3998
+
3999
+ return $form;
4000
+ }
4001
+
4002
+ function _jsdoc_node_load($param = array(), $revision = NULL, $reset = NULL) {
4003
+ static $nodes;
4004
+
4005
+ if (!$nodes) {
4006
+ $nodes = array();
4007
+ }
4008
+
4009
+ if (is_numeric($revision) && array_key_exists($revision, $nodes)) {
4010
+ return $nodes[$revision];
4011
+ }
4012
+
4013
+ $node = call_user_func('node_load', $param, $revision, $reset);
4014
+ $nodes[$node->vid] = $node;
4015
+ return $node;
4016
+ }
4017
+
4018
+ function _jsdoc_markup_code($text, $version, $base=false) {
4019
+ static $variables;
4020
+ if (!$variables) {
4021
+ if ($variables = cache_get('jsdoc_variables')) {
4022
+ $variables = unserialize($variables->data);
4023
+ }
4024
+ else {
4025
+ $variables = array();
4026
+ $query = db_query("SELECT nr.title, j.version FROM {jsdoc_variables} j JOIN {node_revisions} nr ON (nr.vid = j.vid) WHERE j.version = %d ORDER BY nr.title DESC", $version);
4027
+ while ($result = db_fetch_object($query)) {
4028
+ $variables[$result->title] = $result->version;
4029
+ }
4030
+ cache_set('jsdoc_variables', 'cache', serialize($variables));
4031
+ }
4032
+ }
4033
+
4034
+ $min = 99;
4035
+ $lines = preg_split('%\r?\n%', $text);
4036
+ foreach ($lines as $line) {
4037
+ if (!empty($line)) {
4038
+ if (preg_match('%^\t+%', $line, $match)) {
4039
+ if (strlen($match[0]) < $min) {
4040
+ $min = strlen($match[0]);
4041
+ }
4042
+ }
4043
+ }
4044
+ }
4045
+ if ($min) {
4046
+ foreach ($lines as $i => $line) {
4047
+ $lines[$i] = preg_replace('%^\t{' . $min . '}%', '', $line);
4048
+ }
4049
+ }
4050
+ $text = implode("\n", $lines);
4051
+
4052
+ _jsdoc_init();
4053
+ $language = 'javascript';
4054
+ if (preg_match('%(^\W*<|>\W*$)%', $text)) {
4055
+ $language = 'html4strict';
4056
+ }
4057
+ $highlighter =& new GeSHi($text, $language);
4058
+ $highlighter->enable_classes();
4059
+ $highlighter->enable_keyword_links(false);
4060
+ $highlighter->set_overall_style('color: #666;', true);
4061
+ $highlighter->set_tab_width(4);
4062
+ $highlighter->add_keyword_group(4, '', true, array('Math', 'Error', 'Array'));
4063
+ $text = $highlighter->parse_code();
4064
+ if (preg_match_all('%[\w.$]+(?:\.(?:<span class="me\d+">)?[\w.$]+(?:</span>)?)+%', $text, $matches)) {
4065
+ natcasesort(array_unique($matches[0]));
4066
+ $matches = array_reverse($matches[0]);
4067
+ foreach ($matches as $i => $match) {
4068
+ $variable = preg_replace('%<[^>]+>%', '', $match);
4069
+ if (array_key_exists($variable, $variables)) {
4070
+ $text = str_replace($match, "%$i%", $text);
4071
+ }
4072
+ }
4073
+ foreach ($matches as $i => $match) {
4074
+ $variable = preg_replace('%<[^>]+>%', '', $match);
4075
+ if ($variables[$variable]) {
4076
+ $version = _jsdoc_node_load($variables[$variable]);
4077
+ $text = str_replace("%$i%", l($match, 'jsdoc/' . jsdoc_get_project($version)->title . '/' . $version->title . '/' . $variable, array('style' => 'border-bottom: 1px dotted #ccc;'), NULL, NULL, FALSE, TRUE), $text);
4078
+ }
4079
+ }
4080
+ }
4081
+ if ($base && preg_match_all('%<span class="kw1">this</span>(\.(?:<span class="me\d+">[\w.$]+</span>)+)%', $text, $matches, PREG_SET_ORDER)) {
4082
+ foreach ($matches as $match) {
4083
+ $variable = $base . preg_replace('%<[^>]+>%', '', $match[1]);
4084
+ if (array_key_exists($variable, $variables)) {
4085
+ if ($variables[$variable]) {
4086
+ $version = _jsdoc_node_load($variables[$variable]);
4087
+ $text = str_replace($match[0], l($match[0], 'jsdoc/' . jsdoc_get_project($version)->title . '/' . $version->title . '/' . $variable, array('style' => 'border-bottom: 1px dotted #ccc;'), NULL, NULL, FALSE, TRUE), $text);
4088
+ }
4089
+ }
4090
+ }
4091
+ }
4092
+ return $text;
4093
+ }
4094
+
4095
+ function _jsdoc_resolve_variable(&$node) {
4096
+ if (isset($node->jsdoc_resolved)) {
4097
+ return $node->jsdoc_resolved;
4098
+ }
4099
+
4100
+ $resource = jsdoc_get_resource($node);
4101
+ $version = jsdoc_get_version($node);
4102
+
4103
+ $used = $node->jsdoc_used;
4104
+ $object = false;
4105
+ $title = $node->title;
4106
+ $teaser = $node->teaser;
4107
+ $body = $node->body;
4108
+ $format = $node->format;
4109
+ $object_type = $node->jsdoc_type;
4110
+ $classlike = false;
4111
+ $full_url = $node->jsdoc_url;
4112
+
4113
+ $query = db_query("SELECT n.teaser, n.body, n.format, j.nid, MAX(j.vid) AS vid, j.resource_nid, MAX(j.resource_vid) AS resource_vid, j.classlike, j.type, j.private FROM {jsdoc_objects} j JOIN {node_revisions} n ON (j.vid = n.vid) WHERE n.title = '%s' AND BINARY n.title = '%s' AND j.used != -1 AND j.version = %d GROUP BY n.nid", $node->title, $node->title, $version->nid);
4114
+ while ($result = db_fetch_object($query)) {
4115
+ // If there's only one object for a given variable, or if a resource is chosen, use this as the object
4116
+ $resources[] = _jsdoc_node_load($result->resource_nid, $result->resource_vid);
4117
+ if (db_num_rows($query) == 1 || ($resource && $resource->vid == $result->resource_vid)) {
4118
+ $object = _jsdoc_node_load($result->nid, $result->vid);
4119
+ $sumdesc = db_fetch_object(db_query("SELECT j.type, j.classlike, n.teaser, n.body, n.format, n2.title AS resource FROM {jsdoc_objects} j JOIN {node_revisions} n ON (n.vid = j.vid) JOIN {node_revisions} n2 ON (n2.vid = j.resource_vid) WHERE j.vid = %d", $result->vid));
4120
+ if ($sumdesc->teaser && !$teaser) {
4121
+ $teaser = $sumdesc->teaser;
4122
+ }
4123
+ if ($sumdesc->body && !$body) {
4124
+ $body = $sumdesc->body;
4125
+ }
4126
+ if ($sumdesc->format && !$format) {
4127
+ $format = $sumdesc->format;
4128
+ }
4129
+ if ($sumdesc->type && !$object_type) {
4130
+ $object_type = $sumdesc->type;
4131
+ }
4132
+ $classlike = $sumdesc->classlike;
4133
+ }
4134
+ else {
4135
+ if ($result->teaser && !$teaser) {
4136
+ $teaser = $result->teaser;
4137
+ }
4138
+ if ($result->body && !$body) {
4139
+ $body = $result->body;
4140
+ }
4141
+ $format = $result->format;
4142
+ if ($result->type) {
4143
+ if (!$object_type) {
4144
+ $object_type = $result->type;
4145
+ }
4146
+ elseif ($object_type != $result->type) {
4147
+ if ($object_type) {
4148
+ $object_type .= '|';
4149
+ }
4150
+ $object_type .= $result->type;
4151
+ }
4152
+ }
4153
+ if ($result->classlike) {
4154
+ $classlike = true;
4155
+ }
4156
+ }
4157
+ }
4158
+
4159
+ return $node->jsdoc_resolved = (object)array(
4160
+ 'teaser' => $teaser,
4161
+ 'body' => $body,
4162
+ 'format' => $format,
4163
+ 'object_type' => $object_type,
4164
+ 'object' => $object,
4165
+ 'classlike' => $classlike,
4166
+ 'full_url' => $full_url
4167
+ );
4168
+ }
4169
+
4170
+ function _jsdoc_markup_text($text, $version, $format = false){
4171
+ if (!$format) {
4172
+ $format = variable_get('jsdoc_input_format', 1);
4173
+ }
4174
+
4175
+ $text = check_markup($text, $format, FALSE);
4176
+ if (preg_match_all('%(?:\s*(?:<pre>|<code>)\s*)+(.*?)(?:\s*(?:</pre>|</code>)\s*)+%s', $text, $matches, PREG_SET_ORDER)) {
4177
+ foreach ($matches as $match) {
4178
+ $match[1] = str_replace('&lt;', '<', str_replace('&gt;', '>', $match[1]));
4179
+ $text = str_replace($match[0], _jsdoc_markup_code($match[1], $version), $text);
4180
+ }
4181
+ }
4182
+
4183
+ return $text;
4184
+ }
4185
+
4186
+ function _jsdoc_init() {
4187
+ include_once(_jsdoc_get_base_path() . '/' . drupal_get_path('module', 'jsdoc') . '/lib/geshi/geshi.php');
4188
+ drupal_add_css(drupal_get_path('module', 'jsdoc') . '/jsdoc.css');
4189
+ }
4190
+
4191
+ // Theme functions
4192
+ // ===============
4193
+
4194
+ /**
4195
+ * When an object occurs in more than one file, we want
4196
+ * to show this to the user so that they can choose
4197
+ * the likely location until we disambiguate it.
4198
+ */
4199
+ function theme_jsdoc_object_resources($node, $resources) {
4200
+ $output = '<div class="jsdoc_object_resources">';
4201
+ $output .= '<fieldset>';
4202
+ $output .= '<legend>Appears in Resources</legend>';
4203
+ $output .= '<div class="fieldset-wrapper">';
4204
+ foreach ($resources as $resource) {
4205
+ $output .= '<div class="form-item">';
4206
+ $output .= $resource->href;
4207
+ $output .= '</div>';
4208
+ }
4209
+ $output .= '</div>';
4210
+ $output .= '</fieldset>';
4211
+ $output .= '</div>';
4212
+
4213
+ return $output;
4214
+ }
4215
+
4216
+ /**
4217
+ * Theme the object type block.
4218
+ */
4219
+ function theme_jsdoc_object_title($title) {
4220
+ $output = implode('.', $title->crumbs);
4221
+ if ($title->type) {
4222
+ $output .= ': ' . $title->type->a;
4223
+ }
4224
+ return $output;
4225
+ }
4226
+
4227
+ /**
4228
+ * Theme the statement used to require this file
4229
+ */
4230
+ function theme_jsdoc_object_require($node) {
4231
+ return '<div class="form-item"><label>To Include:</label>include "' . $node->title . '";</div>';
4232
+ }
4233
+
4234
+ /**
4235
+ * Theme the location this file exists in
4236
+ */
4237
+ function theme_jsdoc_object_resource($node) {
4238
+ return '<div class="form-item"><label>Found in:</label> ' . $node->title . '</div>';
4239
+ }
4240
+
4241
+ /**
4242
+ * Theme the list of mixins for a given object
4243
+ */
4244
+ function theme_jsdoc_object_mixins($mixins) {
4245
+ $output = '<div class="form-item"><label>Mixins:</label>';
4246
+ $counter = 0;
4247
+ foreach ($mixins as $mixin) {
4248
+ if ($mixin->in_prototype_chain) {
4249
+ continue;
4250
+ }
4251
+ if ($counter) {
4252
+ $output .= ', ';
4253
+ }
4254
+ if (!$mixin->on_prototype) {
4255
+ $output .= '[static] ';
4256
+ }
4257
+ $output .= l($mixin->node->title, $mixin->node->jsdoc_url);
4258
+ if ($mixin->mixin_from) {
4259
+ $output .= '<small> (from ' . $mixin->mixin_from . ')</small>';
4260
+ }
4261
+
4262
+ ++$counter;
4263
+ }
4264
+ if(!$counter){ $output .= 'None'; }
4265
+ return $output . '</div>';
4266
+ }
4267
+
4268
+ function theme_jsdoc_object_children($children) {
4269
+ $output = '<div class="jsdoc_object_children">';
4270
+ $output .= '<fieldset>';
4271
+ $output .= '<legend>Fields</legend>';
4272
+ $output .= '<div class="fieldset-wrapper">';
4273
+
4274
+ foreach ($children as $child) {
4275
+ $output .= '<div class="form-item">';
4276
+ $output .= l($child->title, $child->url);
4277
+ if ($child->type && $key!='Functions' && $key!="Constructors") {
4278
+ $output .= ': <small>' . $child->type->a . '</small> ';
4279
+ }
4280
+ if($child->signature){
4281
+ $output .= $child->signature;
4282
+ }
4283
+ else if($key=="Functions"){
4284
+ $output .= '() ';
4285
+ }
4286
+ if ($child->inheritance) {
4287
+ $output .= ' <div><small>';
4288
+ if ($child->override) {
4289
+ $output .= ' Overrides ';
4290
+ }
4291
+ else {
4292
+ $output .= ' Defined by ';
4293
+ }
4294
+ foreach ($child->inheritance as $i => $parent) {
4295
+ if ($i) {
4296
+ $output .= ', ';
4297
+ }
4298
+ $output .= l($parent->title, $parent->url);
4299
+ }
4300
+ $output .= '</small></div>';
4301
+ }
4302
+ if ($child->summary) {
4303
+ $output .= '<div>' . str_replace("<", "&lt;", str_replace(">", "&gt;", $child->summary)) . '</div>';
4304
+ }
4305
+ $output .= '</div>';
4306
+ }
4307
+
4308
+ $output .= '</div>';
4309
+ $output .= '</fieldset>';
4310
+ $output .= '</div>';
4311
+
4312
+ return $output;
4313
+ }
4314
+
4315
+ /**
4316
+ * Theme the prototype chain
4317
+ */
4318
+ function theme_jsdoc_object_prototype_chain($chain) {
4319
+ $output = '<div class="form-item"><label>Prototype Chain:</label>' ;
4320
+ foreach ($chain as $i => $node) {
4321
+ if ($i) {
4322
+ $output .= ' &raquo; ';
4323
+ }
4324
+ $output .= l($node->title, $node->jsdoc_url);
4325
+ }
4326
+ return $output .= '</div>';
4327
+ }
4328
+
4329
+ function theme_jsdoc_object_parent($node) {
4330
+ return '<div class="form-item"><label>Parent Object:</label>' . $node->object_type_link . '</div>';
4331
+ }
4332
+
4333
+ /**
4334
+ * Theme the function signature and source.
4335
+ *
4336
+ * One of the things to note is that we pass fields
4337
+ * because the constructor isn't always listed as the
4338
+ * constructor because of the famous dojo.declare
4339
+ */
4340
+ function theme_jsdoc_function_information($function, $fields) {
4341
+ $output .= '<div class="jsdoc_function_information">';
4342
+ $output .= '<fieldset class="collapsible">';
4343
+ $output .= '<legend>' . 'Function Information' . '</legend>';
4344
+ $output .= '<div class="fieldset-wrapper">';
4345
+ $output .= '<div class="form-item">';
4346
+ $output .= 'function ' . $function->signature;
4347
+ $output .= '</div>';
4348
+ $output .= '</div>';
4349
+ $output .= '</fieldset>';
4350
+ $output .= '</div>';
4351
+
4352
+ return $output;
4353
+ }
4354
+
4355
+ function theme_jsdoc_function_parameters($parameters) {
4356
+ $output = '<div class="jsdoc_function_parameters">';
4357
+ $output .= '<fieldset>';
4358
+ $output .= '<legend>' . 'Parameters' . '</legend>';
4359
+ $output .= '<div class="fieldset-wrapper">';
4360
+ foreach ($parameters as $parameter) {
4361
+ $output .= '<div class="form-item"><label>';
4362
+ $types = array();
4363
+ if ($parameter->types) {
4364
+ foreach ($parameter->types as $type) {
4365
+ $types[] = '<em>' . $type->a . '</em>';
4366
+ }
4367
+ }
4368
+ if (count($types)) {
4369
+ $output .= implode('|', $types) . ' ';
4370
+ }
4371
+ $output .= $parameter->name;
4372
+ $output .= '</label>';
4373
+ $output .= $parameter->summary;
4374
+ if (count($types) && $parameter->types[0]->fields) {
4375
+ if ($parameter->summary && $parameter->types[0]->summary) {
4376
+ $output .= '<br><br>';
4377
+ }
4378
+ $output .= $parameter->types[0]->summary;
4379
+ if ($parameter->types[0]->summary) {
4380
+ $output .= '<br>';
4381
+ }
4382
+ foreach ($parameter->types[0]->fields as $i => $field) {
4383
+ $output .= '<br>';
4384
+
4385
+ $field_types = array();
4386
+ $repeating = false;
4387
+ $optional = false;
4388
+ if ($field->types) {
4389
+ foreach ($field->types as $type) {
4390
+ if ($type->repeating) {
4391
+ $repeating = true;
4392
+ }
4393
+ if ($type->optional) {
4394
+ $optional = true;
4395
+ }
4396
+ $field_types[] = '<em>' . $type->a . '</em>';
4397
+ }
4398
+ }
4399
+
4400
+ $output .= '&nbsp; &nbsp; ';
4401
+ if (count($field_types)) {
4402
+ $output .= implode('|', $field_types) . ' ';
4403
+ }
4404
+ $output .= $field->a;
4405
+ if ($repeating) {
4406
+ $output .= ' <small><em>repeating</em></small>';
4407
+ }
4408
+ if ($optional) {
4409
+ $output .= ' <small><em>optional</em></small>';
4410
+ }
4411
+ if ($field->summary) {
4412
+ $output .= ': ' . $field->summary;
4413
+ }
4414
+ }
4415
+ }
4416
+ $output .= '</div>';
4417
+ }
4418
+ $output .= '</div>';
4419
+ $output .= '</fieldset>';
4420
+ $output .= '</div>';
4421
+
4422
+ return $output;
4423
+ }
4424
+
4425
+ function theme_jsdoc_object_summary($summary) {
4426
+ return '';
4427
+ }
4428
+
4429
+ function theme_jsdoc_object_description($summary, $description) {
4430
+ return $summary . $description;
4431
+ }
4432
+
4433
+ function theme_jsdoc_object_example($example, $weight) {
4434
+ return '<div class="form-item"><label>Example #' . $weight . '</label>' . $example . '</div>';
4435
+ }
4436
+
4437
+ function theme_jsdoc_object_examples($examples) {
4438
+ $output = '<div class="jsdoc_object_examples">';
4439
+ $output .= '<fieldset>';
4440
+ $output .= '<legend>Examples</legend>';
4441
+ $output .= '<div class="fieldset-wrapper">';
4442
+ $output .= implode('', $examples);
4443
+ $output .= '</div></fieldset></div>';
4444
+ return $output;
4445
+ }
4446
+
4447
+ function theme_jsdoc_search($name) {
4448
+ return '<div class="form-item"><input class="form-text" name="' . $name . '" /> <input class="form-submit" type="submit" name="op" value="Go" /></div>';
4449
+ }
4450
+
4451
+ function theme_jsdoc_namespaces($namespaces) {
4452
+ $output = '<ul>';
4453
+ foreach ($namespaces as $namespace) {
4454
+ $output .= "<li>{$namespace->a}";
4455
+ if (!empty($namespace->children)) {
4456
+ $output .= '<ul>';
4457
+ foreach ($namespace->children as $child) {
4458
+ $output .= "<li>{$child->a}</li>";
4459
+ }
4460
+ $output .= '</ul>';
4461
+ }
4462
+ $output .= "</li>";
4463
+ }
4464
+ $output .= '</ul>';
4465
+ return $output;
4466
+ }
4467
+
4468
+ function theme_jsdoc_resource_source_link($project, $resource) {
4469
+ return $resource;
4470
+ }
4471
+
4472
+ function theme_jsdoc_resolve_constructor($objects) {
4473
+ }