rwiki 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2052) hide show
  1. data/.document +5 -0
  2. data/.idea/projectCodeStyle.xml +80 -0
  3. data/.rvmrc +1 -0
  4. data/LICENSE +20 -0
  5. data/README.rdoc +27 -0
  6. data/Rakefile +90 -0
  7. data/VERSION +1 -0
  8. data/bin/rwiki +11 -0
  9. data/features/create_page.feature +45 -0
  10. data/features/delete_page.feature +36 -0
  11. data/features/display_page.feature +41 -0
  12. data/features/rename_page.feature +81 -0
  13. data/features/step_definitions/common_steps.rb +64 -0
  14. data/features/step_definitions/web_steps.rb +219 -0
  15. data/features/support/env.rb +34 -0
  16. data/features/support/firebug-1.6.1-fx.xpi +0 -0
  17. data/features/support/paths.rb +29 -0
  18. data/features/tree_panel.feature +25 -0
  19. data/lib/rwiki.rb +24 -0
  20. data/lib/rwiki/app.rb +95 -0
  21. data/lib/rwiki/configuration.rb +22 -0
  22. data/lib/rwiki/models.rb +7 -0
  23. data/lib/rwiki/models/folder.rb +62 -0
  24. data/lib/rwiki/models/node.rb +84 -0
  25. data/lib/rwiki/models/page.rb +107 -0
  26. data/public/SpecRunner.html +64 -0
  27. data/public/images/icons/accept.png +0 -0
  28. data/public/images/icons/add.png +0 -0
  29. data/public/images/icons/anchor.png +0 -0
  30. data/public/images/icons/application.png +0 -0
  31. data/public/images/icons/application_add.png +0 -0
  32. data/public/images/icons/application_cascade.png +0 -0
  33. data/public/images/icons/application_delete.png +0 -0
  34. data/public/images/icons/application_double.png +0 -0
  35. data/public/images/icons/application_edit.png +0 -0
  36. data/public/images/icons/application_error.png +0 -0
  37. data/public/images/icons/application_form.png +0 -0
  38. data/public/images/icons/application_form_add.png +0 -0
  39. data/public/images/icons/application_form_delete.png +0 -0
  40. data/public/images/icons/application_form_edit.png +0 -0
  41. data/public/images/icons/application_form_magnify.png +0 -0
  42. data/public/images/icons/application_get.png +0 -0
  43. data/public/images/icons/application_go.png +0 -0
  44. data/public/images/icons/application_home.png +0 -0
  45. data/public/images/icons/application_key.png +0 -0
  46. data/public/images/icons/application_lightning.png +0 -0
  47. data/public/images/icons/application_link.png +0 -0
  48. data/public/images/icons/application_osx.png +0 -0
  49. data/public/images/icons/application_osx_terminal.png +0 -0
  50. data/public/images/icons/application_put.png +0 -0
  51. data/public/images/icons/application_side_boxes.png +0 -0
  52. data/public/images/icons/application_side_contract.png +0 -0
  53. data/public/images/icons/application_side_expand.png +0 -0
  54. data/public/images/icons/application_side_list.png +0 -0
  55. data/public/images/icons/application_side_tree.png +0 -0
  56. data/public/images/icons/application_split.png +0 -0
  57. data/public/images/icons/application_tile_horizontal.png +0 -0
  58. data/public/images/icons/application_tile_vertical.png +0 -0
  59. data/public/images/icons/application_view_columns.png +0 -0
  60. data/public/images/icons/application_view_detail.png +0 -0
  61. data/public/images/icons/application_view_gallery.png +0 -0
  62. data/public/images/icons/application_view_icons.png +0 -0
  63. data/public/images/icons/application_view_list.png +0 -0
  64. data/public/images/icons/application_view_tile.png +0 -0
  65. data/public/images/icons/application_xp.png +0 -0
  66. data/public/images/icons/application_xp_terminal.png +0 -0
  67. data/public/images/icons/arrow_branch.png +0 -0
  68. data/public/images/icons/arrow_divide.png +0 -0
  69. data/public/images/icons/arrow_down.png +0 -0
  70. data/public/images/icons/arrow_in.png +0 -0
  71. data/public/images/icons/arrow_inout.png +0 -0
  72. data/public/images/icons/arrow_join.png +0 -0
  73. data/public/images/icons/arrow_left.png +0 -0
  74. data/public/images/icons/arrow_merge.png +0 -0
  75. data/public/images/icons/arrow_out.png +0 -0
  76. data/public/images/icons/arrow_redo.png +0 -0
  77. data/public/images/icons/arrow_refresh.png +0 -0
  78. data/public/images/icons/arrow_refresh_small.png +0 -0
  79. data/public/images/icons/arrow_right.png +0 -0
  80. data/public/images/icons/arrow_rotate_anticlockwise.png +0 -0
  81. data/public/images/icons/arrow_rotate_clockwise.png +0 -0
  82. data/public/images/icons/arrow_switch.png +0 -0
  83. data/public/images/icons/arrow_turn_left.png +0 -0
  84. data/public/images/icons/arrow_turn_right.png +0 -0
  85. data/public/images/icons/arrow_undo.png +0 -0
  86. data/public/images/icons/arrow_up.png +0 -0
  87. data/public/images/icons/asterisk_orange.png +0 -0
  88. data/public/images/icons/asterisk_yellow.png +0 -0
  89. data/public/images/icons/attach.png +0 -0
  90. data/public/images/icons/award_star_add.png +0 -0
  91. data/public/images/icons/award_star_bronze_1.png +0 -0
  92. data/public/images/icons/award_star_bronze_2.png +0 -0
  93. data/public/images/icons/award_star_bronze_3.png +0 -0
  94. data/public/images/icons/award_star_delete.png +0 -0
  95. data/public/images/icons/award_star_gold_1.png +0 -0
  96. data/public/images/icons/award_star_gold_2.png +0 -0
  97. data/public/images/icons/award_star_gold_3.png +0 -0
  98. data/public/images/icons/award_star_silver_1.png +0 -0
  99. data/public/images/icons/award_star_silver_2.png +0 -0
  100. data/public/images/icons/award_star_silver_3.png +0 -0
  101. data/public/images/icons/basket.png +0 -0
  102. data/public/images/icons/basket_add.png +0 -0
  103. data/public/images/icons/basket_delete.png +0 -0
  104. data/public/images/icons/basket_edit.png +0 -0
  105. data/public/images/icons/basket_error.png +0 -0
  106. data/public/images/icons/basket_go.png +0 -0
  107. data/public/images/icons/basket_put.png +0 -0
  108. data/public/images/icons/basket_remove.png +0 -0
  109. data/public/images/icons/bell.png +0 -0
  110. data/public/images/icons/bell_add.png +0 -0
  111. data/public/images/icons/bell_delete.png +0 -0
  112. data/public/images/icons/bell_error.png +0 -0
  113. data/public/images/icons/bell_go.png +0 -0
  114. data/public/images/icons/bell_link.png +0 -0
  115. data/public/images/icons/bin.png +0 -0
  116. data/public/images/icons/bin_closed.png +0 -0
  117. data/public/images/icons/bin_empty.png +0 -0
  118. data/public/images/icons/bomb.png +0 -0
  119. data/public/images/icons/book.png +0 -0
  120. data/public/images/icons/book_add.png +0 -0
  121. data/public/images/icons/book_addresses.png +0 -0
  122. data/public/images/icons/book_delete.png +0 -0
  123. data/public/images/icons/book_edit.png +0 -0
  124. data/public/images/icons/book_error.png +0 -0
  125. data/public/images/icons/book_go.png +0 -0
  126. data/public/images/icons/book_key.png +0 -0
  127. data/public/images/icons/book_link.png +0 -0
  128. data/public/images/icons/book_next.png +0 -0
  129. data/public/images/icons/book_open.png +0 -0
  130. data/public/images/icons/book_previous.png +0 -0
  131. data/public/images/icons/box.png +0 -0
  132. data/public/images/icons/brick.png +0 -0
  133. data/public/images/icons/brick_add.png +0 -0
  134. data/public/images/icons/brick_delete.png +0 -0
  135. data/public/images/icons/brick_edit.png +0 -0
  136. data/public/images/icons/brick_error.png +0 -0
  137. data/public/images/icons/brick_go.png +0 -0
  138. data/public/images/icons/brick_link.png +0 -0
  139. data/public/images/icons/bricks.png +0 -0
  140. data/public/images/icons/briefcase.png +0 -0
  141. data/public/images/icons/bug.png +0 -0
  142. data/public/images/icons/bug_add.png +0 -0
  143. data/public/images/icons/bug_delete.png +0 -0
  144. data/public/images/icons/bug_edit.png +0 -0
  145. data/public/images/icons/bug_error.png +0 -0
  146. data/public/images/icons/bug_go.png +0 -0
  147. data/public/images/icons/bug_link.png +0 -0
  148. data/public/images/icons/building.png +0 -0
  149. data/public/images/icons/building_add.png +0 -0
  150. data/public/images/icons/building_delete.png +0 -0
  151. data/public/images/icons/building_edit.png +0 -0
  152. data/public/images/icons/building_error.png +0 -0
  153. data/public/images/icons/building_go.png +0 -0
  154. data/public/images/icons/building_key.png +0 -0
  155. data/public/images/icons/building_link.png +0 -0
  156. data/public/images/icons/bullet_add.png +0 -0
  157. data/public/images/icons/bullet_arrow_bottom.png +0 -0
  158. data/public/images/icons/bullet_arrow_down.png +0 -0
  159. data/public/images/icons/bullet_arrow_top.png +0 -0
  160. data/public/images/icons/bullet_arrow_up.png +0 -0
  161. data/public/images/icons/bullet_black.png +0 -0
  162. data/public/images/icons/bullet_blue.png +0 -0
  163. data/public/images/icons/bullet_delete.png +0 -0
  164. data/public/images/icons/bullet_disk.png +0 -0
  165. data/public/images/icons/bullet_error.png +0 -0
  166. data/public/images/icons/bullet_feed.png +0 -0
  167. data/public/images/icons/bullet_go.png +0 -0
  168. data/public/images/icons/bullet_green.png +0 -0
  169. data/public/images/icons/bullet_key.png +0 -0
  170. data/public/images/icons/bullet_orange.png +0 -0
  171. data/public/images/icons/bullet_picture.png +0 -0
  172. data/public/images/icons/bullet_pink.png +0 -0
  173. data/public/images/icons/bullet_purple.png +0 -0
  174. data/public/images/icons/bullet_red.png +0 -0
  175. data/public/images/icons/bullet_star.png +0 -0
  176. data/public/images/icons/bullet_toggle_minus.png +0 -0
  177. data/public/images/icons/bullet_toggle_plus.png +0 -0
  178. data/public/images/icons/bullet_white.png +0 -0
  179. data/public/images/icons/bullet_wrench.png +0 -0
  180. data/public/images/icons/bullet_yellow.png +0 -0
  181. data/public/images/icons/cake.png +0 -0
  182. data/public/images/icons/calculator.png +0 -0
  183. data/public/images/icons/calculator_add.png +0 -0
  184. data/public/images/icons/calculator_delete.png +0 -0
  185. data/public/images/icons/calculator_edit.png +0 -0
  186. data/public/images/icons/calculator_error.png +0 -0
  187. data/public/images/icons/calculator_link.png +0 -0
  188. data/public/images/icons/calendar.png +0 -0
  189. data/public/images/icons/calendar_add.png +0 -0
  190. data/public/images/icons/calendar_delete.png +0 -0
  191. data/public/images/icons/calendar_edit.png +0 -0
  192. data/public/images/icons/calendar_link.png +0 -0
  193. data/public/images/icons/calendar_view_day.png +0 -0
  194. data/public/images/icons/calendar_view_month.png +0 -0
  195. data/public/images/icons/calendar_view_week.png +0 -0
  196. data/public/images/icons/camera.png +0 -0
  197. data/public/images/icons/camera_add.png +0 -0
  198. data/public/images/icons/camera_delete.png +0 -0
  199. data/public/images/icons/camera_edit.png +0 -0
  200. data/public/images/icons/camera_error.png +0 -0
  201. data/public/images/icons/camera_go.png +0 -0
  202. data/public/images/icons/camera_link.png +0 -0
  203. data/public/images/icons/camera_small.png +0 -0
  204. data/public/images/icons/cancel.png +0 -0
  205. data/public/images/icons/car.png +0 -0
  206. data/public/images/icons/car_add.png +0 -0
  207. data/public/images/icons/car_delete.png +0 -0
  208. data/public/images/icons/cart.png +0 -0
  209. data/public/images/icons/cart_add.png +0 -0
  210. data/public/images/icons/cart_delete.png +0 -0
  211. data/public/images/icons/cart_edit.png +0 -0
  212. data/public/images/icons/cart_error.png +0 -0
  213. data/public/images/icons/cart_go.png +0 -0
  214. data/public/images/icons/cart_put.png +0 -0
  215. data/public/images/icons/cart_remove.png +0 -0
  216. data/public/images/icons/cd.png +0 -0
  217. data/public/images/icons/cd_add.png +0 -0
  218. data/public/images/icons/cd_burn.png +0 -0
  219. data/public/images/icons/cd_delete.png +0 -0
  220. data/public/images/icons/cd_edit.png +0 -0
  221. data/public/images/icons/cd_eject.png +0 -0
  222. data/public/images/icons/cd_go.png +0 -0
  223. data/public/images/icons/chart_bar.png +0 -0
  224. data/public/images/icons/chart_bar_add.png +0 -0
  225. data/public/images/icons/chart_bar_delete.png +0 -0
  226. data/public/images/icons/chart_bar_edit.png +0 -0
  227. data/public/images/icons/chart_bar_error.png +0 -0
  228. data/public/images/icons/chart_bar_link.png +0 -0
  229. data/public/images/icons/chart_curve.png +0 -0
  230. data/public/images/icons/chart_curve_add.png +0 -0
  231. data/public/images/icons/chart_curve_delete.png +0 -0
  232. data/public/images/icons/chart_curve_edit.png +0 -0
  233. data/public/images/icons/chart_curve_error.png +0 -0
  234. data/public/images/icons/chart_curve_go.png +0 -0
  235. data/public/images/icons/chart_curve_link.png +0 -0
  236. data/public/images/icons/chart_line.png +0 -0
  237. data/public/images/icons/chart_line_add.png +0 -0
  238. data/public/images/icons/chart_line_delete.png +0 -0
  239. data/public/images/icons/chart_line_edit.png +0 -0
  240. data/public/images/icons/chart_line_error.png +0 -0
  241. data/public/images/icons/chart_line_link.png +0 -0
  242. data/public/images/icons/chart_organisation.png +0 -0
  243. data/public/images/icons/chart_organisation_add.png +0 -0
  244. data/public/images/icons/chart_organisation_delete.png +0 -0
  245. data/public/images/icons/chart_pie.png +0 -0
  246. data/public/images/icons/chart_pie_add.png +0 -0
  247. data/public/images/icons/chart_pie_delete.png +0 -0
  248. data/public/images/icons/chart_pie_edit.png +0 -0
  249. data/public/images/icons/chart_pie_error.png +0 -0
  250. data/public/images/icons/chart_pie_link.png +0 -0
  251. data/public/images/icons/clock.png +0 -0
  252. data/public/images/icons/clock_add.png +0 -0
  253. data/public/images/icons/clock_delete.png +0 -0
  254. data/public/images/icons/clock_edit.png +0 -0
  255. data/public/images/icons/clock_error.png +0 -0
  256. data/public/images/icons/clock_go.png +0 -0
  257. data/public/images/icons/clock_link.png +0 -0
  258. data/public/images/icons/clock_pause.png +0 -0
  259. data/public/images/icons/clock_play.png +0 -0
  260. data/public/images/icons/clock_red.png +0 -0
  261. data/public/images/icons/clock_stop.png +0 -0
  262. data/public/images/icons/cog.png +0 -0
  263. data/public/images/icons/cog_add.png +0 -0
  264. data/public/images/icons/cog_delete.png +0 -0
  265. data/public/images/icons/cog_edit.png +0 -0
  266. data/public/images/icons/cog_error.png +0 -0
  267. data/public/images/icons/cog_go.png +0 -0
  268. data/public/images/icons/coins.png +0 -0
  269. data/public/images/icons/coins_add.png +0 -0
  270. data/public/images/icons/coins_delete.png +0 -0
  271. data/public/images/icons/collapse-all.gif +0 -0
  272. data/public/images/icons/color_swatch.png +0 -0
  273. data/public/images/icons/color_wheel.png +0 -0
  274. data/public/images/icons/comment.png +0 -0
  275. data/public/images/icons/comment_add.png +0 -0
  276. data/public/images/icons/comment_delete.png +0 -0
  277. data/public/images/icons/comment_edit.png +0 -0
  278. data/public/images/icons/comments.png +0 -0
  279. data/public/images/icons/comments_add.png +0 -0
  280. data/public/images/icons/comments_delete.png +0 -0
  281. data/public/images/icons/compress.png +0 -0
  282. data/public/images/icons/computer.png +0 -0
  283. data/public/images/icons/computer_add.png +0 -0
  284. data/public/images/icons/computer_delete.png +0 -0
  285. data/public/images/icons/computer_edit.png +0 -0
  286. data/public/images/icons/computer_error.png +0 -0
  287. data/public/images/icons/computer_go.png +0 -0
  288. data/public/images/icons/computer_key.png +0 -0
  289. data/public/images/icons/computer_link.png +0 -0
  290. data/public/images/icons/connect.png +0 -0
  291. data/public/images/icons/contrast.png +0 -0
  292. data/public/images/icons/contrast_decrease.png +0 -0
  293. data/public/images/icons/contrast_high.png +0 -0
  294. data/public/images/icons/contrast_increase.png +0 -0
  295. data/public/images/icons/contrast_low.png +0 -0
  296. data/public/images/icons/control_eject.png +0 -0
  297. data/public/images/icons/control_eject_blue.png +0 -0
  298. data/public/images/icons/control_end.png +0 -0
  299. data/public/images/icons/control_end_blue.png +0 -0
  300. data/public/images/icons/control_equalizer.png +0 -0
  301. data/public/images/icons/control_equalizer_blue.png +0 -0
  302. data/public/images/icons/control_fastforward.png +0 -0
  303. data/public/images/icons/control_fastforward_blue.png +0 -0
  304. data/public/images/icons/control_pause.png +0 -0
  305. data/public/images/icons/control_pause_blue.png +0 -0
  306. data/public/images/icons/control_play.png +0 -0
  307. data/public/images/icons/control_play_blue.png +0 -0
  308. data/public/images/icons/control_repeat.png +0 -0
  309. data/public/images/icons/control_repeat_blue.png +0 -0
  310. data/public/images/icons/control_rewind.png +0 -0
  311. data/public/images/icons/control_rewind_blue.png +0 -0
  312. data/public/images/icons/control_start.png +0 -0
  313. data/public/images/icons/control_start_blue.png +0 -0
  314. data/public/images/icons/control_stop.png +0 -0
  315. data/public/images/icons/control_stop_blue.png +0 -0
  316. data/public/images/icons/controller.png +0 -0
  317. data/public/images/icons/controller_add.png +0 -0
  318. data/public/images/icons/controller_delete.png +0 -0
  319. data/public/images/icons/controller_error.png +0 -0
  320. data/public/images/icons/creditcards.png +0 -0
  321. data/public/images/icons/cross.png +0 -0
  322. data/public/images/icons/css.png +0 -0
  323. data/public/images/icons/css_add.png +0 -0
  324. data/public/images/icons/css_delete.png +0 -0
  325. data/public/images/icons/css_go.png +0 -0
  326. data/public/images/icons/css_valid.png +0 -0
  327. data/public/images/icons/cup.png +0 -0
  328. data/public/images/icons/cup_add.png +0 -0
  329. data/public/images/icons/cup_delete.png +0 -0
  330. data/public/images/icons/cup_edit.png +0 -0
  331. data/public/images/icons/cup_error.png +0 -0
  332. data/public/images/icons/cup_go.png +0 -0
  333. data/public/images/icons/cup_key.png +0 -0
  334. data/public/images/icons/cup_link.png +0 -0
  335. data/public/images/icons/cursor.png +0 -0
  336. data/public/images/icons/cut.png +0 -0
  337. data/public/images/icons/cut_red.png +0 -0
  338. data/public/images/icons/database.png +0 -0
  339. data/public/images/icons/database_add.png +0 -0
  340. data/public/images/icons/database_connect.png +0 -0
  341. data/public/images/icons/database_delete.png +0 -0
  342. data/public/images/icons/database_edit.png +0 -0
  343. data/public/images/icons/database_error.png +0 -0
  344. data/public/images/icons/database_gear.png +0 -0
  345. data/public/images/icons/database_go.png +0 -0
  346. data/public/images/icons/database_key.png +0 -0
  347. data/public/images/icons/database_lightning.png +0 -0
  348. data/public/images/icons/database_link.png +0 -0
  349. data/public/images/icons/database_refresh.png +0 -0
  350. data/public/images/icons/database_save.png +0 -0
  351. data/public/images/icons/database_table.png +0 -0
  352. data/public/images/icons/date.png +0 -0
  353. data/public/images/icons/date_add.png +0 -0
  354. data/public/images/icons/date_delete.png +0 -0
  355. data/public/images/icons/date_edit.png +0 -0
  356. data/public/images/icons/date_error.png +0 -0
  357. data/public/images/icons/date_go.png +0 -0
  358. data/public/images/icons/date_link.png +0 -0
  359. data/public/images/icons/date_magnify.png +0 -0
  360. data/public/images/icons/date_next.png +0 -0
  361. data/public/images/icons/date_previous.png +0 -0
  362. data/public/images/icons/delete.png +0 -0
  363. data/public/images/icons/disconnect.png +0 -0
  364. data/public/images/icons/disk.png +0 -0
  365. data/public/images/icons/disk_multiple.png +0 -0
  366. data/public/images/icons/door.png +0 -0
  367. data/public/images/icons/door_in.png +0 -0
  368. data/public/images/icons/door_open.png +0 -0
  369. data/public/images/icons/door_out.png +0 -0
  370. data/public/images/icons/drink.png +0 -0
  371. data/public/images/icons/drink_empty.png +0 -0
  372. data/public/images/icons/drive.png +0 -0
  373. data/public/images/icons/drive_add.png +0 -0
  374. data/public/images/icons/drive_burn.png +0 -0
  375. data/public/images/icons/drive_cd.png +0 -0
  376. data/public/images/icons/drive_cd_empty.png +0 -0
  377. data/public/images/icons/drive_delete.png +0 -0
  378. data/public/images/icons/drive_disk.png +0 -0
  379. data/public/images/icons/drive_edit.png +0 -0
  380. data/public/images/icons/drive_error.png +0 -0
  381. data/public/images/icons/drive_go.png +0 -0
  382. data/public/images/icons/drive_key.png +0 -0
  383. data/public/images/icons/drive_link.png +0 -0
  384. data/public/images/icons/drive_magnify.png +0 -0
  385. data/public/images/icons/drive_network.png +0 -0
  386. data/public/images/icons/drive_rename.png +0 -0
  387. data/public/images/icons/drive_user.png +0 -0
  388. data/public/images/icons/drive_web.png +0 -0
  389. data/public/images/icons/dvd.png +0 -0
  390. data/public/images/icons/dvd_add.png +0 -0
  391. data/public/images/icons/dvd_delete.png +0 -0
  392. data/public/images/icons/dvd_edit.png +0 -0
  393. data/public/images/icons/dvd_error.png +0 -0
  394. data/public/images/icons/dvd_go.png +0 -0
  395. data/public/images/icons/dvd_key.png +0 -0
  396. data/public/images/icons/dvd_link.png +0 -0
  397. data/public/images/icons/email.png +0 -0
  398. data/public/images/icons/email_add.png +0 -0
  399. data/public/images/icons/email_attach.png +0 -0
  400. data/public/images/icons/email_delete.png +0 -0
  401. data/public/images/icons/email_edit.png +0 -0
  402. data/public/images/icons/email_error.png +0 -0
  403. data/public/images/icons/email_go.png +0 -0
  404. data/public/images/icons/email_link.png +0 -0
  405. data/public/images/icons/email_open.png +0 -0
  406. data/public/images/icons/email_open_image.png +0 -0
  407. data/public/images/icons/emoticon_evilgrin.png +0 -0
  408. data/public/images/icons/emoticon_grin.png +0 -0
  409. data/public/images/icons/emoticon_happy.png +0 -0
  410. data/public/images/icons/emoticon_smile.png +0 -0
  411. data/public/images/icons/emoticon_surprised.png +0 -0
  412. data/public/images/icons/emoticon_tongue.png +0 -0
  413. data/public/images/icons/emoticon_unhappy.png +0 -0
  414. data/public/images/icons/emoticon_waii.png +0 -0
  415. data/public/images/icons/emoticon_wink.png +0 -0
  416. data/public/images/icons/error.png +0 -0
  417. data/public/images/icons/error_add.png +0 -0
  418. data/public/images/icons/error_delete.png +0 -0
  419. data/public/images/icons/error_go.png +0 -0
  420. data/public/images/icons/exclamation.png +0 -0
  421. data/public/images/icons/expand-all.gif +0 -0
  422. data/public/images/icons/eye.png +0 -0
  423. data/public/images/icons/feed.png +0 -0
  424. data/public/images/icons/feed_add.png +0 -0
  425. data/public/images/icons/feed_delete.png +0 -0
  426. data/public/images/icons/feed_disk.png +0 -0
  427. data/public/images/icons/feed_edit.png +0 -0
  428. data/public/images/icons/feed_error.png +0 -0
  429. data/public/images/icons/feed_go.png +0 -0
  430. data/public/images/icons/feed_key.png +0 -0
  431. data/public/images/icons/feed_link.png +0 -0
  432. data/public/images/icons/feed_magnify.png +0 -0
  433. data/public/images/icons/female.png +0 -0
  434. data/public/images/icons/film.png +0 -0
  435. data/public/images/icons/film_add.png +0 -0
  436. data/public/images/icons/film_delete.png +0 -0
  437. data/public/images/icons/film_edit.png +0 -0
  438. data/public/images/icons/film_error.png +0 -0
  439. data/public/images/icons/film_go.png +0 -0
  440. data/public/images/icons/film_key.png +0 -0
  441. data/public/images/icons/film_link.png +0 -0
  442. data/public/images/icons/film_save.png +0 -0
  443. data/public/images/icons/find.png +0 -0
  444. data/public/images/icons/flag_blue.png +0 -0
  445. data/public/images/icons/flag_green.png +0 -0
  446. data/public/images/icons/flag_orange.png +0 -0
  447. data/public/images/icons/flag_pink.png +0 -0
  448. data/public/images/icons/flag_purple.png +0 -0
  449. data/public/images/icons/flag_red.png +0 -0
  450. data/public/images/icons/flag_yellow.png +0 -0
  451. data/public/images/icons/folder.png +0 -0
  452. data/public/images/icons/folder_add.png +0 -0
  453. data/public/images/icons/folder_bell.png +0 -0
  454. data/public/images/icons/folder_brick.png +0 -0
  455. data/public/images/icons/folder_bug.png +0 -0
  456. data/public/images/icons/folder_camera.png +0 -0
  457. data/public/images/icons/folder_database.png +0 -0
  458. data/public/images/icons/folder_delete.png +0 -0
  459. data/public/images/icons/folder_edit.png +0 -0
  460. data/public/images/icons/folder_error.png +0 -0
  461. data/public/images/icons/folder_explore.png +0 -0
  462. data/public/images/icons/folder_feed.png +0 -0
  463. data/public/images/icons/folder_find.png +0 -0
  464. data/public/images/icons/folder_go.png +0 -0
  465. data/public/images/icons/folder_heart.png +0 -0
  466. data/public/images/icons/folder_image.png +0 -0
  467. data/public/images/icons/folder_key.png +0 -0
  468. data/public/images/icons/folder_lightbulb.png +0 -0
  469. data/public/images/icons/folder_link.png +0 -0
  470. data/public/images/icons/folder_magnify.png +0 -0
  471. data/public/images/icons/folder_page.png +0 -0
  472. data/public/images/icons/folder_page_white.png +0 -0
  473. data/public/images/icons/folder_palette.png +0 -0
  474. data/public/images/icons/folder_picture.png +0 -0
  475. data/public/images/icons/folder_star.png +0 -0
  476. data/public/images/icons/folder_table.png +0 -0
  477. data/public/images/icons/folder_user.png +0 -0
  478. data/public/images/icons/folder_wrench.png +0 -0
  479. data/public/images/icons/font.png +0 -0
  480. data/public/images/icons/font_add.png +0 -0
  481. data/public/images/icons/font_delete.png +0 -0
  482. data/public/images/icons/font_go.png +0 -0
  483. data/public/images/icons/group.png +0 -0
  484. data/public/images/icons/group_add.png +0 -0
  485. data/public/images/icons/group_delete.png +0 -0
  486. data/public/images/icons/group_edit.png +0 -0
  487. data/public/images/icons/group_error.png +0 -0
  488. data/public/images/icons/group_gear.png +0 -0
  489. data/public/images/icons/group_go.png +0 -0
  490. data/public/images/icons/group_key.png +0 -0
  491. data/public/images/icons/group_link.png +0 -0
  492. data/public/images/icons/heart.png +0 -0
  493. data/public/images/icons/heart_add.png +0 -0
  494. data/public/images/icons/heart_delete.png +0 -0
  495. data/public/images/icons/help.png +0 -0
  496. data/public/images/icons/hourglass.png +0 -0
  497. data/public/images/icons/hourglass_add.png +0 -0
  498. data/public/images/icons/hourglass_delete.png +0 -0
  499. data/public/images/icons/hourglass_go.png +0 -0
  500. data/public/images/icons/hourglass_link.png +0 -0
  501. data/public/images/icons/house.png +0 -0
  502. data/public/images/icons/house_go.png +0 -0
  503. data/public/images/icons/house_link.png +0 -0
  504. data/public/images/icons/html.png +0 -0
  505. data/public/images/icons/html_add.png +0 -0
  506. data/public/images/icons/html_delete.png +0 -0
  507. data/public/images/icons/html_go.png +0 -0
  508. data/public/images/icons/html_valid.png +0 -0
  509. data/public/images/icons/image.png +0 -0
  510. data/public/images/icons/image_add.png +0 -0
  511. data/public/images/icons/image_delete.png +0 -0
  512. data/public/images/icons/image_edit.png +0 -0
  513. data/public/images/icons/image_link.png +0 -0
  514. data/public/images/icons/images.png +0 -0
  515. data/public/images/icons/information.png +0 -0
  516. data/public/images/icons/ipod.png +0 -0
  517. data/public/images/icons/ipod_cast.png +0 -0
  518. data/public/images/icons/ipod_cast_add.png +0 -0
  519. data/public/images/icons/ipod_cast_delete.png +0 -0
  520. data/public/images/icons/ipod_sound.png +0 -0
  521. data/public/images/icons/joystick.png +0 -0
  522. data/public/images/icons/joystick_add.png +0 -0
  523. data/public/images/icons/joystick_delete.png +0 -0
  524. data/public/images/icons/joystick_error.png +0 -0
  525. data/public/images/icons/key.png +0 -0
  526. data/public/images/icons/key_add.png +0 -0
  527. data/public/images/icons/key_delete.png +0 -0
  528. data/public/images/icons/key_go.png +0 -0
  529. data/public/images/icons/keyboard.png +0 -0
  530. data/public/images/icons/keyboard_add.png +0 -0
  531. data/public/images/icons/keyboard_delete.png +0 -0
  532. data/public/images/icons/keyboard_magnify.png +0 -0
  533. data/public/images/icons/layers.png +0 -0
  534. data/public/images/icons/layout.png +0 -0
  535. data/public/images/icons/layout_add.png +0 -0
  536. data/public/images/icons/layout_content.png +0 -0
  537. data/public/images/icons/layout_delete.png +0 -0
  538. data/public/images/icons/layout_edit.png +0 -0
  539. data/public/images/icons/layout_error.png +0 -0
  540. data/public/images/icons/layout_header.png +0 -0
  541. data/public/images/icons/layout_link.png +0 -0
  542. data/public/images/icons/layout_sidebar.png +0 -0
  543. data/public/images/icons/lightbulb.png +0 -0
  544. data/public/images/icons/lightbulb_add.png +0 -0
  545. data/public/images/icons/lightbulb_delete.png +0 -0
  546. data/public/images/icons/lightbulb_off.png +0 -0
  547. data/public/images/icons/lightning.png +0 -0
  548. data/public/images/icons/lightning_add.png +0 -0
  549. data/public/images/icons/lightning_delete.png +0 -0
  550. data/public/images/icons/lightning_go.png +0 -0
  551. data/public/images/icons/link.png +0 -0
  552. data/public/images/icons/link_add.png +0 -0
  553. data/public/images/icons/link_break.png +0 -0
  554. data/public/images/icons/link_delete.png +0 -0
  555. data/public/images/icons/link_edit.png +0 -0
  556. data/public/images/icons/link_error.png +0 -0
  557. data/public/images/icons/link_go.png +0 -0
  558. data/public/images/icons/lock.png +0 -0
  559. data/public/images/icons/lock_add.png +0 -0
  560. data/public/images/icons/lock_break.png +0 -0
  561. data/public/images/icons/lock_delete.png +0 -0
  562. data/public/images/icons/lock_edit.png +0 -0
  563. data/public/images/icons/lock_go.png +0 -0
  564. data/public/images/icons/lock_open.png +0 -0
  565. data/public/images/icons/lorry.png +0 -0
  566. data/public/images/icons/lorry_add.png +0 -0
  567. data/public/images/icons/lorry_delete.png +0 -0
  568. data/public/images/icons/lorry_error.png +0 -0
  569. data/public/images/icons/lorry_flatbed.png +0 -0
  570. data/public/images/icons/lorry_go.png +0 -0
  571. data/public/images/icons/lorry_link.png +0 -0
  572. data/public/images/icons/magifier_zoom_out.png +0 -0
  573. data/public/images/icons/magnifier.png +0 -0
  574. data/public/images/icons/magnifier_zoom_in.png +0 -0
  575. data/public/images/icons/male.png +0 -0
  576. data/public/images/icons/map.png +0 -0
  577. data/public/images/icons/map_add.png +0 -0
  578. data/public/images/icons/map_delete.png +0 -0
  579. data/public/images/icons/map_edit.png +0 -0
  580. data/public/images/icons/map_go.png +0 -0
  581. data/public/images/icons/map_magnify.png +0 -0
  582. data/public/images/icons/medal_bronze_1.png +0 -0
  583. data/public/images/icons/medal_bronze_2.png +0 -0
  584. data/public/images/icons/medal_bronze_3.png +0 -0
  585. data/public/images/icons/medal_bronze_add.png +0 -0
  586. data/public/images/icons/medal_bronze_delete.png +0 -0
  587. data/public/images/icons/medal_gold_1.png +0 -0
  588. data/public/images/icons/medal_gold_2.png +0 -0
  589. data/public/images/icons/medal_gold_3.png +0 -0
  590. data/public/images/icons/medal_gold_add.png +0 -0
  591. data/public/images/icons/medal_gold_delete.png +0 -0
  592. data/public/images/icons/medal_silver_1.png +0 -0
  593. data/public/images/icons/medal_silver_2.png +0 -0
  594. data/public/images/icons/medal_silver_3.png +0 -0
  595. data/public/images/icons/medal_silver_add.png +0 -0
  596. data/public/images/icons/medal_silver_delete.png +0 -0
  597. data/public/images/icons/money.png +0 -0
  598. data/public/images/icons/money_add.png +0 -0
  599. data/public/images/icons/money_delete.png +0 -0
  600. data/public/images/icons/money_dollar.png +0 -0
  601. data/public/images/icons/money_euro.png +0 -0
  602. data/public/images/icons/money_pound.png +0 -0
  603. data/public/images/icons/money_yen.png +0 -0
  604. data/public/images/icons/monitor.png +0 -0
  605. data/public/images/icons/monitor_add.png +0 -0
  606. data/public/images/icons/monitor_delete.png +0 -0
  607. data/public/images/icons/monitor_edit.png +0 -0
  608. data/public/images/icons/monitor_error.png +0 -0
  609. data/public/images/icons/monitor_go.png +0 -0
  610. data/public/images/icons/monitor_lightning.png +0 -0
  611. data/public/images/icons/monitor_link.png +0 -0
  612. data/public/images/icons/mouse.png +0 -0
  613. data/public/images/icons/mouse_add.png +0 -0
  614. data/public/images/icons/mouse_delete.png +0 -0
  615. data/public/images/icons/mouse_error.png +0 -0
  616. data/public/images/icons/music.png +0 -0
  617. data/public/images/icons/new.png +0 -0
  618. data/public/images/icons/newspaper.png +0 -0
  619. data/public/images/icons/newspaper_add.png +0 -0
  620. data/public/images/icons/newspaper_delete.png +0 -0
  621. data/public/images/icons/newspaper_go.png +0 -0
  622. data/public/images/icons/newspaper_link.png +0 -0
  623. data/public/images/icons/note.png +0 -0
  624. data/public/images/icons/note_add.png +0 -0
  625. data/public/images/icons/note_delete.png +0 -0
  626. data/public/images/icons/note_edit.png +0 -0
  627. data/public/images/icons/note_error.png +0 -0
  628. data/public/images/icons/note_go.png +0 -0
  629. data/public/images/icons/overlays.png +0 -0
  630. data/public/images/icons/package.png +0 -0
  631. data/public/images/icons/package_add.png +0 -0
  632. data/public/images/icons/package_delete.png +0 -0
  633. data/public/images/icons/package_go.png +0 -0
  634. data/public/images/icons/package_green.png +0 -0
  635. data/public/images/icons/package_link.png +0 -0
  636. data/public/images/icons/page.png +0 -0
  637. data/public/images/icons/page_add.png +0 -0
  638. data/public/images/icons/page_attach.png +0 -0
  639. data/public/images/icons/page_code.png +0 -0
  640. data/public/images/icons/page_copy.png +0 -0
  641. data/public/images/icons/page_delete.png +0 -0
  642. data/public/images/icons/page_edit.png +0 -0
  643. data/public/images/icons/page_error.png +0 -0
  644. data/public/images/icons/page_excel.png +0 -0
  645. data/public/images/icons/page_find.png +0 -0
  646. data/public/images/icons/page_gear.png +0 -0
  647. data/public/images/icons/page_go.png +0 -0
  648. data/public/images/icons/page_green.png +0 -0
  649. data/public/images/icons/page_key.png +0 -0
  650. data/public/images/icons/page_lightning.png +0 -0
  651. data/public/images/icons/page_link.png +0 -0
  652. data/public/images/icons/page_paintbrush.png +0 -0
  653. data/public/images/icons/page_paste.png +0 -0
  654. data/public/images/icons/page_red.png +0 -0
  655. data/public/images/icons/page_refresh.png +0 -0
  656. data/public/images/icons/page_save.png +0 -0
  657. data/public/images/icons/page_white.png +0 -0
  658. data/public/images/icons/page_white_acrobat.png +0 -0
  659. data/public/images/icons/page_white_actionscript.png +0 -0
  660. data/public/images/icons/page_white_add.png +0 -0
  661. data/public/images/icons/page_white_c.png +0 -0
  662. data/public/images/icons/page_white_camera.png +0 -0
  663. data/public/images/icons/page_white_cd.png +0 -0
  664. data/public/images/icons/page_white_code.png +0 -0
  665. data/public/images/icons/page_white_code_red.png +0 -0
  666. data/public/images/icons/page_white_coldfusion.png +0 -0
  667. data/public/images/icons/page_white_compressed.png +0 -0
  668. data/public/images/icons/page_white_copy.png +0 -0
  669. data/public/images/icons/page_white_cplusplus.png +0 -0
  670. data/public/images/icons/page_white_csharp.png +0 -0
  671. data/public/images/icons/page_white_cup.png +0 -0
  672. data/public/images/icons/page_white_database.png +0 -0
  673. data/public/images/icons/page_white_delete.png +0 -0
  674. data/public/images/icons/page_white_dvd.png +0 -0
  675. data/public/images/icons/page_white_edit.png +0 -0
  676. data/public/images/icons/page_white_error.png +0 -0
  677. data/public/images/icons/page_white_excel.png +0 -0
  678. data/public/images/icons/page_white_find.png +0 -0
  679. data/public/images/icons/page_white_flash.png +0 -0
  680. data/public/images/icons/page_white_freehand.png +0 -0
  681. data/public/images/icons/page_white_gear.png +0 -0
  682. data/public/images/icons/page_white_get.png +0 -0
  683. data/public/images/icons/page_white_go.png +0 -0
  684. data/public/images/icons/page_white_h.png +0 -0
  685. data/public/images/icons/page_white_horizontal.png +0 -0
  686. data/public/images/icons/page_white_key.png +0 -0
  687. data/public/images/icons/page_white_lightning.png +0 -0
  688. data/public/images/icons/page_white_link.png +0 -0
  689. data/public/images/icons/page_white_magnify.png +0 -0
  690. data/public/images/icons/page_white_medal.png +0 -0
  691. data/public/images/icons/page_white_office.png +0 -0
  692. data/public/images/icons/page_white_paint.png +0 -0
  693. data/public/images/icons/page_white_paintbrush.png +0 -0
  694. data/public/images/icons/page_white_paste.png +0 -0
  695. data/public/images/icons/page_white_php.png +0 -0
  696. data/public/images/icons/page_white_picture.png +0 -0
  697. data/public/images/icons/page_white_powerpoint.png +0 -0
  698. data/public/images/icons/page_white_put.png +0 -0
  699. data/public/images/icons/page_white_ruby.png +0 -0
  700. data/public/images/icons/page_white_stack.png +0 -0
  701. data/public/images/icons/page_white_star.png +0 -0
  702. data/public/images/icons/page_white_swoosh.png +0 -0
  703. data/public/images/icons/page_white_text.png +0 -0
  704. data/public/images/icons/page_white_text_width.png +0 -0
  705. data/public/images/icons/page_white_tux.png +0 -0
  706. data/public/images/icons/page_white_vector.png +0 -0
  707. data/public/images/icons/page_white_visualstudio.png +0 -0
  708. data/public/images/icons/page_white_width.png +0 -0
  709. data/public/images/icons/page_white_word.png +0 -0
  710. data/public/images/icons/page_white_world.png +0 -0
  711. data/public/images/icons/page_white_wrench.png +0 -0
  712. data/public/images/icons/page_white_zip.png +0 -0
  713. data/public/images/icons/page_word.png +0 -0
  714. data/public/images/icons/page_world.png +0 -0
  715. data/public/images/icons/paintbrush.png +0 -0
  716. data/public/images/icons/paintcan.png +0 -0
  717. data/public/images/icons/palette.png +0 -0
  718. data/public/images/icons/paste_plain.png +0 -0
  719. data/public/images/icons/paste_word.png +0 -0
  720. data/public/images/icons/pencil.png +0 -0
  721. data/public/images/icons/pencil_add.png +0 -0
  722. data/public/images/icons/pencil_delete.png +0 -0
  723. data/public/images/icons/pencil_go.png +0 -0
  724. data/public/images/icons/phone.png +0 -0
  725. data/public/images/icons/phone_add.png +0 -0
  726. data/public/images/icons/phone_delete.png +0 -0
  727. data/public/images/icons/phone_sound.png +0 -0
  728. data/public/images/icons/photo.png +0 -0
  729. data/public/images/icons/photo_add.png +0 -0
  730. data/public/images/icons/photo_delete.png +0 -0
  731. data/public/images/icons/photo_link.png +0 -0
  732. data/public/images/icons/photos.png +0 -0
  733. data/public/images/icons/picture.png +0 -0
  734. data/public/images/icons/picture_add.png +0 -0
  735. data/public/images/icons/picture_delete.png +0 -0
  736. data/public/images/icons/picture_edit.png +0 -0
  737. data/public/images/icons/picture_empty.png +0 -0
  738. data/public/images/icons/picture_error.png +0 -0
  739. data/public/images/icons/picture_go.png +0 -0
  740. data/public/images/icons/picture_key.png +0 -0
  741. data/public/images/icons/picture_link.png +0 -0
  742. data/public/images/icons/picture_save.png +0 -0
  743. data/public/images/icons/pictures.png +0 -0
  744. data/public/images/icons/pilcrow.png +0 -0
  745. data/public/images/icons/pill.png +0 -0
  746. data/public/images/icons/pill_add.png +0 -0
  747. data/public/images/icons/pill_delete.png +0 -0
  748. data/public/images/icons/pill_go.png +0 -0
  749. data/public/images/icons/plugin.png +0 -0
  750. data/public/images/icons/plugin_add.png +0 -0
  751. data/public/images/icons/plugin_delete.png +0 -0
  752. data/public/images/icons/plugin_disabled.png +0 -0
  753. data/public/images/icons/plugin_edit.png +0 -0
  754. data/public/images/icons/plugin_error.png +0 -0
  755. data/public/images/icons/plugin_go.png +0 -0
  756. data/public/images/icons/plugin_link.png +0 -0
  757. data/public/images/icons/printer.png +0 -0
  758. data/public/images/icons/printer_add.png +0 -0
  759. data/public/images/icons/printer_delete.png +0 -0
  760. data/public/images/icons/printer_empty.png +0 -0
  761. data/public/images/icons/printer_error.png +0 -0
  762. data/public/images/icons/rainbow.png +0 -0
  763. data/public/images/icons/report.png +0 -0
  764. data/public/images/icons/report_add.png +0 -0
  765. data/public/images/icons/report_delete.png +0 -0
  766. data/public/images/icons/report_disk.png +0 -0
  767. data/public/images/icons/report_edit.png +0 -0
  768. data/public/images/icons/report_go.png +0 -0
  769. data/public/images/icons/report_key.png +0 -0
  770. data/public/images/icons/report_link.png +0 -0
  771. data/public/images/icons/report_magnify.png +0 -0
  772. data/public/images/icons/report_picture.png +0 -0
  773. data/public/images/icons/report_user.png +0 -0
  774. data/public/images/icons/report_word.png +0 -0
  775. data/public/images/icons/resultset_first.png +0 -0
  776. data/public/images/icons/resultset_last.png +0 -0
  777. data/public/images/icons/resultset_next.png +0 -0
  778. data/public/images/icons/resultset_previous.png +0 -0
  779. data/public/images/icons/rosette.png +0 -0
  780. data/public/images/icons/rss.png +0 -0
  781. data/public/images/icons/rss_add.png +0 -0
  782. data/public/images/icons/rss_delete.png +0 -0
  783. data/public/images/icons/rss_go.png +0 -0
  784. data/public/images/icons/rss_valid.png +0 -0
  785. data/public/images/icons/ruby.png +0 -0
  786. data/public/images/icons/ruby_add.png +0 -0
  787. data/public/images/icons/ruby_delete.png +0 -0
  788. data/public/images/icons/ruby_gear.png +0 -0
  789. data/public/images/icons/ruby_get.png +0 -0
  790. data/public/images/icons/ruby_go.png +0 -0
  791. data/public/images/icons/ruby_key.png +0 -0
  792. data/public/images/icons/ruby_link.png +0 -0
  793. data/public/images/icons/ruby_put.png +0 -0
  794. data/public/images/icons/script.png +0 -0
  795. data/public/images/icons/script_add.png +0 -0
  796. data/public/images/icons/script_code.png +0 -0
  797. data/public/images/icons/script_code_red.png +0 -0
  798. data/public/images/icons/script_delete.png +0 -0
  799. data/public/images/icons/script_edit.png +0 -0
  800. data/public/images/icons/script_error.png +0 -0
  801. data/public/images/icons/script_gear.png +0 -0
  802. data/public/images/icons/script_go.png +0 -0
  803. data/public/images/icons/script_key.png +0 -0
  804. data/public/images/icons/script_lightning.png +0 -0
  805. data/public/images/icons/script_link.png +0 -0
  806. data/public/images/icons/script_palette.png +0 -0
  807. data/public/images/icons/script_save.png +0 -0
  808. data/public/images/icons/server.png +0 -0
  809. data/public/images/icons/server_add.png +0 -0
  810. data/public/images/icons/server_chart.png +0 -0
  811. data/public/images/icons/server_compressed.png +0 -0
  812. data/public/images/icons/server_connect.png +0 -0
  813. data/public/images/icons/server_database.png +0 -0
  814. data/public/images/icons/server_delete.png +0 -0
  815. data/public/images/icons/server_edit.png +0 -0
  816. data/public/images/icons/server_error.png +0 -0
  817. data/public/images/icons/server_go.png +0 -0
  818. data/public/images/icons/server_key.png +0 -0
  819. data/public/images/icons/server_lightning.png +0 -0
  820. data/public/images/icons/server_link.png +0 -0
  821. data/public/images/icons/server_uncompressed.png +0 -0
  822. data/public/images/icons/shading.png +0 -0
  823. data/public/images/icons/shape_align_bottom.png +0 -0
  824. data/public/images/icons/shape_align_center.png +0 -0
  825. data/public/images/icons/shape_align_left.png +0 -0
  826. data/public/images/icons/shape_align_middle.png +0 -0
  827. data/public/images/icons/shape_align_right.png +0 -0
  828. data/public/images/icons/shape_align_top.png +0 -0
  829. data/public/images/icons/shape_flip_horizontal.png +0 -0
  830. data/public/images/icons/shape_flip_vertical.png +0 -0
  831. data/public/images/icons/shape_group.png +0 -0
  832. data/public/images/icons/shape_handles.png +0 -0
  833. data/public/images/icons/shape_move_back.png +0 -0
  834. data/public/images/icons/shape_move_backwards.png +0 -0
  835. data/public/images/icons/shape_move_forwards.png +0 -0
  836. data/public/images/icons/shape_move_front.png +0 -0
  837. data/public/images/icons/shape_rotate_anticlockwise.png +0 -0
  838. data/public/images/icons/shape_rotate_clockwise.png +0 -0
  839. data/public/images/icons/shape_square.png +0 -0
  840. data/public/images/icons/shape_square_add.png +0 -0
  841. data/public/images/icons/shape_square_delete.png +0 -0
  842. data/public/images/icons/shape_square_edit.png +0 -0
  843. data/public/images/icons/shape_square_error.png +0 -0
  844. data/public/images/icons/shape_square_go.png +0 -0
  845. data/public/images/icons/shape_square_key.png +0 -0
  846. data/public/images/icons/shape_square_link.png +0 -0
  847. data/public/images/icons/shape_ungroup.png +0 -0
  848. data/public/images/icons/shield.png +0 -0
  849. data/public/images/icons/shield_add.png +0 -0
  850. data/public/images/icons/shield_delete.png +0 -0
  851. data/public/images/icons/shield_go.png +0 -0
  852. data/public/images/icons/sitemap.png +0 -0
  853. data/public/images/icons/sitemap_color.png +0 -0
  854. data/public/images/icons/sound.png +0 -0
  855. data/public/images/icons/sound_add.png +0 -0
  856. data/public/images/icons/sound_delete.png +0 -0
  857. data/public/images/icons/sound_low.png +0 -0
  858. data/public/images/icons/sound_mute.png +0 -0
  859. data/public/images/icons/sound_none.png +0 -0
  860. data/public/images/icons/spellcheck.png +0 -0
  861. data/public/images/icons/sport_8ball.png +0 -0
  862. data/public/images/icons/sport_basketball.png +0 -0
  863. data/public/images/icons/sport_football.png +0 -0
  864. data/public/images/icons/sport_golf.png +0 -0
  865. data/public/images/icons/sport_raquet.png +0 -0
  866. data/public/images/icons/sport_shuttlecock.png +0 -0
  867. data/public/images/icons/sport_soccer.png +0 -0
  868. data/public/images/icons/sport_tennis.png +0 -0
  869. data/public/images/icons/star.png +0 -0
  870. data/public/images/icons/status_away.png +0 -0
  871. data/public/images/icons/status_busy.png +0 -0
  872. data/public/images/icons/status_offline.png +0 -0
  873. data/public/images/icons/status_online.png +0 -0
  874. data/public/images/icons/stop.png +0 -0
  875. data/public/images/icons/style.png +0 -0
  876. data/public/images/icons/style_add.png +0 -0
  877. data/public/images/icons/style_delete.png +0 -0
  878. data/public/images/icons/style_edit.png +0 -0
  879. data/public/images/icons/style_go.png +0 -0
  880. data/public/images/icons/sum.png +0 -0
  881. data/public/images/icons/tab.png +0 -0
  882. data/public/images/icons/tab_add.png +0 -0
  883. data/public/images/icons/tab_delete.png +0 -0
  884. data/public/images/icons/tab_edit.png +0 -0
  885. data/public/images/icons/tab_go.png +0 -0
  886. data/public/images/icons/table.png +0 -0
  887. data/public/images/icons/table_add.png +0 -0
  888. data/public/images/icons/table_delete.png +0 -0
  889. data/public/images/icons/table_edit.png +0 -0
  890. data/public/images/icons/table_error.png +0 -0
  891. data/public/images/icons/table_gear.png +0 -0
  892. data/public/images/icons/table_go.png +0 -0
  893. data/public/images/icons/table_key.png +0 -0
  894. data/public/images/icons/table_lightning.png +0 -0
  895. data/public/images/icons/table_link.png +0 -0
  896. data/public/images/icons/table_multiple.png +0 -0
  897. data/public/images/icons/table_refresh.png +0 -0
  898. data/public/images/icons/table_relationship.png +0 -0
  899. data/public/images/icons/table_row_delete.png +0 -0
  900. data/public/images/icons/table_row_insert.png +0 -0
  901. data/public/images/icons/table_save.png +0 -0
  902. data/public/images/icons/table_sort.png +0 -0
  903. data/public/images/icons/tag.png +0 -0
  904. data/public/images/icons/tag_blue.png +0 -0
  905. data/public/images/icons/tag_blue_add.png +0 -0
  906. data/public/images/icons/tag_blue_delete.png +0 -0
  907. data/public/images/icons/tag_blue_edit.png +0 -0
  908. data/public/images/icons/tag_green.png +0 -0
  909. data/public/images/icons/tag_orange.png +0 -0
  910. data/public/images/icons/tag_pink.png +0 -0
  911. data/public/images/icons/tag_purple.png +0 -0
  912. data/public/images/icons/tag_red.png +0 -0
  913. data/public/images/icons/tag_yellow.png +0 -0
  914. data/public/images/icons/telephone.png +0 -0
  915. data/public/images/icons/telephone_add.png +0 -0
  916. data/public/images/icons/telephone_delete.png +0 -0
  917. data/public/images/icons/telephone_edit.png +0 -0
  918. data/public/images/icons/telephone_error.png +0 -0
  919. data/public/images/icons/telephone_go.png +0 -0
  920. data/public/images/icons/telephone_key.png +0 -0
  921. data/public/images/icons/telephone_link.png +0 -0
  922. data/public/images/icons/television.png +0 -0
  923. data/public/images/icons/television_add.png +0 -0
  924. data/public/images/icons/television_delete.png +0 -0
  925. data/public/images/icons/text_align_center.png +0 -0
  926. data/public/images/icons/text_align_justify.png +0 -0
  927. data/public/images/icons/text_align_left.png +0 -0
  928. data/public/images/icons/text_align_right.png +0 -0
  929. data/public/images/icons/text_allcaps.png +0 -0
  930. data/public/images/icons/text_bold.png +0 -0
  931. data/public/images/icons/text_columns.png +0 -0
  932. data/public/images/icons/text_dropcaps.png +0 -0
  933. data/public/images/icons/text_heading_1.png +0 -0
  934. data/public/images/icons/text_heading_2.png +0 -0
  935. data/public/images/icons/text_heading_3.png +0 -0
  936. data/public/images/icons/text_heading_4.png +0 -0
  937. data/public/images/icons/text_heading_5.png +0 -0
  938. data/public/images/icons/text_heading_6.png +0 -0
  939. data/public/images/icons/text_horizontalrule.png +0 -0
  940. data/public/images/icons/text_indent.png +0 -0
  941. data/public/images/icons/text_indent_remove.png +0 -0
  942. data/public/images/icons/text_italic.png +0 -0
  943. data/public/images/icons/text_kerning.png +0 -0
  944. data/public/images/icons/text_letter_omega.png +0 -0
  945. data/public/images/icons/text_letterspacing.png +0 -0
  946. data/public/images/icons/text_linespacing.png +0 -0
  947. data/public/images/icons/text_list_bullets.png +0 -0
  948. data/public/images/icons/text_list_numbers.png +0 -0
  949. data/public/images/icons/text_lowercase.png +0 -0
  950. data/public/images/icons/text_padding_bottom.png +0 -0
  951. data/public/images/icons/text_padding_left.png +0 -0
  952. data/public/images/icons/text_padding_right.png +0 -0
  953. data/public/images/icons/text_padding_top.png +0 -0
  954. data/public/images/icons/text_replace.png +0 -0
  955. data/public/images/icons/text_signature.png +0 -0
  956. data/public/images/icons/text_smallcaps.png +0 -0
  957. data/public/images/icons/text_strikethrough.png +0 -0
  958. data/public/images/icons/text_subscript.png +0 -0
  959. data/public/images/icons/text_superscript.png +0 -0
  960. data/public/images/icons/text_underline.png +0 -0
  961. data/public/images/icons/text_uppercase.png +0 -0
  962. data/public/images/icons/textfield.png +0 -0
  963. data/public/images/icons/textfield_add.png +0 -0
  964. data/public/images/icons/textfield_delete.png +0 -0
  965. data/public/images/icons/textfield_key.png +0 -0
  966. data/public/images/icons/textfield_rename.png +0 -0
  967. data/public/images/icons/thumb_down.png +0 -0
  968. data/public/images/icons/thumb_up.png +0 -0
  969. data/public/images/icons/tick.png +0 -0
  970. data/public/images/icons/time.png +0 -0
  971. data/public/images/icons/time_add.png +0 -0
  972. data/public/images/icons/time_delete.png +0 -0
  973. data/public/images/icons/time_go.png +0 -0
  974. data/public/images/icons/timeline_marker.png +0 -0
  975. data/public/images/icons/transmit.png +0 -0
  976. data/public/images/icons/transmit_add.png +0 -0
  977. data/public/images/icons/transmit_blue.png +0 -0
  978. data/public/images/icons/transmit_delete.png +0 -0
  979. data/public/images/icons/transmit_edit.png +0 -0
  980. data/public/images/icons/transmit_error.png +0 -0
  981. data/public/images/icons/transmit_go.png +0 -0
  982. data/public/images/icons/tux.png +0 -0
  983. data/public/images/icons/user.png +0 -0
  984. data/public/images/icons/user_add.png +0 -0
  985. data/public/images/icons/user_comment.png +0 -0
  986. data/public/images/icons/user_delete.png +0 -0
  987. data/public/images/icons/user_edit.png +0 -0
  988. data/public/images/icons/user_female.png +0 -0
  989. data/public/images/icons/user_go.png +0 -0
  990. data/public/images/icons/user_gray.png +0 -0
  991. data/public/images/icons/user_green.png +0 -0
  992. data/public/images/icons/user_orange.png +0 -0
  993. data/public/images/icons/user_red.png +0 -0
  994. data/public/images/icons/user_suit.png +0 -0
  995. data/public/images/icons/vcard.png +0 -0
  996. data/public/images/icons/vcard_add.png +0 -0
  997. data/public/images/icons/vcard_delete.png +0 -0
  998. data/public/images/icons/vcard_edit.png +0 -0
  999. data/public/images/icons/vector.png +0 -0
  1000. data/public/images/icons/vector_add.png +0 -0
  1001. data/public/images/icons/vector_delete.png +0 -0
  1002. data/public/images/icons/wand.png +0 -0
  1003. data/public/images/icons/weather_clouds.png +0 -0
  1004. data/public/images/icons/weather_cloudy.png +0 -0
  1005. data/public/images/icons/weather_lightning.png +0 -0
  1006. data/public/images/icons/weather_rain.png +0 -0
  1007. data/public/images/icons/weather_snow.png +0 -0
  1008. data/public/images/icons/weather_sun.png +0 -0
  1009. data/public/images/icons/webcam.png +0 -0
  1010. data/public/images/icons/webcam_add.png +0 -0
  1011. data/public/images/icons/webcam_delete.png +0 -0
  1012. data/public/images/icons/webcam_error.png +0 -0
  1013. data/public/images/icons/world.png +0 -0
  1014. data/public/images/icons/world_add.png +0 -0
  1015. data/public/images/icons/world_delete.png +0 -0
  1016. data/public/images/icons/world_edit.png +0 -0
  1017. data/public/images/icons/world_go.png +0 -0
  1018. data/public/images/icons/world_link.png +0 -0
  1019. data/public/images/icons/wrench.png +0 -0
  1020. data/public/images/icons/wrench_orange.png +0 -0
  1021. data/public/images/icons/xhtml.png +0 -0
  1022. data/public/images/icons/xhtml_add.png +0 -0
  1023. data/public/images/icons/xhtml_delete.png +0 -0
  1024. data/public/images/icons/xhtml_go.png +0 -0
  1025. data/public/images/icons/xhtml_valid.png +0 -0
  1026. data/public/images/icons/zoom.png +0 -0
  1027. data/public/images/icons/zoom_in.png +0 -0
  1028. data/public/images/icons/zoom_out.png +0 -0
  1029. data/public/jasmine/jasmine-html.js +182 -0
  1030. data/public/jasmine/jasmine.css +166 -0
  1031. data/public/jasmine/jasmine.js +2421 -0
  1032. data/public/jasmine/json2.js +478 -0
  1033. data/public/javascripts/Rwiki.js +71 -0
  1034. data/public/javascripts/Rwiki/EditorPanel.js +74 -0
  1035. data/public/javascripts/Rwiki/EditorPanel/Editor.js +115 -0
  1036. data/public/javascripts/Rwiki/NodeManager.js +168 -0
  1037. data/public/javascripts/Rwiki/SidePanel.js +26 -0
  1038. data/public/javascripts/Rwiki/TabPanel.js +130 -0
  1039. data/public/javascripts/Rwiki/TabPanel/PageTab.js +37 -0
  1040. data/public/javascripts/Rwiki/Toolbar.js +31 -0
  1041. data/public/javascripts/Rwiki/TreePanel.js +159 -0
  1042. data/public/javascripts/Rwiki/TreePanel/Filter.js +66 -0
  1043. data/public/javascripts/Rwiki/TreePanel/Loader.js +24 -0
  1044. data/public/javascripts/Rwiki/TreePanel/Menu.js +108 -0
  1045. data/public/javascripts/Rwiki/TreePanel/Node.js +14 -0
  1046. data/public/javascripts/Rwiki/TreePanel/Toolbar.js +44 -0
  1047. data/public/javascripts/Rwiki/Viewport.js +10 -0
  1048. data/public/javascripts/vendor/ext/adapter/ext/ext-base-debug-w-comments.js +3637 -0
  1049. data/public/javascripts/vendor/ext/adapter/ext/ext-base-debug.js +2760 -0
  1050. data/public/javascripts/vendor/ext/adapter/ext/ext-base.js +7 -0
  1051. data/public/javascripts/vendor/ext/adapter/jquery/ext-jquery-adapter-debug.js +2450 -0
  1052. data/public/javascripts/vendor/ext/adapter/jquery/ext-jquery-adapter.js +7 -0
  1053. data/public/javascripts/vendor/ext/adapter/prototype/ext-prototype-adapter-debug.js +2479 -0
  1054. data/public/javascripts/vendor/ext/adapter/prototype/ext-prototype-adapter.js +7 -0
  1055. data/public/javascripts/vendor/ext/adapter/yui/ext-yui-adapter-debug.js +2249 -0
  1056. data/public/javascripts/vendor/ext/adapter/yui/ext-yui-adapter.js +7 -0
  1057. data/public/javascripts/vendor/ext/ext-all-debug-w-comments.js +73701 -0
  1058. data/public/javascripts/vendor/ext/ext-all-debug.js +47684 -0
  1059. data/public/javascripts/vendor/ext/ext-all.js +11 -0
  1060. data/public/javascripts/vendor/ext/ux/TabCloseMenu.js +150 -0
  1061. data/public/javascripts/vendor/jquery/jquery-1.4.2.js +6240 -0
  1062. data/public/javascripts/vendor/jquery/jquery-1.4.2.min.js +154 -0
  1063. data/public/javascripts/vendor/markitup/jquery.markitup.js +563 -0
  1064. data/public/resources/ext/charts.swf +0 -0
  1065. data/public/resources/ext/css/README.txt +6 -0
  1066. data/public/resources/ext/css/debug.css +43 -0
  1067. data/public/resources/ext/css/ext-all-notheme.css +5150 -0
  1068. data/public/resources/ext/css/ext-all.css +6789 -0
  1069. data/public/resources/ext/css/reset-min.css +7 -0
  1070. data/public/resources/ext/css/structure/borders.css +54 -0
  1071. data/public/resources/ext/css/structure/box.css +80 -0
  1072. data/public/resources/ext/css/structure/button.css +445 -0
  1073. data/public/resources/ext/css/structure/combo.css +45 -0
  1074. data/public/resources/ext/css/structure/core.css +331 -0
  1075. data/public/resources/ext/css/structure/date-picker.css +271 -0
  1076. data/public/resources/ext/css/structure/dd.css +61 -0
  1077. data/public/resources/ext/css/structure/debug.css +26 -0
  1078. data/public/resources/ext/css/structure/dialog.css +62 -0
  1079. data/public/resources/ext/css/structure/editor.css +92 -0
  1080. data/public/resources/ext/css/structure/form.css +563 -0
  1081. data/public/resources/ext/css/structure/grid.css +578 -0
  1082. data/public/resources/ext/css/structure/layout.css +296 -0
  1083. data/public/resources/ext/css/structure/list-view.css +86 -0
  1084. data/public/resources/ext/css/structure/menu.css +238 -0
  1085. data/public/resources/ext/css/structure/panel-reset.css +130 -0
  1086. data/public/resources/ext/css/structure/panel.css +445 -0
  1087. data/public/resources/ext/css/structure/progress.css +46 -0
  1088. data/public/resources/ext/css/structure/qtips.css +153 -0
  1089. data/public/resources/ext/css/structure/reset.css +7 -0
  1090. data/public/resources/ext/css/structure/resizable.css +149 -0
  1091. data/public/resources/ext/css/structure/slider.css +103 -0
  1092. data/public/resources/ext/css/structure/tabs.css +387 -0
  1093. data/public/resources/ext/css/structure/toolbar.css +246 -0
  1094. data/public/resources/ext/css/structure/tree.css +218 -0
  1095. data/public/resources/ext/css/structure/window.css +222 -0
  1096. data/public/resources/ext/css/theme-access/borders.css +25 -0
  1097. data/public/resources/ext/css/theme-access/box.css +74 -0
  1098. data/public/resources/ext/css/theme-access/button.css +136 -0
  1099. data/public/resources/ext/css/theme-access/combo.css +43 -0
  1100. data/public/resources/ext/css/theme-access/core.css +81 -0
  1101. data/public/resources/ext/css/theme-access/date-picker.css +145 -0
  1102. data/public/resources/ext/css/theme-access/dd.css +29 -0
  1103. data/public/resources/ext/css/theme-access/debug.css +24 -0
  1104. data/public/resources/ext/css/theme-access/dialog.css +34 -0
  1105. data/public/resources/ext/css/theme-access/editor.css +16 -0
  1106. data/public/resources/ext/css/theme-access/form.css +176 -0
  1107. data/public/resources/ext/css/theme-access/grid.css +288 -0
  1108. data/public/resources/ext/css/theme-access/layout.css +56 -0
  1109. data/public/resources/ext/css/theme-access/list-view.css +39 -0
  1110. data/public/resources/ext/css/theme-access/menu.css +79 -0
  1111. data/public/resources/ext/css/theme-access/panel.css +94 -0
  1112. data/public/resources/ext/css/theme-access/progress.css +35 -0
  1113. data/public/resources/ext/css/theme-access/qtips.css +44 -0
  1114. data/public/resources/ext/css/theme-access/resizable.css +44 -0
  1115. data/public/resources/ext/css/theme-access/slider.css +21 -0
  1116. data/public/resources/ext/css/theme-access/tabs.css +119 -0
  1117. data/public/resources/ext/css/theme-access/toolbar.css +120 -0
  1118. data/public/resources/ext/css/theme-access/tree.css +165 -0
  1119. data/public/resources/ext/css/theme-access/window.css +87 -0
  1120. data/public/resources/ext/css/theme-gray/borders.css +29 -0
  1121. data/public/resources/ext/css/theme-gray/box.css +74 -0
  1122. data/public/resources/ext/css/theme-gray/button.css +94 -0
  1123. data/public/resources/ext/css/theme-gray/combo.css +43 -0
  1124. data/public/resources/ext/css/theme-gray/core.css +81 -0
  1125. data/public/resources/ext/css/theme-gray/date-picker.css +143 -0
  1126. data/public/resources/ext/css/theme-gray/dd.css +29 -0
  1127. data/public/resources/ext/css/theme-gray/debug.css +24 -0
  1128. data/public/resources/ext/css/theme-gray/dialog.css +34 -0
  1129. data/public/resources/ext/css/theme-gray/editor.css +13 -0
  1130. data/public/resources/ext/css/theme-gray/form.css +117 -0
  1131. data/public/resources/ext/css/theme-gray/grid.css +272 -0
  1132. data/public/resources/ext/css/theme-gray/layout.css +53 -0
  1133. data/public/resources/ext/css/theme-gray/list-view.css +37 -0
  1134. data/public/resources/ext/css/theme-gray/menu.css +82 -0
  1135. data/public/resources/ext/css/theme-gray/panel.css +87 -0
  1136. data/public/resources/ext/css/theme-gray/progress.css +32 -0
  1137. data/public/resources/ext/css/theme-gray/qtips.css +44 -0
  1138. data/public/resources/ext/css/theme-gray/resizable.css +43 -0
  1139. data/public/resources/ext/css/theme-gray/slider.css +21 -0
  1140. data/public/resources/ext/css/theme-gray/tabs.css +127 -0
  1141. data/public/resources/ext/css/theme-gray/toolbar.css +95 -0
  1142. data/public/resources/ext/css/theme-gray/tree.css +157 -0
  1143. data/public/resources/ext/css/theme-gray/window.css +86 -0
  1144. data/public/resources/ext/css/visual/borders.css +25 -0
  1145. data/public/resources/ext/css/visual/box.css +74 -0
  1146. data/public/resources/ext/css/visual/button.css +94 -0
  1147. data/public/resources/ext/css/visual/combo.css +43 -0
  1148. data/public/resources/ext/css/visual/core.css +80 -0
  1149. data/public/resources/ext/css/visual/date-picker.css +143 -0
  1150. data/public/resources/ext/css/visual/dd.css +29 -0
  1151. data/public/resources/ext/css/visual/debug.css +24 -0
  1152. data/public/resources/ext/css/visual/dialog.css +34 -0
  1153. data/public/resources/ext/css/visual/editor.css +13 -0
  1154. data/public/resources/ext/css/visual/form.css +123 -0
  1155. data/public/resources/ext/css/visual/grid.css +273 -0
  1156. data/public/resources/ext/css/visual/layout.css +53 -0
  1157. data/public/resources/ext/css/visual/list-view.css +37 -0
  1158. data/public/resources/ext/css/visual/menu.css +87 -0
  1159. data/public/resources/ext/css/visual/panel.css +87 -0
  1160. data/public/resources/ext/css/visual/progress.css +32 -0
  1161. data/public/resources/ext/css/visual/qtips.css +44 -0
  1162. data/public/resources/ext/css/visual/resizable.css +43 -0
  1163. data/public/resources/ext/css/visual/slider.css +21 -0
  1164. data/public/resources/ext/css/visual/tabs.css +127 -0
  1165. data/public/resources/ext/css/visual/toolbar.css +95 -0
  1166. data/public/resources/ext/css/visual/tree.css +152 -0
  1167. data/public/resources/ext/css/visual/window.css +86 -0
  1168. data/public/resources/ext/css/xtheme-access.css +1816 -0
  1169. data/public/resources/ext/css/xtheme-blue.css +1646 -0
  1170. data/public/resources/ext/css/xtheme-gray.css +1654 -0
  1171. data/public/resources/ext/css/yourtheme.css +1646 -0
  1172. data/public/resources/ext/expressinstall.swf +0 -0
  1173. data/public/resources/ext/images/access/box/corners-blue.gif +0 -0
  1174. data/public/resources/ext/images/access/box/corners.gif +0 -0
  1175. data/public/resources/ext/images/access/box/l-blue.gif +0 -0
  1176. data/public/resources/ext/images/access/box/l.gif +0 -0
  1177. data/public/resources/ext/images/access/box/r-blue.gif +0 -0
  1178. data/public/resources/ext/images/access/box/r.gif +0 -0
  1179. data/public/resources/ext/images/access/box/tb-blue.gif +0 -0
  1180. data/public/resources/ext/images/access/box/tb.gif +0 -0
  1181. data/public/resources/ext/images/access/button/arrow.gif +0 -0
  1182. data/public/resources/ext/images/access/button/btn.gif +0 -0
  1183. data/public/resources/ext/images/access/button/group-cs.gif +0 -0
  1184. data/public/resources/ext/images/access/button/group-lr.gif +0 -0
  1185. data/public/resources/ext/images/access/button/group-tb.gif +0 -0
  1186. data/public/resources/ext/images/access/button/s-arrow-b-noline.gif +0 -0
  1187. data/public/resources/ext/images/access/button/s-arrow-b.gif +0 -0
  1188. data/public/resources/ext/images/access/button/s-arrow-bo.gif +0 -0
  1189. data/public/resources/ext/images/access/button/s-arrow-noline.gif +0 -0
  1190. data/public/resources/ext/images/access/button/s-arrow-o.gif +0 -0
  1191. data/public/resources/ext/images/access/button/s-arrow.gif +0 -0
  1192. data/public/resources/ext/images/access/editor/tb-sprite.gif +0 -0
  1193. data/public/resources/ext/images/access/form/checkbox.gif +0 -0
  1194. data/public/resources/ext/images/access/form/clear-trigger.gif +0 -0
  1195. data/public/resources/ext/images/access/form/clear-trigger.psd +0 -0
  1196. data/public/resources/ext/images/access/form/date-trigger.gif +0 -0
  1197. data/public/resources/ext/images/access/form/date-trigger.psd +0 -0
  1198. data/public/resources/ext/images/access/form/error-tip-corners.gif +0 -0
  1199. data/public/resources/ext/images/access/form/exclamation.gif +0 -0
  1200. data/public/resources/ext/images/access/form/radio.gif +0 -0
  1201. data/public/resources/ext/images/access/form/search-trigger.gif +0 -0
  1202. data/public/resources/ext/images/access/form/search-trigger.psd +0 -0
  1203. data/public/resources/ext/images/access/form/text-bg.gif +0 -0
  1204. data/public/resources/ext/images/access/form/trigger-tpl.gif +0 -0
  1205. data/public/resources/ext/images/access/form/trigger.gif +0 -0
  1206. data/public/resources/ext/images/access/form/trigger.psd +0 -0
  1207. data/public/resources/ext/images/access/grid/arrow-left-white.gif +0 -0
  1208. data/public/resources/ext/images/access/grid/arrow-right-white.gif +0 -0
  1209. data/public/resources/ext/images/access/grid/col-move-bottom.gif +0 -0
  1210. data/public/resources/ext/images/access/grid/col-move-top.gif +0 -0
  1211. data/public/resources/ext/images/access/grid/columns.gif +0 -0
  1212. data/public/resources/ext/images/access/grid/dirty.gif +0 -0
  1213. data/public/resources/ext/images/access/grid/done.gif +0 -0
  1214. data/public/resources/ext/images/access/grid/drop-no.gif +0 -0
  1215. data/public/resources/ext/images/access/grid/drop-yes.gif +0 -0
  1216. data/public/resources/ext/images/access/grid/footer-bg.gif +0 -0
  1217. data/public/resources/ext/images/access/grid/grid-blue-hd.gif +0 -0
  1218. data/public/resources/ext/images/access/grid/grid-blue-split.gif +0 -0
  1219. data/public/resources/ext/images/access/grid/grid-hrow.gif +0 -0
  1220. data/public/resources/ext/images/access/grid/grid-loading.gif +0 -0
  1221. data/public/resources/ext/images/access/grid/grid-split.gif +0 -0
  1222. data/public/resources/ext/images/access/grid/grid-vista-hd.gif +0 -0
  1223. data/public/resources/ext/images/access/grid/grid3-hd-btn.gif +0 -0
  1224. data/public/resources/ext/images/access/grid/grid3-hrow-over.gif +0 -0
  1225. data/public/resources/ext/images/access/grid/grid3-hrow.gif +0 -0
  1226. data/public/resources/ext/images/access/grid/grid3-special-col-bg.gif +0 -0
  1227. data/public/resources/ext/images/access/grid/grid3-special-col-sel-bg.gif +0 -0
  1228. data/public/resources/ext/images/access/grid/group-by.gif +0 -0
  1229. data/public/resources/ext/images/access/grid/group-collapse.gif +0 -0
  1230. data/public/resources/ext/images/access/grid/group-expand-sprite.gif +0 -0
  1231. data/public/resources/ext/images/access/grid/group-expand.gif +0 -0
  1232. data/public/resources/ext/images/access/grid/hd-pop.gif +0 -0
  1233. data/public/resources/ext/images/access/grid/hmenu-asc.gif +0 -0
  1234. data/public/resources/ext/images/access/grid/hmenu-desc.gif +0 -0
  1235. data/public/resources/ext/images/access/grid/hmenu-lock.gif +0 -0
  1236. data/public/resources/ext/images/access/grid/hmenu-lock.png +0 -0
  1237. data/public/resources/ext/images/access/grid/hmenu-unlock.gif +0 -0
  1238. data/public/resources/ext/images/access/grid/hmenu-unlock.png +0 -0
  1239. data/public/resources/ext/images/access/grid/invalid_line.gif +0 -0
  1240. data/public/resources/ext/images/access/grid/loading.gif +0 -0
  1241. data/public/resources/ext/images/access/grid/mso-hd.gif +0 -0
  1242. data/public/resources/ext/images/access/grid/nowait.gif +0 -0
  1243. data/public/resources/ext/images/access/grid/page-first-disabled.gif +0 -0
  1244. data/public/resources/ext/images/access/grid/page-first.gif +0 -0
  1245. data/public/resources/ext/images/access/grid/page-last-disabled.gif +0 -0
  1246. data/public/resources/ext/images/access/grid/page-last.gif +0 -0
  1247. data/public/resources/ext/images/access/grid/page-next-disabled.gif +0 -0
  1248. data/public/resources/ext/images/access/grid/page-next.gif +0 -0
  1249. data/public/resources/ext/images/access/grid/page-prev-disabled.gif +0 -0
  1250. data/public/resources/ext/images/access/grid/page-prev.gif +0 -0
  1251. data/public/resources/ext/images/access/grid/pick-button.gif +0 -0
  1252. data/public/resources/ext/images/access/grid/refresh.gif +0 -0
  1253. data/public/resources/ext/images/access/grid/row-check-sprite.gif +0 -0
  1254. data/public/resources/ext/images/access/grid/row-expand-sprite.gif +0 -0
  1255. data/public/resources/ext/images/access/grid/row-over.gif +0 -0
  1256. data/public/resources/ext/images/access/grid/row-sel.gif +0 -0
  1257. data/public/resources/ext/images/access/grid/sort-hd.gif +0 -0
  1258. data/public/resources/ext/images/access/grid/sort_asc.gif +0 -0
  1259. data/public/resources/ext/images/access/grid/sort_desc.gif +0 -0
  1260. data/public/resources/ext/images/access/grid/wait.gif +0 -0
  1261. data/public/resources/ext/images/access/menu/checked.gif +0 -0
  1262. data/public/resources/ext/images/access/menu/group-checked.gif +0 -0
  1263. data/public/resources/ext/images/access/menu/item-over.gif +0 -0
  1264. data/public/resources/ext/images/access/menu/menu-parent.gif +0 -0
  1265. data/public/resources/ext/images/access/menu/menu.gif +0 -0
  1266. data/public/resources/ext/images/access/menu/unchecked.gif +0 -0
  1267. data/public/resources/ext/images/access/panel/corners-sprite.gif +0 -0
  1268. data/public/resources/ext/images/access/panel/left-right.gif +0 -0
  1269. data/public/resources/ext/images/access/panel/light-hd.gif +0 -0
  1270. data/public/resources/ext/images/access/panel/tool-sprite-tpl.gif +0 -0
  1271. data/public/resources/ext/images/access/panel/tool-sprites.gif +0 -0
  1272. data/public/resources/ext/images/access/panel/tools-sprites-trans.gif +0 -0
  1273. data/public/resources/ext/images/access/panel/top-bottom.gif +0 -0
  1274. data/public/resources/ext/images/access/panel/white-corners-sprite.gif +0 -0
  1275. data/public/resources/ext/images/access/panel/white-left-right.gif +0 -0
  1276. data/public/resources/ext/images/access/panel/white-top-bottom.gif +0 -0
  1277. data/public/resources/ext/images/access/progress/progress-bg.gif +0 -0
  1278. data/public/resources/ext/images/access/qtip/close.gif +0 -0
  1279. data/public/resources/ext/images/access/qtip/tip-anchor-sprite.gif +0 -0
  1280. data/public/resources/ext/images/access/qtip/tip-sprite.gif +0 -0
  1281. data/public/resources/ext/images/access/shared/glass-bg.gif +0 -0
  1282. data/public/resources/ext/images/access/shared/hd-sprite.gif +0 -0
  1283. data/public/resources/ext/images/access/shared/left-btn.gif +0 -0
  1284. data/public/resources/ext/images/access/shared/right-btn.gif +0 -0
  1285. data/public/resources/ext/images/access/sizer/e-handle-dark.gif +0 -0
  1286. data/public/resources/ext/images/access/sizer/e-handle.gif +0 -0
  1287. data/public/resources/ext/images/access/sizer/ne-handle-dark.gif +0 -0
  1288. data/public/resources/ext/images/access/sizer/ne-handle.gif +0 -0
  1289. data/public/resources/ext/images/access/sizer/nw-handle-dark.gif +0 -0
  1290. data/public/resources/ext/images/access/sizer/nw-handle.gif +0 -0
  1291. data/public/resources/ext/images/access/sizer/s-handle-dark.gif +0 -0
  1292. data/public/resources/ext/images/access/sizer/s-handle.gif +0 -0
  1293. data/public/resources/ext/images/access/sizer/se-handle-dark.gif +0 -0
  1294. data/public/resources/ext/images/access/sizer/se-handle.gif +0 -0
  1295. data/public/resources/ext/images/access/sizer/square.gif +0 -0
  1296. data/public/resources/ext/images/access/sizer/sw-handle-dark.gif +0 -0
  1297. data/public/resources/ext/images/access/sizer/sw-handle.gif +0 -0
  1298. data/public/resources/ext/images/access/slider/slider-bg.png +0 -0
  1299. data/public/resources/ext/images/access/slider/slider-thumb.png +0 -0
  1300. data/public/resources/ext/images/access/slider/slider-v-bg.png +0 -0
  1301. data/public/resources/ext/images/access/slider/slider-v-thumb.png +0 -0
  1302. data/public/resources/ext/images/access/tabs/scroll-left.gif +0 -0
  1303. data/public/resources/ext/images/access/tabs/scroll-right.gif +0 -0
  1304. data/public/resources/ext/images/access/tabs/tab-btm-inactive-left-bg.gif +0 -0
  1305. data/public/resources/ext/images/access/tabs/tab-btm-inactive-right-bg.gif +0 -0
  1306. data/public/resources/ext/images/access/tabs/tab-btm-left-bg.gif +0 -0
  1307. data/public/resources/ext/images/access/tabs/tab-btm-right-bg.gif +0 -0
  1308. data/public/resources/ext/images/access/tabs/tab-close.gif +0 -0
  1309. data/public/resources/ext/images/access/tabs/tab-strip-bg.gif +0 -0
  1310. data/public/resources/ext/images/access/tabs/tab-strip-btm-bg.gif +0 -0
  1311. data/public/resources/ext/images/access/tabs/tabs-sprite.gif +0 -0
  1312. data/public/resources/ext/images/access/toolbar/bg.gif +0 -0
  1313. data/public/resources/ext/images/access/toolbar/btn-arrow-light.gif +0 -0
  1314. data/public/resources/ext/images/access/toolbar/btn-arrow.gif +0 -0
  1315. data/public/resources/ext/images/access/toolbar/btn-over-bg.gif +0 -0
  1316. data/public/resources/ext/images/access/toolbar/gray-bg.gif +0 -0
  1317. data/public/resources/ext/images/access/toolbar/more.gif +0 -0
  1318. data/public/resources/ext/images/access/toolbar/s-arrow-bo.gif +0 -0
  1319. data/public/resources/ext/images/access/toolbar/tb-btn-sprite.gif +0 -0
  1320. data/public/resources/ext/images/access/toolbar/tb-xl-btn-sprite.gif +0 -0
  1321. data/public/resources/ext/images/access/toolbar/tb-xl-sep.gif +0 -0
  1322. data/public/resources/ext/images/access/tree/arrows.gif +0 -0
  1323. data/public/resources/ext/images/access/tree/drop-add.gif +0 -0
  1324. data/public/resources/ext/images/access/tree/drop-between.gif +0 -0
  1325. data/public/resources/ext/images/access/tree/drop-no.gif +0 -0
  1326. data/public/resources/ext/images/access/tree/drop-over.gif +0 -0
  1327. data/public/resources/ext/images/access/tree/drop-under.gif +0 -0
  1328. data/public/resources/ext/images/access/tree/drop-yes.gif +0 -0
  1329. data/public/resources/ext/images/access/tree/elbow-end-minus-nl.gif +0 -0
  1330. data/public/resources/ext/images/access/tree/elbow-end-minus.gif +0 -0
  1331. data/public/resources/ext/images/access/tree/elbow-end-plus-nl.gif +0 -0
  1332. data/public/resources/ext/images/access/tree/elbow-end-plus.gif +0 -0
  1333. data/public/resources/ext/images/access/tree/elbow-end.gif +0 -0
  1334. data/public/resources/ext/images/access/tree/elbow-line.gif +0 -0
  1335. data/public/resources/ext/images/access/tree/elbow-minus-nl.gif +0 -0
  1336. data/public/resources/ext/images/access/tree/elbow-minus.gif +0 -0
  1337. data/public/resources/ext/images/access/tree/elbow-plus-nl.gif +0 -0
  1338. data/public/resources/ext/images/access/tree/elbow-plus.gif +0 -0
  1339. data/public/resources/ext/images/access/tree/elbow.gif +0 -0
  1340. data/public/resources/ext/images/access/tree/folder-open.gif +0 -0
  1341. data/public/resources/ext/images/access/tree/folder.gif +0 -0
  1342. data/public/resources/ext/images/access/tree/leaf.gif +0 -0
  1343. data/public/resources/ext/images/access/tree/loading.gif +0 -0
  1344. data/public/resources/ext/images/access/tree/s.gif +0 -0
  1345. data/public/resources/ext/images/access/window/icon-error.gif +0 -0
  1346. data/public/resources/ext/images/access/window/icon-info.gif +0 -0
  1347. data/public/resources/ext/images/access/window/icon-question.gif +0 -0
  1348. data/public/resources/ext/images/access/window/icon-warning.gif +0 -0
  1349. data/public/resources/ext/images/access/window/left-corners.png +0 -0
  1350. data/public/resources/ext/images/access/window/left-right.png +0 -0
  1351. data/public/resources/ext/images/access/window/right-corners.png +0 -0
  1352. data/public/resources/ext/images/access/window/top-bottom.png +0 -0
  1353. data/public/resources/ext/images/default/box/corners-blue.gif +0 -0
  1354. data/public/resources/ext/images/default/box/corners.gif +0 -0
  1355. data/public/resources/ext/images/default/box/l-blue.gif +0 -0
  1356. data/public/resources/ext/images/default/box/l.gif +0 -0
  1357. data/public/resources/ext/images/default/box/r-blue.gif +0 -0
  1358. data/public/resources/ext/images/default/box/r.gif +0 -0
  1359. data/public/resources/ext/images/default/box/tb-blue.gif +0 -0
  1360. data/public/resources/ext/images/default/box/tb.gif +0 -0
  1361. data/public/resources/ext/images/default/button/arrow.gif +0 -0
  1362. data/public/resources/ext/images/default/button/btn.gif +0 -0
  1363. data/public/resources/ext/images/default/button/group-cs.gif +0 -0
  1364. data/public/resources/ext/images/default/button/group-lr.gif +0 -0
  1365. data/public/resources/ext/images/default/button/group-tb.gif +0 -0
  1366. data/public/resources/ext/images/default/button/s-arrow-b-noline.gif +0 -0
  1367. data/public/resources/ext/images/default/button/s-arrow-b.gif +0 -0
  1368. data/public/resources/ext/images/default/button/s-arrow-bo.gif +0 -0
  1369. data/public/resources/ext/images/default/button/s-arrow-noline.gif +0 -0
  1370. data/public/resources/ext/images/default/button/s-arrow-o.gif +0 -0
  1371. data/public/resources/ext/images/default/button/s-arrow.gif +0 -0
  1372. data/public/resources/ext/images/default/dd/drop-add.gif +0 -0
  1373. data/public/resources/ext/images/default/dd/drop-no.gif +0 -0
  1374. data/public/resources/ext/images/default/dd/drop-yes.gif +0 -0
  1375. data/public/resources/ext/images/default/editor/tb-sprite.gif +0 -0
  1376. data/public/resources/ext/images/default/form/checkbox.gif +0 -0
  1377. data/public/resources/ext/images/default/form/clear-trigger.gif +0 -0
  1378. data/public/resources/ext/images/default/form/clear-trigger.psd +0 -0
  1379. data/public/resources/ext/images/default/form/date-trigger.gif +0 -0
  1380. data/public/resources/ext/images/default/form/date-trigger.psd +0 -0
  1381. data/public/resources/ext/images/default/form/error-tip-corners.gif +0 -0
  1382. data/public/resources/ext/images/default/form/exclamation.gif +0 -0
  1383. data/public/resources/ext/images/default/form/radio.gif +0 -0
  1384. data/public/resources/ext/images/default/form/search-trigger.gif +0 -0
  1385. data/public/resources/ext/images/default/form/search-trigger.psd +0 -0
  1386. data/public/resources/ext/images/default/form/text-bg.gif +0 -0
  1387. data/public/resources/ext/images/default/form/trigger-square.gif +0 -0
  1388. data/public/resources/ext/images/default/form/trigger-square.psd +0 -0
  1389. data/public/resources/ext/images/default/form/trigger-tpl.gif +0 -0
  1390. data/public/resources/ext/images/default/form/trigger.gif +0 -0
  1391. data/public/resources/ext/images/default/form/trigger.psd +0 -0
  1392. data/public/resources/ext/images/default/gradient-bg.gif +0 -0
  1393. data/public/resources/ext/images/default/grid/arrow-left-white.gif +0 -0
  1394. data/public/resources/ext/images/default/grid/arrow-right-white.gif +0 -0
  1395. data/public/resources/ext/images/default/grid/col-move-bottom.gif +0 -0
  1396. data/public/resources/ext/images/default/grid/col-move-top.gif +0 -0
  1397. data/public/resources/ext/images/default/grid/columns.gif +0 -0
  1398. data/public/resources/ext/images/default/grid/dirty.gif +0 -0
  1399. data/public/resources/ext/images/default/grid/done.gif +0 -0
  1400. data/public/resources/ext/images/default/grid/drop-no.gif +0 -0
  1401. data/public/resources/ext/images/default/grid/drop-yes.gif +0 -0
  1402. data/public/resources/ext/images/default/grid/footer-bg.gif +0 -0
  1403. data/public/resources/ext/images/default/grid/grid-blue-hd.gif +0 -0
  1404. data/public/resources/ext/images/default/grid/grid-blue-split.gif +0 -0
  1405. data/public/resources/ext/images/default/grid/grid-hrow.gif +0 -0
  1406. data/public/resources/ext/images/default/grid/grid-loading.gif +0 -0
  1407. data/public/resources/ext/images/default/grid/grid-split.gif +0 -0
  1408. data/public/resources/ext/images/default/grid/grid-vista-hd.gif +0 -0
  1409. data/public/resources/ext/images/default/grid/grid3-hd-btn.gif +0 -0
  1410. data/public/resources/ext/images/default/grid/grid3-hrow-over.gif +0 -0
  1411. data/public/resources/ext/images/default/grid/grid3-hrow.gif +0 -0
  1412. data/public/resources/ext/images/default/grid/grid3-special-col-bg.gif +0 -0
  1413. data/public/resources/ext/images/default/grid/grid3-special-col-sel-bg.gif +0 -0
  1414. data/public/resources/ext/images/default/grid/group-by.gif +0 -0
  1415. data/public/resources/ext/images/default/grid/group-collapse.gif +0 -0
  1416. data/public/resources/ext/images/default/grid/group-expand-sprite.gif +0 -0
  1417. data/public/resources/ext/images/default/grid/group-expand.gif +0 -0
  1418. data/public/resources/ext/images/default/grid/hd-pop.gif +0 -0
  1419. data/public/resources/ext/images/default/grid/hmenu-asc.gif +0 -0
  1420. data/public/resources/ext/images/default/grid/hmenu-desc.gif +0 -0
  1421. data/public/resources/ext/images/default/grid/hmenu-lock.gif +0 -0
  1422. data/public/resources/ext/images/default/grid/hmenu-lock.png +0 -0
  1423. data/public/resources/ext/images/default/grid/hmenu-unlock.gif +0 -0
  1424. data/public/resources/ext/images/default/grid/hmenu-unlock.png +0 -0
  1425. data/public/resources/ext/images/default/grid/invalid_line.gif +0 -0
  1426. data/public/resources/ext/images/default/grid/loading.gif +0 -0
  1427. data/public/resources/ext/images/default/grid/mso-hd.gif +0 -0
  1428. data/public/resources/ext/images/default/grid/nowait.gif +0 -0
  1429. data/public/resources/ext/images/default/grid/page-first-disabled.gif +0 -0
  1430. data/public/resources/ext/images/default/grid/page-first.gif +0 -0
  1431. data/public/resources/ext/images/default/grid/page-last-disabled.gif +0 -0
  1432. data/public/resources/ext/images/default/grid/page-last.gif +0 -0
  1433. data/public/resources/ext/images/default/grid/page-next-disabled.gif +0 -0
  1434. data/public/resources/ext/images/default/grid/page-next.gif +0 -0
  1435. data/public/resources/ext/images/default/grid/page-prev-disabled.gif +0 -0
  1436. data/public/resources/ext/images/default/grid/page-prev.gif +0 -0
  1437. data/public/resources/ext/images/default/grid/pick-button.gif +0 -0
  1438. data/public/resources/ext/images/default/grid/refresh.gif +0 -0
  1439. data/public/resources/ext/images/default/grid/row-check-sprite.gif +0 -0
  1440. data/public/resources/ext/images/default/grid/row-expand-sprite.gif +0 -0
  1441. data/public/resources/ext/images/default/grid/row-over.gif +0 -0
  1442. data/public/resources/ext/images/default/grid/row-sel.gif +0 -0
  1443. data/public/resources/ext/images/default/grid/sort-hd.gif +0 -0
  1444. data/public/resources/ext/images/default/grid/sort_asc.gif +0 -0
  1445. data/public/resources/ext/images/default/grid/sort_desc.gif +0 -0
  1446. data/public/resources/ext/images/default/grid/wait.gif +0 -0
  1447. data/public/resources/ext/images/default/layout/collapse.gif +0 -0
  1448. data/public/resources/ext/images/default/layout/expand.gif +0 -0
  1449. data/public/resources/ext/images/default/layout/gradient-bg.gif +0 -0
  1450. data/public/resources/ext/images/default/layout/mini-bottom.gif +0 -0
  1451. data/public/resources/ext/images/default/layout/mini-left.gif +0 -0
  1452. data/public/resources/ext/images/default/layout/mini-right.gif +0 -0
  1453. data/public/resources/ext/images/default/layout/mini-top.gif +0 -0
  1454. data/public/resources/ext/images/default/layout/ns-collapse.gif +0 -0
  1455. data/public/resources/ext/images/default/layout/ns-expand.gif +0 -0
  1456. data/public/resources/ext/images/default/layout/panel-close.gif +0 -0
  1457. data/public/resources/ext/images/default/layout/panel-title-bg.gif +0 -0
  1458. data/public/resources/ext/images/default/layout/panel-title-light-bg.gif +0 -0
  1459. data/public/resources/ext/images/default/layout/stick.gif +0 -0
  1460. data/public/resources/ext/images/default/layout/stuck.gif +0 -0
  1461. data/public/resources/ext/images/default/layout/tab-close-on.gif +0 -0
  1462. data/public/resources/ext/images/default/layout/tab-close.gif +0 -0
  1463. data/public/resources/ext/images/default/menu/checked.gif +0 -0
  1464. data/public/resources/ext/images/default/menu/group-checked.gif +0 -0
  1465. data/public/resources/ext/images/default/menu/item-over.gif +0 -0
  1466. data/public/resources/ext/images/default/menu/menu-parent.gif +0 -0
  1467. data/public/resources/ext/images/default/menu/menu.gif +0 -0
  1468. data/public/resources/ext/images/default/menu/unchecked.gif +0 -0
  1469. data/public/resources/ext/images/default/panel/corners-sprite.gif +0 -0
  1470. data/public/resources/ext/images/default/panel/left-right.gif +0 -0
  1471. data/public/resources/ext/images/default/panel/light-hd.gif +0 -0
  1472. data/public/resources/ext/images/default/panel/tool-sprite-tpl.gif +0 -0
  1473. data/public/resources/ext/images/default/panel/tool-sprites.gif +0 -0
  1474. data/public/resources/ext/images/default/panel/tools-sprites-trans.gif +0 -0
  1475. data/public/resources/ext/images/default/panel/top-bottom.gif +0 -0
  1476. data/public/resources/ext/images/default/panel/top-bottom.png +0 -0
  1477. data/public/resources/ext/images/default/panel/white-corners-sprite.gif +0 -0
  1478. data/public/resources/ext/images/default/panel/white-left-right.gif +0 -0
  1479. data/public/resources/ext/images/default/panel/white-top-bottom.gif +0 -0
  1480. data/public/resources/ext/images/default/progress/progress-bg.gif +0 -0
  1481. data/public/resources/ext/images/default/qtip/bg.gif +0 -0
  1482. data/public/resources/ext/images/default/qtip/close.gif +0 -0
  1483. data/public/resources/ext/images/default/qtip/tip-anchor-sprite.gif +0 -0
  1484. data/public/resources/ext/images/default/qtip/tip-sprite.gif +0 -0
  1485. data/public/resources/ext/images/default/s.gif +0 -0
  1486. data/public/resources/ext/images/default/shadow-c.png +0 -0
  1487. data/public/resources/ext/images/default/shadow-lr.png +0 -0
  1488. data/public/resources/ext/images/default/shadow.png +0 -0
  1489. data/public/resources/ext/images/default/shared/blue-loading.gif +0 -0
  1490. data/public/resources/ext/images/default/shared/calendar.gif +0 -0
  1491. data/public/resources/ext/images/default/shared/glass-bg.gif +0 -0
  1492. data/public/resources/ext/images/default/shared/hd-sprite.gif +0 -0
  1493. data/public/resources/ext/images/default/shared/large-loading.gif +0 -0
  1494. data/public/resources/ext/images/default/shared/left-btn.gif +0 -0
  1495. data/public/resources/ext/images/default/shared/loading-balls.gif +0 -0
  1496. data/public/resources/ext/images/default/shared/right-btn.gif +0 -0
  1497. data/public/resources/ext/images/default/shared/warning.gif +0 -0
  1498. data/public/resources/ext/images/default/sizer/e-handle-dark.gif +0 -0
  1499. data/public/resources/ext/images/default/sizer/e-handle.gif +0 -0
  1500. data/public/resources/ext/images/default/sizer/ne-handle-dark.gif +0 -0
  1501. data/public/resources/ext/images/default/sizer/ne-handle.gif +0 -0
  1502. data/public/resources/ext/images/default/sizer/nw-handle-dark.gif +0 -0
  1503. data/public/resources/ext/images/default/sizer/nw-handle.gif +0 -0
  1504. data/public/resources/ext/images/default/sizer/s-handle-dark.gif +0 -0
  1505. data/public/resources/ext/images/default/sizer/s-handle.gif +0 -0
  1506. data/public/resources/ext/images/default/sizer/se-handle-dark.gif +0 -0
  1507. data/public/resources/ext/images/default/sizer/se-handle.gif +0 -0
  1508. data/public/resources/ext/images/default/sizer/square.gif +0 -0
  1509. data/public/resources/ext/images/default/sizer/sw-handle-dark.gif +0 -0
  1510. data/public/resources/ext/images/default/sizer/sw-handle.gif +0 -0
  1511. data/public/resources/ext/images/default/slider/slider-bg.png +0 -0
  1512. data/public/resources/ext/images/default/slider/slider-thumb.png +0 -0
  1513. data/public/resources/ext/images/default/slider/slider-v-bg.png +0 -0
  1514. data/public/resources/ext/images/default/slider/slider-v-thumb.png +0 -0
  1515. data/public/resources/ext/images/default/tabs/scroll-left.gif +0 -0
  1516. data/public/resources/ext/images/default/tabs/scroll-right.gif +0 -0
  1517. data/public/resources/ext/images/default/tabs/scroller-bg.gif +0 -0
  1518. data/public/resources/ext/images/default/tabs/tab-btm-inactive-left-bg.gif +0 -0
  1519. data/public/resources/ext/images/default/tabs/tab-btm-inactive-right-bg.gif +0 -0
  1520. data/public/resources/ext/images/default/tabs/tab-btm-left-bg.gif +0 -0
  1521. data/public/resources/ext/images/default/tabs/tab-btm-over-left-bg.gif +0 -0
  1522. data/public/resources/ext/images/default/tabs/tab-btm-over-right-bg.gif +0 -0
  1523. data/public/resources/ext/images/default/tabs/tab-btm-right-bg.gif +0 -0
  1524. data/public/resources/ext/images/default/tabs/tab-close.gif +0 -0
  1525. data/public/resources/ext/images/default/tabs/tab-strip-bg.gif +0 -0
  1526. data/public/resources/ext/images/default/tabs/tab-strip-bg.png +0 -0
  1527. data/public/resources/ext/images/default/tabs/tab-strip-btm-bg.gif +0 -0
  1528. data/public/resources/ext/images/default/tabs/tabs-sprite.gif +0 -0
  1529. data/public/resources/ext/images/default/toolbar/bg.gif +0 -0
  1530. data/public/resources/ext/images/default/toolbar/btn-arrow-light.gif +0 -0
  1531. data/public/resources/ext/images/default/toolbar/btn-arrow.gif +0 -0
  1532. data/public/resources/ext/images/default/toolbar/btn-over-bg.gif +0 -0
  1533. data/public/resources/ext/images/default/toolbar/gray-bg.gif +0 -0
  1534. data/public/resources/ext/images/default/toolbar/more.gif +0 -0
  1535. data/public/resources/ext/images/default/toolbar/tb-bg.gif +0 -0
  1536. data/public/resources/ext/images/default/toolbar/tb-btn-sprite.gif +0 -0
  1537. data/public/resources/ext/images/default/toolbar/tb-xl-btn-sprite.gif +0 -0
  1538. data/public/resources/ext/images/default/toolbar/tb-xl-sep.gif +0 -0
  1539. data/public/resources/ext/images/default/tree/arrows.gif +0 -0
  1540. data/public/resources/ext/images/default/tree/drop-add.gif +0 -0
  1541. data/public/resources/ext/images/default/tree/drop-between.gif +0 -0
  1542. data/public/resources/ext/images/default/tree/drop-no.gif +0 -0
  1543. data/public/resources/ext/images/default/tree/drop-over.gif +0 -0
  1544. data/public/resources/ext/images/default/tree/drop-under.gif +0 -0
  1545. data/public/resources/ext/images/default/tree/drop-yes.gif +0 -0
  1546. data/public/resources/ext/images/default/tree/elbow-end-minus-nl.gif +0 -0
  1547. data/public/resources/ext/images/default/tree/elbow-end-minus.gif +0 -0
  1548. data/public/resources/ext/images/default/tree/elbow-end-plus-nl.gif +0 -0
  1549. data/public/resources/ext/images/default/tree/elbow-end-plus.gif +0 -0
  1550. data/public/resources/ext/images/default/tree/elbow-end.gif +0 -0
  1551. data/public/resources/ext/images/default/tree/elbow-line.gif +0 -0
  1552. data/public/resources/ext/images/default/tree/elbow-minus-nl.gif +0 -0
  1553. data/public/resources/ext/images/default/tree/elbow-minus.gif +0 -0
  1554. data/public/resources/ext/images/default/tree/elbow-plus-nl.gif +0 -0
  1555. data/public/resources/ext/images/default/tree/elbow-plus.gif +0 -0
  1556. data/public/resources/ext/images/default/tree/elbow.gif +0 -0
  1557. data/public/resources/ext/images/default/tree/folder-open.gif +0 -0
  1558. data/public/resources/ext/images/default/tree/folder.gif +0 -0
  1559. data/public/resources/ext/images/default/tree/leaf.gif +0 -0
  1560. data/public/resources/ext/images/default/tree/loading.gif +0 -0
  1561. data/public/resources/ext/images/default/tree/s.gif +0 -0
  1562. data/public/resources/ext/images/default/window/icon-error.gif +0 -0
  1563. data/public/resources/ext/images/default/window/icon-info.gif +0 -0
  1564. data/public/resources/ext/images/default/window/icon-question.gif +0 -0
  1565. data/public/resources/ext/images/default/window/icon-warning.gif +0 -0
  1566. data/public/resources/ext/images/default/window/left-corners.png +0 -0
  1567. data/public/resources/ext/images/default/window/left-corners.psd +0 -0
  1568. data/public/resources/ext/images/default/window/left-right.png +0 -0
  1569. data/public/resources/ext/images/default/window/left-right.psd +0 -0
  1570. data/public/resources/ext/images/default/window/right-corners.png +0 -0
  1571. data/public/resources/ext/images/default/window/right-corners.psd +0 -0
  1572. data/public/resources/ext/images/default/window/top-bottom.png +0 -0
  1573. data/public/resources/ext/images/default/window/top-bottom.psd +0 -0
  1574. data/public/resources/ext/images/gray/button/btn-arrow.gif +0 -0
  1575. data/public/resources/ext/images/gray/button/btn-sprite.gif +0 -0
  1576. data/public/resources/ext/images/gray/button/btn.gif +0 -0
  1577. data/public/resources/ext/images/gray/button/group-cs.gif +0 -0
  1578. data/public/resources/ext/images/gray/button/group-lr.gif +0 -0
  1579. data/public/resources/ext/images/gray/button/group-tb.gif +0 -0
  1580. data/public/resources/ext/images/gray/button/s-arrow-bo.gif +0 -0
  1581. data/public/resources/ext/images/gray/button/s-arrow-o.gif +0 -0
  1582. data/public/resources/ext/images/gray/form/clear-trigger.gif +0 -0
  1583. data/public/resources/ext/images/gray/form/date-trigger.gif +0 -0
  1584. data/public/resources/ext/images/gray/form/search-trigger.gif +0 -0
  1585. data/public/resources/ext/images/gray/form/trigger-square.gif +0 -0
  1586. data/public/resources/ext/images/gray/form/trigger.gif +0 -0
  1587. data/public/resources/ext/images/gray/gradient-bg.gif +0 -0
  1588. data/public/resources/ext/images/gray/grid/col-move-bottom.gif +0 -0
  1589. data/public/resources/ext/images/gray/grid/col-move-top.gif +0 -0
  1590. data/public/resources/ext/images/gray/grid/grid3-hd-btn.gif +0 -0
  1591. data/public/resources/ext/images/gray/grid/grid3-hrow-over.gif +0 -0
  1592. data/public/resources/ext/images/gray/grid/grid3-hrow-over2.gif +0 -0
  1593. data/public/resources/ext/images/gray/grid/grid3-hrow.gif +0 -0
  1594. data/public/resources/ext/images/gray/grid/grid3-hrow2.gif +0 -0
  1595. data/public/resources/ext/images/gray/grid/grid3-special-col-bg.gif +0 -0
  1596. data/public/resources/ext/images/gray/grid/grid3-special-col-bg2.gif +0 -0
  1597. data/public/resources/ext/images/gray/grid/grid3-special-col-sel-bg.gif +0 -0
  1598. data/public/resources/ext/images/gray/grid/group-collapse.gif +0 -0
  1599. data/public/resources/ext/images/gray/grid/group-expand-sprite.gif +0 -0
  1600. data/public/resources/ext/images/gray/grid/group-expand.gif +0 -0
  1601. data/public/resources/ext/images/gray/grid/page-first.gif +0 -0
  1602. data/public/resources/ext/images/gray/grid/page-last.gif +0 -0
  1603. data/public/resources/ext/images/gray/grid/page-next.gif +0 -0
  1604. data/public/resources/ext/images/gray/grid/page-prev.gif +0 -0
  1605. data/public/resources/ext/images/gray/grid/refresh.gif +0 -0
  1606. data/public/resources/ext/images/gray/grid/row-expand-sprite.gif +0 -0
  1607. data/public/resources/ext/images/gray/grid/sort_asc.gif +0 -0
  1608. data/public/resources/ext/images/gray/grid/sort_desc.gif +0 -0
  1609. data/public/resources/ext/images/gray/menu/group-checked.gif +0 -0
  1610. data/public/resources/ext/images/gray/menu/item-over-disabled.gif +0 -0
  1611. data/public/resources/ext/images/gray/menu/item-over.gif +0 -0
  1612. data/public/resources/ext/images/gray/menu/menu-parent.gif +0 -0
  1613. data/public/resources/ext/images/gray/panel/corners-sprite.gif +0 -0
  1614. data/public/resources/ext/images/gray/panel/left-right.gif +0 -0
  1615. data/public/resources/ext/images/gray/panel/light-hd.gif +0 -0
  1616. data/public/resources/ext/images/gray/panel/tool-sprite-tpl.gif +0 -0
  1617. data/public/resources/ext/images/gray/panel/tool-sprites.gif +0 -0
  1618. data/public/resources/ext/images/gray/panel/tools-sprites-trans.gif +0 -0
  1619. data/public/resources/ext/images/gray/panel/top-bottom.gif +0 -0
  1620. data/public/resources/ext/images/gray/panel/top-bottom.png +0 -0
  1621. data/public/resources/ext/images/gray/panel/white-corners-sprite.gif +0 -0
  1622. data/public/resources/ext/images/gray/panel/white-left-right.gif +0 -0
  1623. data/public/resources/ext/images/gray/panel/white-top-bottom.gif +0 -0
  1624. data/public/resources/ext/images/gray/progress/progress-bg.gif +0 -0
  1625. data/public/resources/ext/images/gray/qtip/bg.gif +0 -0
  1626. data/public/resources/ext/images/gray/qtip/close.gif +0 -0
  1627. data/public/resources/ext/images/gray/qtip/tip-anchor-sprite.gif +0 -0
  1628. data/public/resources/ext/images/gray/qtip/tip-sprite.gif +0 -0
  1629. data/public/resources/ext/images/gray/s.gif +0 -0
  1630. data/public/resources/ext/images/gray/shared/hd-sprite.gif +0 -0
  1631. data/public/resources/ext/images/gray/shared/left-btn.gif +0 -0
  1632. data/public/resources/ext/images/gray/shared/right-btn.gif +0 -0
  1633. data/public/resources/ext/images/gray/sizer/e-handle.gif +0 -0
  1634. data/public/resources/ext/images/gray/sizer/ne-handle.gif +0 -0
  1635. data/public/resources/ext/images/gray/sizer/nw-handle.gif +0 -0
  1636. data/public/resources/ext/images/gray/sizer/s-handle.gif +0 -0
  1637. data/public/resources/ext/images/gray/sizer/se-handle.gif +0 -0
  1638. data/public/resources/ext/images/gray/sizer/square.gif +0 -0
  1639. data/public/resources/ext/images/gray/sizer/sw-handle.gif +0 -0
  1640. data/public/resources/ext/images/gray/slider/slider-thumb.png +0 -0
  1641. data/public/resources/ext/images/gray/slider/slider-v-thumb.png +0 -0
  1642. data/public/resources/ext/images/gray/tabs/scroll-left.gif +0 -0
  1643. data/public/resources/ext/images/gray/tabs/scroll-right.gif +0 -0
  1644. data/public/resources/ext/images/gray/tabs/scroller-bg.gif +0 -0
  1645. data/public/resources/ext/images/gray/tabs/tab-btm-inactive-left-bg.gif +0 -0
  1646. data/public/resources/ext/images/gray/tabs/tab-btm-inactive-right-bg.gif +0 -0
  1647. data/public/resources/ext/images/gray/tabs/tab-btm-left-bg.gif +0 -0
  1648. data/public/resources/ext/images/gray/tabs/tab-btm-over-left-bg.gif +0 -0
  1649. data/public/resources/ext/images/gray/tabs/tab-btm-over-right-bg.gif +0 -0
  1650. data/public/resources/ext/images/gray/tabs/tab-btm-right-bg.gif +0 -0
  1651. data/public/resources/ext/images/gray/tabs/tab-close.gif +0 -0
  1652. data/public/resources/ext/images/gray/tabs/tab-strip-bg.gif +0 -0
  1653. data/public/resources/ext/images/gray/tabs/tab-strip-bg.png +0 -0
  1654. data/public/resources/ext/images/gray/tabs/tab-strip-btm-bg.gif +0 -0
  1655. data/public/resources/ext/images/gray/tabs/tabs-sprite.gif +0 -0
  1656. data/public/resources/ext/images/gray/toolbar/bg.gif +0 -0
  1657. data/public/resources/ext/images/gray/toolbar/btn-arrow-light.gif +0 -0
  1658. data/public/resources/ext/images/gray/toolbar/btn-arrow.gif +0 -0
  1659. data/public/resources/ext/images/gray/toolbar/btn-over-bg.gif +0 -0
  1660. data/public/resources/ext/images/gray/toolbar/gray-bg.gif +0 -0
  1661. data/public/resources/ext/images/gray/toolbar/more.gif +0 -0
  1662. data/public/resources/ext/images/gray/toolbar/tb-bg.gif +0 -0
  1663. data/public/resources/ext/images/gray/toolbar/tb-btn-sprite.gif +0 -0
  1664. data/public/resources/ext/images/gray/tree/arrows.gif +0 -0
  1665. data/public/resources/ext/images/gray/tree/elbow-end-minus-nl.gif +0 -0
  1666. data/public/resources/ext/images/gray/tree/elbow-end-minus.gif +0 -0
  1667. data/public/resources/ext/images/gray/tree/elbow-end-plus-nl.gif +0 -0
  1668. data/public/resources/ext/images/gray/tree/elbow-end-plus.gif +0 -0
  1669. data/public/resources/ext/images/gray/window/icon-error.gif +0 -0
  1670. data/public/resources/ext/images/gray/window/icon-info.gif +0 -0
  1671. data/public/resources/ext/images/gray/window/icon-question.gif +0 -0
  1672. data/public/resources/ext/images/gray/window/icon-warning.gif +0 -0
  1673. data/public/resources/ext/images/gray/window/left-corners.png +0 -0
  1674. data/public/resources/ext/images/gray/window/left-corners.pspimage +0 -0
  1675. data/public/resources/ext/images/gray/window/left-right.png +0 -0
  1676. data/public/resources/ext/images/gray/window/right-corners.png +0 -0
  1677. data/public/resources/ext/images/gray/window/top-bottom.png +0 -0
  1678. data/public/resources/ext/images/vista/basic-dialog/bg-center.gif +0 -0
  1679. data/public/resources/ext/images/vista/basic-dialog/bg-left.gif +0 -0
  1680. data/public/resources/ext/images/vista/basic-dialog/bg-right.gif +0 -0
  1681. data/public/resources/ext/images/vista/basic-dialog/close.gif +0 -0
  1682. data/public/resources/ext/images/vista/basic-dialog/collapse.gif +0 -0
  1683. data/public/resources/ext/images/vista/basic-dialog/dlg-bg.gif +0 -0
  1684. data/public/resources/ext/images/vista/basic-dialog/e-handle.gif +0 -0
  1685. data/public/resources/ext/images/vista/basic-dialog/expand.gif +0 -0
  1686. data/public/resources/ext/images/vista/basic-dialog/hd-sprite.gif +0 -0
  1687. data/public/resources/ext/images/vista/basic-dialog/s-handle.gif +0 -0
  1688. data/public/resources/ext/images/vista/basic-dialog/se-handle.gif +0 -0
  1689. data/public/resources/ext/images/vista/basic-dialog/w-handle.gif +0 -0
  1690. data/public/resources/ext/images/vista/gradient-bg.gif +0 -0
  1691. data/public/resources/ext/images/vista/grid/grid-split.gif +0 -0
  1692. data/public/resources/ext/images/vista/grid/grid-vista-hd.gif +0 -0
  1693. data/public/resources/ext/images/vista/layout/collapse.gif +0 -0
  1694. data/public/resources/ext/images/vista/layout/expand.gif +0 -0
  1695. data/public/resources/ext/images/vista/layout/gradient-bg.gif +0 -0
  1696. data/public/resources/ext/images/vista/layout/ns-collapse.gif +0 -0
  1697. data/public/resources/ext/images/vista/layout/ns-expand.gif +0 -0
  1698. data/public/resources/ext/images/vista/layout/panel-close.gif +0 -0
  1699. data/public/resources/ext/images/vista/layout/panel-title-bg.gif +0 -0
  1700. data/public/resources/ext/images/vista/layout/panel-title-light-bg.gif +0 -0
  1701. data/public/resources/ext/images/vista/layout/stick.gif +0 -0
  1702. data/public/resources/ext/images/vista/layout/tab-close-on.gif +0 -0
  1703. data/public/resources/ext/images/vista/layout/tab-close.gif +0 -0
  1704. data/public/resources/ext/images/vista/qtip/bg.gif +0 -0
  1705. data/public/resources/ext/images/vista/qtip/tip-sprite.gif +0 -0
  1706. data/public/resources/ext/images/vista/s.gif +0 -0
  1707. data/public/resources/ext/images/vista/sizer/e-handle-dark.gif +0 -0
  1708. data/public/resources/ext/images/vista/sizer/e-handle.gif +0 -0
  1709. data/public/resources/ext/images/vista/sizer/ne-handle-dark.gif +0 -0
  1710. data/public/resources/ext/images/vista/sizer/ne-handle.gif +0 -0
  1711. data/public/resources/ext/images/vista/sizer/nw-handle-dark.gif +0 -0
  1712. data/public/resources/ext/images/vista/sizer/nw-handle.gif +0 -0
  1713. data/public/resources/ext/images/vista/sizer/s-handle-dark.gif +0 -0
  1714. data/public/resources/ext/images/vista/sizer/s-handle.gif +0 -0
  1715. data/public/resources/ext/images/vista/sizer/se-handle-dark.gif +0 -0
  1716. data/public/resources/ext/images/vista/sizer/se-handle.gif +0 -0
  1717. data/public/resources/ext/images/vista/sizer/sw-handle-dark.gif +0 -0
  1718. data/public/resources/ext/images/vista/sizer/sw-handle.gif +0 -0
  1719. data/public/resources/ext/images/vista/tabs/tab-btm-inactive-left-bg.gif +0 -0
  1720. data/public/resources/ext/images/vista/tabs/tab-btm-inactive-right-bg.gif +0 -0
  1721. data/public/resources/ext/images/vista/tabs/tab-btm-left-bg.gif +0 -0
  1722. data/public/resources/ext/images/vista/tabs/tab-btm-right-bg.gif +0 -0
  1723. data/public/resources/ext/images/vista/tabs/tab-sprite.gif +0 -0
  1724. data/public/resources/ext/images/vista/toolbar/gray-bg.gif +0 -0
  1725. data/public/resources/ext/images/vista/toolbar/tb-btn-sprite.gif +0 -0
  1726. data/public/resources/ext/images/yourtheme/README.txt +2 -0
  1727. data/public/resources/ext/images/yourtheme/box/corners-blue.gif +0 -0
  1728. data/public/resources/ext/images/yourtheme/box/corners.gif +0 -0
  1729. data/public/resources/ext/images/yourtheme/box/l-blue.gif +0 -0
  1730. data/public/resources/ext/images/yourtheme/box/l.gif +0 -0
  1731. data/public/resources/ext/images/yourtheme/box/r-blue.gif +0 -0
  1732. data/public/resources/ext/images/yourtheme/box/r.gif +0 -0
  1733. data/public/resources/ext/images/yourtheme/box/tb-blue.gif +0 -0
  1734. data/public/resources/ext/images/yourtheme/box/tb.gif +0 -0
  1735. data/public/resources/ext/images/yourtheme/button/arrow.gif +0 -0
  1736. data/public/resources/ext/images/yourtheme/button/btn.gif +0 -0
  1737. data/public/resources/ext/images/yourtheme/button/group-cs.gif +0 -0
  1738. data/public/resources/ext/images/yourtheme/button/group-lr.gif +0 -0
  1739. data/public/resources/ext/images/yourtheme/button/group-tb.gif +0 -0
  1740. data/public/resources/ext/images/yourtheme/button/s-arrow-b-noline.gif +0 -0
  1741. data/public/resources/ext/images/yourtheme/button/s-arrow-b.gif +0 -0
  1742. data/public/resources/ext/images/yourtheme/button/s-arrow-bo.gif +0 -0
  1743. data/public/resources/ext/images/yourtheme/button/s-arrow-noline.gif +0 -0
  1744. data/public/resources/ext/images/yourtheme/button/s-arrow-o.gif +0 -0
  1745. data/public/resources/ext/images/yourtheme/button/s-arrow.gif +0 -0
  1746. data/public/resources/ext/images/yourtheme/dd/drop-add.gif +0 -0
  1747. data/public/resources/ext/images/yourtheme/dd/drop-no.gif +0 -0
  1748. data/public/resources/ext/images/yourtheme/dd/drop-yes.gif +0 -0
  1749. data/public/resources/ext/images/yourtheme/editor/tb-sprite.gif +0 -0
  1750. data/public/resources/ext/images/yourtheme/form/checkbox.gif +0 -0
  1751. data/public/resources/ext/images/yourtheme/form/clear-trigger.gif +0 -0
  1752. data/public/resources/ext/images/yourtheme/form/clear-trigger.psd +0 -0
  1753. data/public/resources/ext/images/yourtheme/form/date-trigger.gif +0 -0
  1754. data/public/resources/ext/images/yourtheme/form/date-trigger.psd +0 -0
  1755. data/public/resources/ext/images/yourtheme/form/error-tip-corners.gif +0 -0
  1756. data/public/resources/ext/images/yourtheme/form/exclamation.gif +0 -0
  1757. data/public/resources/ext/images/yourtheme/form/radio.gif +0 -0
  1758. data/public/resources/ext/images/yourtheme/form/search-trigger.gif +0 -0
  1759. data/public/resources/ext/images/yourtheme/form/search-trigger.psd +0 -0
  1760. data/public/resources/ext/images/yourtheme/form/text-bg.gif +0 -0
  1761. data/public/resources/ext/images/yourtheme/form/trigger-square.gif +0 -0
  1762. data/public/resources/ext/images/yourtheme/form/trigger-square.psd +0 -0
  1763. data/public/resources/ext/images/yourtheme/form/trigger-tpl.gif +0 -0
  1764. data/public/resources/ext/images/yourtheme/form/trigger.gif +0 -0
  1765. data/public/resources/ext/images/yourtheme/form/trigger.psd +0 -0
  1766. data/public/resources/ext/images/yourtheme/gradient-bg.gif +0 -0
  1767. data/public/resources/ext/images/yourtheme/grid/arrow-left-white.gif +0 -0
  1768. data/public/resources/ext/images/yourtheme/grid/arrow-right-white.gif +0 -0
  1769. data/public/resources/ext/images/yourtheme/grid/col-move-bottom.gif +0 -0
  1770. data/public/resources/ext/images/yourtheme/grid/col-move-top.gif +0 -0
  1771. data/public/resources/ext/images/yourtheme/grid/columns.gif +0 -0
  1772. data/public/resources/ext/images/yourtheme/grid/dirty.gif +0 -0
  1773. data/public/resources/ext/images/yourtheme/grid/done.gif +0 -0
  1774. data/public/resources/ext/images/yourtheme/grid/drop-no.gif +0 -0
  1775. data/public/resources/ext/images/yourtheme/grid/drop-yes.gif +0 -0
  1776. data/public/resources/ext/images/yourtheme/grid/footer-bg.gif +0 -0
  1777. data/public/resources/ext/images/yourtheme/grid/grid-blue-hd.gif +0 -0
  1778. data/public/resources/ext/images/yourtheme/grid/grid-blue-split.gif +0 -0
  1779. data/public/resources/ext/images/yourtheme/grid/grid-hrow.gif +0 -0
  1780. data/public/resources/ext/images/yourtheme/grid/grid-loading.gif +0 -0
  1781. data/public/resources/ext/images/yourtheme/grid/grid-split.gif +0 -0
  1782. data/public/resources/ext/images/yourtheme/grid/grid-vista-hd.gif +0 -0
  1783. data/public/resources/ext/images/yourtheme/grid/grid3-hd-btn.gif +0 -0
  1784. data/public/resources/ext/images/yourtheme/grid/grid3-hrow-over.gif +0 -0
  1785. data/public/resources/ext/images/yourtheme/grid/grid3-hrow.gif +0 -0
  1786. data/public/resources/ext/images/yourtheme/grid/grid3-special-col-bg.gif +0 -0
  1787. data/public/resources/ext/images/yourtheme/grid/grid3-special-col-sel-bg.gif +0 -0
  1788. data/public/resources/ext/images/yourtheme/grid/group-by.gif +0 -0
  1789. data/public/resources/ext/images/yourtheme/grid/group-collapse.gif +0 -0
  1790. data/public/resources/ext/images/yourtheme/grid/group-expand-sprite.gif +0 -0
  1791. data/public/resources/ext/images/yourtheme/grid/group-expand.gif +0 -0
  1792. data/public/resources/ext/images/yourtheme/grid/hd-pop.gif +0 -0
  1793. data/public/resources/ext/images/yourtheme/grid/hmenu-asc.gif +0 -0
  1794. data/public/resources/ext/images/yourtheme/grid/hmenu-desc.gif +0 -0
  1795. data/public/resources/ext/images/yourtheme/grid/hmenu-lock.gif +0 -0
  1796. data/public/resources/ext/images/yourtheme/grid/hmenu-lock.png +0 -0
  1797. data/public/resources/ext/images/yourtheme/grid/hmenu-unlock.gif +0 -0
  1798. data/public/resources/ext/images/yourtheme/grid/hmenu-unlock.png +0 -0
  1799. data/public/resources/ext/images/yourtheme/grid/invalid_line.gif +0 -0
  1800. data/public/resources/ext/images/yourtheme/grid/loading.gif +0 -0
  1801. data/public/resources/ext/images/yourtheme/grid/mso-hd.gif +0 -0
  1802. data/public/resources/ext/images/yourtheme/grid/nowait.gif +0 -0
  1803. data/public/resources/ext/images/yourtheme/grid/page-first-disabled.gif +0 -0
  1804. data/public/resources/ext/images/yourtheme/grid/page-first.gif +0 -0
  1805. data/public/resources/ext/images/yourtheme/grid/page-last-disabled.gif +0 -0
  1806. data/public/resources/ext/images/yourtheme/grid/page-last.gif +0 -0
  1807. data/public/resources/ext/images/yourtheme/grid/page-next-disabled.gif +0 -0
  1808. data/public/resources/ext/images/yourtheme/grid/page-next.gif +0 -0
  1809. data/public/resources/ext/images/yourtheme/grid/page-prev-disabled.gif +0 -0
  1810. data/public/resources/ext/images/yourtheme/grid/page-prev.gif +0 -0
  1811. data/public/resources/ext/images/yourtheme/grid/pick-button.gif +0 -0
  1812. data/public/resources/ext/images/yourtheme/grid/refresh.gif +0 -0
  1813. data/public/resources/ext/images/yourtheme/grid/row-check-sprite.gif +0 -0
  1814. data/public/resources/ext/images/yourtheme/grid/row-expand-sprite.gif +0 -0
  1815. data/public/resources/ext/images/yourtheme/grid/row-over.gif +0 -0
  1816. data/public/resources/ext/images/yourtheme/grid/row-sel.gif +0 -0
  1817. data/public/resources/ext/images/yourtheme/grid/sort-hd.gif +0 -0
  1818. data/public/resources/ext/images/yourtheme/grid/sort_asc.gif +0 -0
  1819. data/public/resources/ext/images/yourtheme/grid/sort_desc.gif +0 -0
  1820. data/public/resources/ext/images/yourtheme/grid/wait.gif +0 -0
  1821. data/public/resources/ext/images/yourtheme/layout/collapse.gif +0 -0
  1822. data/public/resources/ext/images/yourtheme/layout/expand.gif +0 -0
  1823. data/public/resources/ext/images/yourtheme/layout/gradient-bg.gif +0 -0
  1824. data/public/resources/ext/images/yourtheme/layout/mini-bottom.gif +0 -0
  1825. data/public/resources/ext/images/yourtheme/layout/mini-left.gif +0 -0
  1826. data/public/resources/ext/images/yourtheme/layout/mini-right.gif +0 -0
  1827. data/public/resources/ext/images/yourtheme/layout/mini-top.gif +0 -0
  1828. data/public/resources/ext/images/yourtheme/layout/ns-collapse.gif +0 -0
  1829. data/public/resources/ext/images/yourtheme/layout/ns-expand.gif +0 -0
  1830. data/public/resources/ext/images/yourtheme/layout/panel-close.gif +0 -0
  1831. data/public/resources/ext/images/yourtheme/layout/panel-title-bg.gif +0 -0
  1832. data/public/resources/ext/images/yourtheme/layout/panel-title-light-bg.gif +0 -0
  1833. data/public/resources/ext/images/yourtheme/layout/stick.gif +0 -0
  1834. data/public/resources/ext/images/yourtheme/layout/stuck.gif +0 -0
  1835. data/public/resources/ext/images/yourtheme/layout/tab-close-on.gif +0 -0
  1836. data/public/resources/ext/images/yourtheme/layout/tab-close.gif +0 -0
  1837. data/public/resources/ext/images/yourtheme/menu/checked.gif +0 -0
  1838. data/public/resources/ext/images/yourtheme/menu/group-checked.gif +0 -0
  1839. data/public/resources/ext/images/yourtheme/menu/item-over.gif +0 -0
  1840. data/public/resources/ext/images/yourtheme/menu/menu-parent.gif +0 -0
  1841. data/public/resources/ext/images/yourtheme/menu/menu.gif +0 -0
  1842. data/public/resources/ext/images/yourtheme/menu/unchecked.gif +0 -0
  1843. data/public/resources/ext/images/yourtheme/panel/corners-sprite.gif +0 -0
  1844. data/public/resources/ext/images/yourtheme/panel/left-right.gif +0 -0
  1845. data/public/resources/ext/images/yourtheme/panel/light-hd.gif +0 -0
  1846. data/public/resources/ext/images/yourtheme/panel/tool-sprite-tpl.gif +0 -0
  1847. data/public/resources/ext/images/yourtheme/panel/tool-sprites.gif +0 -0
  1848. data/public/resources/ext/images/yourtheme/panel/tools-sprites-trans.gif +0 -0
  1849. data/public/resources/ext/images/yourtheme/panel/top-bottom.gif +0 -0
  1850. data/public/resources/ext/images/yourtheme/panel/top-bottom.png +0 -0
  1851. data/public/resources/ext/images/yourtheme/panel/white-corners-sprite.gif +0 -0
  1852. data/public/resources/ext/images/yourtheme/panel/white-left-right.gif +0 -0
  1853. data/public/resources/ext/images/yourtheme/panel/white-top-bottom.gif +0 -0
  1854. data/public/resources/ext/images/yourtheme/progress/progress-bg.gif +0 -0
  1855. data/public/resources/ext/images/yourtheme/qtip/bg.gif +0 -0
  1856. data/public/resources/ext/images/yourtheme/qtip/close.gif +0 -0
  1857. data/public/resources/ext/images/yourtheme/qtip/tip-anchor-sprite.gif +0 -0
  1858. data/public/resources/ext/images/yourtheme/qtip/tip-sprite.gif +0 -0
  1859. data/public/resources/ext/images/yourtheme/s.gif +0 -0
  1860. data/public/resources/ext/images/yourtheme/shadow-c.png +0 -0
  1861. data/public/resources/ext/images/yourtheme/shadow-lr.png +0 -0
  1862. data/public/resources/ext/images/yourtheme/shadow.png +0 -0
  1863. data/public/resources/ext/images/yourtheme/shared/blue-loading.gif +0 -0
  1864. data/public/resources/ext/images/yourtheme/shared/calendar.gif +0 -0
  1865. data/public/resources/ext/images/yourtheme/shared/glass-bg.gif +0 -0
  1866. data/public/resources/ext/images/yourtheme/shared/hd-sprite.gif +0 -0
  1867. data/public/resources/ext/images/yourtheme/shared/large-loading.gif +0 -0
  1868. data/public/resources/ext/images/yourtheme/shared/left-btn.gif +0 -0
  1869. data/public/resources/ext/images/yourtheme/shared/loading-balls.gif +0 -0
  1870. data/public/resources/ext/images/yourtheme/shared/right-btn.gif +0 -0
  1871. data/public/resources/ext/images/yourtheme/shared/warning.gif +0 -0
  1872. data/public/resources/ext/images/yourtheme/sizer/e-handle-dark.gif +0 -0
  1873. data/public/resources/ext/images/yourtheme/sizer/e-handle.gif +0 -0
  1874. data/public/resources/ext/images/yourtheme/sizer/ne-handle-dark.gif +0 -0
  1875. data/public/resources/ext/images/yourtheme/sizer/ne-handle.gif +0 -0
  1876. data/public/resources/ext/images/yourtheme/sizer/nw-handle-dark.gif +0 -0
  1877. data/public/resources/ext/images/yourtheme/sizer/nw-handle.gif +0 -0
  1878. data/public/resources/ext/images/yourtheme/sizer/s-handle-dark.gif +0 -0
  1879. data/public/resources/ext/images/yourtheme/sizer/s-handle.gif +0 -0
  1880. data/public/resources/ext/images/yourtheme/sizer/se-handle-dark.gif +0 -0
  1881. data/public/resources/ext/images/yourtheme/sizer/se-handle.gif +0 -0
  1882. data/public/resources/ext/images/yourtheme/sizer/square.gif +0 -0
  1883. data/public/resources/ext/images/yourtheme/sizer/sw-handle-dark.gif +0 -0
  1884. data/public/resources/ext/images/yourtheme/sizer/sw-handle.gif +0 -0
  1885. data/public/resources/ext/images/yourtheme/slider/slider-bg.png +0 -0
  1886. data/public/resources/ext/images/yourtheme/slider/slider-thumb.png +0 -0
  1887. data/public/resources/ext/images/yourtheme/slider/slider-v-bg.png +0 -0
  1888. data/public/resources/ext/images/yourtheme/slider/slider-v-thumb.png +0 -0
  1889. data/public/resources/ext/images/yourtheme/tabs/scroll-left.gif +0 -0
  1890. data/public/resources/ext/images/yourtheme/tabs/scroll-right.gif +0 -0
  1891. data/public/resources/ext/images/yourtheme/tabs/scroller-bg.gif +0 -0
  1892. data/public/resources/ext/images/yourtheme/tabs/tab-btm-inactive-left-bg.gif +0 -0
  1893. data/public/resources/ext/images/yourtheme/tabs/tab-btm-inactive-right-bg.gif +0 -0
  1894. data/public/resources/ext/images/yourtheme/tabs/tab-btm-left-bg.gif +0 -0
  1895. data/public/resources/ext/images/yourtheme/tabs/tab-btm-over-left-bg.gif +0 -0
  1896. data/public/resources/ext/images/yourtheme/tabs/tab-btm-over-right-bg.gif +0 -0
  1897. data/public/resources/ext/images/yourtheme/tabs/tab-btm-right-bg.gif +0 -0
  1898. data/public/resources/ext/images/yourtheme/tabs/tab-close.gif +0 -0
  1899. data/public/resources/ext/images/yourtheme/tabs/tab-strip-bg.gif +0 -0
  1900. data/public/resources/ext/images/yourtheme/tabs/tab-strip-bg.png +0 -0
  1901. data/public/resources/ext/images/yourtheme/tabs/tab-strip-btm-bg.gif +0 -0
  1902. data/public/resources/ext/images/yourtheme/tabs/tabs-sprite.gif +0 -0
  1903. data/public/resources/ext/images/yourtheme/toolbar/bg.gif +0 -0
  1904. data/public/resources/ext/images/yourtheme/toolbar/btn-arrow-light.gif +0 -0
  1905. data/public/resources/ext/images/yourtheme/toolbar/btn-arrow.gif +0 -0
  1906. data/public/resources/ext/images/yourtheme/toolbar/btn-over-bg.gif +0 -0
  1907. data/public/resources/ext/images/yourtheme/toolbar/gray-bg.gif +0 -0
  1908. data/public/resources/ext/images/yourtheme/toolbar/more.gif +0 -0
  1909. data/public/resources/ext/images/yourtheme/toolbar/tb-bg.gif +0 -0
  1910. data/public/resources/ext/images/yourtheme/toolbar/tb-btn-sprite.gif +0 -0
  1911. data/public/resources/ext/images/yourtheme/toolbar/tb-xl-btn-sprite.gif +0 -0
  1912. data/public/resources/ext/images/yourtheme/toolbar/tb-xl-sep.gif +0 -0
  1913. data/public/resources/ext/images/yourtheme/tree/arrows.gif +0 -0
  1914. data/public/resources/ext/images/yourtheme/tree/drop-add.gif +0 -0
  1915. data/public/resources/ext/images/yourtheme/tree/drop-between.gif +0 -0
  1916. data/public/resources/ext/images/yourtheme/tree/drop-no.gif +0 -0
  1917. data/public/resources/ext/images/yourtheme/tree/drop-over.gif +0 -0
  1918. data/public/resources/ext/images/yourtheme/tree/drop-under.gif +0 -0
  1919. data/public/resources/ext/images/yourtheme/tree/drop-yes.gif +0 -0
  1920. data/public/resources/ext/images/yourtheme/tree/elbow-end-minus-nl.gif +0 -0
  1921. data/public/resources/ext/images/yourtheme/tree/elbow-end-minus.gif +0 -0
  1922. data/public/resources/ext/images/yourtheme/tree/elbow-end-plus-nl.gif +0 -0
  1923. data/public/resources/ext/images/yourtheme/tree/elbow-end-plus.gif +0 -0
  1924. data/public/resources/ext/images/yourtheme/tree/elbow-end.gif +0 -0
  1925. data/public/resources/ext/images/yourtheme/tree/elbow-line.gif +0 -0
  1926. data/public/resources/ext/images/yourtheme/tree/elbow-minus-nl.gif +0 -0
  1927. data/public/resources/ext/images/yourtheme/tree/elbow-minus.gif +0 -0
  1928. data/public/resources/ext/images/yourtheme/tree/elbow-plus-nl.gif +0 -0
  1929. data/public/resources/ext/images/yourtheme/tree/elbow-plus.gif +0 -0
  1930. data/public/resources/ext/images/yourtheme/tree/elbow.gif +0 -0
  1931. data/public/resources/ext/images/yourtheme/tree/folder-open.gif +0 -0
  1932. data/public/resources/ext/images/yourtheme/tree/folder.gif +0 -0
  1933. data/public/resources/ext/images/yourtheme/tree/leaf.gif +0 -0
  1934. data/public/resources/ext/images/yourtheme/tree/loading.gif +0 -0
  1935. data/public/resources/ext/images/yourtheme/tree/s.gif +0 -0
  1936. data/public/resources/ext/images/yourtheme/window/icon-error.gif +0 -0
  1937. data/public/resources/ext/images/yourtheme/window/icon-info.gif +0 -0
  1938. data/public/resources/ext/images/yourtheme/window/icon-question.gif +0 -0
  1939. data/public/resources/ext/images/yourtheme/window/icon-warning.gif +0 -0
  1940. data/public/resources/ext/images/yourtheme/window/left-corners.png +0 -0
  1941. data/public/resources/ext/images/yourtheme/window/left-corners.psd +0 -0
  1942. data/public/resources/ext/images/yourtheme/window/left-right.png +0 -0
  1943. data/public/resources/ext/images/yourtheme/window/left-right.psd +0 -0
  1944. data/public/resources/ext/images/yourtheme/window/right-corners.png +0 -0
  1945. data/public/resources/ext/images/yourtheme/window/right-corners.psd +0 -0
  1946. data/public/resources/ext/images/yourtheme/window/top-bottom.png +0 -0
  1947. data/public/resources/ext/images/yourtheme/window/top-bottom.psd +0 -0
  1948. data/public/resources/ext/resources.jsb +507 -0
  1949. data/public/resources/markitup/images/body.png +0 -0
  1950. data/public/resources/markitup/images/jaysalvat.png +0 -0
  1951. data/public/resources/markitup/images/markitup.png +0 -0
  1952. data/public/resources/markitup/images/style.css +27 -0
  1953. data/public/resources/markitup/sets/default/images/bold.png +0 -0
  1954. data/public/resources/markitup/sets/default/images/clean.png +0 -0
  1955. data/public/resources/markitup/sets/default/images/image.png +0 -0
  1956. data/public/resources/markitup/sets/default/images/italic.png +0 -0
  1957. data/public/resources/markitup/sets/default/images/link.png +0 -0
  1958. data/public/resources/markitup/sets/default/images/picture.png +0 -0
  1959. data/public/resources/markitup/sets/default/images/preview.png +0 -0
  1960. data/public/resources/markitup/sets/default/images/stroke.png +0 -0
  1961. data/public/resources/markitup/sets/default/set.js +27 -0
  1962. data/public/resources/markitup/sets/default/style.css +27 -0
  1963. data/public/resources/markitup/sets/textile/images/bold.png +0 -0
  1964. data/public/resources/markitup/sets/textile/images/code.png +0 -0
  1965. data/public/resources/markitup/sets/textile/images/h1.png +0 -0
  1966. data/public/resources/markitup/sets/textile/images/h2.png +0 -0
  1967. data/public/resources/markitup/sets/textile/images/h3.png +0 -0
  1968. data/public/resources/markitup/sets/textile/images/h4.png +0 -0
  1969. data/public/resources/markitup/sets/textile/images/h5.png +0 -0
  1970. data/public/resources/markitup/sets/textile/images/h6.png +0 -0
  1971. data/public/resources/markitup/sets/textile/images/italic.png +0 -0
  1972. data/public/resources/markitup/sets/textile/images/link.png +0 -0
  1973. data/public/resources/markitup/sets/textile/images/list-bullet.png +0 -0
  1974. data/public/resources/markitup/sets/textile/images/list-numeric.png +0 -0
  1975. data/public/resources/markitup/sets/textile/images/paragraph.png +0 -0
  1976. data/public/resources/markitup/sets/textile/images/picture.png +0 -0
  1977. data/public/resources/markitup/sets/textile/images/preview.png +0 -0
  1978. data/public/resources/markitup/sets/textile/images/quotes.png +0 -0
  1979. data/public/resources/markitup/sets/textile/images/stroke.png +0 -0
  1980. data/public/resources/markitup/sets/textile/readme.txt +11 -0
  1981. data/public/resources/markitup/sets/textile/set.js +40 -0
  1982. data/public/resources/markitup/sets/textile/style.css +60 -0
  1983. data/public/resources/markitup/skins/markitup/images/bg-container.png +0 -0
  1984. data/public/resources/markitup/skins/markitup/images/bg-editor-bbcode.png +0 -0
  1985. data/public/resources/markitup/skins/markitup/images/bg-editor-dotclear.png +0 -0
  1986. data/public/resources/markitup/skins/markitup/images/bg-editor-html.png +0 -0
  1987. data/public/resources/markitup/skins/markitup/images/bg-editor-json.png +0 -0
  1988. data/public/resources/markitup/skins/markitup/images/bg-editor-markdown.png +0 -0
  1989. data/public/resources/markitup/skins/markitup/images/bg-editor-textile.png +0 -0
  1990. data/public/resources/markitup/skins/markitup/images/bg-editor-wiki.png +0 -0
  1991. data/public/resources/markitup/skins/markitup/images/bg-editor-xml.png +0 -0
  1992. data/public/resources/markitup/skins/markitup/images/bg-editor.png +0 -0
  1993. data/public/resources/markitup/skins/markitup/images/handle.png +0 -0
  1994. data/public/resources/markitup/skins/markitup/images/menu.png +0 -0
  1995. data/public/resources/markitup/skins/markitup/images/submenu.png +0 -0
  1996. data/public/resources/markitup/skins/markitup/style.css +147 -0
  1997. data/public/resources/markitup/skins/simple/images/handle.png +0 -0
  1998. data/public/resources/markitup/skins/simple/images/menu.png +0 -0
  1999. data/public/resources/markitup/skins/simple/images/submenu.png +0 -0
  2000. data/public/resources/markitup/skins/simple/style.css +118 -0
  2001. data/public/resources/markitup/templates/preview.css +5 -0
  2002. data/public/resources/markitup/templates/preview.html +11 -0
  2003. data/public/stylesheets/coderay.css +33 -0
  2004. data/public/stylesheets/page.css +178 -0
  2005. data/public/stylesheets/style.css +64 -0
  2006. data/rwiki.gemspec +2155 -0
  2007. data/script/server +17 -0
  2008. data/script/xvfb +24 -0
  2009. data/spec/javascripts/Rwiki/NodeManagerSpec.js +8 -0
  2010. data/spec/javascripts/Rwiki/TabPanel/PageTabSpec.js +22 -0
  2011. data/spec/javascripts/Rwiki/TabPanelSpec.js +94 -0
  2012. data/spec/javascripts/Rwiki/TreePanel/MenuSpec.js +169 -0
  2013. data/spec/javascripts/Rwiki/TreePanelSpec.js +161 -0
  2014. data/spec/javascripts/helpers/SpecHelper.js +5 -0
  2015. data/spec/javascripts/support/jasmine.yml +80 -0
  2016. data/spec/javascripts/support/jasmine_runner.rb +21 -0
  2017. data/test/fixtures/pages/empty_folder/dummy +0 -0
  2018. data/test/fixtures/pages/folder/subfolder/ruby.txt +0 -0
  2019. data/test/fixtures/pages/folder/test 1.txt b/data/test/fixtures/pages/folder/test → 1.txt +0 -0
  2020. data/test/fixtures/pages/folder/test 2.txt +1 -0
  2021. data/test/fixtures/pages/folder/test.txt +6 -0
  2022. data/test/fixtures/pages/home.txt +5 -0
  2023. data/test/fixtures/pages/subfolder/dummy +0 -0
  2024. data/test/fixtures/pages/test.txt +1 -0
  2025. data/test/helper.rb +22 -0
  2026. data/test/rwiki/models/test_folder.rb +206 -0
  2027. data/test/rwiki/models/test_node.rb +147 -0
  2028. data/test/rwiki/models/test_page.rb +110 -0
  2029. data/test/rwiki/test_app.rb +45 -0
  2030. data/test/tmpdir_helper.rb +21 -0
  2031. data/tmp/ExtDesigner/MyViewport.js +18 -0
  2032. data/tmp/ExtDesigner/MyViewport.ui.js +29 -0
  2033. data/tmp/ExtDesigner/Rwiki.EditorPanel.js +19 -0
  2034. data/tmp/ExtDesigner/Rwiki.EditorPanel.ui.js +27 -0
  2035. data/tmp/ExtDesigner/Rwiki.MainPanel.js +19 -0
  2036. data/tmp/ExtDesigner/Rwiki.MainPanel.ui.js +29 -0
  2037. data/tmp/ExtDesigner/Rwiki.TabPane.PageTab.js +19 -0
  2038. data/tmp/ExtDesigner/Rwiki.TabPane.PageTab.ui.js +19 -0
  2039. data/tmp/ExtDesigner/Rwiki.TabPanel.js +19 -0
  2040. data/tmp/ExtDesigner/Rwiki.TabPanel.ui.js +27 -0
  2041. data/tmp/ExtDesigner/Rwiki.TreePanel.js +19 -0
  2042. data/tmp/ExtDesigner/Rwiki.TreePanel.ui.js +27 -0
  2043. data/tmp/ExtDesigner/Rwiki.Viewport.js +18 -0
  2044. data/tmp/ExtDesigner/Rwiki.Viewport.ui.js +30 -0
  2045. data/tmp/ExtDesigner/rwiki.xds +192 -0
  2046. data/tmp/ExtDesigner/xds_includeOrder.txt +12 -0
  2047. data/tmp/ExtDesigner/xds_index.html +26 -0
  2048. data/tmp/ExtDesigner/xds_index.js +19 -0
  2049. data/tmp/fssm_test.rb +13 -0
  2050. data/views/index.erb +3 -0
  2051. data/views/layout.erb +57 -0
  2052. metadata +2367 -0
@@ -0,0 +1,7 @@
1
+ /*
2
+ * Ext JS Library 3.2.1
3
+ * Copyright(c) 2006-2010 Ext JS, Inc.
4
+ * licensing@extjs.com
5
+ * http://www.extjs.com/license
6
+ */
7
+ window.undefined=window.undefined;Ext={version:"3.2.1",versionDetail:{major:3,minor:2,patch:1}};Ext.apply=function(d,e,b){if(b){Ext.apply(d,b)}if(d&&e&&typeof e=="object"){for(var a in e){d[a]=e[a]}}return d};(function(){var g=0,s=Object.prototype.toString,t=navigator.userAgent.toLowerCase(),y=function(e){return e.test(t)},i=document,l=i.compatMode=="CSS1Compat",A=y(/opera/),h=y(/\bchrome\b/),u=y(/webkit/),x=!h&&y(/safari/),f=x&&y(/applewebkit\/4/),b=x&&y(/version\/3/),B=x&&y(/version\/4/),r=!A&&y(/msie/),p=r&&y(/msie 7/),o=r&&y(/msie 8/),q=r&&!p&&!o,n=!u&&y(/gecko/),d=n&&y(/rv:1\.8/),a=n&&y(/rv:1\.9/),v=r&&!l,z=y(/windows|win32/),k=y(/macintosh|mac os x/),j=y(/adobeair/),m=y(/linux/),c=/^https/i.test(window.location.protocol);if(q){try{i.execCommand("BackgroundImageCache",false,true)}catch(w){}}Ext.apply(Ext,{SSL_SECURE_URL:c&&r?'javascript:""':"about:blank",isStrict:l,isSecure:c,isReady:false,enableGarbageCollector:true,enableListenerCollection:false,enableNestedListenerRemoval:false,USE_NATIVE_JSON:false,applyIf:function(C,D){if(C){for(var e in D){if(!Ext.isDefined(C[e])){C[e]=D[e]}}}return C},id:function(e,C){e=Ext.getDom(e,true)||{};if(!e.id){e.id=(C||"ext-gen")+(++g)}return e.id},extend:function(){var C=function(E){for(var D in E){this[D]=E[D]}};var e=Object.prototype.constructor;return function(J,G,I){if(typeof G=="object"){I=G;G=J;J=I.constructor!=e?I.constructor:function(){G.apply(this,arguments)}}var E=function(){},H,D=G.prototype;E.prototype=D;H=J.prototype=new E();H.constructor=J;J.superclass=D;if(D.constructor==e){D.constructor=G}J.override=function(F){Ext.override(J,F)};H.superclass=H.supr=(function(){return D});H.override=C;Ext.override(J,I);J.extend=function(F){return Ext.extend(J,F)};return J}}(),override:function(e,D){if(D){var C=e.prototype;Ext.apply(C,D);if(Ext.isIE&&D.hasOwnProperty("toString")){C.toString=D.toString}}},namespace:function(){var C,e;Ext.each(arguments,function(D){e=D.split(".");C=window[e[0]]=window[e[0]]||{};Ext.each(e.slice(1),function(E){C=C[E]=C[E]||{}})});return C},urlEncode:function(G,F){var D,C=[],E=encodeURIComponent;Ext.iterate(G,function(e,H){D=Ext.isEmpty(H);Ext.each(D?e:H,function(I){C.push("&",E(e),"=",(!Ext.isEmpty(I)&&(I!=e||!D))?(Ext.isDate(I)?Ext.encode(I).replace(/"/g,""):E(I)):"")})});if(!F){C.shift();F=""}return F+C.join("")},urlDecode:function(D,C){if(Ext.isEmpty(D)){return{}}var G={},F=D.split("&"),H=decodeURIComponent,e,E;Ext.each(F,function(I){I=I.split("=");e=H(I[0]);E=H(I[1]);G[e]=C||!G[e]?E:[].concat(G[e]).concat(E)});return G},urlAppend:function(e,C){if(!Ext.isEmpty(C)){return e+(e.indexOf("?")===-1?"?":"&")+C}return e},toArray:function(){return r?function(D,G,E,F){F=[];for(var C=0,e=D.length;C<e;C++){F.push(D[C])}return F.slice(G||0,E||F.length)}:function(e,D,C){return Array.prototype.slice.call(e,D||0,C||e.length)}}(),isIterable:function(e){if(Ext.isArray(e)||e.callee){return true}if(/NodeList|HTMLCollection/.test(s.call(e))){return true}return((typeof e.nextNode!="undefined"||e.item)&&Ext.isNumber(e.length))},each:function(F,E,D){if(Ext.isEmpty(F,true)){return}if(!Ext.isIterable(F)||Ext.isPrimitive(F)){F=[F]}for(var C=0,e=F.length;C<e;C++){if(E.call(D||F[C],F[C],C,F)===false){return C}}},iterate:function(D,C,e){if(Ext.isEmpty(D)){return}if(Ext.isIterable(D)){Ext.each(D,C,e);return}else{if(typeof D=="object"){for(var E in D){if(D.hasOwnProperty(E)){if(C.call(e||D,E,D[E],D)===false){return}}}}}},getDom:function(D,C){if(!D||!i){return null}if(D.dom){return D.dom}else{if(typeof D=="string"){var E=i.getElementById(D);if(E&&r&&C){if(D==E.getAttribute("id")){return E}else{return null}}return E}else{return D}}},getBody:function(){return Ext.get(i.body||i.documentElement)},removeNode:r&&!o?function(){var e;return function(C){if(C&&C.tagName!="BODY"){(Ext.enableNestedListenerRemoval)?Ext.EventManager.purgeElement(C,true):Ext.EventManager.removeAll(C);e=e||i.createElement("div");e.appendChild(C);e.innerHTML="";delete Ext.elCache[C.id]}}}():function(e){if(e&&e.parentNode&&e.tagName!="BODY"){(Ext.enableNestedListenerRemoval)?Ext.EventManager.purgeElement(e,true):Ext.EventManager.removeAll(e);e.parentNode.removeChild(e);delete Ext.elCache[e.id]}},isEmpty:function(C,e){return C===null||C===undefined||((Ext.isArray(C)&&!C.length))||(!e?C==="":false)},isArray:function(e){return s.apply(e)==="[object Array]"},isDate:function(e){return s.apply(e)==="[object Date]"},isObject:function(e){return !!e&&Object.prototype.toString.call(e)==="[object Object]"},isPrimitive:function(e){return Ext.isString(e)||Ext.isNumber(e)||Ext.isBoolean(e)},isFunction:function(e){return s.apply(e)==="[object Function]"},isNumber:function(e){return typeof e==="number"&&isFinite(e)},isString:function(e){return typeof e==="string"},isBoolean:function(e){return typeof e==="boolean"},isElement:function(e){return e?!!e.tagName:false},isDefined:function(e){return typeof e!=="undefined"},isOpera:A,isWebKit:u,isChrome:h,isSafari:x,isSafari3:b,isSafari4:B,isSafari2:f,isIE:r,isIE6:q,isIE7:p,isIE8:o,isGecko:n,isGecko2:d,isGecko3:a,isBorderBox:v,isLinux:m,isWindows:z,isMac:k,isAir:j});Ext.ns=Ext.namespace})();Ext.ns("Ext.util","Ext.lib","Ext.data");Ext.elCache={};Ext.apply(Function.prototype,{createInterceptor:function(b,a){var c=this;return !Ext.isFunction(b)?this:function(){var e=this,d=arguments;b.target=e;b.method=c;return(b.apply(a||e||window,d)!==false)?c.apply(e||window,d):null}},createCallback:function(){var a=arguments,b=this;return function(){return b.apply(window,a)}},createDelegate:function(c,b,a){var d=this;return function(){var f=b||arguments;if(a===true){f=Array.prototype.slice.call(arguments,0);f=f.concat(b)}else{if(Ext.isNumber(a)){f=Array.prototype.slice.call(arguments,0);var e=[a,0].concat(b);Array.prototype.splice.apply(f,e)}}return d.apply(c||window,f)}},defer:function(c,e,b,a){var d=this.createDelegate(e,b,a);if(c>0){return setTimeout(d,c)}d();return 0}});Ext.applyIf(String,{format:function(b){var a=Ext.toArray(arguments,1);return b.replace(/\{(\d+)\}/g,function(c,d){return a[d]})}});Ext.applyIf(Array.prototype,{indexOf:function(b,c){var a=this.length;c=c||0;c+=(c<0)?a:0;for(;c<a;++c){if(this[c]===b){return c}}return -1},remove:function(b){var a=this.indexOf(b);if(a!=-1){this.splice(a,1)}return this}});Ext.ns("Ext.grid","Ext.list","Ext.dd","Ext.tree","Ext.form","Ext.menu","Ext.state","Ext.layout","Ext.app","Ext.ux","Ext.chart","Ext.direct");Ext.apply(Ext,function(){var c=Ext,a=0,b=null;return{emptyFn:function(){},BLANK_IMAGE_URL:Ext.isIE6||Ext.isIE7||Ext.isAir?"http://www.extjs.com/s.gif":"data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==",extendX:function(d,e){return Ext.extend(d,e(d.prototype))},getDoc:function(){return Ext.get(document)},num:function(e,d){e=Number(Ext.isEmpty(e)||Ext.isArray(e)||typeof e=="boolean"||(typeof e=="string"&&e.trim().length==0)?NaN:e);return isNaN(e)?d:e},value:function(f,d,e){return Ext.isEmpty(f,e)?d:f},escapeRe:function(d){return d.replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1")},sequence:function(g,d,f,e){g[d]=g[d].createSequence(f,e)},addBehaviors:function(h){if(!Ext.isReady){Ext.onReady(function(){Ext.addBehaviors(h)})}else{var e={},g,d,f;for(d in h){if((g=d.split("@"))[1]){f=g[0];if(!e[f]){e[f]=Ext.select(f)}e[f].on(g[1],h[d])}}e=null}},getScrollBarWidth:function(f){if(!Ext.isReady){return 0}if(f===true||b===null){var h=Ext.getBody().createChild('<div class="x-hide-offsets" style="width:100px;height:50px;overflow:hidden;"><div style="height:200px;"></div></div>'),g=h.child("div",true);var e=g.offsetWidth;h.setStyle("overflow",(Ext.isWebKit||Ext.isGecko)?"auto":"scroll");var d=g.offsetWidth;h.remove();b=e-d+2}return b},combine:function(){var f=arguments,e=f.length,h=[];for(var g=0;g<e;g++){var d=f[g];if(Ext.isArray(d)){h=h.concat(d)}else{if(d.length!==undefined&&!d.substr){h=h.concat(Array.prototype.slice.call(d,0))}else{h.push(d)}}}return h},copyTo:function(d,e,f){if(typeof f=="string"){f=f.split(/[,;\s]/)}Ext.each(f,function(g){if(e.hasOwnProperty(g)){d[g]=e[g]}},this);return d},destroy:function(){Ext.each(arguments,function(d){if(d){if(Ext.isArray(d)){this.destroy.apply(this,d)}else{if(typeof d.destroy=="function"){d.destroy()}else{if(d.dom){d.remove()}}}}},this)},destroyMembers:function(k,h,f,g){for(var j=1,e=arguments,d=e.length;j<d;j++){Ext.destroy(k[e[j]]);delete k[e[j]]}},clean:function(d){var e=[];Ext.each(d,function(f){if(!!f){e.push(f)}});return e},unique:function(d){var e=[],f={};Ext.each(d,function(g){if(!f[g]){e.push(g)}f[g]=true});return e},flatten:function(d){var f=[];function e(g){Ext.each(g,function(h){if(Ext.isArray(h)){e(h)}else{f.push(h)}});return f}return e(d)},min:function(d,e){var f=d[0];e=e||function(h,g){return h<g?-1:1};Ext.each(d,function(g){f=e(f,g)==-1?f:g});return f},max:function(d,e){var f=d[0];e=e||function(h,g){return h>g?1:-1};Ext.each(d,function(g){f=e(f,g)==1?f:g});return f},mean:function(d){return d.length>0?Ext.sum(d)/d.length:undefined},sum:function(d){var e=0;Ext.each(d,function(f){e+=f});return e},partition:function(d,e){var f=[[],[]];Ext.each(d,function(h,j,g){f[(e&&e(h,j,g))||(!e&&h)?0:1].push(h)});return f},invoke:function(d,e){var g=[],f=Array.prototype.slice.call(arguments,2);Ext.each(d,function(h,j){if(h&&typeof h[e]=="function"){g.push(h[e].apply(h,f))}else{g.push(undefined)}});return g},pluck:function(d,f){var e=[];Ext.each(d,function(g){e.push(g[f])});return e},zip:function(){var m=Ext.partition(arguments,function(i){return typeof i!="function"}),h=m[0],l=m[1][0],d=Ext.max(Ext.pluck(h,"length")),g=[];for(var k=0;k<d;k++){g[k]=[];if(l){g[k]=l.apply(l,Ext.pluck(h,k))}else{for(var f=0,e=h.length;f<e;f++){g[k].push(h[f][k])}}}return g},getCmp:function(d){return Ext.ComponentMgr.get(d)},useShims:c.isIE6||(c.isMac&&c.isGecko2),type:function(e){if(e===undefined||e===null){return false}if(e.htmlElement){return"element"}var d=typeof e;if(d=="object"&&e.nodeName){switch(e.nodeType){case 1:return"element";case 3:return(/\S/).test(e.nodeValue)?"textnode":"whitespace"}}if(d=="object"||d=="function"){switch(e.constructor){case Array:return"array";case RegExp:return"regexp";case Date:return"date"}if(typeof e.length=="number"&&typeof e.item=="function"){return"nodelist"}}return d},intercept:function(g,d,f,e){g[d]=g[d].createInterceptor(f,e)},callback:function(d,g,f,e){if(typeof d=="function"){if(e){d.defer(e,g,f||[])}else{d.apply(g,f||[])}}}}}());Ext.apply(Function.prototype,{createSequence:function(b,a){var c=this;return(typeof b!="function")?this:function(){var d=c.apply(this||window,arguments);b.apply(a||this||window,arguments);return d}}});Ext.applyIf(String,{escape:function(a){return a.replace(/('|\\)/g,"\\$1")},leftPad:function(d,b,c){var a=String(d);if(!c){c=" "}while(a.length<b){a=c+a}return a}});String.prototype.toggle=function(b,a){return this==b?a:b};String.prototype.trim=function(){var a=/^\s+|\s+$/g;return function(){return this.replace(a,"")}}();Date.prototype.getElapsed=function(a){return Math.abs((a||new Date()).getTime()-this.getTime())};Ext.applyIf(Number.prototype,{constrain:function(b,a){return Math.min(Math.max(this,b),a)}});Ext.util.TaskRunner=function(e){e=e||10;var f=[],a=[],b=0,g=false,d=function(){g=false;clearInterval(b);b=0},h=function(){if(!g){g=true;b=setInterval(i,e)}},c=function(j){a.push(j);if(j.onStop){j.onStop.apply(j.scope||j)}},i=function(){var l=a.length,n=new Date().getTime();if(l>0){for(var p=0;p<l;p++){f.remove(a[p])}a=[];if(f.length<1){d();return}}for(var p=0,o,k,m,j=f.length;p<j;++p){o=f[p];k=n-o.taskRunTime;if(o.interval<=k){m=o.run.apply(o.scope||o,o.args||[++o.taskRunCount]);o.taskRunTime=n;if(m===false||o.taskRunCount===o.repeat){c(o);return}}if(o.duration&&o.duration<=(n-o.taskStartTime)){c(o)}}};this.start=function(j){f.push(j);j.taskStartTime=new Date().getTime();j.taskRunTime=0;j.taskRunCount=0;h();return j};this.stop=function(j){c(j);return j};this.stopAll=function(){d();for(var k=0,j=f.length;k<j;k++){if(f[k].onStop){f[k].onStop()}}f=[];a=[]}};Ext.TaskMgr=new Ext.util.TaskRunner();if(typeof jQuery=="undefined"){throw"Unable to load Ext, jQuery not found."}(function(){var b;Ext.lib.Dom={getViewWidth:function(d){return d?Math.max(jQuery(document).width(),jQuery(window).width()):jQuery(window).width()},getViewHeight:function(d){return d?Math.max(jQuery(document).height(),jQuery(window).height()):jQuery(window).height()},isAncestor:function(e,f){var d=false;e=Ext.getDom(e);f=Ext.getDom(f);if(e&&f){if(e.contains){return e.contains(f)}else{if(e.compareDocumentPosition){return !!(e.compareDocumentPosition(f)&16)}else{while(f=f.parentNode){d=f==e||d}}}}return d},getRegion:function(d){return Ext.lib.Region.getRegion(d)},getY:function(d){return this.getXY(d)[1]},getX:function(d){return this.getXY(d)[0]},getXY:function(f){var e,j,l,m,i=(document.body||document.documentElement);f=Ext.getDom(f);if(f==i){return[0,0]}if(f.getBoundingClientRect){l=f.getBoundingClientRect();m=c(document).getScroll();return[Math.round(l.left+m.left),Math.round(l.top+m.top)]}var n=0,k=0;e=f;var d=c(f).getStyle("position")=="absolute";while(e){n+=e.offsetLeft;k+=e.offsetTop;if(!d&&c(e).getStyle("position")=="absolute"){d=true}if(Ext.isGecko){j=c(e);var o=parseInt(j.getStyle("borderTopWidth"),10)||0;var g=parseInt(j.getStyle("borderLeftWidth"),10)||0;n+=g;k+=o;if(e!=f&&j.getStyle("overflow")!="visible"){n+=g;k+=o}}e=e.offsetParent}if(Ext.isSafari&&d){n-=i.offsetLeft;k-=i.offsetTop}if(Ext.isGecko&&!d){var h=c(i);n+=parseInt(h.getStyle("borderLeftWidth"),10)||0;k+=parseInt(h.getStyle("borderTopWidth"),10)||0}e=f.parentNode;while(e&&e!=i){if(!Ext.isOpera||(e.tagName!="TR"&&c(e).getStyle("display")!="inline")){n-=e.scrollLeft;k-=e.scrollTop}e=e.parentNode}return[n,k]},setXY:function(d,e){d=Ext.fly(d,"_setXY");d.position();var f=d.translatePoints(e);if(e[0]!==false){d.dom.style.left=f.left+"px"}if(e[1]!==false){d.dom.style.top=f.top+"px"}},setX:function(e,d){this.setXY(e,[d,false])},setY:function(d,e){this.setXY(d,[false,e])}};function c(d){if(!b){b=new Ext.Element.Flyweight()}b.dom=d;return b}Ext.lib.Event={getPageX:function(d){d=d.browserEvent||d;return d.pageX},getPageY:function(d){d=d.browserEvent||d;return d.pageY},getXY:function(d){d=d.browserEvent||d;return[d.pageX,d.pageY]},getTarget:function(d){return d.target},on:function(h,d,g,f,e){jQuery(h).bind(d,g)},un:function(f,d,e){jQuery(f).unbind(d,e)},purgeElement:function(d){jQuery(d).unbind()},preventDefault:function(d){d=d.browserEvent||d;if(d.preventDefault){d.preventDefault()}else{d.returnValue=false}},stopPropagation:function(d){d=d.browserEvent||d;if(d.stopPropagation){d.stopPropagation()}else{d.cancelBubble=true}},stopEvent:function(d){this.preventDefault(d);this.stopPropagation(d)},onAvailable:function(j,e,d){var i=new Date();var g=function(){if(i.getElapsed()>10000){clearInterval(h)}var f=document.getElementById(j);if(f){clearInterval(h);e.call(d||window,f)}};var h=setInterval(g,50)},resolveTextNode:Ext.isGecko?function(e){if(!e){return}var d=HTMLElement.prototype.toString.call(e);if(d=="[xpconnect wrapped native prototype]"||d=="[object XULElement]"){return}return e.nodeType==3?e.parentNode:e}:function(d){return d&&d.nodeType==3?d.parentNode:d},getRelatedTarget:function(e){e=e.browserEvent||e;var d=e.relatedTarget;if(!d){if(e.type=="mouseout"){d=e.toElement}else{if(e.type=="mouseover"){d=e.fromElement}}}return this.resolveTextNode(d)}};Ext.lib.Ajax=function(){var d=function(f){return function(h,g){if((g=="error"||g=="timeout")&&f.failure){f.failure.call(f.scope||window,e(f,h))}else{if(f.success){f.success.call(f.scope||window,e(f,h))}}}};var e=function(f,l){var h={},j,g,i;try{j=l.getAllResponseHeaders();Ext.each(j.replace(/\r\n/g,"\n").split("\n"),function(m){g=m.indexOf(":");if(g>=0){i=m.substr(0,g).toLowerCase();if(m.charAt(g+1)==" "){++g}h[i]=m.substr(g+1)}})}catch(k){}return{responseText:l.responseText,responseXML:l.responseXML,argument:f.argument,status:l.status,statusText:l.statusText,getResponseHeader:function(m){return h[m.toLowerCase()]},getAllResponseHeaders:function(){return j}}};return{request:function(l,i,f,j,g){var k={type:l,url:i,data:j,timeout:f.timeout,complete:d(f)};if(g){var h=g.headers;if(g.xmlData){k.data=g.xmlData;k.processData=false;k.type=(l?l:(g.method?g.method:"POST"));if(!h||!h["Content-Type"]){k.contentType="text/xml"}}else{if(g.jsonData){k.data=typeof g.jsonData=="object"?Ext.encode(g.jsonData):g.jsonData;k.processData=false;k.type=(l?l:(g.method?g.method:"POST"));if(!h||!h["Content-Type"]){k.contentType="application/json"}}}if(h){k.beforeSend=function(n){for(var m in h){if(h.hasOwnProperty(m)){n.setRequestHeader(m,h[m])}}}}}jQuery.ajax(k)},formRequest:function(j,i,g,k,f,h){jQuery.ajax({type:Ext.getDom(j).method||"POST",url:i,data:jQuery(j).serialize()+(k?"&"+k:""),timeout:g.timeout,complete:d(g)})},isCallInProgress:function(f){return false},abort:function(f){return false},serializeForm:function(f){return jQuery(f.dom||f).serialize()}}}();Ext.lib.Anim=function(){var d=function(e,f){var g=true;return{stop:function(h){},isAnimated:function(){return g},proxyCallback:function(){g=false;Ext.callback(e,f)}}};return{scroll:function(h,f,j,k,e,g){var i=d(e,g);h=Ext.getDom(h);if(typeof f.scroll.to[0]=="number"){h.scrollLeft=f.scroll.to[0]}if(typeof f.scroll.to[1]=="number"){h.scrollTop=f.scroll.to[1]}i.proxyCallback();return i},motion:function(h,f,i,j,e,g){return this.run(h,f,i,j,e,g)},color:function(h,f,j,k,e,g){var i=d(e,g);i.proxyCallback();return i},run:function(g,q,j,p,h,s,r){var l=d(h,s),m=Ext.fly(g,"_animrun");var f={};for(var i in q){switch(i){case"points":var n,u;m.position();if(n=q.points.by){var t=m.getXY();u=m.translatePoints([t[0]+n[0],t[1]+n[1]])}else{u=m.translatePoints(q.points.to)}f.left=u.left;f.top=u.top;if(!parseInt(m.getStyle("left"),10)){m.setLeft(0)}if(!parseInt(m.getStyle("top"),10)){m.setTop(0)}if(q.points.from){m.setXY(q.points.from)}break;case"width":f.width=q.width.to;if(q.width.from){m.setWidth(q.width.from)}break;case"height":f.height=q.height.to;if(q.height.from){m.setHeight(q.height.from)}break;case"opacity":f.opacity=q.opacity.to;if(q.opacity.from){m.setOpacity(q.opacity.from)}break;case"left":f.left=q.left.to;if(q.left.from){m.setLeft(q.left.from)}break;case"top":f.top=q.top.to;if(q.top.from){m.setTop(q.top.from)}break;case"callback":case"scope":case"xy":break;default:f[i]=q[i].to;if(q[i].from){m.setStyle(i,q[i].from)}break}}jQuery(g).animate(f,j*1000,undefined,l.proxyCallback);return l}}}();Ext.lib.Region=function(f,g,d,e){this.top=f;this[1]=f;this.right=g;this.bottom=d;this.left=e;this[0]=e};Ext.lib.Region.prototype={contains:function(d){return(d.left>=this.left&&d.right<=this.right&&d.top>=this.top&&d.bottom<=this.bottom)},getArea:function(){return((this.bottom-this.top)*(this.right-this.left))},intersect:function(h){var f=Math.max(this.top,h.top);var g=Math.min(this.right,h.right);var d=Math.min(this.bottom,h.bottom);var e=Math.max(this.left,h.left);if(d>=f&&g>=e){return new Ext.lib.Region(f,g,d,e)}else{return null}},union:function(h){var f=Math.min(this.top,h.top);var g=Math.max(this.right,h.right);var d=Math.max(this.bottom,h.bottom);var e=Math.min(this.left,h.left);return new Ext.lib.Region(f,g,d,e)},constrainTo:function(d){this.top=this.top.constrain(d.top,d.bottom);this.bottom=this.bottom.constrain(d.top,d.bottom);this.left=this.left.constrain(d.left,d.right);this.right=this.right.constrain(d.left,d.right);return this},adjust:function(f,e,d,g){this.top+=f;this.left+=e;this.right+=g;this.bottom+=d;return this}};Ext.lib.Region.getRegion=function(g){var i=Ext.lib.Dom.getXY(g);var f=i[1];var h=i[0]+g.offsetWidth;var d=i[1]+g.offsetHeight;var e=i[0];return new Ext.lib.Region(f,h,d,e)};Ext.lib.Point=function(d,e){if(Ext.isArray(d)){e=d[1];d=d[0]}this.x=this.right=this.left=this[0]=d;this.y=this.top=this.bottom=this[1]=e};Ext.lib.Point.prototype=new Ext.lib.Region();if(Ext.isIE){function a(){var d=Function.prototype;delete d.createSequence;delete d.defer;delete d.createDelegate;delete d.createCallback;delete d.createInterceptor;window.detachEvent("onunload",a)}window.attachEvent("onunload",a)}})();
@@ -0,0 +1,2479 @@
1
+ /*!
2
+ * Ext JS Library 3.2.1
3
+ * Copyright(c) 2006-2010 Ext JS, Inc.
4
+ * licensing@extjs.com
5
+ * http://www.extjs.com/license
6
+ */
7
+ // for old browsers
8
+ window.undefined = window.undefined;
9
+
10
+ /**
11
+ * @class Ext
12
+ * Ext core utilities and functions.
13
+ * @singleton
14
+ */
15
+
16
+ Ext = {
17
+ /**
18
+ * The version of the framework
19
+ * @type String
20
+ */
21
+ version : '3.2.1',
22
+ versionDetail : {
23
+ major: 3,
24
+ minor: 2,
25
+ patch: 1
26
+ }
27
+ };
28
+
29
+ /**
30
+ * Copies all the properties of config to obj.
31
+ * @param {Object} obj The receiver of the properties
32
+ * @param {Object} config The source of the properties
33
+ * @param {Object} defaults A different object that will also be applied for default values
34
+ * @return {Object} returns obj
35
+ * @member Ext apply
36
+ */
37
+ Ext.apply = function(o, c, defaults){
38
+ // no "this" reference for friendly out of scope calls
39
+ if(defaults){
40
+ Ext.apply(o, defaults);
41
+ }
42
+ if(o && c && typeof c == 'object'){
43
+ for(var p in c){
44
+ o[p] = c[p];
45
+ }
46
+ }
47
+ return o;
48
+ };
49
+
50
+ (function(){
51
+ var idSeed = 0,
52
+ toString = Object.prototype.toString,
53
+ ua = navigator.userAgent.toLowerCase(),
54
+ check = function(r){
55
+ return r.test(ua);
56
+ },
57
+ DOC = document,
58
+ isStrict = DOC.compatMode == "CSS1Compat",
59
+ isOpera = check(/opera/),
60
+ isChrome = check(/\bchrome\b/),
61
+ isWebKit = check(/webkit/),
62
+ isSafari = !isChrome && check(/safari/),
63
+ isSafari2 = isSafari && check(/applewebkit\/4/), // unique to Safari 2
64
+ isSafari3 = isSafari && check(/version\/3/),
65
+ isSafari4 = isSafari && check(/version\/4/),
66
+ isIE = !isOpera && check(/msie/),
67
+ isIE7 = isIE && check(/msie 7/),
68
+ isIE8 = isIE && check(/msie 8/),
69
+ isIE6 = isIE && !isIE7 && !isIE8,
70
+ isGecko = !isWebKit && check(/gecko/),
71
+ isGecko2 = isGecko && check(/rv:1\.8/),
72
+ isGecko3 = isGecko && check(/rv:1\.9/),
73
+ isBorderBox = isIE && !isStrict,
74
+ isWindows = check(/windows|win32/),
75
+ isMac = check(/macintosh|mac os x/),
76
+ isAir = check(/adobeair/),
77
+ isLinux = check(/linux/),
78
+ isSecure = /^https/i.test(window.location.protocol);
79
+
80
+ // remove css image flicker
81
+ if(isIE6){
82
+ try{
83
+ DOC.execCommand("BackgroundImageCache", false, true);
84
+ }catch(e){}
85
+ }
86
+
87
+ Ext.apply(Ext, {
88
+ /**
89
+ * URL to a blank file used by Ext when in secure mode for iframe src and onReady src to prevent
90
+ * the IE insecure content warning (<tt>'about:blank'</tt>, except for IE in secure mode, which is <tt>'javascript:""'</tt>).
91
+ * @type String
92
+ */
93
+ SSL_SECURE_URL : isSecure && isIE ? 'javascript:""' : 'about:blank',
94
+ /**
95
+ * True if the browser is in strict (standards-compliant) mode, as opposed to quirks mode
96
+ * @type Boolean
97
+ */
98
+ isStrict : isStrict,
99
+ /**
100
+ * True if the page is running over SSL
101
+ * @type Boolean
102
+ */
103
+ isSecure : isSecure,
104
+ /**
105
+ * True when the document is fully initialized and ready for action
106
+ * @type Boolean
107
+ */
108
+ isReady : false,
109
+
110
+ /**
111
+ * True if the {@link Ext.Fx} Class is available
112
+ * @type Boolean
113
+ * @property enableFx
114
+ */
115
+
116
+ /**
117
+ * True to automatically uncache orphaned Ext.Elements periodically (defaults to true)
118
+ * @type Boolean
119
+ */
120
+ enableGarbageCollector : true,
121
+
122
+ /**
123
+ * True to automatically purge event listeners during garbageCollection (defaults to false).
124
+ * @type Boolean
125
+ */
126
+ enableListenerCollection : false,
127
+
128
+ /**
129
+ * EXPERIMENTAL - True to cascade listener removal to child elements when an element is removed.
130
+ * Currently not optimized for performance.
131
+ * @type Boolean
132
+ */
133
+ enableNestedListenerRemoval : false,
134
+
135
+ /**
136
+ * Indicates whether to use native browser parsing for JSON methods.
137
+ * This option is ignored if the browser does not support native JSON methods.
138
+ * <b>Note: Native JSON methods will not work with objects that have functions.
139
+ * Also, property names must be quoted, otherwise the data will not parse.</b> (Defaults to false)
140
+ * @type Boolean
141
+ */
142
+ USE_NATIVE_JSON : false,
143
+
144
+ /**
145
+ * Copies all the properties of config to obj if they don't already exist.
146
+ * @param {Object} obj The receiver of the properties
147
+ * @param {Object} config The source of the properties
148
+ * @return {Object} returns obj
149
+ */
150
+ applyIf : function(o, c){
151
+ if(o){
152
+ for(var p in c){
153
+ if(!Ext.isDefined(o[p])){
154
+ o[p] = c[p];
155
+ }
156
+ }
157
+ }
158
+ return o;
159
+ },
160
+
161
+ /**
162
+ * Generates unique ids. If the element already has an id, it is unchanged
163
+ * @param {Mixed} el (optional) The element to generate an id for
164
+ * @param {String} prefix (optional) Id prefix (defaults "ext-gen")
165
+ * @return {String} The generated Id.
166
+ */
167
+ id : function(el, prefix){
168
+ el = Ext.getDom(el, true) || {};
169
+ if (!el.id) {
170
+ el.id = (prefix || "ext-gen") + (++idSeed);
171
+ }
172
+ return el.id;
173
+ },
174
+
175
+ /**
176
+ * <p>Extends one class to create a subclass and optionally overrides members with the passed literal. This method
177
+ * also adds the function "override()" to the subclass that can be used to override members of the class.</p>
178
+ * For example, to create a subclass of Ext GridPanel:
179
+ * <pre><code>
180
+ MyGridPanel = Ext.extend(Ext.grid.GridPanel, {
181
+ constructor: function(config) {
182
+
183
+ // Create configuration for this Grid.
184
+ var store = new Ext.data.Store({...});
185
+ var colModel = new Ext.grid.ColumnModel({...});
186
+
187
+ // Create a new config object containing our computed properties
188
+ // *plus* whatever was in the config parameter.
189
+ config = Ext.apply({
190
+ store: store,
191
+ colModel: colModel
192
+ }, config);
193
+
194
+ MyGridPanel.superclass.constructor.call(this, config);
195
+
196
+ // Your postprocessing here
197
+ },
198
+
199
+ yourMethod: function() {
200
+ // etc.
201
+ }
202
+ });
203
+ </code></pre>
204
+ *
205
+ * <p>This function also supports a 3-argument call in which the subclass's constructor is
206
+ * passed as an argument. In this form, the parameters are as follows:</p>
207
+ * <div class="mdetail-params"><ul>
208
+ * <li><code>subclass</code> : Function <div class="sub-desc">The subclass constructor.</div></li>
209
+ * <li><code>superclass</code> : Function <div class="sub-desc">The constructor of class being extended</div></li>
210
+ * <li><code>overrides</code> : Object <div class="sub-desc">A literal with members which are copied into the subclass's
211
+ * prototype, and are therefore shared among all instances of the new class.</div></li>
212
+ * </ul></div>
213
+ *
214
+ * @param {Function} superclass The constructor of class being extended.
215
+ * @param {Object} overrides <p>A literal with members which are copied into the subclass's
216
+ * prototype, and are therefore shared between all instances of the new class.</p>
217
+ * <p>This may contain a special member named <tt><b>constructor</b></tt>. This is used
218
+ * to define the constructor of the new class, and is returned. If this property is
219
+ * <i>not</i> specified, a constructor is generated and returned which just calls the
220
+ * superclass's constructor passing on its parameters.</p>
221
+ * <p><b>It is essential that you call the superclass constructor in any provided constructor. See example code.</b></p>
222
+ * @return {Function} The subclass constructor from the <code>overrides</code> parameter, or a generated one if not provided.
223
+ */
224
+ extend : function(){
225
+ // inline overrides
226
+ var io = function(o){
227
+ for(var m in o){
228
+ this[m] = o[m];
229
+ }
230
+ };
231
+ var oc = Object.prototype.constructor;
232
+
233
+ return function(sb, sp, overrides){
234
+ if(typeof sp == 'object'){
235
+ overrides = sp;
236
+ sp = sb;
237
+ sb = overrides.constructor != oc ? overrides.constructor : function(){sp.apply(this, arguments);};
238
+ }
239
+ var F = function(){},
240
+ sbp,
241
+ spp = sp.prototype;
242
+
243
+ F.prototype = spp;
244
+ sbp = sb.prototype = new F();
245
+ sbp.constructor=sb;
246
+ sb.superclass=spp;
247
+ if(spp.constructor == oc){
248
+ spp.constructor=sp;
249
+ }
250
+ sb.override = function(o){
251
+ Ext.override(sb, o);
252
+ };
253
+ sbp.superclass = sbp.supr = (function(){
254
+ return spp;
255
+ });
256
+ sbp.override = io;
257
+ Ext.override(sb, overrides);
258
+ sb.extend = function(o){return Ext.extend(sb, o);};
259
+ return sb;
260
+ };
261
+ }(),
262
+
263
+ /**
264
+ * Adds a list of functions to the prototype of an existing class, overwriting any existing methods with the same name.
265
+ * Usage:<pre><code>
266
+ Ext.override(MyClass, {
267
+ newMethod1: function(){
268
+ // etc.
269
+ },
270
+ newMethod2: function(foo){
271
+ // etc.
272
+ }
273
+ });
274
+ </code></pre>
275
+ * @param {Object} origclass The class to override
276
+ * @param {Object} overrides The list of functions to add to origClass. This should be specified as an object literal
277
+ * containing one or more methods.
278
+ * @method override
279
+ */
280
+ override : function(origclass, overrides){
281
+ if(overrides){
282
+ var p = origclass.prototype;
283
+ Ext.apply(p, overrides);
284
+ if(Ext.isIE && overrides.hasOwnProperty('toString')){
285
+ p.toString = overrides.toString;
286
+ }
287
+ }
288
+ },
289
+
290
+ /**
291
+ * Creates namespaces to be used for scoping variables and classes so that they are not global.
292
+ * Specifying the last node of a namespace implicitly creates all other nodes. Usage:
293
+ * <pre><code>
294
+ Ext.namespace('Company', 'Company.data');
295
+ Ext.namespace('Company.data'); // equivalent and preferable to above syntax
296
+ Company.Widget = function() { ... }
297
+ Company.data.CustomStore = function(config) { ... }
298
+ </code></pre>
299
+ * @param {String} namespace1
300
+ * @param {String} namespace2
301
+ * @param {String} etc
302
+ * @return {Object} The namespace object. (If multiple arguments are passed, this will be the last namespace created)
303
+ * @method namespace
304
+ */
305
+ namespace : function(){
306
+ var o, d;
307
+ Ext.each(arguments, function(v) {
308
+ d = v.split(".");
309
+ o = window[d[0]] = window[d[0]] || {};
310
+ Ext.each(d.slice(1), function(v2){
311
+ o = o[v2] = o[v2] || {};
312
+ });
313
+ });
314
+ return o;
315
+ },
316
+
317
+ /**
318
+ * Takes an object and converts it to an encoded URL. e.g. Ext.urlEncode({foo: 1, bar: 2}); would return "foo=1&bar=2". Optionally, property values can be arrays, instead of keys and the resulting string that's returned will contain a name/value pair for each array value.
319
+ * @param {Object} o
320
+ * @param {String} pre (optional) A prefix to add to the url encoded string
321
+ * @return {String}
322
+ */
323
+ urlEncode : function(o, pre){
324
+ var empty,
325
+ buf = [],
326
+ e = encodeURIComponent;
327
+
328
+ Ext.iterate(o, function(key, item){
329
+ empty = Ext.isEmpty(item);
330
+ Ext.each(empty ? key : item, function(val){
331
+ buf.push('&', e(key), '=', (!Ext.isEmpty(val) && (val != key || !empty)) ? (Ext.isDate(val) ? Ext.encode(val).replace(/"/g, '') : e(val)) : '');
332
+ });
333
+ });
334
+ if(!pre){
335
+ buf.shift();
336
+ pre = '';
337
+ }
338
+ return pre + buf.join('');
339
+ },
340
+
341
+ /**
342
+ * Takes an encoded URL and and converts it to an object. Example: <pre><code>
343
+ Ext.urlDecode("foo=1&bar=2"); // returns {foo: "1", bar: "2"}
344
+ Ext.urlDecode("foo=1&bar=2&bar=3&bar=4", false); // returns {foo: "1", bar: ["2", "3", "4"]}
345
+ </code></pre>
346
+ * @param {String} string
347
+ * @param {Boolean} overwrite (optional) Items of the same name will overwrite previous values instead of creating an an array (Defaults to false).
348
+ * @return {Object} A literal with members
349
+ */
350
+ urlDecode : function(string, overwrite){
351
+ if(Ext.isEmpty(string)){
352
+ return {};
353
+ }
354
+ var obj = {},
355
+ pairs = string.split('&'),
356
+ d = decodeURIComponent,
357
+ name,
358
+ value;
359
+ Ext.each(pairs, function(pair) {
360
+ pair = pair.split('=');
361
+ name = d(pair[0]);
362
+ value = d(pair[1]);
363
+ obj[name] = overwrite || !obj[name] ? value :
364
+ [].concat(obj[name]).concat(value);
365
+ });
366
+ return obj;
367
+ },
368
+
369
+ /**
370
+ * Appends content to the query string of a URL, handling logic for whether to place
371
+ * a question mark or ampersand.
372
+ * @param {String} url The URL to append to.
373
+ * @param {String} s The content to append to the URL.
374
+ * @return (String) The resulting URL
375
+ */
376
+ urlAppend : function(url, s){
377
+ if(!Ext.isEmpty(s)){
378
+ return url + (url.indexOf('?') === -1 ? '?' : '&') + s;
379
+ }
380
+ return url;
381
+ },
382
+
383
+ /**
384
+ * Converts any iterable (numeric indices and a length property) into a true array
385
+ * Don't use this on strings. IE doesn't support "abc"[0] which this implementation depends on.
386
+ * For strings, use this instead: "abc".match(/./g) => [a,b,c];
387
+ * @param {Iterable} the iterable object to be turned into a true Array.
388
+ * @return (Array) array
389
+ */
390
+ toArray : function(){
391
+ return isIE ?
392
+ function(a, i, j, res){
393
+ res = [];
394
+ for(var x = 0, len = a.length; x < len; x++) {
395
+ res.push(a[x]);
396
+ }
397
+ return res.slice(i || 0, j || res.length);
398
+ } :
399
+ function(a, i, j){
400
+ return Array.prototype.slice.call(a, i || 0, j || a.length);
401
+ }
402
+ }(),
403
+
404
+ isIterable : function(v){
405
+ //check for array or arguments
406
+ if(Ext.isArray(v) || v.callee){
407
+ return true;
408
+ }
409
+ //check for node list type
410
+ if(/NodeList|HTMLCollection/.test(toString.call(v))){
411
+ return true;
412
+ }
413
+ //NodeList has an item and length property
414
+ //IXMLDOMNodeList has nextNode method, needs to be checked first.
415
+ return ((typeof v.nextNode != 'undefined' || v.item) && Ext.isNumber(v.length));
416
+ },
417
+
418
+ /**
419
+ * Iterates an array calling the supplied function.
420
+ * @param {Array/NodeList/Mixed} array The array to be iterated. If this
421
+ * argument is not really an array, the supplied function is called once.
422
+ * @param {Function} fn The function to be called with each item. If the
423
+ * supplied function returns false, iteration stops and this method returns
424
+ * the current <code>index</code>. This function is called with
425
+ * the following arguments:
426
+ * <div class="mdetail-params"><ul>
427
+ * <li><code>item</code> : <i>Mixed</i>
428
+ * <div class="sub-desc">The item at the current <code>index</code>
429
+ * in the passed <code>array</code></div></li>
430
+ * <li><code>index</code> : <i>Number</i>
431
+ * <div class="sub-desc">The current index within the array</div></li>
432
+ * <li><code>allItems</code> : <i>Array</i>
433
+ * <div class="sub-desc">The <code>array</code> passed as the first
434
+ * argument to <code>Ext.each</code>.</div></li>
435
+ * </ul></div>
436
+ * @param {Object} scope The scope (<code>this</code> reference) in which the specified function is executed.
437
+ * Defaults to the <code>item</code> at the current <code>index</code>
438
+ * within the passed <code>array</code>.
439
+ * @return See description for the fn parameter.
440
+ */
441
+ each : function(array, fn, scope){
442
+ if(Ext.isEmpty(array, true)){
443
+ return;
444
+ }
445
+ if(!Ext.isIterable(array) || Ext.isPrimitive(array)){
446
+ array = [array];
447
+ }
448
+ for(var i = 0, len = array.length; i < len; i++){
449
+ if(fn.call(scope || array[i], array[i], i, array) === false){
450
+ return i;
451
+ };
452
+ }
453
+ },
454
+
455
+ /**
456
+ * Iterates either the elements in an array, or each of the properties in an object.
457
+ * <b>Note</b>: If you are only iterating arrays, it is better to call {@link #each}.
458
+ * @param {Object/Array} object The object or array to be iterated
459
+ * @param {Function} fn The function to be called for each iteration.
460
+ * The iteration will stop if the supplied function returns false, or
461
+ * all array elements / object properties have been covered. The signature
462
+ * varies depending on the type of object being interated:
463
+ * <div class="mdetail-params"><ul>
464
+ * <li>Arrays : <tt>(Object item, Number index, Array allItems)</tt>
465
+ * <div class="sub-desc">
466
+ * When iterating an array, the supplied function is called with each item.</div></li>
467
+ * <li>Objects : <tt>(String key, Object value, Object)</tt>
468
+ * <div class="sub-desc">
469
+ * When iterating an object, the supplied function is called with each key-value pair in
470
+ * the object, and the iterated object</div></li>
471
+ * </ul></div>
472
+ * @param {Object} scope The scope (<code>this</code> reference) in which the specified function is executed. Defaults to
473
+ * the <code>object</code> being iterated.
474
+ */
475
+ iterate : function(obj, fn, scope){
476
+ if(Ext.isEmpty(obj)){
477
+ return;
478
+ }
479
+ if(Ext.isIterable(obj)){
480
+ Ext.each(obj, fn, scope);
481
+ return;
482
+ }else if(typeof obj == 'object'){
483
+ for(var prop in obj){
484
+ if(obj.hasOwnProperty(prop)){
485
+ if(fn.call(scope || obj, prop, obj[prop], obj) === false){
486
+ return;
487
+ };
488
+ }
489
+ }
490
+ }
491
+ },
492
+
493
+ /**
494
+ * Return the dom node for the passed String (id), dom node, or Ext.Element.
495
+ * Optional 'strict' flag is needed for IE since it can return 'name' and
496
+ * 'id' elements by using getElementById.
497
+ * Here are some examples:
498
+ * <pre><code>
499
+ // gets dom node based on id
500
+ var elDom = Ext.getDom('elId');
501
+ // gets dom node based on the dom node
502
+ var elDom1 = Ext.getDom(elDom);
503
+
504
+ // If we don&#39;t know if we are working with an
505
+ // Ext.Element or a dom node use Ext.getDom
506
+ function(el){
507
+ var dom = Ext.getDom(el);
508
+ // do something with the dom node
509
+ }
510
+ * </code></pre>
511
+ * <b>Note</b>: the dom node to be found actually needs to exist (be rendered, etc)
512
+ * when this method is called to be successful.
513
+ * @param {Mixed} el
514
+ * @return HTMLElement
515
+ */
516
+ getDom : function(el, strict){
517
+ if(!el || !DOC){
518
+ return null;
519
+ }
520
+ if (el.dom){
521
+ return el.dom;
522
+ } else {
523
+ if (typeof el == 'string') {
524
+ var e = DOC.getElementById(el);
525
+ // IE returns elements with the 'name' and 'id' attribute.
526
+ // we do a strict check to return the element with only the id attribute
527
+ if (e && isIE && strict) {
528
+ if (el == e.getAttribute('id')) {
529
+ return e;
530
+ } else {
531
+ return null;
532
+ }
533
+ }
534
+ return e;
535
+ } else {
536
+ return el;
537
+ }
538
+ }
539
+ },
540
+
541
+ /**
542
+ * Returns the current document body as an {@link Ext.Element}.
543
+ * @return Ext.Element The document body
544
+ */
545
+ getBody : function(){
546
+ return Ext.get(DOC.body || DOC.documentElement);
547
+ },
548
+
549
+ /**
550
+ * Removes a DOM node from the document.
551
+ */
552
+ /**
553
+ * <p>Removes this element from the document, removes all DOM event listeners, and deletes the cache reference.
554
+ * All DOM event listeners are removed from this element. If {@link Ext#enableNestedListenerRemoval} is
555
+ * <code>true</code>, then DOM event listeners are also removed from all child nodes. The body node
556
+ * will be ignored if passed in.</p>
557
+ * @param {HTMLElement} node The node to remove
558
+ */
559
+ removeNode : isIE && !isIE8 ? function(){
560
+ var d;
561
+ return function(n){
562
+ if(n && n.tagName != 'BODY'){
563
+ (Ext.enableNestedListenerRemoval) ? Ext.EventManager.purgeElement(n, true) : Ext.EventManager.removeAll(n);
564
+ d = d || DOC.createElement('div');
565
+ d.appendChild(n);
566
+ d.innerHTML = '';
567
+ delete Ext.elCache[n.id];
568
+ }
569
+ }
570
+ }() : function(n){
571
+ if(n && n.parentNode && n.tagName != 'BODY'){
572
+ (Ext.enableNestedListenerRemoval) ? Ext.EventManager.purgeElement(n, true) : Ext.EventManager.removeAll(n);
573
+ n.parentNode.removeChild(n);
574
+ delete Ext.elCache[n.id];
575
+ }
576
+ },
577
+
578
+ /**
579
+ * <p>Returns true if the passed value is empty.</p>
580
+ * <p>The value is deemed to be empty if it is<div class="mdetail-params"><ul>
581
+ * <li>null</li>
582
+ * <li>undefined</li>
583
+ * <li>an empty array</li>
584
+ * <li>a zero length string (Unless the <tt>allowBlank</tt> parameter is <tt>true</tt>)</li>
585
+ * </ul></div>
586
+ * @param {Mixed} value The value to test
587
+ * @param {Boolean} allowBlank (optional) true to allow empty strings (defaults to false)
588
+ * @return {Boolean}
589
+ */
590
+ isEmpty : function(v, allowBlank){
591
+ return v === null || v === undefined || ((Ext.isArray(v) && !v.length)) || (!allowBlank ? v === '' : false);
592
+ },
593
+
594
+ /**
595
+ * Returns true if the passed value is a JavaScript array, otherwise false.
596
+ * @param {Mixed} value The value to test
597
+ * @return {Boolean}
598
+ */
599
+ isArray : function(v){
600
+ return toString.apply(v) === '[object Array]';
601
+ },
602
+
603
+ /**
604
+ * Returns true if the passed object is a JavaScript date object, otherwise false.
605
+ * @param {Object} object The object to test
606
+ * @return {Boolean}
607
+ */
608
+ isDate : function(v){
609
+ return toString.apply(v) === '[object Date]';
610
+ },
611
+
612
+ /**
613
+ * Returns true if the passed value is a JavaScript Object, otherwise false.
614
+ * @param {Mixed} value The value to test
615
+ * @return {Boolean}
616
+ */
617
+ isObject : function(v){
618
+ return !!v && Object.prototype.toString.call(v) === '[object Object]';
619
+ },
620
+
621
+ /**
622
+ * Returns true if the passed value is a JavaScript 'primitive', a string, number or boolean.
623
+ * @param {Mixed} value The value to test
624
+ * @return {Boolean}
625
+ */
626
+ isPrimitive : function(v){
627
+ return Ext.isString(v) || Ext.isNumber(v) || Ext.isBoolean(v);
628
+ },
629
+
630
+ /**
631
+ * Returns true if the passed value is a JavaScript Function, otherwise false.
632
+ * @param {Mixed} value The value to test
633
+ * @return {Boolean}
634
+ */
635
+ isFunction : function(v){
636
+ return toString.apply(v) === '[object Function]';
637
+ },
638
+
639
+ /**
640
+ * Returns true if the passed value is a number. Returns false for non-finite numbers.
641
+ * @param {Mixed} value The value to test
642
+ * @return {Boolean}
643
+ */
644
+ isNumber : function(v){
645
+ return typeof v === 'number' && isFinite(v);
646
+ },
647
+
648
+ /**
649
+ * Returns true if the passed value is a string.
650
+ * @param {Mixed} value The value to test
651
+ * @return {Boolean}
652
+ */
653
+ isString : function(v){
654
+ return typeof v === 'string';
655
+ },
656
+
657
+ /**
658
+ * Returns true if the passed value is a boolean.
659
+ * @param {Mixed} value The value to test
660
+ * @return {Boolean}
661
+ */
662
+ isBoolean : function(v){
663
+ return typeof v === 'boolean';
664
+ },
665
+
666
+ /**
667
+ * Returns true if the passed value is an HTMLElement
668
+ * @param {Mixed} value The value to test
669
+ * @return {Boolean}
670
+ */
671
+ isElement : function(v) {
672
+ return v ? !!v.tagName : false;
673
+ },
674
+
675
+ /**
676
+ * Returns true if the passed value is not undefined.
677
+ * @param {Mixed} value The value to test
678
+ * @return {Boolean}
679
+ */
680
+ isDefined : function(v){
681
+ return typeof v !== 'undefined';
682
+ },
683
+
684
+ /**
685
+ * True if the detected browser is Opera.
686
+ * @type Boolean
687
+ */
688
+ isOpera : isOpera,
689
+ /**
690
+ * True if the detected browser uses WebKit.
691
+ * @type Boolean
692
+ */
693
+ isWebKit : isWebKit,
694
+ /**
695
+ * True if the detected browser is Chrome.
696
+ * @type Boolean
697
+ */
698
+ isChrome : isChrome,
699
+ /**
700
+ * True if the detected browser is Safari.
701
+ * @type Boolean
702
+ */
703
+ isSafari : isSafari,
704
+ /**
705
+ * True if the detected browser is Safari 3.x.
706
+ * @type Boolean
707
+ */
708
+ isSafari3 : isSafari3,
709
+ /**
710
+ * True if the detected browser is Safari 4.x.
711
+ * @type Boolean
712
+ */
713
+ isSafari4 : isSafari4,
714
+ /**
715
+ * True if the detected browser is Safari 2.x.
716
+ * @type Boolean
717
+ */
718
+ isSafari2 : isSafari2,
719
+ /**
720
+ * True if the detected browser is Internet Explorer.
721
+ * @type Boolean
722
+ */
723
+ isIE : isIE,
724
+ /**
725
+ * True if the detected browser is Internet Explorer 6.x.
726
+ * @type Boolean
727
+ */
728
+ isIE6 : isIE6,
729
+ /**
730
+ * True if the detected browser is Internet Explorer 7.x.
731
+ * @type Boolean
732
+ */
733
+ isIE7 : isIE7,
734
+ /**
735
+ * True if the detected browser is Internet Explorer 8.x.
736
+ * @type Boolean
737
+ */
738
+ isIE8 : isIE8,
739
+ /**
740
+ * True if the detected browser uses the Gecko layout engine (e.g. Mozilla, Firefox).
741
+ * @type Boolean
742
+ */
743
+ isGecko : isGecko,
744
+ /**
745
+ * True if the detected browser uses a pre-Gecko 1.9 layout engine (e.g. Firefox 2.x).
746
+ * @type Boolean
747
+ */
748
+ isGecko2 : isGecko2,
749
+ /**
750
+ * True if the detected browser uses a Gecko 1.9+ layout engine (e.g. Firefox 3.x).
751
+ * @type Boolean
752
+ */
753
+ isGecko3 : isGecko3,
754
+ /**
755
+ * True if the detected browser is Internet Explorer running in non-strict mode.
756
+ * @type Boolean
757
+ */
758
+ isBorderBox : isBorderBox,
759
+ /**
760
+ * True if the detected platform is Linux.
761
+ * @type Boolean
762
+ */
763
+ isLinux : isLinux,
764
+ /**
765
+ * True if the detected platform is Windows.
766
+ * @type Boolean
767
+ */
768
+ isWindows : isWindows,
769
+ /**
770
+ * True if the detected platform is Mac OS.
771
+ * @type Boolean
772
+ */
773
+ isMac : isMac,
774
+ /**
775
+ * True if the detected platform is Adobe Air.
776
+ * @type Boolean
777
+ */
778
+ isAir : isAir
779
+ });
780
+
781
+ /**
782
+ * Creates namespaces to be used for scoping variables and classes so that they are not global.
783
+ * Specifying the last node of a namespace implicitly creates all other nodes. Usage:
784
+ * <pre><code>
785
+ Ext.namespace('Company', 'Company.data');
786
+ Ext.namespace('Company.data'); // equivalent and preferable to above syntax
787
+ Company.Widget = function() { ... }
788
+ Company.data.CustomStore = function(config) { ... }
789
+ </code></pre>
790
+ * @param {String} namespace1
791
+ * @param {String} namespace2
792
+ * @param {String} etc
793
+ * @return {Object} The namespace object. (If multiple arguments are passed, this will be the last namespace created)
794
+ * @method ns
795
+ */
796
+ Ext.ns = Ext.namespace;
797
+ })();
798
+
799
+ Ext.ns("Ext.util", "Ext.lib", "Ext.data");
800
+
801
+ Ext.elCache = {};
802
+
803
+ /**
804
+ * @class Function
805
+ * These functions are available on every Function object (any JavaScript function).
806
+ */
807
+ Ext.apply(Function.prototype, {
808
+ /**
809
+ * Creates an interceptor function. The passed function is called before the original one. If it returns false,
810
+ * the original one is not called. The resulting function returns the results of the original function.
811
+ * The passed function is called with the parameters of the original function. Example usage:
812
+ * <pre><code>
813
+ var sayHi = function(name){
814
+ alert('Hi, ' + name);
815
+ }
816
+
817
+ sayHi('Fred'); // alerts "Hi, Fred"
818
+
819
+ // create a new function that validates input without
820
+ // directly modifying the original function:
821
+ var sayHiToFriend = sayHi.createInterceptor(function(name){
822
+ return name == 'Brian';
823
+ });
824
+
825
+ sayHiToFriend('Fred'); // no alert
826
+ sayHiToFriend('Brian'); // alerts "Hi, Brian"
827
+ </code></pre>
828
+ * @param {Function} fcn The function to call before the original
829
+ * @param {Object} scope (optional) The scope (<code><b>this</b></code> reference) in which the passed function is executed.
830
+ * <b>If omitted, defaults to the scope in which the original function is called or the browser window.</b>
831
+ * @return {Function} The new function
832
+ */
833
+ createInterceptor : function(fcn, scope){
834
+ var method = this;
835
+ return !Ext.isFunction(fcn) ?
836
+ this :
837
+ function() {
838
+ var me = this,
839
+ args = arguments;
840
+ fcn.target = me;
841
+ fcn.method = method;
842
+ return (fcn.apply(scope || me || window, args) !== false) ?
843
+ method.apply(me || window, args) :
844
+ null;
845
+ };
846
+ },
847
+
848
+ /**
849
+ * Creates a callback that passes arguments[0], arguments[1], arguments[2], ...
850
+ * Call directly on any function. Example: <code>myFunction.createCallback(arg1, arg2)</code>
851
+ * Will create a function that is bound to those 2 args. <b>If a specific scope is required in the
852
+ * callback, use {@link #createDelegate} instead.</b> The function returned by createCallback always
853
+ * executes in the window scope.
854
+ * <p>This method is required when you want to pass arguments to a callback function. If no arguments
855
+ * are needed, you can simply pass a reference to the function as a callback (e.g., callback: myFn).
856
+ * However, if you tried to pass a function with arguments (e.g., callback: myFn(arg1, arg2)) the function
857
+ * would simply execute immediately when the code is parsed. Example usage:
858
+ * <pre><code>
859
+ var sayHi = function(name){
860
+ alert('Hi, ' + name);
861
+ }
862
+
863
+ // clicking the button alerts "Hi, Fred"
864
+ new Ext.Button({
865
+ text: 'Say Hi',
866
+ renderTo: Ext.getBody(),
867
+ handler: sayHi.createCallback('Fred')
868
+ });
869
+ </code></pre>
870
+ * @return {Function} The new function
871
+ */
872
+ createCallback : function(/*args...*/){
873
+ // make args available, in function below
874
+ var args = arguments,
875
+ method = this;
876
+ return function() {
877
+ return method.apply(window, args);
878
+ };
879
+ },
880
+
881
+ /**
882
+ * Creates a delegate (callback) that sets the scope to obj.
883
+ * Call directly on any function. Example: <code>this.myFunction.createDelegate(this, [arg1, arg2])</code>
884
+ * Will create a function that is automatically scoped to obj so that the <tt>this</tt> variable inside the
885
+ * callback points to obj. Example usage:
886
+ * <pre><code>
887
+ var sayHi = function(name){
888
+ // Note this use of "this.text" here. This function expects to
889
+ // execute within a scope that contains a text property. In this
890
+ // example, the "this" variable is pointing to the btn object that
891
+ // was passed in createDelegate below.
892
+ alert('Hi, ' + name + '. You clicked the "' + this.text + '" button.');
893
+ }
894
+
895
+ var btn = new Ext.Button({
896
+ text: 'Say Hi',
897
+ renderTo: Ext.getBody()
898
+ });
899
+
900
+ // This callback will execute in the scope of the
901
+ // button instance. Clicking the button alerts
902
+ // "Hi, Fred. You clicked the "Say Hi" button."
903
+ btn.on('click', sayHi.createDelegate(btn, ['Fred']));
904
+ </code></pre>
905
+ * @param {Object} scope (optional) The scope (<code><b>this</b></code> reference) in which the function is executed.
906
+ * <b>If omitted, defaults to the browser window.</b>
907
+ * @param {Array} args (optional) Overrides arguments for the call. (Defaults to the arguments passed by the caller)
908
+ * @param {Boolean/Number} appendArgs (optional) if True args are appended to call args instead of overriding,
909
+ * if a number the args are inserted at the specified position
910
+ * @return {Function} The new function
911
+ */
912
+ createDelegate : function(obj, args, appendArgs){
913
+ var method = this;
914
+ return function() {
915
+ var callArgs = args || arguments;
916
+ if (appendArgs === true){
917
+ callArgs = Array.prototype.slice.call(arguments, 0);
918
+ callArgs = callArgs.concat(args);
919
+ }else if (Ext.isNumber(appendArgs)){
920
+ callArgs = Array.prototype.slice.call(arguments, 0); // copy arguments first
921
+ var applyArgs = [appendArgs, 0].concat(args); // create method call params
922
+ Array.prototype.splice.apply(callArgs, applyArgs); // splice them in
923
+ }
924
+ return method.apply(obj || window, callArgs);
925
+ };
926
+ },
927
+
928
+ /**
929
+ * Calls this function after the number of millseconds specified, optionally in a specific scope. Example usage:
930
+ * <pre><code>
931
+ var sayHi = function(name){
932
+ alert('Hi, ' + name);
933
+ }
934
+
935
+ // executes immediately:
936
+ sayHi('Fred');
937
+
938
+ // executes after 2 seconds:
939
+ sayHi.defer(2000, this, ['Fred']);
940
+
941
+ // this syntax is sometimes useful for deferring
942
+ // execution of an anonymous function:
943
+ (function(){
944
+ alert('Anonymous');
945
+ }).defer(100);
946
+ </code></pre>
947
+ * @param {Number} millis The number of milliseconds for the setTimeout call (if less than or equal to 0 the function is executed immediately)
948
+ * @param {Object} scope (optional) The scope (<code><b>this</b></code> reference) in which the function is executed.
949
+ * <b>If omitted, defaults to the browser window.</b>
950
+ * @param {Array} args (optional) Overrides arguments for the call. (Defaults to the arguments passed by the caller)
951
+ * @param {Boolean/Number} appendArgs (optional) if True args are appended to call args instead of overriding,
952
+ * if a number the args are inserted at the specified position
953
+ * @return {Number} The timeout id that can be used with clearTimeout
954
+ */
955
+ defer : function(millis, obj, args, appendArgs){
956
+ var fn = this.createDelegate(obj, args, appendArgs);
957
+ if(millis > 0){
958
+ return setTimeout(fn, millis);
959
+ }
960
+ fn();
961
+ return 0;
962
+ }
963
+ });
964
+
965
+ /**
966
+ * @class String
967
+ * These functions are available on every String object.
968
+ */
969
+ Ext.applyIf(String, {
970
+ /**
971
+ * Allows you to define a tokenized string and pass an arbitrary number of arguments to replace the tokens. Each
972
+ * token must be unique, and must increment in the format {0}, {1}, etc. Example usage:
973
+ * <pre><code>
974
+ var cls = 'my-class', text = 'Some text';
975
+ var s = String.format('&lt;div class="{0}">{1}&lt;/div>', cls, text);
976
+ // s now contains the string: '&lt;div class="my-class">Some text&lt;/div>'
977
+ * </code></pre>
978
+ * @param {String} string The tokenized string to be formatted
979
+ * @param {String} value1 The value to replace token {0}
980
+ * @param {String} value2 Etc...
981
+ * @return {String} The formatted string
982
+ * @static
983
+ */
984
+ format : function(format){
985
+ var args = Ext.toArray(arguments, 1);
986
+ return format.replace(/\{(\d+)\}/g, function(m, i){
987
+ return args[i];
988
+ });
989
+ }
990
+ });
991
+
992
+ /**
993
+ * @class Array
994
+ */
995
+ Ext.applyIf(Array.prototype, {
996
+ /**
997
+ * Checks whether or not the specified object exists in the array.
998
+ * @param {Object} o The object to check for
999
+ * @param {Number} from (Optional) The index at which to begin the search
1000
+ * @return {Number} The index of o in the array (or -1 if it is not found)
1001
+ */
1002
+ indexOf : function(o, from){
1003
+ var len = this.length;
1004
+ from = from || 0;
1005
+ from += (from < 0) ? len : 0;
1006
+ for (; from < len; ++from){
1007
+ if(this[from] === o){
1008
+ return from;
1009
+ }
1010
+ }
1011
+ return -1;
1012
+ },
1013
+
1014
+ /**
1015
+ * Removes the specified object from the array. If the object is not found nothing happens.
1016
+ * @param {Object} o The object to remove
1017
+ * @return {Array} this array
1018
+ */
1019
+ remove : function(o){
1020
+ var index = this.indexOf(o);
1021
+ if(index != -1){
1022
+ this.splice(index, 1);
1023
+ }
1024
+ return this;
1025
+ }
1026
+ });
1027
+ /**
1028
+ * @class Ext
1029
+ */
1030
+
1031
+ Ext.ns("Ext.grid", "Ext.list", "Ext.dd", "Ext.tree", "Ext.form", "Ext.menu",
1032
+ "Ext.state", "Ext.layout", "Ext.app", "Ext.ux", "Ext.chart", "Ext.direct");
1033
+ /**
1034
+ * Namespace alloted for extensions to the framework.
1035
+ * @property ux
1036
+ * @type Object
1037
+ */
1038
+
1039
+ Ext.apply(Ext, function(){
1040
+ var E = Ext,
1041
+ idSeed = 0,
1042
+ scrollWidth = null;
1043
+
1044
+ return {
1045
+ /**
1046
+ * A reusable empty function
1047
+ * @property
1048
+ * @type Function
1049
+ */
1050
+ emptyFn : function(){},
1051
+
1052
+ /**
1053
+ * URL to a 1x1 transparent gif image used by Ext to create inline icons with CSS background images.
1054
+ * In older versions of IE, this defaults to "http://extjs.com/s.gif" and you should change this to a URL on your server.
1055
+ * For other browsers it uses an inline data URL.
1056
+ * @type String
1057
+ */
1058
+ BLANK_IMAGE_URL : Ext.isIE6 || Ext.isIE7 || Ext.isAir ?
1059
+ 'http:/' + '/www.extjs.com/s.gif' :
1060
+ 'data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==',
1061
+
1062
+ extendX : function(supr, fn){
1063
+ return Ext.extend(supr, fn(supr.prototype));
1064
+ },
1065
+
1066
+ /**
1067
+ * Returns the current HTML document object as an {@link Ext.Element}.
1068
+ * @return Ext.Element The document
1069
+ */
1070
+ getDoc : function(){
1071
+ return Ext.get(document);
1072
+ },
1073
+
1074
+ /**
1075
+ * Utility method for validating that a value is numeric, returning the specified default value if it is not.
1076
+ * @param {Mixed} value Should be a number, but any type will be handled appropriately
1077
+ * @param {Number} defaultValue The value to return if the original value is non-numeric
1078
+ * @return {Number} Value, if numeric, else defaultValue
1079
+ */
1080
+ num : function(v, defaultValue){
1081
+ v = Number(Ext.isEmpty(v) || Ext.isArray(v) || typeof v == 'boolean' || (typeof v == 'string' && v.trim().length == 0) ? NaN : v);
1082
+ return isNaN(v) ? defaultValue : v;
1083
+ },
1084
+
1085
+ /**
1086
+ * <p>Utility method for returning a default value if the passed value is empty.</p>
1087
+ * <p>The value is deemed to be empty if it is<div class="mdetail-params"><ul>
1088
+ * <li>null</li>
1089
+ * <li>undefined</li>
1090
+ * <li>an empty array</li>
1091
+ * <li>a zero length string (Unless the <tt>allowBlank</tt> parameter is <tt>true</tt>)</li>
1092
+ * </ul></div>
1093
+ * @param {Mixed} value The value to test
1094
+ * @param {Mixed} defaultValue The value to return if the original value is empty
1095
+ * @param {Boolean} allowBlank (optional) true to allow zero length strings to qualify as non-empty (defaults to false)
1096
+ * @return {Mixed} value, if non-empty, else defaultValue
1097
+ */
1098
+ value : function(v, defaultValue, allowBlank){
1099
+ return Ext.isEmpty(v, allowBlank) ? defaultValue : v;
1100
+ },
1101
+
1102
+ /**
1103
+ * Escapes the passed string for use in a regular expression
1104
+ * @param {String} str
1105
+ * @return {String}
1106
+ */
1107
+ escapeRe : function(s) {
1108
+ return s.replace(/([-.*+?^${}()|[\]\/\\])/g, "\\$1");
1109
+ },
1110
+
1111
+ sequence : function(o, name, fn, scope){
1112
+ o[name] = o[name].createSequence(fn, scope);
1113
+ },
1114
+
1115
+ /**
1116
+ * Applies event listeners to elements by selectors when the document is ready.
1117
+ * The event name is specified with an <tt>&#64;</tt> suffix.
1118
+ * <pre><code>
1119
+ Ext.addBehaviors({
1120
+ // add a listener for click on all anchors in element with id foo
1121
+ '#foo a&#64;click' : function(e, t){
1122
+ // do something
1123
+ },
1124
+
1125
+ // add the same listener to multiple selectors (separated by comma BEFORE the &#64;)
1126
+ '#foo a, #bar span.some-class&#64;mouseover' : function(){
1127
+ // do something
1128
+ }
1129
+ });
1130
+ * </code></pre>
1131
+ * @param {Object} obj The list of behaviors to apply
1132
+ */
1133
+ addBehaviors : function(o){
1134
+ if(!Ext.isReady){
1135
+ Ext.onReady(function(){
1136
+ Ext.addBehaviors(o);
1137
+ });
1138
+ } else {
1139
+ var cache = {}, // simple cache for applying multiple behaviors to same selector does query multiple times
1140
+ parts,
1141
+ b,
1142
+ s;
1143
+ for (b in o) {
1144
+ if ((parts = b.split('@'))[1]) { // for Object prototype breakers
1145
+ s = parts[0];
1146
+ if(!cache[s]){
1147
+ cache[s] = Ext.select(s);
1148
+ }
1149
+ cache[s].on(parts[1], o[b]);
1150
+ }
1151
+ }
1152
+ cache = null;
1153
+ }
1154
+ },
1155
+
1156
+ /**
1157
+ * Utility method for getting the width of the browser scrollbar. This can differ depending on
1158
+ * operating system settings, such as the theme or font size.
1159
+ * @param {Boolean} force (optional) true to force a recalculation of the value.
1160
+ * @return {Number} The width of the scrollbar.
1161
+ */
1162
+ getScrollBarWidth: function(force){
1163
+ if(!Ext.isReady){
1164
+ return 0;
1165
+ }
1166
+
1167
+ if(force === true || scrollWidth === null){
1168
+ // Append our div, do our calculation and then remove it
1169
+ var div = Ext.getBody().createChild('<div class="x-hide-offsets" style="width:100px;height:50px;overflow:hidden;"><div style="height:200px;"></div></div>'),
1170
+ child = div.child('div', true);
1171
+ var w1 = child.offsetWidth;
1172
+ div.setStyle('overflow', (Ext.isWebKit || Ext.isGecko) ? 'auto' : 'scroll');
1173
+ var w2 = child.offsetWidth;
1174
+ div.remove();
1175
+ // Need to add 2 to ensure we leave enough space
1176
+ scrollWidth = w1 - w2 + 2;
1177
+ }
1178
+ return scrollWidth;
1179
+ },
1180
+
1181
+
1182
+ // deprecated
1183
+ combine : function(){
1184
+ var as = arguments, l = as.length, r = [];
1185
+ for(var i = 0; i < l; i++){
1186
+ var a = as[i];
1187
+ if(Ext.isArray(a)){
1188
+ r = r.concat(a);
1189
+ }else if(a.length !== undefined && !a.substr){
1190
+ r = r.concat(Array.prototype.slice.call(a, 0));
1191
+ }else{
1192
+ r.push(a);
1193
+ }
1194
+ }
1195
+ return r;
1196
+ },
1197
+
1198
+ /**
1199
+ * Copies a set of named properties fom the source object to the destination object.
1200
+ * <p>example:<pre><code>
1201
+ ImageComponent = Ext.extend(Ext.BoxComponent, {
1202
+ initComponent: function() {
1203
+ this.autoEl = { tag: 'img' };
1204
+ MyComponent.superclass.initComponent.apply(this, arguments);
1205
+ this.initialBox = Ext.copyTo({}, this.initialConfig, 'x,y,width,height');
1206
+ }
1207
+ });
1208
+ * </code></pre>
1209
+ * @param {Object} dest The destination object.
1210
+ * @param {Object} source The source object.
1211
+ * @param {Array/String} names Either an Array of property names, or a comma-delimited list
1212
+ * of property names to copy.
1213
+ * @return {Object} The modified object.
1214
+ */
1215
+ copyTo : function(dest, source, names){
1216
+ if(typeof names == 'string'){
1217
+ names = names.split(/[,;\s]/);
1218
+ }
1219
+ Ext.each(names, function(name){
1220
+ if(source.hasOwnProperty(name)){
1221
+ dest[name] = source[name];
1222
+ }
1223
+ }, this);
1224
+ return dest;
1225
+ },
1226
+
1227
+ /**
1228
+ * Attempts to destroy any objects passed to it by removing all event listeners, removing them from the
1229
+ * DOM (if applicable) and calling their destroy functions (if available). This method is primarily
1230
+ * intended for arguments of type {@link Ext.Element} and {@link Ext.Component}, but any subclass of
1231
+ * {@link Ext.util.Observable} can be passed in. Any number of elements and/or components can be
1232
+ * passed into this function in a single call as separate arguments.
1233
+ * @param {Mixed} arg1 An {@link Ext.Element}, {@link Ext.Component}, or an Array of either of these to destroy
1234
+ * @param {Mixed} arg2 (optional)
1235
+ * @param {Mixed} etc... (optional)
1236
+ */
1237
+ destroy : function(){
1238
+ Ext.each(arguments, function(arg){
1239
+ if(arg){
1240
+ if(Ext.isArray(arg)){
1241
+ this.destroy.apply(this, arg);
1242
+ }else if(typeof arg.destroy == 'function'){
1243
+ arg.destroy();
1244
+ }else if(arg.dom){
1245
+ arg.remove();
1246
+ }
1247
+ }
1248
+ }, this);
1249
+ },
1250
+
1251
+ /**
1252
+ * Attempts to destroy and then remove a set of named properties of the passed object.
1253
+ * @param {Object} o The object (most likely a Component) who's properties you wish to destroy.
1254
+ * @param {Mixed} arg1 The name of the property to destroy and remove from the object.
1255
+ * @param {Mixed} etc... More property names to destroy and remove.
1256
+ */
1257
+ destroyMembers : function(o, arg1, arg2, etc){
1258
+ for(var i = 1, a = arguments, len = a.length; i < len; i++) {
1259
+ Ext.destroy(o[a[i]]);
1260
+ delete o[a[i]];
1261
+ }
1262
+ },
1263
+
1264
+ /**
1265
+ * Creates a copy of the passed Array with falsy values removed.
1266
+ * @param {Array/NodeList} arr The Array from which to remove falsy values.
1267
+ * @return {Array} The new, compressed Array.
1268
+ */
1269
+ clean : function(arr){
1270
+ var ret = [];
1271
+ Ext.each(arr, function(v){
1272
+ if(!!v){
1273
+ ret.push(v);
1274
+ }
1275
+ });
1276
+ return ret;
1277
+ },
1278
+
1279
+ /**
1280
+ * Creates a copy of the passed Array, filtered to contain only unique values.
1281
+ * @param {Array} arr The Array to filter
1282
+ * @return {Array} The new Array containing unique values.
1283
+ */
1284
+ unique : function(arr){
1285
+ var ret = [],
1286
+ collect = {};
1287
+
1288
+ Ext.each(arr, function(v) {
1289
+ if(!collect[v]){
1290
+ ret.push(v);
1291
+ }
1292
+ collect[v] = true;
1293
+ });
1294
+ return ret;
1295
+ },
1296
+
1297
+ /**
1298
+ * Recursively flattens into 1-d Array. Injects Arrays inline.
1299
+ * @param {Array} arr The array to flatten
1300
+ * @return {Array} The new, flattened array.
1301
+ */
1302
+ flatten : function(arr){
1303
+ var worker = [];
1304
+ function rFlatten(a) {
1305
+ Ext.each(a, function(v) {
1306
+ if(Ext.isArray(v)){
1307
+ rFlatten(v);
1308
+ }else{
1309
+ worker.push(v);
1310
+ }
1311
+ });
1312
+ return worker;
1313
+ }
1314
+ return rFlatten(arr);
1315
+ },
1316
+
1317
+ /**
1318
+ * Returns the minimum value in the Array.
1319
+ * @param {Array|NodeList} arr The Array from which to select the minimum value.
1320
+ * @param {Function} comp (optional) a function to perform the comparision which determines minimization.
1321
+ * If omitted the "<" operator will be used. Note: gt = 1; eq = 0; lt = -1
1322
+ * @return {Object} The minimum value in the Array.
1323
+ */
1324
+ min : function(arr, comp){
1325
+ var ret = arr[0];
1326
+ comp = comp || function(a,b){ return a < b ? -1 : 1; };
1327
+ Ext.each(arr, function(v) {
1328
+ ret = comp(ret, v) == -1 ? ret : v;
1329
+ });
1330
+ return ret;
1331
+ },
1332
+
1333
+ /**
1334
+ * Returns the maximum value in the Array
1335
+ * @param {Array|NodeList} arr The Array from which to select the maximum value.
1336
+ * @param {Function} comp (optional) a function to perform the comparision which determines maximization.
1337
+ * If omitted the ">" operator will be used. Note: gt = 1; eq = 0; lt = -1
1338
+ * @return {Object} The maximum value in the Array.
1339
+ */
1340
+ max : function(arr, comp){
1341
+ var ret = arr[0];
1342
+ comp = comp || function(a,b){ return a > b ? 1 : -1; };
1343
+ Ext.each(arr, function(v) {
1344
+ ret = comp(ret, v) == 1 ? ret : v;
1345
+ });
1346
+ return ret;
1347
+ },
1348
+
1349
+ /**
1350
+ * Calculates the mean of the Array
1351
+ * @param {Array} arr The Array to calculate the mean value of.
1352
+ * @return {Number} The mean.
1353
+ */
1354
+ mean : function(arr){
1355
+ return arr.length > 0 ? Ext.sum(arr) / arr.length : undefined;
1356
+ },
1357
+
1358
+ /**
1359
+ * Calculates the sum of the Array
1360
+ * @param {Array} arr The Array to calculate the sum value of.
1361
+ * @return {Number} The sum.
1362
+ */
1363
+ sum : function(arr){
1364
+ var ret = 0;
1365
+ Ext.each(arr, function(v) {
1366
+ ret += v;
1367
+ });
1368
+ return ret;
1369
+ },
1370
+
1371
+ /**
1372
+ * Partitions the set into two sets: a true set and a false set.
1373
+ * Example:
1374
+ * Example2:
1375
+ * <pre><code>
1376
+ // Example 1:
1377
+ Ext.partition([true, false, true, true, false]); // [[true, true, true], [false, false]]
1378
+
1379
+ // Example 2:
1380
+ Ext.partition(
1381
+ Ext.query("p"),
1382
+ function(val){
1383
+ return val.className == "class1"
1384
+ }
1385
+ );
1386
+ // true are those paragraph elements with a className of "class1",
1387
+ // false set are those that do not have that className.
1388
+ * </code></pre>
1389
+ * @param {Array|NodeList} arr The array to partition
1390
+ * @param {Function} truth (optional) a function to determine truth. If this is omitted the element
1391
+ * itself must be able to be evaluated for its truthfulness.
1392
+ * @return {Array} [true<Array>,false<Array>]
1393
+ */
1394
+ partition : function(arr, truth){
1395
+ var ret = [[],[]];
1396
+ Ext.each(arr, function(v, i, a) {
1397
+ ret[ (truth && truth(v, i, a)) || (!truth && v) ? 0 : 1].push(v);
1398
+ });
1399
+ return ret;
1400
+ },
1401
+
1402
+ /**
1403
+ * Invokes a method on each item in an Array.
1404
+ * <pre><code>
1405
+ // Example:
1406
+ Ext.invoke(Ext.query("p"), "getAttribute", "id");
1407
+ // [el1.getAttribute("id"), el2.getAttribute("id"), ..., elN.getAttribute("id")]
1408
+ * </code></pre>
1409
+ * @param {Array|NodeList} arr The Array of items to invoke the method on.
1410
+ * @param {String} methodName The method name to invoke.
1411
+ * @param {...*} args Arguments to send into the method invocation.
1412
+ * @return {Array} The results of invoking the method on each item in the array.
1413
+ */
1414
+ invoke : function(arr, methodName){
1415
+ var ret = [],
1416
+ args = Array.prototype.slice.call(arguments, 2);
1417
+ Ext.each(arr, function(v,i) {
1418
+ if (v && typeof v[methodName] == 'function') {
1419
+ ret.push(v[methodName].apply(v, args));
1420
+ } else {
1421
+ ret.push(undefined);
1422
+ }
1423
+ });
1424
+ return ret;
1425
+ },
1426
+
1427
+ /**
1428
+ * Plucks the value of a property from each item in the Array
1429
+ * <pre><code>
1430
+ // Example:
1431
+ Ext.pluck(Ext.query("p"), "className"); // [el1.className, el2.className, ..., elN.className]
1432
+ * </code></pre>
1433
+ * @param {Array|NodeList} arr The Array of items to pluck the value from.
1434
+ * @param {String} prop The property name to pluck from each element.
1435
+ * @return {Array} The value from each item in the Array.
1436
+ */
1437
+ pluck : function(arr, prop){
1438
+ var ret = [];
1439
+ Ext.each(arr, function(v) {
1440
+ ret.push( v[prop] );
1441
+ });
1442
+ return ret;
1443
+ },
1444
+
1445
+ /**
1446
+ * <p>Zips N sets together.</p>
1447
+ * <pre><code>
1448
+ // Example 1:
1449
+ Ext.zip([1,2,3],[4,5,6]); // [[1,4],[2,5],[3,6]]
1450
+ // Example 2:
1451
+ Ext.zip(
1452
+ [ "+", "-", "+"],
1453
+ [ 12, 10, 22],
1454
+ [ 43, 15, 96],
1455
+ function(a, b, c){
1456
+ return "$" + a + "" + b + "." + c
1457
+ }
1458
+ ); // ["$+12.43", "$-10.15", "$+22.96"]
1459
+ * </code></pre>
1460
+ * @param {Arrays|NodeLists} arr This argument may be repeated. Array(s) to contribute values.
1461
+ * @param {Function} zipper (optional) The last item in the argument list. This will drive how the items are zipped together.
1462
+ * @return {Array} The zipped set.
1463
+ */
1464
+ zip : function(){
1465
+ var parts = Ext.partition(arguments, function( val ){ return typeof val != 'function'; }),
1466
+ arrs = parts[0],
1467
+ fn = parts[1][0],
1468
+ len = Ext.max(Ext.pluck(arrs, "length")),
1469
+ ret = [];
1470
+
1471
+ for (var i = 0; i < len; i++) {
1472
+ ret[i] = [];
1473
+ if(fn){
1474
+ ret[i] = fn.apply(fn, Ext.pluck(arrs, i));
1475
+ }else{
1476
+ for (var j = 0, aLen = arrs.length; j < aLen; j++){
1477
+ ret[i].push( arrs[j][i] );
1478
+ }
1479
+ }
1480
+ }
1481
+ return ret;
1482
+ },
1483
+
1484
+ /**
1485
+ * This is shorthand reference to {@link Ext.ComponentMgr#get}.
1486
+ * Looks up an existing {@link Ext.Component Component} by {@link Ext.Component#id id}
1487
+ * @param {String} id The component {@link Ext.Component#id id}
1488
+ * @return Ext.Component The Component, <tt>undefined</tt> if not found, or <tt>null</tt> if a
1489
+ * Class was found.
1490
+ */
1491
+ getCmp : function(id){
1492
+ return Ext.ComponentMgr.get(id);
1493
+ },
1494
+
1495
+ /**
1496
+ * By default, Ext intelligently decides whether floating elements should be shimmed. If you are using flash,
1497
+ * you may want to set this to true.
1498
+ * @type Boolean
1499
+ */
1500
+ useShims: E.isIE6 || (E.isMac && E.isGecko2),
1501
+
1502
+ // inpired by a similar function in mootools library
1503
+ /**
1504
+ * Returns the type of object that is passed in. If the object passed in is null or undefined it
1505
+ * return false otherwise it returns one of the following values:<div class="mdetail-params"><ul>
1506
+ * <li><b>string</b>: If the object passed is a string</li>
1507
+ * <li><b>number</b>: If the object passed is a number</li>
1508
+ * <li><b>boolean</b>: If the object passed is a boolean value</li>
1509
+ * <li><b>date</b>: If the object passed is a Date object</li>
1510
+ * <li><b>function</b>: If the object passed is a function reference</li>
1511
+ * <li><b>object</b>: If the object passed is an object</li>
1512
+ * <li><b>array</b>: If the object passed is an array</li>
1513
+ * <li><b>regexp</b>: If the object passed is a regular expression</li>
1514
+ * <li><b>element</b>: If the object passed is a DOM Element</li>
1515
+ * <li><b>nodelist</b>: If the object passed is a DOM NodeList</li>
1516
+ * <li><b>textnode</b>: If the object passed is a DOM text node and contains something other than whitespace</li>
1517
+ * <li><b>whitespace</b>: If the object passed is a DOM text node and contains only whitespace</li>
1518
+ * </ul></div>
1519
+ * @param {Mixed} object
1520
+ * @return {String}
1521
+ */
1522
+ type : function(o){
1523
+ if(o === undefined || o === null){
1524
+ return false;
1525
+ }
1526
+ if(o.htmlElement){
1527
+ return 'element';
1528
+ }
1529
+ var t = typeof o;
1530
+ if(t == 'object' && o.nodeName) {
1531
+ switch(o.nodeType) {
1532
+ case 1: return 'element';
1533
+ case 3: return (/\S/).test(o.nodeValue) ? 'textnode' : 'whitespace';
1534
+ }
1535
+ }
1536
+ if(t == 'object' || t == 'function') {
1537
+ switch(o.constructor) {
1538
+ case Array: return 'array';
1539
+ case RegExp: return 'regexp';
1540
+ case Date: return 'date';
1541
+ }
1542
+ if(typeof o.length == 'number' && typeof o.item == 'function') {
1543
+ return 'nodelist';
1544
+ }
1545
+ }
1546
+ return t;
1547
+ },
1548
+
1549
+ intercept : function(o, name, fn, scope){
1550
+ o[name] = o[name].createInterceptor(fn, scope);
1551
+ },
1552
+
1553
+ // internal
1554
+ callback : function(cb, scope, args, delay){
1555
+ if(typeof cb == 'function'){
1556
+ if(delay){
1557
+ cb.defer(delay, scope, args || []);
1558
+ }else{
1559
+ cb.apply(scope, args || []);
1560
+ }
1561
+ }
1562
+ }
1563
+ };
1564
+ }());
1565
+
1566
+ /**
1567
+ * @class Function
1568
+ * These functions are available on every Function object (any JavaScript function).
1569
+ */
1570
+ Ext.apply(Function.prototype, {
1571
+ /**
1572
+ * Create a combined function call sequence of the original function + the passed function.
1573
+ * The resulting function returns the results of the original function.
1574
+ * The passed fcn is called with the parameters of the original function. Example usage:
1575
+ * <pre><code>
1576
+ var sayHi = function(name){
1577
+ alert('Hi, ' + name);
1578
+ }
1579
+
1580
+ sayHi('Fred'); // alerts "Hi, Fred"
1581
+
1582
+ var sayGoodbye = sayHi.createSequence(function(name){
1583
+ alert('Bye, ' + name);
1584
+ });
1585
+
1586
+ sayGoodbye('Fred'); // both alerts show
1587
+ </code></pre>
1588
+ * @param {Function} fcn The function to sequence
1589
+ * @param {Object} scope (optional) The scope (<code><b>this</b></code> reference) in which the passed function is executed.
1590
+ * <b>If omitted, defaults to the scope in which the original function is called or the browser window.</b>
1591
+ * @return {Function} The new function
1592
+ */
1593
+ createSequence : function(fcn, scope){
1594
+ var method = this;
1595
+ return (typeof fcn != 'function') ?
1596
+ this :
1597
+ function(){
1598
+ var retval = method.apply(this || window, arguments);
1599
+ fcn.apply(scope || this || window, arguments);
1600
+ return retval;
1601
+ };
1602
+ }
1603
+ });
1604
+
1605
+
1606
+ /**
1607
+ * @class String
1608
+ * These functions are available as static methods on the JavaScript String object.
1609
+ */
1610
+ Ext.applyIf(String, {
1611
+
1612
+ /**
1613
+ * Escapes the passed string for ' and \
1614
+ * @param {String} string The string to escape
1615
+ * @return {String} The escaped string
1616
+ * @static
1617
+ */
1618
+ escape : function(string) {
1619
+ return string.replace(/('|\\)/g, "\\$1");
1620
+ },
1621
+
1622
+ /**
1623
+ * Pads the left side of a string with a specified character. This is especially useful
1624
+ * for normalizing number and date strings. Example usage:
1625
+ * <pre><code>
1626
+ var s = String.leftPad('123', 5, '0');
1627
+ // s now contains the string: '00123'
1628
+ * </code></pre>
1629
+ * @param {String} string The original string
1630
+ * @param {Number} size The total length of the output string
1631
+ * @param {String} char (optional) The character with which to pad the original string (defaults to empty string " ")
1632
+ * @return {String} The padded string
1633
+ * @static
1634
+ */
1635
+ leftPad : function (val, size, ch) {
1636
+ var result = String(val);
1637
+ if(!ch) {
1638
+ ch = " ";
1639
+ }
1640
+ while (result.length < size) {
1641
+ result = ch + result;
1642
+ }
1643
+ return result;
1644
+ }
1645
+ });
1646
+
1647
+ /**
1648
+ * Utility function that allows you to easily switch a string between two alternating values. The passed value
1649
+ * is compared to the current string, and if they are equal, the other value that was passed in is returned. If
1650
+ * they are already different, the first value passed in is returned. Note that this method returns the new value
1651
+ * but does not change the current string.
1652
+ * <pre><code>
1653
+ // alternate sort directions
1654
+ sort = sort.toggle('ASC', 'DESC');
1655
+
1656
+ // instead of conditional logic:
1657
+ sort = (sort == 'ASC' ? 'DESC' : 'ASC');
1658
+ </code></pre>
1659
+ * @param {String} value The value to compare to the current string
1660
+ * @param {String} other The new value to use if the string already equals the first value passed in
1661
+ * @return {String} The new value
1662
+ */
1663
+ String.prototype.toggle = function(value, other){
1664
+ return this == value ? other : value;
1665
+ };
1666
+
1667
+ /**
1668
+ * Trims whitespace from either end of a string, leaving spaces within the string intact. Example:
1669
+ * <pre><code>
1670
+ var s = ' foo bar ';
1671
+ alert('-' + s + '-'); //alerts "- foo bar -"
1672
+ alert('-' + s.trim() + '-'); //alerts "-foo bar-"
1673
+ </code></pre>
1674
+ * @return {String} The trimmed string
1675
+ */
1676
+ String.prototype.trim = function(){
1677
+ var re = /^\s+|\s+$/g;
1678
+ return function(){ return this.replace(re, ""); };
1679
+ }();
1680
+
1681
+ // here to prevent dependency on Date.js
1682
+ /**
1683
+ Returns the number of milliseconds between this date and date
1684
+ @param {Date} date (optional) Defaults to now
1685
+ @return {Number} The diff in milliseconds
1686
+ @member Date getElapsed
1687
+ */
1688
+ Date.prototype.getElapsed = function(date) {
1689
+ return Math.abs((date || new Date()).getTime()-this.getTime());
1690
+ };
1691
+
1692
+
1693
+ /**
1694
+ * @class Number
1695
+ */
1696
+ Ext.applyIf(Number.prototype, {
1697
+ /**
1698
+ * Checks whether or not the current number is within a desired range. If the number is already within the
1699
+ * range it is returned, otherwise the min or max value is returned depending on which side of the range is
1700
+ * exceeded. Note that this method returns the constrained value but does not change the current number.
1701
+ * @param {Number} min The minimum number in the range
1702
+ * @param {Number} max The maximum number in the range
1703
+ * @return {Number} The constrained value if outside the range, otherwise the current value
1704
+ */
1705
+ constrain : function(min, max){
1706
+ return Math.min(Math.max(this, min), max);
1707
+ }
1708
+ });
1709
+ /**
1710
+ * @class Ext.util.TaskRunner
1711
+ * Provides the ability to execute one or more arbitrary tasks in a multithreaded
1712
+ * manner. Generally, you can use the singleton {@link Ext.TaskMgr} instead, but
1713
+ * if needed, you can create separate instances of TaskRunner. Any number of
1714
+ * separate tasks can be started at any time and will run independently of each
1715
+ * other. Example usage:
1716
+ * <pre><code>
1717
+ // Start a simple clock task that updates a div once per second
1718
+ var updateClock = function(){
1719
+ Ext.fly('clock').update(new Date().format('g:i:s A'));
1720
+ }
1721
+ var task = {
1722
+ run: updateClock,
1723
+ interval: 1000 //1 second
1724
+ }
1725
+ var runner = new Ext.util.TaskRunner();
1726
+ runner.start(task);
1727
+
1728
+ // equivalent using TaskMgr
1729
+ Ext.TaskMgr.start({
1730
+ run: updateClock,
1731
+ interval: 1000
1732
+ });
1733
+
1734
+ * </code></pre>
1735
+ * <p>See the {@link #start} method for details about how to configure a task object.</p>
1736
+ * Also see {@link Ext.util.DelayedTask}.
1737
+ *
1738
+ * @constructor
1739
+ * @param {Number} interval (optional) The minimum precision in milliseconds supported by this TaskRunner instance
1740
+ * (defaults to 10)
1741
+ */
1742
+ Ext.util.TaskRunner = function(interval){
1743
+ interval = interval || 10;
1744
+ var tasks = [],
1745
+ removeQueue = [],
1746
+ id = 0,
1747
+ running = false,
1748
+
1749
+ // private
1750
+ stopThread = function(){
1751
+ running = false;
1752
+ clearInterval(id);
1753
+ id = 0;
1754
+ },
1755
+
1756
+ // private
1757
+ startThread = function(){
1758
+ if(!running){
1759
+ running = true;
1760
+ id = setInterval(runTasks, interval);
1761
+ }
1762
+ },
1763
+
1764
+ // private
1765
+ removeTask = function(t){
1766
+ removeQueue.push(t);
1767
+ if(t.onStop){
1768
+ t.onStop.apply(t.scope || t);
1769
+ }
1770
+ },
1771
+
1772
+ // private
1773
+ runTasks = function(){
1774
+ var rqLen = removeQueue.length,
1775
+ now = new Date().getTime();
1776
+
1777
+ if(rqLen > 0){
1778
+ for(var i = 0; i < rqLen; i++){
1779
+ tasks.remove(removeQueue[i]);
1780
+ }
1781
+ removeQueue = [];
1782
+ if(tasks.length < 1){
1783
+ stopThread();
1784
+ return;
1785
+ }
1786
+ }
1787
+ for(var i = 0, t, itime, rt, len = tasks.length; i < len; ++i){
1788
+ t = tasks[i];
1789
+ itime = now - t.taskRunTime;
1790
+ if(t.interval <= itime){
1791
+ rt = t.run.apply(t.scope || t, t.args || [++t.taskRunCount]);
1792
+ t.taskRunTime = now;
1793
+ if(rt === false || t.taskRunCount === t.repeat){
1794
+ removeTask(t);
1795
+ return;
1796
+ }
1797
+ }
1798
+ if(t.duration && t.duration <= (now - t.taskStartTime)){
1799
+ removeTask(t);
1800
+ }
1801
+ }
1802
+ };
1803
+
1804
+ /**
1805
+ * Starts a new task.
1806
+ * @method start
1807
+ * @param {Object} task <p>A config object that supports the following properties:<ul>
1808
+ * <li><code>run</code> : Function<div class="sub-desc"><p>The function to execute each time the task is invoked. The
1809
+ * function will be called at each interval and passed the <code>args</code> argument if specified, and the
1810
+ * current invocation count if not.</p>
1811
+ * <p>If a particular scope (<code>this</code> reference) is required, be sure to specify it using the <code>scope</code> argument.</p>
1812
+ * <p>Return <code>false</code> from this function to terminate the task.</p></div></li>
1813
+ * <li><code>interval</code> : Number<div class="sub-desc">The frequency in milliseconds with which the task
1814
+ * should be invoked.</div></li>
1815
+ * <li><code>args</code> : Array<div class="sub-desc">(optional) An array of arguments to be passed to the function
1816
+ * specified by <code>run</code>. If not specified, the current invocation count is passed.</div></li>
1817
+ * <li><code>scope</code> : Object<div class="sub-desc">(optional) The scope (<tt>this</tt> reference) in which to execute the
1818
+ * <code>run</code> function. Defaults to the task config object.</div></li>
1819
+ * <li><code>duration</code> : Number<div class="sub-desc">(optional) The length of time in milliseconds to invoke
1820
+ * the task before stopping automatically (defaults to indefinite).</div></li>
1821
+ * <li><code>repeat</code> : Number<div class="sub-desc">(optional) The number of times to invoke the task before
1822
+ * stopping automatically (defaults to indefinite).</div></li>
1823
+ * </ul></p>
1824
+ * <p>Before each invocation, Ext injects the property <code>taskRunCount</code> into the task object so
1825
+ * that calculations based on the repeat count can be performed.</p>
1826
+ * @return {Object} The task
1827
+ */
1828
+ this.start = function(task){
1829
+ tasks.push(task);
1830
+ task.taskStartTime = new Date().getTime();
1831
+ task.taskRunTime = 0;
1832
+ task.taskRunCount = 0;
1833
+ startThread();
1834
+ return task;
1835
+ };
1836
+
1837
+ /**
1838
+ * Stops an existing running task.
1839
+ * @method stop
1840
+ * @param {Object} task The task to stop
1841
+ * @return {Object} The task
1842
+ */
1843
+ this.stop = function(task){
1844
+ removeTask(task);
1845
+ return task;
1846
+ };
1847
+
1848
+ /**
1849
+ * Stops all tasks that are currently running.
1850
+ * @method stopAll
1851
+ */
1852
+ this.stopAll = function(){
1853
+ stopThread();
1854
+ for(var i = 0, len = tasks.length; i < len; i++){
1855
+ if(tasks[i].onStop){
1856
+ tasks[i].onStop();
1857
+ }
1858
+ }
1859
+ tasks = [];
1860
+ removeQueue = [];
1861
+ };
1862
+ };
1863
+
1864
+ /**
1865
+ * @class Ext.TaskMgr
1866
+ * @extends Ext.util.TaskRunner
1867
+ * A static {@link Ext.util.TaskRunner} instance that can be used to start and stop arbitrary tasks. See
1868
+ * {@link Ext.util.TaskRunner} for supported methods and task config properties.
1869
+ * <pre><code>
1870
+ // Start a simple clock task that updates a div once per second
1871
+ var task = {
1872
+ run: function(){
1873
+ Ext.fly('clock').update(new Date().format('g:i:s A'));
1874
+ },
1875
+ interval: 1000 //1 second
1876
+ }
1877
+ Ext.TaskMgr.start(task);
1878
+ </code></pre>
1879
+ * <p>See the {@link #start} method for details about how to configure a task object.</p>
1880
+ * @singleton
1881
+ */
1882
+ Ext.TaskMgr = new Ext.util.TaskRunner();(function(){
1883
+
1884
+ var libFlyweight,
1885
+ version = Prototype.Version.split('.'),
1886
+ mouseEnterSupported = (parseInt(version[0]) >= 2) || (parseInt(version[1]) >= 7) || (parseInt(version[2]) >= 1),
1887
+ mouseCache = {},
1888
+ elContains = function(parent, child) {
1889
+ if(parent && parent.firstChild){
1890
+ while(child) {
1891
+ if(child === parent) {
1892
+ return true;
1893
+ }
1894
+ child = child.parentNode;
1895
+ if(child && (child.nodeType != 1)) {
1896
+ child = null;
1897
+ }
1898
+ }
1899
+ }
1900
+ return false;
1901
+ },
1902
+ checkRelatedTarget = function(e) {
1903
+ return !elContains(e.currentTarget, Ext.lib.Event.getRelatedTarget(e));
1904
+ };
1905
+
1906
+ Ext.lib.Dom = {
1907
+ getViewWidth : function(full){
1908
+ return full ? this.getDocumentWidth() : this.getViewportWidth();
1909
+ },
1910
+
1911
+ getViewHeight : function(full){
1912
+ return full ? this.getDocumentHeight() : this.getViewportHeight();
1913
+ },
1914
+
1915
+ getDocumentHeight: function() { // missing from prototype?
1916
+ var scrollHeight = (document.compatMode != "CSS1Compat") ? document.body.scrollHeight : document.documentElement.scrollHeight;
1917
+ return Math.max(scrollHeight, this.getViewportHeight());
1918
+ },
1919
+
1920
+ getDocumentWidth: function() { // missing from prototype?
1921
+ var scrollWidth = (document.compatMode != "CSS1Compat") ? document.body.scrollWidth : document.documentElement.scrollWidth;
1922
+ return Math.max(scrollWidth, this.getViewportWidth());
1923
+ },
1924
+
1925
+ getViewportHeight: function() { // missing from prototype?
1926
+ var height = self.innerHeight;
1927
+ var mode = document.compatMode;
1928
+
1929
+ if ( (mode || Ext.isIE) && !Ext.isOpera ) {
1930
+ height = (mode == "CSS1Compat") ?
1931
+ document.documentElement.clientHeight : // Standards
1932
+ document.body.clientHeight; // Quirks
1933
+ }
1934
+
1935
+ return height;
1936
+ },
1937
+
1938
+ getViewportWidth: function() { // missing from prototype?
1939
+ var width = self.innerWidth; // Safari
1940
+ var mode = document.compatMode;
1941
+
1942
+ if (mode || Ext.isIE) { // IE, Gecko, Opera
1943
+ width = (mode == "CSS1Compat") ?
1944
+ document.documentElement.clientWidth : // Standards
1945
+ document.body.clientWidth; // Quirks
1946
+ }
1947
+ return width;
1948
+ },
1949
+
1950
+ isAncestor : function(p, c){ // missing from prototype?
1951
+ var ret = false;
1952
+
1953
+ p = Ext.getDom(p);
1954
+ c = Ext.getDom(c);
1955
+ if (p && c) {
1956
+ if (p.contains) {
1957
+ return p.contains(c);
1958
+ } else if (p.compareDocumentPosition) {
1959
+ return !!(p.compareDocumentPosition(c) & 16);
1960
+ } else {
1961
+ while (c = c.parentNode) {
1962
+ ret = c == p || ret;
1963
+ }
1964
+ }
1965
+ }
1966
+ return ret;
1967
+ },
1968
+
1969
+ getRegion : function(el){
1970
+ return Ext.lib.Region.getRegion(el);
1971
+ },
1972
+
1973
+ getY : function(el){
1974
+ return this.getXY(el)[1];
1975
+ },
1976
+
1977
+ getX : function(el){
1978
+ return this.getXY(el)[0];
1979
+ },
1980
+
1981
+ getXY : function(el){ // this initially used Position.cumulativeOffset but it is not accurate enough
1982
+ var p, pe, b, scroll, bd = (document.body || document.documentElement);
1983
+ el = Ext.getDom(el);
1984
+
1985
+ if(el == bd){
1986
+ return [0, 0];
1987
+ }
1988
+
1989
+ if (el.getBoundingClientRect) {
1990
+ b = el.getBoundingClientRect();
1991
+ scroll = fly(document).getScroll();
1992
+ return [Math.round(b.left + scroll.left), Math.round(b.top + scroll.top)];
1993
+ }
1994
+ var x = 0, y = 0;
1995
+
1996
+ p = el;
1997
+
1998
+ var hasAbsolute = fly(el).getStyle("position") == "absolute";
1999
+
2000
+ while (p) {
2001
+
2002
+ x += p.offsetLeft;
2003
+ y += p.offsetTop;
2004
+
2005
+ if (!hasAbsolute && fly(p).getStyle("position") == "absolute") {
2006
+ hasAbsolute = true;
2007
+ }
2008
+
2009
+ if (Ext.isGecko) {
2010
+ pe = fly(p);
2011
+
2012
+ var bt = parseInt(pe.getStyle("borderTopWidth"), 10) || 0;
2013
+ var bl = parseInt(pe.getStyle("borderLeftWidth"), 10) || 0;
2014
+
2015
+
2016
+ x += bl;
2017
+ y += bt;
2018
+
2019
+
2020
+ if (p != el && pe.getStyle('overflow') != 'visible') {
2021
+ x += bl;
2022
+ y += bt;
2023
+ }
2024
+ }
2025
+ p = p.offsetParent;
2026
+ }
2027
+
2028
+ if (Ext.isSafari && hasAbsolute) {
2029
+ x -= bd.offsetLeft;
2030
+ y -= bd.offsetTop;
2031
+ }
2032
+
2033
+ if (Ext.isGecko && !hasAbsolute) {
2034
+ var dbd = fly(bd);
2035
+ x += parseInt(dbd.getStyle("borderLeftWidth"), 10) || 0;
2036
+ y += parseInt(dbd.getStyle("borderTopWidth"), 10) || 0;
2037
+ }
2038
+
2039
+ p = el.parentNode;
2040
+ while (p && p != bd) {
2041
+ if (!Ext.isOpera || (p.tagName != 'TR' && fly(p).getStyle("display") != "inline")) {
2042
+ x -= p.scrollLeft;
2043
+ y -= p.scrollTop;
2044
+ }
2045
+ p = p.parentNode;
2046
+ }
2047
+ return [x, y];
2048
+ },
2049
+
2050
+ setXY : function(el, xy){ // this initially used Position.cumulativeOffset but it is not accurate enough
2051
+ el = Ext.fly(el, '_setXY');
2052
+ el.position();
2053
+ var pts = el.translatePoints(xy);
2054
+ if(xy[0] !== false){
2055
+ el.dom.style.left = pts.left + "px";
2056
+ }
2057
+ if(xy[1] !== false){
2058
+ el.dom.style.top = pts.top + "px";
2059
+ }
2060
+ },
2061
+
2062
+ setX : function(el, x){
2063
+ this.setXY(el, [x, false]);
2064
+ },
2065
+
2066
+ setY : function(el, y){
2067
+ this.setXY(el, [false, y]);
2068
+ }
2069
+ };
2070
+
2071
+ Ext.lib.Event = {
2072
+ getPageX : function(e){
2073
+ return Event.pointerX(e.browserEvent || e);
2074
+ },
2075
+
2076
+ getPageY : function(e){
2077
+ return Event.pointerY(e.browserEvent || e);
2078
+ },
2079
+
2080
+ getXY : function(e){
2081
+ e = e.browserEvent || e;
2082
+ return [Event.pointerX(e), Event.pointerY(e)];
2083
+ },
2084
+
2085
+ getTarget : function(e){
2086
+ return Event.element(e.browserEvent || e);
2087
+ },
2088
+
2089
+ resolveTextNode: Ext.isGecko ? function(node){
2090
+ if(!node){
2091
+ return;
2092
+ }
2093
+ var s = HTMLElement.prototype.toString.call(node);
2094
+ if(s == '[xpconnect wrapped native prototype]' || s == '[object XULElement]'){
2095
+ return;
2096
+ }
2097
+ return node.nodeType == 3 ? node.parentNode : node;
2098
+ } : function(node){
2099
+ return node && node.nodeType == 3 ? node.parentNode : node;
2100
+ },
2101
+
2102
+ getRelatedTarget: function(ev) { // missing from prototype?
2103
+ ev = ev.browserEvent || ev;
2104
+ var t = ev.relatedTarget;
2105
+ if (!t) {
2106
+ if (ev.type == "mouseout") {
2107
+ t = ev.toElement;
2108
+ } else if (ev.type == "mouseover") {
2109
+ t = ev.fromElement;
2110
+ }
2111
+ }
2112
+
2113
+ return this.resolveTextNode(t);
2114
+ },
2115
+
2116
+ on : function(el, eventName, fn){
2117
+ if((eventName == 'mouseenter' || eventName == 'mouseleave') && !mouseEnterSupported){
2118
+ var item = mouseCache[el.id] || (mouseCache[el.id] = {});
2119
+ item[eventName] = fn;
2120
+ fn = fn.createInterceptor(checkRelatedTarget);
2121
+ eventName = (eventName == 'mouseenter') ? 'mouseover' : 'mouseout';
2122
+ }
2123
+ Event.observe(el, eventName, fn, false);
2124
+ },
2125
+
2126
+ un : function(el, eventName, fn){
2127
+ if((eventName == 'mouseenter' || eventName == 'mouseleave') && !mouseEnterSupported){
2128
+ var item = mouseCache[el.id],
2129
+ ev = item && item[eventName];
2130
+
2131
+ if(ev){
2132
+ fn = ev.fn;
2133
+ delete item[eventName];
2134
+ eventName = (eventName == 'mouseenter') ? 'mouseover' : 'mouseout';
2135
+ }
2136
+ }
2137
+ Event.stopObserving(el, eventName, fn, false);
2138
+ },
2139
+
2140
+ purgeElement : function(el){
2141
+ // no equiv?
2142
+ },
2143
+
2144
+ preventDefault : function(e){ // missing from prototype?
2145
+ e = e.browserEvent || e;
2146
+ if(e.preventDefault) {
2147
+ e.preventDefault();
2148
+ } else {
2149
+ e.returnValue = false;
2150
+ }
2151
+ },
2152
+
2153
+ stopPropagation : function(e){ // missing from prototype?
2154
+ e = e.browserEvent || e;
2155
+ if(e.stopPropagation) {
2156
+ e.stopPropagation();
2157
+ } else {
2158
+ e.cancelBubble = true;
2159
+ }
2160
+ },
2161
+
2162
+ stopEvent : function(e){
2163
+ Event.stop(e.browserEvent || e);
2164
+ },
2165
+
2166
+ onAvailable : function(id, fn, scope){ // no equiv
2167
+ var start = new Date(), iid;
2168
+ var f = function(){
2169
+ if(start.getElapsed() > 10000){
2170
+ clearInterval(iid);
2171
+ }
2172
+ var el = document.getElementById(id);
2173
+ if(el){
2174
+ clearInterval(iid);
2175
+ fn.call(scope||window, el);
2176
+ }
2177
+ };
2178
+ iid = setInterval(f, 50);
2179
+ }
2180
+ };
2181
+
2182
+ Ext.lib.Ajax = function(){
2183
+ var createSuccess = function(cb){
2184
+ return cb.success ? function(xhr){
2185
+ cb.success.call(cb.scope||window, createResponse(cb, xhr));
2186
+ } : Ext.emptyFn;
2187
+ };
2188
+ var createFailure = function(cb){
2189
+ return cb.failure ? function(xhr){
2190
+ cb.failure.call(cb.scope||window, createResponse(cb, xhr));
2191
+ } : Ext.emptyFn;
2192
+ };
2193
+ var createResponse = function(cb, xhr){
2194
+ var headerObj = {},
2195
+ headerStr,
2196
+ t,
2197
+ s;
2198
+
2199
+ try {
2200
+ headerStr = xhr.getAllResponseHeaders();
2201
+ Ext.each(headerStr.replace(/\r\n/g, '\n').split('\n'), function(v){
2202
+ t = v.indexOf(':');
2203
+ if(t >= 0){
2204
+ s = v.substr(0, t).toLowerCase();
2205
+ if(v.charAt(t + 1) == ' '){
2206
+ ++t;
2207
+ }
2208
+ headerObj[s] = v.substr(t + 1);
2209
+ }
2210
+ });
2211
+ } catch(e) {}
2212
+
2213
+ return {
2214
+ responseText: xhr.responseText,
2215
+ responseXML : xhr.responseXML,
2216
+ argument: cb.argument,
2217
+ status: xhr.status,
2218
+ statusText: xhr.statusText,
2219
+ getResponseHeader : function(header){return headerObj[header.toLowerCase()];},
2220
+ getAllResponseHeaders : function(){return headerStr}
2221
+ };
2222
+ };
2223
+ return {
2224
+ request : function(method, uri, cb, data, options){
2225
+ var o = {
2226
+ method: method,
2227
+ parameters: data || '',
2228
+ timeout: cb.timeout,
2229
+ onSuccess: createSuccess(cb),
2230
+ onFailure: createFailure(cb)
2231
+ };
2232
+ if(options){
2233
+ var hs = options.headers;
2234
+ if(hs){
2235
+ o.requestHeaders = hs;
2236
+ }
2237
+ if(options.xmlData){
2238
+ method = (method ? method : (options.method ? options.method : 'POST'));
2239
+ if (!hs || !hs['Content-Type']){
2240
+ o.contentType = 'text/xml';
2241
+ }
2242
+ o.postBody = options.xmlData;
2243
+ delete o.parameters;
2244
+ }
2245
+ if(options.jsonData){
2246
+ method = (method ? method : (options.method ? options.method : 'POST'));
2247
+ if (!hs || !hs['Content-Type']){
2248
+ o.contentType = 'application/json';
2249
+ }
2250
+ o.postBody = typeof options.jsonData == 'object' ? Ext.encode(options.jsonData) : options.jsonData;
2251
+ delete o.parameters;
2252
+ }
2253
+ }
2254
+ new Ajax.Request(uri, o);
2255
+ },
2256
+
2257
+ formRequest : function(form, uri, cb, data, isUpload, sslUri){
2258
+ new Ajax.Request(uri, {
2259
+ method: Ext.getDom(form).method ||'POST',
2260
+ parameters: Form.serialize(form)+(data?'&'+data:''),
2261
+ timeout: cb.timeout,
2262
+ onSuccess: createSuccess(cb),
2263
+ onFailure: createFailure(cb)
2264
+ });
2265
+ },
2266
+
2267
+ isCallInProgress : function(trans){
2268
+ return false;
2269
+ },
2270
+
2271
+ abort : function(trans){
2272
+ return false;
2273
+ },
2274
+
2275
+ serializeForm : function(form){
2276
+ return Form.serialize(form.dom||form);
2277
+ }
2278
+ };
2279
+ }();
2280
+
2281
+
2282
+ Ext.lib.Anim = function(){
2283
+
2284
+ var easings = {
2285
+ easeOut: function(pos) {
2286
+ return 1-Math.pow(1-pos,2);
2287
+ },
2288
+ easeIn: function(pos) {
2289
+ return 1-Math.pow(1-pos,2);
2290
+ }
2291
+ };
2292
+ var createAnim = function(cb, scope){
2293
+ return {
2294
+ stop : function(skipToLast){
2295
+ this.effect.cancel();
2296
+ },
2297
+
2298
+ isAnimated : function(){
2299
+ return this.effect.state == 'running';
2300
+ },
2301
+
2302
+ proxyCallback : function(){
2303
+ Ext.callback(cb, scope);
2304
+ }
2305
+ };
2306
+ };
2307
+ return {
2308
+ scroll : function(el, args, duration, easing, cb, scope){
2309
+ // not supported so scroll immediately?
2310
+ var anim = createAnim(cb, scope);
2311
+ el = Ext.getDom(el);
2312
+ if(typeof args.scroll.to[0] == 'number'){
2313
+ el.scrollLeft = args.scroll.to[0];
2314
+ }
2315
+ if(typeof args.scroll.to[1] == 'number'){
2316
+ el.scrollTop = args.scroll.to[1];
2317
+ }
2318
+ anim.proxyCallback();
2319
+ return anim;
2320
+ },
2321
+
2322
+ motion : function(el, args, duration, easing, cb, scope){
2323
+ return this.run(el, args, duration, easing, cb, scope);
2324
+ },
2325
+
2326
+ color : function(el, args, duration, easing, cb, scope){
2327
+ return this.run(el, args, duration, easing, cb, scope);
2328
+ },
2329
+
2330
+ run : function(el, args, duration, easing, cb, scope, type){
2331
+ var o = {};
2332
+ for(var k in args){
2333
+ switch(k){ // scriptaculous doesn't support, so convert these
2334
+ case 'points':
2335
+ var by, pts, e = Ext.fly(el, '_animrun');
2336
+ e.position();
2337
+ if(by = args.points.by){
2338
+ var xy = e.getXY();
2339
+ pts = e.translatePoints([xy[0]+by[0], xy[1]+by[1]]);
2340
+ }else{
2341
+ pts = e.translatePoints(args.points.to);
2342
+ }
2343
+ o.left = pts.left+'px';
2344
+ o.top = pts.top+'px';
2345
+ break;
2346
+ case 'width':
2347
+ o.width = args.width.to+'px';
2348
+ break;
2349
+ case 'height':
2350
+ o.height = args.height.to+'px';
2351
+ break;
2352
+ case 'opacity':
2353
+ o.opacity = String(args.opacity.to);
2354
+ break;
2355
+ default:
2356
+ o[k] = String(args[k].to);
2357
+ break;
2358
+ }
2359
+ }
2360
+ var anim = createAnim(cb, scope);
2361
+ anim.effect = new Effect.Morph(Ext.id(el), {
2362
+ duration: duration,
2363
+ afterFinish: anim.proxyCallback,
2364
+ transition: easings[easing] || Effect.Transitions.linear,
2365
+ style: o
2366
+ });
2367
+ return anim;
2368
+ }
2369
+ };
2370
+ }();
2371
+
2372
+
2373
+ // all lib flyweight calls use their own flyweight to prevent collisions with developer flyweights
2374
+ function fly(el){
2375
+ if(!libFlyweight){
2376
+ libFlyweight = new Ext.Element.Flyweight();
2377
+ }
2378
+ libFlyweight.dom = el;
2379
+ return libFlyweight;
2380
+ }
2381
+
2382
+ Ext.lib.Region = function(t, r, b, l) {
2383
+ this.top = t;
2384
+ this[1] = t;
2385
+ this.right = r;
2386
+ this.bottom = b;
2387
+ this.left = l;
2388
+ this[0] = l;
2389
+ };
2390
+
2391
+ Ext.lib.Region.prototype = {
2392
+ contains : function(region) {
2393
+ return ( region.left >= this.left &&
2394
+ region.right <= this.right &&
2395
+ region.top >= this.top &&
2396
+ region.bottom <= this.bottom );
2397
+
2398
+ },
2399
+
2400
+ getArea : function() {
2401
+ return ( (this.bottom - this.top) * (this.right - this.left) );
2402
+ },
2403
+
2404
+ intersect : function(region) {
2405
+ var t = Math.max( this.top, region.top );
2406
+ var r = Math.min( this.right, region.right );
2407
+ var b = Math.min( this.bottom, region.bottom );
2408
+ var l = Math.max( this.left, region.left );
2409
+
2410
+ if (b >= t && r >= l) {
2411
+ return new Ext.lib.Region(t, r, b, l);
2412
+ } else {
2413
+ return null;
2414
+ }
2415
+ },
2416
+ union : function(region) {
2417
+ var t = Math.min( this.top, region.top );
2418
+ var r = Math.max( this.right, region.right );
2419
+ var b = Math.max( this.bottom, region.bottom );
2420
+ var l = Math.min( this.left, region.left );
2421
+
2422
+ return new Ext.lib.Region(t, r, b, l);
2423
+ },
2424
+
2425
+ constrainTo : function(r) {
2426
+ this.top = this.top.constrain(r.top, r.bottom);
2427
+ this.bottom = this.bottom.constrain(r.top, r.bottom);
2428
+ this.left = this.left.constrain(r.left, r.right);
2429
+ this.right = this.right.constrain(r.left, r.right);
2430
+ return this;
2431
+ },
2432
+
2433
+ adjust : function(t, l, b, r){
2434
+ this.top += t;
2435
+ this.left += l;
2436
+ this.right += r;
2437
+ this.bottom += b;
2438
+ return this;
2439
+ }
2440
+ };
2441
+
2442
+ Ext.lib.Region.getRegion = function(el) {
2443
+ var p = Ext.lib.Dom.getXY(el);
2444
+
2445
+ var t = p[1];
2446
+ var r = p[0] + el.offsetWidth;
2447
+ var b = p[1] + el.offsetHeight;
2448
+ var l = p[0];
2449
+
2450
+ return new Ext.lib.Region(t, r, b, l);
2451
+ };
2452
+
2453
+ Ext.lib.Point = function(x, y) {
2454
+ if (Ext.isArray(x)) {
2455
+ y = x[1];
2456
+ x = x[0];
2457
+ }
2458
+ this.x = this.right = this.left = this[0] = x;
2459
+ this.y = this.top = this.bottom = this[1] = y;
2460
+ };
2461
+
2462
+ Ext.lib.Point.prototype = new Ext.lib.Region();
2463
+
2464
+
2465
+ // prevent IE leaks
2466
+ if(Ext.isIE) {
2467
+ function fnCleanUp() {
2468
+ var p = Function.prototype;
2469
+ delete p.createSequence;
2470
+ delete p.defer;
2471
+ delete p.createDelegate;
2472
+ delete p.createCallback;
2473
+ delete p.createInterceptor;
2474
+
2475
+ window.detachEvent("onunload", fnCleanUp);
2476
+ }
2477
+ window.attachEvent("onunload", fnCleanUp);
2478
+ }
2479
+ })();