dojo_src 1.4.102 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1591) hide show
  1. data/Rakefile +2 -3
  2. data/bin/dojofy +1 -1
  3. data/dojo/dijit/Calendar.js +62 -24
  4. data/dojo/dijit/CheckedMenuItem.js +1 -1
  5. data/dojo/dijit/ColorPalette.js +43 -288
  6. data/dojo/dijit/Dialog.js +25 -24
  7. data/dojo/dijit/DialogUnderlay.js +3 -1
  8. data/dojo/dijit/Editor.js +229 -68
  9. data/dojo/dijit/InlineEditBox.js +72 -35
  10. data/dojo/dijit/LICENSE +1 -1
  11. data/dojo/dijit/Menu.js +75 -76
  12. data/dojo/dijit/MenuBar.js +5 -10
  13. data/dojo/dijit/MenuItem.js +18 -11
  14. data/dojo/dijit/PopupMenuItem.js +1 -0
  15. data/dojo/dijit/ProgressBar.js +1 -1
  16. data/dojo/dijit/TitlePane.js +18 -38
  17. data/dojo/dijit/Toolbar.js +4 -1
  18. data/dojo/dijit/ToolbarSeparator.js +1 -1
  19. data/dojo/dijit/Tooltip.js +7 -14
  20. data/dojo/dijit/Tree.js +116 -64
  21. data/dojo/dijit/_Container.js +5 -11
  22. data/dojo/dijit/_CssStateMixin.js +252 -0
  23. data/dojo/dijit/_DialogMixin.js +3 -1
  24. data/dojo/dijit/_HasDropDown.js +48 -58
  25. data/dojo/dijit/_KeyNavContainer.js +4 -4
  26. data/dojo/dijit/_PaletteMixin.js +313 -0
  27. data/dojo/dijit/_Templated.js +2 -1
  28. data/dojo/dijit/_TimePicker.js +11 -6
  29. data/dojo/dijit/_Widget.js +125 -63
  30. data/dojo/dijit/_base/focus.js +15 -9
  31. data/dojo/dijit/_base/manager.js +210 -183
  32. data/dojo/dijit/_base/place.js +3 -52
  33. data/dojo/dijit/_base/popup.js +101 -89
  34. data/dojo/dijit/_base/scroll.js +4 -91
  35. data/dojo/dijit/_base/sniff.js +3 -66
  36. data/dojo/dijit/_base/typematic.js +31 -27
  37. data/dojo/dijit/_base/window.js +3 -23
  38. data/dojo/dijit/_editor/RichText.js +180 -74
  39. data/dojo/dijit/_editor/_Plugin.js +17 -16
  40. data/dojo/dijit/_editor/html.js +1 -1
  41. data/dojo/dijit/_editor/nls/FontChoice.js +2 -1
  42. data/dojo/dijit/_editor/nls/ar/LinkDialog.js +7 -1
  43. data/dojo/dijit/_editor/nls/ar/commands.js +12 -6
  44. data/dojo/dijit/_editor/nls/ca/LinkDialog.js +8 -3
  45. data/dojo/dijit/_editor/nls/ca/commands.js +4 -0
  46. data/dojo/dijit/_editor/nls/da/LinkDialog.js +7 -1
  47. data/dojo/dijit/_editor/nls/da/commands.js +6 -1
  48. data/dojo/dijit/_editor/nls/el/LinkDialog.js +8 -2
  49. data/dojo/dijit/_editor/nls/el/commands.js +7 -2
  50. data/dojo/dijit/_editor/nls/fi/LinkDialog.js +7 -1
  51. data/dojo/dijit/_editor/nls/fi/commands.js +7 -2
  52. data/dojo/dijit/_editor/nls/he/LinkDialog.js +7 -1
  53. data/dojo/dijit/_editor/nls/he/commands.js +9 -2
  54. data/dojo/dijit/_editor/nls/ja/commands.js +9 -10
  55. data/dojo/dijit/_editor/nls/nb/LinkDialog.js +7 -1
  56. data/dojo/dijit/_editor/nls/nb/commands.js +5 -0
  57. data/dojo/dijit/_editor/nls/nl/LinkDialog.js +7 -1
  58. data/dojo/dijit/_editor/nls/nl/commands.js +5 -0
  59. data/dojo/dijit/_editor/nls/pt-pt/LinkDialog.js +8 -2
  60. data/dojo/dijit/_editor/nls/pt-pt/commands.js +5 -0
  61. data/dojo/dijit/_editor/nls/ro/FontChoice.js +27 -0
  62. data/dojo/dijit/_editor/nls/ro/LinkDialog.js +13 -0
  63. data/dojo/dijit/_editor/nls/ro/commands.js +48 -0
  64. data/dojo/dijit/_editor/nls/sk/LinkDialog.js +9 -4
  65. data/dojo/dijit/_editor/nls/sk/commands.js +4 -0
  66. data/dojo/dijit/_editor/nls/sl/LinkDialog.js +6 -1
  67. data/dojo/dijit/_editor/nls/sl/commands.js +12 -8
  68. data/dojo/dijit/_editor/nls/sv/LinkDialog.js +7 -1
  69. data/dojo/dijit/_editor/nls/sv/commands.js +8 -2
  70. data/dojo/dijit/_editor/nls/th/LinkDialog.js +6 -1
  71. data/dojo/dijit/_editor/nls/th/commands.js +6 -2
  72. data/dojo/dijit/_editor/nls/tr/LinkDialog.js +7 -1
  73. data/dojo/dijit/_editor/nls/tr/commands.js +5 -0
  74. data/dojo/dijit/_editor/nls/zh-tw/LinkDialog.js +1 -1
  75. data/dojo/dijit/_editor/nls/zh/commands.js +3 -3
  76. data/dojo/dijit/_editor/plugins/AlwaysShowToolbar.js +2 -2
  77. data/dojo/dijit/_editor/plugins/EnterKeyHandling.js +85 -4
  78. data/dojo/dijit/_editor/plugins/FontChoice.js +194 -32
  79. data/dojo/dijit/_editor/plugins/FullScreen.js +76 -32
  80. data/dojo/dijit/_editor/plugins/LinkDialog.js +79 -22
  81. data/dojo/dijit/_editor/plugins/NewPage.js +7 -2
  82. data/dojo/dijit/_editor/plugins/Print.js +6 -3
  83. data/dojo/dijit/_editor/plugins/TabIndent.js +2 -2
  84. data/dojo/dijit/_editor/plugins/TextColor.js +75 -23
  85. data/dojo/dijit/_editor/plugins/ToggleDir.js +1 -1
  86. data/dojo/dijit/_editor/plugins/ViewSource.js +53 -28
  87. data/dojo/dijit/_editor/range.js +22 -19
  88. data/dojo/dijit/_editor/selection.js +56 -4
  89. data/dojo/dijit/dijit-all.js +5 -1
  90. data/dojo/dijit/form/Button.js +24 -58
  91. data/dojo/dijit/form/CheckBox.js +27 -19
  92. data/dojo/dijit/form/ComboBox.js +73 -54
  93. data/dojo/dijit/form/CurrencyTextBox.js +8 -5
  94. data/dojo/dijit/form/FilteringSelect.js +14 -6
  95. data/dojo/dijit/form/Form.js +26 -16
  96. data/dojo/dijit/form/HorizontalRuleLabels.js +2 -2
  97. data/dojo/dijit/form/HorizontalSlider.js +12 -1
  98. data/dojo/dijit/form/MultiSelect.js +3 -3
  99. data/dojo/dijit/form/NumberSpinner.js +4 -5
  100. data/dojo/dijit/form/NumberTextBox.js +25 -17
  101. data/dojo/dijit/form/Select.js +24 -18
  102. data/dojo/dijit/form/SimpleTextarea.js +2 -2
  103. data/dojo/dijit/form/TextBox.js +72 -12
  104. data/dojo/dijit/form/Textarea.js +8 -1
  105. data/dojo/dijit/form/TimeTextBox.js +3 -2
  106. data/dojo/dijit/form/ValidationTextBox.js +56 -42
  107. data/dojo/dijit/form/VerticalRuleLabels.js +4 -1
  108. data/dojo/dijit/form/VerticalSlider.js +0 -30
  109. data/dojo/dijit/form/_DateTimeTextBox.js +23 -17
  110. data/dojo/dijit/form/_FormMixin.js +23 -19
  111. data/dojo/dijit/form/_FormSelectWidget.js +3 -3
  112. data/dojo/dijit/form/_FormWidget.js +66 -164
  113. data/dojo/dijit/form/_Spinner.js +18 -37
  114. data/dojo/dijit/form/nls/ro/ComboBox.js +5 -0
  115. data/dojo/dijit/form/nls/ro/Textarea.js +8 -0
  116. data/dojo/dijit/form/nls/ro/validate.js +6 -0
  117. data/dojo/dijit/form/templates/Button.html +15 -16
  118. data/dojo/dijit/form/templates/CheckBox.html +3 -3
  119. data/dojo/dijit/form/templates/ComboBox.html +13 -14
  120. data/dojo/dijit/form/templates/ComboButton.html +13 -10
  121. data/dojo/dijit/form/templates/DropDownButton.html +18 -20
  122. data/dojo/dijit/form/templates/HorizontalSlider.html +7 -7
  123. data/dojo/dijit/form/templates/Select.html +7 -8
  124. data/dojo/dijit/form/templates/Spinner.html +23 -24
  125. data/dojo/dijit/form/templates/TextBox.html +6 -4
  126. data/dojo/dijit/form/templates/ValidationTextBox.html +8 -10
  127. data/dojo/dijit/form/templates/VerticalSlider.html +8 -9
  128. data/dojo/dijit/icons/commonIcons.css +164 -0
  129. data/dojo/dijit/icons/commonIcons_rtl.css +127 -0
  130. data/dojo/dijit/icons/editorIcons.css +78 -0
  131. data/dojo/dijit/icons/editorIcons_rtl.css +23 -0
  132. data/dojo/dijit/icons/images/commonIconsObjActDisabled.png +0 -0
  133. data/dojo/dijit/icons/images/commonIconsObjActDisabled_rtl.png +0 -0
  134. data/dojo/dijit/icons/images/commonIconsObjActEnabled.png +0 -0
  135. data/dojo/dijit/icons/images/commonIconsObjActEnabled8bit.png +0 -0
  136. data/dojo/dijit/icons/images/commonIconsObjActEnabled8bit_rtl.png +0 -0
  137. data/dojo/dijit/icons/images/commonIconsObjActEnabled_rtl.png +0 -0
  138. data/dojo/dijit/icons/images/editorIconsDisabled.png +0 -0
  139. data/dojo/dijit/icons/images/editorIconsDisabled_rtl.png +0 -0
  140. data/dojo/dijit/icons/images/editorIconsEnabled.png +0 -0
  141. data/dojo/dijit/icons/images/editorIconsEnabled_rtl.png +0 -0
  142. data/dojo/dijit/icons/images/loadingAnimation_rtl.gif +0 -0
  143. data/dojo/dijit/layout/AccordionContainer.js +214 -104
  144. data/dojo/dijit/layout/BorderContainer.js +50 -38
  145. data/dojo/dijit/layout/ContentPane.js +13 -11
  146. data/dojo/dijit/layout/ScrollingTabController.js +29 -28
  147. data/dojo/dijit/layout/SplitContainer.js +0 -1
  148. data/dojo/dijit/layout/StackContainer.js +15 -22
  149. data/dojo/dijit/layout/StackController.js +15 -18
  150. data/dojo/dijit/layout/TabContainer.js +2 -0
  151. data/dojo/dijit/layout/TabController.js +21 -17
  152. data/dojo/dijit/layout/_LayoutWidget.js +0 -1
  153. data/dojo/dijit/layout/templates/AccordionButton.html +5 -3
  154. data/dojo/dijit/layout/templates/ScrollingTabController.html +13 -8
  155. data/dojo/dijit/layout/templates/_ScrollingTabControllerButton.html +4 -5
  156. data/dojo/dijit/layout/templates/_TabButton.html +10 -9
  157. data/dojo/dijit/nls/ro/common.js +7 -0
  158. data/dojo/dijit/nls/ro/loading.js +5 -0
  159. data/dojo/dijit/robot.js +0 -97
  160. data/dojo/dijit/robotx.js +1 -1
  161. data/dojo/dijit/templates/Calendar.html +6 -6
  162. data/dojo/dijit/templates/CheckedMenuItem.html +3 -4
  163. data/dojo/dijit/templates/ColorPalette.html +4 -3
  164. data/dojo/dijit/templates/Dialog.html +1 -1
  165. data/dojo/dijit/templates/Menu.html +1 -1
  166. data/dojo/dijit/templates/MenuBarItem.html +1 -1
  167. data/dojo/dijit/templates/MenuItem.html +3 -3
  168. data/dojo/dijit/templates/MenuSeparator.html +6 -2
  169. data/dojo/dijit/templates/ProgressBar.html +1 -2
  170. data/dojo/dijit/templates/TimePicker.html +1 -1
  171. data/dojo/dijit/templates/TitlePane.html +8 -6
  172. data/dojo/dijit/templates/TreeNode.html +3 -3
  173. data/dojo/dijit/tests/Tree.html +16 -30
  174. data/dojo/dijit/tests/Tree_with_JRS.html +33 -27
  175. data/dojo/dijit/tests/Widget-placeAt.html +6 -6
  176. data/dojo/dijit/tests/_Container.html +1 -1
  177. data/dojo/dijit/tests/_Templated-widgetsInTemplate.html +2 -2
  178. data/dojo/dijit/tests/_Widget-attr.html +26 -7
  179. data/dojo/dijit/tests/_Widget-connect-performance.html +1 -1
  180. data/dojo/dijit/tests/_Widget-deferredConnect.html +1 -1
  181. data/dojo/dijit/tests/_Widget-lifecycle.html +1 -1
  182. data/dojo/dijit/tests/_Widget-ondijitclick.html +1 -1
  183. data/dojo/dijit/tests/_Widget-subscribe.html +1 -1
  184. data/dojo/dijit/tests/_altCalendar.html +12 -11
  185. data/dojo/dijit/tests/_base/module.js +5 -9
  186. data/dojo/dijit/tests/_base/place.html +2 -1
  187. data/dojo/dijit/tests/_base/robot/FocusManager.html +0 -2
  188. data/dojo/dijit/tests/_base/robot/focus_mouse.html +0 -1
  189. data/dojo/dijit/tests/_base/robot/popup.html +0 -1
  190. data/dojo/dijit/tests/_base/robot/typematic.html +72 -0
  191. data/dojo/dijit/tests/_base/tabindex.html +1 -1
  192. data/dojo/dijit/tests/_base/test_FocusManager.html +3 -2
  193. data/dojo/dijit/tests/_base/test_focusWidget.html +1 -1
  194. data/dojo/dijit/tests/_base/test_typematic.html +10 -3
  195. data/dojo/dijit/tests/_testCommon.js +28 -12
  196. data/dojo/dijit/tests/bidi.html +188 -0
  197. data/dojo/dijit/tests/editor/BackForwardState.html +2 -2
  198. data/dojo/dijit/tests/editor/EnterKeyHandling.html +31 -11
  199. data/dojo/dijit/tests/editor/_Editor.html +5 -4
  200. data/dojo/dijit/tests/editor/nls_8859-2.html +4 -4
  201. data/dojo/dijit/tests/editor/nls_sjis.html +5 -5
  202. data/dojo/dijit/tests/editor/nls_utf8.html +2 -2
  203. data/dojo/dijit/tests/editor/robot/BackForwardState.html +8 -9
  204. data/dojo/dijit/tests/editor/robot/Editor_FontChoice.html +282 -757
  205. data/dojo/dijit/tests/editor/robot/Editor_FullScreen.html +55 -55
  206. data/dojo/dijit/tests/editor/robot/Editor_LinkDialog.html +502 -123
  207. data/dojo/dijit/tests/editor/robot/Editor_NewPage.html +11 -11
  208. data/dojo/dijit/tests/editor/robot/Editor_ViewSource.html +56 -56
  209. data/dojo/dijit/tests/editor/robot/Editor_a11y.html +14 -14
  210. data/dojo/dijit/tests/editor/robot/Editor_misc.html +120 -4
  211. data/dojo/dijit/tests/editor/robot/Editor_mouse.html +4 -4
  212. data/dojo/dijit/tests/editor/robot/EnterKeyHandling.html +128 -16
  213. data/dojo/dijit/tests/editor/test_CustomPlugin.html +4 -4
  214. data/dojo/dijit/tests/editor/test_Editor.html +103 -70
  215. data/dojo/dijit/tests/editor/test_FontChoice.html +19 -5
  216. data/dojo/dijit/tests/editor/test_FullScreen.html +2 -2
  217. data/dojo/dijit/tests/editor/test_LinkDialog.html +2 -2
  218. data/dojo/dijit/tests/editor/test_NewPage.html +2 -2
  219. data/dojo/dijit/tests/editor/test_Print.html +2 -2
  220. data/dojo/dijit/tests/editor/test_TabIndent.html +2 -2
  221. data/dojo/dijit/tests/editor/test_ToggleDir.html +2 -2
  222. data/dojo/dijit/tests/editor/test_ToggleDir_rtl.html +2 -2
  223. data/dojo/dijit/tests/editor/test_ViewSource.html +2 -2
  224. data/dojo/dijit/tests/editor/test_resize.html +1 -1
  225. data/dojo/dijit/tests/form/Form.html +30 -16
  226. data/dojo/dijit/tests/form/FormInvalid.html +4 -4
  227. data/dojo/dijit/tests/form/TextBox_sizes.html +532 -0
  228. data/dojo/dijit/tests/form/TextBox_sizes.js +456 -0
  229. data/dojo/dijit/tests/form/_autoComplete.html +35 -15
  230. data/dojo/dijit/tests/form/module.js +25 -1
  231. data/dojo/dijit/tests/form/robot/Button_a11y.html +27 -14
  232. data/dojo/dijit/tests/form/robot/Button_mouse.html +429 -18
  233. data/dojo/dijit/tests/form/robot/DateTextBox.html +31 -34
  234. data/dojo/dijit/tests/form/robot/Form.html +3 -4
  235. data/dojo/dijit/tests/form/robot/Select.html +410 -0
  236. data/dojo/dijit/tests/form/robot/Slider_a11y.html +27 -28
  237. data/dojo/dijit/tests/form/robot/Slider_mouse.html +29 -29
  238. data/dojo/dijit/tests/form/robot/Spinner_a11y.html +88 -51
  239. data/dojo/dijit/tests/form/robot/Spinner_mouse.html +36 -37
  240. data/dojo/dijit/tests/form/robot/Textarea.html +178 -0
  241. data/dojo/dijit/tests/form/robot/TimeTextBox.html +81 -0
  242. data/dojo/dijit/tests/form/robot/_autoComplete_a11y.html +128 -47
  243. data/dojo/dijit/tests/form/robot/_autoComplete_mouse.html +171 -24
  244. data/dojo/dijit/tests/form/robot/test_validate.html +362 -102
  245. data/dojo/dijit/tests/form/robot/validationMessages.html +470 -0
  246. data/dojo/dijit/tests/form/runTests.html +9 -0
  247. data/dojo/dijit/tests/form/test_Button.html +56 -10
  248. data/dojo/dijit/tests/form/test_CheckBox.html +212 -61
  249. data/dojo/dijit/tests/form/test_ComboBox_destroy.html +2 -2
  250. data/dojo/dijit/tests/form/test_DateTextBox.html +17 -12
  251. data/dojo/dijit/tests/form/test_Form_onsubmit.html +2 -2
  252. data/dojo/dijit/tests/form/test_MultiSelect.html +7 -7
  253. data/dojo/dijit/tests/form/test_Select.html +180 -97
  254. data/dojo/dijit/tests/form/test_SimpleTextarea.html +16 -11
  255. data/dojo/dijit/tests/form/test_Slider.html +4 -4
  256. data/dojo/dijit/tests/form/test_Spinner.html +10 -11
  257. data/dojo/dijit/tests/form/test_Textarea.html +80 -76
  258. data/dojo/dijit/tests/form/test_TimeTextBox.html +2 -2
  259. data/dojo/dijit/tests/form/test_validStatePerformance.html +6 -6
  260. data/dojo/dijit/tests/form/test_validate.html +34 -23
  261. data/dojo/dijit/tests/form/test_validationState.html +8 -8
  262. data/dojo/dijit/tests/general-module.js +1 -0
  263. data/dojo/dijit/tests/helpers.js +2 -2
  264. data/dojo/dijit/tests/i18n/calendar.html +2 -2
  265. data/dojo/dijit/tests/i18n/currency.html +1 -1
  266. data/dojo/dijit/tests/i18n/date.html +1 -1
  267. data/dojo/dijit/tests/i18n/digit.html +1 -1
  268. data/dojo/dijit/tests/i18n/module.js +6 -6
  269. data/dojo/dijit/tests/i18n/number.html +1 -1
  270. data/dojo/dijit/tests/i18n/textbox.html +1 -1
  271. data/dojo/dijit/tests/i18n/time.html +1 -1
  272. data/dojo/dijit/tests/images/copy.gif +0 -0
  273. data/dojo/dijit/tests/images/cut.gif +0 -0
  274. data/dojo/dijit/tests/images/note.gif +0 -0
  275. data/dojo/dijit/tests/images/paste.gif +0 -0
  276. data/dojo/dijit/tests/infrastructure-module.js +7 -7
  277. data/dojo/dijit/tests/layout/AccordionContainer.html +81 -23
  278. data/dojo/dijit/tests/layout/ContentPane.html +40 -40
  279. data/dojo/dijit/tests/layout/ContentPaneLayout.html +6 -6
  280. data/dojo/dijit/tests/layout/TabContainer.html +20 -20
  281. data/dojo/dijit/tests/layout/getResponse.php +1 -1
  282. data/dojo/dijit/tests/layout/module.js +9 -2
  283. data/dojo/dijit/tests/layout/nestedStack.html +1 -1
  284. data/dojo/dijit/tests/layout/robot/AccordionContainer_a11y.html +68 -0
  285. data/dojo/dijit/tests/layout/robot/AccordionContainer_mouse.html +53 -0
  286. data/dojo/dijit/tests/layout/robot/BorderContainer.html +358 -0
  287. data/dojo/dijit/tests/layout/robot/TabContainer_a11y.html +29 -12
  288. data/dojo/dijit/tests/layout/robot/TabContainer_mouse.html +19 -13
  289. data/dojo/dijit/tests/layout/test_AccordionContainer.html +12 -8
  290. data/dojo/dijit/tests/layout/test_AccordionContainerDestroy.html +3 -3
  291. data/dojo/dijit/tests/layout/test_BorderContainer.html +21 -19
  292. data/dojo/dijit/tests/layout/test_BorderContainer_complex.html +2 -2
  293. data/dojo/dijit/tests/layout/test_BorderContainer_experimental.html +2 -2
  294. data/dojo/dijit/tests/layout/test_BorderContainer_full.html +2 -2
  295. data/dojo/dijit/tests/layout/test_BorderContainer_nested.html +2 -2
  296. data/dojo/dijit/tests/layout/test_BorderContainer_prog.html +2 -2
  297. data/dojo/dijit/tests/layout/test_ContentPane.html +7 -7
  298. data/dojo/dijit/tests/layout/test_ContentPane_prog.html +4 -4
  299. data/dojo/dijit/tests/layout/test_Gui.html +2 -2
  300. data/dojo/dijit/tests/layout/test_LayoutContainer.html +2 -2
  301. data/dojo/dijit/tests/layout/test_SplitContainer.html +1 -1
  302. data/dojo/dijit/tests/layout/test_StackContainer.html +6 -6
  303. data/dojo/dijit/tests/layout/test_StackContainer_code.html +2 -2
  304. data/dojo/dijit/tests/layout/test_TabContainer.html +10 -10
  305. data/dojo/dijit/tests/layout/test_TabContainerTitlePane.html +2 -2
  306. data/dojo/dijit/tests/layout/test_TabContainer_noLayout.html +2 -2
  307. data/dojo/dijit/tests/layout/test_TabContainer_prog.html +2 -2
  308. data/dojo/dijit/tests/layout/test_TabContainer_remote.html +2 -2
  309. data/dojo/dijit/tests/layout/test_refreshOnShow.html +2 -2
  310. data/dojo/dijit/tests/robot/Calendar_a11y.html +6 -7
  311. data/dojo/dijit/tests/robot/ColorPalette.html +38 -21
  312. data/dojo/dijit/tests/robot/Dialog_a11y.html +58 -17
  313. data/dojo/dijit/tests/robot/Dialog_mouse.html +0 -1
  314. data/dojo/dijit/tests/robot/InlineEditBox.html +135 -24
  315. data/dojo/dijit/tests/robot/Menu_a11y.html +7 -7
  316. data/dojo/dijit/tests/robot/Menu_mouse.html +2 -11
  317. data/dojo/dijit/tests/robot/TitlePane.html +20 -20
  318. data/dojo/dijit/tests/robot/Toolbar.html +3 -4
  319. data/dojo/dijit/tests/robot/TooltipDialog_a11y.html +233 -110
  320. data/dojo/dijit/tests/robot/TooltipDialog_mouse.html +121 -0
  321. data/dojo/dijit/tests/robot/Tooltip_a11y.html +15 -15
  322. data/dojo/dijit/tests/robot/Tooltip_mouse.html +0 -1
  323. data/dojo/dijit/tests/robot/Tree_a11y.html +74 -1
  324. data/dojo/dijit/tests/robot/Tree_dnd.html +5 -5
  325. data/dojo/dijit/tests/robot/Tree_dnd_multiParent.html +4 -4
  326. data/dojo/dijit/tests/robot/_Widget-deferredConnect.html +0 -1
  327. data/dojo/dijit/tests/robot/_Widget-ondijitclick_a11y.html +0 -1
  328. data/dojo/dijit/tests/robot/_Widget-ondijitclick_mouse.html +0 -1
  329. data/dojo/dijit/tests/test.html +1 -1
  330. data/dojo/dijit/tests/test_Calendar.html +4 -4
  331. data/dojo/dijit/tests/test_ColorPalette.html +3 -3
  332. data/dojo/dijit/tests/test_ColorPalette_quirks.html +5 -0
  333. data/dojo/dijit/tests/test_Declaration.html +2 -2
  334. data/dojo/dijit/tests/test_Dialog.html +65 -4
  335. data/dojo/dijit/tests/test_Dialog_focusDestroy.html +2 -2
  336. data/dojo/dijit/tests/test_InlineEditBox.html +14 -5
  337. data/dojo/dijit/tests/test_Menu.html +10 -8
  338. data/dojo/dijit/tests/test_Menu_iframe.html +1 -1
  339. data/dojo/dijit/tests/test_ProgressBar.html +2 -2
  340. data/dojo/dijit/tests/test_TitlePane.html +18 -18
  341. data/dojo/dijit/tests/test_Toolbar.html +2 -2
  342. data/dojo/dijit/tests/test_Tooltip.html +3 -3
  343. data/dojo/dijit/tests/test_TooltipDialog.html +20 -10
  344. data/dojo/dijit/tests/test_Tree.html +26 -20
  345. data/dojo/dijit/tests/test_Tree_Notification_API_Support.html +2 -2
  346. data/dojo/dijit/tests/test_bgIframe.html +2 -2
  347. data/dojo/dijit/tests/test_instantiate.html +2 -2
  348. data/dojo/dijit/tests/tree/module.js +2 -2
  349. data/dojo/dijit/tests/tree/test_CustomLabel.html +2 -2
  350. data/dojo/dijit/tests/tree/test_Tree_DnD.html +2 -2
  351. data/dojo/dijit/tests/tree/test_Tree_Programmatic.html +2 -2
  352. data/dojo/dijit/tests/tree/test_Tree_v1.html +3 -3
  353. data/dojo/dijit/themes/a11y/colors3x4-rtl.png +0 -0
  354. data/dojo/dijit/themes/a11y/colors3x4.png +0 -0
  355. data/dojo/dijit/themes/a11y/colors7x10-rtl.png +0 -0
  356. data/dojo/dijit/themes/a11y/colors7x10.png +0 -0
  357. data/dojo/dijit/themes/claro/Calendar.css +257 -0
  358. data/dojo/dijit/themes/claro/Calendar_rtl.css +19 -0
  359. data/dojo/dijit/themes/claro/ColorPalette.css +44 -0
  360. data/dojo/dijit/themes/claro/Common.css +79 -0
  361. data/dojo/dijit/themes/claro/Dialog.css +212 -0
  362. data/dojo/dijit/themes/claro/Dialog_rtl.css +10 -0
  363. data/dojo/dijit/themes/claro/Editor.css +56 -0
  364. data/dojo/dijit/themes/claro/Editor_rtl.css +7 -0
  365. data/dojo/dijit/themes/claro/InlineEditBox.css +23 -0
  366. data/dojo/dijit/themes/claro/Menu.css +182 -0
  367. data/dojo/dijit/themes/claro/Menu_rtl.css +9 -0
  368. data/dojo/dijit/themes/claro/ProgressBar.css +53 -0
  369. data/dojo/dijit/themes/claro/TimePicker.css +125 -0
  370. data/dojo/dijit/themes/claro/TimePicker_rtl.css +10 -0
  371. data/dojo/dijit/themes/claro/TitlePane.css +73 -0
  372. data/dojo/dijit/themes/claro/TitlePane_rtl.css +4 -0
  373. data/dojo/dijit/themes/claro/Toolbar.css +170 -0
  374. data/dojo/dijit/themes/claro/Tree.css +122 -0
  375. data/dojo/dijit/themes/claro/claro.css +29 -0
  376. data/dojo/dijit/themes/claro/claro_rtl.css +15 -0
  377. data/dojo/dijit/themes/claro/document.css +109 -0
  378. data/dojo/dijit/themes/claro/form/Button.css +168 -0
  379. data/dojo/dijit/themes/claro/form/Button_rtl.css +22 -0
  380. data/dojo/dijit/themes/claro/form/Checkbox.css +77 -0
  381. data/dojo/dijit/themes/claro/form/Common.css +176 -0
  382. data/dojo/dijit/themes/claro/form/Common_rtl.css +10 -0
  383. data/dojo/dijit/themes/claro/form/NumberSpinner.css +143 -0
  384. data/dojo/dijit/themes/claro/form/RadioButton.css +82 -0
  385. data/dojo/dijit/themes/claro/form/Select.css +124 -0
  386. data/dojo/dijit/themes/claro/form/Select_rtl.css +4 -0
  387. data/dojo/dijit/themes/claro/form/Slider.css +359 -0
  388. data/dojo/dijit/themes/claro/form/Slider_rtl.css +31 -0
  389. data/dojo/dijit/themes/claro/form/images/button.png +0 -0
  390. data/dojo/dijit/themes/claro/form/images/buttonArrows.png +0 -0
  391. data/dojo/dijit/themes/claro/form/images/button_grad_d.png +0 -0
  392. data/dojo/dijit/themes/claro/form/images/checkboxAndRadioButtons_IE6.png +0 -0
  393. data/dojo/dijit/themes/claro/form/images/checkboxRadioButtonStates.png +0 -0
  394. data/dojo/dijit/themes/claro/form/images/commonFormArrows.png +0 -0
  395. data/dojo/dijit/themes/claro/form/images/error.png +0 -0
  396. data/dojo/dijit/themes/claro/form/images/formHighlight.png +0 -0
  397. data/dojo/dijit/themes/claro/form/images/shadow.png +0 -0
  398. data/dojo/dijit/themes/claro/form/images/sliderHorizontal.png +0 -0
  399. data/dojo/dijit/themes/claro/form/images/sliderThumbs.png +0 -0
  400. data/dojo/dijit/themes/claro/form/images/sliderVertical.png +0 -0
  401. data/dojo/dijit/themes/claro/form/images/textBox_back.png +0 -0
  402. data/dojo/dijit/themes/claro/images/calendarArrows.png +0 -0
  403. data/dojo/dijit/themes/claro/images/calendarArrows8bit.png +0 -0
  404. data/dojo/dijit/themes/claro/images/calendarContainerImages.png +0 -0
  405. data/dojo/dijit/themes/claro/images/checkmarkNoBorder.gif +0 -0
  406. data/dojo/dijit/themes/claro/images/checkmarkNoBorder.png +0 -0
  407. data/dojo/dijit/themes/claro/images/commonHighlight.png +0 -0
  408. data/dojo/dijit/themes/claro/images/dialogCloseIcon.png +0 -0
  409. data/dojo/dijit/themes/claro/images/dialogCloseIcon8bit.png +0 -0
  410. data/dojo/dijit/themes/claro/images/dnd.png +0 -0
  411. data/dojo/dijit/themes/claro/images/loading.gif +0 -0
  412. data/dojo/dijit/themes/claro/images/loadingAnimation.gif +0 -0
  413. data/dojo/dijit/themes/claro/images/menuHighlight.png +0 -0
  414. data/dojo/dijit/themes/claro/images/progressBarAnim.gif +0 -0
  415. data/dojo/dijit/themes/claro/images/progressBarEmpty.png +0 -0
  416. data/dojo/dijit/themes/claro/images/progressBarFull.png +0 -0
  417. data/dojo/dijit/themes/claro/images/spriteArrows.png +0 -0
  418. data/dojo/dijit/themes/claro/images/titlebar.png +0 -0
  419. data/dojo/dijit/themes/claro/images/tooltip.png +0 -0
  420. data/dojo/dijit/themes/claro/images/tooltip8bit.png +0 -0
  421. data/dojo/dijit/themes/claro/images/treeExpandImages.png +0 -0
  422. data/dojo/dijit/themes/claro/images/treeExpandImages8bit.png +0 -0
  423. data/dojo/dijit/themes/claro/images/treeExpand_loading.gif +0 -0
  424. data/dojo/dijit/themes/claro/layout/AccordionContainer.css +108 -0
  425. data/dojo/dijit/themes/claro/layout/BorderContainer.css +134 -0
  426. data/dojo/dijit/themes/claro/layout/ContentPane.css +40 -0
  427. data/dojo/dijit/themes/claro/layout/TabContainer.css +439 -0
  428. data/dojo/dijit/themes/claro/layout/TabContainer_rtl.css +77 -0
  429. data/dojo/dijit/themes/claro/layout/images/accordion.png +0 -0
  430. data/dojo/dijit/themes/claro/layout/images/splitterHorizontalHover.png +0 -0
  431. data/dojo/dijit/themes/claro/layout/images/splitterVerticalHover.png +0 -0
  432. data/dojo/dijit/themes/claro/layout/images/tabBottom.png +0 -0
  433. data/dojo/dijit/themes/claro/layout/images/tabClose.png +0 -0
  434. data/dojo/dijit/themes/claro/layout/images/tabLeft.png +0 -0
  435. data/dojo/dijit/themes/claro/layout/images/tabNested.png +0 -0
  436. data/dojo/dijit/themes/claro/layout/images/tabRight.png +0 -0
  437. data/dojo/dijit/themes/claro/layout/images/tabTop.png +0 -0
  438. data/dojo/dijit/themes/dijit.css +633 -452
  439. data/dojo/dijit/themes/dijit_rtl.css +70 -59
  440. data/dojo/dijit/themes/nihilo/Calendar.css +0 -14
  441. data/dojo/dijit/themes/nihilo/Dialog.css +2 -5
  442. data/dojo/dijit/themes/nihilo/Editor.css +3 -58
  443. data/dojo/dijit/themes/nihilo/Editor_rtl.css +2 -6
  444. data/dojo/dijit/themes/nihilo/TimePicker.css +1 -11
  445. data/dojo/dijit/themes/nihilo/TimePicker_rtl.css +4 -0
  446. data/dojo/dijit/themes/nihilo/TitlePane.css +3 -32
  447. data/dojo/dijit/themes/nihilo/Toolbar.css +2 -2
  448. data/dojo/dijit/themes/nihilo/Tree.css +2 -20
  449. data/dojo/dijit/themes/nihilo/Tree_rtl.css +10 -16
  450. data/dojo/dijit/themes/nihilo/form/Button.css +36 -20
  451. data/dojo/dijit/themes/nihilo/form/Common.css +11 -37
  452. data/dojo/dijit/themes/nihilo/form/Select.css +4 -11
  453. data/dojo/dijit/themes/nihilo/form/Slider.css +0 -8
  454. data/dojo/dijit/themes/nihilo/layout/AccordionContainer.css +2 -4
  455. data/dojo/dijit/themes/nihilo/layout/AccordionContainer_rtl.css +1 -1
  456. data/dojo/dijit/themes/nihilo/layout/TabContainer.css +12 -23
  457. data/dojo/dijit/themes/nihilo/nihilo.css +2 -1
  458. data/dojo/dijit/themes/nihilo/nihilo_rtl.css +3 -2
  459. data/dojo/dijit/themes/soria/Calendar.css +0 -14
  460. data/dojo/dijit/themes/soria/Dialog.css +2 -5
  461. data/dojo/dijit/themes/soria/Editor.css +3 -57
  462. data/dojo/dijit/themes/soria/Editor_rtl.css +2 -7
  463. data/dojo/dijit/themes/soria/TimePicker.css +0 -10
  464. data/dojo/dijit/themes/soria/TimePicker_rtl.css +4 -0
  465. data/dojo/dijit/themes/soria/TitlePane.css +4 -30
  466. data/dojo/dijit/themes/soria/Toolbar.css +2 -2
  467. data/dojo/dijit/themes/soria/Tree.css +3 -20
  468. data/dojo/dijit/themes/soria/Tree_rtl.css +11 -12
  469. data/dojo/dijit/themes/soria/form/Button.css +38 -29
  470. data/dojo/dijit/themes/soria/form/Common.css +10 -36
  471. data/dojo/dijit/themes/soria/form/Select.css +4 -11
  472. data/dojo/dijit/themes/soria/form/Slider.css +0 -8
  473. data/dojo/dijit/themes/soria/layout/AccordionContainer.css +2 -4
  474. data/dojo/dijit/themes/soria/layout/AccordionContainer_rtl.css +1 -1
  475. data/dojo/dijit/themes/soria/layout/TabContainer.css +17 -34
  476. data/dojo/dijit/themes/soria/soria.css +2 -2
  477. data/dojo/dijit/themes/soria/soria_rtl.css +3 -2
  478. data/dojo/dijit/themes/themeTester.html +215 -100
  479. data/dojo/dijit/themes/tundra/Calendar.css +9 -20
  480. data/dojo/dijit/themes/tundra/Calendar_rtl.css +2 -2
  481. data/dojo/dijit/themes/tundra/Dialog.css +6 -25
  482. data/dojo/dijit/themes/tundra/Dialog_rtl.css +1 -1
  483. data/dojo/dijit/themes/tundra/Editor.css +5 -58
  484. data/dojo/dijit/themes/tundra/Editor_rtl.css +4 -9
  485. data/dojo/dijit/themes/tundra/Menu.css +2 -2
  486. data/dojo/dijit/themes/tundra/Menu_rtl.css +1 -6
  487. data/dojo/dijit/themes/tundra/TimePicker.css +0 -10
  488. data/dojo/dijit/themes/tundra/TimePicker_rtl.css +4 -0
  489. data/dojo/dijit/themes/tundra/TitlePane.css +4 -38
  490. data/dojo/dijit/themes/tundra/TitlePane_rtl.css +1 -1
  491. data/dojo/dijit/themes/tundra/Toolbar.css +12 -2
  492. data/dojo/dijit/themes/tundra/Tree.css +3 -22
  493. data/dojo/dijit/themes/tundra/Tree_rtl.css +9 -9
  494. data/dojo/dijit/themes/tundra/form/Button.css +35 -59
  495. data/dojo/dijit/themes/tundra/form/Common.css +12 -84
  496. data/dojo/dijit/themes/tundra/form/RadioButton.css +11 -13
  497. data/dojo/dijit/themes/tundra/form/Select.css +15 -22
  498. data/dojo/dijit/themes/tundra/form/Slider.css +0 -7
  499. data/dojo/dijit/themes/tundra/form/Slider_rtl.css +12 -12
  500. data/dojo/dijit/themes/tundra/layout/AccordionContainer.css +2 -4
  501. data/dojo/dijit/themes/tundra/layout/SplitContainer.css +0 -4
  502. data/dojo/dijit/themes/tundra/layout/TabContainer.css +19 -44
  503. data/dojo/dijit/themes/tundra/layout/TabContainer_rtl.css +21 -9
  504. data/dojo/dijit/themes/tundra/tundra.css +2 -1
  505. data/dojo/dijit/themes/tundra/tundra_rtl.css +2 -1
  506. data/dojo/dijit/tree/TreeStoreModel.js +13 -12
  507. data/dojo/dojo/DeferredList.js +66 -78
  508. data/dojo/dojo/LICENSE +1 -1
  509. data/dojo/dojo/NodeList-fx.js +92 -18
  510. data/dojo/dojo/Stateful.js +123 -0
  511. data/dojo/dojo/_base.js +1 -1
  512. data/dojo/dojo/_base/Deferred.js +211 -301
  513. data/dojo/dojo/_base/NodeList.js +28 -5
  514. data/dojo/dojo/_base/_loader/bootstrap.js +5 -16
  515. data/dojo/dojo/_base/_loader/hostenv_browser.js +42 -24
  516. data/dojo/dojo/_base/connect.js +13 -13
  517. data/dojo/dojo/_base/declare.js +81 -17
  518. data/dojo/dojo/_base/fx.js +75 -77
  519. data/dojo/dojo/_base/html.js +20 -10
  520. data/dojo/dojo/_base/json.js +2 -1
  521. data/dojo/dojo/back.js +7 -0
  522. data/dojo/dojo/cache.js +7 -8
  523. data/dojo/dojo/cldr/monetary.js +7 -4
  524. data/dojo/dojo/cldr/nls/ar/gregorian.js +7 -3
  525. data/dojo/dojo/cldr/nls/ar/hebrew.js +12 -16
  526. data/dojo/dojo/cldr/nls/ar/islamic-civil.js +124 -49
  527. data/dojo/dojo/cldr/nls/ar/islamic.js +61 -70
  528. data/dojo/dojo/cldr/nls/buddhist.js +236 -0
  529. data/dojo/dojo/cldr/nls/ca/gregorian.js +152 -148
  530. data/dojo/dojo/cldr/nls/cs/gregorian.js +110 -100
  531. data/dojo/dojo/cldr/nls/cs/number.js +1 -1
  532. data/dojo/dojo/cldr/nls/currency.js +0 -1
  533. data/dojo/dojo/cldr/nls/da/gregorian.js +144 -145
  534. data/dojo/dojo/cldr/nls/de/gregorian.js +22 -24
  535. data/dojo/dojo/cldr/nls/el/gregorian.js +15 -14
  536. data/dojo/dojo/cldr/nls/en-au/gregorian.js +3 -0
  537. data/dojo/dojo/cldr/nls/en-ca/gregorian.js +10 -0
  538. data/dojo/dojo/cldr/nls/en/gregorian.js +12 -10
  539. data/dojo/dojo/cldr/nls/es/gregorian.js +19 -20
  540. data/dojo/dojo/cldr/nls/fi/gregorian.js +15 -14
  541. data/dojo/dojo/cldr/nls/fr/gregorian.js +15 -17
  542. data/dojo/dojo/cldr/nls/gregorian.js +14 -8
  543. data/dojo/dojo/cldr/nls/he/gregorian.js +48 -49
  544. data/dojo/dojo/cldr/nls/he/hebrew.js +23 -56
  545. data/dojo/dojo/cldr/nls/he/islamic.js +17 -19
  546. data/dojo/dojo/cldr/nls/hebrew.js +133 -124
  547. data/dojo/dojo/cldr/nls/hu/gregorian.js +20 -17
  548. data/dojo/dojo/cldr/nls/islamic.js +132 -129
  549. data/dojo/dojo/cldr/nls/it/gregorian.js +143 -145
  550. data/dojo/dojo/cldr/nls/ja/gregorian.js +17 -17
  551. data/dojo/dojo/cldr/nls/ko/gregorian.js +19 -19
  552. data/dojo/dojo/cldr/nls/nb/gregorian.js +141 -143
  553. data/dojo/dojo/cldr/nls/nl/gregorian.js +12 -14
  554. data/dojo/dojo/cldr/nls/pl/gregorian.js +149 -143
  555. data/dojo/dojo/cldr/nls/pt-pt/gregorian.js +83 -39
  556. data/dojo/dojo/cldr/nls/pt/gregorian.js +14 -16
  557. data/dojo/dojo/cldr/nls/ru/gregorian.js +138 -146
  558. data/dojo/dojo/cldr/nls/sk/gregorian.js +15 -6
  559. data/dojo/dojo/cldr/nls/sl/gregorian.js +12 -11
  560. data/dojo/dojo/cldr/nls/sv/gregorian.js +23 -17
  561. data/dojo/dojo/cldr/nls/th/buddhist.js +10 -13
  562. data/dojo/dojo/cldr/nls/th/gregorian.js +140 -136
  563. data/dojo/dojo/cldr/nls/tr/gregorian.js +13 -13
  564. data/dojo/dojo/cldr/nls/zh-tw/gregorian.js +15 -2
  565. data/dojo/dojo/cldr/nls/zh/gregorian.js +17 -14
  566. data/dojo/dojo/cldr/supplemental.js +10 -10
  567. data/dojo/dojo/currency.js +27 -14
  568. data/dojo/dojo/data/ItemFileReadStore.js +22 -21
  569. data/dojo/dojo/date/locale.js +9 -9
  570. data/dojo/dojo/date/stamp.js +3 -5
  571. data/dojo/dojo/dnd/Container.js +3 -1
  572. data/dojo/dojo/dnd/Manager.js +1 -1
  573. data/dojo/dojo/dnd/Moveable.js +2 -2
  574. data/dojo/dojo/dnd/Mover.js +5 -5
  575. data/dojo/dojo/dnd/Source.js +9 -8
  576. data/dojo/dojo/dnd/common.js +1 -1
  577. data/dojo/dojo/dojo.js +6 -18
  578. data/dojo/dojo/hash.js +20 -15
  579. data/dojo/dojo/html.js +7 -6
  580. data/dojo/dojo/nls/ro/colors.js +155 -0
  581. data/dojo/dojo/number.js +67 -56
  582. data/dojo/dojo/parser.js +167 -47
  583. data/dojo/dojo/resources/dojo.css +5 -6
  584. data/dojo/dojo/robot.js +85 -11
  585. data/dojo/dojo/tests/NodeList-fx.html +58 -38
  586. data/dojo/dojo/tests/Stateful.js +36 -0
  587. data/dojo/dojo/tests/_base/Deferred.js +95 -0
  588. data/dojo/dojo/tests/_base/NodeList.html +9 -1
  589. data/dojo/dojo/tests/_base/declare.js +65 -3
  590. data/dojo/dojo/tests/_base/fx.html +55 -49
  591. data/dojo/dojo/tests/_base/html.html +7 -0
  592. data/dojo/dojo/tests/_base/html_rtl.html +1 -0
  593. data/dojo/dojo/tests/cache.js +7 -0
  594. data/dojo/dojo/tests/currency.js +3 -2
  595. data/dojo/dojo/tests/date/locale.js +7 -3
  596. data/dojo/dojo/tests/date/stamp.js +4 -0
  597. data/dojo/dojo/tests/dnd/robot/test_dnd.html +1 -1
  598. data/dojo/dojo/tests/hash.js +26 -1
  599. data/dojo/dojo/tests/module.js +3 -0
  600. data/dojo/dojo/tests/number.js +7 -0
  601. data/dojo/dojo/tests/parser.html +90 -10
  602. data/dojo/dojo/tests/uacss.js +10 -0
  603. data/dojo/{dijit/tests/_base → dojo/tests/uacss}/sniffQuirks.html +5 -4
  604. data/dojo/{dijit/tests/_base → dojo/tests/uacss}/sniffStandards.html +4 -4
  605. data/dojo/dojo/tests/window.js +11 -0
  606. data/dojo/{dijit/tests/_base → dojo/tests/window}/test_scroll.html +155 -229
  607. data/dojo/{dijit/tests/_base/test_scrollStrictDTD.html → dojo/tests/window/test_scrollNoDTD.html} +30 -35
  608. data/dojo/{dijit/tests/_base/test_scrollNoDTD.html → dojo/tests/window/test_scrollStrictDTD.html} +30 -31
  609. data/dojo/{dijit/tests/_base → dojo/tests/window}/viewport.html +8 -10
  610. data/dojo/dojo/tests/window/viewportQuirks.html +5 -0
  611. data/dojo/dojo/uacss.js +63 -0
  612. data/dojo/dojo/window.js +132 -0
  613. data/dojo/dojox/LICENSE +1 -1
  614. data/dojo/dojox/atom/io/model.js +1 -1
  615. data/dojo/dojox/atom/widget/nls/ro/FeedEntryEditor.js +7 -0
  616. data/dojo/dojox/atom/widget/nls/ro/FeedEntryViewer.js +12 -0
  617. data/dojo/dojox/atom/widget/nls/ro/FeedViewerEntry.js +4 -0
  618. data/dojo/dojox/atom/widget/nls/ro/PeopleEditor.js +6 -0
  619. data/dojo/dojox/av/FLAudio.js +62 -49
  620. data/dojo/dojox/av/resources/audio.swf +0 -0
  621. data/dojo/dojox/av/tests/test_FLAudio.html +15 -9
  622. data/dojo/dojox/charting/Chart2D.js +609 -51
  623. data/dojo/dojox/charting/DataChart.js +72 -63
  624. data/dojo/dojox/charting/DataSeries.js +183 -0
  625. data/dojo/dojox/charting/Element.js +201 -3
  626. data/dojo/dojox/charting/Series.js +47 -4
  627. data/dojo/dojox/charting/Theme.js +590 -189
  628. data/dojo/dojox/charting/action2d/Base.js +31 -5
  629. data/dojo/dojox/charting/action2d/Highlight.js +37 -12
  630. data/dojo/dojox/charting/action2d/Magnify.js +39 -13
  631. data/dojo/dojox/charting/action2d/MoveSlice.js +42 -13
  632. data/dojo/dojox/charting/action2d/Shake.js +36 -12
  633. data/dojo/dojox/charting/action2d/Tooltip.js +205 -7
  634. data/dojo/dojox/charting/axis2d/Base.js +46 -7
  635. data/dojo/dojox/charting/axis2d/Default.js +414 -238
  636. data/dojo/dojox/charting/axis2d/Invisible.js +290 -0
  637. data/dojo/dojox/charting/axis2d/common.js +53 -7
  638. data/dojo/dojox/charting/plot2d/Areas.js +2 -0
  639. data/dojo/dojox/charting/plot2d/Bars.js +94 -63
  640. data/dojo/dojox/charting/plot2d/Base.js +143 -53
  641. data/dojo/dojox/charting/plot2d/Bubble.js +139 -65
  642. data/dojo/dojox/charting/plot2d/Candlesticks.js +143 -80
  643. data/dojo/dojox/charting/plot2d/ClusteredBars.js +60 -58
  644. data/dojo/dojox/charting/plot2d/ClusteredColumns.js +59 -57
  645. data/dojo/dojox/charting/plot2d/Columns.js +78 -60
  646. data/dojo/dojox/charting/plot2d/Default.js +280 -121
  647. data/dojo/dojox/charting/plot2d/Grid.js +181 -19
  648. data/dojo/dojox/charting/plot2d/Lines.js +4 -0
  649. data/dojo/dojox/charting/plot2d/Markers.js +4 -0
  650. data/dojo/dojox/charting/plot2d/MarkersOnly.js +4 -0
  651. data/dojo/dojox/charting/plot2d/OHLC.js +127 -69
  652. data/dojo/dojox/charting/plot2d/Pie.js +200 -105
  653. data/dojo/dojox/charting/plot2d/Scatter.js +194 -8
  654. data/dojo/dojox/charting/plot2d/Stacked.js +71 -46
  655. data/dojo/dojox/charting/plot2d/StackedAreas.js +4 -0
  656. data/dojo/dojox/charting/plot2d/StackedBars.js +75 -64
  657. data/dojo/dojox/charting/plot2d/StackedColumns.js +75 -64
  658. data/dojo/dojox/charting/plot2d/StackedLines.js +4 -0
  659. data/dojo/dojox/charting/plot2d/_PlotEvents.js +123 -0
  660. data/dojo/dojox/charting/plot2d/common.js +44 -35
  661. data/dojo/dojox/charting/scaler/primitive.js +6 -0
  662. data/dojo/dojox/charting/tests/gradients/test_grad_bars1.html +85 -0
  663. data/dojo/dojox/charting/tests/gradients/test_grad_bars2.html +79 -0
  664. data/dojo/dojox/charting/tests/gradients/test_grad_bars3.html +79 -0
  665. data/dojo/dojox/charting/tests/gradients/test_grad_bars4.html +79 -0
  666. data/dojo/dojox/charting/tests/gradients/test_grad_bars5.html +82 -0
  667. data/dojo/dojox/charting/tests/gradients/test_grad_bubble1.html +71 -0
  668. data/dojo/dojox/charting/tests/gradients/test_grad_bubble2.html +65 -0
  669. data/dojo/dojox/charting/tests/gradients/test_grad_bubble3.html +66 -0
  670. data/dojo/dojox/charting/tests/gradients/test_grad_bubble4.html +65 -0
  671. data/dojo/dojox/charting/tests/gradients/test_grad_bubble6.html +71 -0
  672. data/dojo/dojox/charting/tests/gradients/test_grad_columns1.html +85 -0
  673. data/dojo/dojox/charting/tests/gradients/test_grad_columns2.html +79 -0
  674. data/dojo/dojox/charting/tests/gradients/test_grad_columns3.html +79 -0
  675. data/dojo/dojox/charting/tests/gradients/test_grad_columns4.html +79 -0
  676. data/dojo/dojox/charting/tests/gradients/test_grad_columns5.html +82 -0
  677. data/dojo/dojox/charting/tests/gradients/test_grad_pie1.html +58 -0
  678. data/dojo/dojox/charting/tests/gradients/test_grad_pie2.html +52 -0
  679. data/dojo/dojox/charting/tests/gradients/test_grad_pie3.html +53 -0
  680. data/dojo/dojox/charting/tests/gradients/test_grad_pie4.html +52 -0
  681. data/dojo/dojox/charting/tests/gradients/test_grad_pie7.html +52 -0
  682. data/dojo/dojox/charting/tests/gradients/test_grad_pie8.html +52 -0
  683. data/dojo/dojox/charting/tests/gradients/test_grad_pie9.html +52 -0
  684. data/dojo/dojox/charting/tests/gradients/test_grad_pieA.html +52 -0
  685. data/dojo/dojox/charting/tests/gradients/test_grad_scatter1.html +71 -0
  686. data/dojo/dojox/charting/tests/gradients/test_grad_scatter2.html +65 -0
  687. data/dojo/dojox/charting/tests/gradients/test_grad_scatterB.html +54 -0
  688. data/dojo/dojox/charting/tests/stock.json +0 -1
  689. data/dojo/dojox/charting/tests/test_DataChart.html +3 -1
  690. data/dojo/dojox/charting/tests/test_DataSeries.html +216 -0
  691. data/dojo/dojox/charting/tests/test_anim2d.html +2 -0
  692. data/dojo/dojox/charting/tests/test_axes.html +81 -0
  693. data/dojo/dojox/charting/tests/test_axisZoomControl.html +91 -0
  694. data/dojo/dojox/charting/tests/test_bars.html +4 -2
  695. data/dojo/dojox/charting/tests/test_chart2d.html +14 -8
  696. data/dojo/dojox/charting/tests/test_chart2d_dynamics.html +4 -2
  697. data/dojo/dojox/charting/tests/test_chart2d_updating.html +2 -0
  698. data/dojo/dojox/charting/tests/test_cylinders.html +4 -2
  699. data/dojo/dojox/charting/tests/test_event2d.html +6 -3
  700. data/dojo/dojox/charting/tests/test_fireEvent.html +204 -0
  701. data/dojo/dojox/charting/tests/test_labels2d.html +57 -3
  702. data/dojo/dojox/charting/tests/test_nulls.html +89 -0
  703. data/dojo/dojox/charting/tests/test_pie2d.html +7 -4
  704. data/dojo/dojox/charting/tests/test_plot_order.html +96 -0
  705. data/dojo/dojox/charting/tests/test_rotatedLabels.html +85 -0
  706. data/dojo/dojox/charting/tests/test_scaler.html +4 -2
  707. data/dojo/dojox/charting/tests/test_series_order.html +88 -0
  708. data/dojo/dojox/charting/tests/test_sparklines.html +2 -0
  709. data/dojo/dojox/charting/tests/test_tension.html +55 -0
  710. data/dojo/dojox/charting/tests/test_themes.html +270 -115
  711. data/dojo/dojox/charting/tests/test_widget2d.html +3 -1
  712. data/dojo/dojox/charting/tests/test_win2d.html +6 -4
  713. data/dojo/dojox/charting/tests/theme_preview.html +69 -0
  714. data/dojo/dojox/charting/themes/Charged.js +91 -0
  715. data/dojo/dojox/charting/themes/Chris.js +77 -0
  716. data/dojo/dojox/charting/themes/Electric.js +92 -0
  717. data/dojo/dojox/charting/themes/Ireland.js +2 -2
  718. data/dojo/dojox/charting/themes/Julie.js +70 -0
  719. data/dojo/dojox/charting/themes/PlotKit/base.js +53 -0
  720. data/dojo/dojox/charting/themes/PlotKit/blue.js +6 -35
  721. data/dojo/dojox/charting/themes/PlotKit/cyan.js +6 -35
  722. data/dojo/dojox/charting/themes/PlotKit/green.js +6 -35
  723. data/dojo/dojox/charting/themes/PlotKit/orange.js +6 -35
  724. data/dojo/dojox/charting/themes/PlotKit/purple.js +6 -35
  725. data/dojo/dojox/charting/themes/PlotKit/red.js +6 -35
  726. data/dojo/dojox/charting/themes/PrimaryColors.js +14 -0
  727. data/dojo/dojox/charting/themes/Renkoo.js +85 -0
  728. data/dojo/dojox/charting/themes/ThreeD.js +49 -0
  729. data/dojo/dojox/charting/themes/Tom.js +87 -0
  730. data/dojo/dojox/charting/themes/Tufte.js +45 -50
  731. data/dojo/dojox/charting/themes/gradientGenerator.js +83 -0
  732. data/dojo/dojox/charting/widget/Chart2D.js +21 -1
  733. data/dojo/dojox/charting/widget/Legend.js +10 -1
  734. data/dojo/dojox/color/Palette.js +124 -17
  735. data/dojo/dojox/css3/fx.js +183 -0
  736. data/dojo/dojox/data/AndOrReadStore.js +4 -2
  737. data/dojo/dojox/data/ClientFilter.js +1 -1
  738. data/dojo/dojox/data/FlickrRestStore.js +86 -88
  739. data/dojo/dojox/data/HtmlStore.js +1 -1
  740. data/dojo/dojox/data/ItemExplorer.js +3 -3
  741. data/dojo/dojox/data/PersevereStore.js +1 -1
  742. data/dojo/dojox/data/QueryReadStore.js +6 -9
  743. data/dojo/dojox/data/ServiceStore.js +9 -2
  744. data/dojo/dojox/data/StoreExplorer.js +2 -2
  745. data/dojo/dojox/data/XmlStore.js +1 -1
  746. data/dojo/dojox/data/demos/stores/LazyLoadJSIStore.js +1 -1
  747. data/dojo/dojox/data/s3/proxy.example-php +73 -73
  748. data/dojo/dojox/data/tests/stores/FlickrRestStore.js +1 -1
  749. data/dojo/dojox/data/util/JsonQuery.js +0 -3
  750. data/dojo/dojox/date/README +7 -1
  751. data/dojo/dojox/date/buddhist/locale.js +5 -5
  752. data/dojo/dojox/date/hebrew/locale.js +41 -18
  753. data/dojo/dojox/date/hebrew/numerals.js +17 -13
  754. data/dojo/dojox/date/islamic.js +0 -1
  755. data/dojo/dojox/date/islamic/Date.js +17 -19
  756. data/dojo/dojox/date/islamic/locale.js +37 -16
  757. data/dojo/dojox/date/posix.js +1 -1
  758. data/dojo/dojox/date/tests/hebrew/Date.js +2 -2
  759. data/dojo/dojox/date/tests/islamic/Date.js +200 -17
  760. data/dojo/dojox/date/timezone.js +59 -62
  761. data/dojo/dojox/dnd/BoundingBoxController.js +130 -0
  762. data/dojo/dojox/dnd/README +22 -0
  763. data/dojo/dojox/dnd/Selector.js +159 -0
  764. data/dojo/dojox/dnd/tests/robot/test_selector.html +71 -0
  765. data/dojo/dojox/dnd/tests/test_selector.html +57 -0
  766. data/dojo/dojox/drawing/Drawing.js +24 -17
  767. data/dojo/dojox/drawing/_base.js +0 -1
  768. data/dojo/dojox/drawing/annotations/Angle.js +17 -10
  769. data/dojo/dojox/drawing/annotations/BoxShadow.js +92 -4
  770. data/dojo/dojox/drawing/annotations/Label.js +6 -6
  771. data/dojo/dojox/drawing/defaults.js +44 -27
  772. data/dojo/dojox/drawing/library/icons.js +7 -0
  773. data/dojo/dojox/drawing/manager/Anchors.js +22 -10
  774. data/dojo/dojox/drawing/manager/Canvas.js +6 -5
  775. data/dojo/dojox/drawing/manager/Mouse.js +45 -19
  776. data/dojo/dojox/drawing/manager/Stencil.js +29 -26
  777. data/dojo/dojox/drawing/manager/_registry.js +4 -1
  778. data/dojo/dojox/drawing/manager/keys.js +1 -1
  779. data/dojo/dojox/drawing/plugins/_Plugin.js +1 -1
  780. data/dojo/dojox/drawing/plugins/drawing/Grid.js +15 -4
  781. data/dojo/dojox/drawing/plugins/drawing/Silverlight.js +1 -1
  782. data/dojo/dojox/drawing/plugins/tools/Pan.js +29 -5
  783. data/dojo/dojox/drawing/plugins/tools/Zoom.js +4 -4
  784. data/dojo/dojox/drawing/stencil/Ellipse.js +1 -1
  785. data/dojo/dojox/drawing/stencil/Line.js +0 -17
  786. data/dojo/dojox/drawing/stencil/Path.js +17 -13
  787. data/dojo/dojox/drawing/stencil/Text.js +26 -7
  788. data/dojo/dojox/drawing/stencil/_Base.js +163 -159
  789. data/dojo/dojox/drawing/tests/drawing.html +34 -35
  790. data/dojo/dojox/drawing/tests/test_drawing.html +20 -21
  791. data/dojo/dojox/drawing/tests/test_shadows.html +18 -18
  792. data/dojo/dojox/drawing/tools/Ellipse.js +20 -6
  793. data/dojo/dojox/drawing/tools/Line.js +19 -9
  794. data/dojo/dojox/drawing/tools/Rect.js +21 -7
  795. data/dojo/dojox/drawing/tools/TextBlock.js +37 -29
  796. data/dojo/dojox/drawing/tools/custom/Axes.js +249 -97
  797. data/dojo/dojox/drawing/tools/custom/Vector.js +298 -6
  798. data/dojo/dojox/drawing/ui/Button.js +45 -20
  799. data/dojo/dojox/drawing/ui/Toolbar.js +94 -29
  800. data/dojo/dojox/drawing/ui/Tooltip.js +3 -3
  801. data/dojo/dojox/drawing/ui/dom/Pan.js +2 -2
  802. data/dojo/dojox/drawing/ui/dom/Toolbar.js +4 -4
  803. data/dojo/dojox/drawing/util/common.js +20 -14
  804. data/dojo/dojox/drawing/util/oo.js +1 -1
  805. data/dojo/dojox/dtl/Context.js +8 -7
  806. data/dojo/dojox/dtl/_DomTemplated.js +5 -1
  807. data/dojo/dojox/dtl/_Templated.js +38 -3
  808. data/dojo/dojox/dtl/_base.js +17 -8
  809. data/dojo/dojox/dtl/tests/context.js +11 -2
  810. data/dojo/dojox/editor/README +95 -2
  811. data/dojo/dojox/editor/plugins/Blockquote.js +506 -0
  812. data/dojo/dojox/editor/plugins/Breadcrumb.js +31 -25
  813. data/dojo/dojox/editor/plugins/CollapsibleToolbar.js +174 -0
  814. data/dojo/dojox/editor/plugins/EntityPalette.js +112 -290
  815. data/dojo/dojox/editor/plugins/FindReplace.js +490 -163
  816. data/dojo/dojox/editor/plugins/InsertAnchor.js +430 -0
  817. data/dojo/dojox/editor/plugins/NormalizeIndentOutdent.js +3 -51
  818. data/dojo/dojox/editor/plugins/NormalizeStyle.js +551 -0
  819. data/dojo/dojox/editor/plugins/PasteFromWord.js +206 -0
  820. data/dojo/dojox/editor/plugins/Preview.js +1 -1
  821. data/dojo/dojox/editor/plugins/Save.js +4 -4
  822. data/dojo/dojox/editor/plugins/ShowBlockNodes.js +1 -1
  823. data/dojo/dojox/editor/plugins/Smiley.js +48 -22
  824. data/dojo/dojox/editor/plugins/StatusBar.js +172 -0
  825. data/dojo/dojox/editor/plugins/TablePlugins.js +454 -394
  826. data/dojo/dojox/editor/plugins/TextColor.js +191 -0
  827. data/dojo/dojox/editor/plugins/ToolbarLineBreak.js +6 -1
  828. data/dojo/dojox/editor/plugins/_SmileyPalette.js +113 -333
  829. data/dojo/dojox/editor/plugins/nls/Blockquote.js +3 -0
  830. data/dojo/dojox/editor/plugins/nls/CollapsibleToolbar.js +4 -0
  831. data/dojo/dojox/editor/plugins/nls/FindReplace.js +15 -5
  832. data/dojo/dojox/editor/plugins/nls/InsertAnchor.js +8 -0
  833. data/dojo/dojox/editor/plugins/nls/PasteFromWord.js +6 -0
  834. data/dojo/dojox/editor/plugins/nls/TableDialog.js +0 -1
  835. data/dojo/dojox/editor/plugins/nls/TextColor.js +4 -0
  836. data/dojo/dojox/editor/plugins/nls/ar/TableDialog.js +0 -1
  837. data/dojo/dojox/editor/plugins/nls/ca/TableDialog.js +0 -1
  838. data/dojo/dojox/editor/plugins/nls/cs/TableDialog.js +0 -1
  839. data/dojo/dojox/editor/plugins/nls/da/TableDialog.js +0 -1
  840. data/dojo/dojox/editor/plugins/nls/de/TableDialog.js +0 -1
  841. data/dojo/dojox/editor/plugins/nls/el/TableDialog.js +0 -1
  842. data/dojo/dojox/editor/plugins/nls/es/TableDialog.js +0 -1
  843. data/dojo/dojox/editor/plugins/nls/fi/TableDialog.js +0 -1
  844. data/dojo/dojox/editor/plugins/nls/fr/TableDialog.js +0 -1
  845. data/dojo/dojox/editor/plugins/nls/he/TableDialog.js +0 -1
  846. data/dojo/dojox/editor/plugins/nls/hu/TableDialog.js +0 -1
  847. data/dojo/dojox/editor/plugins/nls/it/TableDialog.js +0 -1
  848. data/dojo/dojox/editor/plugins/nls/ja/TableDialog.js +0 -1
  849. data/dojo/dojox/editor/plugins/nls/ko/TableDialog.js +0 -1
  850. data/dojo/dojox/editor/plugins/nls/nb/TableDialog.js +0 -1
  851. data/dojo/dojox/editor/plugins/nls/nl/TableDialog.js +0 -1
  852. data/dojo/dojox/editor/plugins/nls/pl/TableDialog.js +0 -1
  853. data/dojo/dojox/editor/plugins/nls/pt-pt/TableDialog.js +0 -1
  854. data/dojo/dojox/editor/plugins/nls/pt/TableDialog.js +0 -1
  855. data/dojo/dojox/editor/plugins/nls/ro/Blockquote.js +4 -0
  856. data/dojo/dojox/editor/plugins/nls/ro/Breadcrumb.js +10 -0
  857. data/dojo/dojox/editor/plugins/nls/ro/CollapsibleToolbar.js +5 -0
  858. data/dojo/dojox/editor/plugins/nls/ro/FindReplace.js +22 -0
  859. data/dojo/dojox/editor/plugins/nls/ro/InsertAnchor.js +9 -0
  860. data/dojo/dojox/editor/plugins/nls/ro/InsertEntity.js +4 -0
  861. data/dojo/dojox/editor/plugins/nls/ro/PageBreak.js +4 -0
  862. data/dojo/dojox/editor/plugins/nls/ro/PasteFromWord.js +7 -0
  863. data/dojo/dojox/editor/plugins/nls/ro/Preview.js +4 -0
  864. data/dojo/dojox/editor/plugins/nls/ro/Save.js +4 -0
  865. data/dojo/dojox/editor/plugins/nls/ro/ShowBlockNodes.js +4 -0
  866. data/dojo/dojox/editor/plugins/nls/ro/Smiley.js +22 -0
  867. data/dojo/dojox/editor/plugins/nls/ro/TableDialog.js +30 -0
  868. data/dojo/dojox/editor/plugins/nls/ro/TextColor.js +5 -0
  869. data/dojo/dojox/editor/plugins/nls/ro/latinEntities.js +257 -0
  870. data/dojo/dojox/editor/plugins/nls/ru/TableDialog.js +0 -1
  871. data/dojo/dojox/editor/plugins/nls/sk/TableDialog.js +0 -1
  872. data/dojo/dojox/editor/plugins/nls/sl/TableDialog.js +0 -1
  873. data/dojo/dojox/editor/plugins/nls/sv/TableDialog.js +0 -1
  874. data/dojo/dojox/editor/plugins/nls/th/TableDialog.js +0 -1
  875. data/dojo/dojox/editor/plugins/nls/tr/TableDialog.js +0 -1
  876. data/dojo/dojox/editor/plugins/nls/zh-tw/TableDialog.js +0 -1
  877. data/dojo/dojox/editor/plugins/nls/zh/FindReplace.js +14 -4
  878. data/dojo/dojox/editor/plugins/nls/zh/TableDialog.js +0 -1
  879. data/dojo/dojox/editor/plugins/resources/css/Blockquote.css +17 -0
  880. data/dojo/dojox/editor/plugins/resources/css/CollapsibleToolbar.css +173 -0
  881. data/dojo/dojox/editor/plugins/resources/css/FindReplace.css +56 -51
  882. data/dojo/dojox/editor/plugins/resources/css/InsertAnchor.css +17 -0
  883. data/dojo/dojox/editor/plugins/resources/css/InsertEntity.css +15 -37
  884. data/dojo/dojox/editor/plugins/resources/css/PasteFromWord.css +30 -0
  885. data/dojo/dojox/editor/plugins/resources/css/Smiley.css +20 -59
  886. data/dojo/dojox/editor/plugins/resources/css/StatusBar.css +75 -0
  887. data/dojo/dojox/editor/plugins/resources/css/TextColor.css +7 -0
  888. data/dojo/dojox/editor/plugins/resources/editorPlugins.css +1 -1
  889. data/dojo/dojox/editor/plugins/resources/icons/anchor.gif +0 -0
  890. data/dojo/dojox/editor/plugins/resources/icons/{findIconDisabled.gif → anchorDisabled.gif} +0 -0
  891. data/dojo/dojox/editor/plugins/resources/icons/blockquote.gif +0 -0
  892. data/dojo/dojox/editor/plugins/resources/icons/blockquoteDisabled.gif +0 -0
  893. data/dojo/dojox/editor/plugins/resources/icons/{replaceIconDisabled.gif → claro/close.gif} +0 -0
  894. data/dojo/dojox/editor/plugins/resources/icons/editorIconsFindReplaceDisabled.png +0 -0
  895. data/dojo/dojox/editor/plugins/resources/icons/editorIconsFindReplaceEnabled.png +0 -0
  896. data/dojo/dojox/editor/plugins/resources/icons/nihilo/close.gif +0 -0
  897. data/dojo/dojox/editor/plugins/resources/icons/pasteFromWord.gif +0 -0
  898. data/dojo/dojox/editor/plugins/resources/icons/pasteFromWordDisabled.gif +0 -0
  899. data/dojo/dojox/editor/plugins/resources/icons/smileyDisabled.gif +0 -0
  900. data/dojo/dojox/editor/plugins/resources/icons/soria/close.gif +0 -0
  901. data/dojo/dojox/editor/plugins/resources/icons/tundra/close.gif +0 -0
  902. data/dojo/dojox/editor/plugins/resources/images/anchor.gif +0 -0
  903. data/dojo/dojox/editor/plugins/resources/images/claro/collapse.gif +0 -0
  904. data/dojo/dojox/editor/plugins/resources/images/claro/expand.gif +0 -0
  905. data/dojo/dojox/editor/plugins/resources/images/nihilo/collapse.gif +0 -0
  906. data/dojo/dojox/editor/plugins/resources/images/nihilo/expand.gif +0 -0
  907. data/dojo/dojox/editor/plugins/resources/images/nihilo/sidebar.gif +0 -0
  908. data/dojo/dojox/editor/plugins/resources/images/soria/collapse.gif +0 -0
  909. data/dojo/dojox/editor/plugins/resources/images/soria/expand.gif +0 -0
  910. data/dojo/dojox/editor/plugins/resources/images/soria/sidebar.gif +0 -0
  911. data/dojo/dojox/editor/plugins/resources/images/tundra/collapse.gif +0 -0
  912. data/dojo/dojox/editor/plugins/resources/images/tundra/expand.gif +0 -0
  913. data/dojo/dojox/editor/plugins/resources/images/tundra/sidebar.gif +0 -0
  914. data/dojo/dojox/editor/tests/editorBlockquote.html +118 -0
  915. data/dojo/dojox/editor/tests/editorCollapsibleToolbar.html +131 -0
  916. data/dojo/dojox/editor/tests/editorFindReplace.html +7 -3
  917. data/dojo/dojox/editor/tests/editorInsertAnchor.html +119 -0
  918. data/dojo/dojox/editor/tests/editorNormalizeStyle.html +163 -0
  919. data/dojo/dojox/editor/tests/editorPasteFromWord.html +98 -0
  920. data/dojo/dojox/editor/tests/editorSmileyPlugin.html +66 -8
  921. data/dojo/dojox/editor/tests/editorStatusBar.html +232 -0
  922. data/dojo/dojox/editor/tests/editorTablePlugs.html +80 -74
  923. data/dojo/dojox/editor/tests/editorTextColor.html +97 -0
  924. data/dojo/dojox/editor/tests/module.js +15 -0
  925. data/dojo/dojox/editor/tests/robot/Editor_Smiley.html +60 -0
  926. data/dojo/dojox/editor/tests/runTests.html +9 -0
  927. data/dojo/dojox/editor/tests/testPluginsAll.html +206 -0
  928. data/dojo/dojox/embed/Flash.js +94 -77
  929. data/dojo/dojox/flash/_base.js +3 -3
  930. data/dojo/dojox/form/BusyButton.js +2 -2
  931. data/dojo/dojox/form/CheckedMultiSelect.js +3 -16
  932. data/dojo/dojox/form/FileInput.js +4 -0
  933. data/dojo/dojox/form/FileInputAuto.js +12 -4
  934. data/dojo/dojox/form/FilePickerTextBox.js +5 -8
  935. data/dojo/dojox/form/FileUploader.js +1378 -1331
  936. data/dojo/dojox/form/ListInput.js +5 -5
  937. data/dojo/dojox/form/PasswordValidator.js +3 -3
  938. data/dojo/dojox/form/RangeSlider.js +3 -2
  939. data/dojo/dojox/form/Rating.js +0 -1
  940. data/dojo/dojox/form/TimeSpinner.js +1 -2
  941. data/dojo/dojox/form/manager/_Mixin.js +21 -11
  942. data/dojo/dojox/form/nls/ro/PasswordValidator.js +5 -0
  943. data/dojo/dojox/form/resources/CheckedMultiSelect.css +30 -0
  944. data/dojo/dojox/form/resources/CheckedMultiSelect.html +1 -1
  945. data/dojo/dojox/form/resources/FileInput.css +30 -0
  946. data/dojo/dojox/form/resources/FilePickerTextBox.html +2 -2
  947. data/dojo/dojox/form/resources/FileUploader.css +0 -24
  948. data/dojo/dojox/form/resources/HorizontalRangeSlider.html +38 -38
  949. data/dojo/dojox/form/resources/RangeSlider.css +9 -1
  950. data/dojo/dojox/form/resources/VerticalRangeSlider.html +49 -50
  951. data/dojo/dojox/form/resources/_CheckedMultiSelectItem.html +1 -1
  952. data/dojo/dojox/form/resources/uploader.swf +0 -0
  953. data/dojo/dojox/form/tests/UploadFile.php.disabled +25 -19
  954. data/dojo/dojox/form/tests/test_FileUploader.html +38 -38
  955. data/dojo/dojox/form/tests/test_FileUploaderDialog.html +0 -1
  956. data/dojo/dojox/form/tests/test_FileUploaderForm.html +5 -3
  957. data/dojo/dojox/form/tests/test_FileUploaderTabs.html +147 -0
  958. data/dojo/dojox/form/tests/test_MultiComboBox.html +1 -1
  959. data/dojo/dojox/form/tests/test_RangeSlider.html +1 -2
  960. data/dojo/dojox/form/tests/test_TimeSpinner.html +3 -30
  961. data/dojo/dojox/fx/Timeline.js +210 -0
  962. data/dojo/dojox/fx/ext-dojo/complex.js +169 -0
  963. data/dojo/dojox/fx/ext-dojo/reverse.js +98 -0
  964. data/dojo/dojox/fx/scroll.js +13 -6
  965. data/dojo/dojox/fx/tests/test_Timeline.html +173 -0
  966. data/dojo/dojox/fx/tests/test_complex.html +87 -0
  967. data/dojo/dojox/fx/tests/test_reverse.html +100 -0
  968. data/dojo/dojox/fx/tests/test_transform.html +210 -0
  969. data/dojo/dojox/fx/text.js +3 -3
  970. data/dojo/dojox/geo/README +37 -0
  971. data/dojo/dojox/geo/charting/Map.js +140 -0
  972. data/dojo/dojox/geo/charting/_Feature.js +169 -0
  973. data/dojo/dojox/geo/charting/_Marker.js +52 -0
  974. data/dojo/dojox/geo/charting/_base.js +53 -0
  975. data/dojo/dojox/geo/charting/resources/Map.css +30 -0
  976. data/dojo/dojox/geo/charting/resources/data/NOTICES +63 -0
  977. data/dojo/dojox/geo/charting/resources/data/USStates.json +261 -0
  978. data/dojo/dojox/geo/charting/resources/img/zoomin.gif +0 -0
  979. data/dojo/dojox/geo/charting/resources/img/zoomin.png +0 -0
  980. data/dojo/dojox/geo/charting/resources/img/zoomout.gif +0 -0
  981. data/dojo/dojox/geo/charting/resources/img/zoomout.png +0 -0
  982. data/dojo/dojox/geo/charting/resources/markers/USStates.json +1 -0
  983. data/dojo/dojox/geo/charting/tests/datastore/dataStore.json +1 -0
  984. data/dojo/dojox/geo/charting/tests/test_mapWithCharting.html +72 -0
  985. data/dojo/dojox/geo/charting/tests/test_mapWithLegend.html +63 -0
  986. data/dojo/dojox/geo/charting/tests/test_maps.html +37 -0
  987. data/dojo/dojox/geo/charting/widget/Legend.js +62 -0
  988. data/dojo/dojox/gfx/README +9 -2
  989. data/dojo/dojox/gfx/README-svgweb +98 -0
  990. data/dojo/dojox/gfx/VectorText.js +3 -3
  991. data/dojo/dojox/gfx/_base.js +2 -2
  992. data/dojo/dojox/gfx/arc.js +1 -1
  993. data/dojo/dojox/gfx/gradient.js +160 -0
  994. data/dojo/dojox/gfx/gradutils.js +91 -0
  995. data/dojo/dojox/gfx/path.js +89 -24
  996. data/dojo/dojox/gfx/resources/svg2gfx.xsl +53 -14
  997. data/dojo/dojox/gfx/shape.js +14 -7
  998. data/dojo/dojox/gfx/svg.js +135 -16
  999. data/dojo/dojox/gfx/tests/svgweb/README +15 -0
  1000. data/dojo/dojox/gfx/tests/svgweb/sample.html +171 -0
  1001. data/dojo/dojox/gfx/tests/svgweb/svgweb/COPYING.txt +65 -0
  1002. data/dojo/dojox/gfx/tests/svgweb/svgweb/src/svg.htc +1 -0
  1003. data/dojo/dojox/gfx/tests/svgweb/svgweb/src/svg.js +1 -0
  1004. data/dojo/dojox/gfx/tests/svgweb/svgweb/src/svg.swf +0 -0
  1005. data/dojo/dojox/gfx/tests/svgweb/test.roundrect.html +39 -0
  1006. data/dojo/dojox/gfx/tests/svgweb/test_arc.html +66 -0
  1007. data/dojo/dojox/gfx/tests/svgweb/test_bezier.html +81 -0
  1008. data/dojo/dojox/gfx/tests/svgweb/test_destroy.html +58 -0
  1009. data/dojo/dojox/gfx/tests/svgweb/test_fill.html +45 -0
  1010. data/dojo/dojox/gfx/tests/svgweb/test_fx.html +104 -0
  1011. data/dojo/dojox/gfx/tests/svgweb/test_fx_shapes.html +123 -0
  1012. data/dojo/dojox/gfx/tests/svgweb/test_gfx.html +565 -0
  1013. data/dojo/dojox/gfx/tests/svgweb/test_gradient.html +77 -0
  1014. data/dojo/dojox/gfx/tests/svgweb/test_group1.html +70 -0
  1015. data/dojo/dojox/gfx/tests/svgweb/test_group2.html +54 -0
  1016. data/dojo/dojox/gfx/tests/svgweb/test_image1.html +80 -0
  1017. data/dojo/dojox/gfx/tests/svgweb/test_image2.html +52 -0
  1018. data/dojo/dojox/gfx/tests/svgweb/test_image3.html +77 -0
  1019. data/dojo/dojox/gfx/tests/svgweb/test_image4.html +58 -0
  1020. data/dojo/dojox/gfx/tests/svgweb/test_image5.html +67 -0
  1021. data/dojo/dojox/gfx/tests/svgweb/test_linearGradient.html +75 -0
  1022. data/dojo/dojox/gfx/tests/svgweb/test_linestyle.html +43 -0
  1023. data/dojo/dojox/gfx/tests/svgweb/test_pattern.html +43 -0
  1024. data/dojo/dojox/gfx/tests/svgweb/test_poly.html +49 -0
  1025. data/dojo/dojox/gfx/tests/svgweb/test_resize.html +57 -0
  1026. data/dojo/dojox/gfx/tests/svgweb/test_setPath.html +86 -0
  1027. data/dojo/dojox/gfx/tests/svgweb/test_tbbox.html +113 -0
  1028. data/dojo/dojox/gfx/tests/svgweb/test_text.html +80 -0
  1029. data/dojo/dojox/gfx/tests/svgweb/test_textpath.html +77 -0
  1030. data/dojo/dojox/gfx/tests/svgweb/test_transform.html +99 -0
  1031. data/dojo/dojox/gfx/tests/svgweb/test_utils.html +234 -0
  1032. data/dojo/dojox/gfx/tests/svgweb/test_vectortext_draw.html +64 -0
  1033. data/dojo/dojox/gfx/tests/svgweb/test_vectortext_load.html +97 -0
  1034. data/dojo/dojox/gfx/tests/test_image1.html +1 -4
  1035. data/dojo/dojox/gfx/tests/test_image2.html +5 -5
  1036. data/dojo/dojox/gfx/tests/test_image3.html +2 -2
  1037. data/dojo/dojox/gfx/tests/test_image4.html +2 -2
  1038. data/dojo/dojox/gfx/tests/test_linearGradient.html +2 -1
  1039. data/dojo/dojox/gfx/tests/test_pattern.html +4 -3
  1040. data/dojo/dojox/gfx/tests/test_refproj.html +109 -0
  1041. data/dojo/dojox/gfx/vml.js +52 -57
  1042. data/dojo/dojox/grid/DataGrid.js +17 -6
  1043. data/dojo/dojox/grid/EnhancedGrid.js +24 -6
  1044. data/dojo/dojox/grid/README +57 -0
  1045. data/dojo/dojox/grid/_Builder.js +18 -8
  1046. data/dojo/dojox/grid/_Grid.js +10 -20
  1047. data/dojo/dojox/grid/_View.js +5 -2
  1048. data/dojo/dojox/grid/cells/dijit.js +11 -4
  1049. data/dojo/dojox/grid/enhanced/_Events.js +16 -6
  1050. data/dojo/dojox/grid/enhanced/_Plugin.js +15 -20
  1051. data/dojo/dojox/grid/enhanced/dnd/_DndEvents.js +6 -0
  1052. data/dojo/dojox/grid/enhanced/dnd/_DndMovingManager.js +3 -1
  1053. data/dojo/dojox/grid/enhanced/nls/ar/EnhancedGrid.js +8 -0
  1054. data/dojo/dojox/grid/enhanced/nls/ca/EnhancedGrid.js +8 -0
  1055. data/dojo/dojox/grid/enhanced/nls/da/EnhancedGrid.js +8 -0
  1056. data/dojo/dojox/grid/enhanced/nls/el/EnhancedGrid.js +8 -0
  1057. data/dojo/dojox/grid/enhanced/nls/fi/EnhancedGrid.js +8 -0
  1058. data/dojo/dojox/grid/enhanced/nls/he/EnhancedGrid.js +8 -0
  1059. data/dojo/dojox/grid/enhanced/nls/nb/EnhancedGrid.js +8 -0
  1060. data/dojo/dojox/grid/enhanced/nls/nl/EnhancedGrid.js +8 -0
  1061. data/dojo/dojox/grid/enhanced/nls/pt-pt/EnhancedGrid.js +8 -0
  1062. data/dojo/dojox/grid/enhanced/nls/ro/EnhancedGrid.js +9 -0
  1063. data/dojo/dojox/grid/enhanced/nls/sk/EnhancedGrid.js +8 -0
  1064. data/dojo/dojox/grid/enhanced/nls/sl/EnhancedGrid.js +8 -0
  1065. data/dojo/dojox/grid/enhanced/nls/sv/EnhancedGrid.js +8 -0
  1066. data/dojo/dojox/grid/enhanced/nls/th/EnhancedGrid.js +8 -0
  1067. data/dojo/dojox/grid/enhanced/nls/tr/EnhancedGrid.js +8 -0
  1068. data/dojo/dojox/grid/enhanced/plugins/IndirectSelection.js +5 -5
  1069. data/dojo/dojox/grid/enhanced/plugins/Menu.js +22 -6
  1070. data/dojo/dojox/grid/enhanced/plugins/NestedSorting.js +26 -42
  1071. data/dojo/dojox/grid/enhanced/resources/EnhancedGrid.css +31 -32
  1072. data/dojo/dojox/grid/enhanced/resources/EnhancedGrid_rtl.css +16 -7
  1073. data/dojo/dojox/grid/enhanced/resources/claroEnhancedGrid.css +104 -0
  1074. data/dojo/dojox/grid/enhanced/resources/tundraEnhancedGrid.css +8 -17
  1075. data/dojo/dojox/grid/resources/Grid.css +6 -0
  1076. data/dojo/dojox/grid/resources/Grid_rtl.css +10 -2
  1077. data/dojo/dojox/grid/resources/_Grid.html +1 -1
  1078. data/dojo/dojox/grid/resources/claroGrid.css +216 -0
  1079. data/dojo/dojox/grid/resources/images/header.png +0 -0
  1080. data/dojo/dojox/grid/resources/images/header_shadow.png +0 -0
  1081. data/dojo/dojox/grid/resources/images/row_back.png +0 -0
  1082. data/dojo/dojox/grid/resources/images/td_button_down.png +0 -0
  1083. data/dojo/dojox/grid/tests/enhanced/test_enhanced_grid_claro.html +70 -0
  1084. data/dojo/dojox/grid/tests/robot/7815.html +0 -1
  1085. data/dojo/dojox/grid/tests/robot/DataGrid_a11y.html +6 -1
  1086. data/dojo/dojox/grid/tests/robot/DataGrid_mouse.html +50 -18
  1087. data/dojo/dojox/grid/tests/robot/_DataGrid.html +0 -1
  1088. data/dojo/dojox/grid/tests/robot/stores.js +3 -1
  1089. data/dojo/dojox/grid/tests/test_grid_themes.html +27 -2
  1090. data/dojo/dojox/grid/tests/test_treegrid_model.html +6 -6
  1091. data/dojo/dojox/highlight/languages/_dynamic.js +2 -0
  1092. data/dojo/dojox/highlight/languages/_static.js +1 -1
  1093. data/dojo/dojox/highlight/languages/groovy.js +67 -0
  1094. data/dojo/dojox/highlight/languages/java.js +58 -0
  1095. data/dojo/dojox/highlight/languages/xquery.js +56 -0
  1096. data/dojo/dojox/highlight/tests/test_highlight.html +147 -0
  1097. data/dojo/dojox/html/entities.js +7 -7
  1098. data/dojo/dojox/html/ext-dojo/style.js +460 -0
  1099. data/dojo/dojox/html/format.js +5 -0
  1100. data/dojo/dojox/html/metrics.js +31 -12
  1101. data/dojo/dojox/html/tests/test_style-html.html +310 -0
  1102. data/dojo/dojox/html/tests/test_themes.html +2 -2
  1103. data/dojo/dojox/image/Lightbox.js +70 -28
  1104. data/dojo/dojox/image/resources/Lightbox.css +11 -4
  1105. data/dojo/dojox/image/resources/Lightbox.html +3 -3
  1106. data/dojo/dojox/image/tests/Lightbox.html +2 -2
  1107. data/dojo/dojox/image/tests/test_Lightbox.html +36 -2
  1108. data/dojo/dojox/io/proxy/xip_client.html +1 -1
  1109. data/dojo/dojox/io/proxy/xip_server.html +1 -1
  1110. data/dojo/dojox/jq.js +1 -1
  1111. data/dojo/dojox/json/query.js +7 -7
  1112. data/dojo/dojox/json/ref.js +4 -2
  1113. data/dojo/dojox/lang/README +13 -2
  1114. data/dojo/dojox/lang/async.js +199 -0
  1115. data/dojo/dojox/lang/async/event.js +41 -0
  1116. data/dojo/dojox/lang/async/timeout.js +41 -0
  1117. data/dojo/dojox/lang/async/topic.js +41 -0
  1118. data/dojo/dojox/lang/oo/rearrange.js +1 -1
  1119. data/dojo/dojox/lang/tests/async.js +216 -0
  1120. data/dojo/dojox/lang/tests/docs.js +2 -2
  1121. data/dojo/dojox/lang/tests/main.js +1 -1
  1122. data/dojo/dojox/lang/tests/test_oo_decl.html +52 -3
  1123. data/dojo/dojox/lang/utils.js +52 -9
  1124. data/dojo/dojox/layout/ExpandoPane.js +71 -21
  1125. data/dojo/dojox/layout/FloatingPane.js +7 -4
  1126. data/dojo/dojox/layout/GridContainer.js +453 -920
  1127. data/dojo/dojox/layout/GridContainerLite.js +811 -0
  1128. data/dojo/dojox/layout/README +1 -1
  1129. data/dojo/dojox/layout/ResizeHandle.js +6 -3
  1130. data/dojo/dojox/layout/RotatorContainer.js +1 -1
  1131. data/dojo/dojox/layout/TableContainer.js +7 -0
  1132. data/dojo/dojox/layout/ToggleSplitter.js +2 -2
  1133. data/dojo/dojox/layout/resources/ExpandoPane.css +52 -0
  1134. data/dojo/dojox/layout/resources/ExpandoPane.html +2 -2
  1135. data/dojo/dojox/layout/resources/GridContainer.css +49 -69
  1136. data/dojo/dojox/layout/resources/GridContainer.html +9 -5
  1137. data/dojo/dojox/layout/resources/ResizeHandle.css +18 -0
  1138. data/dojo/dojox/layout/resources/icons/gridcontainer_grip.gif +0 -0
  1139. data/dojo/dojox/layout/resources/icons/resizeRtl.png +0 -0
  1140. data/dojo/dojox/layout/tests/resources/script_dnd.js +158 -0
  1141. data/dojo/dojox/layout/tests/resources/set_complete_dnd.css +61 -0
  1142. data/dojo/dojox/layout/tests/test_ExpandoPane.html +7 -1
  1143. data/dojo/dojox/layout/tests/test_ExpandoPane_prog.html +1 -1
  1144. data/dojo/dojox/layout/tests/test_GridContainer.html +24 -76
  1145. data/dojo/dojox/layout/tests/test_GridContainerColWidths.html +31 -19
  1146. data/dojo/dojox/layout/tests/test_GridContainerLite.html +122 -0
  1147. data/dojo/dojox/layout/tests/test_GridContainerLite_doLayout.html +112 -0
  1148. data/dojo/dojox/layout/tests/test_GridContainerLite_dragRestriction.html +148 -0
  1149. data/dojo/dojox/layout/tests/test_GridContainer_ResizableCol.html +93 -0
  1150. data/dojo/dojox/layout/tests/test_GridContainer_TitlePanes.html +85 -0
  1151. data/dojo/dojox/layout/tests/test_GridContainer_complete_solution.html +103 -0
  1152. data/dojo/dojox/layout/tests/test_GridContainer_dragHandle.html +107 -0
  1153. data/dojo/dojox/layout/tests/{test_GridContainerBC.html → test_GridContainer_in_BorderContainer.html} +27 -61
  1154. data/dojo/dojox/layout/tests/{test_GridContainerBC_prog.html → test_GridContainer_in_BorderContainer_prog.html} +142 -50
  1155. data/dojo/dojox/layout/tests/test_TableContainer.html +2 -2
  1156. data/dojo/dojox/math/BigInteger-ext.js +1 -3
  1157. data/dojo/dojox/math/BigInteger.js +3 -3
  1158. data/dojo/dojox/math/README +0 -3
  1159. data/dojo/dojox/math/_base.js +48 -11
  1160. data/dojo/dojox/math/tests/math.js +19 -1
  1161. data/dojo/dojox/mdnd/AreaManager.js +707 -0
  1162. data/dojo/dojox/mdnd/AutoScroll.js +195 -0
  1163. data/dojo/dojox/mdnd/DropIndicator.js +86 -0
  1164. data/dojo/dojox/mdnd/LazyManager.js +68 -0
  1165. data/dojo/dojox/mdnd/Moveable.js +251 -0
  1166. data/dojo/dojox/mdnd/PureSource.js +208 -0
  1167. data/dojo/dojox/mdnd/README +94 -0
  1168. data/dojo/dojox/mdnd/adapter/DndFromDojo.js +366 -0
  1169. data/dojo/dojox/mdnd/adapter/DndToDojo.js +484 -0
  1170. data/dojo/dojox/mdnd/dropMode/DefaultDropMode.js +333 -0
  1171. data/dojo/dojox/mdnd/dropMode/OverDropMode.js +308 -0
  1172. data/dojo/dojox/mdnd/dropMode/VerticalDropMode.js +343 -0
  1173. data/dojo/dojox/mdnd/resources/dnd.css +93 -0
  1174. data/dojo/dojox/mdnd/tests/functionalTests/test_dnd_acceptance.html +71 -0
  1175. data/dojo/dojox/mdnd/tests/functionalTests/test_dnd_autoScroll.html +52 -0
  1176. data/dojo/dojox/mdnd/tests/functionalTests/test_dnd_defaultDropMode.html +55 -0
  1177. data/dojo/dojox/mdnd/tests/functionalTests/test_dnd_dndFromDojo.html +73 -0
  1178. data/dojo/dojox/mdnd/tests/functionalTests/test_dnd_dndToDojo.html +93 -0
  1179. data/dojo/dojox/mdnd/tests/functionalTests/test_dnd_dndToDojo_dndFromDojo.html +70 -0
  1180. data/dojo/dojox/mdnd/tests/functionalTests/test_dnd_overDropMode.html +57 -0
  1181. data/dojo/dojox/mdnd/tests/functionalTests/test_dnd_stress.html +83 -0
  1182. data/dojo/dojox/mdnd/tests/functionalTests/test_dnd_verticalDropMode.html +55 -0
  1183. data/dojo/dojox/mdnd/tests/module.js +16 -0
  1184. data/dojo/dojox/mdnd/tests/resources/test_dnd.css +68 -0
  1185. data/dojo/dojox/mdnd/tests/robot/module.js +16 -0
  1186. data/dojo/dojox/mdnd/tests/robot/test_dnd_acceptance.html +284 -0
  1187. data/dojo/dojox/mdnd/tests/robot/test_dnd_defaultDropMode.html +101 -0
  1188. data/dojo/dojox/mdnd/tests/robot/test_dnd_dndFromDojo.html +322 -0
  1189. data/dojo/dojox/mdnd/tests/robot/test_dnd_dndToDojo.html +198 -0
  1190. data/dojo/dojox/mdnd/tests/robot/test_dnd_overDropMode.html +272 -0
  1191. data/dojo/dojox/mdnd/tests/robot/test_dnd_verticalDropMode.html +101 -0
  1192. data/dojo/dojox/mdnd/tests/runTests.html +9 -0
  1193. data/dojo/dojox/mdnd/tests/unitTests/areaManager/AreaManagerCoverPresence.html +110 -0
  1194. data/dojo/dojox/mdnd/tests/unitTests/areaManager/AreaManagerManagingDragItems.html +149 -0
  1195. data/dojo/dojox/mdnd/tests/unitTests/areaManager/AreaManagerRegistering.html +124 -0
  1196. data/dojo/dojox/mdnd/tests/unitTests/areaManager/module.js +12 -0
  1197. data/dojo/dojox/mdnd/tests/unitTests/dropIndicator/DropIndicatorTest.html +187 -0
  1198. data/dojo/dojox/mdnd/tests/unitTests/dropIndicator/module.js +8 -0
  1199. data/dojo/dojox/mdnd/tests/unitTests/dropMode/DefaultDropModeTest.html +241 -0
  1200. data/dojo/dojox/mdnd/tests/unitTests/dropMode/FixtureLib.js +87 -0
  1201. data/dojo/dojox/mdnd/tests/unitTests/dropMode/OverDropModeTest.html +195 -0
  1202. data/dojo/dojox/mdnd/tests/unitTests/dropMode/VerticalDropModeTest.html +241 -0
  1203. data/dojo/dojox/mdnd/tests/unitTests/dropMode/module.js +10 -0
  1204. data/dojo/dojox/mdnd/tests/unitTests/dropMode/resources/domElement.html +130 -0
  1205. data/dojo/dojox/mdnd/tests/unitTests/module.js +9 -0
  1206. data/dojo/dojox/mobile.js +4 -0
  1207. data/dojo/dojox/mobile/README +55 -0
  1208. data/dojo/dojox/mobile/_base.js +1451 -0
  1209. data/dojo/dojox/mobile/app.js +3 -0
  1210. data/dojo/dojox/mobile/app/AlertDialog.js +182 -0
  1211. data/dojo/dojox/mobile/app/ImageThumbView.js +254 -0
  1212. data/dojo/dojox/mobile/app/ImageView.js +716 -0
  1213. data/dojo/dojox/mobile/app/List.js +577 -0
  1214. data/dojo/dojox/mobile/app/ListSelector.js +218 -0
  1215. data/dojo/dojox/mobile/app/SceneAssistant.js +56 -0
  1216. data/dojo/dojox/mobile/app/SceneController.js +157 -0
  1217. data/dojo/dojox/mobile/app/StageController.js +137 -0
  1218. data/dojo/dojox/mobile/app/TextBox.js +321 -0
  1219. data/dojo/dojox/mobile/app/_FormWidget.js +294 -0
  1220. data/dojo/dojox/mobile/app/_Widget.js +30 -0
  1221. data/dojo/dojox/mobile/app/_base.js +226 -0
  1222. data/dojo/dojox/mobile/app/_event.js +119 -0
  1223. data/dojo/dojox/mobile/app/compat.js +109 -0
  1224. data/dojo/dojox/mobile/build/build.bat +47 -0
  1225. data/dojo/dojox/mobile/build/build.sh +50 -0
  1226. data/dojo/dojox/mobile/build/profiles/mobile-all.profile.js +36 -0
  1227. data/dojo/dojox/mobile/build/profiles/mobile.profile.js +40 -0
  1228. data/dojo/dojox/mobile/compat.js +399 -0
  1229. data/dojo/dojox/mobile/parser.js +80 -0
  1230. data/dojo/dojox/mobile/tests/complexListApp/app/assistants/main-assistant.js +123 -0
  1231. data/dojo/dojox/mobile/tests/complexListApp/app/views/main/emptyTemplate.html +3 -0
  1232. data/dojo/dojox/mobile/tests/complexListApp/app/views/main/main-scene.html +23 -0
  1233. data/dojo/dojox/mobile/tests/complexListApp/app/views/main/rowTemplate.html +15 -0
  1234. data/dojo/dojox/mobile/tests/complexListApp/images/i-icon-1.png +0 -0
  1235. data/dojo/dojox/mobile/tests/complexListApp/images/i-icon-2.png +0 -0
  1236. data/dojo/dojox/mobile/tests/complexListApp/images/i-icon-3.png +0 -0
  1237. data/dojo/dojox/mobile/tests/complexListApp/images/i-icon-4.png +0 -0
  1238. data/dojo/dojox/mobile/tests/complexListApp/index.html +37 -0
  1239. data/dojo/dojox/mobile/tests/complexListApp/styles/style.css +38 -0
  1240. data/dojo/dojox/mobile/tests/dialogApp/app/assistants/main-assistant.js +75 -0
  1241. data/dojo/dojox/mobile/tests/dialogApp/app/views/main/main-scene.html +10 -0
  1242. data/dojo/dojox/mobile/tests/dialogApp/index.html +37 -0
  1243. data/dojo/dojox/mobile/tests/imageControlsApp/app/assistants/flickr-image-thumb-view-assistant.js +198 -0
  1244. data/dojo/dojox/mobile/tests/imageControlsApp/app/assistants/flickr-image-view-assistant.js +170 -0
  1245. data/dojo/dojox/mobile/tests/imageControlsApp/app/assistants/flickr-search-group-assistant.js +123 -0
  1246. data/dojo/dojox/mobile/tests/imageControlsApp/app/assistants/flickr-search-selection-assistant.js +54 -0
  1247. data/dojo/dojox/mobile/tests/imageControlsApp/app/assistants/flickr-search-text-assistant.js +119 -0
  1248. data/dojo/dojox/mobile/tests/imageControlsApp/app/assistants/image-view-assistant.js +92 -0
  1249. data/dojo/dojox/mobile/tests/imageControlsApp/app/assistants/main-assistant.js +40 -0
  1250. data/dojo/dojox/mobile/tests/imageControlsApp/app/views/flickr-image-thumb-view/flickr-image-thumb-view-scene.html +17 -0
  1251. data/dojo/dojox/mobile/tests/imageControlsApp/app/views/flickr-image-view/flickr-image-view-scene.html +10 -0
  1252. data/dojo/dojox/mobile/tests/imageControlsApp/app/views/flickr-search-group/emptyTemplate.html +3 -0
  1253. data/dojo/dojox/mobile/tests/imageControlsApp/app/views/flickr-search-group/flickr-search-group-scene.html +19 -0
  1254. data/dojo/dojox/mobile/tests/imageControlsApp/app/views/flickr-search-group/rowTemplate.html +8 -0
  1255. data/dojo/dojox/mobile/tests/imageControlsApp/app/views/flickr-search-selection/flickr-search-selection-scene.html +7 -0
  1256. data/dojo/dojox/mobile/tests/imageControlsApp/app/views/flickr-search-selection/rowTemplate.html +8 -0
  1257. data/dojo/dojox/mobile/tests/imageControlsApp/app/views/flickr-search-text/emptyTemplate.html +3 -0
  1258. data/dojo/dojox/mobile/tests/imageControlsApp/app/views/flickr-search-text/flickr-search-group-scene.html +19 -0
  1259. data/dojo/dojox/mobile/tests/imageControlsApp/app/views/flickr-search-text/rowTemplate.html +15 -0
  1260. data/dojo/dojox/mobile/tests/imageControlsApp/app/views/image-view/image-view-scene.html +23 -0
  1261. data/dojo/dojox/mobile/tests/imageControlsApp/app/views/main/main-scene.html +6 -0
  1262. data/dojo/dojox/mobile/tests/imageControlsApp/app/views/main/rowTemplate.html +8 -0
  1263. data/dojo/dojox/mobile/tests/imageControlsApp/images/chris1_lg.jpg +0 -0
  1264. data/dojo/dojox/mobile/tests/imageControlsApp/images/chris2_lg.jpg +0 -0
  1265. data/dojo/dojox/mobile/tests/imageControlsApp/images/imageHoriz.jpg +0 -0
  1266. data/dojo/dojox/mobile/tests/imageControlsApp/images/imageVert.jpg +0 -0
  1267. data/dojo/dojox/mobile/tests/imageControlsApp/images/square.jpg +0 -0
  1268. data/dojo/dojox/mobile/tests/imageControlsApp/index.html +39 -0
  1269. data/dojo/dojox/mobile/tests/imageControlsApp/styles/styles.css +13 -0
  1270. data/dojo/dojox/mobile/tests/imageControlsApp/view-resources.json +14 -0
  1271. data/dojo/dojox/mobile/tests/images/a-icon-1-41x41.png +0 -0
  1272. data/dojo/dojox/mobile/tests/images/a-icon-1.png +0 -0
  1273. data/dojo/dojox/mobile/tests/images/a-icon-10.png +0 -0
  1274. data/dojo/dojox/mobile/tests/images/a-icon-11.png +0 -0
  1275. data/dojo/dojox/mobile/tests/images/a-icon-12.png +0 -0
  1276. data/dojo/dojox/mobile/tests/images/a-icon-13.png +0 -0
  1277. data/dojo/dojox/mobile/tests/images/a-icon-14.png +0 -0
  1278. data/dojo/dojox/mobile/tests/images/a-icon-15.png +0 -0
  1279. data/dojo/dojox/mobile/tests/images/a-icon-16.png +0 -0
  1280. data/dojo/dojox/mobile/tests/images/a-icon-17.png +0 -0
  1281. data/dojo/dojox/mobile/tests/images/a-icon-18.png +0 -0
  1282. data/dojo/dojox/mobile/tests/images/a-icon-2-41x41.png +0 -0
  1283. data/dojo/dojox/mobile/tests/images/a-icon-2.png +0 -0
  1284. data/dojo/dojox/mobile/tests/images/a-icon-3.png +0 -0
  1285. data/dojo/dojox/mobile/tests/images/a-icon-4.png +0 -0
  1286. data/dojo/dojox/mobile/tests/images/i-icon-1.png +0 -0
  1287. data/dojo/dojox/mobile/tests/images/i-icon-10.png +0 -0
  1288. data/dojo/dojox/mobile/tests/images/i-icon-2.png +0 -0
  1289. data/dojo/dojox/mobile/tests/images/i-icon-3.png +0 -0
  1290. data/dojo/dojox/mobile/tests/images/i-icon-4.png +0 -0
  1291. data/dojo/dojox/mobile/tests/images/i-icon-5.png +0 -0
  1292. data/dojo/dojox/mobile/tests/images/i-icon-6.png +0 -0
  1293. data/dojo/dojox/mobile/tests/images/i-icon-7.png +0 -0
  1294. data/dojo/dojox/mobile/tests/images/i-icon-8.png +0 -0
  1295. data/dojo/dojox/mobile/tests/images/i-icon-9.png +0 -0
  1296. data/dojo/dojox/mobile/tests/images/i-icon-all.png +0 -0
  1297. data/dojo/dojox/mobile/tests/images/icon-1.png +0 -0
  1298. data/dojo/dojox/mobile/tests/images/not-images.png +0 -0
  1299. data/dojo/dojox/mobile/tests/images/red-button-bg.png +0 -0
  1300. data/dojo/dojox/mobile/tests/images/red-button-sel-bg.png +0 -0
  1301. data/dojo/dojox/mobile/tests/images/widget-bg.png +0 -0
  1302. data/dojo/dojox/mobile/tests/index.html +55 -0
  1303. data/dojo/dojox/mobile/tests/inputApp/app/assistants/text-input-assistant.js +21 -0
  1304. data/dojo/dojox/mobile/tests/inputApp/app/views/text-input/text-input-scene.html +50 -0
  1305. data/dojo/dojox/mobile/tests/inputApp/index.html +37 -0
  1306. data/dojo/dojox/mobile/tests/multiSceneApp/app/assistants/main-assistant.js +41 -0
  1307. data/dojo/dojox/mobile/tests/multiSceneApp/app/assistants/second-assistant.js +32 -0
  1308. data/dojo/dojox/mobile/tests/multiSceneApp/app/assistants/third-assistant.js +33 -0
  1309. data/dojo/dojox/mobile/tests/multiSceneApp/app/views/main/main-scene.html +16 -0
  1310. data/dojo/dojox/mobile/tests/multiSceneApp/app/views/second/second-scene.html +12 -0
  1311. data/dojo/dojox/mobile/tests/multiSceneApp/app/views/third/third-scene.html +13 -0
  1312. data/dojo/dojox/mobile/tests/multiSceneApp/index.html +37 -0
  1313. data/dojo/dojox/mobile/tests/simpleApp/app/assistants/main-assistant.js +23 -0
  1314. data/dojo/dojox/mobile/tests/simpleApp/app/views/main/main-scene.html +3 -0
  1315. data/dojo/dojox/mobile/tests/simpleApp/index.html +36 -0
  1316. data/dojo/dojox/mobile/tests/simpleListApp/app/assistants/main-assistant.js +66 -0
  1317. data/dojo/dojox/mobile/tests/simpleListApp/app/views/main/main-scene.html +14 -0
  1318. data/dojo/dojox/mobile/tests/simpleListApp/app/views/main/rowTemplate.html +3 -0
  1319. data/dojo/dojox/mobile/tests/simpleListApp/index.html +36 -0
  1320. data/dojo/dojox/mobile/tests/test_Android-ButtonList.html +68 -0
  1321. data/dojo/dojox/mobile/tests/test_Android-EdgeToEdge.html +50 -0
  1322. data/dojo/dojox/mobile/tests/test_Android-EdgeToEdgeCategory.html +46 -0
  1323. data/dojo/dojox/mobile/tests/test_Android-Icon.html +58 -0
  1324. data/dojo/dojox/mobile/tests/test_Android-RoundRectList.html +60 -0
  1325. data/dojo/dojox/mobile/tests/test_Android-Settings.html +104 -0
  1326. data/dojo/dojox/mobile/tests/test_Android-Switch.html +23 -0
  1327. data/dojo/dojox/mobile/tests/test_Android-TabContainer.html +139 -0
  1328. data/dojo/dojox/mobile/tests/test_Android-VariableHeightList.html +100 -0
  1329. data/dojo/dojox/mobile/tests/test_ajax-html.html +34 -0
  1330. data/dojo/dojox/mobile/tests/test_ajax-json.html +34 -0
  1331. data/dojo/dojox/mobile/tests/test_anchor-label.html +74 -0
  1332. data/dojo/dojox/mobile/tests/test_bookmarkable.html +112 -0
  1333. data/dojo/dojox/mobile/tests/test_buttons.html +21 -0
  1334. data/dojo/dojox/mobile/tests/test_dynamic-icons.html +53 -0
  1335. data/dojo/dojox/mobile/tests/test_dynamic-items.html +98 -0
  1336. data/dojo/dojox/mobile/tests/test_dynamic-view.html +58 -0
  1337. data/dojo/dojox/mobile/tests/test_hash-parameter.html +71 -0
  1338. data/dojo/dojox/mobile/tests/test_iPhone-Animation.html +81 -0
  1339. data/dojo/dojox/mobile/tests/test_iPhone-Button.html +41 -0
  1340. data/dojo/dojox/mobile/tests/test_iPhone-ButtonList.html +50 -0
  1341. data/dojo/dojox/mobile/tests/test_iPhone-EdgeToEdge.html +47 -0
  1342. data/dojo/dojox/mobile/tests/test_iPhone-EdgeToEdgeCategory.html +46 -0
  1343. data/dojo/dojox/mobile/tests/test_iPhone-Heading.html +24 -0
  1344. data/dojo/dojox/mobile/tests/test_iPhone-Icon.html +58 -0
  1345. data/dojo/dojox/mobile/tests/test_iPhone-IconMulti.html +36 -0
  1346. data/dojo/dojox/mobile/tests/test_iPhone-IconSingle.html +35 -0
  1347. data/dojo/dojox/mobile/tests/test_iPhone-IconSingleBelow.html +35 -0
  1348. data/dojo/dojox/mobile/tests/test_iPhone-ResultList.html +65 -0
  1349. data/dojo/dojox/mobile/tests/test_iPhone-RoundRect.html +27 -0
  1350. data/dojo/dojox/mobile/tests/test_iPhone-RoundRectList.html +54 -0
  1351. data/dojo/dojox/mobile/tests/test_iPhone-Settings.html +168 -0
  1352. data/dojo/dojox/mobile/tests/test_iPhone-Switch.html +23 -0
  1353. data/dojo/dojox/mobile/tests/test_iPhone-TabContainer.html +169 -0
  1354. data/dojo/dojox/mobile/tests/test_iPhone-VariableHeightList.html +99 -0
  1355. data/dojo/dojox/mobile/tests/test_progress-indicator.html +83 -0
  1356. data/dojo/dojox/mobile/tests/view-sample.html +38 -0
  1357. data/dojo/dojox/mobile/tests/view1.html +14 -0
  1358. data/dojo/dojox/mobile/tests/view1.json +18 -0
  1359. data/dojo/dojox/mobile/tests/view2.html +9 -0
  1360. data/dojo/dojox/mobile/tests/view2.json +31 -0
  1361. data/dojo/dojox/mobile/tests/view3.html +16 -0
  1362. data/dojo/dojox/mobile/tests/view3.json +44 -0
  1363. data/dojo/dojox/mobile/themes/android/android-compat.css +284 -0
  1364. data/dojo/dojox/mobile/themes/android/android.css +738 -0
  1365. data/dojo/dojox/mobile/themes/android/compat/arrow-button-bg.png +0 -0
  1366. data/dojo/dojox/mobile/themes/android/compat/arrow-button-head.png +0 -0
  1367. data/dojo/dojox/mobile/themes/android/compat/blue-button-bg.png +0 -0
  1368. data/dojo/dojox/mobile/themes/android/compat/blue-button-sel-bg.png +0 -0
  1369. data/dojo/dojox/{editor/plugins/resources/icons/findReplaceDisabled.gif → mobile/themes/android/compat/gray-arrow.png} +0 -0
  1370. data/dojo/dojox/mobile/themes/android/compat/icon-content-heading-bg.png +0 -0
  1371. data/dojo/dojox/mobile/themes/android/compat/switch-blue-bg.png +0 -0
  1372. data/dojo/dojox/mobile/themes/android/compat/switch-gray-bg.png +0 -0
  1373. data/dojo/dojox/mobile/themes/android/compat/switch-green-bg.png +0 -0
  1374. data/dojo/dojox/mobile/themes/android/compat/switch-knob-bg.png +0 -0
  1375. data/dojo/dojox/mobile/themes/android/compat/tab-button-bg.png +0 -0
  1376. data/dojo/dojox/mobile/themes/android/compat/tab-orange-button-bg.png +0 -0
  1377. data/dojo/dojox/mobile/themes/android/compat/tab-sel-button-bg.png +0 -0
  1378. data/dojo/dojox/mobile/themes/buttons-compat.css +30 -0
  1379. data/dojo/dojox/mobile/themes/buttons.css +191 -0
  1380. data/dojo/dojox/mobile/themes/compat/check-off-button.png +0 -0
  1381. data/dojo/dojox/mobile/themes/compat/check-on-button.png +0 -0
  1382. data/dojo/dojox/mobile/themes/compat/small-blue-button-bg.png +0 -0
  1383. data/dojo/dojox/mobile/themes/compat/small-darkblue-button-bg.png +0 -0
  1384. data/dojo/dojox/mobile/themes/compat/small-red-button-bg.png +0 -0
  1385. data/dojo/dojox/mobile/themes/iphone/compat/arrow-button-bg.png +0 -0
  1386. data/dojo/dojox/mobile/themes/iphone/compat/arrow-button-head.png +0 -0
  1387. data/dojo/dojox/mobile/themes/iphone/compat/blue-button-bg.png +0 -0
  1388. data/dojo/dojox/mobile/themes/iphone/compat/blue-button-sel-bg.png +0 -0
  1389. data/dojo/dojox/mobile/themes/iphone/compat/edge-categ-bg.png +0 -0
  1390. data/dojo/dojox/mobile/themes/iphone/compat/gray-arrow.png +0 -0
  1391. data/dojo/dojox/mobile/themes/iphone/compat/heading-bg.png +0 -0
  1392. data/dojo/dojox/mobile/themes/iphone/compat/icon-content-heading-bg.png +0 -0
  1393. data/dojo/dojox/mobile/themes/iphone/compat/switch-blue-bg.png +0 -0
  1394. data/dojo/dojox/mobile/themes/iphone/compat/switch-gray-bg.png +0 -0
  1395. data/dojo/dojox/mobile/themes/iphone/compat/switch-knob-bg.png +0 -0
  1396. data/dojo/dojox/mobile/themes/iphone/compat/tab-button-bg.png +0 -0
  1397. data/dojo/dojox/mobile/themes/iphone/compat/tab-sel-button-bg.png +0 -0
  1398. data/dojo/dojox/mobile/themes/iphone/compat/white-arrow.png +0 -0
  1399. data/dojo/dojox/mobile/themes/iphone/images/thumb-overlay.png +0 -0
  1400. data/dojo/dojox/mobile/themes/iphone/iphone-app-compat.css +24 -0
  1401. data/dojo/dojox/mobile/themes/iphone/iphone-app.css +281 -0
  1402. data/dojo/dojox/mobile/themes/iphone/iphone-compat.css +290 -0
  1403. data/dojo/dojox/mobile/themes/iphone/iphone.css +751 -0
  1404. data/dojo/dojox/rails.js +143 -0
  1405. data/dojo/dojox/rails/README +41 -0
  1406. data/dojo/dojox/rails/tests/module.js +7 -0
  1407. data/dojo/dojox/rails/tests/plugd/trigger.js +187 -0
  1408. data/dojo/dojox/rails/tests/runTests.html +9 -0
  1409. data/dojo/dojox/rails/tests/success_response.html +1 -0
  1410. data/dojo/dojox/rails/tests/test_rails.html +320 -0
  1411. data/dojo/dojox/robot/recorder.js +3 -3
  1412. data/dojo/dojox/rpc/SMDLibrary/wikipedia.smd +49 -49
  1413. data/dojo/dojox/rpc/tests/resources/query +5 -5
  1414. data/dojo/dojox/sketch/Figure.js +2 -2
  1415. data/dojo/dojox/sketch/UndoStack.js +2 -2
  1416. data/dojo/dojox/validate/creditCard.js +1 -1
  1417. data/dojo/dojox/widget/Calendar.js +18 -18
  1418. data/dojo/dojox/widget/CalendarViews.js +2 -2
  1419. data/dojo/dojox/widget/ColorPicker.js +248 -73
  1420. data/dojo/dojox/widget/ColorPicker/ColorPicker.css +32 -19
  1421. data/dojo/dojox/widget/ColorPicker/ColorPicker.html +71 -30
  1422. data/dojo/dojox/widget/ColorPicker/images/hueHandleA11y.png +0 -0
  1423. data/dojo/dojox/widget/DataPresentation.js +126 -60
  1424. data/dojo/dojox/widget/Dialog.js +2 -1
  1425. data/dojo/dojox/widget/Dialog/Dialog.css +7 -0
  1426. data/dojo/dojox/widget/DynamicTooltip.js +3 -3
  1427. data/dojo/dojox/widget/FeedPortlet.js +9 -9
  1428. data/dojo/dojox/widget/FilePicker.js +2 -2
  1429. data/dojo/dojox/widget/Portlet.js +8 -0
  1430. data/dojo/dojox/widget/Portlet/Portlet.css +2 -2
  1431. data/dojo/dojox/widget/RollingList.js +11 -8
  1432. data/dojo/dojox/widget/Rotator.js +7 -1
  1433. data/dojo/dojox/widget/Standby.js +32 -5
  1434. data/dojo/dojox/widget/Toaster.js +3 -1
  1435. data/dojo/dojox/widget/UpgradeBar.js +20 -20
  1436. data/dojo/dojox/widget/Wizard.js +2 -2
  1437. data/dojo/dojox/widget/Wizard/Wizard.css +5 -0
  1438. data/dojo/dojox/widget/gauge/_Gauge.js +2 -2
  1439. data/dojo/dojox/widget/nls/ColorPicker.js +4 -2
  1440. data/dojo/dojox/widget/nls/ar/ColorPicker.js +3 -0
  1441. data/dojo/dojox/widget/nls/ca/ColorPicker.js +6 -0
  1442. data/dojo/dojox/widget/nls/da/ColorPicker.js +3 -0
  1443. data/dojo/dojox/widget/nls/el/ColorPicker.js +10 -0
  1444. data/dojo/dojox/widget/nls/fi/ColorPicker.js +3 -0
  1445. data/dojo/dojox/widget/nls/he/ColorPicker.js +10 -0
  1446. data/dojo/dojox/widget/nls/ko/ColorPicker.js +7 -1
  1447. data/dojo/dojox/widget/nls/nb/ColorPicker.js +3 -0
  1448. data/dojo/dojox/widget/nls/nl/ColorPicker.js +6 -0
  1449. data/dojo/dojox/widget/nls/pt-pt/ColorPicker.js +8 -0
  1450. data/dojo/dojox/widget/nls/ro/ColorPicker.js +5 -0
  1451. data/dojo/dojox/widget/nls/ro/FilePicker.js +6 -0
  1452. data/dojo/dojox/widget/nls/ro/Wizard.js +6 -0
  1453. data/dojo/dojox/widget/nls/sk/ColorPicker.js +3 -0
  1454. data/dojo/dojox/widget/nls/sl/ColorPicker.js +3 -0
  1455. data/dojo/dojox/widget/nls/sv/ColorPicker.js +6 -0
  1456. data/dojo/dojox/widget/nls/tr/ColorPicker.js +10 -0
  1457. data/dojo/dojox/widget/rotator/ThumbnailController.js +96 -0
  1458. data/dojo/dojox/widget/tests/test_ColorPicker.html +10 -1
  1459. data/dojo/dojox/widget/tests/test_DataPresentation.html +7 -3
  1460. data/dojo/dojox/widget/tests/test_PortletInGridContainer.html +27 -37
  1461. data/dojo/dojox/widget/tests/test_PortletInGridContainer.js +2 -1
  1462. data/dojo/dojox/widget/tests/test_PortletInGridContainerColumns.html +10 -8
  1463. data/dojo/dojox/widget/tests/test_Rotator.html +2 -0
  1464. data/dojo/dojox/widget/tests/test_Rotator_ThumbnailController.html +63 -0
  1465. data/dojo/dojox/widget/tests/test_Standby.html +4 -4
  1466. data/dojo/dojox/wire/Wire.js +32 -4
  1467. data/dojo/dojox/wire/demos/markup/demo_ActionChaining.html +1 -1
  1468. data/dojo/dojox/wire/demos/markup/demo_ConditionalActions.html +6 -6
  1469. data/dojo/dojox/wire/demos/markup/demo_TopicWiring.html +1 -1
  1470. data/dojo/dojox/xml/parser.js +2 -2
  1471. data/dojo/util/LICENSE +1 -1
  1472. data/dojo/util/buildscripts/build.bat +3 -3
  1473. data/dojo/util/buildscripts/build.js +4 -2
  1474. data/dojo/util/buildscripts/build_notice.txt +2 -4
  1475. data/dojo/util/buildscripts/build_release.sh +6 -6
  1476. data/dojo/util/buildscripts/cdnBuild.sh +39 -0
  1477. data/dojo/util/buildscripts/cdnBuild.txt +13 -13
  1478. data/dojo/util/buildscripts/cldr/README +1 -1
  1479. data/dojo/util/buildscripts/cldr/build.xml +1 -1
  1480. data/dojo/util/buildscripts/cldr/calendar.xsl +98 -74
  1481. data/dojo/util/buildscripts/cldr/ldml/CatalogManager.properties +16 -16
  1482. data/dojo/util/buildscripts/cldr/ldml/catalog +1 -1
  1483. data/dojo/util/buildscripts/cldr/ldml/core.zip +0 -0
  1484. data/dojo/util/buildscripts/copyright.txt +1 -1
  1485. data/dojo/util/buildscripts/jslib/buildUtil.js +9 -0
  1486. data/dojo/util/buildscripts/jslib/dojoGuardEnd.jsfrag +8 -7
  1487. data/dojo/util/buildscripts/profiles/baseplus.profile.js +21 -0
  1488. data/dojo/util/buildscripts/profiles/demos-all.profile.js +7 -0
  1489. data/dojo/util/buildscripts/tests/conditionalTest.js +1 -1
  1490. data/dojo/util/checkstyle/checkstyle.bat +3 -3
  1491. data/dojo/util/checkstyle/checkstyleUtil.js +68 -4
  1492. data/dojo/util/checkstyle/runCheckstyle.js +24 -2
  1493. data/dojo/util/docscripts/LICENSE +1 -1
  1494. data/dojo/util/docscripts/cheat/lib.js +1 -1
  1495. data/dojo/util/docscripts/lib/parser2/JavaScriptArray.php +2 -2
  1496. data/dojo/util/docscripts/makeCix.php +1 -1
  1497. data/dojo/util/doh/_browserRunner.js +25 -4
  1498. data/dojo/util/doh/_rhinoRunner.js +1 -0
  1499. data/dojo/util/doh/robot/DOHRobot.jar +0 -0
  1500. data/dojo/util/doh/robot/DOHRobot.java +32 -7
  1501. data/dojo/util/doh/runner.html +2 -2
  1502. data/dojo/util/doh/runner.js +14 -5
  1503. data/dojo/util/jsdoc/LICENSE +1 -1
  1504. data/dojo/util/migration/dijitCss14to15.sed +67 -0
  1505. data/dojo/util/shrinksafe/shrinksafe.jar +0 -0
  1506. data/dojo/util/shrinksafe/src/org/dojotoolkit/shrinksafe/resources/Messages.properties +1 -1
  1507. data/dojo/util/shrinksafe/tests/escapeunicode.js +1 -0
  1508. data/dojo/util/shrinksafe/tests/module.js +14 -5
  1509. data/lib/dojo_src.rb +2 -5
  1510. metadata +4940 -4373
  1511. data/dojo/dijit/tests/_base/viewportQuirks.html +0 -5
  1512. data/dojo/dijit/themes/nihilo/form/ComboBox.css +0 -12
  1513. data/dojo/dijit/themes/nihilo/form/Common_rtl.css +0 -7
  1514. data/dojo/dijit/themes/nihilo/images/editor.gif +0 -0
  1515. data/dojo/dijit/themes/nihilo/images/editorDisabled.gif +0 -0
  1516. data/dojo/dijit/themes/nihilo/images/editorDisabled_rtl.gif +0 -0
  1517. data/dojo/dijit/themes/nihilo/images/editor_rtl.gif +0 -0
  1518. data/dojo/dijit/themes/soria/form/ComboBox.css +0 -12
  1519. data/dojo/dijit/themes/soria/form/Common_rtl.css +0 -7
  1520. data/dojo/dijit/themes/soria/images/editor.gif +0 -0
  1521. data/dojo/dijit/themes/soria/images/editorDisabled.gif +0 -0
  1522. data/dojo/dijit/themes/soria/images/editorDisabled_rtl.gif +0 -0
  1523. data/dojo/dijit/themes/soria/images/editor_rtl.gif +0 -0
  1524. data/dojo/dijit/themes/templateThemeTest.html +0 -178
  1525. data/dojo/dijit/themes/tundra/form/Common_rtl.css +0 -6
  1526. data/dojo/dijit/themes/tundra/images/editor.gif +0 -0
  1527. data/dojo/dijit/themes/tundra/images/editorDisabled.gif +0 -0
  1528. data/dojo/dijit/themes/tundra/images/editorDisabled_rtl.gif +0 -0
  1529. data/dojo/dijit/themes/tundra/images/editorMaster.png +0 -0
  1530. data/dojo/dijit/themes/tundra/images/editor_rtl.gif +0 -0
  1531. data/dojo/dojo/cldr/nls/de-de/number.js +0 -4
  1532. data/dojo/dojo/cldr/nls/en-us/currency.js +0 -5
  1533. data/dojo/dojo/cldr/nls/en-us/number.js +0 -4
  1534. data/dojo/dojo/cldr/nls/es-es/gregorian.js +0 -7
  1535. data/dojo/dojo/cldr/nls/es-es/number.js +0 -4
  1536. data/dojo/dojo/cldr/nls/islamic-civil.js +0 -96
  1537. data/dojo/dojo/cldr/nls/it-it/gregorian.js +0 -5
  1538. data/dojo/dojo/cldr/nls/ja-jp/number.js +0 -4
  1539. data/dojo/dojo/cldr/nls/ko-kr/gregorian.js +0 -6
  1540. data/dojo/dojo/cldr/nls/ko-kr/number.js +0 -4
  1541. data/dojo/dojo/cldr/nls/pt-br/gregorian.js +0 -18
  1542. data/dojo/dojo/cldr/nls/zh-cn/gregorian.js +0 -12
  1543. data/dojo/dojo/cldr/nls/zh-cn/number.js +0 -4
  1544. data/dojo/dojo/cldr/nls/zh-tw/number.js +0 -6
  1545. data/dojo/dojox/editor/plugins/resources/icons/findIcon.gif +0 -0
  1546. data/dojo/dojox/editor/plugins/resources/icons/findReplace.gif +0 -0
  1547. data/dojo/dojox/editor/plugins/resources/icons/replaceIcon.gif +0 -0
  1548. data/dojo/dojox/math/LICENSE-BigInteger +0 -40
  1549. data/dojo/util/buildscripts/cldr/ldml/ldml.dtd +0 -1166
  1550. data/dojo/util/docscripts/api.json +0 -202488
  1551. data/dojo/util/docscripts/api.xml +0 -54976
  1552. data/dojo/util/resources/LICENSE +0 -195
  1553. data/dojo/util/resources/api/api.xml +0 -0
  1554. data/dojo/util/resources/api/dojo.cix +0 -0
  1555. data/dojo/util/resources/dojotoolkit.org/mini-dtk/dojo-styles.css +0 -114
  1556. data/dojo/util/resources/dojotoolkit.org/mini-dtk/images/bg-content-left.png +0 -0
  1557. data/dojo/util/resources/dojotoolkit.org/mini-dtk/images/bg-content-right.png +0 -0
  1558. data/dojo/util/resources/dojotoolkit.org/mini-dtk/images/body.png +0 -0
  1559. data/dojo/util/resources/dojotoolkit.org/mini-dtk/images/logo.png +0 -0
  1560. data/dojo/util/resources/dojotoolkit.org/mini-dtk/mini-dtk.css +0 -34
  1561. data/dojo/util/resources/dojotoolkit.org/mini-dtk/mini-dtk.psd +0 -0
  1562. data/dojo/util/resources/dojotoolkit.org/mini-dtk/style.css +0 -1092
  1563. data/dojo/util/resources/dojotoolkit.org/mini-dtk/template.html +0 -115
  1564. data/dojo/util/resources/logo/negative/dijit.logo.neg.ai +15 -4118
  1565. data/dojo/util/resources/logo/negative/dijit.logo.neg.eps +0 -5557
  1566. data/dojo/util/resources/logo/negative/dijit.logo.neg.png +0 -0
  1567. data/dojo/util/resources/logo/negative/dijit.logo.neg.svg +0 -987
  1568. data/dojo/util/resources/logo/negative/dojo.logo.neg.ai +0 -0
  1569. data/dojo/util/resources/logo/negative/dojo.logo.neg.big.png +0 -0
  1570. data/dojo/util/resources/logo/negative/dojo.logo.neg.eps +0 -64
  1571. data/dojo/util/resources/logo/negative/dojo.logo.neg.png +0 -0
  1572. data/dojo/util/resources/logo/negative/dojo.logo.neg.svg +0 -36
  1573. data/dojo/util/resources/logo/negative/dojox.logo.neg.ai +8 -4003
  1574. data/dojo/util/resources/logo/negative/dojox.logo.neg.eps +0 -5357
  1575. data/dojo/util/resources/logo/negative/dojox.logo.neg.png +0 -0
  1576. data/dojo/util/resources/logo/negative/dojox.logo.neg.svg +0 -41
  1577. data/dojo/util/resources/logo/positive/dijit.logo.ai +10 -4169
  1578. data/dojo/util/resources/logo/positive/dijit.logo.eps +0 -5562
  1579. data/dojo/util/resources/logo/positive/dijit.logo.png +0 -0
  1580. data/dojo/util/resources/logo/positive/dijit.logo.svg +0 -987
  1581. data/dojo/util/resources/logo/positive/dojo.logo.ai +15 -3719
  1582. data/dojo/util/resources/logo/positive/dojo.logo.big.png +0 -0
  1583. data/dojo/util/resources/logo/positive/dojo.logo.eps +0 -64
  1584. data/dojo/util/resources/logo/positive/dojo.logo.png +0 -0
  1585. data/dojo/util/resources/logo/positive/dojo.logo.svg +0 -36
  1586. data/dojo/util/resources/logo/positive/dojox.logo.ai +13 -4068
  1587. data/dojo/util/resources/logo/positive/dojox.logo.eps +0 -5362
  1588. data/dojo/util/resources/logo/positive/dojox.logo.png +0 -0
  1589. data/dojo/util/resources/logo/positive/dojox.logo.svg +0 -41
  1590. data/dojo/util/resources/themes/nihilo/nihilo.psd +0 -0
  1591. data/dojo/util/resources/themes/soria/soria.psd +0 -0
@@ -0,0 +1,65 @@
1
+ Copyright 2009 by contributors:
2
+
3
+ * James Hight (http://labs.zavoo.com/)
4
+ * Rick Masters
5
+ * Google Inc. - (Brad Neuberg -- http://codinginparadise.org)
6
+
7
+ Licensed under the Apache License, Version 2.0 (the "License");
8
+ you may not use this file except in compliance with the License.
9
+ You may obtain a copy of the License at
10
+
11
+ http://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing, software
14
+ distributed under the License is distributed on an "AS IS" BASIS,
15
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ See the License for the specific language governing permissions and
17
+ limitations under the License.
18
+
19
+
20
+ Third-Party Licenses, Versions, and Build Information:
21
+
22
+ * tests/js-tests/balloon.jpg is in the public domain and from
23
+ http://flickr.com/photos/pingnews/461040378/
24
+ Public domain details:
25
+ Berlin Balloon Race from the Bain Collection, 1908 (LOC)
26
+ Public Domain. Suggested credit: Library of Congress via pingnews.
27
+
28
+ * src/tools/lib/yuicompressor-2.4.1.jar - This is the YUI Compressor, version 2.4.1 - http://developer.yahoo.com/yui/compressor/ - BSD License (http://developer.yahoo.com/yui/license.html)
29
+
30
+ * src/tools/lib/jetty-*.jar - This is Jetty 6.1.19, a small embedded Java web server - http://jetty.mortbay.org/jetty/ - released under the Apache License - bundled to make local development faster and easier
31
+
32
+ * src/tools/lib/servlet-api-*.jar - This is the javax.servlet package used by Jetty - copyright Sun Microsystems, Inc and Apache Software Foundation - released under the Common Development and Distribution License (CDDL) - https://glassfish.dev.java.net/public/CDDLv1.0.html
33
+
34
+ * src/svg.js - Browser detection code at top of file adapted from Dojo 1.1 browser detection code - http://dojotoolkit.org - available under either modified 'new' BSD license or Academic Free License 2.1 (http://trac.dojotoolkit.org/browser/dojo/trunk/LICENSE)
35
+
36
+ * src/svg.js - Code to embed SVG into normal HTML for browsers that natively support SVG adapted from Sam Ruby's code - http://intertwingly.net/blog/2006/12/05/HOWTO-Embed-MathML-and-SVG-into-HTML4 - currently under the MIT license - contacting author about relicensing to Apache 2
37
+
38
+ * src/svg.js - DOMContentLoaded code adapted from Dean Edwards blog article (http://dean.edwards.name/weblog/2005/09/busted/)
39
+
40
+ * src/svg.js - GUID generation code in guid() adapted from blog post at http://note19.com/2007/05/27/javascript-guid-generator/
41
+
42
+ * src/svg.js - UTF-8 data encode adapted from http://www.webtoolkit.info/
43
+
44
+ * src/svg.js - sandbox_eval code adapted from blog post by YuppY at http://dean.edwards.name/weblog/2006/11/sandbox/
45
+
46
+ * src/svg.htc - Flash embedding code adapted from Dojo Flash (Dojo 1.1.0); Brad Neuberg created Dojo Flash and owns the copyright so can freely relicense it (it's under the standard Dojo license anyway)
47
+
48
+ * org/svgweb/smil/SplineInterpolator.as, org/svgweb/smil/LengthItem.as - Taken from the Timing Framework https://timingframework.dev.java.net/ project with BSD-like license variant (see source file). Copyright (c) 2006, Sun Microsystems, Inc - All rights reserved. Ported from Java to ActionScript by Rick Masters.
49
+
50
+ * samples/svg-files/blocks_game.svg - Alex Fritze (http://www.croczilla.com/) - Permission given by email to freely use code under any license needed.
51
+
52
+ * samples/svg-files/photos.svg - Vladimir Vukićević (http://blog.vlad1.com/) - Permission given by email to freely use code under any license needed.
53
+
54
+ * tests/browser-tests/issue-tests/* - These tests are based on user submitted tests; no copyright claims are made on them and they are solely for testing SVG Web.
55
+ * samples/svg-files/Droid*.svg - Droid fonts from the Android project - http://android.git.kernel.org/?p=platform/frameworks/base.git;a=tree;f=data/fonts - made available under Apache 2 license.
56
+
57
+ * tests/non-licensed - Everything in this directory are third-party web pages and web applications used for testing and ensuring the framework works well in the third world. No license or copyright is asserted on this material, and it should not be distributed in any downloads. An example of material that might be here would be a New York Times page modified as a test work with the SVG Web framework, or a test page to ensure a clip art could work on an eBay page.
58
+
59
+ TODO: There are alot of third party SVG files in samples/svg-files. Document where these came from, who the copyright holder is, and ensure we have a CLA on file for them.
60
+
61
+ TODO: Figure out copyright information on the *.flv and *.mp3 files that we use in our samples in samples/svg-files
62
+
63
+ TODO: Review the Flash code and identify any code that was either taken from other Flash libraries, blog posts, or tutorials. Document this and ensure we have appropriate CLAs from third-party code contributors.
64
+
65
+ TODO: If you borrowed any code while creating your Flash ActionScript document it here, where it came from, version, etc. This is good open source hygiene :)
@@ -0,0 +1 @@
1
+ <component lightWeight="true"> <property name="nodeName" get="_getNodeName" /> <property name="nodeType" get="_getNodeType" /> <property name="nodeValue" get="_getNodeValue" put="_setNodeValue" /> <property name="localName" get="_getLocalName" /> <property name="prefix" get="_getPrefix" /> <property name="namespaceURI" get="_getNamespaceURI" /> <property name="childNodes" get="_getChildNodes" /> <property name="parentNode" get="_getParentNode" /> <property name="firstChild" get="_getFirstChild" /> <property name="lastChild" get="_getLastChild" /> <property name="previousSibling" get="_getPreviousSibling" /> <property name="nextSibling" get="_getNextSibling" /> <property name="textContent" get="_getTextContent" put="_setTextContent" /> <property name="data" get="_getData" put="_setData" /> <property name="ownerDocument" get="_getOwnerDocument" /> <property name="id" get="_getId" put="_setId" /> <property name="x" get="_getX" /> <property name="y" get="_getY" /> <property name="width" get="_getWidth" /> <property name="height" get="_getHeight" /> <property name="currentScale" get="_getCurrentScale" put="_setCurrentScale" /> <property name="currentTranslate" get="_getCurrentTranslate" /> <property name="fake" value="true" /> <method name="getAttribute" /> <method name="getAttributeNS" /> <method name="setAttribute" /> <method name="setAttributeNS" /> <method name="appendChild" /> <method name="removeChild" /> <method name="replaceChild" /> <method name="insertBefore" /> <method name="hasChildNodes" /> <method name="hasAttributes" /> <method name="hasAttribute" /> <method name="hasAttributeNS" /> <method name="removeAttribute" /> <method name="removeAttributeNS" /> <method name="isSupported" /> <method name="addEventListener" /> <method name="removeEventListener" /> <method name="getScreenCTM" /> <method name="getCTM" /> <method name="createSVGPoint" /> <method name="createSVGRect" /> <method name="cloneNode" /> <method name="getElementsByTagNameNS" /> <defaults tabStop="false" contentEditable="false" canHaveHTML="false" viewInheritStyle="true" viewMasterTab="false" viewLinkContent="false" style="display: block" /> </component> <script type="text/javascript"> function getAttribute(n){return this._fakeNode.getAttribute(n);}function getAttributeNS(ns,l){return this._fakeNode.getAttributeNS(ns,l);}function setAttribute(n,v){return this._fakeNode.setAttribute(n,v);}function setAttributeNS(ns,qName,v){return this._fakeNode.setAttributeNS(ns,qName,v);}function appendChild(c){return this._fakeNode.appendChild(c);}function removeChild(c){return this._fakeNode.removeChild(c);}function replaceChild(n,o){return this._fakeNode.replaceChild(n,o);}function insertBefore(n,o){return this._fakeNode.insertBefore(n,o);}function hasChildNodes(){return this._fakeNode.hasChildNodes();}function hasAttributes(){return this._fakeNode.hasAttributes();}function hasAttribute(l){return this._fakeNode.hasAttribute(l);}function hasAttributeNS(ns,l){return this._fakeNode.hasAttributeNS(ns,l);}function removeAttribute(l){return this._fakeNode.removeAttribute(l);}function removeAttributeNS(ns,l){return this._fakeNode.removeAttributeNS(ns,l);}function isSupported(f,v){return this._fakeNode.isSupported(f,v);}function addEventListener(t,l,u){return this._fakeNode.addEventListener(t,l,u);}function removeEventListener(t,l,u){return this._fakeNode.removeEventListener(t,l,u);}function getScreenCTM(){return this._fakeNode.getScreenCTM();}function getCTM(){return this._fakeNode.getCTM();}function createSVGPoint(){return this._fakeNode.createSVGPoint();}function createSVGRect(){return this._fakeNode.createSVGRect();}function cloneNode(d){return this._fakeNode.cloneNode(d);}function getElementsByTagNameNS(n,l){return this._fakeNode.getElementsByTagNameNS(n,l);}function _getNodeName(){return this._fakeNode.nodeName;}function _getNodeType(){return this._fakeNode.nodeType;}function _getLocalName(){return this._fakeNode.localName;}function _getPrefix(){return this._fakeNode.prefix;}function _getNamespaceURI(){return this._fakeNode.namespaceURI;}function _getChildNodes(){return this._fakeNode._getChildNodes();}function _getParentNode(){return this._fakeNode._getParentNode();}function _getFirstChild(){return this._fakeNode._getFirstChild();}function _getLastChild(){return this._fakeNode._getLastChild();}function _getPreviousSibling(){return this._fakeNode._getPreviousSibling();}function _getNextSibling(){return this._fakeNode._getNextSibling();}function _getNodeValue(){return this._fakeNode._nodeValue;}function _setNodeValue(v){return this._fakeNode._setNodeValue(v);}function _getTextContent(){return this._fakeNode._getTextContent();}function _setTextContent(v){return this._fakeNode._setTextContent(v);}function _getData(){return this._fakeNode._getData();}function _setData(v){return this._fakeNode._setData(v);}function _getOwnerDocument(){return this._fakeNode.ownerDocument;}function _getId(){return this._fakeNode._getId();}function _setId(v){return this._fakeNode._setId(v);}function _getX(){return this._fakeNode._getX();}function _getY(){return this._fakeNode._getY();}function _getWidth(){return this._fakeNode._getWidth();}function _getHeight(){return this._fakeNode._getHeight();}function _getCurrentScale(){return this._fakeNode._getCurrentScale();}function _setCurrentScale(v){return this._fakeNode._setCurrentScale(v);}function _getCurrentTranslate(){return this._fakeNode._getCurrentTranslate();} </script><script type="text/vbscript"></script>
@@ -0,0 +1 @@
1
+ (function(){window.svgns="http://www.w3.org/2000/svg";window.xlinkns="http://www.w3.org/1999/xlink";svgnsFake="urn:__fake__internal__namespace";var isOpera=false,isSafari=false,isMoz=false,isIE=false,isAIR=false,isKhtml=false,isFF=false,isXHTML=false;function _detectBrowsers(){var n=navigator,dua=n.userAgent,dav=n.appVersion,tv=parseFloat(dav);if(dua.indexOf("Opera")>=0){isOpera=tv;}var index=Math.max(dav.indexOf("WebKit"),dav.indexOf("Safari"),0);if(index){isSafari=parseFloat(dav.split("Version/")[1])||(parseFloat(dav.substr(index+7))>419.3)?3:2;}if(dua.indexOf("AdobeAIR")>=0){isAIR=1;}if(dav.indexOf("Konqueror")>=0||isSafari){isKhtml=tv;}if(dua.indexOf("Gecko")>=0&&!isKhtml){isMoz=tv;}if(isMoz){isFF=parseFloat(dua.split("Firefox/")[1])||undefined;}if(document.all&&!isOpera){isIE=parseFloat(dav.split("MSIE ")[1])||undefined;}if(document.documentMode){isStandardsMode=(document.documentMode>5);}else{isStandardsMode=(document.compatMode=="CSS1Compat");}if(document.contentType=="application/xhtml+xml"){isXHTML=true;}else{if(typeof XMLDocument!="undefined"&&document.constructor==XMLDocument){isXHTML=true;}}}_detectBrowsers();function doDebugging(){var debug=false;var scripts=document.getElementsByTagName("script");for(var i=0;i<scripts.length;i++){if(/svg(?:\-uncompressed)?\.js/.test(scripts[i].src)){var debugSetting=scripts[i].getAttribute("data-debug");debug=(debugSetting==="true"||debugSetting===true)?true:false;}}return debug;}var debug=doDebugging();if(typeof console=="undefined"||!console.log){var queue=[];console={};if(!debug){console.log=function(){};}else{console.log=function(msg){var body=null;var delay=false;try{body=document.getElementsByTagName("body")[0];}catch(exp){delay=true;}if(isIE){try{document.documentElement.doScroll("left");}catch(exp){delay=true;}}if(delay){queue.push(msg);return;}var p;while(queue.length){var oldMsg=queue.shift();p=document.createElement("p");p.appendChild(document.createTextNode(oldMsg));body.appendChild(p);}p=document.createElement("p");p.appendChild(document.createTextNode(msg));body.appendChild(p);};if(isIE){function flushQueue(){while(queue.length){var oldMsg=queue.shift();p=document.createElement("p");p.appendChild(document.createTextNode(oldMsg));document.body.appendChild(p);}}var debugInterval=window.setInterval(function(){if(document.readyState=="complete"){flushQueue();window.clearTimeout(debugInterval);}},50);}}}function extend(f,addMe){for(var i in addMe){f.prototype[i]=addMe[i];}}function mixin(f,addMe){for(var i in addMe){f[i]=addMe[i];}}function xpath(doc,context,expr,namespaces){if(!context){context=doc.documentElement;}if(typeof XPathEvaluator!="undefined"){var evaluator=new XPathEvaluator();var resolver=doc.createNSResolver(context);var result=evaluator.evaluate(expr,context,resolver,0,null);var found=createNodeList(),current;while(current=result.iterateNext()){found.push(current);}return found;}else{doc.setProperty("SelectionLanguage","XPath");if(namespaces){var allNamespaces="";var foundNamespace={};for(var i=0;i<namespaces.length;i++){var namespaceURI=namespaces[i];var prefix=namespaces["_"+namespaceURI];if(!foundNamespace["_"+namespaceURI]){if(prefix=="xmlns"){allNamespaces+='xmlns="'+namespaceURI+'" ';}else{allNamespaces+="xmlns:"+prefix+'="'+namespaceURI+'" ';}foundNamespace["_"+namespaceURI]=namespaceURI;}}doc.setProperty("SelectionNamespaces",allNamespaces);}var found=context.selectNodes(expr);if(found===null||typeof found=="undefined"){found=createNodeList();}var results=createNodeList();for(var i=0;i<found.length;i++){results.push(found[i]);}return results;}}var parseXMLCache={};function parseXML(xml,preserveWhiteSpace){if(preserveWhiteSpace===undefined){preserveWhiteSpace=false;}var cachedXML=parseXMLCache[preserveWhiteSpace+xml];if(cachedXML){return cachedXML.cloneNode(true);}var xmlDoc;if(typeof DOMParser!="undefined"){var parser=new DOMParser();try{xmlDoc=parser.parseFromString(xml,"application/xml");}catch(e){throw e;}var root=xmlDoc.documentElement;if(root.nodeName=="parsererror"){throw new Error("There is a bug in your SVG: "+(new XMLSerializer().serializeToString(root)));}}else{var versions=["Msxml2.DOMDocument.6.0","Msxml2.DOMDocument.3.0"];var xmlDoc;for(var i=0;i<versions.length;i++){try{xmlDoc=new ActiveXObject(versions[i]);if(xmlDoc){break;}}catch(e){}}if(!xmlDoc){throw new Error("Unable to instantiate XML parser");}try{xmlDoc.preserveWhiteSpace=preserveWhiteSpace;xmlDoc.resolveExternals=false;xmlDoc.validateOnParse=false;xmlDoc.setProperty("ProhibitDTD",false);xmlDoc.async="false";var successful=xmlDoc.loadXML(xml);if(!successful||xmlDoc.parseError.errorCode!==0){throw new Error(xmlDoc.parseError.reason);}}catch(e){console.log(e.message);throw new Error("Unable to parse SVG: "+e.message);}}try{parseXMLCache[preserveWhiteSpace+xml]=xmlDoc.cloneNode(true);}catch(e){}return xmlDoc;}function xmlToStr(node,namespaces){var nodeXML=(node._nodeXML||node);var xml;if(typeof XMLSerializer!="undefined"){xml=(new XMLSerializer().serializeToString(nodeXML));}else{xml=nodeXML.xml;}xml=xml.replace(/urn\:__fake__internal__namespace/g,svgns);var nsString="";if(xml.indexOf("xmlns=")==-1){nsString='xmlns="'+svgns+'" ';}if(namespaces){for(var i=0;i<namespaces.length;i++){var uri=namespaces[i];var prefix=namespaces["_"+uri];if(uri==svgnsFake){uri=svgns;}var newNS;if(prefix!="xmlns"){newNS="xmlns:"+prefix+'="'+uri+'"';}else{newNS='xmlns="'+uri+'"';}if(xml.indexOf(newNS)==-1){nsString+=newNS+" ";}}}xml=xml.replace(/<([^ ]+)/,"<$1 "+nsString+" ");return xml;}function hitch(context,method){if(typeof method=="string"){method=context[method];}return function(){return method.apply(context,(arguments.length)?arguments:[]);};}var XHR_PROGIDS=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"];function xhrObj(){if(typeof XMLHttpRequest!="undefined"){return new XMLHttpRequest();}else{if(ActiveXObject){var xhr=null;var i;for(i=0;i<XHR_PROGIDS.length&&!xhr;++i){try{xhr=new ActiveXObject(XHR_PROGIDS[i]);}catch(e){}}if(!xhr){throw new Error("XMLHttpRequest object not available on this platform");}return xhr;}}}var guidCounter=0;function guid(){return"_"+guidCounter++;}function SVGWeb(){this._setXDomain();this.libraryPath=this._getLibraryPath();this.htcFilename=this._getHTCFilename();if(isIE){FlashHandler._prepareBehavior(this.libraryPath,this.htcFilename);}this._interceptOnloadListeners();this._initDOMContentLoaded();}extend(SVGWeb,{libraryPath:"./",config:null,pageLoaded:false,handlers:[],totalLoaded:0,_guidLookup:[],_loadListeners:[],_removedNodes:[],addOnLoad:function(listener,fromObject,objectWindow){if(fromObject){var obj=objectWindow.frameElement;if(fromObject&&this.getHandlerType()=="flash"){listener.apply(objectWindow);}else{if(obj._svgHandler){obj._svgHandler._onObjectLoad(listener,objectWindow);}else{obj._svgWindow=objectWindow;obj._svgFunc=listener;}}}else{this._loadListeners.push(listener);}if(this.pageLoaded){this._fireOnLoad();}},getHandlerType:function(){if(this.renderer==FlashHandler){return"flash";}else{if(this.renderer==NativeHandler){return"native";}}},appendChild:function(node,parent){if(node.nodeName.toLowerCase()=="object"&&node.getAttribute("type")=="image/svg+xml"){this.totalSVG++;this._svgObjects.push(node);if(this.getHandlerType()=="native"){node.onload=node.onsvgload;parent.appendChild(node);}var placeHolder=node;if(this.getHandlerType()=="flash"){if(node.onsvgload){node.addEventListener("SVGLoad",node.onsvgload,false);}var div=document._createElement("div");for(var j=0;j<node.attributes.length;j++){var attr=node.attributes[j];var attrName=attr.nodeName;var attrValue=attr.nodeValue;if(!attrValue&&attrValue!=="true"){continue;}div.setAttribute(attrName,attrValue);}parent.appendChild(div);div._onloadListeners=node._onloadListeners;placeHolder=div;}var objID=this._processSVGObject(placeHolder);node._objID=objID;}else{if(node.nodeName.toLowerCase()=="svg"){this.totalSVG++;if(node.onsvgload){node.addEventListener("SVGLoad",node.onsvgload,false);}if(isIE&&node._fakeNode){node=node._fakeNode;}var svgStr=xmlToStr(node);var svgScript=document.createElement("script");svgScript.type="image/svg+xml";if(!isXHTML){svgScript.text=svgStr;}else{svgScript.appendChild(document.createTextNode(svgStr));}this._svgScripts.push(svgScript);parent.appendChild(svgScript);svgScript._onloadListeners=node._detachedListeners||node._onloadListeners;this._processSVGScript(svgScript);}}},removeChild:function(node,parent){var name=node.nodeName.toLowerCase();var nodeID,nodeHandler;if(name=="object"||name=="embed"||name=="svg"){this.totalSVG=this.totalSVG==0?0:this.totalSVG-1;this.totalLoaded=this.totalLoaded==0?0:this.totalLoaded-1;nodeID=node.getAttribute("id");nodeHandler=this.handlers[nodeID];var newHandlers=[];for(var i=0;i<this.handlers.length;i++){var currentHandler=this.handlers[i];if(currentHandler!=nodeHandler){newHandlers[currentHandler.id]=currentHandler;newHandlers.push(currentHandler);}}this.handlers=newHandlers;}if(name=="object"||name=="embed"){if(this.getHandlerType()=="flash"&&nodeHandler.document&&nodeHandler.document.defaultView){var iframeWin=nodeHandler.document.defaultView;for(var i=0;i<iframeWin._intervalIDs.length;i++){iframeWin.clearInterval(iframeWin._intervalIDs[i]);}for(var i=0;i<iframeWin._timeoutIDs.length;i++){iframeWin.clearTimeout(iframeWin._timeoutIDs[i]);}for(var i=0;i<nodeHandler._keyboardListeners.length;i++){var l=nodeHandler._keyboardListeners[i];if(isIE){document.detachEvent("onkeydown",l);}else{document.removeEventListener("keydown",l,true);document.removeEventListener("keydown",l,false);}}}var objID;if(typeof node._objID!="undefined"){objID=node._objID;}else{if(typeof node.contentDocument!="undefined"){objID=node.contentDocument._handler.id;}else{objID=node._handler.id;}}for(var i=0;i<svgweb._svgObjects.length;i++){if(svgweb._svgObjects[i]._objID===objID){svgweb._svgObjects.splice(i,1);break;}}parent.removeChild(node);if(this.getHandlerType()=="flash"){var container=document.getElementById("__htc_container");if(container){for(var i=0;i<container.childNodes.length;i++){var child=container.childNodes[i];if(typeof child.ownerDocument!="undefined"&&child.ownerDocument==nodeHandler._svgObject.document){if(typeof child._fakeNode!="undefined"&&typeof child._fakeNode._htcNode!="undefined"){child._fakeNode._htcNode=null;}child._fakeNode=null;child._handler=null;container.removeChild(child);}}}for(var guid in svgweb._guidLookup){var child=svgweb._guidLookup[guid];if(child._fake&&child.ownerDocument===nodeHandler.document){delete svgweb._guidLookup[guid];}}nodeHandler.flash.contentDocument=null;nodeHandler.flash=null;nodeHandler._xml=null;if(nodeHandler.window){nodeHandler.window._scope=null;nodeHandler.window=null;}var svgObj=nodeHandler._svgObject;var svgDoc=svgObj.document;svgDoc._nodeById=null;svgDoc._xml=null;svgDoc.defaultView=null;svgDoc.documentElement=null;svgDoc.rootElement=null;svgDoc.defaultView=null;svgDoc=null;svgObj._svgNode=null;svgObj._handler=null;if(iframeWin){iframeWin._setTimeout=null;iframeWin.setTimeout=null;iframeWin._setInterval=null;iframeWin.setInterval=null;}nodeHandler._svgObject=null;svgObj=null;nodeHandler=null;iframeWin=null;}}else{if(name=="svg"){for(var i=0;i<svgweb._svgScripts.length;i++){if(svgweb._svgScripts[i]==nodeHandler._scriptNode){svgweb._svgScripts.splice(i,1);break;}}if(isIE&&this.getHandlerType()=="flash"&&node._fakeNode){node=node._fakeNode;}var removeMe;if(this.getHandlerType()=="native"){removeMe=node;}else{removeMe=node._handler.flash;}if(!isIE){parent.removeChild(removeMe);}else{window.setTimeout(function(parent,removeMe){return function(){parent.removeChild(removeMe);parent=null;removeMe=null;};}(parent,removeMe),1);}if(this.getHandlerType()=="flash"){node._setUnattached();for(var guid in svgweb._guidLookup){var child=svgweb._guidLookup[guid];if(child._fake&&child._getFakeNode()===nodeHandler){delete svgweb._guidLookup[guid];}}nodeHandler._scriptNode=null;nodeHandler.flash.documentElement=null;nodeHandler.flash=null;nodeHandler._xml=null;nodeHandler=null;}}}},_initDOMContentLoaded:function(){var self=this;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){self._onDOMContentLoaded();},false);}else{document.write('<script id="__ie__svg__onload" defer src=//0><\/script>');var script=document.getElementById("__ie__svg__onload");script.onreadystatechange=function(){if(this.readyState=="complete"){self._onDOMContentLoaded();}};var documentReady=function(){if(window.onload){self._saveWindowOnload();document.detachEvent("onreadystatechange",documentReady);}};document.attachEvent("onreadystatechange",documentReady);}},_setXDomain:function(){var scripts=document.getElementsByTagName("script");for(var i=0;i<scripts.length;i++){if(/svg(?:\-uncompressed)?\.js/.test(scripts[i].src)&&/^https?/.test(scripts[i].src)){var url=scripts[i].src.replace(/svg(?:\-uncompressed)?\.js/,"");var loc=url.match(/https?\:\/\/[^\/]*/)[0];var ourLoc=window.location.protocol.replace(/:|\//g,"")+"://"+window.location.host;if(loc!=ourLoc){this.xDomainURL=url;this._isXDomain=true;return;}}}this._isXDomain=false;},_getLibraryPath:function(){var libraryPath="./";var meta=document.getElementsByTagName("meta");for(var i=0;i<meta.length;i++){if(meta[i].name=="svg.config.data-path"&&meta[i].content.length>0){libraryPath=meta[i].content;}}var scripts=document.getElementsByTagName("script");for(var i=0;i<scripts.length;i++){if(/svg(?:\-uncompressed)?\.js/.test(scripts[i].src)&&scripts[i].getAttribute("data-path")){libraryPath=scripts[i].getAttribute("data-path");break;}}if(libraryPath.charAt(libraryPath.length-1)!="/"){libraryPath+="/";}return libraryPath;},_getHTCFilename:function(){var htcFilename="svg.htc";var loc=window.location.toString();if(loc.indexOf("svg.htcFilename=svg-htc.php")!=-1){return"svg-htc.php";}else{if(loc.indexOf("svg.htcFilename=svg-htc.jsp")!=-1){return"svg-htc.jsp";}else{if(loc.indexOf("svg.htcFilename=svg-htc.asp")!=-1){return"svg-htc.asp";}}}var scripts=document.getElementsByTagName("script");for(var i=0;i<scripts.length;i++){if(/svg(?:\-uncompressed)?\.js/.test(scripts[i].src)&&scripts[i].getAttribute("data-htc-filename")){htcFilename=scripts[i].getAttribute("data-htc-filename");break;}}return htcFilename;},_onDOMContentLoaded:function(){if(arguments.callee.done){return;}arguments.callee.done=true;this._startTime=new Date().getTime();var listener=document.getElementById("__ie__svg__onload");if(listener){listener.parentNode.removeChild(listener);listener.onreadystatechange=null;listener=null;}this._saveWindowOnload();this.config=new RenderConfig();if(isIE){this._watchUnload();}this._svgScripts=this._getSVGScripts();this._svgObjects=this._getSVGObjects();this.totalSVG=this._svgScripts.length+this._svgObjects.length;this._cleanupSVGObjects();this._handleHTMLTitleBug();if(!this.config.supported){this._displayNotSupported(this.config.reason);this._fireOnLoad();return;}this.renderer;if(this.config.use=="flash"){this.renderer=FlashHandler;}else{if(this.config.use=="native"){this.renderer=NativeHandler;}}this.renderer._patchBrowserObjects(window,document);if(this.config.use=="flash"){this._createResizeListener();this._attachResizeListener();}if(this.totalSVG===0){this._fireOnLoad();return;}var self=this;for(var i=0;i<this._svgScripts.length;i++){this._processSVGScript(this._svgScripts[i]);}for(var i=0;i<this._svgObjects.length;i++){var objID=this._processSVGObject(this._svgObjects[i]);this._svgObjects[i]._objID=objID;}},_createResizeListener:function(){var self=this;if(isIE){this._resizeFunc=(function(self){return function(){self._onWindowResize();};})(this);}else{this._resizeFunc=hitch(this,function(){this._onWindowResize();});}},_attachResizeListener:function(){if(isIE){window.attachEvent("onresize",this._resizeFunc);}else{window.addEventListener("resize",this._resizeFunc,false);}},_detachResizeListener:function(){if(isIE){window.detachEvent("onresize",this._resizeFunc);}else{window.removeEventListener("resize",this._resizeFunc,false);}},_onWindowResize:function(){if(!this.pageLoaded){return;}this._detachResizeListener();for(var i=0;i<this.handlers.length;i++){var handler=this.handlers[i];if(!handler._inserter||!handler.flash){continue;}var size=handler._inserter._determineSize();handler.flash.width=size.width;handler.flash.height=size.height;handler.sendToFlash("jsHandleResize",[size.pixelsWidth,size.pixelsHeight]);}this._attachResizeListener();},_getSVGScripts:function(){var scripts=document.getElementsByTagName("script");var results=[];for(var i=0;i<scripts.length;i++){if(scripts[i].type=="image/svg+xml"){results.push(scripts[i]);}}return results;},_getSVGObjects:function(){var objs=document.getElementsByTagName("object");var results=[];for(var i=0;i<objs.length;i++){if(objs[i].getAttribute("classid")=="image/svg+xml"){results.push(objs[i]);}else{if(objs[i].getAttribute("type")=="image/svg+xml"){results.push(objs[i]);}}}return results;},_displayNotSupported:function(reason){for(var i=0;i<this._svgObjects.length;i++){var obj=this._svgObjects[i];if(!obj.childNodes.length||(obj.childNodes.length==1&&obj.childNodes[0].nodeType==3&&/^[ ]*$/m.test(obj.childNodes[0].nodeValue))){var span=document.createElement("span");span.className="svg-noscript";span.appendChild(document.createTextNode(reason));obj.parentNode.replaceChild(span,obj);}}for(var i=0;i<this._svgScripts.length;i++){var script=this._svgScripts[i];var output=document.createElement("span");output.className="svg-noscript";var sibling=script.nextSibling;while(sibling&&sibling.nodeType!=1){sibling=sibling.nextSibling;}if(sibling&&sibling.nodeName.toLowerCase()=="noscript"){var noscript=sibling;output.innerHTML=noscript.innerHTML;}else{output.appendChild(document.createTextNode(reason));}script.parentNode.insertBefore(output,script);}},_fireOnLoad:function(){if(this.handlers.length<this._svgObjects.length){return;}var allLoaded=true;for(var i=0;i<this.handlers.length;i++){var h=this.handlers[i];if(!h._loaded){allLoaded=false;break;}}if(!allLoaded){return;}this.pageLoaded=true;this._endTime=new Date().getTime();if(this._loadListeners.length){var self=this;window.setTimeout(function(){var listeners=self._loadListeners;self._loadListeners=[];this.totalLoaded=0;for(var i=0;i<listeners.length;i++){try{listeners[i]();}catch(exp){console.log("Error while firing onload: "+(exp.message||exp));}}},1);}},_cleanSVG:function(svg,addMissing,normalizeWhitespace){if(/^\s*<\!\[CDATA\[/.test(svg)){svg=svg.replace(/^\s*<\!\[CDATA\[/,"");svg=svg.replace(/\]\]>\s*/,"");}if(addMissing){if(/\<\?xml/m.test(svg)==false){svg='<?xml version="1.0"?>\n'+svg;}if(/xmlns\=['"]http:\/\/www\.w3\.org\/2000\/svg['"]/.test(svg)==false){svg=svg.replace("<svg",'<svg xmlns="http://www.w3.org/2000/svg"');}if(/xmlns:[^=]+=['"]http:\/\/www\.w3\.org\/1999\/xlink['"]/.test(svg)==false){svg=svg.replace("<svg",'<svg xmlns:xlink="http://www.w3.org/1999/xlink"');}}if(svg.charAt(0)!="<"){svg=svg.replace(/\s*<\?xml/,"<?xml");}RegExp.lastIndex=0;var match;var entityRE=/<!ENTITY\s+(\S+)\s+"([^"]*)"/g;while((match=entityRE.exec(svg))!=null){var entityName=RegExp.$1;var entityValue=RegExp.$2;svg=svg.split("&"+entityName+";").join(entityValue);}if(normalizeWhitespace){svg=svg.replace(/\>\s+\</gm,"><");}if(this.renderer==FlashHandler){svg=svg.replace(/<!\-\-[\s\S]*?\-\->/g,"");svg=svg.replace(/<svg/,"<SVGROOT");svg=svg.replace(/<svg/g,"<NESTEDSVG");svg=svg.replace(/<SVGROOT/,"<svg");var separator=svg.match(/<svg/)[0];var pieces=svg.split(/<svg/);var hasCData=(pieces[1].indexOf("<![CDATA[")!=-1);if(hasCData){RegExp.lastIndex=0;var cdataRE=/<\!\[CDATA\[/g;match=cdataRE.exec(pieces[1]);var cdataBlocks=[];i=0;while(match&&RegExp.rightContext){var startIdx=cdataRE.lastIndex-"<![CDATA[".length;var context=RegExp.rightContext;var endIdx=cdataRE.lastIndex+context.indexOf("]]>")+2;var section=context.substring(0,context.indexOf("]]>"));section="<![CDATA["+section+"]]>";cdataBlocks.push(section);var before=pieces[1].substring(0,startIdx);var after=pieces[1].substring(endIdx+1,pieces[1].length);pieces[1]=before+"__SVG_CDATA_TOKEN_"+i+after;match=cdataRE.exec(pieces[1]);i++;}}pieces[1]=pieces[1].replace(/>([^>]+)</g,"><__text>$1</__text><");if(hasCData){for(var i=0;i<cdataBlocks.length;i++){pieces[1]=pieces[1].replace("__SVG_CDATA_TOKEN_"+i,cdataBlocks[i]);}}svg=pieces[0]+separator+pieces[1];for(var i=2;i<pieces.length;i++){svg=svg+pieces[i];}}svg=svg.replace(/<NESTEDSVG/g,"<svg");if(this.renderer==FlashHandler){svg=FlashHandler._encodeFlashData(svg);svg=svg.replace(/xmlns(\:[^=]*)?=['"]http\:\/\/www\.w3\.org\/2000\/svg['"]/g,"xmlns$1='"+svgnsFake+"'");}var xml=this._addTracking(svg,normalizeWhitespace);if(typeof XMLSerializer!="undefined"){svg=(new XMLSerializer()).serializeToString(xml);}else{svg=xml.xml;}if(this.renderer==FlashHandler){svg=svg.replace(new RegExp(svgnsFake,"g"),svgns);}return{svg:svg,xml:xml};},_processSVGScript:function(script){var origSVG;if(!isXHTML){origSVG=script.innerHTML;}else{origSVG="";for(var i=0;i<script.childNodes.length;i++){origSVG+=script.childNodes[i].textContent;}}var results=this._cleanSVG(origSVG,true,true);var svg=results.svg;var xml=results.xml;var rootID=xml.documentElement.getAttribute("id");var rootOnload=xml.documentElement.getAttribute("onload");if(rootOnload){var defineEvtCode='var evt = { target: document.getElementById("'+rootID+'") ,currentTarget: document.getElementById("'+rootID+'") ,preventDefault: function() { this.returnValue=false; }};';rootOnload=new Function(defineEvtCode+rootOnload);var f=(function(rootOnload,rootID){return function(){var handler=svgweb.handlers[rootID];var root;if(svgweb.getHandlerType()=="flash"){root=handler.document.documentElement._getProxyNode();}else{root=document.getElementById(rootID);}return rootOnload.apply(root);};})(rootOnload,rootID);this._loadListeners.push(f);}var handler=new this.renderer({type:"script",svgID:rootID,xml:xml,svgString:svg,origSVG:origSVG,scriptNode:script});this.handlers[rootID]=handler;this.handlers.push(handler);handler.start();},_processSVGObject:function(obj){var objID=obj.getAttribute("id");if(!objID){obj.setAttribute("id",svgweb._generateID("__svg__random__","__object"));objID=obj.getAttribute("id");}var handler=new this.renderer({type:"object",objID:objID,objNode:obj});this.handlers[objID]=handler;this.handlers.push(handler);handler.start();return objID;},_generateID:function(prefix,postfix){if(!postfix){postfix="";}if(!prefix){prefix="";}return prefix+guid()+postfix;},_addTracking:function(svg,normalizeWhitespace){var parseWhitespace=!normalizeWhitespace;var xmlDoc=parseXML(svg,parseWhitespace);var root=xmlDoc.documentElement;if(root&&!root.getAttribute("id")){root.setAttribute("id",this._generateID("__svg__random__",null));}if(this.getHandlerType()!="flash"){return xmlDoc;}var current=root;while(current){if(current.nodeType==_Node.ELEMENT_NODE){current.setAttribute("__guid",guid());}if(current.nodeType==_Node.ELEMENT_NODE&&!current.getAttribute("id")){current.setAttribute("id",svgweb._generateID("__svg__random__",null));}var next=current.firstChild;if(next){current=next;continue;}while(current){if(current!=root){next=current.nextSibling;if(next){current=next;break;}}if(current==root){current=null;}else{current=current.parentNode;if(current.nodeType!=1||current.nodeName.toUpperCase()=="SVG"){current=null;}}}}return xmlDoc;},_handleDone:function(id,type,handler){this.totalLoaded++;if(type=="script"&&handler._scriptNode._onloadListeners){for(var i=0;i<handler._scriptNode._onloadListeners.length;i++){var f=handler._scriptNode._onloadListeners[i];if(svgweb.getHandlerType()=="flash"){f=f.listener;}else{var methodStr=handler._svgRoot.addEventListener.toString();if(methodStr.indexOf("[native code]")!=-1){NativeHandler._patchAddEventListener(handler._svgRoot);}}try{var root=document.getElementById(handler.id);f.apply(root);}catch(exp){console.log("Error while firing onload listener: "+exp.message||exp);}}handler._scriptNode._onloadListeners=[];}if(this.totalLoaded>=this.totalSVG){this._fireOnLoad();}},_handleHTMLTitleBug:function(){var head=document.getElementsByTagName("head")[0];var title=head.getElementsByTagName("title");if(title.length===0){title=document.createElement("title");head.appendChild(title);}},_fireFlashError:function(logString){},_exportID:function(node){node.__defineGetter__("id",function(){return node.getAttribute("id");});node.__defineSetter__("id",function(newValue){return node.setAttribute("id",newValue);});},_watchUnload:function(){window.attachEvent("onunload",function(evt){window.detachEvent("onunload",arguments.callee);svgweb._fireUnload();});},_fireUnload:function(){if(!isIE){return;}for(var i=0;i<svgweb.handlers.length;i++){if(svgweb.handlers[i].type=="object"){var removeMe=svgweb.handlers[i].flash;if(removeMe.parentNode){svgweb.removeChild(removeMe,removeMe.parentNode);}}else{svgweb.handlers[i].document.documentElement=null;}}var container=document.getElementById("__htc_container");if(container){for(var i=0;i<container.childNodes.length;i++){var child=container.childNodes[i];if(child.nodeType==1&&child.namespaceURI==svgns){child.detachEvent("onpropertychange",child._fakeNode.style._changeListener);child.style.item=null;child.style.setProperty=null;child.style.getPropertyValue=null;}if(child._fakeNode){child._fakeNode._htcNode=null;}child._fakeNode=null;child._handler=null;}container.parentNode.removeChild(container);container=null;}for(var i=0;i<svgweb.handlers.length;i++){var handler=svgweb.handlers[i];handler.flash=null;}svgweb.handlers=null;for(var i=0;i<svgweb._removedNodes.length;i++){var node=svgweb._removedNodes[i];if(node._fakeNode){node._fakeNode._htcNode=null;}node._fakeNode=null;node._handler=null;}svgweb._removedNodes=null;document.getElementById=document._getElementById;document._getElementById=null;document.getElementsByTagNameNS=document._getElementsByTagNameNS;document._getElementsByTagNameNS=null;document.createElementNS=document._createElementNS;document._createElementNS=null;document.createElement=document._createElement;document._createElement=null;document.createTextNode=document._createTextNode;document._createTextNode=null;document._importNodeFunc=null;document.createDocumentFragment=document._createDocumentFragment;document._createDocumentFragment=null;window.addEventListener=null;window._addEventListener=null;window.attachEvent=window._attachEvent;window._attachEvent=null;parseXMLCache=null;},_cleanupSVGObjects:function(){if(this.config.use=="flash"&&this.config.hasNativeSVG()){for(var i=0;i<this._svgObjects.length;i++){var obj=this._svgObjects[i];var div=document.createElement("div");for(var j=0;j<obj.attributes.length;j++){var attr=obj.attributes[j];div.setAttribute(attr.nodeName,attr.nodeValue);}var fallback=obj.innerHTML;div.innerHTML=fallback;obj.parentNode.replaceChild(div,obj);this._svgObjects[i]=div;}}for(var i=0;i<this._svgObjects.length;i++){this._svgObjects[i].style.visibility="hidden";}},_interceptOnloadListeners:function(){if(window.addEventListener){window._addEventListener=window.addEventListener;window.addEventListener=function(type,f,useCapture){if(type.toLowerCase()!="svgload"){return window._addEventListener(type,f,useCapture);}else{svgweb.addOnLoad(f);}};}else{window.addEventListener=function(type,f,useCapture){if(type.toLowerCase()=="svgload"){svgweb.addOnLoad(f);}};}if(isIE&&window.attachEvent){window._attachEvent=window.attachEvent;window.attachEvent=function(type,f){if(type.toLowerCase()!="onsvgload"){return window._attachEvent(type,f);}else{svgweb.addOnLoad(f);}};}},_saveWindowOnload:function(){var onsvgload=window.onsvgload;if(document.getElementsByTagName("body")){var body=document.getElementsByTagName("body")[0];if(body.getAttribute("onsvgload")){callbackStr=body.getAttribute("onsvgload");onsvgload=(function(callbackStr){return function(){eval(callbackStr);};})(callbackStr);}}if(onsvgload){if(isIE){this._loadListeners.splice(0,0,onsvgload);}else{this._loadListeners.push(onsvgload);}window.onsvgload=onsvgload=null;}}});function RenderConfig(){if(!this._forceFlash()){if(this.hasNativeSVG()){this.supported=true;this.use="native";return;}}else{console.log("Forcing Flash SVG viewer for this browser");}var info=new FlashInfo();if(info.capable){if(info.isVersionOrAbove(9,0,0)){this.supported=true;this.use="flash";}else{this.supported=false;this.reason="Flash 9+ required";}}else{this.supported=false;this.reason="Flash 9+ or a different browser required";}}extend(RenderConfig,{supported:false,reason:null,use:null,_forceFlash:function(){var results=false;var hasMeta=false;var meta=document.getElementsByTagName("meta");for(var i=0;i<meta.length;i++){if(meta[i].name=="svg.render.forceflash"&&meta[i].content.toLowerCase()=="true"){results=true;hasMeta=true;}}if(window.location.search.indexOf("svg.render.forceflash=true")!=-1){results=true;}else{if(hasMeta&&window.location.search.indexOf("svg.render.forceflash=false")!=-1){results=false;}}return results;},hasNativeSVG:function(){if(document.implementation&&document.implementation.hasFeature){return document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1");}else{return false;}}});function FlashInfo(){this._detectVersion();}FlashInfo.prototype={version:-1,versionMajor:-1,versionMinor:-1,versionRevision:-1,capable:false,isVersionOrAbove:function(reqMajorVer,reqMinorVer,reqVer){reqVer=parseFloat("."+reqVer);if(this.versionMajor>=reqMajorVer&&this.versionMinor>=reqMinorVer&&this.versionRevision>=reqVer){return true;}else{return false;}},_detectVersion:function(){var versionStr;for(var testVersion=25;testVersion>0;testVersion--){if(isIE){var axo;try{if(testVersion>6){axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+testVersion);}else{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}if(typeof axo=="object"){if(testVersion==6){axo.AllowScriptAccess="always";}versionStr=axo.GetVariable("$version");}}catch(e){continue;}}else{versionStr=this._JSFlashInfo(testVersion);}if(versionStr==-1){this.capable=false;return;}else{if(versionStr!==0){var versionArray;if(isIE){var tempArray=versionStr.split(" ");var tempString=tempArray[1];versionArray=tempString.split(",");}else{versionArray=versionStr.split(".");}this.versionMajor=versionArray[0];this.versionMinor=versionArray[1];this.versionRevision=versionArray[2];var versionString=this.versionMajor+"."+this.versionRevision;this.version=parseFloat(versionString);this.capable=true;break;}}}},_JSFlashInfo:function(testVersion){if(navigator.plugins!==null&&navigator.plugins.length>0){if(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]){var swVer2=navigator.plugins["Shockwave Flash 2.0"]?" 2.0":"";var flashDescription=navigator.plugins["Shockwave Flash"+swVer2].description;var descArray=flashDescription.split(" ");var tempArrayMajor=descArray[2].split(".");var versionMajor=tempArrayMajor[0];var versionMinor=tempArrayMajor[1];var tempArrayMinor=(descArray[3]||descArray[4]).split("r");var versionRevision=tempArrayMinor[1]>0?tempArrayMinor[1]:0;var version=versionMajor+"."+versionMinor+"."+versionRevision;return version;}}return -1;}};function FlashHandler(args){this.type=args.type;this._keyboardListeners=[];this._redrawManager=new _RedrawManager(this);if(this.type=="script"){this.id=args.svgID;this._xml=args.xml;this._svgString=args.svgString;this._origSVG=args.origSVG;this._scriptNode=args.scriptNode;}else{if(this.type=="object"){this.id=args.objID;this._objNode=args.objNode;}}}FlashHandler._unattachedDoc=parseXML('<?xml version="1.0"?>\n<svg xmlns="'+svgns+'"></svg>',false);FlashHandler._prepareBehavior=function(libraryPath,htcFilename){var ns=null;for(var i=0;i<document.namespaces.length;i++){if(document.namespaces.item(i).name=="svg"){ns=document.namespaces.item(i);break;}}if(ns===null){ns=document.namespaces.add("svg",svgns);}ns.doImport(libraryPath+htcFilename);};FlashHandler._getNode=function(nodeXML,handler){var node;node=svgweb._guidLookup["_"+nodeXML.getAttribute("__guid")];var fakeTextNode=false;if(!node&&nodeXML.nodeName=="__text"){fakeTextNode=true;}if(!node&&!fakeTextNode&&nodeXML.nodeType==_Node.ELEMENT_NODE){node=new _Element(nodeXML.nodeName,nodeXML.prefix,nodeXML.namespaceURI,nodeXML,handler,true);}else{if(!node&&(nodeXML.nodeType==_Node.TEXT_NODE||fakeTextNode)){node=new _Node("#text",_Node.TEXT_NODE,null,null,nodeXML,handler,false);}else{if(!node){throw new Error("Unknown node type given to _getNode: "+nodeXML.nodeType);}}}return node._getProxyNode();};FlashHandler._patchBrowserObjects=function(win,doc){if(doc._getElementById){return;}document._getElementById=document.getElementById;document.getElementById=FlashHandler._getElementById;document._getElementsByTagNameNS=document.getElementsByTagNameNS;document.getElementsByTagNameNS=FlashHandler._getElementsByTagNameNS;document._createElementNS=document.createElementNS;document.createElementNS=FlashHandler._createElementNS;document._createElement=document.createElement;document.createElement=FlashHandler._createElement;document._createTextNode=document.createTextNode;document.createTextNode=FlashHandler._createTextNode;document._importNodeFunc=FlashHandler._importNodeFunc;document._createDocumentFragment=document.createDocumentFragment;document.createDocumentFragment=FlashHandler._createDocumentFragment;};FlashHandler._getElementById=function(id){var result=document._getElementById(id);if(result!==null){return result;}for(var i=0;i<svgweb.handlers.length;i++){if(svgweb.handlers[i].type=="script"){result=svgweb.handlers[i].document.getElementById(id);}if(result){return result;}}return null;};FlashHandler._getElementsByTagNameNS=function(ns,localName){var results=createNodeList();if(document._getElementsByTagNameNS){var matches=document._getElementsByTagNameNS(ns,localName);for(var j=0;j<matches.length;j++){results.push(matches[j]);}}for(var i=0;i<svgweb.handlers.length;i++){if(svgweb.handlers[i].type=="script"){var doc=svgweb.handlers[i].document;var matches=doc.getElementsByTagNameNS(ns,localName);for(var j=0;j<matches.length;j++){results.push(matches[j]);}}}return results;};FlashHandler._createElementNS=function(ns,qname){if(ns===null||ns=="http://www.w3.org/1999/xhtml"){if(isIE){return document.createElement(qname);}else{return document._createElementNS(ns,qname);}}var namespaceFound=false;if(ns==svgns){ns=svgnsFake;namespaceFound=true;}if(!isIE){for(var i=0;!namespaceFound&&i<svgweb.handlers.length;i++){if(svgweb.handlers[i].type=="script"&&svgweb.handlers[i].document._namespaces["_"+ns]){namespaceFound=true;break;}}if(!namespaceFound){return document._createElementNS(ns,qname);}}var prefix;for(var i=0;i<svgweb.handlers.length;i++){if(svgweb.handlers[i].type=="script"){prefix=svgweb.handlers[i].document._namespaces["_"+ns];if(prefix){break;}}}if(prefix=="xmlns"||!prefix){prefix=null;}var node=new _Element(qname,prefix,ns);return node._getProxyNode();};FlashHandler._createElement=function(nodeName,forSVG){if(!forSVG){return document._createElement(nodeName);}else{if(forSVG&&nodeName.toLowerCase()=="object"){var obj=document._createElement("object");obj._onloadListeners=[];var addEventListener=obj.addEventListener;(function(_obj,_addEventListener){_obj.addEventListener=function(type,listener,useCapture){if(type.toLowerCase()=="svgload"){this._onloadListeners.push(listener);}else{if(!addEventListener){this.attachEvent("on"+type,listener);}else{_addEventListener(type,listener,useCapture);}}};})(obj,addEventListener);return obj;}}};FlashHandler._createTextNode=function(data,forSVG){if(!forSVG){return document._createTextNode(data);}else{var doc=FlashHandler._unattachedDoc;var nodeXML;if(isIE){nodeXML=doc.createElement("__text");}else{nodeXML=doc.createElementNS(svgnsFake,"__text");}nodeXML.appendChild(doc.createTextNode(data));var textNode=new _Node("#text",_Node.TEXT_NODE,null,null,nodeXML);textNode._nodeValue=data;textNode.ownerDocument=document;return textNode._getProxyNode();}};FlashHandler._importNodeFunc=function(doc,node,allChildren){switch(node.nodeType){case 1:var newNode=doc.createElement(node.nodeName);if(node.attributes&&node.attributes.length>0){for(var i=0;i<node.attributes.length;i++){var attrName=node.attributes[i].nodeName;var attrValue=node.getAttribute(attrName);newNode.setAttribute(attrName,attrValue);}}if(allChildren&&node.childNodes&&node.childNodes.length>0){for(var i=0;i<node.childNodes.length;i++){newNode.appendChild(document._importNodeFunc(doc,node.childNodes[i],allChildren));}}return newNode;break;case 3:return doc.createTextNode(node.nodeValue);break;}};FlashHandler._createDocumentFragment=function(forSVG){if(forSVG){return new _DocumentFragment(document)._getProxyNode();}else{return document._createDocumentFragment();}};FlashHandler._encodeFlashData=function(str){str=str.toString().replace(/\\/g,"\\\\");str=str.replace(/&/g,"__SVG__AMPERSAND");return str;};extend(FlashHandler,{flashID:null,flash:null,start:function(){if(this.type=="script"){this._handleScript();}else{if(this.type=="object"){this._handleObject();}}},_stringToMsg:function(msg){if(msg==null||typeof msg!="string"){return msg;}var results={};var tokens=msg.split(/__SVG__DELIMIT/g);for(var i=0;i<tokens.length;i++){var cutAt=tokens[i].indexOf(":");var propName=tokens[i].substring(0,cutAt);var propValue=tokens[i].substring(cutAt+1);if(propValue==="true"){propValue=true;}else{if(propValue==="false"){propValue=false;}else{if(propValue==="null"){propValue=null;}else{if(propValue==="undefined"){propValue=undefined;}}}}results[propName]=propValue;}return results;},debugMsg:function(msg){if(msg===undefined){return"undefined";}else{if(msg===null){return"null";}}var result=[];for(var i in msg){result.push(i+":"+msg[i]);}result=result.join(", ");return"{"+result+"}";},sendToFlash:function(invoke,args){var message=args.join("__SVG__DELIMIT");if(this._redrawManager.isSuspended()){this._redrawManager.batch(invoke,message);}else{return this.flash[invoke](message);}},onMessage:function(msg){msg=this._stringToMsg(msg);if(msg.type=="event"){this._onEvent(msg);return;}else{if(msg.type=="log"){this._onLog(msg);return;}else{if(msg.type=="script"){this._onObjectScript(msg);return;}else{if(msg.type=="viewsource"){this._onViewSource();return;}else{if(msg.type=="viewsourceDynamic"){this._onViewSourceDynamic(msg);return;}else{if(msg.type=="error"){this._onFlashError(msg);}}}}}}},fireOnLoad:function(id,type){svgweb._handleDone(id,type,this);},_handleScript:function(){this.document=new _Document(this._xml,this);this.document.documentElement=new _SVGSVGElement(this._xml.documentElement,this._svgString,this._scriptNode,this);},_handleObject:function(){this._svgObject=new _SVGObject(this._objNode,this);this._objNode=null;},_onLog:function(msg){console.log("FLASH: "+msg.logString);},_onEvent:function(msg){if(msg.eventType.substr(0,5)=="mouse"||msg.eventType=="click"){this._onMouseEvent(msg);return;}else{if(msg.eventType=="onRenderingFinished"){if(this.type=="script"){this.document.documentElement._onRenderingFinished(msg);}else{if(this.type=="object"){this._svgObject._onRenderingFinished(msg);}}return;}else{if(msg.eventType=="onFlashLoaded"){if(this.type=="script"){this.document.documentElement._onFlashLoaded(msg);}else{if(this.type=="object"){this._svgObject._onFlashLoaded(msg);}}return;}}}},_onMouseEvent:function(msg){var target=this._getElementByGuid(msg.targetGUID);var currentTarget=this._getElementByGuid(msg.currentTargetGUID);var evt={target:target._getProxyNode(),currentTarget:currentTarget._getProxyNode(),type:msg.eventType,clientX:new Number(msg.stageX),clientY:new Number(msg.stageY),screenX:new Number(msg.stageX),screenY:new Number(msg.stageY),altKey:msg.altKey,ctrlKey:msg.ctrlKey,shiftKey:msg.shiftKey,preventDefault:function(){this.returnValue=false;}};var handlers=currentTarget._listeners[msg.eventType];if(handlers){for(var i=0;i<handlers.length;i++){var handler=handlers[i];var listener=handler.listener;listener(evt);}}if(msg.scriptCode!=null){if(this.type=="object"){var defineEvtCode='var evt = { target: document.getElementById("'+target._getProxyNode().getAttribute("id")+'") ,\ncurrentTarget:document.getElementById("'+currentTarget._getProxyNode().getAttribute("id")+'") ,\ntype: "'+msg.eventType+'",\nclientX: '+new Number(msg.stageX)+",\nclientY: "+new Number(msg.stageY)+",\nscreenX: "+new Number(msg.stageX)+",\nscreenY: "+new Number(msg.stageY)+",\naltKey: "+msg.altKey+",\nctrlKey: "+msg.ctrlKey+",\nshiftKey: "+msg.shiftKey+",\npreventDefault: function() { this.returnValue=false; }\n};\n";var executeInContext=";(function (evt) { "+msg.scriptCode+"; }).call(evt.target, evt);\n";this.sandbox_eval(this._svgObject._sandboxedScript(defineEvtCode+executeInContext));}else{}}},_getElementByGuid:function(guid){var node=svgweb._guidLookup["_"+guid];if(node){return node;}var results;if(this.type=="script"){results=xpath(this._xml,null,'//*[@__guid="'+guid+'"]');}else{if(this.type=="object"){results=xpath(this._svgObject._xml,null,'//*[@__guid="'+guid+'"]');}}var nodeXML,node;if(results.length){nodeXML=results[0];}else{return null;}node=FlashHandler._getNode(nodeXML,this);node._passThrough=true;return node;},_onFlashError:function(msg){this._onLog(msg);svgweb._fireFlashError("FLASH: "+msg.logString);throw new Error("FLASH: "+msg.logString);},_onObjectScript:function(msg){this._svgObject._scriptsToExec.push(msg.script);},_onViewSource:function(){var origSVG=this._origSVG;if(!origSVG){origSVG="SVG Source Not Available";}origSVG=origSVG.replace(/>/g,"&gt;").replace(/</g,"&lt;");var w=window.open("","_blank");w.document.write("<html><body><pre>"+origSVG+"</pre></body></html>");w.document.close();},_onViewSourceDynamic:function(msg){if(msg.source.indexOf("<?xml")==-1){msg.source='<?xml version="1.0"?>\n'+msg.source;}msg.source=msg.source.replace(/<svg:([^ ]+) /g,"<$1 ");msg.source=msg.source.replace(/<\/svg:([^>]+)>/g,"</$1>");msg.source=msg.source.replace(/\n\s*<__text[^\/]*\/>/gm,"");msg.source=msg.source.replace(/<__text[^>]*>([^<]*)<\/__text>/gm,"$1");msg.source=msg.source.replace(/<__text[^>]*>/g,"");msg.source=msg.source.replace(/<\/__text>/g,"");msg.source=msg.source.replace(/\s*__guid="[^"]*"/g,"");msg.source=msg.source.replace(/ id="__svg__random__[^"]*"/g,"");msg.source=msg.source.replace(/>\n\n/g,">\n");msg.source=msg.source.replace(/>/g,"&gt;");msg.source=msg.source.replace(/</g,"&lt;");var w=window.open("","_blank");w.document.write("<body><pre>"+msg.source+"</pre></body>");w.document.close();}});function NativeHandler(args){this.type=args.type;this._xml=args.xml;if(this.type=="object"){this.id=args.objID;this._objNode=args.objNode;}else{if(this.type=="script"){this.id=args.svgID;this._svgString=args.svgString;this._scriptNode=args.scriptNode;}}}NativeHandler._patchBrowserObjects=function(win,doc){if(doc._getElementById){return;}doc._getElementById=doc.getElementById;doc.getElementById=function(id){var result=doc._getElementById(id);if(result!==null){if(result.parentNode===null){return null;}else{return result;}}result=xpath(doc,null,'//*[@id="'+id+'"]');if(result.length){var node=result[0];if(node.namespaceURI!==null&&node.namespaceURI!=svgns&&node.namespaceURI!="http://www.w3.org/1999/xhtml"){svgweb._exportID(node);}return node;}else{return null;}};doc._getElementsByTagNameNS=doc.getElementsByTagNameNS;doc.getElementsByTagNameNS=function(ns,localName){var result=doc._getElementsByTagNameNS(ns,localName);if(result!==null&&result.length!==0){if(ns!==null&&ns!="http://www.w3.org/1999/xhtml"&&ns!=svgns){for(var i=0;i<result.length;i++){var node=result[i];svgweb._exportID(node);}return result;}return result;}if(result===null||result.length===0){result=createNodeList();}var xpathResults;for(var i=0;i<svgweb.handlers.length;i++){var handler=svgweb.handlers[i];if(handler.type=="object"){continue;}var prefix=handler._namespaces["_"+ns];if(!prefix){continue;}var expr;if(prefix=="xmlns"){expr="//*[namespace-uri()='"+svgns+"' and name()='"+localName+"']";}else{if(prefix){expr="//"+prefix+":"+localName;}else{expr="//"+localName;}}xpathResults=xpath(doc,handler._svgRoot,expr,handler._namespaces);if(xpathResults!==null&&xpathResults!==undefined&&xpathResults.length>0){for(var j=0;j<xpathResults.length;j++){var node=xpathResults[j];if(node.namespaceURI!==null&&node.namespaceURI!=svgns&&node.namespaceURI!="http://www.w3.org/1999/xhtml"){svgweb._exportID(node);}result.push(node);}return result;}}return createNodeList();};doc._createElementNS=doc.createElementNS;doc.createElementNS=function(ns,localName){if(ns!=svgns||localName!="svg"){return doc._createElementNS(ns,localName);}var svg=doc._createElementNS(ns,localName);svg=NativeHandler._patchAddEventListener(svg);return svg;};doc._createElement=doc.createElement;doc.createElement=function(name,forSVG){if(!forSVG){return doc._createElement(name);}if(forSVG&&name=="object"){var obj=doc._createElement(name);obj=NativeHandler._patchAddEventListener(obj);return obj;}else{throw"Unknown createElement() call for SVG: "+name;}};NativeHandler._patchCloneNode();if(isFF){NativeHandler._patchStyleObject(win);}var rootElement=doc.rootElement;if(rootElement&&rootElement.localName=="svg"&&rootElement.namespaceURI==svgns){NativeHandler._patchSvgFileAddEventListener(win,doc);}};NativeHandler._patchCloneNode=function(){var proto;if(typeof SVGSVGElement!="undefined"){proto=SVGSVGElement.prototype;}else{proto=document.createElementNS(svgns,"svg").__proto__;}if(proto._cloneNode){return;}proto._cloneNode=proto.cloneNode;proto.cloneNode=function(deepClone){var results=this._cloneNode(deepClone);NativeHandler._patchAddEventListener(results);return results;};};NativeHandler._patchAddEventListener=function(root){if(!NativeHandler._objectAddEventListener){NativeHandler._objectAddEventListener=root.addEventListener;}root._addEventListener=NativeHandler._objectAddEventListener;root._onloadListeners=[];root.addEventListener=(function(self){return function(type,f,useCapture){if(type.toLowerCase()=="svgload"){this._onloadListeners.push(f);}else{root._addEventListener(type,f,useCapture);}};})();return root;};NativeHandler._patchStyleObject=function(win){var patchMe=win.CSSStyleDeclaration;for(var i=0;i<_Style._allStyles.length;i++){var styleName=_Style._allStyles[i];var stylePropName=styleName.replace(/([A-Z])/g,"-$1").toLowerCase();(function(styleName,stylePropName){patchMe.prototype.__defineSetter__(styleName,function(styleValue){return this.setProperty(stylePropName,styleValue,null);});patchMe.prototype.__defineGetter__(styleName,function(){return this.getPropertyValue(stylePropName);});})(styleName,stylePropName);}};NativeHandler._patchSvgFileAddEventListener=function(win,doc){var _addEventListener=win.addEventListener;win.addEventListener=function(type,listener,useCapture){if(type.toLowerCase()!="svgload"){_addEventListener(type,listener,useCapture);}else{if(doc.readyState=="complete"){listener();}}};win.__defineGetter__("onsvgload",function(){return this.__onsvgload;});win.__defineSetter__("onsvgload",function(listener){this.__onsvgload=listener;this.addEventListener("SVGLoad",listener,false);});};extend(NativeHandler,{start:function(){if(this.type=="object"){this._handleObject();}else{if(this.type=="script"){this._handleScript();}}},_handleScript:function(){this._namespaces=this._getNamespaces();this._processSVGScript(this._xml,this._svgString,this._scriptNode);this._loaded=true;svgweb._handleDone(this.id,"script",this);},_handleObject:function(){this._objNode.style.overflow="hidden";this._objNode.style.visibility="visible";if(this._objNode._svgWindow){this._onObjectLoad(this._objNode._svgFunc,this._objNode._svgWindow);}else{this._objNode._svgHandler=this;var self=this;var loadFunc=function(){if(!self._objNode.contentDocument){return;}var win=self._objNode.contentDocument.defaultView;self._onObjectLoad(self._objNode._svgFunc,win);};if(this._objNode._addEventListener){this._objNode._addEventListener("load",loadFunc,false);}else{this._objNode.addEventListener("load",loadFunc,false);}}},_onObjectLoad:function(func,win){if(this._loaded){return;}this._loaded=true;var doc=win.document;NativeHandler._patchBrowserObjects(win,doc);var root=doc.rootElement;if(root){this._patchCurrentTranslate(root);}win.svgns=svgns;win.xlinkns=xlinkns;this._namespaces=this._getNamespaces(doc);if(func){func.apply(win);}for(var i=0;this._objNode._onloadListeners&&i<this._objNode._onloadListeners.length;i++){func=this._objNode._onloadListeners[i];func.apply(this._objNode);}svgweb._fireOnLoad();},_processSVGScript:function(xml,svgString,scriptNode){var importedSVG=document.importNode(xml.documentElement,true);scriptNode.parentNode.replaceChild(importedSVG,scriptNode);this._svgRoot=importedSVG;this._patchCurrentTranslate(this._svgRoot);},_getNamespaces:function(doc){var results=[];var attrs;if(doc){attrs=doc.documentElement.attributes;}else{attrs=this._xml.documentElement.attributes;}for(var i=0;i<attrs.length;i++){var attr=attrs[i];if(/^xmlns:?(.*)$/.test(attr.nodeName)){var m=attr.nodeName.match(/^xmlns:?(.*)$/);var prefix=(m[1]?m[1]:"xmlns");var namespaceURI=attr.nodeValue;if(!results["_"+prefix]){results["_"+prefix]=namespaceURI;results["_"+namespaceURI]=prefix;results.push(namespaceURI);}}}return results;},_patchCurrentTranslate:function(root){var t;if(typeof SVGRoot!="undefined"){t=root.currentTranslate;}else{if(typeof root.currentTranslate.__proto__!="undefined"){t=root.currentTranslate.__proto__;}else{if(typeof SVGPoint!="undefined"){t=SVGPoint.prototype;}}}t.setX=function(newValue){return this.x=newValue;};t.getX=function(){return this.x;};t.setY=function(newValue){return this.y=newValue;};t.getY=function(){return this.y;};t.setXY=function(newValue1,newValue2){this.x=newValue1;this.y=newValue2;};}});function _RedrawManager(handler){this._handler=handler;this._batch=[];this._nextID=1;this._ids=[];this._timeoutIDs={};}extend(_RedrawManager,{isSuspended:function(){return(this._ids.length>0);},batch:function(method,message){this._batch.push(method+":"+message);},suspendRedraw:function(ms){if(ms===undefined){throw"Not enough arguments to suspendRedraw";}var id=this._nextID;this._nextID++;var self=this;var timeoutID=window.setTimeout(function(){self.unsuspendRedraw(id);delete self._timeoutIDs["_"+id];},ms);this._ids.push(id);this._timeoutIDs["_"+id]=timeoutID;this._handler.flash.jsSuspendRedraw();return id;},unsuspendRedraw:function(id){var idx=-1;for(var i=0;i<this._ids.length;i++){if(this._ids[i]==id){idx=i;break;}}if(idx==-1){throw"Unknown id passed to unsuspendRedraw: "+id;}if(this._timeoutIDs["_"+id]!=undefined){window.clearTimeout(this._timeoutIDs["_"+id]);}this._ids.splice(idx,1);delete this._timeoutIDs["_"+id];if(this.isSuspended()){return;}var sendMe=this._batch.join("__SVG__METHOD__DELIMIT");this._batch=[];try{this._handler.flash.jsUnsuspendRedrawAll(sendMe);}catch(exp){console.log("unsuspendRedraw exception: "+exp);}},unsuspendRedrawAll:function(){for(var i=0;i<this._ids.length;i++){this.unsuspendRedraw(this._ids[i]);}},forceRedraw:function(){}});function _DOMImplementation(){}extend(_DOMImplementation,{hasFeature:function(feature,version){}});function _Node(nodeName,nodeType,prefix,namespaceURI,nodeXML,handler,passThrough){if(nodeName===undefined&&nodeType===undefined){return;}this.nodeName=nodeName;this._nodeXML=nodeXML;this._handler=handler;this._listeners={};this._detachedListeners=[];this.fake=true;if(namespaceURI==svgnsFake){namespaceURI=svgns;}this._attached=true;if(!this._handler){this._attached=false;}if(nodeType==_Node.ELEMENT_NODE&&!this._nodeXML&&!this._handler){var xml='<?xml version="1.0"?>\n';if(namespaceURI==svgns&&!prefix){xml+="<"+nodeName+' xmlns="'+svgnsFake+'"/>';}else{xml+="<"+nodeName+" xmlns:"+prefix+'="'+namespaceURI+'"/>';}this._nodeXML=parseXML(xml).documentElement;}else{if(nodeType==_Node.DOCUMENT_FRAGMENT_NODE){var xml='<?xml version="1.0"?>\n<__document__fragment></__document__fragment>';this._nodeXML=parseXML(xml).documentElement;}}if(nodeType!=_Node.DOCUMENT_NODE&&this._nodeXML){if(!this._nodeXML.getAttribute("__guid")){this._nodeXML.setAttribute("__guid",guid());}this._guid=this._nodeXML.getAttribute("__guid");svgweb._guidLookup["_"+this._guid]=this;}if(nodeType==_Node.ELEMENT_NODE){if(nodeName.indexOf(":")!=-1){this.localName=nodeName.match(/^[^:]*:(.*)$/)[1];}else{this.localName=nodeName;}}if(nodeType){this.nodeType=nodeType;}else{this.nodeType=_Node.ELEMENT_NODE;}if(nodeType==_Node.ELEMENT_NODE||nodeType==_Node.DOCUMENT_NODE||nodeType==_Node.DOCUMENT_FRAGMENT_NODE){this.prefix=prefix;this.namespaceURI=namespaceURI;this._nodeValue=null;}else{if(nodeType==_Node.TEXT_NODE){this._nodeValue=this._nodeXML.firstChild.nodeValue;this.prefix=null;this.namespaceURI=null;if(this._nodeValue===undefined){this._nodeValue=null;}}}this.ownerDocument=document;if(this._attached&&this._handler.type=="object"){this.ownerDocument=this._handler.document;}if(passThrough===undefined){passThrough=false;}this._passThrough=passThrough;if(isIE){this._createEmptyMethods();}this._childNodes=this._createChildNodes();if(nodeType==_Node.TEXT_NODE){this._nodeXML.setAttribute("__fakeTextNode",true);}if(!isIE){this._defineNodeAccessors();}else{if(isIE&&this.nodeType!=_Node.DOCUMENT_NODE){this._createHTC();}}}mixin(_Node,{ELEMENT_NODE:1,TEXT_NODE:3,DOCUMENT_NODE:9,DOCUMENT_FRAGMENT_NODE:11});extend(_Node,{_listeners:null,_detachedListeners:null,insertBefore:function(newChild,refChild){if(this.nodeType!=_Node.ELEMENT_NODE&&this.nodeType!=_Node.DOCUMENT_FRAGMENT_NODE){throw"Not supported";}if(newChild.parentNode){newChild.parentNode.removeChild(newChild);}newChild=this._getFakeNode(newChild);refChild=this._getFakeNode(refChild);var isFragment=(newChild.nodeType==_Node.DOCUMENT_FRAGMENT_NODE);var fragmentChildren;if(isFragment){fragmentChildren=newChild._getChildNodes(true);}if(isFragment&&fragmentChildren.length==0){newChild._reset();return newChild._getProxyNode();}var findResults=this._findChild(refChild);if(findResults===null){throw new Error("Invalid child passed to insertBefore");}var position=findResults.position;var importMe=[];if(isFragment){for(var i=0;i<fragmentChildren.length;i++){importMe.push(fragmentChildren[i]);}}else{importMe.push(newChild);}for(var i=0;i<importMe.length;i++){var importedNode=this._importNode(importMe[i],false);this._nodeXML.insertBefore(importedNode,refChild._nodeXML);this._processAppendedChildren(importMe[i],this,this._attached,this._passThrough);}if(this._attached&&this._passThrough){var xmlString=FlashHandler._encodeFlashData(xmlToStr(newChild,this._handler.document._namespaces));this._handler.sendToFlash("jsInsertBefore",[refChild._guid,this._guid,position,xmlString]);}if(!isIE){for(var i=0;i<importMe.length;i++){this._defineChildNodeAccessor(this._childNodes.length);this._childNodes.length++;}}if(newChild.nodeType==_Node.DOCUMENT_FRAGMENT_NODE){newChild._reset();}return newChild._getProxyNode();},replaceChild:function(newChild,oldChild){if(this.nodeType!=_Node.ELEMENT_NODE&&this.nodeType!=_Node.DOCUMENT_FRAGMENT_NODE){throw"Not supported";}if(newChild.parentNode){newChild.parentNode.removeChild(newChild);}newChild=this._getFakeNode(newChild);oldChild=this._getFakeNode(oldChild);var isFragment=(newChild.nodeType==_Node.DOCUMENT_FRAGMENT_NODE);var fragmentChildren;if(isFragment){fragmentChildren=newChild._getChildNodes(true);}if(isFragment&&fragmentChildren.length==0){newChild._reset();return newChild._getProxyNode();}var findResults=this._findChild(oldChild);if(findResults===null){throw new Error("Invalid child passed to replaceChild");}var position=findResults.position;this.removeChild(oldChild);var importMe=[];if(isFragment){for(var i=0;i<fragmentChildren.length;i++){importMe.push(fragmentChildren[i]);}}else{importMe.push(newChild);}if(!isIE){for(var i=0;i<importMe.length;i++){this._defineChildNodeAccessor(this._childNodes.length);this._childNodes.length++;}}var addToEnd=false;if(position>=this._nodeXML.childNodes.length){addToEnd=true;}var insertAt=position;for(var i=0;i<importMe.length;i++){var importedNode=this._importNode(importMe[i],false);if(addToEnd){this._nodeXML.appendChild(importedNode);}else{var placeBefore=this._nodeXML.childNodes[insertAt];this._nodeXML.insertBefore(importedNode,placeBefore);insertAt++;}}if(this._attached&&this._passThrough){var xmlString=FlashHandler._encodeFlashData(xmlToStr(newChild,this._handler.document._namespaces));this._handler.sendToFlash("jsAddChildAt",[this._guid,position,xmlString]);}this._processAppendedChildren(newChild,this,this._attached,this._passThrough);oldChild._setUnattached();svgweb._removedNodes.push(oldChild._getProxyNode());if(newChild.nodeType==_Node.DOCUMENT_FRAGMENT_NODE){newChild._reset();}return oldChild._getProxyNode();},removeChild:function(child){if(this.nodeType!=_Node.ELEMENT_NODE&&this.nodeType!=_Node.DOCUMENT_FRAGMENT_NODE){throw"Not supported";}if(child.nodeType!=_Node.ELEMENT_NODE&&child.nodeType!=_Node.TEXT_NODE){throw"Not supported";}child=this._getFakeNode(child);var findResults=this._findChild(child);if(findResults===null){throw new Error("Invalid child passed to removeChild");}var position=findResults.position;this._nodeXML.removeChild(findResults.nodeXML);if(child.nodeType==_Node.ELEMENT_NODE){var childID=child._getId();if(childID&&this._attached){this._handler.document._nodeById["_"+childID]=undefined;}}child._persistEventListeners();if(!isIE){delete this._childNodes[this._childNodes.length-1];this._childNodes.length--;}else{this._childNodes.splice(position,1);}if(this._attached&&this._passThrough){this._handler.sendToFlash("jsRemoveChild",[child._guid]);}child._setUnattached();svgweb._removedNodes.push(child._getProxyNode());return child._getProxyNode();},appendChild:function(child){if(this.nodeType!=_Node.ELEMENT_NODE&&this.nodeType!=_Node.DOCUMENT_FRAGMENT_NODE){throw"Not supported";}if(child.parentNode){child.parentNode.removeChild(child);}child=this._getFakeNode(child);var isFragment=(child.nodeType==_Node.DOCUMENT_FRAGMENT_NODE);var fragmentChildren;if(isFragment){fragmentChildren=child._getChildNodes(true);}if(isFragment&&fragmentChildren.length==0){child._reset();return child._getProxyNode();}if(isFragment){for(var i=0;i<fragmentChildren.length;i++){this._importNode(fragmentChildren[i]);}}else{this._importNode(child);}if(isIE){if(isFragment){for(var i=0;i<fragmentChildren.length;i++){this._childNodes.push(fragmentChildren[i]._htcNode);}}else{this._childNodes.push(child._htcNode);}}else{if(isFragment){for(var i=0;i<fragmentChildren.length;i++){this._defineChildNodeAccessor(this._childNodes.length);this._childNodes.length++;}}else{this._defineChildNodeAccessor(this._childNodes.length);this._childNodes.length++;}}if(this._attached&&this._passThrough){var xmlString=FlashHandler._encodeFlashData(xmlToStr(child,this._handler.document._namespaces));this._handler.sendToFlash("jsAppendChild",[this._guid,xmlString]);}this._processAppendedChildren(child,this,this._attached,this._passThrough);if(child.nodeType==_Node.DOCUMENT_FRAGMENT_NODE){child._reset();}return child._getProxyNode();},hasChildNodes:function(){return(this._getChildNodes().length>0);},isSupported:function(feature,version){if(version=="2.0"){if(feature=="Core"){return true;}else{if(feature=="Events"||feature=="UIEvents"||feature=="MouseEvents"){return true;}}}else{return false;}},hasAttributes:function(){if(this.nodeType==_Node.ELEMENT_NODE){for(var i in this._attributes){if(/^_xmlns/i.test(i)){continue;}if(i=="_id"&&/^__svg__random__/.test(this._attributes[i])){continue;}if(i=="___guid"&&/^__guid/.test(this._attributes[i])){continue;}if(i=="___fakeTextNode"&&/^__fakeTextNode/.test(this._attributes[i])){continue;}if(/^_.*/.test(i)&&this._attributes.hasOwnProperty(i)){return true;}}return false;}else{return false;}},addEventListener:function(type,listener,useCapture,_adding){if(this.nodeType!=_Node.ELEMENT_NODE&&this.nodeType!=_Node.TEXT_NODE){throw"Not supported";}if(!_adding&&!this._attached){this._detachedListeners.push({type:type,listener:listener,useCapture:useCapture});return;}if(this._listeners[type]===undefined){this._listeners[type]=[];}this._listeners[type].push({type:type,listener:listener,useCapture:useCapture});this._listeners[type]["_"+listener.toString()+":"+useCapture]=listener;if(type=="keydown"){var wrappedListener=(function(listener){return function(evt){if(!evt.preventDefault){evt.preventDefault=function(){this.returnValue=false;evt=null;};}listener(evt);};})(listener);wrappedListener.__type=type;wrappedListener.__listener=listener;wrappedListener.__useCapture=useCapture;this._handler._keyboardListeners.push(wrappedListener);this._addEvent(document,type,wrappedListener);return;}this._handler.sendToFlash("jsAddEventListener",[this._guid,type]);},removeEventListener:function(type,listener,useCapture){if(this.nodeType!=_Node.ELEMENT_NODE&&this.nodeType!=_Node.TEXT_NODE){throw"Not supported";}var pos;if(!this._attached){pos=this._findListener(this._detachedListeners,type,listener,useCapture);if(pos!==null){delete this._detachedListeners[pos];}return;}pos=this._findListener(this._listeners,type,listener,useCapture);if(pos!==null){delete this._listeners[pos];delete this._listeners[type]["_"+listener.toString()+":"+useCapture];}if(type=="keydown"){pos=this._findListener(this._keyboardListeners,type,listener,useCapture);if(pos!==null){delete this._keyboardListeners[pos];}}this._handler.sendToFlash("jsRemoveEventListener",[this._guid,type]);},getScreenCTM:function(){var msg=this._handler.sendToFlash("jsGetScreenCTM",[this._guid]);msg=this._handler._stringToMsg(msg);return new _SVGMatrix(new Number(msg.a),new Number(msg.b),new Number(msg.c),new Number(msg.d),new Number(msg.e),new Number(msg.f),this._handler);},getCTM:function(){return this.getScreenCTM();},cloneNode:function(deepClone){var clone;if(this.nodeType==_Node.ELEMENT_NODE&&this.namespaceURI!=svgns){clone=new _Element(this.nodeName,this.prefix,this.namespaceURI);}else{if(this.nodeType==_Node.ELEMENT_NODE){clone=document.createElementNS(this.namespaceURI,this.nodeName);}else{if(this.nodeType==_Node.TEXT_NODE){clone=document.createTextNode(this._nodeValue,true);}else{if(this.nodeType==_Node.DOCUMENT_FRAGMENT_NODE){clone=document.createDocumentFragment(true);}else{throw"cloneNode not supported for nodeType: "+this.nodeType;}}}}clone=this._getFakeNode(clone);var attrs=this._nodeXML.attributes;for(var i=0;i<attrs.length;i++){var attr=attrs.item(i);var m=attr.name.match(/([^:]+):?(.*)/);var ns=attr.namespaceURI;if(isSafari&&attr.name.indexOf("xmlns")!=-1){clone._nodeXML.setAttribute(attr.name,attr.nodeValue);}else{var attrNode;var doc=clone._nodeXML.ownerDocument;if(isIE){attrNode=doc.createNode(2,attr.name,ns);}else{attrNode=doc.createAttributeNS(ns,attr.name);}attrNode.nodeValue=attr.nodeValue;if(isIE){clone._nodeXML.setAttributeNode(attrNode);}else{clone._nodeXML.setAttributeNodeNS(attrNode);}}}clone._nodeXML.setAttribute("__guid",clone._guid);if(isIE){var copyStyle=this._htcNode.style;for(var i=0;i<copyStyle.length;i++){var styleName=copyStyle.item(i);var styleValue=copyStyle.getPropertyValue(styleName);clone._htcNode.style.length++;clone.style.length++;clone.style._ignoreStyleChanges=true;clone._htcNode.style[styleName]=styleValue;clone.style._ignoreStyleChanges=false;}}if(clone.nodeType==_Node.ELEMENT_NODE){clone._importAttributes(clone,clone._nodeXML);}if(deepClone&&(clone.nodeType==_Node.ELEMENT_NODE||clone.nodeType==_Node.DOCUMENT_FRAGMENT_NODE)){var children=this._getChildNodes();for(var i=0;i<children.length;i++){var childClone=children[i].cloneNode(true);clone.appendChild(childClone);}}clone.ownerDocument=this.ownerDocument;return clone._getProxyNode();},toString:function(){if(this.namespaceURI==svgns){return"[_SVG"+this.localName.charAt(0).toUpperCase()+this.localName.substring(1)+"]";}else{if(this.prefix){return"["+this.prefix+":"+this.localName+"]";}else{if(this.localName){return"["+this.localName+"]";}else{return"["+this.nodeName+"]";}}}},_addEvent:function(obj,type,fn){if(obj.addEventListener){obj.addEventListener(type,fn,false);}else{if(obj.attachEvent){obj["e"+type+fn]=fn;obj[type+fn]=(function(obj,type,fn){return function(){obj["e"+type+fn](window.event);};})(obj,type,fn);obj.attachEvent("on"+type,obj[type+fn]);}}},nodeName:null,nodeType:null,ownerDocument:null,namespaceURI:null,localName:null,prefix:null,_getParentNode:function(){if(this.nodeType==_Node.DOCUMENT_NODE||this.nodeType==_Node.DOCUMENT_FRAGMENT_NODE){return null;}if(this.nodeName=="svg"&&this._handler.type=="script"){return this._handler.flash.parentNode;}else{if(this.nodeName=="svg"&&this._handler.type=="object"){return this._handler.document;}}var parentXML=this._nodeXML.parentNode;if(parentXML===null||parentXML.nodeType==_Node.DOCUMENT_NODE){return null;}var node=FlashHandler._getNode(parentXML,this._handler);return node;},_getFirstChild:function(){if(this.nodeType==_Node.TEXT_NODE){return null;}var childXML=this._nodeXML.firstChild;if(childXML===null){return null;}var node=FlashHandler._getNode(childXML,this._handler);this._getFakeNode(node)._passThrough=this._passThrough;return node;},_getLastChild:function(){if(this.nodeType==_Node.TEXT_NODE){return null;}var childXML=this._nodeXML.lastChild;if(childXML===null){return null;}var node=FlashHandler._getNode(childXML,this._handler);this._getFakeNode(node)._passThrough=this._passThrough;return node;},_getPreviousSibling:function(){if(this.nodeType==_Node.DOCUMENT_NODE||this.nodeType==_Node.DOCUMENT_FRAGMENT_NODE){return null;}if(this.nodeName=="svg"&&this._handler.type=="script"){var sibling=this._handler.flash.previousSibling;if(sibling&&sibling.nodeType==1&&sibling.className&&sibling.className.indexOf("embedssvg")!=-1){var rootID=sibling.getAttribute("id").replace("_flash","");var node=svgweb.handlers[rootID].document.documentElement;return node._getProxyNode();}else{return sibling;}}var siblingXML=this._nodeXML.previousSibling;if(siblingXML===null||siblingXML.nodeType==7){return null;}var node=FlashHandler._getNode(siblingXML,this._handler);this._getFakeNode(node)._passThrough=this._passThrough;return node;},_getNextSibling:function(){if(this.nodeType==_Node.DOCUMENT_NODE||this.nodeType==_Node.DOCUMENT_FRAGMENT_NODE){return null;}if(this.nodeName=="svg"&&this._handler.type=="script"){var sibling=this._handler.flash.nextSibling;if(sibling&&sibling.nodeType==1&&sibling.className&&sibling.className.indexOf("embedssvg")!=-1){var id=sibling.getAttribute("id").replace("_flash","");var node=this._handler.document._nodeById["_"+id];return node._getProxyNode();}else{return sibling;}}var siblingXML=this._nodeXML.nextSibling;if(siblingXML===null){return null;}var node=FlashHandler._getNode(siblingXML,this._handler);this._getFakeNode(node)._passThrough=this._passThrough;return node;},_passThrough:false,_attached:true,_fake:true,_defineNodeAccessors:function(){this.__defineGetter__("parentNode",hitch(this,this._getParentNode));this.__defineGetter__("firstChild",hitch(this,this._getFirstChild));this.__defineGetter__("lastChild",hitch(this,this._getLastChild));this.__defineGetter__("previousSibling",hitch(this,this._getPreviousSibling));this.__defineGetter__("nextSibling",hitch(this,this._getNextSibling));this.__defineGetter__("childNodes",(function(self){return function(){return self._childNodes;};})(this));if(this.nodeName=="#text"){this._childNodes.length=0;}else{var children=this._nodeXML.childNodes;this._childNodes.length=children.length;for(var i=0;i<children.length;i++){this._defineChildNodeAccessor(i);}}if(this.nodeType==_Node.TEXT_NODE){this.__defineGetter__("data",(function(self){return function(){return self._nodeValue;};})(this));this.__defineSetter__("data",(function(self){return function(newValue){return self._setNodeValue(newValue);};})(this));this.__defineGetter__("textContent",(function(self){return function(){return self._nodeValue;};})(this));this.__defineSetter__("textContent",(function(self){return function(newValue){return self._setNodeValue(newValue);};})(this));}else{this.__defineGetter__("textContent",(function(){return function(){return"";};})());}this.__defineGetter__("nodeValue",(function(self){return function(){return self._nodeValue;};})(this));this.__defineSetter__("nodeValue",(function(self){return function(newValue){return self._setNodeValue(newValue);};})(this));},_defineChildNodeAccessor:function(i){var self=this;this._childNodes.__defineGetter__(i,function(){var childXML=self._nodeXML.childNodes[i];var node=FlashHandler._getNode(childXML,self._handler);node._passThrough=self._passThrough;return node;});},_getChildNodes:function(returnFakeNodes){if(!isIE){return this._childNodes;}if(returnFakeNodes===undefined){returnFakeNodes=false;}var results=createNodeList();if(this.nodeName=="#text"){return results;}if(this._nodeXML.childNodes.length==this._childNodes.length&&!returnFakeNodes){return this._childNodes;}else{for(var i=0;i<this._nodeXML.childNodes.length;i++){var childXML=this._nodeXML.childNodes[i];var node=FlashHandler._getNode(childXML,this._handler);node._fakeNode._passThrough=this._passThrough;if(returnFakeNodes){node=node._fakeNode;}results.push(node);}this._childNodes=results;return results;}},_createHTC:function(){if(!this._htcContainer){this._htcContainer=document.getElementById("__htc_container");if(!this._htcContainer){var body=document.getElementsByTagName("body")[0];var c=document.createElement("div");c.id="__htc_container";c.style.position="absolute";c.style.top="-5000px";c.style.left="-5000px";body.appendChild(c);this._htcContainer=c;}}var htcNode=document.createElement("svg:"+this.nodeName);htcNode._fakeNode=this;htcNode._handler=this._handler;this._htcContainer.appendChild(htcNode);this._htcNode=htcNode;},_setNodeValue:function(newValue){if(this.nodeType!=_Node.TEXT_NODE){return newValue;}this._nodeValue=newValue;this._nodeXML.firstChild.nodeValue=newValue;if(this._attached&&this._passThrough){var flashStr=FlashHandler._encodeFlashData(newValue);var parentGUID=this._nodeXML.parentNode.getAttribute("__guid");this._handler.sendToFlash("jsSetText",[parentGUID,this._guid,flashStr]);}return newValue;},_getFakeNode:function(node){if(!node){node=this;}if(isIE&&node._fakeNode){node=node._fakeNode;}return node;},_processAppendedChildren:function(child,parent,attached,passThrough){var current;var suspendID;if(child.nodeType==_Node.DOCUMENT_FRAGMENT_NODE){current=this._getFakeNode(child._getFirstChild());if(attached&&passThrough){suspendID=this._handler._redrawManager.suspendRedraw(10000);}}else{current=child;}while(current){var currentXML=current._nodeXML;current._handler=this._handler;var id=currentXML.getAttribute("id");if(attached&&current.nodeType==_Node.ELEMENT_NODE&&id){this._handler.document._nodeById["_"+id]=current;}if(attached){if(this._handler.type=="script"){current.ownerDocument=document;}else{if(this._handler.type=="object"){current.ownerDocument=this._handler.document;}}}if(attached){for(var i=0;i<current._detachedListeners.length;i++){var addMe=current._detachedListeners[i];current.addEventListener(addMe.type,addMe.listener,addMe.useCapture,true);}current._detachedListeners=[];}var lastVisited=current;var children=current._getChildNodes();var next=(children&&children.length>0)?children[0]:null;if(next){current=next;if(isIE){current=current._fakeNode;}}while(!next&&current){if(current!=child){next=current._getNextSibling();if(next){current=next;if(isIE){current=current._fakeNode;}break;}}if(current==child){current=null;}else{current=current._getParentNode();if(current&&isIE){current=current._fakeNode;}if(current&&(current.nodeType!=1||current.nodeName.toUpperCase()=="SVG")){current=null;}}}lastVisited._attached=attached;lastVisited._passThrough=passThrough;}if(child.nodeType==_Node.DOCUMENT_FRAGMENT_NODE&&attached&&passThrough){this._handler._redrawManager.unsuspendRedraw(suspendID);}},_importNode:function(child,doAppend){if(typeof doAppend=="undefined"){doAppend=true;}var doc;if(this._attached){doc=this._handler.document._xml;}else{doc=this._nodeXML.ownerDocument;}var importedNode;if(typeof doc.importNode=="undefined"){importedNode=document._importNodeFunc(doc,child._nodeXML,true);}else{importedNode=doc.importNode(child._nodeXML,true);}if(doAppend){this._nodeXML.appendChild(importedNode);}child._importChildXML(importedNode);return importedNode;},_importChildXML:function(newXML){this._nodeXML=newXML;var children=this._getChildNodes();for(var i=0;i<children.length;i++){var currentChild=children[i];if(isIE&&currentChild._fakeNode){currentChild=currentChild._fakeNode;}currentChild._nodeXML=this._nodeXML.childNodes[i];currentChild._importChildXML(this._nodeXML.childNodes[i]);}},_findChild:function(child,ignoreTextNodes){if(ignoreTextNodes===undefined){ignoreTextNodes=false;}var results={};var elementIndex=0;for(var i=0;i<this._nodeXML.childNodes.length;i++){var currentXML=this._nodeXML.childNodes[i];if(currentXML.nodeType!=_Node.ELEMENT_NODE&&currentXML.nodeType!=_Node.TEXT_NODE){continue;}if(ignoreTextNodes&&(currentXML.getAttribute("__fakeTextNode")||currentXML.nodeType==_Node.TEXT_NODE)){continue;}if(currentXML.nodeType==_Node.ELEMENT_NODE){elementIndex++;}if(currentXML.nodeType==_Node.ELEMENT_NODE&&currentXML.getAttribute("__guid")==child._guid){results.position=(ignoreTextNodes)?elementIndex:i;results.nodeXML=currentXML;return results;}}return null;},_setUnattached:function(){var children=this._getChildNodes();for(var i=0;i<children.length;i++){var child=children[i];if(isIE){child=child._fakeNode;}child._setUnattached();}this._attached=false;this._passThrough=false;this._handler=null;},_getProxyNode:function(){if(!isIE){return this;}else{return this._htcNode;}},_createChildNodes:function(){var childNodes;if(!isIE){childNodes={};childNodes.item=function(index){if(index>=this.length){return null;}else{return this[index];}};}else{childNodes=createNodeList();}return childNodes;},_getTextContent:function(){if(this.nodeType==_Node.TEXT_NODE){return this._nodeValue;}else{return"";}},_setTextContent:function(newValue){if(this.nodeType==_Node.TEXT_NODE){return this._setNodeValue(newValue);}else{return"";}},_getData:function(){if(this.nodeType==_Node.TEXT_NODE){return this._nodeValue;}else{return undefined;}},_setData:function(newValue){if(this.nodeType==_Node.TEXT_NODE){return this._setNodeValue(newValue);}else{return undefined;}},_createEmptyMethods:function(){if(this.nodeType==_Node.TEXT_NODE){this.getAttribute=this.getAttributeNS=this.setAttribute=this.setAttributeNS=this.removeAttribute=this.removeAttributeNS=this.hasAttribute=this.hasAttributeNS=this.getElementsByTagNameNS=this._getId=this._setId=this._getX=this._getY=this._getWidth=this._getHeight=this._getCurrentScale=this._setCurrentScale=this._getCurrentTranslate=this.createSVGRect=this.createSVGPoint=function(){return undefined;};}},_persistEventListeners:function(){for(var eventType in this._listeners){for(var i=0;i<this._listeners[eventType].length;i++){var l=this._listeners[eventType][i];this._detachedListeners.push({type:l.type,listener:l.listener,useCapture:l.useCapture});}}this._listeners=[];var children=this._getChildNodes();for(var i=0;i<children.length;i++){var c=children[i];if(c._fakeNode){c=c._fakeNode;}c._persistEventListeners();}},_findListener:function(listenerArray,type,listener,useCapture){for(var i=0;i<listenerArray.length;i++){var l=listenerArray[i];if(l.listener==listener&&l.type==type&&l.useCapture==useCapture){return i;}}return null;}});function _Element(nodeName,prefix,namespaceURI,nodeXML,handler,passThrough){if(nodeName===undefined&&namespaceURI===undefined&&nodeXML===undefined&&handler===undefined){return;}_Node.apply(this,[nodeName,_Node.ELEMENT_NODE,prefix,namespaceURI,nodeXML,handler,passThrough]);this._attributes={};this._attributes._id="";this._importAttributes(this,this._nodeXML);if(!isIE){this._defineAccessors();}if(this.namespaceURI==svgns){if(isIE&&this._attached&&this._handler.type=="script"&&this.nodeName=="svg"){}else{this.style=new _Style(this);}if(isIE&&this._attached&&this._handler.type=="script"&&this.nodeName=="svg"){}else{if(isIE){this.style._ignoreStyleChanges=false;}}}}_Element.prototype=new _Node;extend(_Element,{getAttribute:function(attrName){return this.getAttributeNS(null,attrName,true);},getAttributeNS:function(ns,localName,_forceNull){var value;if(ns==null&&localName=="__guid"){return null;}if(this._attached&&this._passThrough&&!this._handler._redrawManager.isSuspended()){value=this._handler.sendToFlash("jsGetAttribute",[this._guid,false,false,ns,localName,true]);}else{if(!isIE){value=this._nodeXML.getAttributeNS(ns,localName);}else{if(isIE){if(!ns){value=this._nodeXML.getAttribute(localName);}else{for(var i=0;i<this._nodeXML.attributes.length;i++){var attr=this._nodeXML.attributes.item(i);var attrName=new String(attr.name).match(/[^:]*:?(.*)/)[1];if(attr.namespaceURI&&attr.namespaceURI==ns&&attrName==localName){value=attr.nodeValue;break;}}}}}}if(ns=="null"&&localName=="id"&&!value){return"";}if(value===undefined||value===null||/^[ ]*$/.test(value)){return(_forceNull)?null:"";}return value;},removeAttribute:function(name){this.removeAttributeNS(null,name);},removeAttributeNS:function(ns,localName){if(localName=="id"&&this._attached&&this.namespaceURI==svgns){var doc=this._handler.document;var elementId=this._nodeXML.getAttribute("id");doc._nodeById["_"+elementId]=undefined;}var attrNode;if(!ns){attrNode=this._nodeXML.getAttributeNode(localName);}else{for(var i=0;i<this._nodeXML.attributes.length;i++){var current=this._nodeXML.attributes.item(i);var m=new String(current.name).match(/([^:]+:)?(.*)/);var prefix,attrName;if(current.name.indexOf(":")!=-1){prefix=m[1];attrName=m[2];}else{attrName=m[1];}if(current.namespaceURI&&current.namespaceURI==ns&&attrName==localName){attrNode=current;break;}}}if(!attrNode){console.log("No attribute node found for: "+localName+" in the namespace: "+ns);return;}this._nodeXML.removeAttributeNode(attrNode);var qName=localName;if(ns){qName=prefix+":"+localName;}this._attributes["_"+qName]=undefined;if(this._attached&&this._passThrough){this._handler.sendToFlash("jsRemoveAttribute",[this._guid,ns,localName]);}},setAttribute:function(attrName,attrValue){this.setAttributeNS(null,attrName,attrValue);},setAttributeNS:function(ns,qName,attrValue){if(attrValue===null||typeof attrValue=="undefined"){attrValue="";}var localName=qName;if(qName.indexOf(":")!=-1){localName=qName.split(":")[1];}if(this._attached&&qName=="id"){var doc=this._handler.document;var elementId=this._nodeXML.getAttribute("id");doc._nodeById["_"+elementId]=undefined;if(elementId===0||elementId){doc._nodeById["_"+attrValue]=this;}}if(isSafari&&localName=="style"&&this._nodeXML.parentNode!==null&&this._nodeXML.parentNode.nodeName=="clipPath"){var addBeforeXML=this._nodeXML.nextSibling;var origParent=this._nodeXML.parentNode;this._nodeXML.parentNode.removeChild(this._nodeXML);this._nodeXML.setAttribute("style",attrValue);if(addBeforeXML){origParent.insertBefore(this._nodeXML,addBeforeXML);}else{origParent.appendChild(this._nodeXML);}}else{if(ns&&isIE){var attrNode=this._nodeXML.ownerDocument.createNode(2,qName,ns);attrNode.nodeValue=attrValue;this._nodeXML.setAttributeNode(attrNode);}else{if(isIE){this._nodeXML.setAttribute(qName,attrValue);}else{this._nodeXML.setAttributeNS(ns,qName,attrValue);}}}this._attributes["_"+qName]=attrValue;if(this._attached&&this._passThrough){var flashStr=FlashHandler._encodeFlashData(attrValue);this._handler.sendToFlash("jsSetAttribute",[this._guid,false,ns,localName,flashStr]);}},hasAttribute:function(localName){return this.hasAttributeNS(null,localName);},hasAttributeNS:function(ns,localName){if(!ns&&!isIE){return this._nodeXML.hasAttribute(localName);}else{if(!isIE){return this._nodeXML.hasAttributeNS(ns,localName);}else{var attrNode=null;for(var i=0;i<this._nodeXML.attributes.length;i++){var current=this._nodeXML.attributes.item(i);var m=new String(current.name).match(/(?:[^:]+:)?(.*)/);var attrName=m[1];var currentNS=current.namespaceURI;if(currentNS==""){currentNS=null;}if(ns==currentNS&&attrName==localName){attrNode=current;break;}}return(attrNode!=null);}}},getElementsByTagNameNS:function(ns,localName){var results=createNodeList();var matches;if(ns==""){ns=null;}if(ns==svgns){ns=svgnsFake;}if(this._nodeXML.getElementsByTagNameNS){results=this._nodeXML.getElementsByTagNameNS(ns,localName);}else{var namespaces=null;if(this._attached){namespaces=this._handler.document._namespaces;}var prefix="xmlns";if(ns&&ns!="*"&&namespaces){prefix=namespaces["_"+ns];if(prefix===undefined){return createNodeList();}}var query;if(ns=="*"&&localName=="*"){query="//*[ancestor::*[@__guid = '"+this._guid+"']]";}else{if(ns=="*"){query="//*[namespace-uri()='*' and local-name()='"+localName+"' and ancestor::*[@__guid = '"+this._guid+"']]";}else{if(localName=="*"){query="//*[namespace-uri()='"+ns+"' and ancestor::*[@__guid = '"+this._guid+"']]";}else{query="//"+localName+"[ancestor::*[@__guid = '"+this._guid+"']]| //*[namespace-uri()='"+ns+"' and local-name()='"+localName+"' and ancestor::*[@__guid = '"+this._guid+"']]";}}}matches=xpath(this._nodeXML.ownerDocument,this._nodeXML,query,namespaces);if(matches!==null&&matches!==undefined&&matches.length>0){for(var i=0;i<matches.length;i++){if(matches[i]===this._nodeXML){continue;}results.push(matches[i]);}}}if(ns=="*"&&localName=="*"){var temp=[];for(var i=0;i<results.length;i++){if(results[i].nodeType==_Node.ELEMENT_NODE&&results[i].nodeName!="__text"){temp.push(results[i]);}}results=temp;}var nodes=createNodeList();for(var i=0;i<results.length;i++){var elem=FlashHandler._getNode(results[i],this._handler);elem._passThrough=true;nodes.push(elem);}return nodes;},style:null,_setClassName:function(className){},_getClassName:function(){},_setTransform:function(transform){},_getTransform:function(){},_getViewBox:function(){},_getId:function(){if(this._attributes._id){return this._attributes._id;}else{return"";}},_setId:function(id){return this.setAttribute("id",id);},ownerSVGElement:null,_getX:function(){var value=this._trimMeasurement(this.getAttribute("x"));return new _SVGAnimatedLength(new _SVGLength(new Number(value)));},_getY:function(){var value=this._trimMeasurement(this.getAttribute("y"));return new _SVGAnimatedLength(new _SVGLength(new Number(value)));},_getWidth:function(){var value=this._trimMeasurement(this.getAttribute("width"));return new _SVGAnimatedLength(new _SVGLength(new Number(value)));},_getHeight:function(){var value=this._trimMeasurement(this.getAttribute("height"));return new _SVGAnimatedLength(new _SVGLength(new Number(value)));},_getCurrentScale:function(){return this._currentScale;},_setCurrentScale:function(newScale){if(newScale!==this._currentScale){this._currentScale=newScale;this._handler.sendToFlash("jsSetCurrentScale",[newScale]);}return newScale;},_getCurrentTranslate:function(){return this._currentTranslate;},createSVGPoint:function(){return new _SVGPoint(0,0);},createSVGRect:function(){return new _SVGRect(0,0,0,0);},_trimMeasurement:function(value){if(value!==null){value=value.replace(/[a-z]/gi,"");}return value;},_getInnerHTML:function(){},_setInnerHTML:function(newValue){},_allEvents:["onfocusin","onfocusout","onactivate","onclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onload","onunload","onabort","onerror","onresize","onscroll","onzoom","onbegin","onend","onrepeat"],_handleEvent:function(evt){},_prepareEvents:function(){},_attributes:null,_importAttributes:function(target,nodeXML){for(var i=0;i<nodeXML.attributes.length;i++){var attr=nodeXML.attributes[i];this._attributes["_"+attr.nodeName]=attr.nodeValue;}},_defineAccessors:function(){var props;var self=this;if(this.nodeName=="svg"||this.nodeName=="use"){this.__defineGetter__("x",function(){return self._getX();});this.__defineGetter__("y",function(){return self._getY();});this.__defineGetter__("width",function(){return self._getWidth();});this.__defineGetter__("height",function(){return self._getHeight();});}if(this.nodeName=="svg"){this.__defineGetter__("currentTranslate",function(){return self._getCurrentTranslate();});this.__defineGetter__("currentScale",function(){return self._getCurrentScale();});this.__defineSetter__("currentScale",function(newScale){return self._setCurrentScale(newScale);});}this.__defineGetter__("id",hitch(this,this._getId));this.__defineSetter__("id",hitch(this,this._setId));},_defineAccessor:function(prop,readWrite){var self=this;var getMethod=function(){return self.getAttribute(prop);};this.__defineGetter__(prop,getMethod);if(readWrite){var setMethod=function(newValue){return self.setAttribute(prop,newValue);};this.__defineSetter__(prop,setMethod);}}});function _DocumentFragment(doc){_Node.apply(this,["#document-fragment",_Node.DOCUMENT_FRAGMENT_NODE,null,null,null,null]);this.ownerDocument=doc;}_DocumentFragment.prototype=new _Node;extend(_DocumentFragment,{_reset:function(){while(this._nodeXML.firstChild){this._nodeXML.removeChild(this._nodeXML.firstChild);}this._childNodes=this._createChildNodes();if(!isIE){this._defineNodeAccessors();}}});function _Style(element){this._element=element;this._setup();}_Style._allStyles=["font","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","direction","letterSpacing","textDecoration","unicodeBidi","wordSpacing","clip","color","cursor","display","overflow","visibility","clipPath","clipRule","mask","opacity","enableBackground","filter","floodColor","floodOpacity","lightingColor","stopColor","stopOpacity","pointerEvents","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","fill","fillOpacity","fillRule","imageRendering","marker","markerEnd","markerMid","markerStart","shapeRendering","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","textRendering","alignmentBaseline","baselineShift","dominantBaseline","glyphOrientationHorizontal","glyphOrientationVertical","kerning","textAnchor","writingMode"];_Style._allRootStyles=["border","verticalAlign","backgroundColor","top","right","bottom","left","position","width","height","margin","marginTop","marginBottom","marginRight","marginLeft","padding","paddingTop","paddingBottom","paddingLeft","paddingRight","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle","zIndex","overflowX","overflowY","float","clear"];extend(_Style,{_ignoreStyleChanges:true,_setup:function(){this._normalizeStyle();if(!isIE){for(var i=0;i<_Style._allStyles.length;i++){var styleName=_Style._allStyles[i];this._defineAccessor(styleName);}if(this._element.nodeName=="svg"){for(var i=0;i<_Style._allRootStyles.length;i++){var styleName=_Style._allRootStyles[i];this._defineAccessor(styleName);}}this.__defineGetter__("length",hitch(this,this._getLength));}else{var htcStyle=this._element._htcNode.style;var parsedStyle=this._fromStyleString();for(var i=0;i<parsedStyle.length;i++){var styleName=this._toCamelCase(parsedStyle[i].styleName);var styleValue=parsedStyle[i].styleValue;htcStyle[styleName]=styleValue;}htcStyle.length=0;this.length=0;htcStyle.item=hitch(this,this.item);htcStyle.setProperty=hitch(this,this.setProperty);htcStyle.getPropertyValue=hitch(this,this.getPropertyValue);this._changeListener=hitch(this,this._onPropertyChange);this._element._htcNode.attachEvent("onpropertychange",this._changeListener);}},_defineAccessor:function(styleName){var self=this;this.__defineGetter__(styleName,function(){return self._getStyleAttribute(styleName);});this.__defineSetter__(styleName,function(styleValue){return self._setStyleAttribute(styleName,styleValue);});},_setStyleAttribute:function(styleName,styleValue){var stylePropName=this._fromCamelCase(styleName);var parsedStyle=this._fromStyleString();var foundStyle=false;for(var i=0;i<parsedStyle.length;i++){if(parsedStyle[i].styleName===stylePropName){parsedStyle[i].styleValue=styleValue;foundStyle=true;break;}}if(!foundStyle){parsedStyle.push({styleName:stylePropName,styleValue:styleValue});}var styleString=this._toStyleString(parsedStyle);this._element._nodeXML.setAttribute("style",styleString);this._element._attributes._style=styleString;if(isIE){var htcStyle=this._element._htcNode.style;if(!foundStyle){htcStyle.length++;this.length++;}this._ignoreStyleChanges=true;htcStyle[styleName]=styleValue;this._ignoreStyleChanges=false;}if(this._element._attached&&this._element._passThrough){var flashStr=FlashHandler._encodeFlashData(styleValue);this._element._handler.sendToFlash("jsSetAttribute",[this._element._guid,true,null,stylePropName,flashStr]);}},_getStyleAttribute:function(styleName){var stylePropName=this._fromCamelCase(styleName);if(this._element._attached&&this._element._passThrough&&!this._element._handler._redrawManager.isSuspended()){var value=this._element._handler.sendToFlash("jsGetAttribute",[this._element._guid,true,false,null,stylePropName,false]);return value;}else{var parsedStyle=this._fromStyleString();for(var i=0;i<parsedStyle.length;i++){if(parsedStyle[i].styleName===stylePropName){return parsedStyle[i].styleValue;}}return null;}},_fromStyleString:function(){var styleValue=this._element._nodeXML.getAttribute("style");if(styleValue===null||styleValue===undefined){return[];}var baseStyles;if(styleValue.indexOf(";")==-1){baseStyles=[styleValue];}else{baseStyles=styleValue.split(/\s*;\s*/);if(!baseStyles[baseStyles.length-1]){baseStyles=baseStyles.slice(0,baseStyles.length-1);}}var results=[];for(var i=0;i<baseStyles.length;i++){var style=baseStyles[i];var styleSet=style.split(":");if(styleSet.length==2){var attrName=styleSet[0];var attrValue=styleSet[1];attrName=attrName.replace(/^\s+/,"");attrValue=attrValue.replace(/^\s+/,"");var entry={styleName:attrName,styleValue:attrValue};results.push(entry);}}return results;},_toStyleString:function(parsedStyle){var results="";for(var i=0;i<parsedStyle.length;i++){results+=parsedStyle[i].styleName+": ";results+=parsedStyle[i].styleValue+";";if(i!=(parsedStyle.length-1)){results+=" ";}}return results;},_fromCamelCase:function(styleName){return styleName.replace(/([A-Z])/g,"-$1").toLowerCase();},_toCamelCase:function(stylePropName){if(stylePropName.indexOf("-")==-1){return stylePropName;}var results="";var sections=stylePropName.split("-");results+=sections[0];for(var i=1;i<sections.length;i++){results+=sections[i].charAt(0).toUpperCase()+sections[i].substring(1);}return results;},setProperty:function(stylePropName,styleValue,priority){var styleName=this._toCamelCase(stylePropName);this._setStyleAttribute(styleName,styleValue);return styleValue;},getPropertyValue:function(stylePropName){var styleName=this._toCamelCase(stylePropName);return this._getStyleAttribute(styleName);},item:function(index){var parsedStyle=this._fromStyleString();return parsedStyle[index].styleName;},_getLength:function(){var parsedStyle=this._fromStyleString();return parsedStyle.length;},_normalizeStyle:function(){if(!this._element._nodeXML.getAttribute("style")){return;}if(!/[A-Z]/.test(this._element._nodeXML.getAttribute("style"))){return;}var parsedStyle=this._fromStyleString();for(var i=0;i<parsedStyle.length;i++){parsedStyle[i].styleName=parsedStyle[i].styleName.toLowerCase();if(parsedStyle[i].styleValue.indexOf("url(")==-1){parsedStyle[i].styleValue=parsedStyle[i].styleValue.toLowerCase();}}var results="";for(var i=0;i<parsedStyle.length;i++){results+=parsedStyle[i].styleName+": "+parsedStyle[i].styleValue+"; ";}if(results.charAt(results.length-1)==" "){results=results.substring(0,results.length-1);}var origPassThrough=this._element._passThrough;this._element._passThrough=false;this._element.setAttribute("style",results);this._element._passThrough=origPassThrough;},_onPropertyChange:function(){if(this._ignoreStyleChanges){return;}var prop=window.event.propertyName;if(prop&&/^style\./.test(prop)&&prop!="style.length"){var styleName=prop.match(/^style\.(.*)$/)[1];var styleValue=this._element._htcNode.style[styleName];this._setStyleAttribute(styleName,styleValue);}}});function _SVGObject(svgNode,handler){this._handler=handler;this._svgNode=svgNode;this._scriptsToExec=[];this._htcLoaded=false;this._swfLoaded=false;for(var i=0;this._svgNode._onloadListeners&&i<this._svgNode._onloadListeners.length;i++){var wrappedListener=(function(handler,listener){return function(){listener.apply(handler.flash);};})(this._handler,this._svgNode._onloadListeners[i]);svgweb.addOnLoad(wrappedListener);}if(isIE){this._loadHTC();}this.url=this._svgNode.getAttribute("src");if(!this.url){this.url=this._svgNode.getAttribute("data");}var successFunc=hitch(this,function(svgStr){this._handler._origSVG=svgStr;var results=svgweb._cleanSVG(svgStr,true,false);this._svgString=results.svg;this._xml=results.xml;this.document=new _Document(this._xml,this._handler);this._handler.document=this.document;var nodeXML=this._xml.documentElement;this._savedParams=this._getPARAMs(this._svgNode);this._handler._inserter=new FlashInserter("object",this._xml.documentElement,this._svgNode,this._handler);});if(this.url.substring(0,5)=="data:"){successFunc(this.url.substring(this.url.indexOf(",")+1));}else{this._fetchURL(this.url,successFunc,hitch(this,this._fallback));}}extend(_SVGObject,{_scriptsToExec:null,_utf8encode:function(string){string=string.replace(/\r\n/g,"\n");var utftext="";for(var n=0;n<string.length;n++){var c=string.charCodeAt(n);if(c<128){utftext+=String.fromCharCode(c);}else{if((c>127)&&(c<2048)){utftext+=escape(String.fromCharCode((c>>6)|192));utftext+=escape(String.fromCharCode((c&63)|128));}else{utftext+=escape(String.fromCharCode((c>>12)|224));utftext+=escape(String.fromCharCode(((c>>6)&63)|128));utftext+=escape(String.fromCharCode((c&63)|128));}}}return utftext;},_fetchURL:function(url,onSuccess,onFailure){var req=xhrObj();if(isIE){url=this._utf8encode(url);url+=(url.indexOf("?")==-1)?"?":"&";url+=new Date().getTime();}req.onreadystatechange=function(){if(req.readyState==4){if(req.status==200){onSuccess(req.responseText);}else{onFailure(req.status+": "+req.statusText);}req=null;}};req.open("GET",url,true);req.send(null);},_fallback:function(error){console.log("onError (fallback), error="+error);},_loadHTC:function(){this._dummyNode=document.createElement("svg:__force__load");this._dummyNode._handler=this._handler;this._readyStateListener=hitch(this,this._onHTCLoaded);this._dummyNode.attachEvent("onreadystatechange",this._readyStateListener);var head=document.getElementsByTagName("head")[0];head.appendChild(this._dummyNode);},_onFlashLoaded:function(msg){this._handler.flash=document.getElementById(this._handler.flashID);if(this._savedParams.length){for(var i=0;i<this._savedParams.length;i++){var param=this._savedParams[i];this._handler.flash.appendChild(param);param=null;}this._savedParams=null;}this._handler.flash.top=this._handler.flash.parent=window;this._swfLoaded=true;if(!isIE||this._htcLoaded){this._onEverythingLoaded();}},_onHTCLoaded:function(){var head=document.getElementsByTagName("head")[0];head.removeChild(this._dummyNode);this._dummyNode.detachEvent("onreadystatechange",this._readyStateListener);this._dummyNode=null;head=null;this._htcLoaded=true;if(this._swfLoaded){this._onEverythingLoaded();}},_onEverythingLoaded:function(){var size=this._handler._inserter._determineSize();this._handler.sendToFlash("jsHandleLoad",[this._getRelativeTo("object"),this._getRelativeTo("page"),size.pixelsWidth,size.pixelsHeight,false,this._svgString]);},_onRenderingFinished:function(msg){this._handler.flash.style.visibility="visible";var rootXML=this._xml.documentElement;var rootID=rootXML.getAttribute("id");var root=new _SVGSVGElement(rootXML,null,null,this._handler);var doc=this._handler.document;doc.documentElement=root._getProxyNode();doc.rootElement=root._getProxyNode();doc._nodeById["_"+rootID]=root;if(isIE){this._handler.flash.setAttribute("contentDocument",null);}this._handler.flash.contentDocument=doc;this._handler.window=new _SVGWindow(this._handler);doc.defaultView=this._handler.window;var onload=root.getAttribute("onload");if(onload){var defineEvtCode='var evt = { target: document.getElementById("'+root.getAttribute("id")+'") ,currentTarget: document.getElementById("'+root.getAttribute("id")+'") ,preventDefault: function() { this.returnValue=false; }};';onload="(function(){"+defineEvtCode+onload+"}).apply(document.documentElement);";this._scriptsToExec.push(onload);}var finalScript="";for(var i=0;i<this._scriptsToExec.length;i++){finalScript+=this._scriptsToExec[i]+"\n";}this._executeScript(finalScript);this._handler._loaded=true;this._handler.fireOnLoad(this._handler.id,"object");},_getRelativeTo:function(toWhat){var results="";if(toWhat=="object"){var pathname=this.url.replace(/[^:]*:\/\/[^\/]*/).match(/\/?[^\?\#]*/)[0];if(pathname&&pathname.length>0&&pathname.indexOf("/")!=-1){results=pathname.replace(/\/([^\/]*)$/,"/");}}else{var pathname=window.location.pathname.toString();if(pathname&&pathname.length>0&&pathname.indexOf("/")!=-1){results=pathname.replace(/\/([^\/]*)$/,"/");}}return results;},_executeScript:function(script){var iframe=document.createElement("iframe");iframe.setAttribute("src","about:blank");iframe.style.position="absolute";iframe.style.top="-1000px";iframe.style.left="-1000px";var body=document.getElementsByTagName("body")[0];body.appendChild(iframe);var iframeDoc=(iframe.contentDocument)?iframe.contentDocument:iframe.contentWindow.document;var iframeWin=iframe.contentWindow;this._handler.document.defaultView=iframeWin;script=this._sandboxedScript(script);script=script+";__svgHandler.sandbox_eval = "+(isIE?"window.eval;":"function(scriptCode) { return window.eval(scriptCode) };");iframeDoc.write("<script>"+script+"<\/script>");iframeDoc.close();this._handler.window._fireOnload();},_sandboxedScript:function(script){var addToTop='var __svgHandler = top.svgweb.handlers["'+this._handler.id+'"];\nwindow.svgns = "'+svgns+'";\nwindow.xlinkns = "'+xlinkns+'";\n';var timeoutOverride="window._timeoutIDs = [];\nwindow._setTimeout = window.setTimeout;\nwindow.setTimeout = \n (function() {\n return function(f, ms) {\n var timeID = window._setTimeout(f, ms);\n window._timeoutIDs.push(timeID);\n return timeID;\n };\n })();\n";var intervalOverride="window._intervalIDs = [];\nwindow._setInterval = window.setInterval;\nwindow.setInterval = \n (function() {\n return function(f, ms) {\n var timeID = window._setInterval(f, ms);\n window._intervalIDs.push(timeID);\n return timeID;\n };\n })();\n";script=addToTop+timeoutOverride+intervalOverride+"\n\n"+script;script=script.replace(/top\.document/g,"top.DOCUMENT");script=script.replace(/top\.window/g,"top.WINDOW");script=script.replace(/(^|[^A-Za-z0-9_])document(\.|'|"|\,| |\))/g,"$1__svgHandler.document$2");script=script.replace(/window\.(location|addEventListener|onload|frameElement)/g,"__svgHandler.window.$1");script=script.replace(/top\.DOCUMENT/g,"top.document");script=script.replace(/top\.WINDOW/g,"top.window");return script;},_getPARAMs:function(svgNode){var params=[];for(var i=0;i<svgNode.childNodes.length;i++){var child=svgNode.childNodes[i];if(child.nodeName.toUpperCase()=="PARAM"){params.push(child.cloneNode(false));}}return params;}});function _SVGWindow(handler){this._handler=handler;this.fake=true;this.frameElement=this._handler.flash;this.location=this._createLocation();this.alert=window.alert;this.top=this.parent=window;this._onloadListeners=[];}extend(_SVGWindow,{addEventListener:function(type,listener,capture){if(type.toLowerCase()=="SVGLoad"){this._onloadListeners.push(listener);}},_fireOnload:function(){for(var i=0;i<this._onloadListeners.length;i++){try{this._onloadListeners[i]();}catch(exp){console.log("The following exception occurred from an SVG onload listener: "+(exp.message||exp));}}if(this.onload){try{this.onload();}catch(exp){console.log("The following exception occurred from an SVG onload listener: "+(exp.message||exp));}}},_createLocation:function(fakeLocation){var loc={};var url=this._handler._svgObject.url;var windowLocation;if(fakeLocation){windowLocation=fakeLocation;}else{windowLocation=window.location;}if(/^data:/.test(url)){loc.href=url;loc.toString=function(){return this.href;};return loc;}if(/^http/.test(url)){}else{if(url.charAt(0)=="/"){url=windowLocation.protocol+"//"+windowLocation.host+url;}else{if(windowLocation.pathname.indexOf("/")==-1){url=windowLocation.protocol+"//"+windowLocation.host+"/"+url;}else{var relativeTo=windowLocation.pathname;for(var i=relativeTo.length-1;i>=0;i--){if(relativeTo.charAt(i)=="/"){break;}relativeTo=relativeTo.substring(0,i);}url=windowLocation.protocol+"//"+windowLocation.host+relativeTo+url;}}}var results=url.match(/^(https?:)\/\/([^\/:]*):?([0-9]*)([^\?#]*)([^#]*)(#.*)?$/);loc.protocol=(results[1])?results[1]:windowLocation.href;if(loc.protocol.charAt(loc.protocol.length-1)!=":"){loc.protocol+=":";}loc.hostname=results[2];loc.port="";if(results[3]){loc.port=results[3];}var sameDomain=true;if(loc.protocol!=windowLocation.protocol||loc.hostname!=windowLocation.hostname||(loc.port&&loc.port!=windowLocation.port)){sameDomain=false;}if(sameDomain&&!loc.port){loc.port=windowLocation.port;}if(loc.port){loc.host=loc.hostname+":"+loc.port;}else{loc.host=loc.hostname;}loc.pathname=(results[4])?results[4]:"";loc.search=(results[5])?results[5]:"";loc.hash=(results[6])?results[6]:"";loc.href=loc.protocol+"//"+loc.host+loc.pathname+loc.search+loc.hash;loc.toString=function(){return this.protocol+"//"+this.host+this.pathname+this.search+this.hash;};return loc;}});function FlashInserter(embedType,nodeXML,replaceMe,handler){this._embedType=embedType;this._nodeXML=nodeXML;this._replaceMe=replaceMe;this._handler=handler;this._parentNode=replaceMe.parentNode;if(this._embedType=="object"){this._explicitWidth=this._replaceMe.getAttribute("width");this._explicitHeight=this._replaceMe.getAttribute("height");}this._setupFlash();}extend(FlashInserter,{_setupFlash:function(){var size=this._determineSize();var background=this._determineBackground();var style=this._determineStyle();var className=this._determineClassName();var customAttrs=this._determineCustomAttrs();var elementID;if(this._embedType=="script"){elementID=this._nodeXML.getAttribute("id");this._handler.flashID=elementID+"_flash";}else{if(this._embedType=="object"){elementID=this._replaceMe.getAttribute("id");this._handler.flashID=elementID;}}var flash=this._createFlash(size,elementID,background,style,className,customAttrs);this._insertFlash(flash);},_insertFlash:function(flash){if(!isIE){var flashObj;if(!isXHTML){var div=document.createElement("div");div.innerHTML=flash;flashObj=div.childNodes[0];div.removeChild(flashObj);for(var i=0;i<flashObj.childNodes.length;i++){var check=flashObj.childNodes[i];if(check.nodeName.toUpperCase()=="EMBED"){flashObj=check;break;}}}else{if(isXHTML){flashObj=flash;}}this._replaceMe.parentNode.replaceChild(flashObj,this._replaceMe);return flashObj;}else{var self=this;window.setTimeout(function(){self._replaceMe.outerHTML=flash;self=null;},1);}},_determineSize:function(){var parentWidth=this._parentNode.clientWidth;var parentHeight=this._parentNode.clientHeight;if(parentHeight==0){this.invalidParentHeight=true;}if(parentWidth==0){parentWidth=this._parentNode.offsetWidth;}if(!isSafari){parentWidth-=this._getMargin(this._parentNode,"margin-left");parentWidth-=this._getMargin(this._parentNode,"margin-right");parentHeight-=this._getMargin(this._parentNode,"margin-top");parentHeight-=this._getMargin(this._parentNode,"margin-bottom");}if(isStandardsMode){return this._getStandardsSize(parentWidth,parentHeight);}else{return this._getQuirksSize(parentWidth,parentHeight);}},_getQuirksSize:function(parentWidth,parentHeight){var pixelsWidth,pixelsHeight;if(this._embedType=="script"){var grandParent=this._parentNode;while(grandParent&&grandParent.style){if(grandParent.nodeName.toLowerCase()=="div"){break;}if(grandParent.nodeName.toLowerCase()=="body"){if(this._nodeXML.getAttribute("style")&&this._nodeXML.getAttribute("style").indexOf("fixed")!=-1){if(window.innerHeight&&window.innerHeight>0){parentHeight=window.innerHeight;}else{if(document.documentElement&&document.documentElement.clientHeight&&document.documentElement.clientHeight>0){parentHeight=document.documentElement.clientHeight;}else{parentHeight=document.body.clientHeight;}}this.invalidParentHeight=false;}else{this.invalidParentHeight=true;parentHeight=0;}break;}grandParent=grandParent.parentNode;}}var objWidth=this._explicitWidth;var objHeight=this._explicitHeight;var xmlWidth=this._nodeXML.getAttribute("width");if(xmlWidth&&xmlWidth.indexOf("%")==-1){xmlWidth=parseInt(xmlWidth).toString();}var xmlHeight=this._nodeXML.getAttribute("height");if(xmlHeight&&xmlHeight.indexOf("%")==-1){xmlHeight=parseInt(xmlHeight).toString();}if(objWidth&&objHeight){if(objWidth.indexOf("%")!=-1){pixelsWidth=parentWidth*parseInt(objWidth)/100;}else{pixelsWidth=objWidth;}if(objHeight.indexOf("%")!=-1){if(parentHeight>0){pixelsHeight=parentHeight*parseInt(objHeight)/100;}else{console.log("SVGWeb: unhandled resize scenario.");parentHeight=200;}}else{pixelsHeight=objHeight;}return{width:objWidth,height:pixelsHeight,pixelsWidth:pixelsWidth,pixelsHeight:pixelsHeight,clipMode:this._nodeXML.getAttribute("viewBox")?"neither":"both"};}var viewBox,boxWidth,boxHeight;if(objWidth){if(objWidth.indexOf("%")!=-1){pixelsWidth=parentWidth*parseInt(objWidth)/100;}else{pixelsWidth=objWidth;}if(this._nodeXML.getAttribute("viewBox")){if(xmlWidth&&xmlWidth.indexOf("%")==-1&&xmlHeight&&xmlHeight.indexOf("%")==-1){objHeight=pixelsWidth*(xmlHeight/xmlWidth);}else{viewBox=this._nodeXML.getAttribute("viewBox").split(/\s+|,/);boxWidth=viewBox[2];boxHeight=viewBox[3];objHeight=pixelsWidth*(boxHeight/boxWidth);}return{width:objWidth,height:objHeight,pixelsWidth:pixelsWidth,pixelsHeight:objHeight,clipMode:"neither"};}else{if(xmlWidth&&xmlWidth.indexOf("%")==-1&&xmlHeight&&xmlHeight.indexOf("%")==-1){objHeight=pixelsWidth*(xmlHeight/xmlWidth);}else{if(xmlHeight&&xmlHeight.indexOf("%")==-1){objHeight=xmlHeight;}else{objHeight=150;}}return{width:objWidth,height:objHeight,pixelsWidth:pixelsWidth,pixelsHeight:objHeight,clipMode:"both"};}}if(objHeight){if(objHeight.indexOf("%")!=-1){pixelsHeight=parentHeight*parseInt(objHeight)/100;}else{pixelsHeight=objHeight;}if(this._nodeXML.getAttribute("viewBox")){if(xmlWidth&&xmlWidth.indexOf("%")==-1&&xmlHeight&&xmlHeight.indexOf("%")==-1){objWidth=pixelsHeight*(xmlWidth/xmlHeight);}else{viewBox=this._nodeXML.getAttribute("viewBox").split(/\s+|,/);boxWidth=viewBox[2];boxHeight=viewBox[3];objWidth=pixelsHeight*(boxWidth/boxHeight);}return{width:objWidth,height:objHeight,pixelsWidth:objWidth,pixelsHeight:pixelsHeight,clipMode:"neither"};}else{if(xmlWidth&&xmlWidth.indexOf("%")==-1&&xmlHeight&&xmlHeight.indexOf("%")==-1){objWidth=pixelsHeight*(xmlWidth/xmlHeight);pixelsWidth=objWidth;}else{if(xmlWidth){objWidth=xmlWidth;}else{objWidth="100%";}if(objWidth.indexOf("%")!=-1){pixelsWidth=parentWidth*parseInt(objWidth)/100;}else{pixelsWidth=objWidth;}}return{width:objWidth,height:objHeight,pixelsWidth:pixelsWidth,pixelsHeight:pixelsHeight,clipMode:"both"};}}if(xmlWidth){objWidth=xmlWidth;}else{objWidth="100%";}if(objWidth.indexOf("%")!=-1){pixelsWidth=parentWidth*parseInt(objWidth)/100;}else{pixelsWidth=objWidth;}if(xmlHeight&&xmlHeight.indexOf("%")==-1){objHeight=xmlHeight;return{width:objWidth,height:objHeight,pixelsWidth:pixelsWidth,pixelsHeight:objHeight,clipMode:this._nodeXML.getAttribute("viewBox")?"neither":"both"};}else{if(this._nodeXML.getAttribute("viewBox")){if(this._embedType=="script"&&(xmlHeight==null||xmlHeight.indexOf("%")!=-1)&&!this.invalidParentHeight){if(xmlHeight==null){xmlHeight="100%";}if(objHeight==null){objHeight="100%";}pixelsHeight=parentHeight*parseInt(xmlHeight)/100;return{width:objWidth,height:pixelsHeight,pixelsWidth:pixelsWidth,pixelsHeight:pixelsHeight,clipMode:"neither"};}var viewBox=this._nodeXML.getAttribute("viewBox").split(/\s+|,/);var boxWidth=viewBox[2];var boxHeight=viewBox[3];objHeight=pixelsWidth*(boxHeight/boxWidth);return{width:objWidth,height:objHeight,pixelsWidth:pixelsWidth,pixelsHeight:objHeight,clipMode:"neither"};}else{objHeight=150;return{width:objWidth,height:objHeight,pixelsWidth:pixelsWidth,pixelsHeight:objHeight,clipMode:"both"};}}},_getStandardsSize:function(parentWidth,parentHeight){var pixelsWidth,pixelsHeight;var objWidth=this._explicitWidth;var objHeight=this._explicitHeight;var xmlWidth=this._nodeXML.getAttribute("width");if(xmlWidth&&xmlWidth.indexOf("%")==-1){xmlWidth=parseInt(xmlWidth).toString();}var xmlHeight=this._nodeXML.getAttribute("height");if(xmlHeight&&xmlHeight.indexOf("%")==-1){xmlHeight=parseInt(xmlHeight).toString();}if(objWidth&&!objHeight){return this._getQuirksSize(parentWidth,parentHeight);}if(!objWidth&&!objHeight){return this._getQuirksSize(parentWidth,parentHeight);}if(!objWidth&&objHeight){if(xmlWidth){objWidth=xmlWidth;}else{objWidth="100%";}if(objWidth.indexOf("%")!=-1){pixelsWidth=parentWidth*parseInt(objWidth)/100;}else{pixelsWidth=objWidth;}if(objHeight.indexOf("%")==-1){pixelsHeight=objHeight;if(xmlWidth&&xmlWidth.indexOf("%")==-1&&xmlHeight&&xmlHeight.indexOf("%")==-1){objWidth=objHeight*(xmlWidth/xmlHeight);pixelsWidth=objWidth;}else{if(this._nodeXML.getAttribute("viewBox")){viewBox=this._nodeXML.getAttribute("viewBox").split(/\s+|,/);boxWidth=viewBox[2];boxHeight=viewBox[3];objWidth=pixelsHeight*(boxWidth/boxHeight);pixelsWidth=objWidth;}}return{width:objWidth,height:objHeight,pixelsWidth:pixelsWidth,pixelsHeight:objHeight,clipMode:this._nodeXML.getAttribute("viewBox")?"neither":"both"};}else{if(xmlHeight&&xmlHeight.indexOf("%")==-1){pixelsHeight=xmlHeight;}else{if(this._nodeXML.getAttribute("viewBox")){viewBox=this._nodeXML.getAttribute("viewBox").split(/\s+|,/);boxWidth=viewBox[2];boxHeight=viewBox[3];pixelsHeight=pixelsWidth*(boxHeight/boxWidth);}else{pixelsHeight=150;}}return{width:objWidth,height:pixelsHeight,pixelsWidth:pixelsWidth,pixelsHeight:pixelsHeight,clipMode:this._nodeXML.getAttribute("viewBox")?"neither":"both"};}}if(objWidth&&objHeight){if(objWidth.indexOf("%")!=-1){pixelsWidth=parentWidth*parseInt(objWidth)/100;}else{pixelsWidth=objWidth;}if(objHeight.indexOf("%")==-1){return{width:objWidth,height:objHeight,pixelsWidth:pixelsWidth,pixelsHeight:objHeight,clipMode:this._nodeXML.getAttribute("viewBox")?"neither":"both"};}else{if(xmlWidth&&xmlWidth.indexOf("%")==-1&&xmlHeight&&xmlHeight.indexOf("%")==-1){pixelsHeight=pixelsWidth*(xmlHeight/xmlWidth);return{width:objWidth,height:pixelsHeight,pixelsWidth:pixelsWidth,pixelsHeight:pixelsHeight,clipMode:"neither"};}else{if(!this.invalidParentHeight){pixelsHeight=parentHeight*parseInt(objHeight)/100;return{width:objWidth,height:pixelsHeight,pixelsWidth:pixelsWidth,pixelsHeight:pixelsHeight,clipMode:"neither"};}else{if(this._nodeXML.getAttribute("viewBox")){viewBox=this._nodeXML.getAttribute("viewBox").split(/\s+|,/);boxWidth=viewBox[2];boxHeight=viewBox[3];objHeight=pixelsWidth*(boxHeight/boxWidth);return{width:objWidth,height:objHeight,pixelsWidth:pixelsWidth,pixelsHeight:objHeight,clipMode:"neither"};}else{if(xmlHeight&&xmlHeight.indexOf("%")==-1){pixelsHeight=xmlHeight;}else{pixelsHeight=150;}return{width:objWidth,height:pixelsHeight,pixelsWidth:pixelsWidth,pixelsHeight:pixelsHeight,clipMode:"both"};}}}}}},_getMargin:function(node,styleProp){var y;if(node.currentStyle){y=parseInt(node.currentStyle[styleProp]);}else{if(window.getComputedStyle){y=parseInt(document.defaultView.getComputedStyle(node,null).getPropertyValue(styleProp));}}if(y){return y;}else{return 0;}},_determineBackground:function(){var transparent=false;var color=null;var style=this._nodeXML.getAttribute("style");if(style&&style.indexOf("background-color")!=-1){var m=style.match(/background\-color:\s*([^;]*)/);if(m){color=m[1];}}if(color===null){transparent=true;}return{color:color,transparent:transparent};},_determineStyle:function(){var style=this._nodeXML.getAttribute("style");if(!style){style="";}if(style.length>0&&style.charAt(style.length-1)!=";"){style+=";";}if(this._embedType=="script"&&style.indexOf("display:")==-1){style+="display: inline;";}if(this._embedType=="script"&&style.indexOf("overflow:")==-1){style+="overflow: hidden;";}return style;},_determineClassName:function(){var className=this._nodeXML.getAttribute("class");if(!className){return"embedssvg";}else{return className+" embedssvg";}},_determineCustomAttrs:function(){var results=[];if(this._embedType=="object"){var node=this._replaceMe;var commonObj=document._createElement("object");for(var j=0;j<node.attributes.length;j++){var attr=node.attributes[j];var attrName=attr.nodeName;var attrValue=attr.nodeValue;if(!attrValue&&attrValue!=="true"){continue;}if(commonObj.getAttribute(attrName)){continue;}if(/^(id|name|width|height|data|class|style|codebase|type|_listeners|addEventListener|onload)$/.test(attrName)){continue;}results.push({attrName:attrName.toString(),attrValue:attrValue.toString()});}}return results;},_createFlash:function(size,elementID,background,style,className,customAttrs){var flashVars="uniqueId="+encodeURIComponent(elementID)+"&sourceType=string&clipMode="+size.clipMode+"&debug=true&svgId="+encodeURIComponent(elementID);var src;if(this._isXDomain){src=svgweb.xDomainURL+"svg.swf";}else{src=svgweb.libraryPath+"svg.swf";}var protocol=window.location.protocol;if(protocol.charAt(protocol.length-1)==":"){protocol=protocol.substring(0,protocol.length-1);}var flash;if(isXHTML){flash=document.createElement("embed");flash.setAttribute("src",src);flash.setAttribute("quality","high");if(background.color){flash.setAttribute("bgcolor",background.color);}if(background.transparent){flash.setAttribute("wmode","transparent");}flash.setAttribute("width",size.width);flash.setAttribute("height",size.height);flash.setAttribute("id",this._handler.flashID);flash.setAttribute("name",this._handler.flashID);flash.setAttribute("swLiveConnect","true");flash.setAttribute("allowScriptAccess","always");flash.setAttribute("type","application/x-shockwave-flash");flash.setAttribute("FlashVars",flashVars);flash.setAttribute("pluginspage",protocol+"://www.macromedia.com/go/getflashplayer");flash.setAttribute("style",style);flash.setAttribute("className",className);for(var i=0;i<customAttrs.length;i++){flash.setAttribute(customAttrs[i].attrName,customAttrs[i].attrValue);}}else{var customAttrStr="";for(var i=0;i<customAttrs.length;i++){customAttrStr+=" "+customAttrs[i].attrName+'="'+customAttrs[i].attrValue+'"';}flash='<object\n classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"\n codebase="'+protocol+'://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"\n width="'+size.width+'"\n height="'+size.height+'"\n id="'+this._handler.flashID+'"\n name="'+this._handler.flashID+'"\n style="'+style+'"\n class="'+className+'"\n '+customAttrStr+'\n>\n <param name="allowScriptAccess" value="always"></param>\n <param name="movie" value="'+src+'"></param>\n <param name="quality" value="high"></param>\n <param name="FlashVars" value="'+flashVars+'"></param>\n '+(background.color?'<param name="bgcolor" value="'+background.color+'"></param>\n ':"")+(background.transparent?'<param name="wmode" value="transparent"></param>\n ':"")+'<embed src="'+src+'" quality="high" '+(background.color?'bgcolor="'+background.color+'" \n':"")+(background.transparent?'wmode="transparent" \n':"")+'width="'+size.width+'" height="'+size.height+'" id="'+this._handler.flashID+'" name="'+this._handler.flashID+'" swLiveConnect="true" allowScriptAccess="always" type="application/x-shockwave-flash" FlashVars="'+flashVars+'" pluginspage="'+protocol+'://www.macromedia.com/go/getflashplayer" style="'+style+'"\n class="'+className+'"\n '+customAttrStr+"\n /></object>";}return flash;}});function _SVGSVGElement(nodeXML,svgString,scriptNode,handler){_Element.apply(this,["svg",null,svgns,nodeXML,handler,true]);this._nodeXML=nodeXML;this._svgString=svgString;this._scriptNode=scriptNode;this._htcLoaded=false;this._swfLoaded=false;if(this._handler.type=="script"){var rootID=this._nodeXML.getAttribute("id");var doc=this._handler.document;doc._nodeById["_"+rootID]=this;}this._currentScale=1;this._currentTranslate=this._createCurrentTranslate();if(isIE&&this._handler.type=="script"){this._addRedrawMethods();this.style=new _Style(this);this._readyStateListener=hitch(this,this._onHTCLoaded);this._htcNode.attachEvent("onreadystatechange",this._readyStateListener);}else{if(isIE&&this._handler.type=="object"){this._addRedrawMethods();}}if(this._handler.type=="script"){this._handler._inserter=new FlashInserter("script",this._nodeXML,this._scriptNode,this._handler);}}_SVGSVGElement.prototype=new _Element;extend(_SVGSVGElement,{suspendRedraw:function(ms){return this._handler._redrawManager.suspendRedraw(ms);},unsuspendRedraw:function(id){this._handler._redrawManager.unsuspendRedraw(id);},unsuspendRedrawAll:function(){this._handler._redrawManager.unsuspendRedrawAll();},forceRedraw:function(){},nearestViewportElement:null,farthestViewportElement:null,getBBox:function(){},getTransformToElement:function(element){},_onHTCLoaded:function(){this._htcNode.detachEvent("onreadystatechange",this._readyStateListener);this.style._ignoreStyleChanges=false;this._htcLoaded=true;if(this._swfLoaded){this._onEverythingLoaded();}},_onFlashLoaded:function(msg){this._handler.flash=document.getElementById(this._handler.flashID);this._swfLoaded=true;if(!isIE||this._htcLoaded){this._onEverythingLoaded();}},_onEverythingLoaded:function(){var size=this._handler._inserter._determineSize();this._handler.sendToFlash("jsHandleLoad",[this._getRelativeTo("object"),this._getRelativeTo("page"),size.pixelsWidth,size.pixelsHeight,true,this._svgString]);},_onRenderingFinished:function(msg){if(this._handler.type=="script"){this._handler.flash.documentElement=this._getProxyNode();}if(this._attached){if(this._handler.type=="script"){this.ownerDocument=document;}else{if(this._handler.type=="object"){this.ownerDocument=this._handler.document;}}}this._handler.document.rootElement=this._getProxyNode();var elementId=this._nodeXML.getAttribute("id");this._handler._loaded=true;this._handler.fireOnLoad(elementId,"script");},_getRelativeTo:function(){var results="";var pathname=window.location.pathname.toString();if(pathname&&pathname.length>0&&pathname.indexOf("/")!=-1){results=pathname.replace(/\/([^\/]*)$/,"/");}return results;},_addRedrawMethods:function(){this._htcNode.suspendRedraw=(function(){return function(ms){return this._fakeNode.suspendRedraw(ms);};})();this._htcNode.unsuspendRedraw=(function(){return function(id){return this._fakeNode.unsuspendRedraw(id);};})();this._htcNode.unsuspendRedrawAll=(function(){return function(){return this._fakeNode.unsuspendRedrawAll();};})();this._htcNode.forceRedraw=(function(){return function(){return this._fakeNode.forceRedraw();};})();},_createCurrentTranslate:function(){var p=new _SVGPoint(0,0,true,hitch(this,this._updateCurrentTranslate));return p;},_updateCurrentTranslate:function(type,newValue1,newValue2){if(type=="xy"){this._handler.sendToFlash("jsSetCurrentTranslate",["xy",newValue1,newValue2]);}else{this._handler.sendToFlash("jsSetCurrentTranslate",[type,newValue1]);}}});function _Document(xml,handler){_Node.apply(this,["#document",_Node.DOCUMENT_NODE,null,null,xml,handler],svgns);this._xml=xml;this._handler=handler;this._nodeById={};this._namespaces=this._getNamespaces();this.implementation=new _DOMImplementation();if(this._handler.type=="script"){this.defaultView=window;}else{if(this._handler.type=="object"){}}}_Document.prototype=new _Node;extend(_Document,{_nodeById:null,implementation:null,documentElement:null,createElementNS:function(ns,qname){var prefix=this._namespaces["_"+ns];if(prefix=="xmlns"||!prefix){prefix=null;}var node=new _Element(qname,prefix,ns);return node._getProxyNode();},createTextNode:function(data){var doc=FlashHandler._unattachedDoc;var nodeXML;if(isIE){nodeXML=doc.createElement("__text");}else{nodeXML=doc.createElementNS(svgnsFake,"__text");}nodeXML.appendChild(doc.createTextNode(data));var textNode=new _Node("#text",_Node.TEXT_NODE,null,null,nodeXML,this._handler);textNode._nodeValue=data;textNode.ownerDocument=this;return textNode._getProxyNode();},createDocumentFragment:function(forSVG){return new _DocumentFragment(this)._getProxyNode();},getElementById:function(id){var results=xpath(this._xml,null,'//*[@id="'+id+'"]');var nodeXML,node;if(results.length){nodeXML=results[0];}else{return null;}node=FlashHandler._getNode(nodeXML,this._handler);node._passThrough=true;return node;},getElementsByTagNameNS:function(ns,localName){if(this._handler.type=="script"&&!this._handler._loaded){return[];}var results=this.rootElement.getElementsByTagNameNS(ns,localName);if(ns==svgns&&localName=="svg"){results.push(this.rootElement);}return results;},_getNamespaces:function(){var results=[];var attrs=this._xml.documentElement.attributes;for(var i=0;i<attrs.length;i++){var attr=attrs[i];if(/^xmlns:?(.*)$/.test(attr.nodeName)){var m=attr.nodeName.match(/^xmlns:?(.*)$/);var prefix=(m[1]?m[1]:"xmlns");var namespaceURI=attr.nodeValue;if(!results["_"+prefix]){results["_"+prefix]=namespaceURI;results["_"+namespaceURI]=prefix;results.push(namespaceURI);}}}return results;}});function createNodeList(){var results=[];results.item=function(i){if(i>=this.length){return null;}else{return this[i];}};return results;}function createCharacterData(data){var results=(data!==undefined)?new String(data):new String();results.data=results.toString();return results;}function _SVGMatrix(a,b,c,d,e,f,_handler){this.a=a;this.b=b;this.c=c;this.d=d;this.e=e;this.f=f;this._handler=_handler;}extend(_SVGMatrix,{multiply:function(secondMatrix){},inverse:function(){var msg=this._handler.sendToFlash("jsMatrixInvert",[this.a,this.b,this.c,this.d,this.e,this.f]);msg=this._handler._stringToMsg(msg);return new _SVGMatrix(new Number(msg.a),new Number(msg.b),new Number(msg.c),new Number(msg.d),new Number(msg.e),new Number(msg.f),this._handler);},translate:function(x,y){},scale:function(scaleFactor){},scaleNonUniform:function(scaleFactorX,scaleFactorY){},rotate:function(angle){},rotateFromVector:function(x,y){},flipX:function(){},flipY:function(){},skewX:function(angle){},skewY:function(angle){}});function _SVGLength(value){this.value=value;}function _SVGAnimatedLength(value){this.baseVal=value;this.animVal=undefined;}function _SVGTransform(type,matrix,angle){this.type=type;this.matrix=matrix;this.angle=angle;}mixin(_SVGTransform,{SVG_TRANSFORM_UNKNOWN:0,SVG_TRANSFORM_MATRIX:1,SVG_TRANSFORM_TRANSLATE:2,SVG_TRANSFORM_SCALE:3,SVG_TRANSFORM_ROTATE:4,SVG_TRANSFORM_SKEWX:5,SVG_TRANSFORM_SKEWY:6});extend(_SVGTransform,{type:null,matrix:null,angle:null,setMatrix:function(matrix){},setTranslate:function(tx,ty){},setScale:function(sx,sy){},setRotate:function(angle,cx,cy){},setSkewX:function(angle){},setSkewY:function(angle){}});function _SVGPoint(x,y,formalAccessors,callback){if(formalAccessors===undefined){formalAccessors=false;}this._formalAccessors=formalAccessors;this.x=x;this.y=y;if(formalAccessors){this.setX=hitch(this,function(newValue){this.x=newValue;callback("x",newValue);});this.getX=hitch(this,function(){return this.x;});this.setY=hitch(this,function(newValue){this.y=newValue;callback("y",newValue);});this.getY=hitch(this,function(){return this.y;});this.setXY=hitch(this,function(newX,newY){this.x=newX;this.y=newY;callback("xy",newX,newY);});}}extend(_SVGPoint,{matrixTransform:function(m){return new _SVGPoint(m.a*this.x+m.c*this.y+m.e,m.b*this.x+m.d*this.y+m.f,this._formalAccessors);}});function _SVGRect(x,y,width,height){this.x=x;this.y=y;this.width=width;this.height=height;}window.svgweb=new SVGWeb();})();
@@ -0,0 +1,39 @@
1
+ <html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" >
2
+ <head>
3
+ <title>Testing rounded rectangle</title>
4
+ <style type="text/css">
5
+ @import "../../../../dojo/resources/dojo.css";
6
+ @import "../../../../dijit/tests/css/dijitTests.css";
7
+ </style>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
9
+ <!-- SVGWEB { -->
10
+ <meta name="svg.render.forceflash" content="true"/>
11
+ <script src="svgweb/src/svg.js" data-path="svgweb/src"></script>
12
+ <script src="../../../../dojo/dojo.js" djConfig="isDebug: true, forceGfxRenderer: 'svg'" type="text/javascript"></script>
13
+ <!-- } -->
14
+ <script type="text/javascript">
15
+ dojo.require("dojox.gfx");
16
+ dojo.require("dojox.gfx.move");
17
+ dojo.require("dojo.colors");
18
+
19
+ makeShapes = function(){
20
+ var g = dojox.gfx;
21
+ var surface = g.createSurface("test", 800, 600)
22
+ /* SVGWEB { */
23
+ surface.whenLoaded(function() {
24
+ var rect1 = surface.createRect({x: 100, y: 100, width: 300, height: 200, r: 50}).setFill("red").setStroke("black");
25
+ new g.Moveable(rect1);
26
+ });
27
+ /* } */
28
+ };
29
+
30
+ dojo.addOnLoad(makeShapes);
31
+
32
+ </script>
33
+ </head>
34
+ <body>
35
+ <h1>dojox.gfx Rounded rectangle</h1>
36
+ <div id="test"></div>
37
+ <p>That's all Folks!</p>
38
+ </body>
39
+ </html>
@@ -0,0 +1,66 @@
1
+ <html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" >
2
+ <head>
3
+ <title>Testing arc</title>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
+ <style type="text/css">
6
+ @import "../../../../dojo/resources/dojo.css";
7
+ @import "../../../../dijit/tests/css/dijitTests.css";
8
+ </style>
9
+ <!-- SVGWEB { -->
10
+ <meta name="svg.render.forceflash" content="true"/>
11
+ <script src="svgweb/src/svg.js" data-path="svgweb/src"></script>
12
+ <script src="../../../../dojo/dojo.js" djConfig="isDebug:true,forceGfxRenderer:'svg'" type="text/javascript"></script>
13
+ <!-- } -->
14
+ <script type="text/javascript">
15
+ dojo.require("dojox.gfx");
16
+
17
+ createSurface = function(){
18
+ var surface = dojox.gfx.createSurface("test", 500, 500);
19
+ surface.whenLoaded(makeShapes);
20
+ };
21
+
22
+ makeShapes = function(surface){
23
+ var m = dojox.gfx.matrix;
24
+ var g1 = surface.createGroup();
25
+ var g2 = g1.createGroup();
26
+
27
+ var rx = 100, ry = 60, xRotg = -30;
28
+ var startPoint = m.multiplyPoint(m.rotateg(xRotg), {x: -rx, y: 0 });
29
+ var endPoint = m.multiplyPoint(m.rotateg(xRotg), {x: 0, y: -ry});
30
+
31
+ var re1 = g1.createPath()
32
+ .moveTo(startPoint)
33
+ .arcTo(rx, ry, xRotg, true, false, endPoint)
34
+ .setStroke({color: "red", width: 3})
35
+ ;
36
+ var ge1 = g1.createPath()
37
+ .moveTo(re1.getLastPosition())
38
+ .arcTo(rx, ry, xRotg, false, false, startPoint)
39
+ .setStroke({color: "black"})
40
+ ;
41
+ var re2 = g2.createPath()
42
+ .moveTo(startPoint)
43
+ .arcTo(rx, ry, xRotg, false, true, endPoint)
44
+ .setStroke({color: "green", width: 3})
45
+ ;
46
+ var ge2 = g2.createPath()
47
+ .moveTo(re2.getLastPosition())
48
+ .arcTo(rx, ry, xRotg, true, true, startPoint)
49
+ .setStroke({color: "black"})
50
+ ;
51
+
52
+ g1.setTransform({dx: 200, dy: 200});
53
+ g2.setTransform({dx: 10, dy: 10});
54
+ };
55
+
56
+ dojo.addOnLoad(createSurface);
57
+
58
+ </script>
59
+ </head>
60
+ <body>
61
+ <h1>Testing arc</h1>
62
+ <!--<p><button onclick="createSurface();">Go</button></p>-->
63
+ <div id="test" style="width: 500px; height: 500px;"></div>
64
+ <p>That's all Folks!</p>
65
+ </body>
66
+ </html>
@@ -0,0 +1,81 @@
1
+ <html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" >
2
+ <head>
3
+ <title>Approximation of an arc with bezier</title>
4
+ <style type="text/css">
5
+ @import "../../../../dojo/resources/dojo.css";
6
+ @import "../../../../dijit/tests/css/dijitTests.css";
7
+ </style>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
9
+ <!-- SVGWEB { -->
10
+ <meta name="svg.render.forceflash" content="true"/>
11
+ <script src="svgweb/src/svg.js" data-path="svgweb/src"></script>
12
+ <script src="../../../../dojo/dojo.js" djConfig="isDebug:true,forceGfxRenderer:'svg'" type="text/javascript"></script>
13
+ <!-- } -->
14
+ <script type="text/javascript">
15
+ dojo.require("dojox.gfx");
16
+
17
+ makeShapes = function(){
18
+ var surface = dojox.gfx.createSurface("test", 500, 300);
19
+ /* SVGWEB { */
20
+ surface.whenLoaded(function() {
21
+ var g = surface.createGroup();
22
+
23
+ // create a reference ellipse
24
+ var rx = 200;
25
+ var ry = 100;
26
+ var startAngle = -30;
27
+ var arcAngle = -90;
28
+ var axisAngle = -30;
29
+ var e = g.createEllipse({rx: rx, ry: ry}).setStroke({});
30
+
31
+ // calculate a bezier
32
+ var alpha = dojox.gfx.matrix._degToRad(arcAngle) / 2; // half of our angle
33
+ var cosa = Math.cos(alpha);
34
+ var sina = Math.sin(alpha);
35
+ // start point
36
+ var p1 = {x: cosa, y: sina};
37
+ // 1st control point
38
+ var p2 = {x: cosa + (4 / 3) * (1 - cosa), y: sina - (4 / 3) * cosa * (1 - cosa) / sina};
39
+ // 2nd control point (symmetric to the 1st one)
40
+ var p3 = {x: p2.x, y: -p2.y};
41
+ // end point (symmetric to the start point)
42
+ var p4 = {x: p1.x, y: -p1.y};
43
+
44
+ // rotate and scale poins as appropriate
45
+ var s = dojox.gfx.matrix.normalize([dojox.gfx.matrix.scale(e.shape.rx, e.shape.ry), dojox.gfx.matrix.rotateg(startAngle + arcAngle / 2)]);
46
+ p1 = dojox.gfx.matrix.multiplyPoint(s, p1);
47
+ p2 = dojox.gfx.matrix.multiplyPoint(s, p2);
48
+ p3 = dojox.gfx.matrix.multiplyPoint(s, p3);
49
+ p4 = dojox.gfx.matrix.multiplyPoint(s, p4);
50
+ // draw control trapezoid
51
+ var t = g.createPath().setStroke({color: "blue"});
52
+ t.moveTo(p1.x, p1.y);
53
+ t.lineTo(p2.x, p2.y);
54
+ t.lineTo(p3.x, p3.y);
55
+ t.lineTo(p4.x, p4.y);
56
+ t.lineTo(p1.x, p1.y);
57
+ t.moveTo((p1.x + p4.x) / 2, (p1.y + p4.y) / 2);
58
+ t.lineTo((p2.x + p3.x) / 2, (p2.y + p3.y) / 2);
59
+ t.moveTo((p1.x + p2.x) / 2, (p1.y + p2.y) / 2);
60
+ t.lineTo((p3.x + p4.x) / 2, (p3.y + p4.y) / 2);
61
+ // draw a bezier
62
+ var b = g.createPath().setStroke({color: "red"});
63
+ b.moveTo(p1.x, p1.y);
64
+ b.curveTo(p2.x, p2.y, p3.x, p3.y, p4.x, p4.y);
65
+ // move everything in a middle
66
+ g.setTransform([dojox.gfx.matrix.translate(250, 150), dojox.gfx.matrix.rotateg(axisAngle)]);
67
+ });
68
+ /* } */
69
+ };
70
+
71
+ dojo.addOnLoad(makeShapes);
72
+
73
+ </script>
74
+ </head>
75
+ <body>
76
+ <h1>Approximation of an arc with bezier</h1>
77
+ <!--<p><button onclick="makeShapes();">Make</button></p>-->
78
+ <div id="test" style="width: 500px; height: 300px;"></div>
79
+ <p>That's all Folks!</p>
80
+ </body>
81
+ </html>
@@ -0,0 +1,58 @@
1
+ <html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" >
2
+ <head>
3
+ <title>Testing surface.destroy()</title>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
+ <style type="text/css">
6
+ @import "../../../../dojo/resources/dojo.css";
7
+ @import "../../../../dijit/tests/css/dijitTests.css";
8
+ </style>
9
+ <!-- SVGWEB { -->
10
+ <meta name="svg.render.forceflash" content="true"/>
11
+ <script src="svgweb/src/svg.js" data-path="svgweb/src"></script>
12
+ <script src="../../../../dojo/dojo.js" djConfig="isDebug:true,forceGfxRenderer:'svg'" type="text/javascript"></script>
13
+ <!-- } -->
14
+ <script type="text/javascript">
15
+ dojo.require("dojox.gfx");
16
+
17
+ surface = null;
18
+
19
+ makeShapes = function(){
20
+ if(surface){
21
+ surface.destroy();
22
+ surface = null;
23
+ var t = dojo.byId("test").innerHTML;
24
+ if(t){
25
+ console.error("Garbage detected: " + t);
26
+ }else{
27
+ console.log("The parent node was cleaned up properly.");
28
+ }
29
+ }
30
+ surface = dojox.gfx.createSurface("test", 500, 500);
31
+ /* SVGWEB { */
32
+ surface.whenLoaded(function() {
33
+ var path = surface.createPath("");
34
+ // form concentric circles
35
+ var center = {x: 250, y: 250};
36
+ for(var r = 200; r > 0; r -= 30){
37
+ // make two 180 degree arcs to form a circle
38
+ var start = {x: center.x, y: center.y - r};
39
+ var end = {x: center.x, y: center.y + r};
40
+ path.moveTo(start).arcTo(r, r, 0, true, true, end).arcTo(r, r, 0, true, true, start).closePath();
41
+ }
42
+ // set visual attributes
43
+ path.setFill("red").setStroke("black");
44
+ });
45
+ /* } */
46
+ };
47
+
48
+ dojo.addOnLoad(makeShapes);
49
+ </script>
50
+ </head>
51
+ <body>
52
+ <h1>Testing surface.destroy()</h1>
53
+ <p><button onclick="makeShapes();">Regenerate</button></p>
54
+ <p><em>See the firebug log for detailed reports.</em></p>
55
+ <div id="test" style="width: 500px; height: 500px;"></div>
56
+ <p>That's all Folks!</p>
57
+ </body>
58
+ </html>
@@ -0,0 +1,45 @@
1
+ <html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" >
2
+ <head>
3
+ <title>Testing fill rule</title>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
+ <style type="text/css">
6
+ @import "../../../../dojo/resources/dojo.css";
7
+ @import "../../../../dijit/tests/css/dijitTests.css";
8
+ </style>
9
+ <!-- SVGWEB { -->
10
+ <meta name="svg.render.forceflash" content="true"/>
11
+ <script src="svgweb/src/svg.js" data-path="svgweb/src"></script>
12
+ <script src="../../../../dojo/dojo.js" djConfig="isDebug:true,forceGfxRenderer:'svg'" type="text/javascript"></script>
13
+ <!-- } -->
14
+ <script type="text/javascript">
15
+ dojo.require("dojox.gfx");
16
+
17
+ makeShapes = function(){
18
+ var surface = dojox.gfx.createSurface("test", 500, 500);
19
+ /* SVGWEB { */
20
+ surface.whenLoaded(function() {
21
+ var path = surface.createPath("");
22
+ // form concentric circles
23
+ var center = {x: 250, y: 250};
24
+ for(var r = 200; r > 0; r -= 30){
25
+ // make two 180 degree arcs to form a circle
26
+ var start = {x: center.x, y: center.y - r};
27
+ var end = {x: center.x, y: center.y + r};
28
+ path.moveTo(start).arcTo(r, r, 0, true, true, end).arcTo(r, r, 0, true, true, start).closePath();
29
+ }
30
+ // set visual attributes
31
+ path.setFill("red").setStroke("black");
32
+ });
33
+ /* } */
34
+ };
35
+
36
+ dojo.addOnLoad(makeShapes);
37
+
38
+ </script>
39
+ </head>
40
+ <body>
41
+ <h1>Testing fill rule</h1>
42
+ <div id="test" style="width: 500px; height: 500px;"></div>
43
+ <p>That's all Folks!</p>
44
+ </body>
45
+ </html>
@@ -0,0 +1,104 @@
1
+ <html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" >
2
+ <head>
3
+ <title>Testing animation</title>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
+ <style type="text/css">
6
+ @import "../../../../dojo/resources/dojo.css";
7
+ @import "../../../../dijit/tests/css/dijitTests.css";
8
+ </style>
9
+ <!-- SVGWEB { -->
10
+ <meta name="svg.render.forceflash" content="true"/>
11
+ <script src="svgweb/src/svg.js" data-path="svgweb/src"></script>
12
+ <script src="../../../../dojo/dojo.js" djConfig="isDebug:true,forceGfxRenderer:'svg'" type="text/javascript"></script>
13
+ <!-- } -->
14
+ <script type="text/javascript">
15
+ dojo.require("dojox.gfx");
16
+ dojo.require("dojox.gfx.fx");
17
+ dojo.require("dojo.colors");
18
+
19
+ var rect, text;
20
+
21
+ var makeShapes = function(){
22
+ var surface = dojox.gfx.createSurface("test", 500, 500);
23
+ /* SVGWEB { */
24
+ surface.whenLoaded(function() {
25
+ rect = surface.createRect({x: 100, y: 100, width: 300, height: 300}).
26
+ setFill("yellow").setStroke({
27
+ color: "green",
28
+ width: 5,
29
+ join: "round"
30
+ });
31
+ text = surface.createText({x: 250, y: 250, text: "Hello!", align: "middle"})
32
+ .setFill("black").setFont({family: "serif", size: "10pt"});
33
+ });
34
+ /* } */
35
+ };
36
+
37
+ dojo.addOnLoad(makeShapes);
38
+
39
+ var animateStroke = function(){
40
+ var anim = dojox.gfx.fx.animateStroke({
41
+ duration: 5000,
42
+ shape: rect,
43
+ color: {start: "green", end: "red"},
44
+ width: {start: 5, end: 15},
45
+ join: {values: ["bevel", "round"]}
46
+ });
47
+ dojo.byId("stroke").disabled = "disabled";
48
+ dojo.connect(anim, "onEnd", function(){ dojo.byId("stroke").disabled = ""; });
49
+ anim.play();
50
+ };
51
+
52
+ var animateFill = function(){
53
+ var anim = dojox.gfx.fx.animateFill({
54
+ duration: 5000,
55
+ shape: rect,
56
+ color: {start: "yellow", end: "blue"}
57
+ });
58
+ dojo.byId("fill").disabled = "disabled";
59
+ dojo.connect(anim, "onEnd", function(){ dojo.byId("fill").disabled = ""; });
60
+ anim.play();
61
+ };
62
+
63
+ var animateFont = function(){
64
+ var anim = dojox.gfx.fx.animateFont({
65
+ duration: 5000,
66
+ shape: text,
67
+ variant: {values: ["normal", "small-caps"]},
68
+ size: {start: 10, end: 50, units: "pt"}
69
+ });
70
+ dojo.byId("font").disabled = "disabled";
71
+ dojo.connect(anim, "onEnd", function(){ dojo.byId("font").disabled = ""; });
72
+ anim.play();
73
+ };
74
+
75
+ var animateTransform = function(){
76
+ var anim = dojox.gfx.fx.animateTransform({
77
+ duration: 5000,
78
+ shape: text,
79
+ transform: [
80
+ {name: "rotategAt", start: [0, 250, 250], end: [360, 350, 350]},
81
+ {name: "translate", start: [0, 0], end: [100, 100]}
82
+ ]
83
+ });
84
+ dojo.byId("transform").disabled = "disabled";
85
+ dojo.connect(anim, "onEnd", function(){ dojo.byId("transform").disabled = ""; });
86
+ anim.play();
87
+ };
88
+ </script>
89
+ </head>
90
+ <body>
91
+ <h1>Testing animation</h1>
92
+ <p>
93
+ <button id="stroke" onclick="animateStroke();">Stroke</button>
94
+ &nbsp;
95
+ <button id="fill" onclick="animateFill();">Fill</button>
96
+ &nbsp;
97
+ <button id="font" onclick="animateFont();">Font</button>
98
+ &nbsp;
99
+ <button id="transform" onclick="animateTransform();">Transform</button>
100
+ </p>
101
+ <div id="test" style="width: 500px; height: 500px;"></div>
102
+ <p>That's all Folks!</p>
103
+ </body>
104
+ </html>