compass-jquery-plugin 0.3.0.beta.22 → 0.3.0.beta.24

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1192) hide show
  1. data/README.textile +59 -17
  2. data/Rakefile +51 -51
  3. data/VERSION.yml +1 -1
  4. data/compass-jquery-plugin.gemspec +1132 -1049
  5. data/gem_tasks/dynatree.rake +76 -76
  6. data/gem_tasks/emulators.rake +57 -0
  7. data/gem_tasks/jqgrid.rake +118 -118
  8. data/gem_tasks/jqical.rake +85 -85
  9. data/gem_tasks/jqtools.rake +60 -0
  10. data/gem_tasks/jqtouch.rake +20 -40
  11. data/gem_tasks/jrails.rake +35 -25
  12. data/gem_tasks/jstree.rake +96 -95
  13. data/gem_tasks/mobile.rake +113 -0
  14. data/gem_tasks/ribbon.rake +77 -77
  15. data/gem_tasks/rubygems.rake +6 -6
  16. data/gem_tasks/secret_sauce.rake +63 -63
  17. data/lib/jquery.mobile.rb +33 -0
  18. data/lib/jquery.ui.rb +140 -140
  19. data/lib/jquery/emulators.rb +3 -0
  20. data/lib/jquery/jqical/helpers/ui_event_helper.rb +13 -13
  21. data/lib/jquery/jqtools.rb +2 -0
  22. data/lib/jquery/mobile.rb +3 -0
  23. data/lib/jquery/secret_sauce/helpers/ui_form_helper.rb +117 -117
  24. data/lib/jquery/secret_sauce/helpers/ui_grid_helper.rb +225 -225
  25. data/templates/dynatree/config/initializers/dynatree.rb +4 -4
  26. data/templates/dynatree/{jquery.ui/dynatree.aero.scss → jquery/dynatree/aero.scss} +31 -31
  27. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/cbChecked.png +0 -0
  28. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/cbChecked_hover.png +0 -0
  29. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/cbIntermediate.png +0 -0
  30. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/cbIntermediate_hover.png +0 -0
  31. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/cbUnchecked.png +0 -0
  32. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/cbUnchecked_hover.png +0 -0
  33. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/collapsed.png +0 -0
  34. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/collapsed_hover.png +0 -0
  35. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/copy_here.png +0 -0
  36. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/customDoc1.png +0 -0
  37. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/customFolder1.png +0 -0
  38. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/doc_with_children.png +0 -0
  39. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/document.png +0 -0
  40. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/drop_accept.png +0 -0
  41. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/drop_here.png +0 -0
  42. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/drop_reject.png +0 -0
  43. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/empty.png +0 -0
  44. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/expanded.png +0 -0
  45. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/expanded_hover.png +0 -0
  46. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/folder.png +0 -0
  47. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/folder_docs.png +0 -0
  48. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/folder_images.png +0 -0
  49. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/folder_page.png +0 -0
  50. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/ltDoc.png +0 -0
  51. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/ltError.png +0 -0
  52. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/ltWait.gif +0 -0
  53. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/move_here.png +0 -0
  54. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/rbChecked.png +0 -0
  55. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/rbChecked_hover.png +0 -0
  56. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/rbIntermediate.png +0 -0
  57. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/rbIntermediate_hover.png +0 -0
  58. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/rbUnchecked.png +0 -0
  59. data/templates/dynatree/{jquery.ui/dynatree.aero → jquery/dynatree/aero}/rbUnchecked_hover.png +0 -0
  60. data/templates/dynatree/{jquery.ui/dynatree.crystal.scss → jquery/dynatree/aqua.scss} +32 -32
  61. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/cbChecked.png +0 -0
  62. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/cbChecked_hover.png +0 -0
  63. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/cbIntermediate.png +0 -0
  64. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/cbIntermediate_hover.png +0 -0
  65. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/cbUnchecked.png +0 -0
  66. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/cbUnchecked_hover.png +0 -0
  67. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/collapsed.png +0 -0
  68. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/collapsed_hover.png +0 -0
  69. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/copy_here.png +0 -0
  70. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/customDoc1.png +0 -0
  71. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/customFolder1.png +0 -0
  72. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/doc_with_children.png +0 -0
  73. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/document.png +0 -0
  74. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/drop_accept.png +0 -0
  75. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/drop_here.png +0 -0
  76. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/drop_reject.png +0 -0
  77. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/empty.png +0 -0
  78. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/expanded.png +0 -0
  79. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/expanded_hover.png +0 -0
  80. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/folder.png +0 -0
  81. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/folder_docs.png +0 -0
  82. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/folder_images.png +0 -0
  83. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/folder_open.png +0 -0
  84. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/folder_page.png +0 -0
  85. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/ltDoc.png +0 -0
  86. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/ltError.png +0 -0
  87. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/ltWait.gif +0 -0
  88. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/move_here.png +0 -0
  89. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/rbChecked.png +0 -0
  90. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/rbChecked_hover.png +0 -0
  91. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/rbIntermediate.png +0 -0
  92. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/rbIntermediate_hover.png +0 -0
  93. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/rbUnchecked.png +0 -0
  94. data/templates/dynatree/{jquery.ui/dynatree.aqua → jquery/dynatree/aqua}/rbUnchecked_hover.png +0 -0
  95. data/templates/dynatree/{jquery.ui/dynatree.aqua.scss → jquery/dynatree/crystal.scss} +32 -32
  96. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/cbChecked.png +0 -0
  97. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/cbChecked_hover.png +0 -0
  98. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/cbIntermediate.png +0 -0
  99. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/cbIntermediate_hover.png +0 -0
  100. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/cbUnchecked.png +0 -0
  101. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/cbUnchecked_hover.png +0 -0
  102. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/collapsed.png +0 -0
  103. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/collapsed_hover.png +0 -0
  104. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/copy_here.png +0 -0
  105. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/customDoc1.png +0 -0
  106. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/customFolder1.png +0 -0
  107. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/doc_with_children.png +0 -0
  108. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/document.png +0 -0
  109. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/drop_accept.png +0 -0
  110. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/drop_here.png +0 -0
  111. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/drop_reject.png +0 -0
  112. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/empty.png +0 -0
  113. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/expanded.png +0 -0
  114. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/expanded_hover.png +0 -0
  115. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/folder.png +0 -0
  116. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/folder_docs.png +0 -0
  117. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/folder_images.png +0 -0
  118. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/folder_open.png +0 -0
  119. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/folder_page.png +0 -0
  120. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/ltDoc.png +0 -0
  121. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/ltError.png +0 -0
  122. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/ltWait.gif +0 -0
  123. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/move_here.png +0 -0
  124. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/rbChecked.png +0 -0
  125. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/rbChecked_hover.png +0 -0
  126. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/rbIntermediate.png +0 -0
  127. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/rbIntermediate_hover.png +0 -0
  128. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/rbUnchecked.png +0 -0
  129. data/templates/dynatree/{jquery.ui/dynatree.crystal → jquery/dynatree/crystal}/rbUnchecked_hover.png +0 -0
  130. data/templates/dynatree/{jquery.ui/dynatree.xp.scss → jquery/dynatree/xp.scss} +35 -35
  131. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/cbChecked.png +0 -0
  132. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/cbChecked_hover.png +0 -0
  133. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/cbIntermediate.png +0 -0
  134. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/cbIntermediate_hover.png +0 -0
  135. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/cbUnchecked.png +0 -0
  136. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/cbUnchecked_hover.png +0 -0
  137. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/copy_here.png +0 -0
  138. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/customDoc1.png +0 -0
  139. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/customFolder1.png +0 -0
  140. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/drop_accept.png +0 -0
  141. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/drop_here.png +0 -0
  142. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/drop_reject.png +0 -0
  143. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/ltD_ne.png +0 -0
  144. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/ltD_nes.png +0 -0
  145. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/ltDoc.png +0 -0
  146. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/ltError.png +0 -0
  147. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/ltFld.png +0 -0
  148. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/ltFld_o.png +0 -0
  149. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/ltL_.png +0 -0
  150. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/ltL_ne.png +0 -0
  151. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/ltL_nes.png +0 -0
  152. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/ltL_ns.png +0 -0
  153. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/ltM_ne.png +0 -0
  154. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/ltM_nes.png +0 -0
  155. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/ltP_ne.png +0 -0
  156. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/ltP_nes.png +0 -0
  157. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/ltWait.gif +0 -0
  158. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/move_here.png +0 -0
  159. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/rbChecked.png +0 -0
  160. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/rbChecked_hover.png +0 -0
  161. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/rbIntermediate.png +0 -0
  162. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/rbIntermediate_hover.png +0 -0
  163. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/rbUnchecked.png +0 -0
  164. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/rbUnchecked_hover.png +0 -0
  165. data/templates/dynatree/{jquery.ui/dynatree.xp → jquery/dynatree/xp}/vline.png +0 -0
  166. data/templates/dynatree/manifest.rb +140 -140
  167. data/templates/emulators/config/initializers/emulators.rb +10 -0
  168. data/templates/emulators/emulators/blackberry.landscape.scss +15 -0
  169. data/templates/emulators/emulators/blackberry.portrait.scss +15 -0
  170. data/templates/emulators/emulators/blackberry.torch.landscape.png +0 -0
  171. data/templates/emulators/emulators/blackberry.torch.portrait.png +0 -0
  172. data/templates/emulators/emulators/ipad.landscape.png +0 -0
  173. data/templates/emulators/emulators/ipad.landscape.scss +15 -0
  174. data/templates/emulators/emulators/ipad.portrait.png +0 -0
  175. data/templates/emulators/emulators/ipad.portrait.scss +15 -0
  176. data/templates/emulators/emulators/iphone.landscape.png +0 -0
  177. data/templates/emulators/emulators/iphone.landscape.scss +15 -0
  178. data/templates/emulators/emulators/iphone.portrait.png +0 -0
  179. data/templates/emulators/emulators/iphone.portrait.scss +15 -0
  180. data/templates/emulators/emulators/palm.landscape.scss +15 -0
  181. data/templates/emulators/emulators/palm.portrait.scss +15 -0
  182. data/templates/emulators/emulators/palm.pre.landscape.png +0 -0
  183. data/templates/emulators/emulators/palm.pre.portrait.png +0 -0
  184. data/templates/emulators/manifest.rb +20 -0
  185. data/templates/jqgrid/config/initializers/jqgrid.rb +1 -1
  186. data/templates/jqgrid/i18n/jqgrid/locale-cat.js +1 -1
  187. data/templates/jqgrid/i18n/jqgrid/locale-cat.min.js +1 -1
  188. data/templates/jqgrid/i18n/jqgrid/locale-de.js +23 -18
  189. data/templates/jqgrid/i18n/jqgrid/locale-de.min.js +6 -6
  190. data/templates/jqgrid/i18n/jqgrid/locale-fr.js +2 -2
  191. data/templates/jqgrid/i18n/jqgrid/locale-fr.min.js +1 -1
  192. data/templates/jqgrid/jquery.jqGrid.js +1858 -1850
  193. data/templates/jqgrid/jquery.jqGrid.min.js +214 -214
  194. data/templates/jqgrid/{jquery.ui → jquery}/jqGrid.scss +0 -0
  195. data/templates/jqgrid/manifest.rb +1 -1
  196. data/templates/jqical/app/views/{ui → shared}/_ui_event_for.js.haml +0 -0
  197. data/templates/jqical/config/initializers/jqical.rb +1 -1
  198. data/templates/jqical/{jquery.ui → jquery}/jqical.scss +0 -0
  199. data/templates/jqical/{jquery.ui → jquery}/jqical/calendar.png +0 -0
  200. data/templates/jqical/{jquery.ui → jquery}/jqical/clock.png +0 -0
  201. data/templates/jqical/manifest.rb +4 -4
  202. data/templates/jqtools/config/initializers/jqtools.rb +3 -0
  203. data/templates/jqtools/jquery.tools.js +4576 -0
  204. data/templates/jqtools/jquery.tools.min.js +255 -0
  205. data/templates/jqtools/manifest.rb +6 -0
  206. data/templates/jqtouch/config/initializers/jqtouch.rb +5 -6
  207. data/templates/jqtouch/jquery.jqtouch.js +656 -414
  208. data/templates/jqtouch/jquery.jqtouch.min.js +1 -1
  209. data/templates/jqtouch/{jqtouch/jqt.apple.scss → jquery/touch/apple.scss} +30 -36
  210. data/templates/jqtouch/{jqtouch → jquery/touch}/apple/activeButton.png +0 -0
  211. data/templates/jqtouch/{jqtouch → jquery/touch}/apple/backButton.png +0 -0
  212. data/templates/jqtouch/{jqtouch → jquery/touch}/apple/cancel.png +0 -0
  213. data/templates/jqtouch/{jqtouch → jquery/touch}/apple/chevron.png +0 -0
  214. data/templates/jqtouch/{jqtouch → jquery/touch}/apple/grayButton.png +0 -0
  215. data/templates/jqtouch/{jqtouch → jquery/touch}/apple/greenButton.png +0 -0
  216. data/templates/jqtouch/{jqtouch → jquery/touch}/apple/listArrowSel.png +0 -0
  217. data/templates/jqtouch/{jqtouch → jquery/touch}/apple/listGroup.png +0 -0
  218. data/templates/jqtouch/{jqtouch → jquery/touch}/apple/loading.gif +0 -0
  219. data/templates/jqtouch/{jqtouch → jquery/touch}/apple/on_off.png +0 -0
  220. data/templates/jqtouch/{jqtouch → jquery/touch}/apple/pinstripes.png +0 -0
  221. data/templates/jqtouch/{jqtouch → jquery/touch}/apple/redButton.png +0 -0
  222. data/templates/jqtouch/{jqtouch → jquery/touch}/apple/selection.png +0 -0
  223. data/templates/jqtouch/{jqtouch → jquery/touch}/apple/thumb.png +0 -0
  224. data/templates/jqtouch/{jqtouch → jquery/touch}/apple/toggle.png +0 -0
  225. data/templates/jqtouch/{jqtouch → jquery/touch}/apple/toggleOn.png +0 -0
  226. data/templates/jqtouch/{jqtouch → jquery/touch}/apple/toolButton.png +0 -0
  227. data/templates/jqtouch/{jqtouch → jquery/touch}/apple/toolbar.png +0 -0
  228. data/templates/jqtouch/{jqtouch → jquery/touch}/apple/whiteButton.png +0 -0
  229. data/templates/jqtouch/{jqtouch/jqt.default.scss → jquery/touch/default.scss} +31 -43
  230. data/templates/jqtouch/{jqtouch → jquery/touch}/default/backButton.png +0 -0
  231. data/templates/jqtouch/{jqtouch → jquery/touch}/default/backButtonActive.png +0 -0
  232. data/templates/jqtouch/{jqtouch → jquery/touch}/default/bigButton.png +0 -0
  233. data/templates/jqtouch/{jqtouch → jquery/touch}/default/bigButtonActive.png +0 -0
  234. data/templates/jqtouch/{jqtouch → jquery/touch}/default/button.png +0 -0
  235. data/templates/jqtouch/{jqtouch → jquery/touch}/default/buttonActive.png +0 -0
  236. data/templates/jqtouch/{jqtouch → jquery/touch}/default/chevron.png +0 -0
  237. data/templates/jqtouch/{jqtouch → jquery/touch}/default/chevronActive.png +0 -0
  238. data/templates/jqtouch/{jqtouch → jquery/touch}/default/chevronCircle.png +0 -0
  239. data/templates/jqtouch/{jqtouch → jquery/touch}/default/chevronCircleActive.png +0 -0
  240. data/templates/jqtouch/{jqtouch → jquery/touch}/default/loading.gif +0 -0
  241. data/templates/jqtouch/{jqtouch → jquery/touch}/default/toggleSwitch.png +0 -0
  242. data/templates/jqtouch/{jqtouch → jquery/touch}/default/toolbarBackground.png +0 -0
  243. data/templates/jqtouch/jqtouch/glyphish/Read me first - license.txt b/data/templates/jqtouch/jquery/touch/glyphish/Read me first - → license.txt +0 -0
  244. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/01-refresh.png +0 -0
  245. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/02-redo.png +0 -0
  246. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/03-loopback.png +0 -0
  247. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/04-squiggle.png +0 -0
  248. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/05-shuffle.png +0 -0
  249. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/06-magnifying-glass.png +0 -0
  250. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/07-map-marker.png +0 -0
  251. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/08-chat.png +0 -0
  252. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/09-chat2.png +0 -0
  253. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/10-medical.png +0 -0
  254. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/100-coffee.png +0 -0
  255. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/101-gameplan.png +0 -0
  256. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/102-walk.png +0 -0
  257. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/103-map.png +0 -0
  258. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/104-index-cards.png +0 -0
  259. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/105-piano.png +0 -0
  260. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/106-sliders.png +0 -0
  261. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/107-widescreen.png +0 -0
  262. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/108-badge.png +0 -0
  263. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/109-chicken.png +0 -0
  264. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/11-clock.png +0 -0
  265. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/110-bug.png +0 -0
  266. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/111-user.png +0 -0
  267. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/112-group.png +0 -0
  268. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/113-navigation.png +0 -0
  269. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/114-balloon.png +0 -0
  270. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/115-bow-and-arrow.png +0 -0
  271. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/116-controller.png +0 -0
  272. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/117-todo.png +0 -0
  273. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/118-coathanger.png +0 -0
  274. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/119-piggybank.png +0 -0
  275. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/12-eye.png +0 -0
  276. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/120-headphones.png +0 -0
  277. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/121-lanscape.png +0 -0
  278. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/122-stats.png +0 -0
  279. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/123-id-card.png +0 -0
  280. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/124-bullhorn.png +0 -0
  281. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/125-food.png +0 -0
  282. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/126-moon.png +0 -0
  283. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/127-sock.png +0 -0
  284. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/128-bone.png +0 -0
  285. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/129-golf.png +0 -0
  286. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/13-target.png +0 -0
  287. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/130-dice.png +0 -0
  288. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/14-tag.png +0 -0
  289. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/15-tags.png +0 -0
  290. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/16-line-chart.png +0 -0
  291. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/17-bar-chart.png +0 -0
  292. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/18-envelope.png +0 -0
  293. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/19-gear.png +0 -0
  294. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/20-gear2.png +0 -0
  295. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/21-skull.png +0 -0
  296. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/22-skull-n-crossbones.png +0 -0
  297. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/23-bird.png +0 -0
  298. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/24-gift.png +0 -0
  299. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/25-weather.png +0 -0
  300. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/26-bandaid.png +0 -0
  301. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/27-planet.png +0 -0
  302. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/28-star.png +0 -0
  303. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/29-heart.png +0 -0
  304. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/30-key.png +0 -0
  305. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/31-ipod.png +0 -0
  306. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/32-iphone.png +0 -0
  307. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/33-cabinet.png +0 -0
  308. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/34-coffee.png +0 -0
  309. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/35-shopping-bag.png +0 -0
  310. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/36-toolbox.png +0 -0
  311. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/37-suitcase.png +0 -0
  312. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/38-airplane.png +0 -0
  313. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/39-spraycan.png +0 -0
  314. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/40-inbox.png +0 -0
  315. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/41-picture-frame.png +0 -0
  316. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/42-photos.png +0 -0
  317. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/43-film-roll.png +0 -0
  318. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/44-shoebox.png +0 -0
  319. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/45-movie1.png +0 -0
  320. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/46-movie2.png +0 -0
  321. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/47-fuel.png +0 -0
  322. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/48-fork-and-knife.png +0 -0
  323. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/49-battery.png +0 -0
  324. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/50-beaker.png +0 -0
  325. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/51-outlet.png +0 -0
  326. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/52-pinetree.png +0 -0
  327. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/53-house.png +0 -0
  328. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/54-lock.png +0 -0
  329. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/55-network.png +0 -0
  330. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/56-cloud.png +0 -0
  331. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/57-download.png +0 -0
  332. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/58-bookmark.png +0 -0
  333. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/59-flag.png +0 -0
  334. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/60-signpost.png +0 -0
  335. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/61-brightness.png +0 -0
  336. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/62-contrast.png +0 -0
  337. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/63-runner.png +0 -0
  338. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/64-zap.png +0 -0
  339. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/65-note.png +0 -0
  340. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/66-microphone.png +0 -0
  341. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/67-tshirt.png +0 -0
  342. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/68-paperclip.png +0 -0
  343. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/69-display.png +0 -0
  344. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/70-tv.png +0 -0
  345. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/71-compass.png +0 -0
  346. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/72-pin.png +0 -0
  347. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/73-radar.png +0 -0
  348. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/74-location.png +0 -0
  349. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/75-phone.png +0 -0
  350. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/76-baby.png +0 -0
  351. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/77-ekg.png +0 -0
  352. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/78-stopwatch.png +0 -0
  353. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/79-medical-bag.png +0 -0
  354. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/80-shopping-cart.png +0 -0
  355. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/81-dashboard.png +0 -0
  356. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/82-dogpaw.png +0 -0
  357. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/83-calendar.png +0 -0
  358. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/84-lightbulb.png +0 -0
  359. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/85-trophy.png +0 -0
  360. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/86-camera.png +0 -0
  361. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/87-wineglass.png +0 -0
  362. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/88-beermug.png +0 -0
  363. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/89-dumbbell.png +0 -0
  364. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/90-lifebuoy.png +0 -0
  365. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/91-beaker2.png +0 -0
  366. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/92-testtube.png +0 -0
  367. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/93-thermometer.png +0 -0
  368. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/94-pill.png +0 -0
  369. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/95-equalizer.png +0 -0
  370. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/96-book.png +0 -0
  371. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/97-puzzle.png +0 -0
  372. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/98-palette.png +0 -0
  373. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/icons/99-umbrella.png +0 -0
  374. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/01-refresh.png +0 -0
  375. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/02-redo.png +0 -0
  376. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/03-loopback.png +0 -0
  377. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/04-squiggle.png +0 -0
  378. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/05-shuffle.png +0 -0
  379. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/06-magnifying-glass.png +0 -0
  380. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/07-map-marker.png +0 -0
  381. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/08-chat.png +0 -0
  382. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/09-chat2.png +0 -0
  383. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/10-medical.png +0 -0
  384. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/100-coffee.png +0 -0
  385. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/101-gameplan.png +0 -0
  386. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/102-walk.png +0 -0
  387. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/103-map.png +0 -0
  388. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/104-index-cards.png +0 -0
  389. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/105-piano.png +0 -0
  390. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/106-sliders.png +0 -0
  391. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/107-widescreen.png +0 -0
  392. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/108-badge.png +0 -0
  393. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/109-chicken.png +0 -0
  394. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/11-clock.png +0 -0
  395. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/110-bug.png +0 -0
  396. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/111-user.png +0 -0
  397. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/112-group.png +0 -0
  398. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/113-navigation.png +0 -0
  399. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/114-balloon.png +0 -0
  400. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/115-bow-and-arrow.png +0 -0
  401. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/116-controller.png +0 -0
  402. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/117-todo.png +0 -0
  403. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/118-coathanger.png +0 -0
  404. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/119-piggybank.png +0 -0
  405. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/12-eye.png +0 -0
  406. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/120-headphones.png +0 -0
  407. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/121-lanscape.png +0 -0
  408. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/122-stats.png +0 -0
  409. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/123-id-card.png +0 -0
  410. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/124-bullhorn.png +0 -0
  411. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/125-food.png +0 -0
  412. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/126-moon.png +0 -0
  413. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/127-sock.png +0 -0
  414. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/128-bone.png +0 -0
  415. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/129-golf.png +0 -0
  416. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/13-target.png +0 -0
  417. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/130-dice.png +0 -0
  418. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/14-tag.png +0 -0
  419. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/15-tags.png +0 -0
  420. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/16-line-chart.png +0 -0
  421. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/17-bar-chart.png +0 -0
  422. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/18-envelope.png +0 -0
  423. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/19-gear.png +0 -0
  424. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/20-gear2.png +0 -0
  425. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/21-skull.png +0 -0
  426. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/22-skull-n-crossbones.png +0 -0
  427. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/23-bird.png +0 -0
  428. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/24-gift.png +0 -0
  429. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/25-weather.png +0 -0
  430. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/26-bandaid.png +0 -0
  431. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/27-planet.png +0 -0
  432. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/28-star.png +0 -0
  433. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/29-heart.png +0 -0
  434. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/30-key.png +0 -0
  435. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/31-ipod.png +0 -0
  436. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/32-iphone.png +0 -0
  437. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/33-cabinet.png +0 -0
  438. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/34-coffee.png +0 -0
  439. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/35-shopping-bag.png +0 -0
  440. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/36-toolbox.png +0 -0
  441. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/37-suitcase.png +0 -0
  442. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/38-airplane.png +0 -0
  443. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/39-spraycan.png +0 -0
  444. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/40-inbox.png +0 -0
  445. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/41-picture-frame.png +0 -0
  446. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/42-photos.png +0 -0
  447. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/43-film-roll.png +0 -0
  448. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/44-shoebox.png +0 -0
  449. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/45-movie1.png +0 -0
  450. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/46-movie2.png +0 -0
  451. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/47-fuel.png +0 -0
  452. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/48-fork-and-knife.png +0 -0
  453. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/49-battery.png +0 -0
  454. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/50-beaker.png +0 -0
  455. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/51-outlet.png +0 -0
  456. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/52-pinetree.png +0 -0
  457. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/53-house.png +0 -0
  458. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/54-lock.png +0 -0
  459. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/55-network.png +0 -0
  460. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/56-cloud.png +0 -0
  461. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/57-download.png +0 -0
  462. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/58-bookmark.png +0 -0
  463. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/59-flag.png +0 -0
  464. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/60-signpost.png +0 -0
  465. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/61-brightness.png +0 -0
  466. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/62-contrast.png +0 -0
  467. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/63-runner.png +0 -0
  468. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/64-zap.png +0 -0
  469. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/65-note.png +0 -0
  470. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/66-microphone.png +0 -0
  471. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/67-tshirt.png +0 -0
  472. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/68-paperclip.png +0 -0
  473. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/69-display.png +0 -0
  474. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/70-tv.png +0 -0
  475. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/71-compass.png +0 -0
  476. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/72-pin.png +0 -0
  477. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/73-radar.png +0 -0
  478. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/74-location.png +0 -0
  479. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/75-phone.png +0 -0
  480. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/76-baby.png +0 -0
  481. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/77-ekg.png +0 -0
  482. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/78-stopwatch.png +0 -0
  483. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/79-medical-bag.png +0 -0
  484. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/80-shopping-cart.png +0 -0
  485. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/81-dashboard.png +0 -0
  486. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/82-dogpaw.png +0 -0
  487. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/83-calendar.png +0 -0
  488. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/84-lightbulb.png +0 -0
  489. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/85-trophy.png +0 -0
  490. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/86-camera.png +0 -0
  491. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/87-wineglass.png +0 -0
  492. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/88-beermug.png +0 -0
  493. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/89-dumbbell.png +0 -0
  494. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/90-lifebuoy.png +0 -0
  495. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/91-beaker2.png +0 -0
  496. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/92-testtube.png +0 -0
  497. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/93-thermometer.png +0 -0
  498. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/94-pill.png +0 -0
  499. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/95-equalizer.png +0 -0
  500. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/96-book.png +0 -0
  501. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/97-puzzle.png +0 -0
  502. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/98-palette.png +0 -0
  503. data/templates/jqtouch/{jqtouch → jquery/touch}/glyphish/mini-icons/99-umbrella.png +0 -0
  504. data/templates/jqtouch/{jqtouch → jquery/touch}/ical/bottom_bar.png +0 -0
  505. data/templates/jqtouch/{jqtouch → jquery/touch}/ical/calpad.jpg +0 -0
  506. data/templates/jqtouch/{jqtouch → jquery/touch}/ical/cells.png +0 -0
  507. data/templates/jqtouch/{jqtouch → jquery/touch}/ical/footer.png +0 -0
  508. data/templates/jqtouch/{jqtouch → jquery/touch}/ical/header.png +0 -0
  509. data/templates/jqtouch/{jqtouch → jquery/touch}/ical/header_left.png +0 -0
  510. data/templates/jqtouch/{jqtouch → jquery/touch}/ical/header_right.png +0 -0
  511. data/templates/jqtouch/{jqtouch → jquery/touch}/ical/jqt_startup.png +0 -0
  512. data/templates/jqtouch/{jqtouch → jquery/touch}/ical/jqtouch-ical.png +0 -0
  513. data/templates/jqtouch/{jqtouch/jqt.jqt.scss → jquery/touch/jqt.scss} +36 -40
  514. data/templates/jqtouch/{jqtouch → jquery/touch}/jqt/activeButton.png +0 -0
  515. data/templates/jqtouch/{jqtouch → jquery/touch}/jqt/back_button.png +0 -0
  516. data/templates/jqtouch/{jqtouch → jquery/touch}/jqt/back_button_clicked.png +0 -0
  517. data/templates/jqtouch/{jqtouch → jquery/touch}/jqt/blueButton.png +0 -0
  518. data/templates/jqtouch/{jqtouch → jquery/touch}/jqt/button.png +0 -0
  519. data/templates/jqtouch/{jqtouch → jquery/touch}/jqt/button_clicked.png +0 -0
  520. data/templates/jqtouch/{jqtouch → jquery/touch}/jqt/chevron.png +0 -0
  521. data/templates/jqtouch/{jqtouch → jquery/touch}/jqt/chevron_circle.png +0 -0
  522. data/templates/jqtouch/{jqtouch → jquery/touch}/jqt/grayButton.png +0 -0
  523. data/templates/jqtouch/{jqtouch → jquery/touch}/jqt/greenButton.png +0 -0
  524. data/templates/jqtouch/{jqtouch → jquery/touch}/jqt/loading.gif +0 -0
  525. data/templates/jqtouch/{jqtouch → jquery/touch}/jqt/on_off.png +0 -0
  526. data/templates/jqtouch/{jqtouch → jquery/touch}/jqt/redButton.png +0 -0
  527. data/templates/jqtouch/{jqtouch → jquery/touch}/jqt/rowhead.png +0 -0
  528. data/templates/jqtouch/{jqtouch → jquery/touch}/jqt/toggle.png +0 -0
  529. data/templates/jqtouch/{jqtouch → jquery/touch}/jqt/toggleOn.png +0 -0
  530. data/templates/jqtouch/{jqtouch → jquery/touch}/jqt/toolbar.png +0 -0
  531. data/templates/jqtouch/{jqtouch → jquery/touch}/jqt/whiteButton.png +0 -0
  532. data/templates/jqtouch/{jqtouch → jquery/touch}/jqt_startup.png +0 -0
  533. data/templates/jqtouch/{jqtouch → jquery/touch}/jqtouch.png +0 -0
  534. data/templates/jqtouch/{jqtouch → jquery/touch}/jqtouch.scss +276 -254
  535. data/templates/jqtouch/jquery/touch/jqtouch4.png +0 -0
  536. data/templates/jqtouch/{jqtouch → jquery/touch}/photo/btnBack.png +0 -0
  537. data/templates/jqtouch/{jqtouch → jquery/touch}/photo/loading.gif +0 -0
  538. data/templates/jqtouch/{jqtouch → jquery/touch}/photo/navNext.png +0 -0
  539. data/templates/jqtouch/{jqtouch → jquery/touch}/photo/navPause.png +0 -0
  540. data/templates/jqtouch/{jqtouch → jquery/touch}/photo/navPlay.png +0 -0
  541. data/templates/jqtouch/{jqtouch → jquery/touch}/photo/navPrev.png +0 -0
  542. data/templates/jqtouch/{jqtouch → jquery/touch}/photo/toolbar.png +0 -0
  543. data/templates/jqtouch/{jqtouch → jquery/touch}/sw/alpha.png +0 -0
  544. data/templates/jqtouch/{jqtouch → jquery/touch}/sw/button-cancel.png +0 -0
  545. data/templates/jqtouch/{jqtouch → jquery/touch}/sw/button-done.png +0 -0
  546. data/templates/jqtouch/{jqtouch → jquery/touch}/sw/header.png +0 -0
  547. data/templates/jqtouch/{jqtouch → jquery/touch}/sw/slot-border.png +0 -0
  548. data/templates/jqtouch/manifest.rb +339 -342
  549. data/templates/jrails/config/initializers/jrails.rb +8 -4
  550. data/templates/jrails/i18n/jquery.ui/datepicker-gl.js +23 -0
  551. data/templates/jrails/i18n/jquery.ui/datepicker-gl.min.js +2 -0
  552. data/templates/jrails/i18n/jquery.ui/datepicker-pt.js +22 -0
  553. data/templates/jrails/i18n/jquery.ui/datepicker-pt.min.js +2 -0
  554. data/templates/jrails/i18n/jquery.ui/datepicker-ru.js +1 -1
  555. data/templates/jrails/i18n/jquery.ui/datepicker-ru.min.js +1 -1
  556. data/templates/jrails/jquery-1.4.3.js +6944 -0
  557. data/templates/jrails/jquery-1.4.3.min.js +152 -0
  558. data/templates/jrails/{jquery-ui-1.8.5.js → jquery-ui-1.8.6.js} +514 -356
  559. data/templates/jrails/jquery-ui-1.8.6.min.js +825 -0
  560. data/templates/jrails/jquery.bgiframe.js +37 -8
  561. data/templates/jrails/jquery.bgiframe.min.js +2 -2
  562. data/templates/jrails/jquery.cookie.js +89 -0
  563. data/templates/jrails/jquery.cookie.min.js +2 -0
  564. data/templates/jrails/jquery.flash_messages.js +5 -0
  565. data/templates/jrails/jquery.flash_messages.min.js +1 -0
  566. data/templates/jrails/jquery.form.js +660 -0
  567. data/templates/jrails/jquery.form.min.js +17 -0
  568. data/templates/jrails/jquery.layout.js +2507 -0
  569. data/templates/jrails/jquery.layout.min.js +49 -0
  570. data/templates/jrails/jquery.themeswitchertool.js +4 -4
  571. data/templates/jrails/jquery.themeswitchertool.min.js +4 -4
  572. data/templates/jrails/{jquery.ui → jquery/ui}/_theme.scss +20 -15
  573. data/templates/jrails/{jquery.ui → jquery/ui}/base.scss +18 -18
  574. data/templates/jrails/{jquery.ui → jquery/ui}/base/ui-anim_basic_16x16.gif +0 -0
  575. data/templates/jrails/{jquery.ui → jquery/ui}/base/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  576. data/templates/jrails/{jquery.ui → jquery/ui}/base/ui-bg_flat_75_ffffff_40x100.png +0 -0
  577. data/templates/jrails/{jquery.ui → jquery/ui}/base/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  578. data/templates/jrails/{jquery.ui → jquery/ui}/base/ui-bg_glass_65_ffffff_1x400.png +0 -0
  579. data/templates/jrails/{jquery.ui → jquery/ui}/base/ui-bg_glass_75_dadada_1x400.png +0 -0
  580. data/templates/jrails/{jquery.ui → jquery/ui}/base/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  581. data/templates/jrails/{jquery.ui → jquery/ui}/base/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  582. data/templates/jrails/{jquery.ui → jquery/ui}/base/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  583. data/templates/jrails/{jquery.ui → jquery/ui}/base/ui-icons_222222_256x240.png +0 -0
  584. data/templates/jrails/{jquery.ui → jquery/ui}/base/ui-icons_2e83ff_256x240.png +0 -0
  585. data/templates/jrails/{jquery.ui → jquery/ui}/base/ui-icons_454545_256x240.png +0 -0
  586. data/templates/jrails/{jquery.ui → jquery/ui}/base/ui-icons_888888_256x240.png +0 -0
  587. data/templates/jrails/{jquery.ui → jquery/ui}/base/ui-icons_cd0a0a_256x240.png +0 -0
  588. data/templates/jrails/{jquery.ui → jquery/ui}/black-tie.scss +18 -18
  589. data/templates/jrails/{jquery.ui → jquery/ui}/black-tie/ui-anim_basic_16x16.gif +0 -0
  590. data/templates/jrails/{jquery.ui → jquery/ui}/black-tie/ui-bg_diagonals-thick_8_333333_40x40.png +0 -0
  591. data/templates/jrails/{jquery.ui → jquery/ui}/black-tie/ui-bg_flat_65_ffffff_40x100.png +0 -0
  592. data/templates/jrails/{jquery.ui → jquery/ui}/black-tie/ui-bg_glass_40_111111_1x400.png +0 -0
  593. data/templates/jrails/{jquery.ui → jquery/ui}/black-tie/ui-bg_glass_55_1c1c1c_1x400.png +0 -0
  594. data/templates/jrails/{jquery.ui → jquery/ui}/black-tie/ui-bg_highlight-hard_100_f9f9f9_1x100.png +0 -0
  595. data/templates/jrails/{jquery.ui → jquery/ui}/black-tie/ui-bg_highlight-hard_40_aaaaaa_1x100.png +0 -0
  596. data/templates/jrails/{jquery.ui → jquery/ui}/black-tie/ui-bg_highlight-soft_50_aaaaaa_1x100.png +0 -0
  597. data/templates/jrails/{jquery.ui → jquery/ui}/black-tie/ui-bg_inset-hard_45_cd0a0a_1x100.png +0 -0
  598. data/templates/jrails/{jquery.ui → jquery/ui}/black-tie/ui-bg_inset-hard_55_ffeb80_1x100.png +0 -0
  599. data/templates/jrails/{jquery.ui → jquery/ui}/black-tie/ui-icons_222222_256x240.png +0 -0
  600. data/templates/jrails/{jquery.ui → jquery/ui}/black-tie/ui-icons_4ca300_256x240.png +0 -0
  601. data/templates/jrails/{jquery.ui → jquery/ui}/black-tie/ui-icons_bbbbbb_256x240.png +0 -0
  602. data/templates/jrails/{jquery.ui → jquery/ui}/black-tie/ui-icons_ededed_256x240.png +0 -0
  603. data/templates/jrails/{jquery.ui → jquery/ui}/black-tie/ui-icons_ffcf29_256x240.png +0 -0
  604. data/templates/jrails/{jquery.ui → jquery/ui}/black-tie/ui-icons_ffffff_256x240.png +0 -0
  605. data/templates/jrails/{jquery.ui → jquery/ui}/blitzer.scss +18 -18
  606. data/templates/jrails/{jquery.ui → jquery/ui}/blitzer/ui-anim_basic_16x16.gif +0 -0
  607. data/templates/jrails/{jquery.ui → jquery/ui}/blitzer/ui-bg_diagonals-thick_75_f3d8d8_40x40.png +0 -0
  608. data/templates/jrails/{jquery.ui → jquery/ui}/blitzer/ui-bg_dots-small_65_a6a6a6_2x2.png +0 -0
  609. data/templates/jrails/{jquery.ui → jquery/ui}/blitzer/ui-bg_flat_0_333333_40x100.png +0 -0
  610. data/templates/jrails/{jquery.ui → jquery/ui}/blitzer/ui-bg_flat_65_ffffff_40x100.png +0 -0
  611. data/templates/jrails/{jquery.ui → jquery/ui}/blitzer/ui-bg_flat_75_ffffff_40x100.png +0 -0
  612. data/templates/jrails/{jquery.ui → jquery/ui}/blitzer/ui-bg_glass_55_fbf8ee_1x400.png +0 -0
  613. data/templates/jrails/{jquery.ui → jquery/ui}/blitzer/ui-bg_highlight-hard_100_eeeeee_1x100.png +0 -0
  614. data/templates/jrails/{jquery.ui → jquery/ui}/blitzer/ui-bg_highlight-hard_100_f6f6f6_1x100.png +0 -0
  615. data/templates/jrails/{jquery.ui → jquery/ui}/blitzer/ui-bg_highlight-soft_15_cc0000_1x100.png +0 -0
  616. data/templates/jrails/{jquery.ui → jquery/ui}/blitzer/ui-icons_004276_256x240.png +0 -0
  617. data/templates/jrails/{jquery.ui → jquery/ui}/blitzer/ui-icons_cc0000_256x240.png +0 -0
  618. data/templates/jrails/{jquery.ui → jquery/ui}/blitzer/ui-icons_ffffff_256x240.png +0 -0
  619. data/templates/jrails/{jquery.ui → jquery/ui}/contextMenu.scss +6 -6
  620. data/templates/jrails/{jquery.ui → jquery/ui}/contextMenu/cut.png +0 -0
  621. data/templates/jrails/{jquery.ui → jquery/ui}/contextMenu/door.png +0 -0
  622. data/templates/jrails/{jquery.ui → jquery/ui}/contextMenu/page_white_copy.png +0 -0
  623. data/templates/jrails/{jquery.ui → jquery/ui}/contextMenu/page_white_delete.png +0 -0
  624. data/templates/jrails/{jquery.ui → jquery/ui}/contextMenu/page_white_edit.png +0 -0
  625. data/templates/jrails/{jquery.ui → jquery/ui}/contextMenu/page_white_paste.png +0 -0
  626. data/templates/jrails/{jquery.ui → jquery/ui}/cupertino.scss +18 -18
  627. data/templates/jrails/{jquery.ui → jquery/ui}/cupertino/ui-anim_basic_16x16.gif +0 -0
  628. data/templates/jrails/{jquery.ui → jquery/ui}/cupertino/ui-bg_diagonals-thick_90_eeeeee_40x40.png +0 -0
  629. data/templates/jrails/{jquery.ui → jquery/ui}/cupertino/ui-bg_flat_15_cd0a0a_40x100.png +0 -0
  630. data/templates/jrails/{jquery.ui → jquery/ui}/cupertino/ui-bg_glass_100_e4f1fb_1x400.png +0 -0
  631. data/templates/jrails/{jquery.ui → jquery/ui}/cupertino/ui-bg_glass_50_3baae3_1x400.png +0 -0
  632. data/templates/jrails/{jquery.ui → jquery/ui}/cupertino/ui-bg_glass_80_d7ebf9_1x400.png +0 -0
  633. data/templates/jrails/{jquery.ui → jquery/ui}/cupertino/ui-bg_highlight-hard_100_f2f5f7_1x100.png +0 -0
  634. data/templates/jrails/{jquery.ui → jquery/ui}/cupertino/ui-bg_highlight-hard_70_000000_1x100.png +0 -0
  635. data/templates/jrails/{jquery.ui → jquery/ui}/cupertino/ui-bg_highlight-soft_100_deedf7_1x100.png +0 -0
  636. data/templates/jrails/{jquery.ui → jquery/ui}/cupertino/ui-bg_highlight-soft_25_ffef8f_1x100.png +0 -0
  637. data/templates/jrails/{jquery.ui → jquery/ui}/cupertino/ui-icons_2694e8_256x240.png +0 -0
  638. data/templates/jrails/{jquery.ui → jquery/ui}/cupertino/ui-icons_2e83ff_256x240.png +0 -0
  639. data/templates/jrails/{jquery.ui → jquery/ui}/cupertino/ui-icons_3d80b3_256x240.png +0 -0
  640. data/templates/jrails/{jquery.ui → jquery/ui}/cupertino/ui-icons_72a7cf_256x240.png +0 -0
  641. data/templates/jrails/{jquery.ui → jquery/ui}/cupertino/ui-icons_ffffff_256x240.png +0 -0
  642. data/templates/jrails/{jquery.ui → jquery/ui}/dark-hive.scss +18 -18
  643. data/templates/jrails/{jquery.ui → jquery/ui}/dark-hive/ui-anim_basic_16x16.gif +0 -0
  644. data/templates/jrails/{jquery.ui → jquery/ui}/dark-hive/ui-bg_flat_30_cccccc_40x100.png +0 -0
  645. data/templates/jrails/{jquery.ui → jquery/ui}/dark-hive/ui-bg_flat_50_5c5c5c_40x100.png +0 -0
  646. data/templates/jrails/{jquery.ui → jquery/ui}/dark-hive/ui-bg_glass_40_ffc73d_1x400.png +0 -0
  647. data/templates/jrails/{jquery.ui → jquery/ui}/dark-hive/ui-bg_highlight-hard_20_0972a5_1x100.png +0 -0
  648. data/templates/jrails/{jquery.ui → jquery/ui}/dark-hive/ui-bg_highlight-soft_33_003147_1x100.png +0 -0
  649. data/templates/jrails/{jquery.ui → jquery/ui}/dark-hive/ui-bg_highlight-soft_35_222222_1x100.png +0 -0
  650. data/templates/jrails/{jquery.ui → jquery/ui}/dark-hive/ui-bg_highlight-soft_44_444444_1x100.png +0 -0
  651. data/templates/jrails/{jquery.ui → jquery/ui}/dark-hive/ui-bg_highlight-soft_80_eeeeee_1x100.png +0 -0
  652. data/templates/jrails/{jquery.ui → jquery/ui}/dark-hive/ui-bg_loop_25_000000_21x21.png +0 -0
  653. data/templates/jrails/{jquery.ui → jquery/ui}/dark-hive/ui-icons_222222_256x240.png +0 -0
  654. data/templates/jrails/{jquery.ui → jquery/ui}/dark-hive/ui-icons_4b8e0b_256x240.png +0 -0
  655. data/templates/jrails/{jquery.ui → jquery/ui}/dark-hive/ui-icons_a83300_256x240.png +0 -0
  656. data/templates/jrails/{jquery.ui → jquery/ui}/dark-hive/ui-icons_cccccc_256x240.png +0 -0
  657. data/templates/jrails/{jquery.ui → jquery/ui}/dark-hive/ui-icons_ffffff_256x240.png +0 -0
  658. data/templates/jrails/{jquery.ui → jquery/ui}/dot-luv.scss +18 -18
  659. data/templates/jrails/{jquery.ui → jquery/ui}/dot-luv/ui-anim_basic_16x16.gif +0 -0
  660. data/templates/jrails/{jquery.ui → jquery/ui}/dot-luv/ui-bg_diagonals-thick_15_0b3e6f_40x40.png +0 -0
  661. data/templates/jrails/{jquery.ui → jquery/ui}/dot-luv/ui-bg_dots-medium_30_0b58a2_4x4.png +0 -0
  662. data/templates/jrails/{jquery.ui → jquery/ui}/dot-luv/ui-bg_dots-small_20_333333_2x2.png +0 -0
  663. data/templates/jrails/{jquery.ui → jquery/ui}/dot-luv/ui-bg_dots-small_30_a32d00_2x2.png +0 -0
  664. data/templates/jrails/{jquery.ui → jquery/ui}/dot-luv/ui-bg_dots-small_40_00498f_2x2.png +0 -0
  665. data/templates/jrails/{jquery.ui → jquery/ui}/dot-luv/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  666. data/templates/jrails/{jquery.ui → jquery/ui}/dot-luv/ui-bg_flat_40_292929_40x100.png +0 -0
  667. data/templates/jrails/{jquery.ui → jquery/ui}/dot-luv/ui-bg_gloss-wave_20_111111_500x100.png +0 -0
  668. data/templates/jrails/{jquery.ui → jquery/ui}/dot-luv/ui-icons_00498f_256x240.png +0 -0
  669. data/templates/jrails/{jquery.ui → jquery/ui}/dot-luv/ui-icons_98d2fb_256x240.png +0 -0
  670. data/templates/jrails/{jquery.ui → jquery/ui}/dot-luv/ui-icons_9ccdfc_256x240.png +0 -0
  671. data/templates/jrails/{jquery.ui → jquery/ui}/dot-luv/ui-icons_ffffff_256x240.png +0 -0
  672. data/templates/jrails/{jquery.ui → jquery/ui}/eggplant.scss +18 -18
  673. data/templates/jrails/{jquery.ui → jquery/ui}/eggplant/ui-anim_basic_16x16.gif +0 -0
  674. data/templates/jrails/{jquery.ui → jquery/ui}/eggplant/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  675. data/templates/jrails/{jquery.ui → jquery/ui}/eggplant/ui-bg_flat_0_eeeeee_40x100.png +0 -0
  676. data/templates/jrails/{jquery.ui → jquery/ui}/eggplant/ui-bg_flat_55_994d53_40x100.png +0 -0
  677. data/templates/jrails/{jquery.ui → jquery/ui}/eggplant/ui-bg_flat_55_fafafa_40x100.png +0 -0
  678. data/templates/jrails/{jquery.ui → jquery/ui}/eggplant/ui-bg_gloss-wave_30_3d3644_500x100.png +0 -0
  679. data/templates/jrails/{jquery.ui → jquery/ui}/eggplant/ui-bg_highlight-soft_100_dcd9de_1x100.png +0 -0
  680. data/templates/jrails/{jquery.ui → jquery/ui}/eggplant/ui-bg_highlight-soft_100_eae6ea_1x100.png +0 -0
  681. data/templates/jrails/{jquery.ui → jquery/ui}/eggplant/ui-bg_highlight-soft_25_30273a_1x100.png +0 -0
  682. data/templates/jrails/{jquery.ui → jquery/ui}/eggplant/ui-bg_highlight-soft_45_5f5964_1x100.png +0 -0
  683. data/templates/jrails/{jquery.ui → jquery/ui}/eggplant/ui-icons_454545_256x240.png +0 -0
  684. data/templates/jrails/{jquery.ui → jquery/ui}/eggplant/ui-icons_734d99_256x240.png +0 -0
  685. data/templates/jrails/{jquery.ui → jquery/ui}/eggplant/ui-icons_8d78a5_256x240.png +0 -0
  686. data/templates/jrails/{jquery.ui → jquery/ui}/eggplant/ui-icons_a8a3ae_256x240.png +0 -0
  687. data/templates/jrails/{jquery.ui → jquery/ui}/eggplant/ui-icons_ebccce_256x240.png +0 -0
  688. data/templates/jrails/{jquery.ui → jquery/ui}/eggplant/ui-icons_ffffff_256x240.png +0 -0
  689. data/templates/jrails/{jquery.ui → jquery/ui}/excite-bike.scss +18 -18
  690. data/templates/jrails/{jquery.ui → jquery/ui}/excite-bike/ui-anim_basic_16x16.gif +0 -0
  691. data/templates/jrails/{jquery.ui → jquery/ui}/excite-bike/ui-bg_diagonals-small_25_c5ddfc_40x40.png +0 -0
  692. data/templates/jrails/{jquery.ui → jquery/ui}/excite-bike/ui-bg_diagonals-thick_20_e69700_40x40.png +0 -0
  693. data/templates/jrails/{jquery.ui → jquery/ui}/excite-bike/ui-bg_diagonals-thick_22_1484e6_40x40.png +0 -0
  694. data/templates/jrails/{jquery.ui → jquery/ui}/excite-bike/ui-bg_diagonals-thick_26_2293f7_40x40.png +0 -0
  695. data/templates/jrails/{jquery.ui → jquery/ui}/excite-bike/ui-bg_flat_0_e69700_40x100.png +0 -0
  696. data/templates/jrails/{jquery.ui → jquery/ui}/excite-bike/ui-bg_flat_0_e6b900_40x100.png +0 -0
  697. data/templates/jrails/{jquery.ui → jquery/ui}/excite-bike/ui-bg_highlight-soft_100_f9f9f9_1x100.png +0 -0
  698. data/templates/jrails/{jquery.ui → jquery/ui}/excite-bike/ui-bg_inset-hard_100_eeeeee_1x100.png +0 -0
  699. data/templates/jrails/{jquery.ui → jquery/ui}/excite-bike/ui-icons_0a82eb_256x240.png +0 -0
  700. data/templates/jrails/{jquery.ui → jquery/ui}/excite-bike/ui-icons_0b54d5_256x240.png +0 -0
  701. data/templates/jrails/{jquery.ui → jquery/ui}/excite-bike/ui-icons_5fa5e3_256x240.png +0 -0
  702. data/templates/jrails/{jquery.ui → jquery/ui}/excite-bike/ui-icons_fcdd4a_256x240.png +0 -0
  703. data/templates/jrails/{jquery.ui → jquery/ui}/excite-bike/ui-icons_ffffff_256x240.png +0 -0
  704. data/templates/jrails/{jquery.ui → jquery/ui}/farbtastic.scss +3 -3
  705. data/templates/jrails/{jquery.ui → jquery/ui}/farbtastic/marker.png +0 -0
  706. data/templates/jrails/{jquery.ui → jquery/ui}/farbtastic/mask.png +0 -0
  707. data/templates/jrails/{jquery.ui → jquery/ui}/farbtastic/wheel.png +0 -0
  708. data/templates/jrails/{jquery.ui → jquery/ui}/flash_messages/flash-check.png +0 -0
  709. data/templates/jrails/{jquery.ui → jquery/ui}/flash_messages/flash-error-bg.png +0 -0
  710. data/templates/jrails/{jquery.ui → jquery/ui}/flash_messages/flash-error.png +0 -0
  711. data/templates/jrails/{jquery.ui → jquery/ui}/flash_messages/flash-notice-bg.png +0 -0
  712. data/templates/jrails/{jquery.ui → jquery/ui}/flash_messages/flash-warning-bg.png +0 -0
  713. data/templates/jrails/{jquery.ui → jquery/ui}/flash_messages/flash-warning.png +0 -0
  714. data/templates/jrails/{jquery.ui → jquery/ui}/flick.scss +18 -18
  715. data/templates/jrails/{jquery.ui → jquery/ui}/flick/ui-anim_basic_16x16.gif +0 -0
  716. data/templates/jrails/{jquery.ui → jquery/ui}/flick/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  717. data/templates/jrails/{jquery.ui → jquery/ui}/flick/ui-bg_flat_0_eeeeee_40x100.png +0 -0
  718. data/templates/jrails/{jquery.ui → jquery/ui}/flick/ui-bg_flat_55_ffffff_40x100.png +0 -0
  719. data/templates/jrails/{jquery.ui → jquery/ui}/flick/ui-bg_flat_75_ffffff_40x100.png +0 -0
  720. data/templates/jrails/{jquery.ui → jquery/ui}/flick/ui-bg_glass_65_ffffff_1x400.png +0 -0
  721. data/templates/jrails/{jquery.ui → jquery/ui}/flick/ui-bg_highlight-soft_100_f6f6f6_1x100.png +0 -0
  722. data/templates/jrails/{jquery.ui → jquery/ui}/flick/ui-bg_highlight-soft_25_0073ea_1x100.png +0 -0
  723. data/templates/jrails/{jquery.ui → jquery/ui}/flick/ui-bg_highlight-soft_50_dddddd_1x100.png +0 -0
  724. data/templates/jrails/{jquery.ui → jquery/ui}/flick/ui-icons_0073ea_256x240.png +0 -0
  725. data/templates/jrails/{jquery.ui → jquery/ui}/flick/ui-icons_454545_256x240.png +0 -0
  726. data/templates/jrails/{jquery.ui → jquery/ui}/flick/ui-icons_666666_256x240.png +0 -0
  727. data/templates/jrails/{jquery.ui → jquery/ui}/flick/ui-icons_ff0084_256x240.png +0 -0
  728. data/templates/jrails/{jquery.ui → jquery/ui}/flick/ui-icons_ffffff_256x240.png +0 -0
  729. data/templates/jrails/{jquery.ui → jquery/ui}/hot-sneaks.scss +18 -18
  730. data/templates/jrails/{jquery.ui → jquery/ui}/hot-sneaks/ui-anim_basic_16x16.gif +0 -0
  731. data/templates/jrails/{jquery.ui → jquery/ui}/hot-sneaks/ui-bg_diagonals-small_40_db4865_40x40.png +0 -0
  732. data/templates/jrails/{jquery.ui → jquery/ui}/hot-sneaks/ui-bg_diagonals-small_50_93c3cd_40x40.png +0 -0
  733. data/templates/jrails/{jquery.ui → jquery/ui}/hot-sneaks/ui-bg_diagonals-small_50_ff3853_40x40.png +0 -0
  734. data/templates/jrails/{jquery.ui → jquery/ui}/hot-sneaks/ui-bg_diagonals-small_75_ccd232_40x40.png +0 -0
  735. data/templates/jrails/{jquery.ui → jquery/ui}/hot-sneaks/ui-bg_dots-medium_80_ffff38_4x4.png +0 -0
  736. data/templates/jrails/{jquery.ui → jquery/ui}/hot-sneaks/ui-bg_dots-small_35_35414f_2x2.png +0 -0
  737. data/templates/jrails/{jquery.ui → jquery/ui}/hot-sneaks/ui-bg_flat_75_ba9217_40x100.png +0 -0
  738. data/templates/jrails/{jquery.ui → jquery/ui}/hot-sneaks/ui-bg_flat_75_ffffff_40x100.png +0 -0
  739. data/templates/jrails/{jquery.ui → jquery/ui}/hot-sneaks/ui-bg_white-lines_85_f7f7ba_40x100.png +0 -0
  740. data/templates/jrails/{jquery.ui → jquery/ui}/hot-sneaks/ui-icons_454545_256x240.png +0 -0
  741. data/templates/jrails/{jquery.ui → jquery/ui}/hot-sneaks/ui-icons_88a206_256x240.png +0 -0
  742. data/templates/jrails/{jquery.ui → jquery/ui}/hot-sneaks/ui-icons_c02669_256x240.png +0 -0
  743. data/templates/jrails/{jquery.ui → jquery/ui}/hot-sneaks/ui-icons_e1e463_256x240.png +0 -0
  744. data/templates/jrails/{jquery.ui → jquery/ui}/hot-sneaks/ui-icons_ffeb33_256x240.png +0 -0
  745. data/templates/jrails/{jquery.ui → jquery/ui}/hot-sneaks/ui-icons_ffffff_256x240.png +0 -0
  746. data/templates/jrails/{jquery.ui → jquery/ui}/humanity.scss +18 -18
  747. data/templates/jrails/{jquery.ui → jquery/ui}/humanity/ui-anim_basic_16x16.gif +0 -0
  748. data/templates/jrails/{jquery.ui → jquery/ui}/humanity/ui-bg_flat_75_aaaaaa_40x100.png +0 -0
  749. data/templates/jrails/{jquery.ui → jquery/ui}/humanity/ui-bg_glass_100_f5f0e5_1x400.png +0 -0
  750. data/templates/jrails/{jquery.ui → jquery/ui}/humanity/ui-bg_glass_25_cb842e_1x400.png +0 -0
  751. data/templates/jrails/{jquery.ui → jquery/ui}/humanity/ui-bg_glass_70_ede4d4_1x400.png +0 -0
  752. data/templates/jrails/{jquery.ui → jquery/ui}/humanity/ui-bg_highlight-hard_100_f4f0ec_1x100.png +0 -0
  753. data/templates/jrails/{jquery.ui → jquery/ui}/humanity/ui-bg_highlight-hard_65_fee4bd_1x100.png +0 -0
  754. data/templates/jrails/{jquery.ui → jquery/ui}/humanity/ui-bg_highlight-hard_75_f5f5b5_1x100.png +0 -0
  755. data/templates/jrails/{jquery.ui → jquery/ui}/humanity/ui-bg_inset-soft_100_f4f0ec_1x100.png +0 -0
  756. data/templates/jrails/{jquery.ui → jquery/ui}/humanity/ui-icons_c47a23_256x240.png +0 -0
  757. data/templates/jrails/{jquery.ui → jquery/ui}/humanity/ui-icons_cb672b_256x240.png +0 -0
  758. data/templates/jrails/{jquery.ui → jquery/ui}/humanity/ui-icons_f08000_256x240.png +0 -0
  759. data/templates/jrails/{jquery.ui → jquery/ui}/humanity/ui-icons_f35f07_256x240.png +0 -0
  760. data/templates/jrails/{jquery.ui → jquery/ui}/humanity/ui-icons_ff7519_256x240.png +0 -0
  761. data/templates/jrails/{jquery.ui → jquery/ui}/humanity/ui-icons_ffffff_256x240.png +0 -0
  762. data/templates/jrails/{jquery.ui → jquery/ui}/le-frog.scss +18 -18
  763. data/templates/jrails/{jquery.ui → jquery/ui}/le-frog/ui-anim_basic_16x16.gif +0 -0
  764. data/templates/jrails/{jquery.ui → jquery/ui}/le-frog/ui-bg_diagonals-small_0_aaaaaa_40x40.png +0 -0
  765. data/templates/jrails/{jquery.ui → jquery/ui}/le-frog/ui-bg_diagonals-thick_15_444444_40x40.png +0 -0
  766. data/templates/jrails/{jquery.ui → jquery/ui}/le-frog/ui-bg_diagonals-thick_95_ffdc2e_40x40.png +0 -0
  767. data/templates/jrails/{jquery.ui → jquery/ui}/le-frog/ui-bg_glass_55_fbf5d0_1x400.png +0 -0
  768. data/templates/jrails/{jquery.ui → jquery/ui}/le-frog/ui-bg_highlight-hard_30_285c00_1x100.png +0 -0
  769. data/templates/jrails/{jquery.ui → jquery/ui}/le-frog/ui-bg_highlight-soft_33_3a8104_1x100.png +0 -0
  770. data/templates/jrails/{jquery.ui → jquery/ui}/le-frog/ui-bg_highlight-soft_50_4eb305_1x100.png +0 -0
  771. data/templates/jrails/{jquery.ui → jquery/ui}/le-frog/ui-bg_highlight-soft_60_4ca20b_1x100.png +0 -0
  772. data/templates/jrails/{jquery.ui → jquery/ui}/le-frog/ui-bg_inset-soft_10_285c00_1x100.png +0 -0
  773. data/templates/jrails/{jquery.ui → jquery/ui}/le-frog/ui-icons_4eb305_256x240.png +0 -0
  774. data/templates/jrails/{jquery.ui → jquery/ui}/le-frog/ui-icons_72b42d_256x240.png +0 -0
  775. data/templates/jrails/{jquery.ui → jquery/ui}/le-frog/ui-icons_cd0a0a_256x240.png +0 -0
  776. data/templates/jrails/{jquery.ui → jquery/ui}/le-frog/ui-icons_ffffff_256x240.png +0 -0
  777. data/templates/jrails/{jquery.ui → jquery/ui}/mint-choc.scss +18 -18
  778. data/templates/jrails/{jquery.ui → jquery/ui}/mint-choc/ui-anim_basic_16x16.gif +0 -0
  779. data/templates/jrails/{jquery.ui → jquery/ui}/mint-choc/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  780. data/templates/jrails/{jquery.ui → jquery/ui}/mint-choc/ui-bg_glass_15_5f391b_1x400.png +0 -0
  781. data/templates/jrails/{jquery.ui → jquery/ui}/mint-choc/ui-bg_gloss-wave_20_1c160d_500x100.png +0 -0
  782. data/templates/jrails/{jquery.ui → jquery/ui}/mint-choc/ui-bg_gloss-wave_25_453326_500x100.png +0 -0
  783. data/templates/jrails/{jquery.ui → jquery/ui}/mint-choc/ui-bg_gloss-wave_30_44372c_500x100.png +0 -0
  784. data/templates/jrails/{jquery.ui → jquery/ui}/mint-choc/ui-bg_highlight-soft_20_201913_1x100.png +0 -0
  785. data/templates/jrails/{jquery.ui → jquery/ui}/mint-choc/ui-bg_highlight-soft_20_619226_1x100.png +0 -0
  786. data/templates/jrails/{jquery.ui → jquery/ui}/mint-choc/ui-bg_inset-soft_10_201913_1x100.png +0 -0
  787. data/templates/jrails/{jquery.ui → jquery/ui}/mint-choc/ui-icons_222222_256x240.png +0 -0
  788. data/templates/jrails/{jquery.ui → jquery/ui}/mint-choc/ui-icons_9bcc60_256x240.png +0 -0
  789. data/templates/jrails/{jquery.ui → jquery/ui}/mint-choc/ui-icons_add978_256x240.png +0 -0
  790. data/templates/jrails/{jquery.ui → jquery/ui}/mint-choc/ui-icons_e3ddc9_256x240.png +0 -0
  791. data/templates/jrails/{jquery.ui → jquery/ui}/mint-choc/ui-icons_f1fd86_256x240.png +0 -0
  792. data/templates/jrails/{jquery.ui → jquery/ui}/mint-choc/ui-icons_ffffff_256x240.png +0 -0
  793. data/templates/jrails/{jquery.ui → jquery/ui}/overcast.scss +18 -18
  794. data/templates/jrails/{jquery.ui → jquery/ui}/overcast/ui-anim_basic_16x16.gif +0 -0
  795. data/templates/jrails/{jquery.ui → jquery/ui}/overcast/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  796. data/templates/jrails/{jquery.ui → jquery/ui}/overcast/ui-bg_flat_0_eeeeee_40x100.png +0 -0
  797. data/templates/jrails/{jquery.ui → jquery/ui}/overcast/ui-bg_flat_55_c0402a_40x100.png +0 -0
  798. data/templates/jrails/{jquery.ui → jquery/ui}/overcast/ui-bg_flat_55_eeeeee_40x100.png +0 -0
  799. data/templates/jrails/{jquery.ui → jquery/ui}/overcast/ui-bg_glass_100_f8f8f8_1x400.png +0 -0
  800. data/templates/jrails/{jquery.ui → jquery/ui}/overcast/ui-bg_glass_35_dddddd_1x400.png +0 -0
  801. data/templates/jrails/{jquery.ui → jquery/ui}/overcast/ui-bg_glass_60_eeeeee_1x400.png +0 -0
  802. data/templates/jrails/{jquery.ui → jquery/ui}/overcast/ui-bg_inset-hard_75_999999_1x100.png +0 -0
  803. data/templates/jrails/{jquery.ui → jquery/ui}/overcast/ui-bg_inset-soft_50_c9c9c9_1x100.png +0 -0
  804. data/templates/jrails/{jquery.ui → jquery/ui}/overcast/ui-icons_3383bb_256x240.png +0 -0
  805. data/templates/jrails/{jquery.ui → jquery/ui}/overcast/ui-icons_454545_256x240.png +0 -0
  806. data/templates/jrails/{jquery.ui → jquery/ui}/overcast/ui-icons_70b2e1_256x240.png +0 -0
  807. data/templates/jrails/{jquery.ui → jquery/ui}/overcast/ui-icons_999999_256x240.png +0 -0
  808. data/templates/jrails/{jquery.ui → jquery/ui}/overcast/ui-icons_fbc856_256x240.png +0 -0
  809. data/templates/jrails/{jquery.ui → jquery/ui}/pepper-grinder.scss +18 -18
  810. data/templates/jrails/{jquery.ui → jquery/ui}/pepper-grinder/ui-anim_basic_16x16.gif +0 -0
  811. data/templates/jrails/{jquery.ui → jquery/ui}/pepper-grinder/ui-bg_diagonal-maze_20_6e4f1c_10x10.png +0 -0
  812. data/templates/jrails/{jquery.ui → jquery/ui}/pepper-grinder/ui-bg_diagonal-maze_40_000000_10x10.png +0 -0
  813. data/templates/jrails/{jquery.ui → jquery/ui}/pepper-grinder/ui-bg_fine-grain_10_eceadf_60x60.png +0 -0
  814. data/templates/jrails/{jquery.ui → jquery/ui}/pepper-grinder/ui-bg_fine-grain_10_f8f7f6_60x60.png +0 -0
  815. data/templates/jrails/{jquery.ui → jquery/ui}/pepper-grinder/ui-bg_fine-grain_15_eceadf_60x60.png +0 -0
  816. data/templates/jrails/{jquery.ui → jquery/ui}/pepper-grinder/ui-bg_fine-grain_15_f7f3de_60x60.png +0 -0
  817. data/templates/jrails/{jquery.ui → jquery/ui}/pepper-grinder/ui-bg_fine-grain_15_ffffff_60x60.png +0 -0
  818. data/templates/jrails/{jquery.ui → jquery/ui}/pepper-grinder/ui-bg_fine-grain_65_654b24_60x60.png +0 -0
  819. data/templates/jrails/{jquery.ui → jquery/ui}/pepper-grinder/ui-bg_fine-grain_68_b83400_60x60.png +0 -0
  820. data/templates/jrails/{jquery.ui → jquery/ui}/pepper-grinder/ui-icons_222222_256x240.png +0 -0
  821. data/templates/jrails/{jquery.ui → jquery/ui}/pepper-grinder/ui-icons_3572ac_256x240.png +0 -0
  822. data/templates/jrails/{jquery.ui → jquery/ui}/pepper-grinder/ui-icons_8c291d_256x240.png +0 -0
  823. data/templates/jrails/{jquery.ui → jquery/ui}/pepper-grinder/ui-icons_b83400_256x240.png +0 -0
  824. data/templates/jrails/{jquery.ui → jquery/ui}/pepper-grinder/ui-icons_fbdb93_256x240.png +0 -0
  825. data/templates/jrails/{jquery.ui → jquery/ui}/pepper-grinder/ui-icons_ffffff_256x240.png +0 -0
  826. data/templates/jrails/{jquery.ui → jquery/ui}/redmond.scss +18 -18
  827. data/templates/jrails/{jquery.ui → jquery/ui}/redmond/ui-anim_basic_16x16.gif +0 -0
  828. data/templates/jrails/{jquery.ui → jquery/ui}/redmond/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  829. data/templates/jrails/{jquery.ui → jquery/ui}/redmond/ui-bg_flat_55_fbec88_40x100.png +0 -0
  830. data/templates/jrails/{jquery.ui → jquery/ui}/redmond/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
  831. data/templates/jrails/{jquery.ui → jquery/ui}/redmond/ui-bg_glass_85_dfeffc_1x400.png +0 -0
  832. data/templates/jrails/{jquery.ui → jquery/ui}/redmond/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  833. data/templates/jrails/{jquery.ui → jquery/ui}/redmond/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
  834. data/templates/jrails/{jquery.ui → jquery/ui}/redmond/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
  835. data/templates/jrails/{jquery.ui → jquery/ui}/redmond/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
  836. data/templates/jrails/{jquery.ui → jquery/ui}/redmond/ui-icons_217bc0_256x240.png +0 -0
  837. data/templates/jrails/{jquery.ui → jquery/ui}/redmond/ui-icons_2e83ff_256x240.png +0 -0
  838. data/templates/jrails/{jquery.ui → jquery/ui}/redmond/ui-icons_469bdd_256x240.png +0 -0
  839. data/templates/jrails/{jquery.ui → jquery/ui}/redmond/ui-icons_6da8d5_256x240.png +0 -0
  840. data/templates/jrails/{jquery.ui → jquery/ui}/redmond/ui-icons_cd0a0a_256x240.png +0 -0
  841. data/templates/jrails/{jquery.ui → jquery/ui}/redmond/ui-icons_d8e7f3_256x240.png +0 -0
  842. data/templates/jrails/{jquery.ui → jquery/ui}/redmond/ui-icons_f9bd01_256x240.png +0 -0
  843. data/templates/jrails/{jquery.ui → jquery/ui}/smoothness.scss +18 -18
  844. data/templates/jrails/{jquery.ui → jquery/ui}/smoothness/ui-anim_basic_16x16.gif +0 -0
  845. data/templates/jrails/{jquery.ui → jquery/ui}/smoothness/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  846. data/templates/jrails/{jquery.ui → jquery/ui}/smoothness/ui-bg_flat_75_ffffff_40x100.png +0 -0
  847. data/templates/jrails/{jquery.ui → jquery/ui}/smoothness/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  848. data/templates/jrails/{jquery.ui → jquery/ui}/smoothness/ui-bg_glass_65_ffffff_1x400.png +0 -0
  849. data/templates/jrails/{jquery.ui → jquery/ui}/smoothness/ui-bg_glass_75_dadada_1x400.png +0 -0
  850. data/templates/jrails/{jquery.ui → jquery/ui}/smoothness/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  851. data/templates/jrails/{jquery.ui → jquery/ui}/smoothness/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  852. data/templates/jrails/{jquery.ui → jquery/ui}/smoothness/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  853. data/templates/jrails/{jquery.ui → jquery/ui}/smoothness/ui-icons_222222_256x240.png +0 -0
  854. data/templates/jrails/{jquery.ui → jquery/ui}/smoothness/ui-icons_2e83ff_256x240.png +0 -0
  855. data/templates/jrails/{jquery.ui → jquery/ui}/smoothness/ui-icons_454545_256x240.png +0 -0
  856. data/templates/jrails/{jquery.ui → jquery/ui}/smoothness/ui-icons_888888_256x240.png +0 -0
  857. data/templates/jrails/{jquery.ui → jquery/ui}/smoothness/ui-icons_cd0a0a_256x240.png +0 -0
  858. data/templates/jrails/{jquery.ui → jquery/ui}/south-street.scss +18 -18
  859. data/templates/jrails/{jquery.ui → jquery/ui}/south-street/ui-anim_basic_16x16.gif +0 -0
  860. data/templates/jrails/{jquery.ui → jquery/ui}/south-street/ui-bg_glass_55_fcf0ba_1x400.png +0 -0
  861. data/templates/jrails/{jquery.ui → jquery/ui}/south-street/ui-bg_gloss-wave_100_ece8da_500x100.png +0 -0
  862. data/templates/jrails/{jquery.ui → jquery/ui}/south-street/ui-bg_highlight-hard_100_f5f3e5_1x100.png +0 -0
  863. data/templates/jrails/{jquery.ui → jquery/ui}/south-street/ui-bg_highlight-hard_100_fafaf4_1x100.png +0 -0
  864. data/templates/jrails/{jquery.ui → jquery/ui}/south-street/ui-bg_highlight-hard_15_459e00_1x100.png +0 -0
  865. data/templates/jrails/{jquery.ui → jquery/ui}/south-street/ui-bg_highlight-hard_95_cccccc_1x100.png +0 -0
  866. data/templates/jrails/{jquery.ui → jquery/ui}/south-street/ui-bg_highlight-soft_25_67b021_1x100.png +0 -0
  867. data/templates/jrails/{jquery.ui → jquery/ui}/south-street/ui-bg_highlight-soft_95_ffedad_1x100.png +0 -0
  868. data/templates/jrails/{jquery.ui → jquery/ui}/south-street/ui-bg_inset-soft_15_2b2922_1x100.png +0 -0
  869. data/templates/jrails/{jquery.ui → jquery/ui}/south-street/ui-icons_808080_256x240.png +0 -0
  870. data/templates/jrails/{jquery.ui → jquery/ui}/south-street/ui-icons_847e71_256x240.png +0 -0
  871. data/templates/jrails/{jquery.ui → jquery/ui}/south-street/ui-icons_8dc262_256x240.png +0 -0
  872. data/templates/jrails/{jquery.ui → jquery/ui}/south-street/ui-icons_cd0a0a_256x240.png +0 -0
  873. data/templates/jrails/{jquery.ui → jquery/ui}/south-street/ui-icons_eeeeee_256x240.png +0 -0
  874. data/templates/jrails/{jquery.ui → jquery/ui}/south-street/ui-icons_ffffff_256x240.png +0 -0
  875. data/templates/jrails/{jquery.ui → jquery/ui}/start.scss +18 -18
  876. data/templates/jrails/{jquery.ui → jquery/ui}/start/ui-anim_basic_16x16.gif +0 -0
  877. data/templates/jrails/{jquery.ui → jquery/ui}/start/ui-bg_flat_55_999999_40x100.png +0 -0
  878. data/templates/jrails/{jquery.ui → jquery/ui}/start/ui-bg_flat_75_aaaaaa_40x100.png +0 -0
  879. data/templates/jrails/{jquery.ui → jquery/ui}/start/ui-bg_glass_45_0078ae_1x400.png +0 -0
  880. data/templates/jrails/{jquery.ui → jquery/ui}/start/ui-bg_glass_55_f8da4e_1x400.png +0 -0
  881. data/templates/jrails/{jquery.ui → jquery/ui}/start/ui-bg_glass_75_79c9ec_1x400.png +0 -0
  882. data/templates/jrails/{jquery.ui → jquery/ui}/start/ui-bg_gloss-wave_45_e14f1c_500x100.png +0 -0
  883. data/templates/jrails/{jquery.ui → jquery/ui}/start/ui-bg_gloss-wave_50_6eac2c_500x100.png +0 -0
  884. data/templates/jrails/{jquery.ui → jquery/ui}/start/ui-bg_gloss-wave_75_2191c0_500x100.png +0 -0
  885. data/templates/jrails/{jquery.ui → jquery/ui}/start/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
  886. data/templates/jrails/{jquery.ui → jquery/ui}/start/ui-icons_0078ae_256x240.png +0 -0
  887. data/templates/jrails/{jquery.ui → jquery/ui}/start/ui-icons_056b93_256x240.png +0 -0
  888. data/templates/jrails/{jquery.ui → jquery/ui}/start/ui-icons_d8e7f3_256x240.png +0 -0
  889. data/templates/jrails/{jquery.ui → jquery/ui}/start/ui-icons_e0fdff_256x240.png +0 -0
  890. data/templates/jrails/{jquery.ui → jquery/ui}/start/ui-icons_f5e175_256x240.png +0 -0
  891. data/templates/jrails/{jquery.ui → jquery/ui}/start/ui-icons_f7a50d_256x240.png +0 -0
  892. data/templates/jrails/{jquery.ui → jquery/ui}/start/ui-icons_fcd113_256x240.png +0 -0
  893. data/templates/jrails/{jquery.ui → jquery/ui}/sunny.scss +18 -18
  894. data/templates/jrails/{jquery.ui → jquery/ui}/sunny/ui-anim_basic_16x16.gif +0 -0
  895. data/templates/jrails/{jquery.ui → jquery/ui}/sunny/ui-bg_diagonals-medium_20_d34d17_40x40.png +0 -0
  896. data/templates/jrails/{jquery.ui → jquery/ui}/sunny/ui-bg_flat_30_cccccc_40x100.png +0 -0
  897. data/templates/jrails/{jquery.ui → jquery/ui}/sunny/ui-bg_flat_50_5c5c5c_40x100.png +0 -0
  898. data/templates/jrails/{jquery.ui → jquery/ui}/sunny/ui-bg_gloss-wave_45_817865_500x100.png +0 -0
  899. data/templates/jrails/{jquery.ui → jquery/ui}/sunny/ui-bg_gloss-wave_60_fece2f_500x100.png +0 -0
  900. data/templates/jrails/{jquery.ui → jquery/ui}/sunny/ui-bg_gloss-wave_70_ffdd57_500x100.png +0 -0
  901. data/templates/jrails/{jquery.ui → jquery/ui}/sunny/ui-bg_gloss-wave_90_fff9e5_500x100.png +0 -0
  902. data/templates/jrails/{jquery.ui → jquery/ui}/sunny/ui-bg_highlight-soft_100_feeebd_1x100.png +0 -0
  903. data/templates/jrails/{jquery.ui → jquery/ui}/sunny/ui-bg_inset-soft_30_ffffff_1x100.png +0 -0
  904. data/templates/jrails/{jquery.ui → jquery/ui}/sunny/ui-icons_3d3d3d_256x240.png +0 -0
  905. data/templates/jrails/{jquery.ui → jquery/ui}/sunny/ui-icons_bd7b00_256x240.png +0 -0
  906. data/templates/jrails/{jquery.ui → jquery/ui}/sunny/ui-icons_d19405_256x240.png +0 -0
  907. data/templates/jrails/{jquery.ui → jquery/ui}/sunny/ui-icons_eb990f_256x240.png +0 -0
  908. data/templates/jrails/{jquery.ui → jquery/ui}/sunny/ui-icons_ed9f26_256x240.png +0 -0
  909. data/templates/jrails/{jquery.ui → jquery/ui}/sunny/ui-icons_fadc7a_256x240.png +0 -0
  910. data/templates/jrails/{jquery.ui → jquery/ui}/sunny/ui-icons_ffe180_256x240.png +0 -0
  911. data/templates/jrails/{jquery.ui → jquery/ui}/swanky-purse.scss +18 -18
  912. data/templates/jrails/{jquery.ui → jquery/ui}/swanky-purse/ui-anim_basic_16x16.gif +0 -0
  913. data/templates/jrails/{jquery.ui → jquery/ui}/swanky-purse/ui-bg_diamond_10_4f4221_10x8.png +0 -0
  914. data/templates/jrails/{jquery.ui → jquery/ui}/swanky-purse/ui-bg_diamond_20_372806_10x8.png +0 -0
  915. data/templates/jrails/{jquery.ui → jquery/ui}/swanky-purse/ui-bg_diamond_25_675423_10x8.png +0 -0
  916. data/templates/jrails/{jquery.ui → jquery/ui}/swanky-purse/ui-bg_diamond_25_d5ac5d_10x8.png +0 -0
  917. data/templates/jrails/{jquery.ui → jquery/ui}/swanky-purse/ui-bg_diamond_8_261803_10x8.png +0 -0
  918. data/templates/jrails/{jquery.ui → jquery/ui}/swanky-purse/ui-bg_diamond_8_443113_10x8.png +0 -0
  919. data/templates/jrails/{jquery.ui → jquery/ui}/swanky-purse/ui-bg_flat_75_ddd4b0_40x100.png +0 -0
  920. data/templates/jrails/{jquery.ui → jquery/ui}/swanky-purse/ui-bg_highlight-hard_65_fee4bd_1x100.png +0 -0
  921. data/templates/jrails/{jquery.ui → jquery/ui}/swanky-purse/ui-icons_070603_256x240.png +0 -0
  922. data/templates/jrails/{jquery.ui → jquery/ui}/swanky-purse/ui-icons_e8e2b5_256x240.png +0 -0
  923. data/templates/jrails/{jquery.ui → jquery/ui}/swanky-purse/ui-icons_e9cd86_256x240.png +0 -0
  924. data/templates/jrails/{jquery.ui → jquery/ui}/swanky-purse/ui-icons_efec9f_256x240.png +0 -0
  925. data/templates/jrails/{jquery.ui → jquery/ui}/swanky-purse/ui-icons_f2ec64_256x240.png +0 -0
  926. data/templates/jrails/{jquery.ui → jquery/ui}/swanky-purse/ui-icons_f9f2bd_256x240.png +0 -0
  927. data/templates/jrails/{jquery.ui → jquery/ui}/swanky-purse/ui-icons_ff7519_256x240.png +0 -0
  928. data/templates/jrails/{jquery.ui → jquery/ui}/themeSwitcher/buttonbg.png +0 -0
  929. data/templates/jrails/{jquery.ui → jquery/ui}/themeSwitcher/icon_color_arrow.gif +0 -0
  930. data/templates/jrails/{jquery.ui → jquery/ui}/themeSwitcher/menuhoverbg.png +0 -0
  931. data/templates/jrails/{jquery.ui → jquery/ui}/themeSwitcher/theme_90_black_matte.png +0 -0
  932. data/templates/jrails/{jquery.ui → jquery/ui}/themeSwitcher/theme_90_black_tie.png +0 -0
  933. data/templates/jrails/{jquery.ui → jquery/ui}/themeSwitcher/theme_90_blitzer.png +0 -0
  934. data/templates/jrails/{jquery.ui → jquery/ui}/themeSwitcher/theme_90_cupertino.png +0 -0
  935. data/templates/jrails/{jquery.ui → jquery/ui}/themeSwitcher/theme_90_dark_hive.png +0 -0
  936. data/templates/jrails/{jquery.ui → jquery/ui}/themeSwitcher/theme_90_dot_luv.png +0 -0
  937. data/templates/jrails/{jquery.ui → jquery/ui}/themeSwitcher/theme_90_eggplant.png +0 -0
  938. data/templates/jrails/{jquery.ui → jquery/ui}/themeSwitcher/theme_90_excite_bike.png +0 -0
  939. data/templates/jrails/{jquery.ui → jquery/ui}/themeSwitcher/theme_90_flick.png +0 -0
  940. data/templates/jrails/{jquery.ui → jquery/ui}/themeSwitcher/theme_90_hot_sneaks.png +0 -0
  941. data/templates/jrails/{jquery.ui → jquery/ui}/themeSwitcher/theme_90_humanity.png +0 -0
  942. data/templates/jrails/{jquery.ui → jquery/ui}/themeSwitcher/theme_90_le_frog.png +0 -0
  943. data/templates/jrails/{jquery.ui → jquery/ui}/themeSwitcher/theme_90_mint_choco.png +0 -0
  944. data/templates/jrails/{jquery.ui → jquery/ui}/themeSwitcher/theme_90_overcast.png +0 -0
  945. data/templates/jrails/{jquery.ui → jquery/ui}/themeSwitcher/theme_90_pepper_grinder.png +0 -0
  946. data/templates/jrails/{jquery.ui → jquery/ui}/themeSwitcher/theme_90_smoothness.png +0 -0
  947. data/templates/jrails/{jquery.ui → jquery/ui}/themeSwitcher/theme_90_south_street.png +0 -0
  948. data/templates/jrails/{jquery.ui → jquery/ui}/themeSwitcher/theme_90_start_menu.png +0 -0
  949. data/templates/jrails/{jquery.ui → jquery/ui}/themeSwitcher/theme_90_sunny.png +0 -0
  950. data/templates/jrails/{jquery.ui → jquery/ui}/themeSwitcher/theme_90_swanky_purse.png +0 -0
  951. data/templates/jrails/{jquery.ui → jquery/ui}/themeSwitcher/theme_90_trontastic.png +0 -0
  952. data/templates/jrails/{jquery.ui → jquery/ui}/themeSwitcher/theme_90_ui_dark.png +0 -0
  953. data/templates/jrails/{jquery.ui → jquery/ui}/themeSwitcher/theme_90_ui_light.png +0 -0
  954. data/templates/jrails/{jquery.ui → jquery/ui}/themeSwitcher/theme_90_windoze.png +0 -0
  955. data/templates/jrails/{jquery.ui → jquery/ui}/trontastic.scss +18 -18
  956. data/templates/jrails/{jquery.ui → jquery/ui}/trontastic/ui-anim_basic_16x16.gif +0 -0
  957. data/templates/jrails/{jquery.ui → jquery/ui}/trontastic/ui-bg_diagonals-small_50_262626_40x40.png +0 -0
  958. data/templates/jrails/{jquery.ui → jquery/ui}/trontastic/ui-bg_flat_0_303030_40x100.png +0 -0
  959. data/templates/jrails/{jquery.ui → jquery/ui}/trontastic/ui-bg_flat_0_4c4c4c_40x100.png +0 -0
  960. data/templates/jrails/{jquery.ui → jquery/ui}/trontastic/ui-bg_glass_40_0a0a0a_1x400.png +0 -0
  961. data/templates/jrails/{jquery.ui → jquery/ui}/trontastic/ui-bg_glass_55_f1fbe5_1x400.png +0 -0
  962. data/templates/jrails/{jquery.ui → jquery/ui}/trontastic/ui-bg_glass_60_000000_1x400.png +0 -0
  963. data/templates/jrails/{jquery.ui → jquery/ui}/trontastic/ui-bg_gloss-wave_55_000000_500x100.png +0 -0
  964. data/templates/jrails/{jquery.ui → jquery/ui}/trontastic/ui-bg_gloss-wave_85_9fda58_500x100.png +0 -0
  965. data/templates/jrails/{jquery.ui → jquery/ui}/trontastic/ui-bg_gloss-wave_95_f6ecd5_500x100.png +0 -0
  966. data/templates/jrails/{jquery.ui → jquery/ui}/trontastic/ui-icons_000000_256x240.png +0 -0
  967. data/templates/jrails/{jquery.ui → jquery/ui}/trontastic/ui-icons_1f1f1f_256x240.png +0 -0
  968. data/templates/jrails/{jquery.ui → jquery/ui}/trontastic/ui-icons_9fda58_256x240.png +0 -0
  969. data/templates/jrails/{jquery.ui → jquery/ui}/trontastic/ui-icons_b8ec79_256x240.png +0 -0
  970. data/templates/jrails/{jquery.ui → jquery/ui}/trontastic/ui-icons_cd0a0a_256x240.png +0 -0
  971. data/templates/jrails/{jquery.ui → jquery/ui}/trontastic/ui-icons_ffffff_256x240.png +0 -0
  972. data/templates/jrails/{jquery.ui → jquery/ui}/ui-darkness.scss +18 -18
  973. data/templates/jrails/{jquery.ui → jquery/ui}/ui-darkness/ui-anim_basic_16x16.gif +0 -0
  974. data/templates/jrails/{jquery.ui → jquery/ui}/ui-darkness/ui-bg_flat_30_cccccc_40x100.png +0 -0
  975. data/templates/jrails/{jquery.ui → jquery/ui}/ui-darkness/ui-bg_flat_50_5c5c5c_40x100.png +0 -0
  976. data/templates/jrails/{jquery.ui → jquery/ui}/ui-darkness/ui-bg_glass_20_555555_1x400.png +0 -0
  977. data/templates/jrails/{jquery.ui → jquery/ui}/ui-darkness/ui-bg_glass_40_0078a3_1x400.png +0 -0
  978. data/templates/jrails/{jquery.ui → jquery/ui}/ui-darkness/ui-bg_glass_40_ffc73d_1x400.png +0 -0
  979. data/templates/jrails/{jquery.ui → jquery/ui}/ui-darkness/ui-bg_gloss-wave_25_333333_500x100.png +0 -0
  980. data/templates/jrails/{jquery.ui → jquery/ui}/ui-darkness/ui-bg_highlight-soft_80_eeeeee_1x100.png +0 -0
  981. data/templates/jrails/{jquery.ui → jquery/ui}/ui-darkness/ui-bg_inset-soft_25_000000_1x100.png +0 -0
  982. data/templates/jrails/{jquery.ui → jquery/ui}/ui-darkness/ui-bg_inset-soft_30_f58400_1x100.png +0 -0
  983. data/templates/jrails/{jquery.ui → jquery/ui}/ui-darkness/ui-icons_222222_256x240.png +0 -0
  984. data/templates/jrails/{jquery.ui → jquery/ui}/ui-darkness/ui-icons_4b8e0b_256x240.png +0 -0
  985. data/templates/jrails/{jquery.ui → jquery/ui}/ui-darkness/ui-icons_a83300_256x240.png +0 -0
  986. data/templates/jrails/{jquery.ui → jquery/ui}/ui-darkness/ui-icons_cccccc_256x240.png +0 -0
  987. data/templates/jrails/{jquery.ui → jquery/ui}/ui-darkness/ui-icons_ffffff_256x240.png +0 -0
  988. data/templates/jrails/{jquery.ui → jquery/ui}/ui-lightness.scss +18 -18
  989. data/templates/jrails/{jquery.ui → jquery/ui}/ui-lightness/ui-anim_basic_16x16.gif +0 -0
  990. data/templates/jrails/{jquery.ui → jquery/ui}/ui-lightness/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  991. data/templates/jrails/{jquery.ui → jquery/ui}/ui-lightness/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  992. data/templates/jrails/{jquery.ui → jquery/ui}/ui-lightness/ui-bg_flat_10_000000_40x100.png +0 -0
  993. data/templates/jrails/{jquery.ui → jquery/ui}/ui-lightness/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  994. data/templates/jrails/{jquery.ui → jquery/ui}/ui-lightness/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  995. data/templates/jrails/{jquery.ui → jquery/ui}/ui-lightness/ui-bg_glass_65_ffffff_1x400.png +0 -0
  996. data/templates/jrails/{jquery.ui → jquery/ui}/ui-lightness/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  997. data/templates/jrails/{jquery.ui → jquery/ui}/ui-lightness/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  998. data/templates/jrails/{jquery.ui → jquery/ui}/ui-lightness/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  999. data/templates/jrails/{jquery.ui → jquery/ui}/ui-lightness/ui-icons_222222_256x240.png +0 -0
  1000. data/templates/jrails/{jquery.ui → jquery/ui}/ui-lightness/ui-icons_228ef1_256x240.png +0 -0
  1001. data/templates/jrails/{jquery.ui → jquery/ui}/ui-lightness/ui-icons_ef8c08_256x240.png +0 -0
  1002. data/templates/jrails/{jquery.ui → jquery/ui}/ui-lightness/ui-icons_ffd27a_256x240.png +0 -0
  1003. data/templates/jrails/{jquery.ui → jquery/ui}/ui-lightness/ui-icons_ffffff_256x240.png +0 -0
  1004. data/templates/jrails/{jquery.ui → jquery/ui}/vader.scss +18 -18
  1005. data/templates/jrails/{jquery.ui → jquery/ui}/vader/ui-anim_basic_16x16.gif +0 -0
  1006. data/templates/jrails/{jquery.ui → jquery/ui}/vader/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  1007. data/templates/jrails/{jquery.ui → jquery/ui}/vader/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  1008. data/templates/jrails/{jquery.ui → jquery/ui}/vader/ui-bg_gloss-wave_16_121212_500x100.png +0 -0
  1009. data/templates/jrails/{jquery.ui → jquery/ui}/vader/ui-bg_highlight-hard_15_888888_1x100.png +0 -0
  1010. data/templates/jrails/{jquery.ui → jquery/ui}/vader/ui-bg_highlight-hard_55_555555_1x100.png +0 -0
  1011. data/templates/jrails/{jquery.ui → jquery/ui}/vader/ui-bg_highlight-soft_35_adadad_1x100.png +0 -0
  1012. data/templates/jrails/{jquery.ui → jquery/ui}/vader/ui-bg_highlight-soft_60_dddddd_1x100.png +0 -0
  1013. data/templates/jrails/{jquery.ui → jquery/ui}/vader/ui-bg_inset-soft_15_121212_1x100.png +0 -0
  1014. data/templates/jrails/{jquery.ui → jquery/ui}/vader/ui-icons_666666_256x240.png +0 -0
  1015. data/templates/jrails/{jquery.ui → jquery/ui}/vader/ui-icons_aaaaaa_256x240.png +0 -0
  1016. data/templates/jrails/{jquery.ui → jquery/ui}/vader/ui-icons_bbbbbb_256x240.png +0 -0
  1017. data/templates/jrails/{jquery.ui → jquery/ui}/vader/ui-icons_c98000_256x240.png +0 -0
  1018. data/templates/jrails/{jquery.ui → jquery/ui}/vader/ui-icons_cccccc_256x240.png +0 -0
  1019. data/templates/jrails/{jquery.ui → jquery/ui}/vader/ui-icons_cd0a0a_256x240.png +0 -0
  1020. data/templates/jrails/{jquery.ui → jquery/ui}/vader/ui-icons_f29a00_256x240.png +0 -0
  1021. data/templates/jrails/manifest.rb +466 -454
  1022. data/templates/jrails/partials/_flash_messages.scss +8 -8
  1023. data/templates/jstree/config/initializers/jstree.rb +4 -4
  1024. data/templates/jstree/jquery.jstree.js +4534 -3513
  1025. data/templates/jstree/jquery.jstree.min.js +220 -172
  1026. data/templates/jstree/{jquery.ui/jstree.aero.scss → jquery/jstree/aero.scss} +10 -10
  1027. data/templates/jstree/{jquery.ui/jstree.aero → jquery/jstree/aero}/clicked.png +0 -0
  1028. data/templates/jstree/{jquery.ui/jstree.aero → jquery/jstree/aero}/d.gif +0 -0
  1029. data/templates/jstree/{jquery.ui/jstree.aero → jquery/jstree/aero}/d.png +0 -0
  1030. data/templates/jstree/{jquery.ui/jstree.aero → jquery/jstree/aero}/hovered.png +0 -0
  1031. data/templates/jstree/{jquery.ui/jstree.aero → jquery/jstree/aero}/throbber.gif +0 -0
  1032. data/templates/jstree/{jquery.ui/jstree.aqua.scss → jquery/jstree/aqua.scss} +10 -10
  1033. data/templates/jstree/{jquery.ui/jstree.aqua → jquery/jstree/aqua}/clicked.png +0 -0
  1034. data/templates/jstree/{jquery.ui/jstree.aqua → jquery/jstree/aqua}/d.gif +0 -0
  1035. data/templates/jstree/{jquery.ui/jstree.aqua → jquery/jstree/aqua}/d.png +0 -0
  1036. data/templates/jstree/{jquery.ui/jstree.aqua → jquery/jstree/aqua}/hovered.png +0 -0
  1037. data/templates/jstree/{jquery.ui/jstree.aqua → jquery/jstree/aqua}/throbber.gif +0 -0
  1038. data/templates/jstree/{jquery.ui/jstree.classic.scss → jquery/jstree/classic.scss} +5 -5
  1039. data/templates/jstree/{jquery.ui/jstree.classic → jquery/jstree/classic}/d.png +0 -0
  1040. data/templates/jstree/{jquery.ui/jstree.classic → jquery/jstree/classic}/dot_for_ie.gif +0 -0
  1041. data/templates/jstree/{jquery.ui/jstree.classic → jquery/jstree/classic}/throbber.gif +0 -0
  1042. data/templates/jstree/{jquery.ui/jstree.crystal.scss → jquery/jstree/crystal.scss} +8 -8
  1043. data/templates/jstree/{jquery.ui/jstree.crystal → jquery/jstree/crystal}/d.gif +0 -0
  1044. data/templates/jstree/{jquery.ui/jstree.crystal → jquery/jstree/crystal}/d.png +0 -0
  1045. data/templates/jstree/{jquery.ui/jstree.crystal → jquery/jstree/crystal}/throbber.gif +0 -0
  1046. data/templates/jstree/{jquery.ui/jstree.default-rtl.scss → jquery/jstree/default-rtl.scss} +9 -9
  1047. data/templates/jstree/{jquery.ui/jstree.default-rtl → jquery/jstree/default-rtl}/d.gif +0 -0
  1048. data/templates/jstree/{jquery.ui/jstree.default-rtl → jquery/jstree/default-rtl}/d.png +0 -0
  1049. data/templates/jstree/{jquery.ui/jstree.default-rtl → jquery/jstree/default-rtl}/dots.gif +0 -0
  1050. data/templates/jstree/{jquery.ui/jstree.default-rtl → jquery/jstree/default-rtl}/throbber.gif +0 -0
  1051. data/templates/jstree/{jquery.ui/jstree.default.scss → jquery/jstree/default.scss} +8 -8
  1052. data/templates/jstree/{jquery.ui/jstree.default → jquery/jstree/default}/d.gif +0 -0
  1053. data/templates/jstree/{jquery.ui/jstree.default → jquery/jstree/default}/d.png +0 -0
  1054. data/templates/jstree/{jquery.ui/jstree.default → jquery/jstree/default}/throbber.gif +0 -0
  1055. data/templates/jstree/manifest.rb +29 -29
  1056. data/templates/mobile/config/initializers/mobile.rb +6 -0
  1057. data/templates/mobile/jquery.mobile.js +3189 -0
  1058. data/templates/mobile/jquery.mobile.min.js +28 -0
  1059. data/templates/mobile/jquery/mobile/_base.scss +1326 -0
  1060. data/templates/mobile/jquery/mobile/default.scss +742 -0
  1061. data/templates/mobile/jquery/mobile/default/ajax-loader.gif +0 -0
  1062. data/templates/mobile/jquery/mobile/default/ajax-loader.png +0 -0
  1063. data/templates/mobile/jquery/mobile/default/form-check-off.png +0 -0
  1064. data/templates/mobile/jquery/mobile/default/form-check-on.png +0 -0
  1065. data/templates/mobile/jquery/mobile/default/form-radio-off.png +0 -0
  1066. data/templates/mobile/jquery/mobile/default/form-radio-on.png +0 -0
  1067. data/templates/mobile/jquery/mobile/default/icon-arrow-white-down.png +0 -0
  1068. data/templates/mobile/jquery/mobile/default/icon-arrow-white-left.png +0 -0
  1069. data/templates/mobile/jquery/mobile/default/icon-arrow-white-right.png +0 -0
  1070. data/templates/mobile/jquery/mobile/default/icon-arrow-white-up.png +0 -0
  1071. data/templates/mobile/jquery/mobile/default/icon-delete.png +0 -0
  1072. data/templates/mobile/jquery/mobile/default/icon-minus-white.png +0 -0
  1073. data/templates/mobile/jquery/mobile/default/icon-plus-white.png +0 -0
  1074. data/templates/mobile/jquery/mobile/default/icon-search-black.png +0 -0
  1075. data/templates/mobile/jquery/mobile/default/icons-18-black.png +0 -0
  1076. data/templates/mobile/jquery/mobile/default/icons-18-white.png +0 -0
  1077. data/templates/mobile/jquery/mobile/default/icons-36-black.png +0 -0
  1078. data/templates/mobile/jquery/mobile/default/icons-36-white.png +0 -0
  1079. data/templates/mobile/jquery/mobile/valencia.scss +804 -0
  1080. data/templates/mobile/jquery/mobile/valencia/ajax-loader.gif +0 -0
  1081. data/templates/mobile/jquery/mobile/valencia/ajax-loader.png +0 -0
  1082. data/templates/mobile/jquery/mobile/valencia/form-check-off.png +0 -0
  1083. data/templates/mobile/jquery/mobile/valencia/form-check-on.png +0 -0
  1084. data/templates/mobile/jquery/mobile/valencia/form-radio-off.png +0 -0
  1085. data/templates/mobile/jquery/mobile/valencia/form-radio-on.png +0 -0
  1086. data/templates/mobile/jquery/mobile/valencia/icon-arrow-white-down.png +0 -0
  1087. data/templates/mobile/jquery/mobile/valencia/icon-arrow-white-left.png +0 -0
  1088. data/templates/mobile/jquery/mobile/valencia/icon-arrow-white-right.png +0 -0
  1089. data/templates/mobile/jquery/mobile/valencia/icon-arrow-white-up.png +0 -0
  1090. data/templates/mobile/jquery/mobile/valencia/icon-delete.png +0 -0
  1091. data/templates/mobile/jquery/mobile/valencia/icon-minus-white.png +0 -0
  1092. data/templates/mobile/jquery/mobile/valencia/icon-plus-white.png +0 -0
  1093. data/templates/mobile/jquery/mobile/valencia/icon-search-black.png +0 -0
  1094. data/templates/mobile/jquery/mobile/valencia/icons-18-black.png +0 -0
  1095. data/templates/mobile/jquery/mobile/valencia/icons-18-white.png +0 -0
  1096. data/templates/mobile/jquery/mobile/valencia/icons-36-black.png +0 -0
  1097. data/templates/mobile/jquery/mobile/valencia/icons-36-white.png +0 -0
  1098. data/templates/mobile/jquery/mobile/valencia/texture_05.png +0 -0
  1099. data/templates/mobile/jquery/mobile/valencia/texture_075.png +0 -0
  1100. data/templates/mobile/manifest.rb +47 -0
  1101. data/templates/ribbon/config/initializers/ribbon.rb +3 -3
  1102. data/templates/ribbon/jquery.ribbon.js +4 -4
  1103. data/templates/ribbon/jquery.ribbon.min.js +3 -3
  1104. data/templates/ribbon/{jquery.ui/ribbon.windows7.scss → jquery/ribbon/office.scss} +20 -20
  1105. data/templates/ribbon/{jquery.ui/ribbon.office → jquery/ribbon/office}/arrow.png +0 -0
  1106. data/templates/ribbon/{jquery.ui/ribbon.office → jquery/ribbon/office}/arrow_down.png +0 -0
  1107. data/templates/ribbon/{jquery.ui/ribbon.office → jquery/ribbon/office}/bg.png +0 -0
  1108. data/templates/ribbon/{jquery.ui/ribbon.office → jquery/ribbon/office}/item_background.png +0 -0
  1109. data/templates/ribbon/{jquery.ui/ribbon.office → jquery/ribbon/office}/item_small_background.png +0 -0
  1110. data/templates/ribbon/{jquery.ui/ribbon.office → jquery/ribbon/office}/menu_background.png +0 -0
  1111. data/templates/ribbon/{jquery.ui/ribbon.office → jquery/ribbon/office}/menu_bottom.png +0 -0
  1112. data/templates/ribbon/{jquery.ui/ribbon.office → jquery/ribbon/office}/menu_dropdownitembg.png +0 -0
  1113. data/templates/ribbon/{jquery.ui/ribbon.office → jquery/ribbon/office}/menu_dropdownitembghover.png +0 -0
  1114. data/templates/ribbon/{jquery.ui/ribbon.office → jquery/ribbon/office}/menu_item_hover.png +0 -0
  1115. data/templates/ribbon/{jquery.ui/ribbon.office → jquery/ribbon/office}/menu_middle.png +0 -0
  1116. data/templates/ribbon/{jquery.ui/ribbon.office → jquery/ribbon/office}/menu_top.png +0 -0
  1117. data/templates/ribbon/{jquery.ui/ribbon.office → jquery/ribbon/office}/menu_top_backstage.png +0 -0
  1118. data/templates/ribbon/{jquery.ui/ribbon.office → jquery/ribbon/office}/menu_top_backstage2.png +0 -0
  1119. data/templates/ribbon/{jquery.ui/ribbon.office → jquery/ribbon/office}/menuitem_background.png +0 -0
  1120. data/templates/ribbon/{jquery.ui/ribbon.office → jquery/ribbon/office}/orb.png +0 -0
  1121. data/templates/ribbon/{jquery.ui/ribbon.office → jquery/ribbon/office}/orb_hover.png +0 -0
  1122. data/templates/ribbon/{jquery.ui/ribbon.office → jquery/ribbon/office}/orb_office.png +0 -0
  1123. data/templates/ribbon/{jquery.ui/ribbon.office → jquery/ribbon/office}/orb_office_hover.png +0 -0
  1124. data/templates/ribbon/{jquery.ui/ribbon.office → jquery/ribbon/office}/orb_submenu_item_hover.png +0 -0
  1125. data/templates/ribbon/{jquery.ui/ribbon.office → jquery/ribbon/office}/ribbon-backstage-firstLevel-hover.png +0 -0
  1126. data/templates/ribbon/{jquery.ui/ribbon.office → jquery/ribbon/office}/ribbon-backstage-rightColumn-wide.png +0 -0
  1127. data/templates/ribbon/{jquery.ui/ribbon.office → jquery/ribbon/office}/ribbon-backstage-subMenu-item-hover.png +0 -0
  1128. data/templates/ribbon/{jquery.ui/ribbon.office → jquery/ribbon/office}/ribbon-backstage-subMenu-item.png +0 -0
  1129. data/templates/ribbon/{jquery.ui/ribbon.office → jquery/ribbon/office}/ribbon-backstage-subMenu-itemSquare-hover.png +0 -0
  1130. data/templates/ribbon/{jquery.ui/ribbon.office → jquery/ribbon/office}/ribbon-backstage-subMenu-itemSquare.png +0 -0
  1131. data/templates/ribbon/{jquery.ui/ribbon.office → jquery/ribbon/office}/top_background.png +0 -0
  1132. data/templates/ribbon/{jquery.ui/ribbon.simple.scss → jquery/ribbon/simple.scss} +13 -13
  1133. data/templates/ribbon/{jquery.ui/ribbon.simple → jquery/ribbon/simple}/arrow.png +0 -0
  1134. data/templates/ribbon/{jquery.ui/ribbon.simple → jquery/ribbon/simple}/arrow_down.png +0 -0
  1135. data/templates/ribbon/{jquery.ui/ribbon.simple → jquery/ribbon/simple}/bg.png +0 -0
  1136. data/templates/ribbon/{jquery.ui/ribbon.simple → jquery/ribbon/simple}/item_background.png +0 -0
  1137. data/templates/ribbon/{jquery.ui/ribbon.simple → jquery/ribbon/simple}/item_small_background.png +0 -0
  1138. data/templates/ribbon/{jquery.ui/ribbon.simple → jquery/ribbon/simple}/menu_background.png +0 -0
  1139. data/templates/ribbon/{jquery.ui/ribbon.simple → jquery/ribbon/simple}/menu_bottom.png +0 -0
  1140. data/templates/ribbon/{jquery.ui/ribbon.simple → jquery/ribbon/simple}/menu_dropdownitembg.png +0 -0
  1141. data/templates/ribbon/{jquery.ui/ribbon.simple → jquery/ribbon/simple}/menu_dropdownitembghover.png +0 -0
  1142. data/templates/ribbon/{jquery.ui/ribbon.simple → jquery/ribbon/simple}/menu_item_hover.png +0 -0
  1143. data/templates/ribbon/{jquery.ui/ribbon.simple → jquery/ribbon/simple}/menu_middle.png +0 -0
  1144. data/templates/ribbon/{jquery.ui/ribbon.simple → jquery/ribbon/simple}/menu_top.png +0 -0
  1145. data/templates/ribbon/{jquery.ui/ribbon.simple → jquery/ribbon/simple}/menuitem_background.png +0 -0
  1146. data/templates/ribbon/{jquery.ui/ribbon.simple → jquery/ribbon/simple}/orb.png +0 -0
  1147. data/templates/ribbon/{jquery.ui/ribbon.simple → jquery/ribbon/simple}/orb_hover.png +0 -0
  1148. data/templates/ribbon/{jquery.ui/ribbon.simple → jquery/ribbon/simple}/orb_submenu_item_hover.png +0 -0
  1149. data/templates/ribbon/{jquery.ui/ribbon.simple → jquery/ribbon/simple}/top_background.png +0 -0
  1150. data/templates/ribbon/{jquery.ui/ribbon.office.scss → jquery/ribbon/windows7.scss} +20 -20
  1151. data/templates/ribbon/{jquery.ui/ribbon.windows7 → jquery/ribbon/windows7}/arrow.png +0 -0
  1152. data/templates/ribbon/{jquery.ui/ribbon.windows7 → jquery/ribbon/windows7}/arrow_down.png +0 -0
  1153. data/templates/ribbon/{jquery.ui/ribbon.windows7 → jquery/ribbon/windows7}/bg.png +0 -0
  1154. data/templates/ribbon/{jquery.ui/ribbon.windows7 → jquery/ribbon/windows7}/item_background.png +0 -0
  1155. data/templates/ribbon/{jquery.ui/ribbon.windows7 → jquery/ribbon/windows7}/item_small_background.png +0 -0
  1156. data/templates/ribbon/{jquery.ui/ribbon.windows7 → jquery/ribbon/windows7}/menu_background.png +0 -0
  1157. data/templates/ribbon/{jquery.ui/ribbon.windows7 → jquery/ribbon/windows7}/menu_bottom.png +0 -0
  1158. data/templates/ribbon/{jquery.ui/ribbon.windows7 → jquery/ribbon/windows7}/menu_dropdownitembg.png +0 -0
  1159. data/templates/ribbon/{jquery.ui/ribbon.windows7 → jquery/ribbon/windows7}/menu_dropdownitembghover.png +0 -0
  1160. data/templates/ribbon/{jquery.ui/ribbon.windows7 → jquery/ribbon/windows7}/menu_item_hover.png +0 -0
  1161. data/templates/ribbon/{jquery.ui/ribbon.windows7 → jquery/ribbon/windows7}/menu_middle.png +0 -0
  1162. data/templates/ribbon/{jquery.ui/ribbon.windows7 → jquery/ribbon/windows7}/menu_top.png +0 -0
  1163. data/templates/ribbon/{jquery.ui/ribbon.windows7 → jquery/ribbon/windows7}/menu_top_backstage.png +0 -0
  1164. data/templates/ribbon/{jquery.ui/ribbon.windows7 → jquery/ribbon/windows7}/menu_top_backstage2.png +0 -0
  1165. data/templates/ribbon/{jquery.ui/ribbon.windows7 → jquery/ribbon/windows7}/menuitem_background.png +0 -0
  1166. data/templates/ribbon/{jquery.ui/ribbon.windows7 → jquery/ribbon/windows7}/orb.png +0 -0
  1167. data/templates/ribbon/{jquery.ui/ribbon.windows7 → jquery/ribbon/windows7}/orb_hover.png +0 -0
  1168. data/templates/ribbon/{jquery.ui/ribbon.windows7 → jquery/ribbon/windows7}/orb_office.png +0 -0
  1169. data/templates/ribbon/{jquery.ui/ribbon.windows7 → jquery/ribbon/windows7}/orb_office_hover.png +0 -0
  1170. data/templates/ribbon/{jquery.ui/ribbon.windows7 → jquery/ribbon/windows7}/orb_submenu_item_hover.png +0 -0
  1171. data/templates/ribbon/{jquery.ui/ribbon.windows7 → jquery/ribbon/windows7}/ribbon-backstage-firstLevel-hover.png +0 -0
  1172. data/templates/ribbon/{jquery.ui/ribbon.windows7 → jquery/ribbon/windows7}/ribbon-backstage-rightColumn-wide.png +0 -0
  1173. data/templates/ribbon/{jquery.ui/ribbon.windows7 → jquery/ribbon/windows7}/ribbon-backstage-subMenu-item-hover.png +0 -0
  1174. data/templates/ribbon/{jquery.ui/ribbon.windows7 → jquery/ribbon/windows7}/ribbon-backstage-subMenu-item.png +0 -0
  1175. data/templates/ribbon/{jquery.ui/ribbon.windows7 → jquery/ribbon/windows7}/ribbon-backstage-subMenu-itemSquare-hover.png +0 -0
  1176. data/templates/ribbon/{jquery.ui/ribbon.windows7 → jquery/ribbon/windows7}/ribbon-backstage-subMenu-itemSquare.png +0 -0
  1177. data/templates/ribbon/{jquery.ui/ribbon.windows7 → jquery/ribbon/windows7}/top_background.png +0 -0
  1178. data/templates/ribbon/manifest.rb +74 -74
  1179. data/templates/secret_sauce/app/views/{ui → shared}/_ui_form_error_messages.html.haml +0 -0
  1180. data/templates/secret_sauce/app/views/{ui → shared}/_ui_grid_for_without_block.js.haml +8 -8
  1181. data/templates/secret_sauce/app/views/{ui → shared}/_ui_static_dialog.html.haml +0 -0
  1182. data/templates/secret_sauce/config/initializers/secret_sauce.rb +1 -1
  1183. data/templates/secret_sauce/{jquery.ui → jquery}/secret_sauce.scss +0 -0
  1184. data/templates/secret_sauce/manifest.rb +4 -4
  1185. metadata +1134 -1051
  1186. data/templates/jqtouch/jqtouch/apple/actionButton.png +0 -0
  1187. data/templates/jqtouch/jqtouch/icons/iphone_16x16.png +0 -0
  1188. data/templates/jqtouch/jqtouch/iphone-emulator.scss +0 -21
  1189. data/templates/jqtouch/jqtouch/iphone_fullsize.png +0 -0
  1190. data/templates/jrails/jquery-1.4.2.js +0 -9502
  1191. data/templates/jrails/jquery-1.4.2.min.js +0 -210
  1192. data/templates/jrails/jquery-ui-1.8.5.min.js +0 -823
@@ -0,0 +1,17 @@
1
+ (function(b){function t(){b.fn.ajaxSubmit.debug&&window.console&&window.console.log&&window.console.log("[jquery.form] "+Array.prototype.join.call(arguments,""))}b.fn.ajaxSubmit=function(a){function e(){function o(){if(!z++){p.detachEvent?p.detachEvent("onload",o):p.removeEventListener("load",o,false);var r=true;try{if(A)throw"timeout";var n,m;m=p.contentWindow?p.contentWindow.document:p.contentDocument?p.contentDocument:p.document;var u=i.dataType=="xml"||m.XMLDocument||b.isXMLDoc(m);t("isXml="+
2
+ u);if(!u&&(m.body==null||m.body.innerHTML=="")){if(--E){z=0;setTimeout(o,100);return}t("Could not access iframe DOM after 50 tries.");return}j.responseText=m.body?m.body.innerHTML:null;j.responseXML=m.XMLDocument?m.XMLDocument:m;j.getResponseHeader=function(F){return{"content-type":i.dataType}[F]};if(i.dataType=="json"||i.dataType=="script"){var B=m.getElementsByTagName("textarea")[0];if(B)j.responseText=B.value;else{var C=m.getElementsByTagName("pre")[0];if(C)j.responseText=C.innerHTML}}else if(i.dataType==
3
+ "xml"&&!j.responseXML&&j.responseText!=null)j.responseXML=x(j.responseText);n=b.httpData(j,i.dataType)}catch(G){r=false;b.handleError(i,j,"error",G)}if(r){i.success(n,"success");v&&b.event.trigger("ajaxSuccess",[j,i])}v&&b.event.trigger("ajaxComplete",[j,i]);v&&!--b.active&&b.event.trigger("ajaxStop");if(i.complete)i.complete(j,r?"success":"error");setTimeout(function(){w.remove();j.responseXML=null},100)}}function x(r,n){if(window.ActiveXObject){n=new ActiveXObject("Microsoft.XMLDOM");n.async="false";
4
+ n.loadXML(r)}else n=(new DOMParser).parseFromString(r,"text/xml");return n&&n.documentElement&&n.documentElement.tagName!="parsererror"?n:null}var k=h[0];if(b(":input[name=submit]",k).length)alert('Error: Form elements must not be named "submit".');else{var i=b.extend({},b.ajaxSettings,a),s=b.extend(true,{},b.extend(true,{},b.ajaxSettings),i),y="jqFormIO"+(new Date).getTime(),w=b('<iframe id="'+y+'" name="'+y+'" src="'+i.iframeSrc+'" />'),p=w[0];w.css({position:"absolute",top:"-1000px",left:"-1000px"});
5
+ var j={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(){this.aborted=1;w.attr("src",i.iframeSrc)}},v=i.global;v&&!b.active++&&b.event.trigger("ajaxStart");v&&b.event.trigger("ajaxSend",[j,i]);if(s.beforeSend&&s.beforeSend(j,s)===false)s.global&&b.active--;else if(!j.aborted){var z=0,A=0;if(s=k.clk){var D=s.name;if(D&&!s.disabled){a.extraData=a.extraData||{};a.extraData[D]=
6
+ s.value;if(s.type=="image"){a.extraData[name+".x"]=k.clk_x;a.extraData[name+".y"]=k.clk_y}}}setTimeout(function(){var r=h.attr("target"),n=h.attr("action");k.setAttribute("target",y);k.getAttribute("method")!="POST"&&k.setAttribute("method","POST");k.getAttribute("action")!=i.url&&k.setAttribute("action",i.url);a.skipEncodingOverride||h.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"});i.timeout&&setTimeout(function(){A=true;o()},i.timeout);var m=[];try{if(a.extraData)for(var u in a.extraData)m.push(b('<input type="hidden" name="'+
7
+ u+'" value="'+a.extraData[u]+'" />').appendTo(k)[0]);w.appendTo("body");p.attachEvent?p.attachEvent("onload",o):p.addEventListener("load",o,false);k.submit()}finally{k.setAttribute("action",n);r?k.setAttribute("target",r):h.removeAttr("target");b(m).remove()}},10);var E=50}}}if(!this.length){t("ajaxSubmit: skipping submit process - no element selected");return this}if(typeof a=="function")a={success:a};var c=b.trim(this.attr("action"));if(c)c=(c.match(/^([^#]+)/)||[])[1];c=c||window.location.href||
8
+ "";a=b.extend({url:c,type:this.attr("method")||"GET",iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},a||{});c={};this.trigger("form-pre-serialize",[this,a,c]);if(c.veto){t("ajaxSubmit: submit vetoed via form-pre-serialize trigger");return this}if(a.beforeSerialize&&a.beforeSerialize(this,a)===false){t("ajaxSubmit: submit aborted via beforeSerialize callback");return this}var f=this.formToArray(a.semantic);if(a.data){a.extraData=a.data;for(var d in a.data)if(a.data[d]instanceof
9
+ Array)for(var l in a.data[d])f.push({name:d,value:a.data[d][l]});else f.push({name:d,value:a.data[d]})}if(a.beforeSubmit&&a.beforeSubmit(f,this,a)===false){t("ajaxSubmit: submit aborted via beforeSubmit callback");return this}this.trigger("form-submit-validate",[f,this,a,c]);if(c.veto){t("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this}d=b.param(f);if(a.type.toUpperCase()=="GET"){a.url+=(a.url.indexOf("?")>=0?"&":"?")+d;a.data=null}else a.data=d;var h=this,g=[];a.resetForm&&
10
+ g.push(function(){h.resetForm()});a.clearForm&&g.push(function(){h.clearForm()});if(!a.dataType&&a.target){var q=a.success||function(){};g.push(function(o){b(a.target).html(o).each(q,arguments)})}else a.success&&g.push(a.success);a.success=function(o,x){for(var k=0,i=g.length;k<i;k++)g[k].apply(a,[o,x,h])};d=b("input:file",this).fieldValue();l=false;for(c=0;c<d.length;c++)if(d[c])l=true;if(d.length&&a.iframe!==false||a.iframe||l||0)a.closeKeepAlive?b.get(a.closeKeepAlive,e):e();else b.ajax(a);this.trigger("form-submit-notify",
11
+ [this,a]);return this};b.fn.ajaxForm=function(a){return this.ajaxFormUnbind().bind("submit.form-plugin",function(){b(this).ajaxSubmit(a);return false}).bind("click.form-plugin",function(e){var c=e.target,f=b(c);if(!f.is(":submit,input:image")){c=f.closest(":submit");if(c.length==0)return;c=c[0]}var d=this;d.clk=c;if(c.type=="image")if(e.offsetX!=undefined){d.clk_x=e.offsetX;d.clk_y=e.offsetY}else if(typeof b.fn.offset=="function"){f=f.offset();d.clk_x=e.pageX-f.left;d.clk_y=e.pageY-f.top}else{d.clk_x=
12
+ e.pageX-c.offsetLeft;d.clk_y=e.pageY-c.offsetTop}setTimeout(function(){d.clk=d.clk_x=d.clk_y=null},100)})};b.fn.ajaxFormUnbind=function(){return this.unbind("submit.form-plugin click.form-plugin")};b.fn.formToArray=function(a){var e=[];if(this.length==0)return e;var c=this[0],f=a?c.getElementsByTagName("*"):c.elements;if(!f)return e;for(var d=0,l=f.length;d<l;d++){var h=f[d],g=h.name;if(g)if(a&&c.clk&&h.type=="image"){if(!h.disabled&&c.clk==h){e.push({name:g,value:b(h).val()});e.push({name:g+".x",
13
+ value:c.clk_x},{name:g+".y",value:c.clk_y})}}else if((h=b.fieldValue(h,true))&&h.constructor==Array)for(var q=0,o=h.length;q<o;q++)e.push({name:g,value:h[q]});else h!==null&&typeof h!="undefined"&&e.push({name:g,value:h})}if(!a&&c.clk){a=b(c.clk);f=a[0];if((g=f.name)&&!f.disabled&&f.type=="image"){e.push({name:g,value:a.val()});e.push({name:g+".x",value:c.clk_x},{name:g+".y",value:c.clk_y})}}return e};b.fn.formSerialize=function(a){return b.param(this.formToArray(a))};b.fn.fieldSerialize=function(a){var e=
14
+ [];this.each(function(){var c=this.name;if(c){var f=b.fieldValue(this,a);if(f&&f.constructor==Array)for(var d=0,l=f.length;d<l;d++)e.push({name:c,value:f[d]});else f!==null&&typeof f!="undefined"&&e.push({name:this.name,value:f})}});return b.param(e)};b.fn.fieldValue=function(a){for(var e=[],c=0,f=this.length;c<f;c++){var d=b.fieldValue(this[c],a);d===null||typeof d=="undefined"||d.constructor==Array&&!d.length||(d.constructor==Array?b.merge(e,d):e.push(d))}return e};b.fieldValue=function(a,e){var c=
15
+ a.name,f=a.type,d=a.tagName.toLowerCase();if(typeof e=="undefined")e=true;if(e&&(!c||a.disabled||f=="reset"||f=="button"||(f=="checkbox"||f=="radio")&&!a.checked||(f=="submit"||f=="image")&&a.form&&a.form.clk!=a||d=="select"&&a.selectedIndex==-1))return null;if(d=="select"){var l=a.selectedIndex;if(l<0)return null;c=[];d=a.options;var h=(f=f=="select-one")?l+1:d.length;for(l=f?l:0;l<h;l++){var g=d[l];if(g.selected){var q=g.value;q||(q=g.attributes&&g.attributes.value&&!g.attributes.value.specified?
16
+ g.text:g.value);if(f)return q;c.push(q)}}return c}return a.value};b.fn.clearForm=function(){return this.each(function(){b("input,select,textarea",this).clearFields()})};b.fn.clearFields=b.fn.clearInputs=function(){return this.each(function(){var a=this.type,e=this.tagName.toLowerCase();if(a=="text"||a=="password"||e=="textarea")this.value="";else if(a=="checkbox"||a=="radio")this.checked=false;else if(e=="select")this.selectedIndex=-1})};b.fn.resetForm=function(){return this.each(function(){if(typeof this.reset==
17
+ "function"||typeof this.reset=="object"&&!this.reset.nodeType)this.reset()})};b.fn.enable=function(a){if(a==undefined)a=true;return this.each(function(){this.disabled=!a})};b.fn.selected=function(a){if(a==undefined)a=true;return this.each(function(){var e=this.type;if(e=="checkbox"||e=="radio")this.checked=a;else if(this.tagName.toLowerCase()=="option"){e=b(this).parent("select");a&&e[0]&&e[0].type=="select-one"&&e.find("option").selected(false);this.selected=a}})}})(jQuery);
@@ -0,0 +1,2507 @@
1
+ /*
2
+ * jquery.layout 1.2.0
3
+ *
4
+ * Copyright (c) 2008
5
+ * Fabrizio Balliano (http://www.fabrizioballiano.net)
6
+ * Kevin Dalman (http://allpro.net)
7
+ *
8
+ * Dual licensed under the GPL (http://www.gnu.org/licenses/gpl.html)
9
+ * and MIT (http://www.opensource.org/licenses/mit-license.php) licenses.
10
+ *
11
+ * $Date: 2008-12-27 02:17:22 +0100 (sab, 27 dic 2008) $
12
+ * $Rev: 203 $
13
+ *
14
+ * NOTE: For best code readability, view this with a fixed-space font and tabs equal to 4-chars
15
+ */
16
+ (function($) {
17
+
18
+ $.fn.layout = function (opts) {
19
+
20
+ /*
21
+ * ###########################
22
+ * WIDGET CONFIG & OPTIONS
23
+ * ###########################
24
+ */
25
+
26
+ // DEFAULTS for options
27
+ var
28
+ prefix = "ui-layout-" // prefix for ALL selectors and classNames
29
+ , defaults = { // misc default values
30
+ paneClass: prefix+"pane" // ui-layout-pane
31
+ , resizerClass: prefix+"resizer" // ui-layout-resizer
32
+ , togglerClass: prefix+"toggler" // ui-layout-toggler
33
+ , togglerInnerClass: prefix+"" // ui-layout-open / ui-layout-closed
34
+ , buttonClass: prefix+"button" // ui-layout-button
35
+ , contentSelector: "."+prefix+"content"// ui-layout-content
36
+ , contentIgnoreSelector: "."+prefix+"ignore" // ui-layout-mask
37
+ }
38
+ ;
39
+
40
+ // DEFAULT PANEL OPTIONS - CHANGE IF DESIRED
41
+ var options = {
42
+ name: "" // FUTURE REFERENCE - not used right now
43
+ , scrollToBookmarkOnLoad: true // after creating a layout, scroll to bookmark in URL (.../page.htm#myBookmark)
44
+ , defaults: { // default options for 'all panes' - will be overridden by 'per-pane settings'
45
+ applyDefaultStyles: false // apply basic styles directly to resizers & buttons? If not, then stylesheet must handle it
46
+ , closable: true // pane can open & close
47
+ , resizable: true // when open, pane can be resized
48
+ , slidable: true // when closed, pane can 'slide' open over other panes - closes on mouse-out
49
+ //, paneSelector: [ ] // MUST be pane-specific!
50
+ , contentSelector: defaults.contentSelector // INNER div/element to auto-size so only it scrolls, not the entire pane!
51
+ , contentIgnoreSelector: defaults.contentIgnoreSelector // elem(s) to 'ignore' when measuring 'content'
52
+ , paneClass: defaults.paneClass // border-Pane - default: 'ui-layout-pane'
53
+ , resizerClass: defaults.resizerClass // Resizer Bar - default: 'ui-layout-resizer'
54
+ , togglerClass: defaults.togglerClass // Toggler Button - default: 'ui-layout-toggler'
55
+ , buttonClass: defaults.buttonClass // CUSTOM Buttons - default: 'ui-layout-button-toggle/-open/-close/-pin'
56
+ , resizerDragOpacity: 1 // option for ui.draggable
57
+ //, resizerCursor: "" // MUST be pane-specific - cursor when over resizer-bar
58
+ , maskIframesOnResize: true // true = all iframes OR = iframe-selector(s) - adds masking-div during resizing/dragging
59
+ //, size: 100 // inital size of pane - defaults are set 'per pane'
60
+ , minSize: 0 // when manually resizing a pane
61
+ , maxSize: 0 // ditto, 0 = no limit
62
+ , spacing_open: 6 // space between pane and adjacent panes - when pane is 'open'
63
+ , spacing_closed: 6 // ditto - when pane is 'closed'
64
+ , togglerLength_open: 50 // Length = WIDTH of toggler button on north/south edges - HEIGHT on east/west edges
65
+ , togglerLength_closed: 50 // 100% OR -1 means 'full height/width of resizer bar' - 0 means 'hidden'
66
+ , togglerAlign_open: "center" // top/left, bottom/right, center, OR...
67
+ , togglerAlign_closed: "center" // 1 => nn = offset from top/left, -1 => -nn == offset from bottom/right
68
+ , togglerTip_open: "Close" // Toggler tool-tip (title)
69
+ , togglerTip_closed: "Open" // ditto
70
+ , resizerTip: "Resize" // Resizer tool-tip (title)
71
+ , sliderTip: "Slide Open" // resizer-bar triggers 'sliding' when pane is closed
72
+ , sliderCursor: "pointer" // cursor when resizer-bar will trigger 'sliding'
73
+ , slideTrigger_open: "click" // click, dblclick, mouseover
74
+ , slideTrigger_close: "mouseout" // click, mouseout
75
+ , hideTogglerOnSlide: false // when pane is slid-open, should the toggler show?
76
+ , togglerContent_open: "" // text or HTML to put INSIDE the toggler
77
+ , togglerContent_closed: "" // ditto
78
+ , showOverflowOnHover: false // will bind allowOverflow() utility to pane.onMouseOver
79
+ , enableCursorHotkey: true // enabled 'cursor' hotkeys
80
+ //, customHotkey: "" // MUST be pane-specific - EITHER a charCode OR a character
81
+ , customHotkeyModifier: "SHIFT" // either 'SHIFT', 'CTRL' or 'CTRL+SHIFT' - NOT 'ALT'
82
+ // NOTE: fxSss_open & fxSss_close options (eg: fxName_open) are auto-generated if not passed
83
+ , fxName: "slide" // ('none' or blank), slide, drop, scale
84
+ , fxSpeed: null // slow, normal, fast, 200, nnn - if passed, will OVERRIDE fxSettings.duration
85
+ , fxSettings: {} // can be passed, eg: { easing: "easeOutBounce", duration: 1500 }
86
+ , initClosed: false // true = init pane as 'closed'
87
+ , initHidden: false // true = init pane as 'hidden' - no resizer or spacing
88
+
89
+ /* callback options do not have to be set - listed here for reference only
90
+ , onshow_start: "" // CALLBACK when pane STARTS to Show - BEFORE onopen/onhide_start
91
+ , onshow_end: "" // CALLBACK when pane ENDS being Shown - AFTER onopen/onhide_end
92
+ , onhide_start: "" // CALLBACK when pane STARTS to Close - BEFORE onclose_start
93
+ , onhide_end: "" // CALLBACK when pane ENDS being Closed - AFTER onclose_end
94
+ , onopen_start: "" // CALLBACK when pane STARTS to Open
95
+ , onopen_end: "" // CALLBACK when pane ENDS being Opened
96
+ , onclose_start: "" // CALLBACK when pane STARTS to Close
97
+ , onclose_end: "" // CALLBACK when pane ENDS being Closed
98
+ , onresize_start: "" // CALLBACK when pane STARTS to be ***MANUALLY*** Resized
99
+ , onresize_end: "" // CALLBACK when pane ENDS being Resized ***FOR ANY REASON***
100
+ */
101
+ }
102
+ , north: {
103
+ paneSelector: "."+prefix+"north" // default = .ui-layout-north
104
+ , size: "auto"
105
+ , resizerCursor: "n-resize"
106
+ }
107
+ , south: {
108
+ paneSelector: "."+prefix+"south" // default = .ui-layout-south
109
+ , size: "auto"
110
+ , resizerCursor: "s-resize"
111
+ }
112
+ , east: {
113
+ paneSelector: "."+prefix+"east" // default = .ui-layout-east
114
+ , size: 200
115
+ , resizerCursor: "e-resize"
116
+ }
117
+ , west: {
118
+ paneSelector: "."+prefix+"west" // default = .ui-layout-west
119
+ , size: 200
120
+ , resizerCursor: "w-resize"
121
+ }
122
+ , center: {
123
+ paneSelector: "."+prefix+"center" // default = .ui-layout-center
124
+ }
125
+
126
+ };
127
+
128
+
129
+ var effects = { // LIST *PREDEFINED EFFECTS* HERE, even if effect has no settings
130
+ slide: {
131
+ all: { duration: "fast" } // eg: duration: 1000, easing: "easeOutBounce"
132
+ , north: { direction: "up" }
133
+ , south: { direction: "down" }
134
+ , east: { direction: "right"}
135
+ , west: { direction: "left" }
136
+ }
137
+ , drop: {
138
+ all: { duration: "slow" } // eg: duration: 1000, easing: "easeOutQuint"
139
+ , north: { direction: "up" }
140
+ , south: { direction: "down" }
141
+ , east: { direction: "right"}
142
+ , west: { direction: "left" }
143
+ }
144
+ , scale: {
145
+ all: { duration: "fast" }
146
+ }
147
+ };
148
+
149
+
150
+ // STATIC, INTERNAL CONFIG - DO NOT CHANGE THIS!
151
+ var config = {
152
+ allPanes: "north,south,east,west,center"
153
+ , borderPanes: "north,south,east,west"
154
+ , zIndex: { // set z-index values here
155
+ resizer_normal: 1 // normal z-index for resizer-bars
156
+ , pane_normal: 2 // normal z-index for panes
157
+ , mask: 4 // overlay div used to mask pane(s) during resizing
158
+ , sliding: 100 // applied to both the pane and its resizer when a pane is 'slid open'
159
+ , resizing: 10000 // applied to the CLONED resizer-bar when being 'dragged'
160
+ , animation: 10000 // applied to the pane when being animated - not applied to the resizer
161
+ }
162
+ , resizers: {
163
+ cssReq: {
164
+ position: "absolute"
165
+ , padding: 0
166
+ , margin: 0
167
+ , fontSize: "1px"
168
+ , textAlign: "left" // to counter-act "center" alignment!
169
+ , overflow: "hidden" // keep toggler button from overflowing
170
+ , zIndex: 1
171
+ }
172
+ , cssDef: { // DEFAULT CSS - applied if: options.PANE.applyDefaultStyles=true
173
+ background: "#DDD"
174
+ , border: "none"
175
+ }
176
+ }
177
+ , togglers: {
178
+ cssReq: {
179
+ position: "absolute"
180
+ , display: "block"
181
+ , padding: 0
182
+ , margin: 0
183
+ , overflow: "hidden"
184
+ , textAlign: "center"
185
+ , fontSize: "1px"
186
+ , cursor: "pointer"
187
+ , zIndex: 1
188
+ }
189
+ , cssDef: { // DEFAULT CSS - applied if: options.PANE.applyDefaultStyles=true
190
+ background: "#AAA"
191
+ }
192
+ }
193
+ , content: {
194
+ cssReq: {
195
+ overflow: "auto"
196
+ }
197
+ , cssDef: {}
198
+ }
199
+ , defaults: { // defaults for ALL panes - overridden by 'per-pane settings' below
200
+ cssReq: {
201
+ position: "absolute"
202
+ , margin: 0
203
+ , zIndex: 2
204
+ }
205
+ , cssDef: {
206
+ padding: "10px"
207
+ , background: "#FFF"
208
+ , border: "1px solid #BBB"
209
+ , overflow: "auto"
210
+ }
211
+ }
212
+ , north: {
213
+ edge: "top"
214
+ , sizeType: "height"
215
+ , dir: "horz"
216
+ , cssReq: {
217
+ top: 0
218
+ , bottom: "auto"
219
+ , left: 0
220
+ , right: 0
221
+ , width: "auto"
222
+ // height: DYNAMIC
223
+ }
224
+ }
225
+ , south: {
226
+ edge: "bottom"
227
+ , sizeType: "height"
228
+ , dir: "horz"
229
+ , cssReq: {
230
+ top: "auto"
231
+ , bottom: 0
232
+ , left: 0
233
+ , right: 0
234
+ , width: "auto"
235
+ // height: DYNAMIC
236
+ }
237
+ }
238
+ , east: {
239
+ edge: "right"
240
+ , sizeType: "width"
241
+ , dir: "vert"
242
+ , cssReq: {
243
+ left: "auto"
244
+ , right: 0
245
+ , top: "auto" // DYNAMIC
246
+ , bottom: "auto" // DYNAMIC
247
+ , height: "auto"
248
+ // width: DYNAMIC
249
+ }
250
+ }
251
+ , west: {
252
+ edge: "left"
253
+ , sizeType: "width"
254
+ , dir: "vert"
255
+ , cssReq: {
256
+ left: 0
257
+ , right: "auto"
258
+ , top: "auto" // DYNAMIC
259
+ , bottom: "auto" // DYNAMIC
260
+ , height: "auto"
261
+ // width: DYNAMIC
262
+ }
263
+ }
264
+ , center: {
265
+ dir: "center"
266
+ , cssReq: {
267
+ left: "auto" // DYNAMIC
268
+ , right: "auto" // DYNAMIC
269
+ , top: "auto" // DYNAMIC
270
+ , bottom: "auto" // DYNAMIC
271
+ , height: "auto"
272
+ , width: "auto"
273
+ }
274
+ }
275
+ };
276
+
277
+
278
+ // DYNAMIC DATA
279
+ var state = {
280
+ // generate random 'ID#' to identify layout - used to create global namespace for timers
281
+ id: Math.floor(Math.random() * 10000)
282
+ , container: {}
283
+ , north: {}
284
+ , south: {}
285
+ , east: {}
286
+ , west: {}
287
+ , center: {}
288
+ };
289
+
290
+
291
+ var
292
+ altEdge = {
293
+ top: "bottom"
294
+ , bottom: "top"
295
+ , left: "right"
296
+ , right: "left"
297
+ }
298
+ , altSide = {
299
+ north: "south"
300
+ , south: "north"
301
+ , east: "west"
302
+ , west: "east"
303
+ }
304
+ ;
305
+
306
+
307
+ /*
308
+ * ###########################
309
+ * INTERNAL HELPER FUNCTIONS
310
+ * ###########################
311
+ */
312
+
313
+ /**
314
+ * isStr
315
+ *
316
+ * Returns true if passed param is EITHER a simple string OR a 'string object' - otherwise returns false
317
+ */
318
+ var isStr = function (o) {
319
+ if (typeof o == "string")
320
+ return true;
321
+ else if (typeof o == "object") {
322
+ try {
323
+ var match = o.constructor.toString().match(/string/i);
324
+ return (match !== null);
325
+ } catch (e) {}
326
+ }
327
+ return false;
328
+ };
329
+
330
+ /**
331
+ * str
332
+ *
333
+ * Returns a simple string if the passed param is EITHER a simple string OR a 'string object',
334
+ * else returns the original object
335
+ */
336
+ var str = function (o) {
337
+ if (typeof o == "string" || isStr(o)) return $.trim(o); // trim converts 'String object' to a simple string
338
+ else return o;
339
+ };
340
+
341
+ /**
342
+ * min / max
343
+ *
344
+ * Alias for Math.min/.max to simplify coding
345
+ */
346
+ var min = function (x,y) { return Math.min(x,y); };
347
+ var max = function (x,y) { return Math.max(x,y); };
348
+
349
+ /**
350
+ * transformData
351
+ *
352
+ * Processes the options passed in and transforms them into the format used by layout()
353
+ * Missing keys are added, and converts the data if passed in 'flat-format' (no sub-keys)
354
+ * In flat-format, pane-specific-settings are prefixed like: north__optName (2-underscores)
355
+ * To update effects, options MUST use nested-keys format, with an effects key
356
+ *
357
+ * @callers initOptions()
358
+ * @params JSON d Data/options passed by user - may be a single level or nested levels
359
+ * @returns JSON Creates a data struture that perfectly matches 'options', ready to be imported
360
+ */
361
+ var transformData = function (d) {
362
+ var json = { defaults:{fxSettings:{}}, north:{fxSettings:{}}, south:{fxSettings:{}}, east:{fxSettings:{}}, west:{fxSettings:{}}, center:{fxSettings:{}} };
363
+ d = d || {};
364
+ if (d.effects || d.defaults || d.north || d.south || d.west || d.east || d.center)
365
+ json = $.extend( json, d ); // already in json format - add to base keys
366
+ else
367
+ // convert 'flat' to 'nest-keys' format - also handles 'empty' user-options
368
+ $.each( d, function (key,val) {
369
+ a = key.split("__");
370
+ json[ a[1] ? a[0] : "defaults" ][ a[1] ? a[1] : a[0] ] = val;
371
+ });
372
+ return json;
373
+ };
374
+
375
+ /**
376
+ * setFlowCallback
377
+ *
378
+ * Set an INTERNAL callback to avoid simultaneous animation
379
+ * Runs only if needed and only if all callbacks are not 'already set'!
380
+ *
381
+ * @param String action Either 'open' or 'close'
382
+ * @pane String pane A valid border-pane name, eg 'west'
383
+ * @pane Boolean param Extra param for callback (optional)
384
+ */
385
+ var setFlowCallback = function (action, pane, param) {
386
+ var
387
+ cb = action +","+ pane +","+ (param ? 1 : 0)
388
+ , cP, cbPane
389
+ ;
390
+ $.each(c.borderPanes.split(","), function (i,p) {
391
+ if (c[p].isMoving) {
392
+ bindCallback(p); // TRY to bind a callback
393
+ return false; // BREAK
394
+ }
395
+ });
396
+
397
+ function bindCallback (p, test) {
398
+ cP = c[p];
399
+ if (!cP.doCallback) {
400
+ cP.doCallback = true;
401
+ cP.callback = cb;
402
+ }
403
+ else { // try to 'chain' this callback
404
+ cpPane = cP.callback.split(",")[1]; // 2nd param is 'pane'
405
+ if (cpPane != p && cpPane != pane) // callback target NOT 'itself' and NOT 'this pane'
406
+ bindCallback (cpPane, true); // RECURSE
407
+ }
408
+ }
409
+ };
410
+
411
+ /**
412
+ * execFlowCallback
413
+ *
414
+ * RUN the INTERNAL callback for this pane - if one exists
415
+ *
416
+ * @param String action Either 'open' or 'close'
417
+ * @pane String pane A valid border-pane name, eg 'west'
418
+ * @pane Boolean param Extra param for callback (optional)
419
+ */
420
+ var execFlowCallback = function (pane) {
421
+ var cP = c[pane];
422
+
423
+ // RESET flow-control flaGs
424
+ c.isLayoutBusy = false;
425
+ delete cP.isMoving;
426
+ if (!cP.doCallback || !cP.callback) return;
427
+
428
+ cP.doCallback = false; // RESET logic flag
429
+
430
+ // EXECUTE the callback
431
+ var
432
+ cb = cP.callback.split(",")
433
+ , param = (cb[2] > 0 ? true : false)
434
+ ;
435
+ if (cb[0] == "open")
436
+ open( cb[1], param );
437
+ else if (cb[0] == "close")
438
+ close( cb[1], param );
439
+
440
+ if (!cP.doCallback) cP.callback = null; // RESET - unless callback above enabled it again!
441
+ };
442
+
443
+ /**
444
+ * execUserCallback
445
+ *
446
+ * Executes a Callback function after a trigger event, like resize, open or close
447
+ *
448
+ * @param String pane This is passed only so we can pass the 'pane object' to the callback
449
+ * @param String v_fn Accepts a function name, OR a comma-delimited array: [0]=function name, [1]=argument
450
+ */
451
+ var execUserCallback = function (pane, v_fn) {
452
+ if (!v_fn) return;
453
+ var fn;
454
+ try {
455
+ if (typeof v_fn == "function")
456
+ fn = v_fn;
457
+ else if (typeof v_fn != "string")
458
+ return;
459
+ else if (v_fn.indexOf(",") > 0) {
460
+ // function name cannot contain a comma, so must be a function name AND a 'name' parameter
461
+ var
462
+ args = v_fn.split(",")
463
+ , fn = eval(args[0])
464
+ ;
465
+ if (typeof fn=="function" && args.length > 1)
466
+ return fn(args[1]); // pass the argument parsed from 'list'
467
+ }
468
+ else // just the name of an external function?
469
+ fn = eval(v_fn);
470
+
471
+ if (typeof fn=="function")
472
+ // pass data: pane-name, pane-element, pane-state, pane-options, and layout-name
473
+ return fn( pane, $Ps[pane], $.extend({},state[pane]), $.extend({},options[pane]), options.name );
474
+ }
475
+ catch (ex) {}
476
+ };
477
+
478
+ /**
479
+ * cssNum
480
+ *
481
+ * Returns the 'current CSS value' for an element - returns 0 if property does not exist
482
+ *
483
+ * @callers Called by many methods
484
+ * @param jQuery $Elem Must pass a jQuery object - first element is processed
485
+ * @param String property The name of the CSS property, eg: top, width, etc.
486
+ * @returns Variant Usually is used to get an integer value for position (top, left) or size (height, width)
487
+ */
488
+ var cssNum = function ($E, prop) {
489
+ var
490
+ val = 0
491
+ , hidden = false
492
+ , visibility = ""
493
+ ;
494
+ if (!$.browser.msie) { // IE CAN read dimensions of 'hidden' elements - FF CANNOT
495
+ if ($.curCSS($E[0], "display", true) == "none") {
496
+ hidden = true;
497
+ visibility = $.curCSS($E[0], "visibility", true); // SAVE current setting
498
+ $E.css({ display: "block", visibility: "hidden" }); // show element 'invisibly' so we can measure it
499
+ }
500
+ }
501
+
502
+ val = parseInt($.curCSS($E[0], prop, true), 10) || 0;
503
+
504
+ if (hidden) { // WAS hidden, so put back the way it was
505
+ $E.css({ display: "none" });
506
+ if (visibility && visibility != "hidden")
507
+ $E.css({ visibility: visibility }); // reset 'visibility'
508
+ }
509
+
510
+ return val;
511
+ };
512
+
513
+ /**
514
+ * cssW / cssH / cssSize
515
+ *
516
+ * Contains logic to check boxModel & browser, and return the correct width/height for the current browser/doctype
517
+ *
518
+ * @callers initPanes(), sizeMidPanes(), initHandles(), sizeHandles()
519
+ * @param Variant elem Can accept a 'pane' (east, west, etc) OR a DOM object OR a jQuery object
520
+ * @param Integer outerWidth/outerHeight (optional) Can pass a width, allowing calculations BEFORE element is resized
521
+ * @returns Integer Returns the innerHeight of the elem by subtracting padding and borders
522
+ *
523
+ * @TODO May need to add additional logic to handle more browser/doctype variations?
524
+ */
525
+ var cssW = function (e, outerWidth) {
526
+ var $E;
527
+ if (isStr(e)) {
528
+ e = str(e);
529
+ $E = $Ps[e];
530
+ }
531
+ else
532
+ $E = $(e);
533
+
534
+ // a 'calculated' outerHeight can be passed so borders and/or padding are removed if needed
535
+ if (outerWidth <= 0)
536
+ return 0;
537
+ else if (!(outerWidth>0))
538
+ outerWidth = isStr(e) ? getPaneSize(e) : $E.outerWidth();
539
+
540
+ if (!$.boxModel)
541
+ return outerWidth;
542
+
543
+ else // strip border and padding size from outerWidth to get CSS Width
544
+ return outerWidth
545
+ - cssNum($E, "paddingLeft")
546
+ - cssNum($E, "paddingRight")
547
+ - ($.curCSS($E[0], "borderLeftStyle", true) == "none" ? 0 : cssNum($E, "borderLeftWidth"))
548
+ - ($.curCSS($E[0], "borderRightStyle", true) == "none" ? 0 : cssNum($E, "borderRightWidth"))
549
+ ;
550
+ };
551
+ var cssH = function (e, outerHeight) {
552
+ var $E;
553
+ if (isStr(e)) {
554
+ e = str(e);
555
+ $E = $Ps[e];
556
+ }
557
+ else
558
+ $E = $(e);
559
+
560
+ // a 'calculated' outerHeight can be passed so borders and/or padding are removed if needed
561
+ if (outerHeight <= 0)
562
+ return 0;
563
+ else if (!(outerHeight>0))
564
+ outerHeight = (isStr(e)) ? getPaneSize(e) : $E.outerHeight();
565
+
566
+ if (!$.boxModel)
567
+ return outerHeight;
568
+
569
+ else // strip border and padding size from outerHeight to get CSS Height
570
+ return outerHeight
571
+ - cssNum($E, "paddingTop")
572
+ - cssNum($E, "paddingBottom")
573
+ - ($.curCSS($E[0], "borderTopStyle", true) == "none" ? 0 : cssNum($E, "borderTopWidth"))
574
+ - ($.curCSS($E[0], "borderBottomStyle", true) == "none" ? 0 : cssNum($E, "borderBottomWidth"))
575
+ ;
576
+ };
577
+ var cssSize = function (pane, outerSize) {
578
+ if (c[pane].dir=="horz") // pane = north or south
579
+ return cssH(pane, outerSize);
580
+ else // pane = east or west
581
+ return cssW(pane, outerSize);
582
+ };
583
+
584
+ /**
585
+ * getPaneSize
586
+ *
587
+ * Calculates the current 'size' (width or height) of a border-pane - optionally with 'pane spacing' added
588
+ *
589
+ * @returns Integer Returns EITHER Width for east/west panes OR Height for north/south panes - adjusted for boxModel & browser
590
+ */
591
+ var getPaneSize = function (pane, inclSpace) {
592
+ var
593
+ $P = $Ps[pane]
594
+ , o = options[pane]
595
+ , s = state[pane]
596
+ , oSp = (inclSpace ? o.spacing_open : 0)
597
+ , cSp = (inclSpace ? o.spacing_closed : 0)
598
+ ;
599
+ if (!$P || s.isHidden)
600
+ return 0;
601
+ else if (s.isClosed || (s.isSliding && inclSpace))
602
+ return cSp;
603
+ else if (c[pane].dir == "horz")
604
+ return $P.outerHeight() + oSp;
605
+ else // dir == "vert"
606
+ return $P.outerWidth() + oSp;
607
+ };
608
+
609
+ var setPaneMinMaxSizes = function (pane) {
610
+ var
611
+ d = cDims
612
+ , edge = c[pane].edge
613
+ , dir = c[pane].dir
614
+ , o = options[pane]
615
+ , s = state[pane]
616
+ , $P = $Ps[pane]
617
+ , $altPane = $Ps[ altSide[pane] ]
618
+ , paneSpacing = o.spacing_open
619
+ , altPaneSpacing = options[ altSide[pane] ].spacing_open
620
+ , altPaneSize = (!$altPane ? 0 : (dir=="horz" ? $altPane.outerHeight() : $altPane.outerWidth()))
621
+ , containerSize = (dir=="horz" ? d.innerHeight : d.innerWidth)
622
+ // limitSize prevents this pane from 'overlapping' opposite pane - even if opposite pane is currently closed
623
+ , limitSize = containerSize - paneSpacing - altPaneSize - altPaneSpacing
624
+ , minSize = s.minSize || 0
625
+ , maxSize = Math.min(s.maxSize || 9999, limitSize)
626
+ , minPos, maxPos // used to set resizing limits
627
+ ;
628
+ switch (pane) {
629
+ case "north": minPos = d.offsetTop + minSize;
630
+ maxPos = d.offsetTop + maxSize;
631
+ break;
632
+ case "west": minPos = d.offsetLeft + minSize;
633
+ maxPos = d.offsetLeft + maxSize;
634
+ break;
635
+ case "south": minPos = d.offsetTop + d.innerHeight - maxSize;
636
+ maxPos = d.offsetTop + d.innerHeight - minSize;
637
+ break;
638
+ case "east": minPos = d.offsetLeft + d.innerWidth - maxSize;
639
+ maxPos = d.offsetLeft + d.innerWidth - minSize;
640
+ break;
641
+ }
642
+ // save data to pane-state
643
+ $.extend(s, { minSize: minSize, maxSize: maxSize, minPosition: minPos, maxPosition: maxPos });
644
+ };
645
+
646
+ /**
647
+ * getPaneDims
648
+ *
649
+ * Returns data for setting the size/position of center pane. Date is also used to set Height for east/west panes
650
+ *
651
+ * @returns JSON Returns a hash of all dimensions: top, bottom, left, right, (outer) width and (outer) height
652
+ */
653
+ var getPaneDims = function () {
654
+ var d = {
655
+ top: getPaneSize("north", true) // true = include 'spacing' value for p
656
+ , bottom: getPaneSize("south", true)
657
+ , left: getPaneSize("west", true)
658
+ , right: getPaneSize("east", true)
659
+ , width: 0
660
+ , height: 0
661
+ };
662
+
663
+ with (d) {
664
+ width = cDims.innerWidth - left - right;
665
+ height = cDims.innerHeight - bottom - top;
666
+ // now add the 'container border/padding' to get final positions - relative to the container
667
+ top += cDims.top;
668
+ bottom += cDims.bottom;
669
+ left += cDims.left;
670
+ right += cDims.right;
671
+ }
672
+
673
+ return d;
674
+ };
675
+
676
+
677
+ /**
678
+ * getElemDims
679
+ *
680
+ * Returns data for setting size of an element (container or a pane).
681
+ *
682
+ * @callers create(), onWindowResize() for container, plus others for pane
683
+ * @returns JSON Returns a hash of all dimensions: top, bottom, left, right, outerWidth, innerHeight, etc
684
+ */
685
+ var getElemDims = function ($E) {
686
+ var
687
+ d = {} // dimensions hash
688
+ , e, b, p // edge, border, padding
689
+ ;
690
+
691
+ $.each("Left,Right,Top,Bottom".split(","), function () {
692
+ e = str(this);
693
+ b = d["border" +e] = cssNum($E, "border"+e+"Width");
694
+ p = d["padding"+e] = cssNum($E, "padding"+e);
695
+ d["offset" +e] = b + p; // total offset of content from outer edge
696
+ // if BOX MODEL, then 'position' = PADDING (ignore borderWidth)
697
+ if ($E == $Container)
698
+ d[e.toLowerCase()] = ($.boxModel ? p : 0);
699
+ });
700
+
701
+ d.innerWidth = d.outerWidth = $E.outerWidth();
702
+ d.innerHeight = d.outerHeight = $E.outerHeight();
703
+ if ($.boxModel) {
704
+ d.innerWidth -= (d.offsetLeft + d.offsetRight);
705
+ d.innerHeight -= (d.offsetTop + d.offsetBottom);
706
+ }
707
+
708
+ return d;
709
+ };
710
+
711
+
712
+ var setTimer = function (pane, action, fn, ms) {
713
+ var
714
+ Layout = window.layout = window.layout || {}
715
+ , Timers = Layout.timers = Layout.timers || {}
716
+ , name = "layout_"+ state.id +"_"+ pane +"_"+ action // UNIQUE NAME for every layout-pane-action
717
+ ;
718
+ if (Timers[name]) return; // timer already set!
719
+ else Timers[name] = setTimeout(fn, ms);
720
+ };
721
+
722
+ var clearTimer = function (pane, action) {
723
+ var
724
+ Layout = window.layout = window.layout || {}
725
+ , Timers = Layout.timers = Layout.timers || {}
726
+ , name = "layout_"+ state.id +"_"+ pane +"_"+ action // UNIQUE NAME for every layout-pane-action
727
+ ;
728
+ if (Timers[name]) {
729
+ clearTimeout( Timers[name] );
730
+ delete Timers[name];
731
+ return true;
732
+ }
733
+ else
734
+ return false;
735
+ };
736
+
737
+
738
+ /*
739
+ * ###########################
740
+ * INITIALIZATION METHODS
741
+ * ###########################
742
+ */
743
+
744
+ /**
745
+ * create
746
+ *
747
+ * Initialize the layout - called automatically whenever an instance of layout is created
748
+ *
749
+ * @callers NEVER explicity called
750
+ * @returns An object pointer to the instance created
751
+ */
752
+ var create = function () {
753
+ // initialize config/options
754
+ initOptions();
755
+
756
+ // initialize all objects
757
+ initContainer(); // set CSS as needed and init state.container dimensions
758
+ initPanes(); // size & position all panes
759
+ initHandles(); // create and position all resize bars & togglers buttons
760
+ initResizable(); // activate resizing on all panes where resizable=true
761
+ sizeContent("all"); // AFTER panes & handles have been initialized, size 'content' divs
762
+
763
+ if (options.scrollToBookmarkOnLoad)
764
+ with (self.location) if (hash) replace( hash ); // scrollTo Bookmark
765
+
766
+ // bind hotkey function - keyDown - if required
767
+ initHotkeys();
768
+
769
+ // bind resizeAll() for 'this layout instance' to window.resize event
770
+ $(window).resize(function () {
771
+ var timerID = "timerLayout_"+state.id;
772
+ if (window[timerID]) clearTimeout(window[timerID]);
773
+ window[timerID] = null;
774
+ if (true || $.browser.msie) // use a delay for IE because the resize event fires repeatly
775
+ window[timerID] = setTimeout(resizeAll, 100);
776
+ else // most other browsers have a built-in delay before firing the resize event
777
+ resizeAll(); // resize all layout elements NOW!
778
+ });
779
+ };
780
+
781
+ /**
782
+ * initContainer
783
+ *
784
+ * Validate and initialize container CSS and events
785
+ *
786
+ * @callers create()
787
+ */
788
+ var initContainer = function () {
789
+ try { // format html/body if this is a full page layout
790
+ if ($Container[0].tagName == "BODY") {
791
+ $("html").css({
792
+ height: "100%"
793
+ , overflow: "hidden"
794
+ });
795
+ $("body").css({
796
+ position: "relative"
797
+ , height: "100%"
798
+ , overflow: "hidden"
799
+ , margin: 0
800
+ , padding: 0 // TODO: test whether body-padding could be handled?
801
+ , border: "none" // a body-border creates problems because it cannot be measured!
802
+ });
803
+ }
804
+ else { // set required CSS - overflow and position
805
+ var
806
+ CSS = { overflow: "hidden" } // make sure container will not 'scroll'
807
+ , p = $Container.css("position")
808
+ , h = $Container.css("height")
809
+ ;
810
+ // if this is a NESTED layout, then outer-pane ALREADY has position and height
811
+ if (!$Container.hasClass("ui-layout-pane")) {
812
+ if (!p || "fixed,absolute,relative".indexOf(p) < 0)
813
+ CSS.position = "relative"; // container MUST have a 'position'
814
+ if (!h || h=="auto")
815
+ CSS.height = "100%"; // container MUST have a 'height'
816
+ }
817
+ $Container.css( CSS );
818
+ }
819
+ } catch (ex) {}
820
+
821
+ // get layout-container dimensions (updated when necessary)
822
+ cDims = state.container = getElemDims( $Container ); // update data-pointer too
823
+ };
824
+
825
+ /**
826
+ * initHotkeys
827
+ *
828
+ * Bind layout hotkeys - if options enabled
829
+ *
830
+ * @callers create()
831
+ */
832
+ var initHotkeys = function () {
833
+ // bind keyDown to capture hotkeys, if option enabled for ANY pane
834
+ $.each(c.borderPanes.split(","), function (i,pane) {
835
+ var o = options[pane];
836
+ if (o.enableCursorHotkey || o.customHotkey) {
837
+ $(document).keydown( keyDown ); // only need to bind this ONCE
838
+ return false; // BREAK - binding was done
839
+ }
840
+ });
841
+ };
842
+
843
+ /**
844
+ * initOptions
845
+ *
846
+ * Build final CONFIG and OPTIONS data
847
+ *
848
+ * @callers create()
849
+ */
850
+ var initOptions = function () {
851
+ // simplify logic by making sure passed 'opts' var has basic keys
852
+ opts = transformData( opts );
853
+
854
+ // update default effects, if case user passed key
855
+ if (opts.effects) {
856
+ $.extend( effects, opts.effects );
857
+ delete opts.effects;
858
+ }
859
+
860
+ // see if any 'global options' were specified
861
+ $.each("name,scrollToBookmarkOnLoad".split(","), function (idx,key) {
862
+ if (opts[key] !== undefined)
863
+ options[key] = opts[key];
864
+ else if (opts.defaults[key] !== undefined) {
865
+ options[key] = opts.defaults[key];
866
+ delete opts.defaults[key];
867
+ }
868
+ });
869
+
870
+ // remove any 'defaults' that MUST be set 'per-pane'
871
+ $.each("paneSelector,resizerCursor,customHotkey".split(","),
872
+ function (idx,key) { delete opts.defaults[key]; } // is OK if key does not exist
873
+ );
874
+
875
+ // now update options.defaults
876
+ $.extend( options.defaults, opts.defaults );
877
+ // make sure required sub-keys exist
878
+ //if (typeof options.defaults.fxSettings != "object") options.defaults.fxSettings = {};
879
+
880
+ // merge all config & options for the 'center' pane
881
+ c.center = $.extend( true, {}, c.defaults, c.center );
882
+ $.extend( options.center, opts.center );
883
+ // Most 'default options' do not apply to 'center', so add only those that DO
884
+ var o_Center = $.extend( true, {}, options.defaults, opts.defaults, options.center ); // TEMP data
885
+ $.each("paneClass,contentSelector,contentIgnoreSelector,applyDefaultStyles,showOverflowOnHover".split(","),
886
+ function (idx,key) { options.center[key] = o_Center[key]; }
887
+ );
888
+
889
+ var defs = options.defaults;
890
+
891
+ // create a COMPLETE set of options for EACH border-pane
892
+ $.each(c.borderPanes.split(","), function(i,pane) {
893
+ // apply 'pane-defaults' to CONFIG.PANE
894
+ c[pane] = $.extend( true, {}, c.defaults, c[pane] );
895
+ // apply 'pane-defaults' + user-options to OPTIONS.PANE
896
+ o = options[pane] = $.extend( true, {}, options.defaults, options[pane], opts.defaults, opts[pane] );
897
+
898
+ // make sure we have base-classes
899
+ if (!o.paneClass) o.paneClass = defaults.paneClass;
900
+ if (!o.resizerClass) o.resizerClass = defaults.resizerClass;
901
+ if (!o.togglerClass) o.togglerClass = defaults.togglerClass;
902
+
903
+ // create FINAL fx options for each pane, ie: options.PANE.fxName/fxSpeed/fxSettings[_open|_close]
904
+ $.each(["_open","_close",""], function (i,n) {
905
+ var
906
+ sName = "fxName"+n
907
+ , sSpeed = "fxSpeed"+n
908
+ , sSettings = "fxSettings"+n
909
+ ;
910
+ // recalculate fxName according to specificity rules
911
+ o[sName] =
912
+ opts[pane][sName] // opts.west.fxName_open
913
+ || opts[pane].fxName // opts.west.fxName
914
+ || opts.defaults[sName] // opts.defaults.fxName_open
915
+ || opts.defaults.fxName // opts.defaults.fxName
916
+ || o[sName] // options.west.fxName_open
917
+ || o.fxName // options.west.fxName
918
+ || defs[sName] // options.defaults.fxName_open
919
+ || defs.fxName // options.defaults.fxName
920
+ || "none"
921
+ ;
922
+ // validate fxName to be sure is a valid effect
923
+ var fxName = o[sName];
924
+ if (fxName == "none" || !$.effects || !$.effects[fxName] || (!effects[fxName] && !o[sSettings] && !o.fxSettings))
925
+ fxName = o[sName] = "none"; // effect not loaded, OR undefined FX AND fxSettings not passed
926
+ // set vars for effects subkeys to simplify logic
927
+ var
928
+ fx = effects[fxName] || {} // effects.slide
929
+ , fx_all = fx.all || {} // effects.slide.all
930
+ , fx_pane = fx[pane] || {} // effects.slide.west
931
+ ;
932
+ // RECREATE the fxSettings[_open|_close] keys using specificity rules
933
+ o[sSettings] = $.extend(
934
+ {}
935
+ , fx_all // effects.slide.all
936
+ , fx_pane // effects.slide.west
937
+ , defs.fxSettings || {} // options.defaults.fxSettings
938
+ , defs[sSettings] || {} // options.defaults.fxSettings_open
939
+ , o.fxSettings // options.west.fxSettings
940
+ , o[sSettings] // options.west.fxSettings_open
941
+ , opts.defaults.fxSettings // opts.defaults.fxSettings
942
+ , opts.defaults[sSettings] || {} // opts.defaults.fxSettings_open
943
+ , opts[pane].fxSettings // opts.west.fxSettings
944
+ , opts[pane][sSettings] || {} // opts.west.fxSettings_open
945
+ );
946
+ // recalculate fxSpeed according to specificity rules
947
+ o[sSpeed] =
948
+ opts[pane][sSpeed] // opts.west.fxSpeed_open
949
+ || opts[pane].fxSpeed // opts.west.fxSpeed (pane-default)
950
+ || opts.defaults[sSpeed] // opts.defaults.fxSpeed_open
951
+ || opts.defaults.fxSpeed // opts.defaults.fxSpeed
952
+ || o[sSpeed] // options.west.fxSpeed_open
953
+ || o[sSettings].duration // options.west.fxSettings_open.duration
954
+ || o.fxSpeed // options.west.fxSpeed
955
+ || o.fxSettings.duration // options.west.fxSettings.duration
956
+ || defs.fxSpeed // options.defaults.fxSpeed
957
+ || defs.fxSettings.duration// options.defaults.fxSettings.duration
958
+ || fx_pane.duration // effects.slide.west.duration
959
+ || fx_all.duration // effects.slide.all.duration
960
+ || "normal" // DEFAULT
961
+ ;
962
+ // DEBUG: if (pane=="east") debugData( $.extend({}, {speed: o[sSpeed], fxSettings_duration: o[sSettings].duration}, o[sSettings]), pane+"."+sName+" = "+fxName );
963
+ });
964
+ });
965
+ };
966
+
967
+ /**
968
+ * initPanes
969
+ *
970
+ * Initialize module objects, styling, size and position for all panes
971
+ *
972
+ * @callers create()
973
+ */
974
+ var initPanes = function () {
975
+ // NOTE: do north & south FIRST so we can measure their height - do center LAST
976
+ $.each(c.allPanes.split(","), function() {
977
+ var
978
+ pane = str(this)
979
+ , o = options[pane]
980
+ , s = state[pane]
981
+ , fx = s.fx
982
+ , dir = c[pane].dir
983
+ // if o.size is not > 0, then we will use MEASURE the pane and use that as it's 'size'
984
+ , size = o.size=="auto" || isNaN(o.size) ? 0 : o.size
985
+ , minSize = o.minSize || 1
986
+ , maxSize = o.maxSize || 9999
987
+ , spacing = o.spacing_open || 0
988
+ , sel = o.paneSelector
989
+ , isIE6 = ($.browser.msie && $.browser.version < 7)
990
+ , CSS = {}
991
+ , $P, $C
992
+ ;
993
+ $Cs[pane] = false; // init
994
+
995
+ if (sel.substr(0,1)==="#") // ID selector
996
+ // NOTE: elements selected 'by ID' DO NOT have to be 'children'
997
+ $P = $Ps[pane] = $Container.find(sel+":first");
998
+ else { // class or other selector
999
+ $P = $Ps[pane] = $Container.children(sel+":first");
1000
+ // look for the pane nested inside a 'form' element
1001
+ if (!$P.length) $P = $Ps[pane] = $Container.children("form:first").children(sel+":first");
1002
+ }
1003
+
1004
+ if (!$P.length) {
1005
+ $Ps[pane] = false; // logic
1006
+ return true; // SKIP to next
1007
+ }
1008
+
1009
+ // add basic classes & attributes
1010
+ $P
1011
+ .attr("pane", pane) // add pane-identifier
1012
+ .addClass( o.paneClass +" "+ o.paneClass+"-"+pane ) // default = "ui-layout-pane ui-layout-pane-west" - may be a dupe of 'paneSelector'
1013
+ ;
1014
+
1015
+ // init pane-logic vars, etc.
1016
+ if (pane != "center") {
1017
+ s.isClosed = false; // true = pane is closed
1018
+ s.isSliding = false; // true = pane is currently open by 'sliding' over adjacent panes
1019
+ s.isResizing= false; // true = pane is in process of being resized
1020
+ s.isHidden = false; // true = pane is hidden - no spacing, resizer or toggler is visible!
1021
+ s.noRoom = false; // true = pane 'automatically' hidden due to insufficient room - will unhide automatically
1022
+ // create special keys for internal use
1023
+ c[pane].pins = []; // used to track and sync 'pin-buttons' for border-panes
1024
+ }
1025
+
1026
+ CSS = $.extend({ visibility: "visible", display: "block" }, c.defaults.cssReq, c[pane].cssReq );
1027
+ if (o.applyDefaultStyles) $.extend( CSS, c.defaults.cssDef, c[pane].cssDef ); // cosmetic defaults
1028
+ $P.css(CSS); // add base-css BEFORE 'measuring' to calc size & position
1029
+ CSS = {}; // reset var
1030
+
1031
+ // set css-position to account for container borders & padding
1032
+ switch (pane) {
1033
+ case "north": CSS.top = cDims.top;
1034
+ CSS.left = cDims.left;
1035
+ CSS.right = cDims.right;
1036
+ break;
1037
+ case "south": CSS.bottom = cDims.bottom;
1038
+ CSS.left = cDims.left;
1039
+ CSS.right = cDims.right;
1040
+ break;
1041
+ case "west": CSS.left = cDims.left; // top, bottom & height set by sizeMidPanes()
1042
+ break;
1043
+ case "east": CSS.right = cDims.right; // ditto
1044
+ break;
1045
+ case "center": // top, left, width & height set by sizeMidPanes()
1046
+ }
1047
+
1048
+ if (dir == "horz") { // north or south pane
1049
+ if (size === 0 || size == "auto") {
1050
+ $P.css({ height: "auto" });
1051
+ size = $P.outerHeight();
1052
+ }
1053
+ size = max(size, minSize);
1054
+ size = min(size, maxSize);
1055
+ size = min(size, cDims.innerHeight - spacing);
1056
+ CSS.height = max(1, cssH(pane, size));
1057
+ s.size = size; // update state
1058
+ // make sure minSize is sufficient to avoid errors
1059
+ s.maxSize = maxSize; // init value
1060
+ s.minSize = max(minSize, size - CSS.height + 1); // = pane.outerHeight when css.height = 1px
1061
+ // handle IE6
1062
+ //if (isIE6) CSS.width = cssW($P, cDims.innerWidth);
1063
+ $P.css(CSS); // apply size & position
1064
+ }
1065
+ else if (dir == "vert") { // east or west pane
1066
+ if (size === 0 || size == "auto") {
1067
+ $P.css({ width: "auto", "float": "left" }); // float = FORCE pane to auto-size
1068
+ size = $P.outerWidth();
1069
+ $P.css({ "float": "none" }); // RESET
1070
+ }
1071
+ size = max(size, minSize);
1072
+ size = min(size, maxSize);
1073
+ size = min(size, cDims.innerWidth - spacing);
1074
+ CSS.width = max(1, cssW(pane, size));
1075
+ s.size = size; // update state
1076
+ s.maxSize = maxSize; // init value
1077
+ // make sure minSize is sufficient to avoid errors
1078
+ s.minSize = max(minSize, size - CSS.width + 1); // = pane.outerWidth when css.width = 1px
1079
+ $P.css(CSS); // apply size - top, bottom & height set by sizeMidPanes
1080
+ sizeMidPanes(pane, null, true); // true = onInit
1081
+ }
1082
+ else if (pane == "center") {
1083
+ $P.css(CSS); // top, left, width & height set by sizeMidPanes...
1084
+ sizeMidPanes("center", null, true); // true = onInit
1085
+ }
1086
+
1087
+ // close or hide the pane if specified in settings
1088
+ if (o.initClosed && o.closable) {
1089
+ $P.hide().addClass("closed");
1090
+ s.isClosed = true;
1091
+ }
1092
+ else if (o.initHidden || o.initClosed) {
1093
+ hide(pane, true); // will be completely invisible - no resizer or spacing
1094
+ s.isHidden = true;
1095
+ }
1096
+ else
1097
+ $P.addClass("open");
1098
+
1099
+ // check option for auto-handling of pop-ups & drop-downs
1100
+ if (o.showOverflowOnHover)
1101
+ $P.hover( allowOverflow, resetOverflow );
1102
+
1103
+ /*
1104
+ * see if this pane has a 'content element' that we need to auto-size
1105
+ */
1106
+ if (o.contentSelector) {
1107
+ $C = $Cs[pane] = $P.children(o.contentSelector+":first"); // match 1-element only
1108
+ if (!$C.length) {
1109
+ $Cs[pane] = false;
1110
+ return true; // SKIP to next
1111
+ }
1112
+ $C.css( c.content.cssReq );
1113
+ if (o.applyDefaultStyles) $C.css( c.content.cssDef ); // cosmetic defaults
1114
+ // NO PANE-SCROLLING when there is a content-div
1115
+ $P.css({ overflow: "hidden" });
1116
+ }
1117
+ });
1118
+ };
1119
+
1120
+ /**
1121
+ * initHandles
1122
+ *
1123
+ * Initialize module objects, styling, size and position for all resize bars and toggler buttons
1124
+ *
1125
+ * @callers create()
1126
+ */
1127
+ var initHandles = function () {
1128
+ // create toggler DIVs for each pane, and set object pointers for them, eg: $R.north = north toggler DIV
1129
+ $.each(c.borderPanes.split(","), function() {
1130
+ var
1131
+ pane = str(this)
1132
+ , o = options[pane]
1133
+ , s = state[pane]
1134
+ , rClass = o.resizerClass
1135
+ , tClass = o.togglerClass
1136
+ , $P = $Ps[pane]
1137
+ ;
1138
+ $Rs[pane] = false; // INIT
1139
+ $Ts[pane] = false;
1140
+
1141
+ if (!$P || (!o.closable && !o.resizable)) return; // pane does not exist - skip
1142
+
1143
+ var
1144
+ edge = c[pane].edge
1145
+ , isOpen = $P.is(":visible")
1146
+ , spacing = (isOpen ? o.spacing_open : o.spacing_closed)
1147
+ , _pane = "-"+ pane // used for classNames
1148
+ , _state = (isOpen ? "-open" : "-closed") // used for classNames
1149
+ , $R, $T
1150
+ ;
1151
+ // INIT RESIZER BAR
1152
+ $R = $Rs[pane] = $("<span></span>");
1153
+
1154
+ if (isOpen && o.resizable)
1155
+ ; // this is handled by initResizable
1156
+ else if (!isOpen && o.slidable)
1157
+ $R.attr("title", o.sliderTip).css("cursor", o.sliderCursor);
1158
+
1159
+ $R
1160
+ // if paneSelector is an ID, then create a matching ID for the resizer, eg: "#paneLeft" => "paneLeft-resizer"
1161
+ .attr("id", (o.paneSelector.substr(0,1)=="#" ? o.paneSelector.substr(1) + "-resizer" : ""))
1162
+ .attr("resizer", pane) // so we can read this from the resizer
1163
+ .css(c.resizers.cssReq) // add base/required styles
1164
+ // POSITION of resizer bar - allow for container border & padding
1165
+ .css(edge, cDims[edge] + getPaneSize(pane))
1166
+ // ADD CLASSNAMES - eg: class="resizer resizer-west resizer-open"
1167
+ .addClass( rClass +" "+ rClass+_pane +" "+ rClass+_state +" "+ rClass+_pane+_state )
1168
+ .appendTo($Container) // append DIV to container
1169
+ ;
1170
+ // ADD VISUAL STYLES
1171
+ if (o.applyDefaultStyles)
1172
+ $R.css(c.resizers.cssDef);
1173
+
1174
+ if (o.closable) {
1175
+ // INIT COLLAPSER BUTTON
1176
+ $T = $Ts[pane] = $("<div></div>");
1177
+ $T
1178
+ // if paneSelector is an ID, then create a matching ID for the resizer, eg: "#paneLeft" => "paneLeft-toggler"
1179
+ .attr("id", (o.paneSelector.substr(0,1)=="#" ? o.paneSelector.substr(1) + "-toggler" : ""))
1180
+ .css(c.togglers.cssReq) // add base/required styles
1181
+ .attr("title", (isOpen ? o.togglerTip_open : o.togglerTip_closed))
1182
+ .click(function(evt){ toggle(pane); evt.stopPropagation(); })
1183
+ .mouseover(function(evt){ evt.stopPropagation(); }) // prevent resizer event
1184
+ // ADD CLASSNAMES - eg: class="toggler toggler-west toggler-west-open"
1185
+ .addClass( tClass +" "+ tClass+_pane +" "+ tClass+_state +" "+ tClass+_pane+_state )
1186
+ .appendTo($R) // append SPAN to resizer DIV
1187
+ ;
1188
+
1189
+ // ADD INNER-SPANS TO TOGGLER
1190
+ if (o.togglerContent_open) // ui-layout-open
1191
+ $("<span>"+ o.togglerContent_open +"</span>")
1192
+ .addClass("content content-open")
1193
+ .css("display", s.isClosed ? "none" : "block")
1194
+ .appendTo( $T )
1195
+ ;
1196
+ if (o.togglerContent_closed) // ui-layout-closed
1197
+ $("<span>"+ o.togglerContent_closed +"</span>")
1198
+ .addClass("content content-closed")
1199
+ .css("display", s.isClosed ? "block" : "none")
1200
+ .appendTo( $T )
1201
+ ;
1202
+
1203
+ // ADD BASIC VISUAL STYLES
1204
+ if (o.applyDefaultStyles)
1205
+ $T.css(c.togglers.cssDef);
1206
+
1207
+ if (!isOpen) bindStartSlidingEvent(pane, true); // will enable if state.PANE.isSliding = true
1208
+ }
1209
+
1210
+ });
1211
+
1212
+ // SET ALL HANDLE SIZES & LENGTHS
1213
+ sizeHandles("all", true); // true = onInit
1214
+ };
1215
+
1216
+ /**
1217
+ * initResizable
1218
+ *
1219
+ * Add resize-bars to all panes that specify it in options
1220
+ *
1221
+ * @dependancies $.fn.resizable - will abort if not found
1222
+ * @callers create()
1223
+ */
1224
+ var initResizable = function () {
1225
+ var
1226
+ draggingAvailable = (typeof $.fn.draggable == "function")
1227
+ , minPosition, maxPosition, edge // set in start()
1228
+ ;
1229
+
1230
+ $.each(c.borderPanes.split(","), function() {
1231
+ var
1232
+ pane = str(this)
1233
+ , o = options[pane]
1234
+ , s = state[pane]
1235
+ ;
1236
+ if (!draggingAvailable || !$Ps[pane] || !o.resizable) {
1237
+ o.resizable = false;
1238
+ return true; // skip to next
1239
+ }
1240
+
1241
+ var
1242
+ rClass = o.resizerClass
1243
+ // 'drag' classes are applied to the ORIGINAL resizer-bar while dragging is in process
1244
+ , dragClass = rClass+"-drag" // resizer-drag
1245
+ , dragPaneClass = rClass+"-"+pane+"-drag" // resizer-north-drag
1246
+ // 'dragging' class is applied to the CLONED resizer-bar while it is being dragged
1247
+ , draggingClass = rClass+"-dragging" // resizer-dragging
1248
+ , draggingPaneClass = rClass+"-"+pane+"-dragging" // resizer-north-dragging
1249
+ , draggingClassSet = false // logic var
1250
+ , $P = $Ps[pane]
1251
+ , $R = $Rs[pane]
1252
+ ;
1253
+
1254
+ if (!s.isClosed)
1255
+ $R
1256
+ .attr("title", o.resizerTip)
1257
+ .css("cursor", o.resizerCursor) // n-resize, s-resize, etc
1258
+ ;
1259
+
1260
+ $R.draggable({
1261
+ containment: $Container[0] // limit resizing to layout container
1262
+ , axis: (c[pane].dir=="horz" ? "y" : "x") // limit resizing to horz or vert axis
1263
+ , delay: 200
1264
+ , distance: 1
1265
+ // basic format for helper - style it using class: .ui-draggable-dragging
1266
+ , helper: "clone"
1267
+ , opacity: o.resizerDragOpacity
1268
+ //, iframeFix: o.draggableIframeFix // TODO: consider using when bug is fixed
1269
+ , zIndex: c.zIndex.resizing
1270
+
1271
+ , start: function (e, ui) {
1272
+ // onresize_start callback - will CANCEL hide if returns false
1273
+ // TODO: CONFIRM that dragging can be cancelled like this???
1274
+ if (false === execUserCallback(pane, o.onresize_start)) return false;
1275
+
1276
+ s.isResizing = true; // prevent pane from closing while resizing
1277
+ clearTimer(pane, "closeSlider"); // just in case already triggered
1278
+
1279
+ $R.addClass( dragClass +" "+ dragPaneClass ); // add drag classes
1280
+ draggingClassSet = false; // reset logic var - see drag()
1281
+
1282
+ // SET RESIZING LIMITS - used in drag()
1283
+ var resizerWidth = (pane=="east" || pane=="south" ? o.spacing_open : 0);
1284
+ setPaneMinMaxSizes(pane); // update pane-state
1285
+ s.minPosition -= resizerWidth;
1286
+ s.maxPosition -= resizerWidth;
1287
+ edge = (c[pane].dir=="horz" ? "top" : "left");
1288
+
1289
+ // MASK PANES WITH IFRAMES OR OTHER TROUBLESOME ELEMENTS
1290
+ $(o.maskIframesOnResize === true ? "iframe" : o.maskIframesOnResize).each(function() {
1291
+ $('<div class="ui-layout-mask"/>')
1292
+ .css({
1293
+ background: "#fff"
1294
+ , opacity: "0.001"
1295
+ , zIndex: 9
1296
+ , position: "absolute"
1297
+ , width: this.offsetWidth+"px"
1298
+ , height: this.offsetHeight+"px"
1299
+ })
1300
+ .css($(this).offset()) // top & left
1301
+ .appendTo(this.parentNode) // put div INSIDE pane to avoid zIndex issues
1302
+ ;
1303
+ });
1304
+ }
1305
+
1306
+ , drag: function (e, ui) {
1307
+ if (!draggingClassSet) { // can only add classes after clone has been added to the DOM
1308
+ $(".ui-draggable-dragging")
1309
+ .addClass( draggingClass +" "+ draggingPaneClass ) // add dragging classes
1310
+ .children().css("visibility","hidden") // hide toggler inside dragged resizer-bar
1311
+ ;
1312
+ draggingClassSet = true;
1313
+ // draggable bug!? RE-SET zIndex to prevent E/W resize-bar showing through N/S pane!
1314
+ if (s.isSliding) $Ps[pane].css("zIndex", c.zIndex.sliding);
1315
+ }
1316
+ // CONTAIN RESIZER-BAR TO RESIZING LIMITS
1317
+ if (ui.position[edge] < s.minPosition) ui.position[edge] = s.minPosition;
1318
+ else if (ui.position[edge] > s.maxPosition) ui.position[edge] = s.maxPosition;
1319
+ }
1320
+
1321
+ , stop: function (e, ui) {
1322
+ var
1323
+ dragPos = ui.position
1324
+ , resizerPos
1325
+ , newSize
1326
+ ;
1327
+ $R.removeClass( dragClass +" "+ dragPaneClass ); // remove drag classes
1328
+
1329
+ switch (pane) {
1330
+ case "north": resizerPos = dragPos.top; break;
1331
+ case "west": resizerPos = dragPos.left; break;
1332
+ case "south": resizerPos = cDims.outerHeight - dragPos.top - $R.outerHeight(); break;
1333
+ case "east": resizerPos = cDims.outerWidth - dragPos.left - $R.outerWidth(); break;
1334
+ }
1335
+ // remove container margin from resizer position to get the pane size
1336
+ newSize = resizerPos - cDims[ c[pane].edge ];
1337
+
1338
+ sizePane(pane, newSize);
1339
+
1340
+ // UN-MASK PANES MASKED IN drag.start
1341
+ $("div.ui-layout-mask").remove(); // Remove iframe masks
1342
+
1343
+ s.isResizing = false;
1344
+ }
1345
+
1346
+ });
1347
+ });
1348
+ };
1349
+
1350
+
1351
+
1352
+ /*
1353
+ * ###########################
1354
+ * ACTION METHODS
1355
+ * ###########################
1356
+ */
1357
+
1358
+ /**
1359
+ * hide / show
1360
+ *
1361
+ * Completely 'hides' a pane, including its spacing - as if it does not exist
1362
+ * The pane is not actually 'removed' from the source, so can use 'show' to un-hide it
1363
+ *
1364
+ * @param String pane The pane being hidden, ie: north, south, east, or west
1365
+ */
1366
+ var hide = function (pane, onInit) {
1367
+ var
1368
+ o = options[pane]
1369
+ , s = state[pane]
1370
+ , $P = $Ps[pane]
1371
+ , $R = $Rs[pane]
1372
+ ;
1373
+ if (!$P || s.isHidden) return; // pane does not exist OR is already hidden
1374
+
1375
+ // onhide_start callback - will CANCEL hide if returns false
1376
+ if (false === execUserCallback(pane, o.onhide_start)) return;
1377
+
1378
+ s.isSliding = false; // just in case
1379
+
1380
+ // now hide the elements
1381
+ if ($R) $R.hide(); // hide resizer-bar
1382
+ if (onInit || s.isClosed) {
1383
+ s.isClosed = true; // to trigger open-animation on show()
1384
+ s.isHidden = true;
1385
+ $P.hide(); // no animation when loading page
1386
+ sizeMidPanes(c[pane].dir == "horz" ? "all" : "center");
1387
+ execUserCallback(pane, o.onhide_end || o.onhide);
1388
+ }
1389
+ else {
1390
+ s.isHiding = true; // used by onclose
1391
+ close(pane, false); // adjust all panes to fit
1392
+ //s.isHidden = true; - will be set by close - if not cancelled
1393
+ }
1394
+ };
1395
+
1396
+ var show = function (pane, openPane) {
1397
+ var
1398
+ o = options[pane]
1399
+ , s = state[pane]
1400
+ , $P = $Ps[pane]
1401
+ , $R = $Rs[pane]
1402
+ ;
1403
+ if (!$P || !s.isHidden) return; // pane does not exist OR is not hidden
1404
+
1405
+ // onhide_start callback - will CANCEL hide if returns false
1406
+ if (false === execUserCallback(pane, o.onshow_start)) return;
1407
+
1408
+ s.isSliding = false; // just in case
1409
+ s.isShowing = true; // used by onopen/onclose
1410
+ //s.isHidden = false; - will be set by open/close - if not cancelled
1411
+
1412
+ // now show the elements
1413
+ if ($R && o.spacing_open > 0) $R.show();
1414
+ if (openPane === false)
1415
+ close(pane, true); // true = force
1416
+ else
1417
+ open(pane); // adjust all panes to fit
1418
+ };
1419
+
1420
+
1421
+ /**
1422
+ * toggle
1423
+ *
1424
+ * Toggles a pane open/closed by calling either open or close
1425
+ *
1426
+ * @param String pane The pane being toggled, ie: north, south, east, or west
1427
+ */
1428
+ var toggle = function (pane) {
1429
+ var s = state[pane];
1430
+ if (s.isHidden)
1431
+ show(pane); // will call 'open' after unhiding it
1432
+ else if (s.isClosed)
1433
+ open(pane);
1434
+ else
1435
+ close(pane);
1436
+ };
1437
+
1438
+ /**
1439
+ * close
1440
+ *
1441
+ * Close the specified pane (animation optional), and resize all other panes as needed
1442
+ *
1443
+ * @param String pane The pane being closed, ie: north, south, east, or west
1444
+ */
1445
+ var close = function (pane, force, noAnimation) {
1446
+ var
1447
+ $P = $Ps[pane]
1448
+ , $R = $Rs[pane]
1449
+ , $T = $Ts[pane]
1450
+ , o = options[pane]
1451
+ , s = state[pane]
1452
+ , doFX = !noAnimation && !s.isClosed && (o.fxName_close != "none")
1453
+ , edge = c[pane].edge
1454
+ , rClass = o.resizerClass
1455
+ , tClass = o.togglerClass
1456
+ , _pane = "-"+ pane // used for classNames
1457
+ , _open = "-open"
1458
+ , _sliding= "-sliding"
1459
+ , _closed = "-closed"
1460
+ // transfer logic vars to temp vars
1461
+ , isShowing = s.isShowing
1462
+ , isHiding = s.isHiding
1463
+ ;
1464
+ // now clear the logic vars
1465
+ delete s.isShowing;
1466
+ delete s.isHiding;
1467
+
1468
+ if (!$P || (!o.resizable && !o.closable)) return; // invalid request
1469
+ else if (!force && s.isClosed && !isShowing) return; // already closed
1470
+
1471
+ if (c.isLayoutBusy) { // layout is 'busy' - probably with an animation
1472
+ setFlowCallback("close", pane, force); // set a callback for this action, if possible
1473
+ return; // ABORT
1474
+ }
1475
+
1476
+ // onclose_start callback - will CANCEL hide if returns false
1477
+ // SKIP if just 'showing' a hidden pane as 'closed'
1478
+ if (!isShowing && false === execUserCallback(pane, o.onclose_start)) return;
1479
+
1480
+ // SET flow-control flags
1481
+ c[pane].isMoving = true;
1482
+ c.isLayoutBusy = true;
1483
+
1484
+ s.isClosed = true;
1485
+ // update isHidden BEFORE sizing panes
1486
+ if (isHiding) s.isHidden = true;
1487
+ else if (isShowing) s.isHidden = false;
1488
+
1489
+ // sync any 'pin buttons'
1490
+ syncPinBtns(pane, false);
1491
+
1492
+ // resize panes adjacent to this one
1493
+ if (!s.isSliding) sizeMidPanes(c[pane].dir == "horz" ? "all" : "center");
1494
+
1495
+ // if this pane has a resizer bar, move it now
1496
+ if ($R) {
1497
+ $R
1498
+ .css(edge, cDims[edge]) // move the resizer bar
1499
+ .removeClass( rClass+_open +" "+ rClass+_pane+_open )
1500
+ .removeClass( rClass+_sliding +" "+ rClass+_pane+_sliding )
1501
+ .addClass( rClass+_closed +" "+ rClass+_pane+_closed )
1502
+ ;
1503
+ // DISABLE 'resizing' when closed - do this BEFORE bindStartSlidingEvent
1504
+ if (o.resizable)
1505
+ $R
1506
+ .draggable("disable")
1507
+ .css("cursor", "default")
1508
+ .attr("title","")
1509
+ ;
1510
+ // if pane has a toggler button, adjust that too
1511
+ if ($T) {
1512
+ $T
1513
+ .removeClass( tClass+_open +" "+ tClass+_pane+_open )
1514
+ .addClass( tClass+_closed +" "+ tClass+_pane+_closed )
1515
+ .attr("title", o.togglerTip_closed) // may be blank
1516
+ ;
1517
+ }
1518
+ sizeHandles(); // resize 'length' and position togglers for adjacent panes
1519
+ }
1520
+
1521
+ // ANIMATE 'CLOSE' - if no animation, then was ALREADY shown above
1522
+ if (doFX) {
1523
+ lockPaneForFX(pane, true); // need to set left/top so animation will work
1524
+ $P.hide( o.fxName_close, o.fxSettings_close, o.fxSpeed_close, function () {
1525
+ lockPaneForFX(pane, false); // undo
1526
+ if (!s.isClosed) return; // pane was opened before animation finished!
1527
+ close_2();
1528
+ });
1529
+ }
1530
+ else {
1531
+ $P.hide(); // just hide pane NOW
1532
+ close_2();
1533
+ }
1534
+
1535
+ // SUBROUTINE
1536
+ function close_2 () {
1537
+ bindStartSlidingEvent(pane, true); // will enable if state.PANE.isSliding = true
1538
+
1539
+ // onclose callback - UNLESS just 'showing' a hidden pane as 'closed'
1540
+ if (!isShowing) execUserCallback(pane, o.onclose_end || o.onclose);
1541
+ // onhide OR onshow callback
1542
+ if (isShowing) execUserCallback(pane, o.onshow_end || o.onshow);
1543
+ if (isHiding) execUserCallback(pane, o.onhide_end || o.onhide);
1544
+
1545
+ // internal flow-control callback
1546
+ execFlowCallback(pane);
1547
+ }
1548
+ };
1549
+
1550
+ /**
1551
+ * open
1552
+ *
1553
+ * Open the specified pane (animation optional), and resize all other panes as needed
1554
+ *
1555
+ * @param String pane The pane being opened, ie: north, south, east, or west
1556
+ */
1557
+ var open = function (pane, slide, noAnimation) {
1558
+ var
1559
+ $P = $Ps[pane]
1560
+ , $R = $Rs[pane]
1561
+ , $T = $Ts[pane]
1562
+ , o = options[pane]
1563
+ , s = state[pane]
1564
+ , doFX = !noAnimation && s.isClosed && (o.fxName_open != "none")
1565
+ , edge = c[pane].edge
1566
+ , rClass = o.resizerClass
1567
+ , tClass = o.togglerClass
1568
+ , _pane = "-"+ pane // used for classNames
1569
+ , _open = "-open"
1570
+ , _closed = "-closed"
1571
+ , _sliding= "-sliding"
1572
+ // transfer logic var to temp var
1573
+ , isShowing = s.isShowing
1574
+ ;
1575
+ // now clear the logic var
1576
+ delete s.isShowing;
1577
+
1578
+ if (!$P || (!o.resizable && !o.closable)) return; // invalid request
1579
+ else if (!s.isClosed && !s.isSliding) return; // already open
1580
+
1581
+ // pane can ALSO be unhidden by just calling show(), so handle this scenario
1582
+ if (s.isHidden && !isShowing) {
1583
+ show(pane, true);
1584
+ return;
1585
+ }
1586
+
1587
+ if (c.isLayoutBusy) { // layout is 'busy' - probably with an animation
1588
+ setFlowCallback("open", pane, slide); // set a callback for this action, if possible
1589
+ return; // ABORT
1590
+ }
1591
+
1592
+ // onopen_start callback - will CANCEL hide if returns false
1593
+ if (false === execUserCallback(pane, o.onopen_start)) return;
1594
+
1595
+ // SET flow-control flags
1596
+ c[pane].isMoving = true;
1597
+ c.isLayoutBusy = true;
1598
+
1599
+ // 'PIN PANE' - stop sliding
1600
+ if (s.isSliding && !slide) // !slide = 'open pane normally' - NOT sliding
1601
+ bindStopSlidingEvents(pane, false); // will set isSliding=false
1602
+
1603
+ s.isClosed = false;
1604
+ // update isHidden BEFORE sizing panes
1605
+ if (isShowing) s.isHidden = false;
1606
+
1607
+ // Container size may have changed - shrink the pane if now 'too big'
1608
+ setPaneMinMaxSizes(pane); // update pane-state
1609
+ if (s.size > s.maxSize) // pane is too big! resize it before opening
1610
+ $P.css( c[pane].sizeType, max(1, cssSize(pane, s.maxSize)) );
1611
+
1612
+ bindStartSlidingEvent(pane, false); // remove trigger event from resizer-bar
1613
+
1614
+ if (doFX) { // ANIMATE
1615
+ lockPaneForFX(pane, true); // need to set left/top so animation will work
1616
+ $P.show( o.fxName_open, o.fxSettings_open, o.fxSpeed_open, function() {
1617
+ lockPaneForFX(pane, false); // undo
1618
+ if (s.isClosed) return; // pane was closed before animation finished!
1619
+ open_2(); // continue
1620
+ });
1621
+ }
1622
+ else {// no animation
1623
+ $P.show(); // just show pane and...
1624
+ open_2(); // continue
1625
+ }
1626
+
1627
+ // SUBROUTINE
1628
+ function open_2 () {
1629
+ // NOTE: if isSliding, then other panes are NOT 'resized'
1630
+ if (!s.isSliding) // resize all panes adjacent to this one
1631
+ sizeMidPanes(c[pane].dir=="vert" ? "center" : "all");
1632
+
1633
+ // if this pane has a toggler, move it now
1634
+ if ($R) {
1635
+ $R
1636
+ .css(edge, cDims[edge] + getPaneSize(pane)) // move the toggler
1637
+ .removeClass( rClass+_closed +" "+ rClass+_pane+_closed )
1638
+ .addClass( rClass+_open +" "+ rClass+_pane+_open )
1639
+ .addClass( !s.isSliding ? "" : rClass+_sliding +" "+ rClass+_pane+_sliding )
1640
+ ;
1641
+ if (o.resizable)
1642
+ $R
1643
+ .draggable("enable")
1644
+ .css("cursor", o.resizerCursor)
1645
+ .attr("title", o.resizerTip)
1646
+ ;
1647
+ else
1648
+ $R.css("cursor", "default"); // n-resize, s-resize, etc
1649
+ // if pane also has a toggler button, adjust that too
1650
+ if ($T) {
1651
+ $T
1652
+ .removeClass( tClass+_closed +" "+ tClass+_pane+_closed )
1653
+ .addClass( tClass+_open +" "+ tClass+_pane+_open )
1654
+ .attr("title", o.togglerTip_open) // may be blank
1655
+ ;
1656
+ }
1657
+ sizeHandles("all"); // resize resizer & toggler sizes for all panes
1658
+ }
1659
+
1660
+ // resize content every time pane opens - to be sure
1661
+ sizeContent(pane);
1662
+
1663
+ // sync any 'pin buttons'
1664
+ syncPinBtns(pane, !s.isSliding);
1665
+
1666
+ // onopen callback
1667
+ execUserCallback(pane, o.onopen_end || o.onopen);
1668
+
1669
+ // onshow callback
1670
+ if (isShowing) execUserCallback(pane, o.onshow_end || o.onshow);
1671
+
1672
+ // internal flow-control callback
1673
+ execFlowCallback(pane);
1674
+ }
1675
+ };
1676
+
1677
+
1678
+ /**
1679
+ * lockPaneForFX
1680
+ *
1681
+ * Must set left/top on East/South panes so animation will work properly
1682
+ *
1683
+ * @param String pane The pane to lock, 'east' or 'south' - any other is ignored!
1684
+ * @param Boolean doLock true = set left/top, false = remove
1685
+ */
1686
+ var lockPaneForFX = function (pane, doLock) {
1687
+ var $P = $Ps[pane];
1688
+ if (doLock) {
1689
+ $P.css({ zIndex: c.zIndex.animation }); // overlay all elements during animation
1690
+ if (pane=="south")
1691
+ $P.css({ top: cDims.top + cDims.innerHeight - $P.outerHeight() });
1692
+ else if (pane=="east")
1693
+ $P.css({ left: cDims.left + cDims.innerWidth - $P.outerWidth() });
1694
+ }
1695
+ else {
1696
+ if (!state[pane].isSliding) $P.css({ zIndex: c.zIndex.pane_normal });
1697
+ if (pane=="south")
1698
+ $P.css({ top: "auto" });
1699
+ else if (pane=="east")
1700
+ $P.css({ left: "auto" });
1701
+ }
1702
+ };
1703
+
1704
+
1705
+ /**
1706
+ * bindStartSlidingEvent
1707
+ *
1708
+ * Toggle sliding functionality of a specific pane on/off by adding removing 'slide open' trigger
1709
+ *
1710
+ * @callers open(), close()
1711
+ * @param String pane The pane to enable/disable, 'north', 'south', etc.
1712
+ * @param Boolean enable Enable or Disable sliding?
1713
+ */
1714
+ var bindStartSlidingEvent = function (pane, enable) {
1715
+ var
1716
+ o = options[pane]
1717
+ , $R = $Rs[pane]
1718
+ , trigger = o.slideTrigger_open
1719
+ ;
1720
+ if (!$R || !o.slidable) return;
1721
+ // make sure we have a valid event
1722
+ if (trigger != "click" && trigger != "dblclick" && trigger != "mouseover") trigger = "click";
1723
+ $R
1724
+ // add or remove trigger event
1725
+ [enable ? "bind" : "unbind"](trigger, slideOpen)
1726
+ // set the appropriate cursor & title/tip
1727
+ .css("cursor", (enable ? o.sliderCursor: "default"))
1728
+ .attr("title", (enable ? o.sliderTip : ""))
1729
+ ;
1730
+ };
1731
+
1732
+ /**
1733
+ * bindStopSlidingEvents
1734
+ *
1735
+ * Add or remove 'mouseout' events to 'slide close' when pane is 'sliding' open or closed
1736
+ * Also increases zIndex when pane is sliding open
1737
+ * See bindStartSlidingEvent for code to control 'slide open'
1738
+ *
1739
+ * @callers slideOpen(), slideClosed()
1740
+ * @param String pane The pane to process, 'north', 'south', etc.
1741
+ * @param Boolean isOpen Is pane open or closed?
1742
+ */
1743
+ var bindStopSlidingEvents = function (pane, enable) {
1744
+ var
1745
+ o = options[pane]
1746
+ , s = state[pane]
1747
+ , trigger = o.slideTrigger_close
1748
+ , action = (enable ? "bind" : "unbind") // can't make 'unbind' work! - see disabled code below
1749
+ , $P = $Ps[pane]
1750
+ , $R = $Rs[pane]
1751
+ ;
1752
+
1753
+ s.isSliding = enable; // logic
1754
+ clearTimer(pane, "closeSlider"); // just in case
1755
+
1756
+ // raise z-index when sliding
1757
+ $P.css({ zIndex: (enable ? c.zIndex.sliding : c.zIndex.pane_normal) });
1758
+ $R.css({ zIndex: (enable ? c.zIndex.sliding : c.zIndex.resizer_normal) });
1759
+
1760
+ // make sure we have a valid event
1761
+ if (trigger != "click" && trigger != "mouseout") trigger = "mouseout";
1762
+
1763
+ // when trigger is 'mouseout', must cancel timer when mouse moves between 'pane' and 'resizer'
1764
+ if (enable) { // BIND trigger events
1765
+ $P.bind(trigger, slideClosed );
1766
+ $R.bind(trigger, slideClosed );
1767
+ if (trigger = "mouseout") {
1768
+ $P.bind("mouseover", cancelMouseOut );
1769
+ $R.bind("mouseover", cancelMouseOut );
1770
+ }
1771
+ }
1772
+ else { // UNBIND trigger events
1773
+ // TODO: why does unbind of a 'single function' not work reliably?
1774
+ //$P[action](trigger, slideClosed );
1775
+ $P.unbind(trigger);
1776
+ $R.unbind(trigger);
1777
+ if (trigger = "mouseout") {
1778
+ //$P[action]("mouseover", cancelMouseOut );
1779
+ $P.unbind("mouseover");
1780
+ $R.unbind("mouseover");
1781
+ clearTimer(pane, "closeSlider");
1782
+ }
1783
+ }
1784
+
1785
+ // SUBROUTINE for mouseout timer clearing
1786
+ function cancelMouseOut (evt) {
1787
+ clearTimer(pane, "closeSlider");
1788
+ evt.stopPropagation();
1789
+ }
1790
+ };
1791
+
1792
+ var slideOpen = function () {
1793
+ var pane = $(this).attr("resizer"); // attr added by initHandles
1794
+ if (state[pane].isClosed) { // skip if already open!
1795
+ bindStopSlidingEvents(pane, true); // pane is opening, so BIND trigger events to close it
1796
+ open(pane, true); // true = slide - ie, called from here!
1797
+ }
1798
+ };
1799
+
1800
+ var slideClosed = function () {
1801
+ var
1802
+ $E = $(this)
1803
+ , pane = $E.attr("pane") || $E.attr("resizer")
1804
+ , o = options[pane]
1805
+ , s = state[pane]
1806
+ ;
1807
+ if (s.isClosed || s.isResizing)
1808
+ return; // skip if already closed OR in process of resizing
1809
+ else if (o.slideTrigger_close == "click")
1810
+ close_NOW(); // close immediately onClick
1811
+ else // trigger = mouseout - use a delay
1812
+ setTimer(pane, "closeSlider", close_NOW, 300); // .3 sec delay
1813
+
1814
+ // SUBROUTINE for timed close
1815
+ function close_NOW () {
1816
+ bindStopSlidingEvents(pane, false); // pane is being closed, so UNBIND trigger events
1817
+ if (!s.isClosed) close(pane); // skip if already closed!
1818
+ }
1819
+ };
1820
+
1821
+
1822
+ /**
1823
+ * sizePane
1824
+ *
1825
+ * @callers initResizable.stop()
1826
+ * @param String pane The pane being resized - usually west or east, but potentially north or south
1827
+ * @param Integer newSize The new size for this pane - will be validated
1828
+ */
1829
+ var sizePane = function (pane, size) {
1830
+ // TODO: accept "auto" as size, and size-to-fit pane content
1831
+ var
1832
+ edge = c[pane].edge
1833
+ , dir = c[pane].dir
1834
+ , o = options[pane]
1835
+ , s = state[pane]
1836
+ , $P = $Ps[pane]
1837
+ , $R = $Rs[pane]
1838
+ ;
1839
+ // calculate 'current' min/max sizes
1840
+ setPaneMinMaxSizes(pane); // update pane-state
1841
+ // compare/update calculated min/max to user-options
1842
+ s.minSize = max(s.minSize, o.minSize);
1843
+ if (o.maxSize > 0) s.maxSize = min(s.maxSize, o.maxSize);
1844
+ // validate passed size
1845
+ size = max(size, s.minSize);
1846
+ size = min(size, s.maxSize);
1847
+ s.size = size; // update state
1848
+
1849
+ // move the resizer bar and resize the pane
1850
+ $R.css( edge, size + cDims[edge] );
1851
+ $P.css( c[pane].sizeType, max(1, cssSize(pane, size)) );
1852
+
1853
+ // resize all the adjacent panes, and adjust their toggler buttons
1854
+ if (!s.isSliding) sizeMidPanes(dir=="horz" ? "all" : "center");
1855
+ sizeHandles();
1856
+ sizeContent(pane);
1857
+ execUserCallback(pane, o.onresize_end || o.onresize);
1858
+ };
1859
+
1860
+ /**
1861
+ * sizeMidPanes
1862
+ *
1863
+ * @callers create(), open(), close(), onWindowResize()
1864
+ */
1865
+ var sizeMidPanes = function (panes, overrideDims, onInit) {
1866
+ if (!panes || panes == "all") panes = "east,west,center";
1867
+
1868
+ var d = getPaneDims();
1869
+ if (overrideDims) $.extend( d, overrideDims );
1870
+
1871
+ $.each(panes.split(","), function() {
1872
+ if (!$Ps[this]) return; // NO PANE - skip
1873
+ var
1874
+ pane = str(this)
1875
+ , o = options[pane]
1876
+ , s = state[pane]
1877
+ , $P = $Ps[pane]
1878
+ , $R = $Rs[pane]
1879
+ , hasRoom = true
1880
+ , CSS = {}
1881
+ ;
1882
+
1883
+ if (pane == "center") {
1884
+ d = getPaneDims(); // REFRESH Dims because may have just 'unhidden' East or West pane after a 'resize'
1885
+ CSS = $.extend( {}, d ); // COPY ALL of the paneDims
1886
+ CSS.width = max(1, cssW(pane, CSS.width));
1887
+ CSS.height = max(1, cssH(pane, CSS.height));
1888
+ hasRoom = (CSS.width > 1 && CSS.height > 1);
1889
+ /*
1890
+ * Extra CSS for IE6 or IE7 in Quirks-mode - add 'width' to NORTH/SOUTH panes
1891
+ * Normally these panes have only 'left' & 'right' positions so pane auto-sizes
1892
+ */
1893
+ if ($.browser.msie && (!$.boxModel || $.browser.version < 7)) {
1894
+ if ($Ps.north) $Ps.north.css({ width: cssW($Ps.north, cDims.innerWidth) });
1895
+ if ($Ps.south) $Ps.south.css({ width: cssW($Ps.south, cDims.innerWidth) });
1896
+ }
1897
+ }
1898
+ else { // for east and west, set only the height
1899
+ CSS.top = d.top;
1900
+ CSS.bottom = d.bottom;
1901
+ CSS.height = max(1, cssH(pane, d.height));
1902
+ hasRoom = (CSS.height > 1);
1903
+ }
1904
+
1905
+ if (hasRoom) {
1906
+ $P.css(CSS);
1907
+ if (s.noRoom) {
1908
+ s.noRoom = false;
1909
+ if (s.isHidden) return;
1910
+ else show(pane, !s.isClosed);
1911
+ /* OLD CODE - keep until sure line above works right!
1912
+ if (!s.isClosed) $P.show(); // in case was previously hidden due to NOT hasRoom
1913
+ if ($R) $R.show();
1914
+ */
1915
+ }
1916
+ if (!onInit) {
1917
+ sizeContent(pane);
1918
+ execUserCallback(pane, o.onresize_end || o.onresize);
1919
+ }
1920
+ }
1921
+ else if (!s.noRoom) { // no room for pane, so just hide it (if not already)
1922
+ s.noRoom = true; // update state
1923
+ if (s.isHidden) return;
1924
+ if (onInit) { // skip onhide callback and other logic onLoad
1925
+ $P.hide();
1926
+ if ($R) $R.hide();
1927
+ }
1928
+ else hide(pane);
1929
+ }
1930
+ });
1931
+ };
1932
+
1933
+
1934
+ var sizeContent = function (panes) {
1935
+ if (!panes || panes == "all") panes = c.allPanes;
1936
+
1937
+ $.each(panes.split(","), function() {
1938
+ if (!$Cs[this]) return; // NO CONTENT - skip
1939
+ var
1940
+ pane = str(this)
1941
+ , ignore = options[pane].contentIgnoreSelector
1942
+ , $P = $Ps[pane]
1943
+ , $C = $Cs[pane]
1944
+ , e_C = $C[0] // DOM element
1945
+ , height = cssH($P); // init to pane.innerHeight
1946
+ ;
1947
+ $P.children().each(function() {
1948
+ if (this == e_C) return; // Content elem - skip
1949
+ var $E = $(this);
1950
+ if (!ignore || !$E.is(ignore))
1951
+ height -= $E.outerHeight();
1952
+ });
1953
+ if (height > 0)
1954
+ height = cssH($C, height);
1955
+ if (height < 1)
1956
+ $C.hide(); // no room for content!
1957
+ else
1958
+ $C.css({ height: height }).show();
1959
+ });
1960
+ };
1961
+
1962
+
1963
+ /**
1964
+ * sizeHandles
1965
+ *
1966
+ * Called every time a pane is opened, closed, or resized to slide the togglers to 'center' and adjust their length if necessary
1967
+ *
1968
+ * @callers initHandles(), open(), close(), resizeAll()
1969
+ */
1970
+ var sizeHandles = function (panes, onInit) {
1971
+ if (!panes || panes == "all") panes = c.borderPanes;
1972
+
1973
+ $.each(panes.split(","), function() {
1974
+ var
1975
+ pane = str(this)
1976
+ , o = options[pane]
1977
+ , s = state[pane]
1978
+ , $P = $Ps[pane]
1979
+ , $R = $Rs[pane]
1980
+ , $T = $Ts[pane]
1981
+ ;
1982
+ if (!$P || !$R || (!o.resizable && !o.closable)) return; // skip
1983
+
1984
+ var
1985
+ dir = c[pane].dir
1986
+ , _state = (s.isClosed ? "_closed" : "_open")
1987
+ , spacing = o["spacing"+ _state]
1988
+ , togAlign = o["togglerAlign"+ _state]
1989
+ , togLen = o["togglerLength"+ _state]
1990
+ , paneLen
1991
+ , offset
1992
+ , CSS = {}
1993
+ ;
1994
+ if (spacing == 0) {
1995
+ $R.hide();
1996
+ return;
1997
+ }
1998
+ else if (!s.noRoom && !s.isHidden) // skip if resizer was hidden for any reason
1999
+ $R.show(); // in case was previously hidden
2000
+
2001
+ // Resizer Bar is ALWAYS same width/height of pane it is attached to
2002
+ if (dir == "horz") { // north/south
2003
+ paneLen = $P.outerWidth();
2004
+ $R.css({
2005
+ width: max(1, cssW($R, paneLen)) // account for borders & padding
2006
+ , height: max(1, cssH($R, spacing)) // ditto
2007
+ , left: cssNum($P, "left")
2008
+ });
2009
+ }
2010
+ else { // east/west
2011
+ paneLen = $P.outerHeight();
2012
+ $R.css({
2013
+ height: max(1, cssH($R, paneLen)) // account for borders & padding
2014
+ , width: max(1, cssW($R, spacing)) // ditto
2015
+ , top: cDims.top + getPaneSize("north", true)
2016
+ //, top: cssNum($Ps["center"], "top")
2017
+ });
2018
+
2019
+ }
2020
+
2021
+ if ($T) {
2022
+ if (togLen == 0 || (s.isSliding && o.hideTogglerOnSlide)) {
2023
+ $T.hide(); // always HIDE the toggler when 'sliding'
2024
+ return;
2025
+ }
2026
+ else
2027
+ $T.show(); // in case was previously hidden
2028
+
2029
+ if (!(togLen > 0) || togLen == "100%" || togLen > paneLen) {
2030
+ togLen = paneLen;
2031
+ offset = 0;
2032
+ }
2033
+ else { // calculate 'offset' based on options.PANE.togglerAlign_open/closed
2034
+ if (typeof togAlign == "string") {
2035
+ switch (togAlign) {
2036
+ case "top":
2037
+ case "left": offset = 0;
2038
+ break;
2039
+ case "bottom":
2040
+ case "right": offset = paneLen - togLen;
2041
+ break;
2042
+ case "middle":
2043
+ case "center":
2044
+ default: offset = Math.floor((paneLen - togLen) / 2); // 'default' catches typos
2045
+ }
2046
+ }
2047
+ else { // togAlign = number
2048
+ var x = parseInt(togAlign); //
2049
+ if (togAlign >= 0) offset = x;
2050
+ else offset = paneLen - togLen + x; // NOTE: x is negative!
2051
+ }
2052
+ }
2053
+
2054
+ var
2055
+ $TC_o = (o.togglerContent_open ? $T.children(".content-open") : false)
2056
+ , $TC_c = (o.togglerContent_closed ? $T.children(".content-closed") : false)
2057
+ , $TC = (s.isClosed ? $TC_c : $TC_o)
2058
+ ;
2059
+ if ($TC_o) $TC_o.css("display", s.isClosed ? "none" : "block");
2060
+ if ($TC_c) $TC_c.css("display", s.isClosed ? "block" : "none");
2061
+
2062
+ if (dir == "horz") { // north/south
2063
+ var width = cssW($T, togLen);
2064
+ $T.css({
2065
+ width: max(0, width) // account for borders & padding
2066
+ , height: max(1, cssH($T, spacing)) // ditto
2067
+ , left: offset // TODO: VERIFY that toggler positions correctly for ALL values
2068
+ });
2069
+ if ($TC) // CENTER the toggler content SPAN
2070
+ $TC.css("marginLeft", Math.floor((width-$TC.outerWidth())/2)); // could be negative
2071
+ }
2072
+ else { // east/west
2073
+ var height = cssH($T, togLen);
2074
+ $T.css({
2075
+ height: max(0, height) // account for borders & padding
2076
+ , width: max(1, cssW($T, spacing)) // ditto
2077
+ , top: offset // POSITION the toggler
2078
+ });
2079
+ if ($TC) // CENTER the toggler content SPAN
2080
+ $TC.css("marginTop", Math.floor((height-$TC.outerHeight())/2)); // could be negative
2081
+ }
2082
+
2083
+
2084
+ }
2085
+
2086
+ // DONE measuring and sizing this resizer/toggler, so can be 'hidden' now
2087
+ if (onInit && o.initHidden) {
2088
+ $R.hide();
2089
+ if ($T) $T.hide();
2090
+ }
2091
+ });
2092
+ };
2093
+
2094
+
2095
+ /**
2096
+ * resizeAll
2097
+ *
2098
+ * @callers window.onresize(), callbacks or custom code
2099
+ */
2100
+ var resizeAll = function () {
2101
+ var
2102
+ oldW = cDims.innerWidth
2103
+ , oldH = cDims.innerHeight
2104
+ ;
2105
+ cDims = state.container = getElemDims($Container); // UPDATE container dimensions
2106
+
2107
+ var
2108
+ checkH = (cDims.innerHeight < oldH)
2109
+ , checkW = (cDims.innerWidth < oldW)
2110
+ , s, dir
2111
+ ;
2112
+
2113
+ if (checkH || checkW)
2114
+ // NOTE special order for sizing: S-N-E-W
2115
+ $.each(["south","north","east","west"], function(i,pane) {
2116
+ s = state[pane];
2117
+ dir = c[pane].dir;
2118
+ if (!s.isClosed && ((checkH && dir=="horz") || (checkW && dir=="vert"))) {
2119
+ setPaneMinMaxSizes(pane); // update pane-state
2120
+ // shrink pane if 'too big' to fit
2121
+ if (s.size > s.maxSize)
2122
+ sizePane(pane, s.maxSize);
2123
+ }
2124
+ });
2125
+
2126
+ sizeMidPanes("all");
2127
+ sizeHandles("all"); // reposition the toggler elements
2128
+ };
2129
+
2130
+
2131
+ /**
2132
+ * keyDown
2133
+ *
2134
+ * Capture keys when enableCursorHotkey - toggle pane if hotkey pressed
2135
+ *
2136
+ * @callers document.keydown()
2137
+ */
2138
+ function keyDown (evt) {
2139
+ if (!evt) return true;
2140
+ var code = evt.keyCode;
2141
+ if (code < 33) return true; // ignore special keys: ENTER, TAB, etc
2142
+
2143
+ var
2144
+ PANE = {
2145
+ 38: "north" // Up Cursor
2146
+ , 40: "south" // Down Cursor
2147
+ , 37: "west" // Left Cursor
2148
+ , 39: "east" // Right Cursor
2149
+ }
2150
+ , isCursorKey = (code >= 37 && code <= 40)
2151
+ , ALT = evt.altKey // no worky!
2152
+ , SHIFT = evt.shiftKey
2153
+ , CTRL = evt.ctrlKey
2154
+ , pane = false
2155
+ , s, o, k, m, el
2156
+ ;
2157
+
2158
+ if (!CTRL && !SHIFT)
2159
+ return true; // no modifier key - abort
2160
+ else if (isCursorKey && options[PANE[code]].enableCursorHotkey) // valid cursor-hotkey
2161
+ pane = PANE[code];
2162
+ else // check to see if this matches a custom-hotkey
2163
+ $.each(c.borderPanes.split(","), function(i,p) { // loop each pane to check its hotkey
2164
+ o = options[p];
2165
+ k = o.customHotkey;
2166
+ m = o.customHotkeyModifier; // if missing or invalid, treated as "CTRL+SHIFT"
2167
+ if ((SHIFT && m=="SHIFT") || (CTRL && m=="CTRL") || (CTRL && SHIFT)) { // Modifier matches
2168
+ if (k && code == (isNaN(k) || k <= 9 ? k.toUpperCase().charCodeAt(0) : k)) { // Key matches
2169
+ pane = p;
2170
+ return false; // BREAK
2171
+ }
2172
+ }
2173
+ });
2174
+
2175
+ if (!pane) return true; // no hotkey - abort
2176
+
2177
+ // validate pane
2178
+ o = options[pane]; // get pane options
2179
+ s = state[pane]; // get pane options
2180
+ if (!o.enableCursorHotkey || s.isHidden || !$Ps[pane]) return true;
2181
+
2182
+ // see if user is in a 'form field' because may be 'selecting text'!
2183
+ el = evt.target || evt.srcElement;
2184
+ if (el && SHIFT && isCursorKey && (el.tagName=="TEXTAREA" || (el.tagName=="INPUT" && (code==37 || code==39))))
2185
+ return true; // allow text-selection
2186
+
2187
+ // SYNTAX NOTES
2188
+ // use "returnValue=false" to abort keystroke but NOT abort function - can run another command afterwards
2189
+ // use "return false" to abort keystroke AND abort function
2190
+ toggle(pane);
2191
+ evt.stopPropagation();
2192
+ evt.returnValue = false; // CANCEL key
2193
+ return false;
2194
+ };
2195
+
2196
+
2197
+ /*
2198
+ * ###########################
2199
+ * UTILITY METHODS
2200
+ * called externally only
2201
+ * ###########################
2202
+ */
2203
+
2204
+ function allowOverflow (elem) {
2205
+ if (this && this.tagName) elem = this; // BOUND to element
2206
+ var $P;
2207
+ if (typeof elem=="string")
2208
+ $P = $Ps[elem];
2209
+ else {
2210
+ if ($(elem).attr("pane")) $P = $(elem);
2211
+ else $P = $(elem).parents("div[pane]:first");
2212
+ }
2213
+ if (!$P.length) return; // INVALID
2214
+
2215
+ var
2216
+ pane = $P.attr("pane")
2217
+ , s = state[pane]
2218
+ ;
2219
+
2220
+ // if pane is already raised, then reset it before doing it again!
2221
+ // this would happen if allowOverflow is attached to BOTH the pane and an element
2222
+ if (s.cssSaved)
2223
+ resetOverflow(pane); // reset previous CSS before continuing
2224
+
2225
+ // if pane is raised by sliding or resizing, or it's closed, then abort
2226
+ if (s.isSliding || s.isResizing || s.isClosed) {
2227
+ s.cssSaved = false;
2228
+ return;
2229
+ }
2230
+
2231
+ var
2232
+ newCSS = { zIndex: (c.zIndex.pane_normal + 1) }
2233
+ , curCSS = {}
2234
+ , of = $P.css("overflow")
2235
+ , ofX = $P.css("overflowX")
2236
+ , ofY = $P.css("overflowY")
2237
+ ;
2238
+ // determine which, if any, overflow settings need to be changed
2239
+ if (of != "visible") {
2240
+ curCSS.overflow = of;
2241
+ newCSS.overflow = "visible";
2242
+ }
2243
+ if (ofX && ofX != "visible" && ofX != "auto") {
2244
+ curCSS.overflowX = ofX;
2245
+ newCSS.overflowX = "visible";
2246
+ }
2247
+ if (ofY && ofY != "visible" && ofY != "auto") {
2248
+ curCSS.overflowY = ofX;
2249
+ newCSS.overflowY = "visible";
2250
+ }
2251
+
2252
+ // save the current overflow settings - even if blank!
2253
+ s.cssSaved = curCSS;
2254
+
2255
+ // apply new CSS to raise zIndex and, if necessary, make overflow 'visible'
2256
+ $P.css( newCSS );
2257
+
2258
+ // make sure the zIndex of all other panes is normal
2259
+ $.each(c.allPanes.split(","), function(i, p) {
2260
+ if (p != pane) resetOverflow(p);
2261
+ });
2262
+
2263
+ };
2264
+
2265
+ function resetOverflow (elem) {
2266
+ if (this && this.tagName) elem = this; // BOUND to element
2267
+ var $P;
2268
+ if (typeof elem=="string")
2269
+ $P = $Ps[elem];
2270
+ else {
2271
+ if ($(elem).hasClass("ui-layout-pane")) $P = $(elem);
2272
+ else $P = $(elem).parents("div[pane]:first");
2273
+ }
2274
+ if (!$P.length) return; // INVALID
2275
+
2276
+ var
2277
+ pane = $P.attr("pane")
2278
+ , s = state[pane]
2279
+ , CSS = s.cssSaved || {}
2280
+ ;
2281
+ // reset the zIndex
2282
+ if (!s.isSliding && !s.isResizing)
2283
+ $P.css("zIndex", c.zIndex.pane_normal);
2284
+
2285
+ // reset Overflow - if necessary
2286
+ $P.css( CSS );
2287
+
2288
+ // clear var
2289
+ s.cssSaved = false;
2290
+ };
2291
+
2292
+
2293
+ /**
2294
+ * getBtn
2295
+ *
2296
+ * Helper function to validate params received by addButton utilities
2297
+ *
2298
+ * @param String selector jQuery selector for button, eg: ".ui-layout-north .toggle-button"
2299
+ * @param String pane Name of the pane the button is for: 'north', 'south', etc.
2300
+ * @returns If both params valid, the element matching 'selector' in a jQuery wrapper - otherwise 'false'
2301
+ */
2302
+ function getBtn(selector, pane, action) {
2303
+ var
2304
+ $E = $(selector)
2305
+ , err = "Error Adding Button \n\nInvalid "
2306
+ ;
2307
+ if (!$E.length) // element not found
2308
+ alert(err+"selector: "+ selector);
2309
+ else if (c.borderPanes.indexOf(pane) == -1) // invalid 'pane' sepecified
2310
+ alert(err+"pane: "+ pane);
2311
+ else { // VALID
2312
+ var btn = options[pane].buttonClass +"-"+ action;
2313
+ $E.addClass( btn +" "+ btn +"-"+ pane );
2314
+ return $E;
2315
+ }
2316
+ return false; // INVALID
2317
+ };
2318
+
2319
+
2320
+ /**
2321
+ * addToggleBtn
2322
+ *
2323
+ * Add a custom Toggler button for a pane
2324
+ *
2325
+ * @param String selector jQuery selector for button, eg: ".ui-layout-north .toggle-button"
2326
+ * @param String pane Name of the pane the button is for: 'north', 'south', etc.
2327
+ */
2328
+ function addToggleBtn (selector, pane) {
2329
+ var $E = getBtn(selector, pane, "toggle");
2330
+ if ($E)
2331
+ $E
2332
+ .attr("title", state[pane].isClosed ? "Open" : "Close")
2333
+ .click(function (evt) {
2334
+ toggle(pane);
2335
+ evt.stopPropagation();
2336
+ })
2337
+ ;
2338
+ };
2339
+
2340
+ /**
2341
+ * addOpenBtn
2342
+ *
2343
+ * Add a custom Open button for a pane
2344
+ *
2345
+ * @param String selector jQuery selector for button, eg: ".ui-layout-north .open-button"
2346
+ * @param String pane Name of the pane the button is for: 'north', 'south', etc.
2347
+ */
2348
+ function addOpenBtn (selector, pane) {
2349
+ var $E = getBtn(selector, pane, "open");
2350
+ if ($E)
2351
+ $E
2352
+ .attr("title", "Open")
2353
+ .click(function (evt) {
2354
+ open(pane);
2355
+ evt.stopPropagation();
2356
+ })
2357
+ ;
2358
+ };
2359
+
2360
+ /**
2361
+ * addCloseBtn
2362
+ *
2363
+ * Add a custom Close button for a pane
2364
+ *
2365
+ * @param String selector jQuery selector for button, eg: ".ui-layout-north .close-button"
2366
+ * @param String pane Name of the pane the button is for: 'north', 'south', etc.
2367
+ */
2368
+ function addCloseBtn (selector, pane) {
2369
+ var $E = getBtn(selector, pane, "close");
2370
+ if ($E)
2371
+ $E
2372
+ .attr("title", "Close")
2373
+ .click(function (evt) {
2374
+ close(pane);
2375
+ evt.stopPropagation();
2376
+ })
2377
+ ;
2378
+ };
2379
+
2380
+ /**
2381
+ * addPinBtn
2382
+ *
2383
+ * Add a custom Pin button for a pane
2384
+ *
2385
+ * Four classes are added to the element, based on the paneClass for the associated pane...
2386
+ * Assuming the default paneClass and the pin is 'up', these classes are added for a west-pane pin:
2387
+ * - ui-layout-pane-pin
2388
+ * - ui-layout-pane-west-pin
2389
+ * - ui-layout-pane-pin-up
2390
+ * - ui-layout-pane-west-pin-up
2391
+ *
2392
+ * @param String selector jQuery selector for button, eg: ".ui-layout-north .ui-layout-pin"
2393
+ * @param String pane Name of the pane the pin is for: 'north', 'south', etc.
2394
+ */
2395
+ function addPinBtn (selector, pane) {
2396
+ var $E = getBtn(selector, pane, "pin");
2397
+ if ($E) {
2398
+ var s = state[pane];
2399
+ $E.click(function (evt) {
2400
+ setPinState($(this), pane, (s.isSliding || s.isClosed));
2401
+ if (s.isSliding || s.isClosed) open( pane ); // change from sliding to open
2402
+ else close( pane ); // slide-closed
2403
+ evt.stopPropagation();
2404
+ });
2405
+ // add up/down pin attributes and classes
2406
+ setPinState ($E, pane, (!s.isClosed && !s.isSliding));
2407
+ // add this pin to the pane data so we can 'sync it' automatically
2408
+ // PANE.pins key is an array so we can store multiple pins for each pane
2409
+ c[pane].pins.push( selector ); // just save the selector string
2410
+ }
2411
+ };
2412
+
2413
+ /**
2414
+ * syncPinBtns
2415
+ *
2416
+ * INTERNAL function to sync 'pin buttons' when pane is opened or closed
2417
+ * Unpinned means the pane is 'sliding' - ie, over-top of the adjacent panes
2418
+ *
2419
+ * @callers open(), close()
2420
+ * @params pane These are the params returned to callbacks by layout()
2421
+ * @params doPin True means set the pin 'down', False means 'up'
2422
+ */
2423
+ function syncPinBtns (pane, doPin) {
2424
+ $.each(c[pane].pins, function (i, selector) {
2425
+ setPinState($(selector), pane, doPin);
2426
+ });
2427
+ };
2428
+
2429
+ /**
2430
+ * setPinState
2431
+ *
2432
+ * Change the class of the pin button to make it look 'up' or 'down'
2433
+ *
2434
+ * @callers addPinBtn(), syncPinBtns()
2435
+ * @param Element $Pin The pin-span element in a jQuery wrapper
2436
+ * @param Boolean doPin True = set the pin 'down', False = set it 'up'
2437
+ * @param String pinClass The root classname for pins - will add '-up' or '-down' suffix
2438
+ */
2439
+ function setPinState ($Pin, pane, doPin) {
2440
+ var updown = $Pin.attr("pin");
2441
+ if (updown && doPin == (updown=="down")) return; // already in correct state
2442
+ var
2443
+ root = options[pane].buttonClass
2444
+ , class1 = root +"-pin"
2445
+ , class2 = class1 +"-"+ pane
2446
+ , UP1 = class1 + "-up"
2447
+ , UP2 = class2 + "-up"
2448
+ , DN1 = class1 + "-down"
2449
+ , DN2 = class2 + "-down"
2450
+ ;
2451
+ $Pin
2452
+ .attr("pin", doPin ? "down" : "up") // logic
2453
+ .attr("title", doPin ? "Un-Pin" : "Pin")
2454
+ .removeClass( doPin ? UP1 : DN1 )
2455
+ .removeClass( doPin ? UP2 : DN2 )
2456
+ .addClass( doPin ? DN1 : UP1 )
2457
+ .addClass( doPin ? DN2 : UP2 )
2458
+ ;
2459
+ };
2460
+
2461
+
2462
+ /*
2463
+ * ###########################
2464
+ * CREATE/RETURN BORDER-LAYOUT
2465
+ * ###########################
2466
+ */
2467
+
2468
+ // init global vars
2469
+ var
2470
+ $Container = $(this).css({ overflow: "hidden" }) // Container elem
2471
+ , $Ps = {} // Panes x4 - set in initPanes()
2472
+ , $Cs = {} // Content x4 - set in initPanes()
2473
+ , $Rs = {} // Resizers x4 - set in initHandles()
2474
+ , $Ts = {} // Togglers x4 - set in initHandles()
2475
+ // object aliases
2476
+ , c = config // alias for config hash
2477
+ , cDims = state.container // alias for easy access to 'container dimensions'
2478
+ ;
2479
+
2480
+ // create the border layout NOW
2481
+ create();
2482
+
2483
+ // return object pointers to expose data & option Properties, and primary action Methods
2484
+ return {
2485
+ options: options // property - options hash
2486
+ , state: state // property - dimensions hash
2487
+ , panes: $Ps // property - object pointers for ALL panes: panes.north, panes.center
2488
+ , toggle: toggle // method - pass a 'pane' ("north", "west", etc)
2489
+ , open: open // method - ditto
2490
+ , close: close // method - ditto
2491
+ , hide: hide // method - ditto
2492
+ , show: show // method - ditto
2493
+ , resizeContent: sizeContent // method - ditto
2494
+ , sizePane: sizePane // method - pass a 'pane' AND a 'size' in pixels
2495
+ , resizeAll: resizeAll // method - no parameters
2496
+ , addToggleBtn: addToggleBtn // utility - pass element selector and 'pane'
2497
+ , addOpenBtn: addOpenBtn // utility - ditto
2498
+ , addCloseBtn: addCloseBtn // utility - ditto
2499
+ , addPinBtn: addPinBtn // utility - ditto
2500
+ , allowOverflow: allowOverflow // utility - pass calling element
2501
+ , resetOverflow: resetOverflow // utility - ditto
2502
+ , cssWidth: cssW
2503
+ , cssHeight: cssH
2504
+ };
2505
+
2506
+ }
2507
+ })( jQuery );