compass-jquery-plugin 0.3.1.1 → 0.3.2.pre.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (821) hide show
  1. data/Gemfile +4 -0
  2. data/{LICENSE → LICENSE.md} +1 -1
  3. data/{README.textile → README.md} +122 -71
  4. data/Rakefile +2 -47
  5. data/VERSION.yml +5 -4
  6. data/lib/jquery/gridify/grid_finder.rb +9 -1
  7. data/lib/jquery/gridify/grid_options.rb +16 -2
  8. data/lib/jquery/gridify/grid_view.rb +7 -1
  9. data/lib/jquery/jqgrid/jqgrid.rb +13 -2
  10. data/lib/jquery/jqgrid.rb +4 -4
  11. data/lib/jquery/jqtouch.rb +3 -3
  12. data/lib/jquery/{jrails.rb → jquery.rb} +1 -1
  13. data/lib/jquery/secret_sauce/controller/ui_dialog_controls.rb +13 -13
  14. data/lib/jquery/secret_sauce/controller/ui_grid_controls.rb +18 -18
  15. data/lib/jquery/secret_sauce/helpers/ui_dialog_helper.rb +5 -5
  16. data/lib/jquery/secret_sauce/model/find_for_grid.rb +41 -41
  17. data/lib/jquery/secret_sauce.rb +8 -8
  18. data/lib/jquery.rb +18 -11
  19. data/lib/jquery_ui_theme.rb +3 -3
  20. data/templates/dynatree/jquery/dynatree/aero/icons.png +0 -0
  21. data/templates/dynatree/jquery/dynatree/aero/{ltWait.gif → loading.gif} +0 -0
  22. data/templates/dynatree/jquery/dynatree/aero.scss +235 -130
  23. data/templates/dynatree/jquery/dynatree/aqua/icons.png +0 -0
  24. data/templates/dynatree/jquery/dynatree/aqua/{ltWait.gif → loading.gif} +0 -0
  25. data/templates/dynatree/jquery/dynatree/aqua.scss +235 -130
  26. data/templates/dynatree/jquery/dynatree/crystal/icons.png +0 -0
  27. data/templates/dynatree/jquery/dynatree/crystal/{ltWait.gif → loading.gif} +0 -0
  28. data/templates/dynatree/jquery/dynatree/crystal.scss +235 -130
  29. data/templates/dynatree/jquery/dynatree/xp/icons.png +0 -0
  30. data/templates/dynatree/jquery/dynatree/xp/{ltWait.gif → loading.gif} +0 -0
  31. data/templates/dynatree/jquery/dynatree/xp.scss +72 -88
  32. data/templates/dynatree/jquery.dynatree.js +86 -60
  33. data/templates/dynatree/jquery.dynatree.min.js +47 -47
  34. data/templates/dynatree/manifest.rb +8 -139
  35. data/templates/ical/jquery/ical.scss +12 -2
  36. data/templates/ical/jquery.ical.js +3195 -2380
  37. data/templates/ical/jquery.ical.min.js +209 -199
  38. data/templates/jqgrid/i18n/jqgrid/locale-fa.js +139 -119
  39. data/templates/jqgrid/i18n/jqgrid/locale-fa.min.js +5 -5
  40. data/templates/jqgrid/i18n/jqgrid/locale-sr.js +8 -8
  41. data/templates/jqgrid/i18n/jqgrid/locale-sr.min.js +3 -3
  42. data/templates/jqgrid/jquery/jqGrid.scss +13 -16
  43. data/templates/jqgrid/jquery.jqGrid.js +3493 -3326
  44. data/templates/jqgrid/jquery.jqGrid.min.js +427 -425
  45. data/templates/{jrails/config/initializers/jrails.rb → jquery/config/initializers/jquery.rb} +5 -4
  46. data/templates/{jrails → jquery}/haml.js +2 -2
  47. data/templates/{jrails → jquery}/haml.min.js +0 -0
  48. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-af.js +0 -0
  49. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-af.min.js +0 -0
  50. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-ar.js +6 -7
  51. data/templates/jquery/i18n/jquery.ui/datepicker-ar.min.js +2 -0
  52. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-az.js +0 -0
  53. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-az.min.js +0 -0
  54. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-bg.js +0 -0
  55. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-bg.min.js +0 -0
  56. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-bs.js +0 -0
  57. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-bs.min.js +0 -0
  58. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-ca.js +0 -0
  59. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-ca.min.js +0 -0
  60. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-cs.js +0 -0
  61. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-cs.min.js +0 -0
  62. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-da.js +0 -0
  63. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-da.min.js +0 -0
  64. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-de.js +0 -0
  65. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-de.min.js +0 -0
  66. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-el.js +0 -0
  67. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-el.min.js +0 -0
  68. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-en-GB.js +0 -0
  69. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-en-GB.min.js +0 -0
  70. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-eo.js +0 -0
  71. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-eo.min.js +0 -0
  72. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-es.js +0 -0
  73. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-es.min.js +0 -0
  74. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-et.js +0 -0
  75. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-et.min.js +0 -0
  76. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-eu.js +0 -0
  77. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-eu.min.js +0 -0
  78. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-fa.js +0 -0
  79. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-fa.min.js +0 -0
  80. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-fi.js +0 -0
  81. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-fi.min.js +0 -0
  82. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-fo.js +0 -0
  83. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-fo.min.js +0 -0
  84. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-fr-CH.js +0 -0
  85. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-fr-CH.min.js +0 -0
  86. data/templates/jquery/i18n/jquery.ui/datepicker-fr.js +25 -0
  87. data/templates/jquery/i18n/jquery.ui/datepicker-fr.min.js +2 -0
  88. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-gl.js +0 -0
  89. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-gl.min.js +0 -0
  90. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-he.js +0 -0
  91. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-he.min.js +0 -0
  92. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-hr.js +0 -0
  93. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-hr.min.js +0 -0
  94. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-hu.js +0 -0
  95. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-hu.min.js +0 -0
  96. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-hy.js +0 -0
  97. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-hy.min.js +0 -0
  98. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-id.js +0 -0
  99. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-id.min.js +0 -0
  100. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-is.js +0 -0
  101. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-is.min.js +0 -0
  102. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-it.js +0 -0
  103. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-it.min.js +0 -0
  104. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-ja.js +0 -0
  105. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-ja.min.js +0 -0
  106. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-ko.js +0 -0
  107. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-ko.min.js +0 -0
  108. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-kz.js +0 -0
  109. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-kz.min.js +0 -0
  110. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-lt.js +0 -0
  111. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-lt.min.js +0 -0
  112. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-lv.js +0 -0
  113. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-lv.min.js +0 -0
  114. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-ms.js +0 -0
  115. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-ms.min.js +0 -0
  116. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-nl.js +0 -0
  117. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-nl.min.js +0 -0
  118. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-no.js +2 -2
  119. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-no.min.js +1 -1
  120. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-pl.js +0 -0
  121. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-pl.min.js +0 -0
  122. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-pt-BR.js +0 -0
  123. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-pt-BR.min.js +0 -0
  124. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-pt.js +0 -0
  125. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-pt.min.js +0 -0
  126. data/templates/jquery/i18n/jquery.ui/datepicker-rm.js +21 -0
  127. data/templates/jquery/i18n/jquery.ui/datepicker-rm.min.js +2 -0
  128. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-ro.js +0 -0
  129. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-ro.min.js +0 -0
  130. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-ru.js +0 -0
  131. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-ru.min.js +0 -0
  132. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-sk.js +0 -0
  133. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-sk.min.js +0 -0
  134. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-sl.js +0 -0
  135. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-sl.min.js +0 -0
  136. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-sq.js +0 -0
  137. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-sq.min.js +0 -0
  138. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-sr-SR.js +0 -0
  139. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-sr-SR.min.js +0 -0
  140. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-sr.js +0 -0
  141. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-sr.min.js +0 -0
  142. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-sv.js +0 -0
  143. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-sv.min.js +0 -0
  144. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-ta.js +0 -0
  145. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-ta.min.js +0 -0
  146. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-th.js +1 -1
  147. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-th.min.js +1 -1
  148. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-tr.js +0 -0
  149. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-tr.min.js +0 -0
  150. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-uk.js +0 -0
  151. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-uk.min.js +0 -0
  152. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-vi.js +0 -0
  153. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-vi.min.js +0 -0
  154. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-zh-CN.js +0 -0
  155. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-zh-CN.min.js +0 -0
  156. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-zh-HK.js +0 -0
  157. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-zh-HK.min.js +0 -0
  158. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-zh-TW.js +0 -0
  159. data/templates/{jrails → jquery}/i18n/jquery.ui/datepicker-zh-TW.min.js +0 -0
  160. data/templates/{jrails → jquery}/jquery/ui/_theme.scss +19 -17
  161. data/templates/{jrails → jquery}/jquery/ui/base/ui-anim_basic_16x16.gif +0 -0
  162. data/templates/{jrails → jquery}/jquery/ui/base/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  163. data/templates/{jrails → jquery}/jquery/ui/base/ui-bg_flat_75_ffffff_40x100.png +0 -0
  164. data/templates/{jrails → jquery}/jquery/ui/base/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  165. data/templates/{jrails → jquery}/jquery/ui/base/ui-bg_glass_65_ffffff_1x400.png +0 -0
  166. data/templates/{jrails → jquery}/jquery/ui/base/ui-bg_glass_75_dadada_1x400.png +0 -0
  167. data/templates/{jrails → jquery}/jquery/ui/base/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  168. data/templates/{jrails → jquery}/jquery/ui/base/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  169. data/templates/{jrails → jquery}/jquery/ui/base/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  170. data/templates/{jrails → jquery}/jquery/ui/base/ui-icons_222222_256x240.png +0 -0
  171. data/templates/{jrails → jquery}/jquery/ui/base/ui-icons_2e83ff_256x240.png +0 -0
  172. data/templates/{jrails → jquery}/jquery/ui/base/ui-icons_454545_256x240.png +0 -0
  173. data/templates/{jrails → jquery}/jquery/ui/base/ui-icons_888888_256x240.png +0 -0
  174. data/templates/{jrails → jquery}/jquery/ui/base/ui-icons_cd0a0a_256x240.png +0 -0
  175. data/templates/{jrails → jquery}/jquery/ui/base.scss +1 -1
  176. data/templates/{jrails → jquery}/jquery/ui/black-tie/ui-anim_basic_16x16.gif +0 -0
  177. data/templates/{jrails → jquery}/jquery/ui/black-tie/ui-bg_diagonals-thick_8_333333_40x40.png +0 -0
  178. data/templates/{jrails → jquery}/jquery/ui/black-tie/ui-bg_flat_65_ffffff_40x100.png +0 -0
  179. data/templates/{jrails → jquery}/jquery/ui/black-tie/ui-bg_glass_40_111111_1x400.png +0 -0
  180. data/templates/{jrails → jquery}/jquery/ui/black-tie/ui-bg_glass_55_1c1c1c_1x400.png +0 -0
  181. data/templates/{jrails → jquery}/jquery/ui/black-tie/ui-bg_highlight-hard_100_f9f9f9_1x100.png +0 -0
  182. data/templates/{jrails → jquery}/jquery/ui/black-tie/ui-bg_highlight-hard_40_aaaaaa_1x100.png +0 -0
  183. data/templates/{jrails → jquery}/jquery/ui/black-tie/ui-bg_highlight-soft_50_aaaaaa_1x100.png +0 -0
  184. data/templates/{jrails → jquery}/jquery/ui/black-tie/ui-bg_inset-hard_45_cd0a0a_1x100.png +0 -0
  185. data/templates/{jrails → jquery}/jquery/ui/black-tie/ui-bg_inset-hard_55_ffeb80_1x100.png +0 -0
  186. data/templates/{jrails → jquery}/jquery/ui/black-tie/ui-icons_222222_256x240.png +0 -0
  187. data/templates/{jrails → jquery}/jquery/ui/black-tie/ui-icons_4ca300_256x240.png +0 -0
  188. data/templates/{jrails → jquery}/jquery/ui/black-tie/ui-icons_bbbbbb_256x240.png +0 -0
  189. data/templates/{jrails → jquery}/jquery/ui/black-tie/ui-icons_ededed_256x240.png +0 -0
  190. data/templates/{jrails → jquery}/jquery/ui/black-tie/ui-icons_ffcf29_256x240.png +0 -0
  191. data/templates/{jrails → jquery}/jquery/ui/black-tie/ui-icons_ffffff_256x240.png +0 -0
  192. data/templates/{jrails → jquery}/jquery/ui/black-tie.scss +1 -1
  193. data/templates/{jrails → jquery}/jquery/ui/blitzer/ui-anim_basic_16x16.gif +0 -0
  194. data/templates/{jrails → jquery}/jquery/ui/blitzer/ui-bg_diagonals-thick_75_f3d8d8_40x40.png +0 -0
  195. data/templates/{jrails → jquery}/jquery/ui/blitzer/ui-bg_dots-small_65_a6a6a6_2x2.png +0 -0
  196. data/templates/{jrails → jquery}/jquery/ui/blitzer/ui-bg_flat_0_333333_40x100.png +0 -0
  197. data/templates/{jrails → jquery}/jquery/ui/blitzer/ui-bg_flat_65_ffffff_40x100.png +0 -0
  198. data/templates/{jrails → jquery}/jquery/ui/blitzer/ui-bg_flat_75_ffffff_40x100.png +0 -0
  199. data/templates/{jrails → jquery}/jquery/ui/blitzer/ui-bg_glass_55_fbf8ee_1x400.png +0 -0
  200. data/templates/{jrails → jquery}/jquery/ui/blitzer/ui-bg_highlight-hard_100_eeeeee_1x100.png +0 -0
  201. data/templates/{jrails → jquery}/jquery/ui/blitzer/ui-bg_highlight-hard_100_f6f6f6_1x100.png +0 -0
  202. data/templates/{jrails → jquery}/jquery/ui/blitzer/ui-bg_highlight-soft_15_cc0000_1x100.png +0 -0
  203. data/templates/{jrails → jquery}/jquery/ui/blitzer/ui-icons_004276_256x240.png +0 -0
  204. data/templates/{jrails → jquery}/jquery/ui/blitzer/ui-icons_cc0000_256x240.png +0 -0
  205. data/templates/{jrails → jquery}/jquery/ui/blitzer/ui-icons_ffffff_256x240.png +0 -0
  206. data/templates/{jrails → jquery}/jquery/ui/blitzer.scss +1 -1
  207. data/templates/{jrails → jquery}/jquery/ui/contextMenu/cut.png +0 -0
  208. data/templates/{jrails → jquery}/jquery/ui/contextMenu/door.png +0 -0
  209. data/templates/{jrails → jquery}/jquery/ui/contextMenu/page_white_copy.png +0 -0
  210. data/templates/{jrails → jquery}/jquery/ui/contextMenu/page_white_delete.png +0 -0
  211. data/templates/{jrails → jquery}/jquery/ui/contextMenu/page_white_edit.png +0 -0
  212. data/templates/jquery/jquery/ui/contextMenu/page_white_new.png +0 -0
  213. data/templates/{jrails → jquery}/jquery/ui/contextMenu/page_white_paste.png +0 -0
  214. data/templates/{jrails → jquery}/jquery/ui/contextMenu.scss +2 -0
  215. data/templates/{jrails → jquery}/jquery/ui/cupertino/ui-anim_basic_16x16.gif +0 -0
  216. data/templates/{jrails → jquery}/jquery/ui/cupertino/ui-bg_diagonals-thick_90_eeeeee_40x40.png +0 -0
  217. data/templates/{jrails → jquery}/jquery/ui/cupertino/ui-bg_flat_15_cd0a0a_40x100.png +0 -0
  218. data/templates/{jrails → jquery}/jquery/ui/cupertino/ui-bg_glass_100_e4f1fb_1x400.png +0 -0
  219. data/templates/{jrails → jquery}/jquery/ui/cupertino/ui-bg_glass_50_3baae3_1x400.png +0 -0
  220. data/templates/{jrails → jquery}/jquery/ui/cupertino/ui-bg_glass_80_d7ebf9_1x400.png +0 -0
  221. data/templates/{jrails → jquery}/jquery/ui/cupertino/ui-bg_highlight-hard_100_f2f5f7_1x100.png +0 -0
  222. data/templates/{jrails → jquery}/jquery/ui/cupertino/ui-bg_highlight-hard_70_000000_1x100.png +0 -0
  223. data/templates/{jrails → jquery}/jquery/ui/cupertino/ui-bg_highlight-soft_100_deedf7_1x100.png +0 -0
  224. data/templates/{jrails → jquery}/jquery/ui/cupertino/ui-bg_highlight-soft_25_ffef8f_1x100.png +0 -0
  225. data/templates/{jrails → jquery}/jquery/ui/cupertino/ui-icons_2694e8_256x240.png +0 -0
  226. data/templates/{jrails → jquery}/jquery/ui/cupertino/ui-icons_2e83ff_256x240.png +0 -0
  227. data/templates/{jrails → jquery}/jquery/ui/cupertino/ui-icons_3d80b3_256x240.png +0 -0
  228. data/templates/{jrails → jquery}/jquery/ui/cupertino/ui-icons_72a7cf_256x240.png +0 -0
  229. data/templates/{jrails → jquery}/jquery/ui/cupertino/ui-icons_ffffff_256x240.png +0 -0
  230. data/templates/{jrails → jquery}/jquery/ui/cupertino.scss +1 -1
  231. data/templates/{jrails → jquery}/jquery/ui/dark-hive/ui-anim_basic_16x16.gif +0 -0
  232. data/templates/{jrails → jquery}/jquery/ui/dark-hive/ui-bg_flat_30_cccccc_40x100.png +0 -0
  233. data/templates/{jrails → jquery}/jquery/ui/dark-hive/ui-bg_flat_50_5c5c5c_40x100.png +0 -0
  234. data/templates/{jrails → jquery}/jquery/ui/dark-hive/ui-bg_glass_40_ffc73d_1x400.png +0 -0
  235. data/templates/{jrails → jquery}/jquery/ui/dark-hive/ui-bg_highlight-hard_20_0972a5_1x100.png +0 -0
  236. data/templates/{jrails → jquery}/jquery/ui/dark-hive/ui-bg_highlight-soft_33_003147_1x100.png +0 -0
  237. data/templates/{jrails → jquery}/jquery/ui/dark-hive/ui-bg_highlight-soft_35_222222_1x100.png +0 -0
  238. data/templates/{jrails → jquery}/jquery/ui/dark-hive/ui-bg_highlight-soft_44_444444_1x100.png +0 -0
  239. data/templates/{jrails → jquery}/jquery/ui/dark-hive/ui-bg_highlight-soft_80_eeeeee_1x100.png +0 -0
  240. data/templates/{jrails → jquery}/jquery/ui/dark-hive/ui-bg_loop_25_000000_21x21.png +0 -0
  241. data/templates/{jrails → jquery}/jquery/ui/dark-hive/ui-icons_222222_256x240.png +0 -0
  242. data/templates/{jrails → jquery}/jquery/ui/dark-hive/ui-icons_4b8e0b_256x240.png +0 -0
  243. data/templates/{jrails → jquery}/jquery/ui/dark-hive/ui-icons_a83300_256x240.png +0 -0
  244. data/templates/{jrails → jquery}/jquery/ui/dark-hive/ui-icons_cccccc_256x240.png +0 -0
  245. data/templates/{jrails → jquery}/jquery/ui/dark-hive/ui-icons_ffffff_256x240.png +0 -0
  246. data/templates/{jrails → jquery}/jquery/ui/dark-hive.scss +1 -1
  247. data/templates/{jrails → jquery}/jquery/ui/dot-luv/ui-anim_basic_16x16.gif +0 -0
  248. data/templates/{jrails → jquery}/jquery/ui/dot-luv/ui-bg_diagonals-thick_15_0b3e6f_40x40.png +0 -0
  249. data/templates/{jrails → jquery}/jquery/ui/dot-luv/ui-bg_dots-medium_30_0b58a2_4x4.png +0 -0
  250. data/templates/{jrails → jquery}/jquery/ui/dot-luv/ui-bg_dots-small_20_333333_2x2.png +0 -0
  251. data/templates/{jrails → jquery}/jquery/ui/dot-luv/ui-bg_dots-small_30_a32d00_2x2.png +0 -0
  252. data/templates/{jrails → jquery}/jquery/ui/dot-luv/ui-bg_dots-small_40_00498f_2x2.png +0 -0
  253. data/templates/{jrails → jquery}/jquery/ui/dot-luv/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  254. data/templates/{jrails → jquery}/jquery/ui/dot-luv/ui-bg_flat_40_292929_40x100.png +0 -0
  255. data/templates/{jrails → jquery}/jquery/ui/dot-luv/ui-bg_gloss-wave_20_111111_500x100.png +0 -0
  256. data/templates/{jrails → jquery}/jquery/ui/dot-luv/ui-icons_00498f_256x240.png +0 -0
  257. data/templates/{jrails → jquery}/jquery/ui/dot-luv/ui-icons_98d2fb_256x240.png +0 -0
  258. data/templates/{jrails → jquery}/jquery/ui/dot-luv/ui-icons_9ccdfc_256x240.png +0 -0
  259. data/templates/{jrails → jquery}/jquery/ui/dot-luv/ui-icons_ffffff_256x240.png +0 -0
  260. data/templates/{jrails → jquery}/jquery/ui/dot-luv.scss +1 -1
  261. data/templates/{jrails → jquery}/jquery/ui/eggplant/ui-anim_basic_16x16.gif +0 -0
  262. data/templates/{jrails → jquery}/jquery/ui/eggplant/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  263. data/templates/{jrails → jquery}/jquery/ui/eggplant/ui-bg_flat_0_eeeeee_40x100.png +0 -0
  264. data/templates/{jrails → jquery}/jquery/ui/eggplant/ui-bg_flat_55_994d53_40x100.png +0 -0
  265. data/templates/{jrails → jquery}/jquery/ui/eggplant/ui-bg_flat_55_fafafa_40x100.png +0 -0
  266. data/templates/{jrails → jquery}/jquery/ui/eggplant/ui-bg_gloss-wave_30_3d3644_500x100.png +0 -0
  267. data/templates/{jrails → jquery}/jquery/ui/eggplant/ui-bg_highlight-soft_100_dcd9de_1x100.png +0 -0
  268. data/templates/{jrails → jquery}/jquery/ui/eggplant/ui-bg_highlight-soft_100_eae6ea_1x100.png +0 -0
  269. data/templates/{jrails → jquery}/jquery/ui/eggplant/ui-bg_highlight-soft_25_30273a_1x100.png +0 -0
  270. data/templates/{jrails → jquery}/jquery/ui/eggplant/ui-bg_highlight-soft_45_5f5964_1x100.png +0 -0
  271. data/templates/{jrails → jquery}/jquery/ui/eggplant/ui-icons_454545_256x240.png +0 -0
  272. data/templates/{jrails → jquery}/jquery/ui/eggplant/ui-icons_734d99_256x240.png +0 -0
  273. data/templates/{jrails → jquery}/jquery/ui/eggplant/ui-icons_8d78a5_256x240.png +0 -0
  274. data/templates/{jrails → jquery}/jquery/ui/eggplant/ui-icons_a8a3ae_256x240.png +0 -0
  275. data/templates/{jrails → jquery}/jquery/ui/eggplant/ui-icons_ebccce_256x240.png +0 -0
  276. data/templates/{jrails → jquery}/jquery/ui/eggplant/ui-icons_ffffff_256x240.png +0 -0
  277. data/templates/{jrails → jquery}/jquery/ui/eggplant.scss +1 -1
  278. data/templates/{jrails → jquery}/jquery/ui/excite-bike/ui-anim_basic_16x16.gif +0 -0
  279. data/templates/{jrails → jquery}/jquery/ui/excite-bike/ui-bg_diagonals-small_25_c5ddfc_40x40.png +0 -0
  280. data/templates/{jrails → jquery}/jquery/ui/excite-bike/ui-bg_diagonals-thick_20_e69700_40x40.png +0 -0
  281. data/templates/{jrails → jquery}/jquery/ui/excite-bike/ui-bg_diagonals-thick_22_1484e6_40x40.png +0 -0
  282. data/templates/{jrails → jquery}/jquery/ui/excite-bike/ui-bg_diagonals-thick_26_2293f7_40x40.png +0 -0
  283. data/templates/{jrails → jquery}/jquery/ui/excite-bike/ui-bg_flat_0_e69700_40x100.png +0 -0
  284. data/templates/{jrails → jquery}/jquery/ui/excite-bike/ui-bg_flat_0_e6b900_40x100.png +0 -0
  285. data/templates/{jrails → jquery}/jquery/ui/excite-bike/ui-bg_highlight-soft_100_f9f9f9_1x100.png +0 -0
  286. data/templates/{jrails → jquery}/jquery/ui/excite-bike/ui-bg_inset-hard_100_eeeeee_1x100.png +0 -0
  287. data/templates/{jrails → jquery}/jquery/ui/excite-bike/ui-icons_0a82eb_256x240.png +0 -0
  288. data/templates/{jrails → jquery}/jquery/ui/excite-bike/ui-icons_0b54d5_256x240.png +0 -0
  289. data/templates/{jrails → jquery}/jquery/ui/excite-bike/ui-icons_5fa5e3_256x240.png +0 -0
  290. data/templates/{jrails → jquery}/jquery/ui/excite-bike/ui-icons_fcdd4a_256x240.png +0 -0
  291. data/templates/{jrails → jquery}/jquery/ui/excite-bike/ui-icons_ffffff_256x240.png +0 -0
  292. data/templates/{jrails → jquery}/jquery/ui/excite-bike.scss +1 -1
  293. data/templates/{jrails → jquery}/jquery/ui/farbtastic/marker.png +0 -0
  294. data/templates/{jrails → jquery}/jquery/ui/farbtastic/mask.png +0 -0
  295. data/templates/{jrails → jquery}/jquery/ui/farbtastic/wheel.png +0 -0
  296. data/templates/{jrails → jquery}/jquery/ui/farbtastic.scss +0 -0
  297. data/templates/{jrails → jquery}/jquery/ui/flash_messages/flash-check.png +0 -0
  298. data/templates/{jrails → jquery}/jquery/ui/flash_messages/flash-error-bg.png +0 -0
  299. data/templates/{jrails → jquery}/jquery/ui/flash_messages/flash-error.png +0 -0
  300. data/templates/{jrails → jquery}/jquery/ui/flash_messages/flash-notice-bg.png +0 -0
  301. data/templates/{jrails → jquery}/jquery/ui/flash_messages/flash-warning-bg.png +0 -0
  302. data/templates/{jrails → jquery}/jquery/ui/flash_messages/flash-warning.png +0 -0
  303. data/templates/{jrails → jquery}/jquery/ui/flick/ui-anim_basic_16x16.gif +0 -0
  304. data/templates/{jrails → jquery}/jquery/ui/flick/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  305. data/templates/{jrails → jquery}/jquery/ui/flick/ui-bg_flat_0_eeeeee_40x100.png +0 -0
  306. data/templates/{jrails → jquery}/jquery/ui/flick/ui-bg_flat_55_ffffff_40x100.png +0 -0
  307. data/templates/{jrails → jquery}/jquery/ui/flick/ui-bg_flat_75_ffffff_40x100.png +0 -0
  308. data/templates/{jrails → jquery}/jquery/ui/flick/ui-bg_glass_65_ffffff_1x400.png +0 -0
  309. data/templates/{jrails → jquery}/jquery/ui/flick/ui-bg_highlight-soft_100_f6f6f6_1x100.png +0 -0
  310. data/templates/{jrails → jquery}/jquery/ui/flick/ui-bg_highlight-soft_25_0073ea_1x100.png +0 -0
  311. data/templates/{jrails → jquery}/jquery/ui/flick/ui-bg_highlight-soft_50_dddddd_1x100.png +0 -0
  312. data/templates/{jrails → jquery}/jquery/ui/flick/ui-icons_0073ea_256x240.png +0 -0
  313. data/templates/{jrails → jquery}/jquery/ui/flick/ui-icons_454545_256x240.png +0 -0
  314. data/templates/{jrails → jquery}/jquery/ui/flick/ui-icons_666666_256x240.png +0 -0
  315. data/templates/{jrails → jquery}/jquery/ui/flick/ui-icons_ff0084_256x240.png +0 -0
  316. data/templates/{jrails → jquery}/jquery/ui/flick/ui-icons_ffffff_256x240.png +0 -0
  317. data/templates/{jrails → jquery}/jquery/ui/flick.scss +1 -1
  318. data/templates/{jrails → jquery}/jquery/ui/hot-sneaks/ui-anim_basic_16x16.gif +0 -0
  319. data/templates/{jrails → jquery}/jquery/ui/hot-sneaks/ui-bg_diagonals-small_40_db4865_40x40.png +0 -0
  320. data/templates/{jrails → jquery}/jquery/ui/hot-sneaks/ui-bg_diagonals-small_50_93c3cd_40x40.png +0 -0
  321. data/templates/{jrails → jquery}/jquery/ui/hot-sneaks/ui-bg_diagonals-small_50_ff3853_40x40.png +0 -0
  322. data/templates/{jrails → jquery}/jquery/ui/hot-sneaks/ui-bg_diagonals-small_75_ccd232_40x40.png +0 -0
  323. data/templates/{jrails → jquery}/jquery/ui/hot-sneaks/ui-bg_dots-medium_80_ffff38_4x4.png +0 -0
  324. data/templates/{jrails → jquery}/jquery/ui/hot-sneaks/ui-bg_dots-small_35_35414f_2x2.png +0 -0
  325. data/templates/{jrails → jquery}/jquery/ui/hot-sneaks/ui-bg_flat_75_ba9217_40x100.png +0 -0
  326. data/templates/{jrails → jquery}/jquery/ui/hot-sneaks/ui-bg_flat_75_ffffff_40x100.png +0 -0
  327. data/templates/{jrails → jquery}/jquery/ui/hot-sneaks/ui-bg_white-lines_85_f7f7ba_40x100.png +0 -0
  328. data/templates/{jrails → jquery}/jquery/ui/hot-sneaks/ui-icons_454545_256x240.png +0 -0
  329. data/templates/{jrails → jquery}/jquery/ui/hot-sneaks/ui-icons_88a206_256x240.png +0 -0
  330. data/templates/{jrails → jquery}/jquery/ui/hot-sneaks/ui-icons_c02669_256x240.png +0 -0
  331. data/templates/{jrails → jquery}/jquery/ui/hot-sneaks/ui-icons_e1e463_256x240.png +0 -0
  332. data/templates/{jrails → jquery}/jquery/ui/hot-sneaks/ui-icons_ffeb33_256x240.png +0 -0
  333. data/templates/{jrails → jquery}/jquery/ui/hot-sneaks/ui-icons_ffffff_256x240.png +0 -0
  334. data/templates/{jrails → jquery}/jquery/ui/hot-sneaks.scss +1 -1
  335. data/templates/{jrails → jquery}/jquery/ui/humanity/ui-anim_basic_16x16.gif +0 -0
  336. data/templates/{jrails → jquery}/jquery/ui/humanity/ui-bg_flat_75_aaaaaa_40x100.png +0 -0
  337. data/templates/{jrails → jquery}/jquery/ui/humanity/ui-bg_glass_100_f5f0e5_1x400.png +0 -0
  338. data/templates/{jrails → jquery}/jquery/ui/humanity/ui-bg_glass_25_cb842e_1x400.png +0 -0
  339. data/templates/{jrails → jquery}/jquery/ui/humanity/ui-bg_glass_70_ede4d4_1x400.png +0 -0
  340. data/templates/{jrails → jquery}/jquery/ui/humanity/ui-bg_highlight-hard_100_f4f0ec_1x100.png +0 -0
  341. data/templates/{jrails → jquery}/jquery/ui/humanity/ui-bg_highlight-hard_65_fee4bd_1x100.png +0 -0
  342. data/templates/{jrails → jquery}/jquery/ui/humanity/ui-bg_highlight-hard_75_f5f5b5_1x100.png +0 -0
  343. data/templates/{jrails → jquery}/jquery/ui/humanity/ui-bg_inset-soft_100_f4f0ec_1x100.png +0 -0
  344. data/templates/{jrails → jquery}/jquery/ui/humanity/ui-icons_c47a23_256x240.png +0 -0
  345. data/templates/{jrails → jquery}/jquery/ui/humanity/ui-icons_cb672b_256x240.png +0 -0
  346. data/templates/{jrails → jquery}/jquery/ui/humanity/ui-icons_f08000_256x240.png +0 -0
  347. data/templates/{jrails → jquery}/jquery/ui/humanity/ui-icons_f35f07_256x240.png +0 -0
  348. data/templates/{jrails → jquery}/jquery/ui/humanity/ui-icons_ff7519_256x240.png +0 -0
  349. data/templates/{jrails → jquery}/jquery/ui/humanity/ui-icons_ffffff_256x240.png +0 -0
  350. data/templates/{jrails → jquery}/jquery/ui/humanity.scss +1 -1
  351. data/templates/{jrails → jquery}/jquery/ui/le-frog/ui-anim_basic_16x16.gif +0 -0
  352. data/templates/{jrails → jquery}/jquery/ui/le-frog/ui-bg_diagonals-small_0_aaaaaa_40x40.png +0 -0
  353. data/templates/{jrails → jquery}/jquery/ui/le-frog/ui-bg_diagonals-thick_15_444444_40x40.png +0 -0
  354. data/templates/{jrails → jquery}/jquery/ui/le-frog/ui-bg_diagonals-thick_95_ffdc2e_40x40.png +0 -0
  355. data/templates/{jrails → jquery}/jquery/ui/le-frog/ui-bg_glass_55_fbf5d0_1x400.png +0 -0
  356. data/templates/{jrails → jquery}/jquery/ui/le-frog/ui-bg_highlight-hard_30_285c00_1x100.png +0 -0
  357. data/templates/{jrails → jquery}/jquery/ui/le-frog/ui-bg_highlight-soft_33_3a8104_1x100.png +0 -0
  358. data/templates/{jrails → jquery}/jquery/ui/le-frog/ui-bg_highlight-soft_50_4eb305_1x100.png +0 -0
  359. data/templates/{jrails → jquery}/jquery/ui/le-frog/ui-bg_highlight-soft_60_4ca20b_1x100.png +0 -0
  360. data/templates/{jrails → jquery}/jquery/ui/le-frog/ui-bg_inset-soft_10_285c00_1x100.png +0 -0
  361. data/templates/{jrails → jquery}/jquery/ui/le-frog/ui-icons_4eb305_256x240.png +0 -0
  362. data/templates/{jrails → jquery}/jquery/ui/le-frog/ui-icons_72b42d_256x240.png +0 -0
  363. data/templates/{jrails → jquery}/jquery/ui/le-frog/ui-icons_cd0a0a_256x240.png +0 -0
  364. data/templates/{jrails → jquery}/jquery/ui/le-frog/ui-icons_ffffff_256x240.png +0 -0
  365. data/templates/{jrails → jquery}/jquery/ui/le-frog.scss +1 -1
  366. data/templates/{jrails → jquery}/jquery/ui/mint-choc/ui-anim_basic_16x16.gif +0 -0
  367. data/templates/{jrails → jquery}/jquery/ui/mint-choc/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  368. data/templates/{jrails → jquery}/jquery/ui/mint-choc/ui-bg_glass_15_5f391b_1x400.png +0 -0
  369. data/templates/{jrails → jquery}/jquery/ui/mint-choc/ui-bg_gloss-wave_20_1c160d_500x100.png +0 -0
  370. data/templates/{jrails → jquery}/jquery/ui/mint-choc/ui-bg_gloss-wave_25_453326_500x100.png +0 -0
  371. data/templates/{jrails → jquery}/jquery/ui/mint-choc/ui-bg_gloss-wave_30_44372c_500x100.png +0 -0
  372. data/templates/{jrails → jquery}/jquery/ui/mint-choc/ui-bg_highlight-soft_20_201913_1x100.png +0 -0
  373. data/templates/{jrails → jquery}/jquery/ui/mint-choc/ui-bg_highlight-soft_20_619226_1x100.png +0 -0
  374. data/templates/{jrails → jquery}/jquery/ui/mint-choc/ui-bg_inset-soft_10_201913_1x100.png +0 -0
  375. data/templates/{jrails → jquery}/jquery/ui/mint-choc/ui-icons_222222_256x240.png +0 -0
  376. data/templates/{jrails → jquery}/jquery/ui/mint-choc/ui-icons_9bcc60_256x240.png +0 -0
  377. data/templates/{jrails → jquery}/jquery/ui/mint-choc/ui-icons_add978_256x240.png +0 -0
  378. data/templates/{jrails → jquery}/jquery/ui/mint-choc/ui-icons_e3ddc9_256x240.png +0 -0
  379. data/templates/{jrails → jquery}/jquery/ui/mint-choc/ui-icons_f1fd86_256x240.png +0 -0
  380. data/templates/{jrails → jquery}/jquery/ui/mint-choc/ui-icons_ffffff_256x240.png +0 -0
  381. data/templates/{jrails → jquery}/jquery/ui/mint-choc.scss +1 -1
  382. data/templates/{jrails → jquery}/jquery/ui/overcast/ui-anim_basic_16x16.gif +0 -0
  383. data/templates/{jrails → jquery}/jquery/ui/overcast/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  384. data/templates/{jrails → jquery}/jquery/ui/overcast/ui-bg_flat_0_eeeeee_40x100.png +0 -0
  385. data/templates/{jrails → jquery}/jquery/ui/overcast/ui-bg_flat_55_c0402a_40x100.png +0 -0
  386. data/templates/{jrails → jquery}/jquery/ui/overcast/ui-bg_flat_55_eeeeee_40x100.png +0 -0
  387. data/templates/{jrails → jquery}/jquery/ui/overcast/ui-bg_glass_100_f8f8f8_1x400.png +0 -0
  388. data/templates/{jrails → jquery}/jquery/ui/overcast/ui-bg_glass_35_dddddd_1x400.png +0 -0
  389. data/templates/{jrails → jquery}/jquery/ui/overcast/ui-bg_glass_60_eeeeee_1x400.png +0 -0
  390. data/templates/{jrails → jquery}/jquery/ui/overcast/ui-bg_inset-hard_75_999999_1x100.png +0 -0
  391. data/templates/{jrails → jquery}/jquery/ui/overcast/ui-bg_inset-soft_50_c9c9c9_1x100.png +0 -0
  392. data/templates/{jrails → jquery}/jquery/ui/overcast/ui-icons_3383bb_256x240.png +0 -0
  393. data/templates/{jrails → jquery}/jquery/ui/overcast/ui-icons_454545_256x240.png +0 -0
  394. data/templates/{jrails → jquery}/jquery/ui/overcast/ui-icons_70b2e1_256x240.png +0 -0
  395. data/templates/{jrails → jquery}/jquery/ui/overcast/ui-icons_999999_256x240.png +0 -0
  396. data/templates/{jrails → jquery}/jquery/ui/overcast/ui-icons_fbc856_256x240.png +0 -0
  397. data/templates/{jrails → jquery}/jquery/ui/overcast.scss +1 -1
  398. data/templates/{jrails → jquery}/jquery/ui/pepper-grinder/ui-anim_basic_16x16.gif +0 -0
  399. data/templates/{jrails → jquery}/jquery/ui/pepper-grinder/ui-bg_diagonal-maze_20_6e4f1c_10x10.png +0 -0
  400. data/templates/{jrails → jquery}/jquery/ui/pepper-grinder/ui-bg_diagonal-maze_40_000000_10x10.png +0 -0
  401. data/templates/{jrails → jquery}/jquery/ui/pepper-grinder/ui-bg_fine-grain_10_eceadf_60x60.png +0 -0
  402. data/templates/{jrails → jquery}/jquery/ui/pepper-grinder/ui-bg_fine-grain_10_f8f7f6_60x60.png +0 -0
  403. data/templates/{jrails → jquery}/jquery/ui/pepper-grinder/ui-bg_fine-grain_15_eceadf_60x60.png +0 -0
  404. data/templates/{jrails → jquery}/jquery/ui/pepper-grinder/ui-bg_fine-grain_15_f7f3de_60x60.png +0 -0
  405. data/templates/{jrails → jquery}/jquery/ui/pepper-grinder/ui-bg_fine-grain_15_ffffff_60x60.png +0 -0
  406. data/templates/{jrails → jquery}/jquery/ui/pepper-grinder/ui-bg_fine-grain_65_654b24_60x60.png +0 -0
  407. data/templates/{jrails → jquery}/jquery/ui/pepper-grinder/ui-bg_fine-grain_68_b83400_60x60.png +0 -0
  408. data/templates/{jrails → jquery}/jquery/ui/pepper-grinder/ui-icons_222222_256x240.png +0 -0
  409. data/templates/{jrails → jquery}/jquery/ui/pepper-grinder/ui-icons_3572ac_256x240.png +0 -0
  410. data/templates/{jrails → jquery}/jquery/ui/pepper-grinder/ui-icons_8c291d_256x240.png +0 -0
  411. data/templates/{jrails → jquery}/jquery/ui/pepper-grinder/ui-icons_b83400_256x240.png +0 -0
  412. data/templates/{jrails → jquery}/jquery/ui/pepper-grinder/ui-icons_fbdb93_256x240.png +0 -0
  413. data/templates/{jrails → jquery}/jquery/ui/pepper-grinder/ui-icons_ffffff_256x240.png +0 -0
  414. data/templates/{jrails → jquery}/jquery/ui/pepper-grinder.scss +1 -1
  415. data/templates/{jrails → jquery}/jquery/ui/redmond/ui-anim_basic_16x16.gif +0 -0
  416. data/templates/{jrails → jquery}/jquery/ui/redmond/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  417. data/templates/{jrails → jquery}/jquery/ui/redmond/ui-bg_flat_55_fbec88_40x100.png +0 -0
  418. data/templates/{jrails → jquery}/jquery/ui/redmond/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
  419. data/templates/{jrails → jquery}/jquery/ui/redmond/ui-bg_glass_85_dfeffc_1x400.png +0 -0
  420. data/templates/{jrails → jquery}/jquery/ui/redmond/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  421. data/templates/{jrails → jquery}/jquery/ui/redmond/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
  422. data/templates/{jrails → jquery}/jquery/ui/redmond/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
  423. data/templates/{jrails → jquery}/jquery/ui/redmond/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
  424. data/templates/{jrails → jquery}/jquery/ui/redmond/ui-icons_217bc0_256x240.png +0 -0
  425. data/templates/{jrails → jquery}/jquery/ui/redmond/ui-icons_2e83ff_256x240.png +0 -0
  426. data/templates/{jrails → jquery}/jquery/ui/redmond/ui-icons_469bdd_256x240.png +0 -0
  427. data/templates/{jrails → jquery}/jquery/ui/redmond/ui-icons_6da8d5_256x240.png +0 -0
  428. data/templates/{jrails → jquery}/jquery/ui/redmond/ui-icons_cd0a0a_256x240.png +0 -0
  429. data/templates/{jrails → jquery}/jquery/ui/redmond/ui-icons_d8e7f3_256x240.png +0 -0
  430. data/templates/{jrails → jquery}/jquery/ui/redmond/ui-icons_f9bd01_256x240.png +0 -0
  431. data/templates/{jrails → jquery}/jquery/ui/redmond.scss +1 -1
  432. data/templates/{jrails → jquery}/jquery/ui/smoothness/ui-anim_basic_16x16.gif +0 -0
  433. data/templates/{jrails → jquery}/jquery/ui/smoothness/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  434. data/templates/{jrails → jquery}/jquery/ui/smoothness/ui-bg_flat_75_ffffff_40x100.png +0 -0
  435. data/templates/{jrails → jquery}/jquery/ui/smoothness/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  436. data/templates/{jrails → jquery}/jquery/ui/smoothness/ui-bg_glass_65_ffffff_1x400.png +0 -0
  437. data/templates/{jrails → jquery}/jquery/ui/smoothness/ui-bg_glass_75_dadada_1x400.png +0 -0
  438. data/templates/{jrails → jquery}/jquery/ui/smoothness/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  439. data/templates/{jrails → jquery}/jquery/ui/smoothness/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  440. data/templates/{jrails → jquery}/jquery/ui/smoothness/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  441. data/templates/{jrails → jquery}/jquery/ui/smoothness/ui-icons_222222_256x240.png +0 -0
  442. data/templates/{jrails → jquery}/jquery/ui/smoothness/ui-icons_2e83ff_256x240.png +0 -0
  443. data/templates/{jrails → jquery}/jquery/ui/smoothness/ui-icons_454545_256x240.png +0 -0
  444. data/templates/{jrails → jquery}/jquery/ui/smoothness/ui-icons_888888_256x240.png +0 -0
  445. data/templates/{jrails → jquery}/jquery/ui/smoothness/ui-icons_cd0a0a_256x240.png +0 -0
  446. data/templates/{jrails → jquery}/jquery/ui/smoothness.scss +1 -1
  447. data/templates/{jrails → jquery}/jquery/ui/south-street/ui-anim_basic_16x16.gif +0 -0
  448. data/templates/{jrails → jquery}/jquery/ui/south-street/ui-bg_glass_55_fcf0ba_1x400.png +0 -0
  449. data/templates/{jrails → jquery}/jquery/ui/south-street/ui-bg_gloss-wave_100_ece8da_500x100.png +0 -0
  450. data/templates/{jrails → jquery}/jquery/ui/south-street/ui-bg_highlight-hard_100_f5f3e5_1x100.png +0 -0
  451. data/templates/{jrails → jquery}/jquery/ui/south-street/ui-bg_highlight-hard_100_fafaf4_1x100.png +0 -0
  452. data/templates/{jrails → jquery}/jquery/ui/south-street/ui-bg_highlight-hard_15_459e00_1x100.png +0 -0
  453. data/templates/{jrails → jquery}/jquery/ui/south-street/ui-bg_highlight-hard_95_cccccc_1x100.png +0 -0
  454. data/templates/{jrails → jquery}/jquery/ui/south-street/ui-bg_highlight-soft_25_67b021_1x100.png +0 -0
  455. data/templates/{jrails → jquery}/jquery/ui/south-street/ui-bg_highlight-soft_95_ffedad_1x100.png +0 -0
  456. data/templates/{jrails → jquery}/jquery/ui/south-street/ui-bg_inset-soft_15_2b2922_1x100.png +0 -0
  457. data/templates/{jrails → jquery}/jquery/ui/south-street/ui-icons_808080_256x240.png +0 -0
  458. data/templates/{jrails → jquery}/jquery/ui/south-street/ui-icons_847e71_256x240.png +0 -0
  459. data/templates/{jrails → jquery}/jquery/ui/south-street/ui-icons_8dc262_256x240.png +0 -0
  460. data/templates/{jrails → jquery}/jquery/ui/south-street/ui-icons_cd0a0a_256x240.png +0 -0
  461. data/templates/{jrails → jquery}/jquery/ui/south-street/ui-icons_eeeeee_256x240.png +0 -0
  462. data/templates/{jrails → jquery}/jquery/ui/south-street/ui-icons_ffffff_256x240.png +0 -0
  463. data/templates/{jrails → jquery}/jquery/ui/south-street.scss +1 -1
  464. data/templates/{jrails → jquery}/jquery/ui/start/ui-anim_basic_16x16.gif +0 -0
  465. data/templates/{jrails → jquery}/jquery/ui/start/ui-bg_flat_55_999999_40x100.png +0 -0
  466. data/templates/{jrails → jquery}/jquery/ui/start/ui-bg_flat_75_aaaaaa_40x100.png +0 -0
  467. data/templates/{jrails → jquery}/jquery/ui/start/ui-bg_glass_45_0078ae_1x400.png +0 -0
  468. data/templates/{jrails → jquery}/jquery/ui/start/ui-bg_glass_55_f8da4e_1x400.png +0 -0
  469. data/templates/{jrails → jquery}/jquery/ui/start/ui-bg_glass_75_79c9ec_1x400.png +0 -0
  470. data/templates/{jrails → jquery}/jquery/ui/start/ui-bg_gloss-wave_45_e14f1c_500x100.png +0 -0
  471. data/templates/{jrails → jquery}/jquery/ui/start/ui-bg_gloss-wave_50_6eac2c_500x100.png +0 -0
  472. data/templates/{jrails → jquery}/jquery/ui/start/ui-bg_gloss-wave_75_2191c0_500x100.png +0 -0
  473. data/templates/{jrails → jquery}/jquery/ui/start/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
  474. data/templates/{jrails → jquery}/jquery/ui/start/ui-icons_0078ae_256x240.png +0 -0
  475. data/templates/{jrails → jquery}/jquery/ui/start/ui-icons_056b93_256x240.png +0 -0
  476. data/templates/{jrails → jquery}/jquery/ui/start/ui-icons_d8e7f3_256x240.png +0 -0
  477. data/templates/{jrails → jquery}/jquery/ui/start/ui-icons_e0fdff_256x240.png +0 -0
  478. data/templates/{jrails → jquery}/jquery/ui/start/ui-icons_f5e175_256x240.png +0 -0
  479. data/templates/{jrails → jquery}/jquery/ui/start/ui-icons_f7a50d_256x240.png +0 -0
  480. data/templates/{jrails → jquery}/jquery/ui/start/ui-icons_fcd113_256x240.png +0 -0
  481. data/templates/{jrails → jquery}/jquery/ui/start.scss +1 -1
  482. data/templates/{jrails → jquery}/jquery/ui/sunny/ui-anim_basic_16x16.gif +0 -0
  483. data/templates/{jrails → jquery}/jquery/ui/sunny/ui-bg_diagonals-medium_20_d34d17_40x40.png +0 -0
  484. data/templates/{jrails → jquery}/jquery/ui/sunny/ui-bg_flat_30_cccccc_40x100.png +0 -0
  485. data/templates/{jrails → jquery}/jquery/ui/sunny/ui-bg_flat_50_5c5c5c_40x100.png +0 -0
  486. data/templates/{jrails → jquery}/jquery/ui/sunny/ui-bg_gloss-wave_45_817865_500x100.png +0 -0
  487. data/templates/{jrails → jquery}/jquery/ui/sunny/ui-bg_gloss-wave_60_fece2f_500x100.png +0 -0
  488. data/templates/{jrails → jquery}/jquery/ui/sunny/ui-bg_gloss-wave_70_ffdd57_500x100.png +0 -0
  489. data/templates/{jrails → jquery}/jquery/ui/sunny/ui-bg_gloss-wave_90_fff9e5_500x100.png +0 -0
  490. data/templates/{jrails → jquery}/jquery/ui/sunny/ui-bg_highlight-soft_100_feeebd_1x100.png +0 -0
  491. data/templates/{jrails → jquery}/jquery/ui/sunny/ui-bg_inset-soft_30_ffffff_1x100.png +0 -0
  492. data/templates/{jrails → jquery}/jquery/ui/sunny/ui-icons_3d3d3d_256x240.png +0 -0
  493. data/templates/{jrails → jquery}/jquery/ui/sunny/ui-icons_bd7b00_256x240.png +0 -0
  494. data/templates/{jrails → jquery}/jquery/ui/sunny/ui-icons_d19405_256x240.png +0 -0
  495. data/templates/{jrails → jquery}/jquery/ui/sunny/ui-icons_eb990f_256x240.png +0 -0
  496. data/templates/{jrails → jquery}/jquery/ui/sunny/ui-icons_ed9f26_256x240.png +0 -0
  497. data/templates/{jrails → jquery}/jquery/ui/sunny/ui-icons_fadc7a_256x240.png +0 -0
  498. data/templates/{jrails → jquery}/jquery/ui/sunny/ui-icons_ffe180_256x240.png +0 -0
  499. data/templates/{jrails → jquery}/jquery/ui/sunny.scss +1 -1
  500. data/templates/{jrails → jquery}/jquery/ui/swanky-purse/ui-anim_basic_16x16.gif +0 -0
  501. data/templates/{jrails → jquery}/jquery/ui/swanky-purse/ui-bg_diamond_10_4f4221_10x8.png +0 -0
  502. data/templates/{jrails → jquery}/jquery/ui/swanky-purse/ui-bg_diamond_20_372806_10x8.png +0 -0
  503. data/templates/{jrails → jquery}/jquery/ui/swanky-purse/ui-bg_diamond_25_675423_10x8.png +0 -0
  504. data/templates/{jrails → jquery}/jquery/ui/swanky-purse/ui-bg_diamond_25_d5ac5d_10x8.png +0 -0
  505. data/templates/{jrails → jquery}/jquery/ui/swanky-purse/ui-bg_diamond_8_261803_10x8.png +0 -0
  506. data/templates/{jrails → jquery}/jquery/ui/swanky-purse/ui-bg_diamond_8_443113_10x8.png +0 -0
  507. data/templates/{jrails → jquery}/jquery/ui/swanky-purse/ui-bg_flat_75_ddd4b0_40x100.png +0 -0
  508. data/templates/{jrails → jquery}/jquery/ui/swanky-purse/ui-bg_highlight-hard_65_fee4bd_1x100.png +0 -0
  509. data/templates/{jrails → jquery}/jquery/ui/swanky-purse/ui-icons_070603_256x240.png +0 -0
  510. data/templates/{jrails → jquery}/jquery/ui/swanky-purse/ui-icons_e8e2b5_256x240.png +0 -0
  511. data/templates/{jrails → jquery}/jquery/ui/swanky-purse/ui-icons_e9cd86_256x240.png +0 -0
  512. data/templates/{jrails → jquery}/jquery/ui/swanky-purse/ui-icons_efec9f_256x240.png +0 -0
  513. data/templates/{jrails → jquery}/jquery/ui/swanky-purse/ui-icons_f2ec64_256x240.png +0 -0
  514. data/templates/{jrails → jquery}/jquery/ui/swanky-purse/ui-icons_f9f2bd_256x240.png +0 -0
  515. data/templates/{jrails → jquery}/jquery/ui/swanky-purse/ui-icons_ff7519_256x240.png +0 -0
  516. data/templates/{jrails → jquery}/jquery/ui/swanky-purse.scss +1 -1
  517. data/templates/{jrails → jquery}/jquery/ui/themeSwitcher/buttonbg.png +0 -0
  518. data/templates/{jrails → jquery}/jquery/ui/themeSwitcher/icon_color_arrow.gif +0 -0
  519. data/templates/{jrails → jquery}/jquery/ui/themeSwitcher/menuhoverbg.png +0 -0
  520. data/templates/{jrails → jquery}/jquery/ui/themeSwitcher/theme_90_black_matte.png +0 -0
  521. data/templates/{jrails → jquery}/jquery/ui/themeSwitcher/theme_90_black_tie.png +0 -0
  522. data/templates/{jrails → jquery}/jquery/ui/themeSwitcher/theme_90_blitzer.png +0 -0
  523. data/templates/{jrails → jquery}/jquery/ui/themeSwitcher/theme_90_cupertino.png +0 -0
  524. data/templates/{jrails → jquery}/jquery/ui/themeSwitcher/theme_90_dark_hive.png +0 -0
  525. data/templates/{jrails → jquery}/jquery/ui/themeSwitcher/theme_90_dot_luv.png +0 -0
  526. data/templates/{jrails → jquery}/jquery/ui/themeSwitcher/theme_90_eggplant.png +0 -0
  527. data/templates/{jrails → jquery}/jquery/ui/themeSwitcher/theme_90_excite_bike.png +0 -0
  528. data/templates/{jrails → jquery}/jquery/ui/themeSwitcher/theme_90_flick.png +0 -0
  529. data/templates/{jrails → jquery}/jquery/ui/themeSwitcher/theme_90_hot_sneaks.png +0 -0
  530. data/templates/{jrails → jquery}/jquery/ui/themeSwitcher/theme_90_humanity.png +0 -0
  531. data/templates/{jrails → jquery}/jquery/ui/themeSwitcher/theme_90_le_frog.png +0 -0
  532. data/templates/{jrails → jquery}/jquery/ui/themeSwitcher/theme_90_mint_choco.png +0 -0
  533. data/templates/{jrails → jquery}/jquery/ui/themeSwitcher/theme_90_overcast.png +0 -0
  534. data/templates/{jrails → jquery}/jquery/ui/themeSwitcher/theme_90_pepper_grinder.png +0 -0
  535. data/templates/{jrails → jquery}/jquery/ui/themeSwitcher/theme_90_smoothness.png +0 -0
  536. data/templates/{jrails → jquery}/jquery/ui/themeSwitcher/theme_90_south_street.png +0 -0
  537. data/templates/{jrails → jquery}/jquery/ui/themeSwitcher/theme_90_start_menu.png +0 -0
  538. data/templates/{jrails → jquery}/jquery/ui/themeSwitcher/theme_90_sunny.png +0 -0
  539. data/templates/{jrails → jquery}/jquery/ui/themeSwitcher/theme_90_swanky_purse.png +0 -0
  540. data/templates/{jrails → jquery}/jquery/ui/themeSwitcher/theme_90_trontastic.png +0 -0
  541. data/templates/{jrails → jquery}/jquery/ui/themeSwitcher/theme_90_ui_dark.png +0 -0
  542. data/templates/{jrails → jquery}/jquery/ui/themeSwitcher/theme_90_ui_light.png +0 -0
  543. data/templates/{jrails → jquery}/jquery/ui/themeSwitcher/theme_90_windoze.png +0 -0
  544. data/templates/{jrails → jquery}/jquery/ui/trontastic/ui-anim_basic_16x16.gif +0 -0
  545. data/templates/{jrails → jquery}/jquery/ui/trontastic/ui-bg_diagonals-small_50_262626_40x40.png +0 -0
  546. data/templates/{jrails → jquery}/jquery/ui/trontastic/ui-bg_flat_0_303030_40x100.png +0 -0
  547. data/templates/{jrails → jquery}/jquery/ui/trontastic/ui-bg_flat_0_4c4c4c_40x100.png +0 -0
  548. data/templates/{jrails → jquery}/jquery/ui/trontastic/ui-bg_glass_40_0a0a0a_1x400.png +0 -0
  549. data/templates/{jrails → jquery}/jquery/ui/trontastic/ui-bg_glass_55_f1fbe5_1x400.png +0 -0
  550. data/templates/{jrails → jquery}/jquery/ui/trontastic/ui-bg_glass_60_000000_1x400.png +0 -0
  551. data/templates/{jrails → jquery}/jquery/ui/trontastic/ui-bg_gloss-wave_55_000000_500x100.png +0 -0
  552. data/templates/{jrails → jquery}/jquery/ui/trontastic/ui-bg_gloss-wave_85_9fda58_500x100.png +0 -0
  553. data/templates/{jrails → jquery}/jquery/ui/trontastic/ui-bg_gloss-wave_95_f6ecd5_500x100.png +0 -0
  554. data/templates/{jrails → jquery}/jquery/ui/trontastic/ui-icons_000000_256x240.png +0 -0
  555. data/templates/{jrails → jquery}/jquery/ui/trontastic/ui-icons_1f1f1f_256x240.png +0 -0
  556. data/templates/{jrails → jquery}/jquery/ui/trontastic/ui-icons_9fda58_256x240.png +0 -0
  557. data/templates/{jrails → jquery}/jquery/ui/trontastic/ui-icons_b8ec79_256x240.png +0 -0
  558. data/templates/{jrails → jquery}/jquery/ui/trontastic/ui-icons_cd0a0a_256x240.png +0 -0
  559. data/templates/{jrails → jquery}/jquery/ui/trontastic/ui-icons_ffffff_256x240.png +0 -0
  560. data/templates/{jrails → jquery}/jquery/ui/trontastic.scss +1 -1
  561. data/templates/{jrails → jquery}/jquery/ui/ui-darkness/ui-anim_basic_16x16.gif +0 -0
  562. data/templates/{jrails → jquery}/jquery/ui/ui-darkness/ui-bg_flat_30_cccccc_40x100.png +0 -0
  563. data/templates/{jrails → jquery}/jquery/ui/ui-darkness/ui-bg_flat_50_5c5c5c_40x100.png +0 -0
  564. data/templates/{jrails → jquery}/jquery/ui/ui-darkness/ui-bg_glass_20_555555_1x400.png +0 -0
  565. data/templates/{jrails → jquery}/jquery/ui/ui-darkness/ui-bg_glass_40_0078a3_1x400.png +0 -0
  566. data/templates/{jrails → jquery}/jquery/ui/ui-darkness/ui-bg_glass_40_ffc73d_1x400.png +0 -0
  567. data/templates/{jrails → jquery}/jquery/ui/ui-darkness/ui-bg_gloss-wave_25_333333_500x100.png +0 -0
  568. data/templates/{jrails → jquery}/jquery/ui/ui-darkness/ui-bg_highlight-soft_80_eeeeee_1x100.png +0 -0
  569. data/templates/{jrails → jquery}/jquery/ui/ui-darkness/ui-bg_inset-soft_25_000000_1x100.png +0 -0
  570. data/templates/{jrails → jquery}/jquery/ui/ui-darkness/ui-bg_inset-soft_30_f58400_1x100.png +0 -0
  571. data/templates/{jrails → jquery}/jquery/ui/ui-darkness/ui-icons_222222_256x240.png +0 -0
  572. data/templates/{jrails → jquery}/jquery/ui/ui-darkness/ui-icons_4b8e0b_256x240.png +0 -0
  573. data/templates/{jrails → jquery}/jquery/ui/ui-darkness/ui-icons_a83300_256x240.png +0 -0
  574. data/templates/{jrails → jquery}/jquery/ui/ui-darkness/ui-icons_cccccc_256x240.png +0 -0
  575. data/templates/{jrails → jquery}/jquery/ui/ui-darkness/ui-icons_ffffff_256x240.png +0 -0
  576. data/templates/{jrails → jquery}/jquery/ui/ui-darkness.scss +1 -1
  577. data/templates/{jrails → jquery}/jquery/ui/ui-lightness/ui-anim_basic_16x16.gif +0 -0
  578. data/templates/{jrails → jquery}/jquery/ui/ui-lightness/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  579. data/templates/{jrails → jquery}/jquery/ui/ui-lightness/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  580. data/templates/{jrails → jquery}/jquery/ui/ui-lightness/ui-bg_flat_10_000000_40x100.png +0 -0
  581. data/templates/{jrails → jquery}/jquery/ui/ui-lightness/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  582. data/templates/{jrails → jquery}/jquery/ui/ui-lightness/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  583. data/templates/{jrails → jquery}/jquery/ui/ui-lightness/ui-bg_glass_65_ffffff_1x400.png +0 -0
  584. data/templates/{jrails → jquery}/jquery/ui/ui-lightness/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  585. data/templates/{jrails → jquery}/jquery/ui/ui-lightness/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  586. data/templates/{jrails → jquery}/jquery/ui/ui-lightness/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  587. data/templates/{jrails → jquery}/jquery/ui/ui-lightness/ui-icons_222222_256x240.png +0 -0
  588. data/templates/{jrails → jquery}/jquery/ui/ui-lightness/ui-icons_228ef1_256x240.png +0 -0
  589. data/templates/{jrails → jquery}/jquery/ui/ui-lightness/ui-icons_ef8c08_256x240.png +0 -0
  590. data/templates/{jrails → jquery}/jquery/ui/ui-lightness/ui-icons_ffd27a_256x240.png +0 -0
  591. data/templates/{jrails → jquery}/jquery/ui/ui-lightness/ui-icons_ffffff_256x240.png +0 -0
  592. data/templates/{jrails → jquery}/jquery/ui/ui-lightness.scss +1 -1
  593. data/templates/{jrails → jquery}/jquery/ui/vader/ui-anim_basic_16x16.gif +0 -0
  594. data/templates/{jrails → jquery}/jquery/ui/vader/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  595. data/templates/{jrails → jquery}/jquery/ui/vader/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  596. data/templates/{jrails → jquery}/jquery/ui/vader/ui-bg_gloss-wave_16_121212_500x100.png +0 -0
  597. data/templates/{jrails → jquery}/jquery/ui/vader/ui-bg_highlight-hard_15_888888_1x100.png +0 -0
  598. data/templates/{jrails → jquery}/jquery/ui/vader/ui-bg_highlight-hard_55_555555_1x100.png +0 -0
  599. data/templates/{jrails → jquery}/jquery/ui/vader/ui-bg_highlight-soft_35_adadad_1x100.png +0 -0
  600. data/templates/{jrails → jquery}/jquery/ui/vader/ui-bg_highlight-soft_60_dddddd_1x100.png +0 -0
  601. data/templates/{jrails → jquery}/jquery/ui/vader/ui-bg_inset-soft_15_121212_1x100.png +0 -0
  602. data/templates/{jrails → jquery}/jquery/ui/vader/ui-icons_666666_256x240.png +0 -0
  603. data/templates/{jrails → jquery}/jquery/ui/vader/ui-icons_aaaaaa_256x240.png +0 -0
  604. data/templates/{jrails → jquery}/jquery/ui/vader/ui-icons_bbbbbb_256x240.png +0 -0
  605. data/templates/{jrails → jquery}/jquery/ui/vader/ui-icons_c98000_256x240.png +0 -0
  606. data/templates/{jrails → jquery}/jquery/ui/vader/ui-icons_cccccc_256x240.png +0 -0
  607. data/templates/{jrails → jquery}/jquery/ui/vader/ui-icons_cd0a0a_256x240.png +0 -0
  608. data/templates/{jrails → jquery}/jquery/ui/vader/ui-icons_f29a00_256x240.png +0 -0
  609. data/templates/{jrails → jquery}/jquery/ui/vader.scss +1 -1
  610. data/templates/{jrails → jquery}/jquery-ui.js +518 -342
  611. data/templates/jquery/jquery-ui.min.js +830 -0
  612. data/templates/{jrails → jquery}/jquery.bgiframe.js +0 -0
  613. data/templates/{jrails → jquery}/jquery.bgiframe.min.js +0 -0
  614. data/templates/{jrails → jquery}/jquery.compat-1.3.js +0 -0
  615. data/templates/{jrails → jquery}/jquery.compat-1.3.min.js +0 -0
  616. data/templates/{jrails → jquery}/jquery.contextMenu.js +8 -8
  617. data/templates/{jrails → jquery}/jquery.contextMenu.min.js +4 -4
  618. data/templates/{jrails → jquery}/jquery.cookie.js +0 -0
  619. data/templates/{jrails → jquery}/jquery.cookie.min.js +0 -0
  620. data/templates/{jrails → jquery}/jquery.farbtastic.js +0 -0
  621. data/templates/{jrails → jquery}/jquery.farbtastic.min.js +0 -0
  622. data/templates/{jrails → jquery}/jquery.flash_messages.js +0 -0
  623. data/templates/{jrails → jquery}/jquery.flash_messages.min.js +0 -0
  624. data/templates/{jrails → jquery}/jquery.form.js +0 -0
  625. data/templates/{jrails → jquery}/jquery.form.min.js +0 -0
  626. data/templates/{jrails → jquery}/jquery.haml.js +0 -0
  627. data/templates/{jrails → jquery}/jquery.haml.min.js +0 -0
  628. data/templates/jquery/jquery.history.js +194 -0
  629. data/templates/jquery/jquery.history.min.js +5 -0
  630. data/templates/{jrails → jquery}/jquery.hotkeys.js +0 -0
  631. data/templates/{jrails → jquery}/jquery.hotkeys.min.js +0 -0
  632. data/templates/{jrails → jquery}/jquery.js +0 -0
  633. data/templates/{jrails → jquery}/jquery.layout.js +0 -0
  634. data/templates/{jrails → jquery}/jquery.layout.min.js +0 -0
  635. data/templates/{jrails → jquery}/jquery.metadata.js +0 -0
  636. data/templates/{jrails → jquery}/jquery.metadata.min.js +0 -0
  637. data/templates/{jrails → jquery}/jquery.min.js +0 -0
  638. data/templates/{jrails → jquery}/jquery.pngFix.js +0 -0
  639. data/templates/{jrails → jquery}/jquery.pngFix.min.js +0 -0
  640. data/templates/{jrails → jquery}/jquery.sparkline.js +609 -388
  641. data/templates/jquery/jquery.sparkline.min.js +36 -0
  642. data/templates/{jrails → jquery}/jquery.themeswitchertool.js +0 -0
  643. data/templates/{jrails → jquery}/jquery.themeswitchertool.min.js +0 -0
  644. data/templates/{jrails → jquery}/jquery.tmpl.js +0 -0
  645. data/templates/{jrails → jquery}/jquery.tmpl.min.js +0 -0
  646. data/templates/{jrails → jquery}/jquery.tmplPlus.js +0 -0
  647. data/templates/{jrails → jquery}/jquery.tmplPlus.min.js +0 -0
  648. data/templates/{jrails → jquery}/jrails.js +0 -0
  649. data/templates/{jrails → jquery}/jrails.min.js +0 -0
  650. data/templates/{jrails → jquery}/lib/tasks/haml.rake +0 -0
  651. data/templates/{jrails → jquery}/manifest.rb +8 -3
  652. data/templates/{jrails → jquery}/partials/_flash_messages.scss +0 -0
  653. data/templates/mobile/jquery/mobile/_base.scss +1069 -934
  654. data/templates/mobile/jquery/mobile/default.scss +119 -91
  655. data/templates/mobile/jquery/mobile/valencia.scss +3 -1
  656. data/templates/mobile/jquery.mobile.js +692 -365
  657. data/templates/mobile/jquery.mobile.min.js +2 -2
  658. metadata +703 -834
  659. data/.document +0 -3
  660. data/.loadpath +0 -5
  661. data/.project +0 -18
  662. data/gem_tasks/dynatree.rake +0 -77
  663. data/gem_tasks/emulators.rake +0 -57
  664. data/gem_tasks/ical.rake +0 -85
  665. data/gem_tasks/jqgrid.rake +0 -119
  666. data/gem_tasks/jqtouch.rake +0 -167
  667. data/gem_tasks/jrails.rake +0 -366
  668. data/gem_tasks/jstree.rake +0 -98
  669. data/gem_tasks/mobile.rake +0 -156
  670. data/gem_tasks/ribbon.rake +0 -78
  671. data/gem_tasks/rubygems.rake +0 -18
  672. data/gem_tasks/secret_sauce.rake +0 -64
  673. data/gem_tasks/tools.rake +0 -66
  674. data/lib/google-compiler-20100917.jar +0 -0
  675. data/lib/js.jar +0 -0
  676. data/lib/jslint-check.js +0 -36
  677. data/lib/jslint.js +0 -5500
  678. data/lib/yuicompressor-2.4.2.jar +0 -0
  679. data/spec/compass-jquery-plugin_spec.rb +0 -7
  680. data/spec/spec.opts +0 -1
  681. data/spec/spec_helper.rb +0 -9
  682. data/templates/dynatree/jquery/dynatree/aero/cbChecked.png +0 -0
  683. data/templates/dynatree/jquery/dynatree/aero/cbChecked_hover.png +0 -0
  684. data/templates/dynatree/jquery/dynatree/aero/cbIntermediate.png +0 -0
  685. data/templates/dynatree/jquery/dynatree/aero/cbIntermediate_hover.png +0 -0
  686. data/templates/dynatree/jquery/dynatree/aero/cbUnchecked.png +0 -0
  687. data/templates/dynatree/jquery/dynatree/aero/cbUnchecked_hover.png +0 -0
  688. data/templates/dynatree/jquery/dynatree/aero/collapsed.png +0 -0
  689. data/templates/dynatree/jquery/dynatree/aero/collapsed_hover.png +0 -0
  690. data/templates/dynatree/jquery/dynatree/aero/copy_here.png +0 -0
  691. data/templates/dynatree/jquery/dynatree/aero/customDoc1.png +0 -0
  692. data/templates/dynatree/jquery/dynatree/aero/customFolder1.png +0 -0
  693. data/templates/dynatree/jquery/dynatree/aero/doc_with_children.png +0 -0
  694. data/templates/dynatree/jquery/dynatree/aero/document.png +0 -0
  695. data/templates/dynatree/jquery/dynatree/aero/drop_accept.png +0 -0
  696. data/templates/dynatree/jquery/dynatree/aero/drop_here.png +0 -0
  697. data/templates/dynatree/jquery/dynatree/aero/drop_reject.png +0 -0
  698. data/templates/dynatree/jquery/dynatree/aero/drop_sibling_here.png +0 -0
  699. data/templates/dynatree/jquery/dynatree/aero/empty.png +0 -0
  700. data/templates/dynatree/jquery/dynatree/aero/expanded.png +0 -0
  701. data/templates/dynatree/jquery/dynatree/aero/expanded_hover.png +0 -0
  702. data/templates/dynatree/jquery/dynatree/aero/folder.png +0 -0
  703. data/templates/dynatree/jquery/dynatree/aero/folder_docs.png +0 -0
  704. data/templates/dynatree/jquery/dynatree/aero/folder_images.png +0 -0
  705. data/templates/dynatree/jquery/dynatree/aero/folder_page.png +0 -0
  706. data/templates/dynatree/jquery/dynatree/aero/ltDoc.png +0 -0
  707. data/templates/dynatree/jquery/dynatree/aero/ltError.png +0 -0
  708. data/templates/dynatree/jquery/dynatree/aero/move_here.png +0 -0
  709. data/templates/dynatree/jquery/dynatree/aero/rbChecked.png +0 -0
  710. data/templates/dynatree/jquery/dynatree/aero/rbChecked_hover.png +0 -0
  711. data/templates/dynatree/jquery/dynatree/aero/rbIntermediate.png +0 -0
  712. data/templates/dynatree/jquery/dynatree/aero/rbIntermediate_hover.png +0 -0
  713. data/templates/dynatree/jquery/dynatree/aero/rbUnchecked.png +0 -0
  714. data/templates/dynatree/jquery/dynatree/aero/rbUnchecked_hover.png +0 -0
  715. data/templates/dynatree/jquery/dynatree/aqua/cbChecked.png +0 -0
  716. data/templates/dynatree/jquery/dynatree/aqua/cbChecked_hover.png +0 -0
  717. data/templates/dynatree/jquery/dynatree/aqua/cbIntermediate.png +0 -0
  718. data/templates/dynatree/jquery/dynatree/aqua/cbIntermediate_hover.png +0 -0
  719. data/templates/dynatree/jquery/dynatree/aqua/cbUnchecked.png +0 -0
  720. data/templates/dynatree/jquery/dynatree/aqua/cbUnchecked_hover.png +0 -0
  721. data/templates/dynatree/jquery/dynatree/aqua/collapsed.png +0 -0
  722. data/templates/dynatree/jquery/dynatree/aqua/collapsed_hover.png +0 -0
  723. data/templates/dynatree/jquery/dynatree/aqua/copy_here.png +0 -0
  724. data/templates/dynatree/jquery/dynatree/aqua/customDoc1.png +0 -0
  725. data/templates/dynatree/jquery/dynatree/aqua/customFolder1.png +0 -0
  726. data/templates/dynatree/jquery/dynatree/aqua/doc_with_children.png +0 -0
  727. data/templates/dynatree/jquery/dynatree/aqua/document.png +0 -0
  728. data/templates/dynatree/jquery/dynatree/aqua/drop_accept.png +0 -0
  729. data/templates/dynatree/jquery/dynatree/aqua/drop_here.png +0 -0
  730. data/templates/dynatree/jquery/dynatree/aqua/drop_reject.png +0 -0
  731. data/templates/dynatree/jquery/dynatree/aqua/drop_sibling_here.png +0 -0
  732. data/templates/dynatree/jquery/dynatree/aqua/empty.png +0 -0
  733. data/templates/dynatree/jquery/dynatree/aqua/expanded.png +0 -0
  734. data/templates/dynatree/jquery/dynatree/aqua/expanded_hover.png +0 -0
  735. data/templates/dynatree/jquery/dynatree/aqua/folder.png +0 -0
  736. data/templates/dynatree/jquery/dynatree/aqua/folder_docs.png +0 -0
  737. data/templates/dynatree/jquery/dynatree/aqua/folder_images.png +0 -0
  738. data/templates/dynatree/jquery/dynatree/aqua/folder_open.png +0 -0
  739. data/templates/dynatree/jquery/dynatree/aqua/folder_page.png +0 -0
  740. data/templates/dynatree/jquery/dynatree/aqua/ltDoc.png +0 -0
  741. data/templates/dynatree/jquery/dynatree/aqua/ltError.png +0 -0
  742. data/templates/dynatree/jquery/dynatree/aqua/move_here.png +0 -0
  743. data/templates/dynatree/jquery/dynatree/aqua/rbChecked.png +0 -0
  744. data/templates/dynatree/jquery/dynatree/aqua/rbChecked_hover.png +0 -0
  745. data/templates/dynatree/jquery/dynatree/aqua/rbIntermediate.png +0 -0
  746. data/templates/dynatree/jquery/dynatree/aqua/rbIntermediate_hover.png +0 -0
  747. data/templates/dynatree/jquery/dynatree/aqua/rbUnchecked.png +0 -0
  748. data/templates/dynatree/jquery/dynatree/aqua/rbUnchecked_hover.png +0 -0
  749. data/templates/dynatree/jquery/dynatree/crystal/cbChecked.png +0 -0
  750. data/templates/dynatree/jquery/dynatree/crystal/cbChecked_hover.png +0 -0
  751. data/templates/dynatree/jquery/dynatree/crystal/cbIntermediate.png +0 -0
  752. data/templates/dynatree/jquery/dynatree/crystal/cbIntermediate_hover.png +0 -0
  753. data/templates/dynatree/jquery/dynatree/crystal/cbUnchecked.png +0 -0
  754. data/templates/dynatree/jquery/dynatree/crystal/cbUnchecked_hover.png +0 -0
  755. data/templates/dynatree/jquery/dynatree/crystal/collapsed.png +0 -0
  756. data/templates/dynatree/jquery/dynatree/crystal/collapsed_hover.png +0 -0
  757. data/templates/dynatree/jquery/dynatree/crystal/copy_here.png +0 -0
  758. data/templates/dynatree/jquery/dynatree/crystal/customDoc1.png +0 -0
  759. data/templates/dynatree/jquery/dynatree/crystal/customFolder1.png +0 -0
  760. data/templates/dynatree/jquery/dynatree/crystal/doc_with_children.png +0 -0
  761. data/templates/dynatree/jquery/dynatree/crystal/document.png +0 -0
  762. data/templates/dynatree/jquery/dynatree/crystal/drop_accept.png +0 -0
  763. data/templates/dynatree/jquery/dynatree/crystal/drop_here.png +0 -0
  764. data/templates/dynatree/jquery/dynatree/crystal/drop_reject.png +0 -0
  765. data/templates/dynatree/jquery/dynatree/crystal/drop_sibling_here.png +0 -0
  766. data/templates/dynatree/jquery/dynatree/crystal/empty.png +0 -0
  767. data/templates/dynatree/jquery/dynatree/crystal/expanded.png +0 -0
  768. data/templates/dynatree/jquery/dynatree/crystal/expanded_hover.png +0 -0
  769. data/templates/dynatree/jquery/dynatree/crystal/folder.png +0 -0
  770. data/templates/dynatree/jquery/dynatree/crystal/folder_docs.png +0 -0
  771. data/templates/dynatree/jquery/dynatree/crystal/folder_images.png +0 -0
  772. data/templates/dynatree/jquery/dynatree/crystal/folder_open.png +0 -0
  773. data/templates/dynatree/jquery/dynatree/crystal/folder_page.png +0 -0
  774. data/templates/dynatree/jquery/dynatree/crystal/ltDoc.png +0 -0
  775. data/templates/dynatree/jquery/dynatree/crystal/ltError.png +0 -0
  776. data/templates/dynatree/jquery/dynatree/crystal/move_here.png +0 -0
  777. data/templates/dynatree/jquery/dynatree/crystal/rbChecked.png +0 -0
  778. data/templates/dynatree/jquery/dynatree/crystal/rbChecked_hover.png +0 -0
  779. data/templates/dynatree/jquery/dynatree/crystal/rbIntermediate.png +0 -0
  780. data/templates/dynatree/jquery/dynatree/crystal/rbIntermediate_hover.png +0 -0
  781. data/templates/dynatree/jquery/dynatree/crystal/rbUnchecked.png +0 -0
  782. data/templates/dynatree/jquery/dynatree/crystal/rbUnchecked_hover.png +0 -0
  783. data/templates/dynatree/jquery/dynatree/xp/cbChecked.png +0 -0
  784. data/templates/dynatree/jquery/dynatree/xp/cbChecked_hover.png +0 -0
  785. data/templates/dynatree/jquery/dynatree/xp/cbIntermediate.png +0 -0
  786. data/templates/dynatree/jquery/dynatree/xp/cbIntermediate_hover.png +0 -0
  787. data/templates/dynatree/jquery/dynatree/xp/cbUnchecked.png +0 -0
  788. data/templates/dynatree/jquery/dynatree/xp/cbUnchecked_hover.png +0 -0
  789. data/templates/dynatree/jquery/dynatree/xp/copy_here.png +0 -0
  790. data/templates/dynatree/jquery/dynatree/xp/customDoc1.png +0 -0
  791. data/templates/dynatree/jquery/dynatree/xp/customFolder1.png +0 -0
  792. data/templates/dynatree/jquery/dynatree/xp/drop_accept.png +0 -0
  793. data/templates/dynatree/jquery/dynatree/xp/drop_here.png +0 -0
  794. data/templates/dynatree/jquery/dynatree/xp/drop_reject.png +0 -0
  795. data/templates/dynatree/jquery/dynatree/xp/drop_sibling_here.png +0 -0
  796. data/templates/dynatree/jquery/dynatree/xp/ltD_ne.png +0 -0
  797. data/templates/dynatree/jquery/dynatree/xp/ltD_nes.png +0 -0
  798. data/templates/dynatree/jquery/dynatree/xp/ltDoc.png +0 -0
  799. data/templates/dynatree/jquery/dynatree/xp/ltError.png +0 -0
  800. data/templates/dynatree/jquery/dynatree/xp/ltFld.png +0 -0
  801. data/templates/dynatree/jquery/dynatree/xp/ltFld_o.png +0 -0
  802. data/templates/dynatree/jquery/dynatree/xp/ltL_.png +0 -0
  803. data/templates/dynatree/jquery/dynatree/xp/ltL_ne.png +0 -0
  804. data/templates/dynatree/jquery/dynatree/xp/ltL_nes.png +0 -0
  805. data/templates/dynatree/jquery/dynatree/xp/ltL_ns.png +0 -0
  806. data/templates/dynatree/jquery/dynatree/xp/ltM_ne.png +0 -0
  807. data/templates/dynatree/jquery/dynatree/xp/ltM_nes.png +0 -0
  808. data/templates/dynatree/jquery/dynatree/xp/ltP_ne.png +0 -0
  809. data/templates/dynatree/jquery/dynatree/xp/ltP_nes.png +0 -0
  810. data/templates/dynatree/jquery/dynatree/xp/move_here.png +0 -0
  811. data/templates/dynatree/jquery/dynatree/xp/rbChecked.png +0 -0
  812. data/templates/dynatree/jquery/dynatree/xp/rbChecked_hover.png +0 -0
  813. data/templates/dynatree/jquery/dynatree/xp/rbIntermediate.png +0 -0
  814. data/templates/dynatree/jquery/dynatree/xp/rbIntermediate_hover.png +0 -0
  815. data/templates/dynatree/jquery/dynatree/xp/rbUnchecked.png +0 -0
  816. data/templates/dynatree/jquery/dynatree/xp/rbUnchecked_hover.png +0 -0
  817. data/templates/jrails/i18n/jquery.ui/datepicker-ar.min.js +0 -2
  818. data/templates/jrails/i18n/jquery.ui/datepicker-fr.js +0 -23
  819. data/templates/jrails/i18n/jquery.ui/datepicker-fr.min.js +0 -2
  820. data/templates/jrails/jquery-ui.min.js +0 -825
  821. data/templates/jrails/jquery.sparkline.min.js +0 -31
@@ -402,8 +402,8 @@ $(document).bind("mobileinit.htmlclass", function(){
402
402
  /*
403
403
  * jQuery Mobile Framework : support tests
404
404
  * Copyright (c) jQuery Project
405
- * Dual licensed under the MIT or GPL Version 2 licenses.
406
- * http://jquery.org/license
405
+ * Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
406
+ * Note: Code is in draft form and is subject to change
407
407
  */
408
408
  (function($, undefined ) {
409
409
 
@@ -420,7 +420,7 @@ function propExists( prop ){
420
420
  var uc_prop = prop.charAt(0).toUpperCase() + prop.substr(1),
421
421
  props = (prop + ' ' + vendors.join(uc_prop + ' ') + uc_prop).split(' ');
422
422
  for(var v in props){
423
- if( fbCSS[ props[v] ] !== undefined ){
423
+ if( fbCSS[ v ] !== undefined ){
424
424
  return true;
425
425
  }
426
426
  }
@@ -432,6 +432,7 @@ function baseTagTest(){
432
432
  base = $("<base>", {"href": fauxBase}).appendTo("head"),
433
433
  link = $( "<a href='testurl'></a>" ).prependTo( fakeBody ),
434
434
  rebase = link[0].href;
435
+ base[0].href = location.pathname;
435
436
  base.remove();
436
437
  return rebase.indexOf(fauxBase) === 0;
437
438
  };
@@ -1105,68 +1106,104 @@ $.each({
1105
1106
  */
1106
1107
 
1107
1108
  (function( $, window, undefined ) {
1108
-
1109
+
1109
1110
  //jQuery.mobile configurable options
1110
1111
  $.extend( $.mobile, {
1111
-
1112
- //define the url parameter used for referencing widget-generated sub-pages.
1112
+
1113
+ //define the url parameter used for referencing widget-generated sub-pages.
1113
1114
  //Translates to to example.html&ui-page=subpageIdentifier
1114
1115
  //hash segment before &ui-page= is used to make Ajax request
1115
1116
  subPageUrlKey: 'ui-page',
1116
-
1117
- //anchor links with a data-rel, or pages with a data-role, that match these selectors will be untrackable in history
1117
+
1118
+ //anchor links with a data-rel, or pages with a data-role, that match these selectors will be untrackable in history
1118
1119
  //(no change in URL, not bookmarkable)
1119
1120
  nonHistorySelectors: 'dialog',
1120
-
1121
+
1121
1122
  //class assigned to page currently in view, and during transitions
1122
1123
  activePageClass: 'ui-page-active',
1123
-
1124
+
1124
1125
  //class used for "active" button state, from CSS framework
1125
1126
  activeBtnClass: 'ui-btn-active',
1126
-
1127
+
1127
1128
  //automatically handle link clicks through Ajax, when possible
1128
1129
  ajaxLinksEnabled: true,
1129
-
1130
+
1130
1131
  //automatically handle form submissions through Ajax, when possible
1131
1132
  ajaxFormsEnabled: true,
1132
-
1133
+
1133
1134
  //set default transition - 'none' for no transitions
1134
1135
  defaultTransition: 'slide',
1135
-
1136
+
1136
1137
  //show loading message during Ajax requests
1137
1138
  //if false, message will not appear, but loading classes will still be toggled on html el
1138
1139
  loadingMessage: "loading",
1139
-
1140
+
1140
1141
  //configure meta viewport tag's content attr:
1141
1142
  metaViewportContent: "width=device-width, minimum-scale=1, maximum-scale=1",
1142
-
1143
+
1143
1144
  //support conditions that must be met in order to proceed
1144
1145
  gradeA: function(){
1145
1146
  return $.support.mediaquery;
1147
+ },
1148
+
1149
+ //TODO might be useful upstream in jquery itself ?
1150
+ keyCode: {
1151
+ ALT: 18,
1152
+ BACKSPACE: 8,
1153
+ CAPS_LOCK: 20,
1154
+ COMMA: 188,
1155
+ COMMAND: 91,
1156
+ COMMAND_LEFT: 91, // COMMAND
1157
+ COMMAND_RIGHT: 93,
1158
+ CONTROL: 17,
1159
+ DELETE: 46,
1160
+ DOWN: 40,
1161
+ END: 35,
1162
+ ENTER: 13,
1163
+ ESCAPE: 27,
1164
+ HOME: 36,
1165
+ INSERT: 45,
1166
+ LEFT: 37,
1167
+ MENU: 93, // COMMAND_RIGHT
1168
+ NUMPAD_ADD: 107,
1169
+ NUMPAD_DECIMAL: 110,
1170
+ NUMPAD_DIVIDE: 111,
1171
+ NUMPAD_ENTER: 108,
1172
+ NUMPAD_MULTIPLY: 106,
1173
+ NUMPAD_SUBTRACT: 109,
1174
+ PAGE_DOWN: 34,
1175
+ PAGE_UP: 33,
1176
+ PERIOD: 190,
1177
+ RIGHT: 39,
1178
+ SHIFT: 16,
1179
+ SPACE: 32,
1180
+ TAB: 9,
1181
+ UP: 38,
1182
+ WINDOWS: 91 // COMMAND
1146
1183
  }
1147
1184
  });
1148
-
1149
-
1185
+
1186
+
1150
1187
  //trigger mobileinit event - useful hook for configuring $.mobile settings before they're used
1151
1188
  $( window.document ).trigger('mobileinit');
1152
1189
 
1153
1190
 
1154
- //support conditions
1191
+ //support conditions
1155
1192
  //if device support condition(s) aren't met, leave things as they are -> a basic, usable experience,
1156
1193
  //otherwise, proceed with the enhancements
1157
1194
  if ( !$.mobile.gradeA() ) {
1158
1195
  return;
1159
- }
1196
+ }
1160
1197
 
1161
1198
 
1162
1199
  //define vars for interal use
1163
1200
  var $window = $(window),
1164
1201
  $html = $('html'),
1165
1202
  $head = $('head'),
1166
-
1203
+
1167
1204
  //loading div which appears during Ajax requests
1168
1205
  //will not appear if $.mobile.loadingMessage is false
1169
- $loader = $.mobile.loadingMessage ?
1206
+ $loader = $.mobile.loadingMessage ?
1170
1207
  $('<div class="ui-loader ui-body-a ui-corner-all">'+
1171
1208
  '<span class="ui-icon ui-icon-loading spin"></span>'+
1172
1209
  '<h1>'+ $.mobile.loadingMessage +'</h1>'+
@@ -1175,16 +1212,16 @@ $.each({
1175
1212
 
1176
1213
 
1177
1214
  //add mobile, initial load "rendering" classes to docEl
1178
- $html.addClass('ui-mobile ui-mobile-rendering');
1179
-
1180
-
1181
- //define & prepend meta viewport tag, if content is defined
1182
- $.mobile.metaViewportContent ? $("<meta>", { name: "viewport", content: $.mobile.metaViewportContent}).prependTo( $head ) : undefined;
1215
+ $html.addClass('ui-mobile ui-mobile-rendering');
1216
+
1217
+
1218
+ //define & prepend meta viewport tag, if content is defined
1219
+ $.mobile.metaViewportContent ? $("<meta>", { name: "viewport", content: $.mobile.metaViewportContent}).prependTo( $head ) : undefined;
1220
+
1183
1221
 
1184
-
1185
1222
  //expose some core utilities
1186
1223
  $.extend($.mobile, {
1187
-
1224
+
1188
1225
  // turn on/off page loading message.
1189
1226
  pageLoading: function ( done ) {
1190
1227
  if ( done ) {
@@ -1192,64 +1229,68 @@ $.each({
1192
1229
  } else {
1193
1230
  if( $.mobile.loadingMessage ){
1194
1231
  $loader.appendTo($.mobile.pageContainer).css({top: $(window).scrollTop() + 75});
1195
- }
1232
+ }
1196
1233
  $html.addClass( "ui-loading" );
1197
1234
  }
1198
1235
  },
1199
-
1236
+
1200
1237
  //scroll page vertically: scroll to 0 to hide iOS address bar, or pass a Y value
1201
1238
  silentScroll: function( ypos ) {
1202
1239
  // prevent scrollstart and scrollstop events
1203
1240
  $.event.special.scrollstart.enabled = false;
1204
1241
  setTimeout(function() {
1205
1242
  window.scrollTo( 0, ypos || 0 );
1206
- },20);
1243
+ },20);
1207
1244
  setTimeout(function() {
1208
1245
  $.event.special.scrollstart.enabled = true;
1209
1246
  }, 150 );
1210
1247
  }
1211
- });
1212
-
1213
-
1248
+ });
1249
+
1250
+
1214
1251
  //dom-ready inits
1215
1252
  $(function(){
1216
-
1217
- //find present pages
1253
+
1254
+ //find present pages
1218
1255
  var $pages = $("[data-role='page']");
1219
-
1256
+
1257
+ $pages.each(function(){
1258
+ $(this).attr('data-url', $(this).attr('id'));
1259
+ });
1260
+
1220
1261
  //set up active page
1221
1262
  $.mobile.startPage = $.mobile.activePage = $pages.first();
1222
-
1263
+
1223
1264
  //set page container
1224
1265
  $.mobile.pageContainer = $.mobile.startPage.parent().addClass('ui-mobile-viewport');
1225
-
1266
+
1226
1267
  //cue page loading message
1227
1268
  $.mobile.pageLoading();
1228
-
1269
+
1229
1270
  //initialize all pages present
1230
1271
  $pages.page();
1231
-
1272
+
1232
1273
  //trigger a new hashchange, hash or not
1233
1274
  $window.trigger( "hashchange", [ true ] );
1234
-
1275
+
1235
1276
  //remove rendering class
1236
1277
  $html.removeClass('ui-mobile-rendering');
1237
1278
  });
1238
-
1239
-
1240
- //window load event
1279
+
1280
+
1281
+ //window load event
1241
1282
  //hide iOS browser chrome on load
1242
- $window.load( $.mobile.silentScroll );
1243
-
1283
+ $window.load( $.mobile.silentScroll );
1284
+
1244
1285
  })( jQuery, this );
1245
1286
 
1246
1287
 
1247
1288
  /*
1248
- * jQuery Mobile Framework : core utilities for auto ajax navigation, base tag mgmt,
1289
+ * jQuery Mobile Framework : core utilities for auto ajax navigation, base tag mgmt,
1249
1290
  * Copyright (c) jQuery Project
1250
1291
  * Dual licensed under the MIT or GPL Version 2 licenses.
1251
1292
  * http://jquery.org/license
1252
- */
1293
+ */
1253
1294
  (function($, undefined ) {
1254
1295
 
1255
1296
  //define vars for interal use
@@ -1259,58 +1300,63 @@ $.each({
1259
1300
 
1260
1301
  //url path helpers for use in relative url management
1261
1302
  path = {
1262
-
1303
+
1263
1304
  //get path from current hash, or from a file path
1264
1305
  get: function( newPath ){
1265
1306
  if( newPath == undefined ){
1266
1307
  newPath = location.hash;
1267
1308
  }
1268
1309
  newPath = newPath.replace(/#/,'').split('/');
1269
- newPath.pop();
1310
+ if(newPath.length){
1311
+ var lastSegment = newPath[newPath.length-1];
1312
+ if( lastSegment.indexOf('.') > -1 || lastSegment == ''){
1313
+ newPath.pop();
1314
+ }
1315
+ }
1270
1316
  return newPath.join('/') + (newPath.length ? '/' : '');
1271
1317
  },
1272
-
1273
- //return the substring of a filepath before the sub-page key, for making a server request
1318
+
1319
+ //return the substring of a filepath before the sub-page key, for making a server request
1274
1320
  getFilePath: function( path ){
1275
1321
  var splitkey = '&' + $.mobile.subPageUrlKey;
1276
- return path.indexOf( splitkey ) > -1 ? path.split( splitkey )[0] : path;
1322
+ return path && path.indexOf( splitkey ) > -1 ? path.split( splitkey )[0] : path;
1277
1323
  },
1278
-
1324
+
1279
1325
  set: function( path, disableListening){
1280
1326
  if(disableListening) { hashListener = false; }
1281
1327
  location.hash = path;
1282
1328
  },
1283
-
1329
+
1284
1330
  //location pathname from intial directory request
1285
- origin: null,
1286
-
1331
+ origin: '',
1332
+
1287
1333
  setOrigin: function(){
1288
1334
  path.origin = path.get( location.protocol + '//' + location.host + location.pathname );
1289
1335
  }
1290
1336
  },
1291
-
1337
+
1292
1338
  //base element management, defined depending on dynamic base tag support
1293
1339
  base = $.support.dynamicBaseTag ? {
1294
-
1340
+
1295
1341
  //define base element, for use in routing asset urls that are referenced in Ajax-requested markup
1296
1342
  element: $("<base>", { href: path.origin }).prependTo( $head ),
1297
-
1343
+
1298
1344
  //set the generated BASE element's href attribute to a new page's base path
1299
1345
  set: function( href ){
1300
1346
  base.element.attr('href', path.origin + path.get( href ));
1301
1347
  },
1302
-
1348
+
1303
1349
  //set the generated BASE element's href attribute to a new page's base path
1304
1350
  reset: function(){
1305
1351
  base.element.attr('href', path.origin );
1306
1352
  }
1307
-
1308
- } : undefined,
1309
1353
 
1310
-
1354
+ } : undefined,
1355
+
1356
+
1311
1357
  //will be defined when a link is clicked and given an active class
1312
1358
  $activeClickedLink = null,
1313
-
1359
+
1314
1360
  //array of pages that are visited during a single page load
1315
1361
  //length will grow as pages are visited, and shrink as "back" link/button is clicked
1316
1362
  //each item has a url (string matches ID), and transition (saved for reuse when "back" link/button is clicked)
@@ -1318,24 +1364,23 @@ $.each({
1318
1364
  url: location.hash.replace( /^#/, "" ),
1319
1365
  transition: undefined
1320
1366
  } ],
1321
-
1367
+
1322
1368
  //define first selector to receive focus when a page is shown
1323
1369
  focusable = "[tabindex],a,button:visible,select:visible,input",
1324
-
1370
+
1325
1371
  //contains role for next page, if defined on clicked link via data-rel
1326
1372
  nextPageRole = null,
1327
-
1373
+
1328
1374
  //enable/disable hashchange event listener
1329
1375
  //toggled internally when location.hash is updated to match the url of a successful page load
1330
- hashListener = true;
1331
-
1376
+ hashListener = true;
1377
+
1332
1378
  //set location pathname from intial directory request
1333
1379
  path.setOrigin();
1334
-
1335
1380
 
1336
- /*
1381
+ /*
1337
1382
  internal utility functions
1338
- --------------------------------------*/
1383
+ --------------------------------------*/
1339
1384
 
1340
1385
 
1341
1386
  //direct focus to the page title, or otherwise first focusable element
@@ -1348,7 +1393,7 @@ $.each({
1348
1393
  page.find( focusable ).eq(0).focus();
1349
1394
  }
1350
1395
  };
1351
-
1396
+
1352
1397
  //remove active classes after page transition or error
1353
1398
  function removeActiveLinkClass( forceRemoval ){
1354
1399
  if( !!$activeClickedLink && (!$activeClickedLink.closest( '.ui-page-active' ).length || forceRemoval )){
@@ -1357,7 +1402,7 @@ $.each({
1357
1402
  $activeClickedLink = null;
1358
1403
  };
1359
1404
 
1360
-
1405
+
1361
1406
  //animation complete callback
1362
1407
  $.fn.animationComplete = function( callback ){
1363
1408
  if($.support.cssTransitions){
@@ -1366,7 +1411,7 @@ $.each({
1366
1411
  else{
1367
1412
  callback();
1368
1413
  }
1369
- };
1414
+ };
1370
1415
 
1371
1416
 
1372
1417
 
@@ -1374,11 +1419,11 @@ $.each({
1374
1419
 
1375
1420
  //update location.hash, with or without triggering hashchange event
1376
1421
  $.mobile.updateHash = path.set;
1377
-
1422
+
1378
1423
  //url stack, useful when plugins need to be aware of previous pages viewed
1379
- $.mobile.urlStack = urlStack;
1424
+ $.mobile.urlStack = urlStack;
1380
1425
 
1381
- // changepage function
1426
+ // changepage function
1382
1427
  $.mobile.changePage = function( to, transition, back, changeHash){
1383
1428
 
1384
1429
  //from is always the currently viewed page
@@ -1390,9 +1435,13 @@ $.each({
1390
1435
  type = 'get',
1391
1436
  isFormRequest = false,
1392
1437
  duplicateCachedPage = null,
1393
- back = (back !== undefined) ? back : ( urlStack.length > 1 && urlStack[ urlStack.length - 2 ].url === url ),
1394
- transition = (transition !== undefined) ? transition : $.mobile.defaultTransition;
1395
-
1438
+ back = (back !== undefined) ? back : ( urlStack.length > 1 && urlStack[ urlStack.length - 2 ].url === url );
1439
+
1440
+ //If we are trying to transition to the same page that we are currently on ignore the request.
1441
+ if(urlStack.length > 1 && url === urlStack[urlStack.length -1].url && !toIsArray ) {
1442
+ return;
1443
+ }
1444
+
1396
1445
  if( $.type(to) === "object" && to.url ){
1397
1446
  url = to.url,
1398
1447
  data = to.data,
@@ -1404,70 +1453,109 @@ $.each({
1404
1453
  data = undefined;
1405
1454
  }
1406
1455
  }
1407
-
1456
+
1408
1457
  //reset base to pathname for new request
1409
1458
  if(base){ base.reset(); }
1410
-
1459
+
1460
+ //kill the keyboard
1461
+ $( window.document.activeElement ).add(':focus').blur();
1462
+
1463
+ function defaultTransition(){
1464
+ if(transition === undefined){
1465
+ transition = $.mobile.defaultTransition;
1466
+ }
1467
+ }
1468
+
1411
1469
  // if the new href is the same as the previous one
1412
1470
  if ( back ) {
1413
1471
  var pop = urlStack.pop();
1414
- if( pop ){
1472
+
1473
+ // prefer the explicitly set transition
1474
+ if( pop && !transition ){
1415
1475
  transition = pop.transition;
1416
1476
  }
1477
+
1478
+ // ensure a transition has been set where pop is undefined
1479
+ defaultTransition();
1417
1480
  } else {
1481
+ // If no transition has been passed
1482
+ defaultTransition();
1483
+
1484
+ // push the url and transition onto the stack
1418
1485
  urlStack.push({ url: url, transition: transition });
1419
1486
  }
1420
-
1487
+
1421
1488
  //function for transitioning between two existing pages
1422
1489
  function transitionPages() {
1423
-
1424
- //kill the keyboard
1425
- $( window.document.activeElement ).blur();
1426
-
1490
+
1427
1491
  //get current scroll distance
1428
- var currScroll = $window.scrollTop();
1429
-
1492
+ var currScroll = $window.scrollTop(),
1493
+ perspectiveTransitions = ["flip"],
1494
+ pageContainerClasses = [];
1495
+
1430
1496
  //set as data for returning to that spot
1431
1497
  from.data('lastScroll', currScroll);
1432
-
1498
+
1433
1499
  //trigger before show/hide events
1434
1500
  from.data("page")._trigger("beforehide", {nextPage: to});
1435
1501
  to.data("page")._trigger("beforeshow", {prevPage: from});
1436
-
1502
+
1437
1503
  function loadComplete(){
1438
1504
  $.mobile.pageLoading( true );
1439
- //trigger show/hide events, allow preventing focus change through return false
1440
- if( from.data("page")._trigger("hide", null, {nextPage: to}) !== false && to.data("page")._trigger("show", null, {prevPage: from}) !== false ){
1441
- $.mobile.activePage = to;
1442
- }
1505
+
1443
1506
  reFocus( to );
1507
+
1444
1508
  if( changeHash !== false && url ){
1445
- path.set(url, true);
1509
+ path.set(url, (back !== true));
1446
1510
  }
1447
1511
  removeActiveLinkClass();
1448
-
1512
+
1449
1513
  //if there's a duplicateCachedPage, remove it from the DOM now that it's hidden
1450
1514
  if( duplicateCachedPage != null ){
1451
1515
  duplicateCachedPage.remove();
1452
1516
  }
1453
-
1517
+
1454
1518
  //jump to top or prev scroll, if set
1455
1519
  $.mobile.silentScroll( to.data( 'lastScroll' ) );
1520
+
1521
+ //trigger show/hide events, allow preventing focus change through return false
1522
+ from.data("page")._trigger("hide", null, {nextPage: to});
1523
+ if( to.data("page")._trigger("show", null, {prevPage: from}) !== false ){
1524
+ $.mobile.activePage = to;
1525
+ }
1456
1526
  };
1457
-
1458
- if(transition && (transition !== 'none')){
1459
- $.mobile.pageContainer.addClass('ui-mobile-viewport-transitioning');
1527
+
1528
+ function addContainerClass(className){
1529
+ $.mobile.pageContainer.addClass(className);
1530
+ pageContainerClasses.push(className);
1531
+ };
1532
+
1533
+ function removeContainerClasses(){
1534
+ $.mobile
1535
+ .pageContainer
1536
+ .removeClass(pageContainerClasses.join(" "));
1537
+
1538
+ pageContainerClasses = [];
1539
+ };
1540
+
1541
+ if(transition && (transition !== 'none')){
1542
+ if( perspectiveTransitions.indexOf(transition) >= 0 ){
1543
+ addContainerClass('ui-mobile-viewport-perspective');
1544
+ }
1545
+
1546
+ addContainerClass('ui-mobile-viewport-transitioning');
1547
+
1460
1548
  // animate in / out
1461
1549
  from.addClass( transition + " out " + ( back ? "reverse" : "" ) );
1462
1550
  to.addClass( $.mobile.activePageClass + " " + transition +
1463
1551
  " in " + ( back ? "reverse" : "" ) );
1464
-
1552
+
1465
1553
  // callback - remove classes, etc
1466
1554
  to.animationComplete(function() {
1467
1555
  from.add( to ).removeClass("out in reverse " + transition );
1468
1556
  from.removeClass( $.mobile.activePageClass );
1469
1557
  loadComplete();
1470
- $.mobile.pageContainer.removeClass('ui-mobile-viewport-transitioning');
1558
+ removeContainerClasses();
1471
1559
  });
1472
1560
  }
1473
1561
  else{
@@ -1476,48 +1564,51 @@ $.each({
1476
1564
  loadComplete();
1477
1565
  }
1478
1566
  };
1479
-
1567
+
1480
1568
  //shared page enhancements
1481
1569
  function enhancePage(){
1482
-
1570
+
1483
1571
  //set next page role, if defined
1484
- if ( nextPageRole ) {
1485
- to.attr( "data-role", nextPageRole );
1486
- nextPageRole = undefined;
1572
+ if ( nextPageRole || to.data('role') == 'dialog' ) {
1573
+ changeHash = false;
1574
+ if(nextPageRole){
1575
+ to.attr( "data-role", nextPageRole );
1576
+ nextPageRole = null;
1577
+ }
1487
1578
  }
1488
-
1489
- //run page plugin
1579
+
1580
+ //run page plugin
1490
1581
  to.page();
1491
1582
  };
1492
1583
 
1493
1584
  //if url is a string
1494
1585
  if( url ){
1495
- to = $( "[id='" + url + "']" ),
1586
+ to = $( "[data-url='" + url + "']" );
1496
1587
  fileUrl = path.getFilePath(url);
1497
1588
  }
1498
1589
  else{ //find base url of element, if avail
1499
- var toID = to.attr('id'),
1590
+ var toID = to.attr('data-url'),
1500
1591
  toIDfileurl = path.getFilePath(toID);
1501
-
1592
+
1502
1593
  if(toID != toIDfileurl){
1503
1594
  fileUrl = toIDfileurl;
1504
- }
1595
+ }
1505
1596
  }
1506
-
1597
+
1507
1598
  // find the "to" page, either locally existing in the dom or by creating it through ajax
1508
1599
  if ( to.length && !isFormRequest ) {
1509
1600
  if( fileUrl && base ){
1510
1601
  base.set( fileUrl );
1511
- }
1602
+ }
1512
1603
  enhancePage();
1513
1604
  transitionPages();
1514
- } else {
1515
-
1605
+ } else {
1606
+
1516
1607
  //if to exists in DOM, save a reference to it in duplicateCachedPage for removal after page change
1517
1608
  if( to.length ){
1518
1609
  duplicateCachedPage = to;
1519
1610
  }
1520
-
1611
+
1521
1612
  $.mobile.pageLoading();
1522
1613
 
1523
1614
  $.ajax({
@@ -1525,55 +1616,40 @@ $.each({
1525
1616
  type: type,
1526
1617
  data: data,
1527
1618
  success: function( html ) {
1528
-
1529
1619
  if(base){ base.set(fileUrl); }
1530
-
1620
+
1531
1621
  var all = $("<div></div>");
1532
1622
  //workaround to allow scripts to execute when included in page divs
1533
1623
  all.get(0).innerHTML = html;
1534
- to = all.find('[data-role="page"]');
1535
-
1624
+ to = all.find('[data-role="page"], [data-role="dialog"]').first();
1625
+
1536
1626
  //rewrite src and href attrs to use a base url
1537
1627
  if( !$.support.dynamicBaseTag ){
1538
1628
  var newPath = path.get( fileUrl );
1539
1629
  to.find('[src],link[href]').each(function(){
1540
1630
  var thisAttr = $(this).is('[href]') ? 'href' : 'src',
1541
1631
  thisUrl = $(this).attr(thisAttr);
1542
-
1632
+
1543
1633
  //if full path exists and is same, chop it - helps IE out
1544
1634
  thisUrl.replace( location.protocol + '//' + location.host + location.pathname, '' );
1545
-
1635
+
1546
1636
  if( !/^(\w+:|#|\/)/.test(thisUrl) ){
1547
1637
  $(this).attr(thisAttr, newPath + thisUrl);
1548
1638
  }
1549
1639
  });
1550
1640
  }
1551
-
1552
- //preserve ID on a retrieved page
1553
- if ( to.attr('id') ) {
1554
- //wrap page and transfer data-attrs if it has an ID
1555
- var copyAttrs = ['data-role', 'data-theme', 'data-fullscreen'], //TODO: more page-level attrs?
1556
- wrapper = to.wrap( "<div>" ).parent();
1557
-
1558
- $.each(copyAttrs,function(i){
1559
- if( to.attr( copyAttrs[ i ] ) ){
1560
- wrapper.attr( copyAttrs[ i ], to.attr( copyAttrs[ i ] ) );
1561
- to.removeAttr( copyAttrs[ i ] );
1562
- }
1563
- });
1564
- to = wrapper;
1565
- }
1566
1641
 
1567
1642
  to
1568
- .attr( "id", fileUrl )
1643
+ .attr( "data-url", fileUrl )
1569
1644
  .appendTo( $.mobile.pageContainer );
1570
-
1645
+
1571
1646
  enhancePage();
1572
1647
  transitionPages();
1573
1648
  },
1574
1649
  error: function() {
1575
1650
  $.mobile.pageLoading( true );
1576
1651
  removeActiveLinkClass(true);
1652
+ base.set(path.get());
1577
1653
  $("<div class='ui-loader ui-overlay-shadow ui-body-e ui-corner-all'><h1>Error Loading Page</h1></div>")
1578
1654
  .css({ "display": "block", "opacity": 0.96, "top": $(window).scrollTop() + 100 })
1579
1655
  .appendTo( $.mobile.pageContainer )
@@ -1588,27 +1664,25 @@ $.each({
1588
1664
  };
1589
1665
 
1590
1666
 
1667
+ /* Event Bindings - hashchange, submit, and click */
1591
1668
 
1592
-
1593
- /* Event Bindings - hashchange, submit, and click */
1594
-
1595
1669
  //bind to form submit events, handle with Ajax
1596
1670
  $('form').live('submit', function(event){
1597
1671
  if( !$.mobile.ajaxFormsEnabled ){ return; }
1598
-
1672
+
1599
1673
  var type = $(this).attr("method"),
1600
- url = $(this).attr( "action" ).replace( location.protocol + "//" + location.host, "");
1601
-
1674
+ url = $(this).attr( "action" ).replace( location.protocol + "//" + location.host, "");
1675
+
1602
1676
  //external submits use regular HTTP
1603
1677
  if( /^(:?\w+:)/.test( url ) ){
1604
1678
  return;
1605
- }
1606
-
1679
+ }
1680
+
1607
1681
  //if it's a relative href, prefix href with base url
1608
1682
  if( url.indexOf('/') && url.indexOf('#') !== 0 ){
1609
1683
  url = path.get() + url;
1610
1684
  }
1611
-
1685
+
1612
1686
  $.mobile.changePage({
1613
1687
  url: url,
1614
1688
  type: type,
@@ -1619,11 +1693,12 @@ $.each({
1619
1693
  true
1620
1694
  );
1621
1695
  event.preventDefault();
1622
- });
1623
-
1624
-
1696
+ });
1697
+
1698
+
1625
1699
  //click routing - direct to HTTP or Ajax, accordingly
1626
1700
  $( "a" ).live( "click", function(event) {
1701
+
1627
1702
  if( !$.mobile.ajaxLinksEnabled ){ return; }
1628
1703
  var $this = $(this),
1629
1704
  //get href, remove same-domain protocol and host
@@ -1631,20 +1706,19 @@ $.each({
1631
1706
  //if target attr is specified, it's external, and we mimic _blank... for now
1632
1707
  target = $this.is( "[target]" ),
1633
1708
  //if it still starts with a protocol, it's external, or could be :mailto, etc
1634
- external = target || /^(:?\w+:)/.test( href ) || $this.is( "[rel=external]" ),
1635
- target = $this.is( "[target]" );
1709
+ external = target || /^(:?\w+:)/.test( href ) || $this.is( "[rel=external]" );
1636
1710
 
1637
1711
  if( href === '#' ){
1638
1712
  //for links created purely for interaction - ignore
1639
1713
  return false;
1640
1714
  }
1641
-
1715
+
1642
1716
  $activeClickedLink = $this.closest( ".ui-btn" ).addClass( $.mobile.activeBtnClass );
1643
-
1717
+
1644
1718
  if( external || !$.mobile.ajaxLinksEnabled ){
1645
1719
  //remove active link class if external
1646
1720
  removeActiveLinkClass(true);
1647
-
1721
+
1648
1722
  //deliberately redirect, in case click was triggered
1649
1723
  if( target ){
1650
1724
  window.open(href);
@@ -1653,57 +1727,56 @@ $.each({
1653
1727
  location.href = href;
1654
1728
  }
1655
1729
  }
1656
- else {
1730
+ else {
1657
1731
  //use ajax
1658
1732
  var transition = $this.data( "transition" ),
1659
- back = $this.data( "back" ),
1660
- changeHashOnSuccess = !$this.is( "[data-rel="+ $.mobile.nonHistorySelectors +"]" );
1661
-
1662
- nextPageRole = $this.attr( "data-rel" );
1663
-
1733
+ back = $this.data( "back" );
1734
+
1735
+ nextPageRole = $this.attr( "data-rel" );
1736
+
1664
1737
  //if it's a relative href, prefix href with base url
1665
1738
  if( href.indexOf('/') && href.indexOf('#') !== 0 ){
1666
1739
  href = path.get() + href;
1667
1740
  }
1668
-
1741
+
1669
1742
  href.replace(/^#/,'');
1670
-
1671
- $.mobile.changePage(href, transition, back, changeHashOnSuccess);
1743
+
1744
+ $.mobile.changePage(href, transition, back);
1672
1745
  }
1673
1746
  event.preventDefault();
1674
1747
  });
1675
-
1676
-
1677
-
1678
- //hashchange event handler
1748
+
1749
+
1750
+
1751
+ //hashchange event handler
1679
1752
  $window.bind( "hashchange", function(e, triggered) {
1680
- if( !hashListener ){
1753
+ if( !hashListener ){
1681
1754
  hashListener = true;
1682
- return;
1683
- }
1684
-
1755
+ return;
1756
+ }
1757
+
1685
1758
  if( $(".ui-page-active").is("[data-role=" + $.mobile.nonHistorySelectors + "]") ){
1686
1759
  return;
1687
1760
  }
1688
-
1761
+
1689
1762
  var to = location.hash,
1690
1763
  transition = triggered ? false : undefined;
1691
-
1764
+
1692
1765
  //if to is defined, use it
1693
1766
  if ( to ){
1694
- $.mobile.changePage( to, transition);
1767
+ $.mobile.changePage( to, transition, undefined, false);
1695
1768
  }
1696
1769
  //there's no hash, the active page is not the start page, and it's not manually triggered hashchange
1697
1770
  //we probably backed out to the first page visited
1698
1771
  else if( $.mobile.activePage.length && $.mobile.startPage[0] !== $.mobile.activePage[0] && !triggered ) {
1699
- $.mobile.changePage( $.mobile.startPage, transition, true );
1772
+ $.mobile.changePage( $.mobile.startPage, transition, true, false );
1700
1773
  }
1701
1774
  //probably the first page - show it
1702
1775
  else{
1703
1776
  $.mobile.startPage.trigger("pagebeforeshow", {prevPage: $('')});
1704
1777
  $.mobile.startPage.addClass( $.mobile.activePageClass );
1705
1778
  $.mobile.pageLoading( true );
1706
-
1779
+
1707
1780
  if( $.mobile.startPage.trigger("pageshow", {prevPage: $('')}) !== false ){
1708
1781
  reFocus($.mobile.startPage);
1709
1782
  }
@@ -1737,46 +1810,47 @@ $.widget( "mobile.page", $.mobile.widget, {
1737
1810
  time: false,
1738
1811
  url: false,
1739
1812
  week: false
1740
- }
1813
+ },
1814
+ keepNative: null
1741
1815
  },
1742
-
1816
+
1743
1817
  _create: function() {
1744
1818
  var $elem = this.element,
1745
1819
  o = this.options;
1746
1820
 
1821
+ this.keepNative = "[data-role='none'], [data-role='nojs']" + (o.keepNative ? ", " + o.keepNative : "");
1822
+
1747
1823
  if ( this._trigger( "beforeCreate" ) === false ) {
1748
1824
  return;
1749
1825
  }
1750
-
1826
+
1751
1827
  //some of the form elements currently rely on the presence of ui-page and ui-content
1752
1828
  // classes so we'll handle page and content roles outside of the main role processing
1753
1829
  // loop below.
1754
1830
  $elem.find( "[data-role='page'], [data-role='content']" ).andSelf().each(function() {
1755
1831
  $(this).addClass( "ui-" + $(this).data( "role" ) );
1756
1832
  });
1757
-
1833
+
1758
1834
  $elem.find( "[data-role='nojs']" ).addClass( "ui-nojs" );
1759
1835
 
1760
- this._enchanceControls();
1761
-
1762
1836
  // pre-find data els
1763
1837
  var $dataEls = $elem.find( "[data-role]" ).andSelf().each(function() {
1764
1838
  var $this = $( this ),
1765
1839
  role = $this.data( "role" ),
1766
1840
  theme = $this.data( "theme" );
1767
-
1841
+
1768
1842
  //apply theming and markup modifications to page,header,content,footer
1769
1843
  if ( role === "header" || role === "footer" ) {
1770
1844
  $this.addClass( "ui-bar-" + (theme || $this.parent('[data-role=page]').data( "theme" ) || "a") );
1771
-
1845
+
1772
1846
  // add ARIA role
1773
1847
  $this.attr( "role", role === "header" ? "banner" : "contentinfo" );
1774
-
1848
+
1775
1849
  //right,left buttons
1776
1850
  var $headeranchors = $this.children( "a" ),
1777
1851
  leftbtn = $headeranchors.hasClass( "ui-btn-left" ),
1778
1852
  rightbtn = $headeranchors.hasClass( "ui-btn-right" );
1779
-
1853
+
1780
1854
  if ( !leftbtn ) {
1781
1855
  leftbtn = $headeranchors.eq( 0 ).not( ".ui-btn-right" ).addClass( "ui-btn-left" ).length;
1782
1856
  }
@@ -1784,7 +1858,7 @@ $.widget( "mobile.page", $.mobile.widget, {
1784
1858
  if ( !rightbtn ) {
1785
1859
  rightbtn = $headeranchors.eq( 1 ).addClass( "ui-btn-right" ).length;
1786
1860
  }
1787
-
1861
+
1788
1862
  // auto-add back btn on pages beyond first view
1789
1863
  if ( o.addBackBtn && role === "header" &&
1790
1864
  ($.mobile.urlStack.length > 1 || $(".ui-page").length > 1) &&
@@ -1797,8 +1871,8 @@ $.widget( "mobile.page", $.mobile.widget, {
1797
1871
  })
1798
1872
  .prependTo( $this );
1799
1873
  }
1800
-
1801
- //page title
1874
+
1875
+ //page title
1802
1876
  $this.children( "h1, h2, h3, h4, h5, h6" )
1803
1877
  .addClass( "ui-title" )
1804
1878
  //regardless of h element number in src, it becomes h1 for the enhanced page
@@ -1815,7 +1889,7 @@ $.widget( "mobile.page", $.mobile.widget, {
1815
1889
  } else if ( role === "page" ) {
1816
1890
  $this.addClass( "ui-body-" + (theme || "c") );
1817
1891
  }
1818
-
1892
+
1819
1893
  switch(role) {
1820
1894
  case "header":
1821
1895
  case "footer":
@@ -1833,59 +1907,69 @@ $.widget( "mobile.page", $.mobile.widget, {
1833
1907
  }
1834
1908
  });
1835
1909
 
1910
+ //enhance form controls
1911
+ this._enhanceControls();
1912
+
1836
1913
  //links in bars, or those with data-role become buttons
1837
- $elem.find( "[data-role='button'], .ui-bar a, .ui-header a, .ui-footer a" )
1914
+ $elem.find( "[data-role='button'], .ui-bar > a, .ui-header > a, .ui-footer > a" )
1838
1915
  .not( ".ui-btn" )
1916
+ .not(this.keepNative)
1839
1917
  .buttonMarkup();
1840
1918
 
1841
- $elem
1919
+ $elem
1842
1920
  .find("[data-role='controlgroup']")
1843
1921
  .controlgroup();
1844
-
1922
+
1845
1923
  //links within content areas
1846
1924
  $elem.find( "a:not(.ui-btn):not(.ui-link-inherit)" )
1847
- .addClass( "ui-link" );
1848
-
1925
+ .not(this.keepNative)
1926
+ .addClass( "ui-link" );
1927
+
1849
1928
  //fix toolbars
1850
1929
  $elem.fixHeaderFooter();
1851
1930
  },
1852
-
1853
- _enchanceControls: function() {
1931
+
1932
+ _enhanceControls: function() {
1854
1933
  var o = this.options;
1934
+
1855
1935
  // degrade inputs to avoid poorly implemented native functionality
1856
- this.element.find( "input" ).each(function() {
1936
+ this.element.find( "input" ).not(this.keepNative).each(function() {
1857
1937
  var type = this.getAttribute( "type" ),
1858
1938
  optType = o.degradeInputs[ type ] || "text";
1859
-
1939
+
1860
1940
  if ( o.degradeInputs[ type ] ) {
1861
1941
  $( this ).replaceWith(
1862
1942
  $( "<div>" ).html( $(this).clone() ).html()
1863
1943
  .replace( /type="([a-zA-Z]+)"/, "type="+ optType +" data-type='$1'" ) );
1864
1944
  }
1865
1945
  });
1866
-
1946
+
1867
1947
  // enchance form controls
1868
1948
  this.element
1869
1949
  .find( "[type='radio'], [type='checkbox']" )
1950
+ .not(this.keepNative)
1870
1951
  .checkboxradio();
1871
1952
 
1872
1953
  this.element
1873
1954
  .find( "button, [type='button'], [type='submit'], [type='reset'], [type='image']" )
1874
- .not( ".ui-nojs" )
1955
+ .not(this.keepNative)
1875
1956
  .button();
1876
1957
 
1877
1958
  this.element
1878
1959
  .find( "input, textarea" )
1879
1960
  .not( "[type='radio'], [type='checkbox'], button, [type='button'], [type='submit'], [type='reset'], [type='image']" )
1961
+ .not(this.keepNative)
1880
1962
  .textinput();
1881
1963
 
1882
1964
  this.element
1883
1965
  .find( "input, select" )
1966
+ .not(this.keepNative)
1884
1967
  .filter( "[data-role='slider'], [data-type='range']" )
1885
1968
  .slider();
1886
1969
 
1887
1970
  this.element
1888
1971
  .find( "select:not([data-role='slider'])" )
1972
+ .not(this.keepNative)
1889
1973
  .selectmenu();
1890
1974
  }
1891
1975
  });
@@ -2174,64 +2258,74 @@ $.fixedToolbars = (function(){
2174
2258
  touchStartEvent = supportTouch ? "touchstart" : "mousedown",
2175
2259
  touchStopEvent = supportTouch ? "touchend" : "mouseup",
2176
2260
  stateBefore = null,
2177
- scrollTriggered = false;
2178
-
2261
+ scrollTriggered = false,
2262
+ touchToggleEnabled = true;
2263
+
2179
2264
  $(function() {
2180
2265
  $(document)
2181
2266
  .bind(touchStartEvent,function(event){
2182
- if( $(event.target).closest(ignoreTargets).length ){ return; }
2183
- stateBefore = currentstate;
2184
- $.fixedToolbars.hide(true);
2267
+ if( touchToggleEnabled ) {
2268
+ if( $(event.target).closest(ignoreTargets).length ){ return; }
2269
+ stateBefore = currentstate;
2270
+ }
2185
2271
  })
2186
2272
  .bind('scrollstart',function(event){
2187
2273
  if( $(event.target).closest(ignoreTargets).length ){ return; } //because it could be a touchmove...
2188
2274
  scrollTriggered = true;
2189
2275
  if(stateBefore == null){ stateBefore = currentstate; }
2190
- $.fixedToolbars.hide(true);
2276
+ if (stateBefore == 'overlay') {
2277
+ $.fixedToolbars.hide(true);
2278
+ }
2191
2279
  })
2192
2280
  .bind(touchStopEvent,function(event){
2193
- if( $(event.target).closest(ignoreTargets).length ){ return; }
2194
- if( !scrollTriggered ){
2195
- $.fixedToolbars.toggle(stateBefore);
2196
- stateBefore = null;
2281
+ if( touchToggleEnabled ) {
2282
+ if( $(event.target).closest(ignoreTargets).length ){ return; }
2283
+ if( !scrollTriggered ){
2284
+ $.fixedToolbars.toggle(stateBefore);
2285
+ stateBefore = null;
2286
+ }
2197
2287
  }
2198
2288
  })
2199
2289
  .bind('scrollstop',function(event){
2200
2290
  if( $(event.target).closest(ignoreTargets).length ){ return; }
2201
2291
  scrollTriggered = false;
2202
- $.fixedToolbars.toggle( stateBefore == 'overlay' ? 'inline' : 'overlay' );
2292
+ if (stateBefore == 'overlay') {
2293
+ $.fixedToolbars.show();
2294
+ }
2203
2295
  stateBefore = null;
2204
2296
  });
2297
+ });
2205
2298
 
2206
- //function to return another footer already in the dom with the same data-id
2207
- function findStickyFooter(el){
2208
- var thisFooter = el.find('[data-role="footer"]');
2209
- return $( '.ui-footer[data-id="'+ thisFooter.data('id') +'"]:not(.ui-footer-duplicate)' ).not(thisFooter);
2210
- }
2211
-
2212
- //before page is shown, check for duplicate footer
2213
- $('.ui-page').live('pagebeforeshow', function(event, ui){
2214
- stickyFooter = findStickyFooter( $(event.target) );
2215
- if( stickyFooter.length ){
2216
- //if the existing footer is the first of its kind, create a placeholder before stealing it
2217
- if( stickyFooter.parents('.ui-page:eq(0)').find('.ui-footer[data-id="'+ stickyFooter.data('id') +'"]').length == 1 ){
2218
- stickyFooter.before( stickyFooter.clone().addClass('ui-footer-duplicate') );
2219
- }
2220
- $(event.target).find('[data-role="footer"]').addClass('ui-footer-duplicate');
2221
- stickyFooter.appendTo($.pageContainer).css('top',0);
2222
- setTop(stickyFooter);
2299
+ //before page is shown, check for duplicate footer
2300
+ $('.ui-page').live('pagebeforeshow', function(event, ui){
2301
+ var page = $(event.target);
2302
+ var footer = page.find('[data-role="footer"]:not(.ui-sticky-footer)');
2303
+ var id = footer.data('id');
2304
+ if (id)
2305
+ {
2306
+ stickyFooter = $('.ui-footer[data-id="' + id + '"].ui-sticky-footer');
2307
+ if (stickyFooter.length == 0) {
2308
+ // No sticky footer exists for this data-id. We'll use this
2309
+ // footer as the sticky footer for the group and then create
2310
+ // a placeholder footer for the page.
2311
+ stickyFooter = footer;
2312
+ footer = stickyFooter.clone(); // footer placeholder
2313
+ stickyFooter.addClass('ui-sticky-footer').before(footer);
2223
2314
  }
2224
- });
2315
+ footer.addClass('ui-footer-duplicate');
2316
+ stickyFooter.appendTo($.pageContainer).css('top',0);
2317
+ setTop(stickyFooter);
2318
+ }
2319
+ });
2225
2320
 
2226
- //after page is shown, append footer to new page
2227
- $('.ui-page').live('pageshow', function(event, ui){
2228
- if( stickyFooter && stickyFooter.length ){
2229
- stickyFooter.appendTo(event.target).css('top',0);
2230
- }
2231
- $.fixedToolbars.show(true, this);
2232
- });
2233
-
2321
+ //after page is shown, append footer to new page
2322
+ $('.ui-page').live('pageshow', function(event, ui){
2323
+ if( stickyFooter && stickyFooter.length ){
2324
+ stickyFooter.appendTo(event.target).css('top',0);
2325
+ }
2326
+ $.fixedToolbars.show(true, this);
2234
2327
  });
2328
+
2235
2329
 
2236
2330
  // element.getBoundingClientRect() is broken in iOS 3.2.1 on the iPad. The
2237
2331
  // coordinates inside of the rect it returns don't have the page scroll position
@@ -2300,9 +2394,9 @@ $.fixedToolbars = (function(){
2300
2394
  el.addClass('ui-fixed-overlay').removeClass('ui-fixed-inline');
2301
2395
 
2302
2396
  if( !alreadyVisible && !immediately ){
2303
- el.addClass('in').animationComplete(function(){
2397
+ el.animationComplete(function(){
2304
2398
  el.removeClass('in');
2305
- });
2399
+ }).addClass('in');
2306
2400
  }
2307
2401
  setTop(el);
2308
2402
  });
@@ -2326,10 +2420,10 @@ $.fixedToolbars = (function(){
2326
2420
  else{
2327
2421
  if( el.css('top') !== 'auto' && parseFloat(el.css('top')) !== 0 ){
2328
2422
  var classes = 'out reverse';
2329
- el.addClass(classes).animationComplete(function(){
2423
+ el.animationComplete(function(){
2330
2424
  el.removeClass(classes);
2331
2425
  el.css('top',0);
2332
- });
2426
+ }).addClass(classes);
2333
2427
  }
2334
2428
  }
2335
2429
  }
@@ -2343,7 +2437,10 @@ $.fixedToolbars = (function(){
2343
2437
  toggle: function(from){
2344
2438
  if(from){ currentstate = from; }
2345
2439
  return (currentstate == 'overlay') ? $.fixedToolbars.hide() : $.fixedToolbars.show();
2346
- }
2440
+ },
2441
+ setTouchToggleEnabled: function(enabled) {
2442
+ touchToggleEnabled = enabled;
2443
+ }
2347
2444
  };
2348
2445
  })();
2349
2446
 
@@ -2368,7 +2465,12 @@ $.widget( "mobile.checkboxradio", $.mobile.widget, {
2368
2465
  uncheckedicon = "ui-icon-" + inputtype + "-off";
2369
2466
 
2370
2467
  if ( inputtype != "checkbox" && inputtype != "radio" ) { return; }
2371
-
2468
+
2469
+ // If there's no selected theme...
2470
+ if( !this.options.theme ) {
2471
+ this.options.theme = this.element.data( "theme" );
2472
+ }
2473
+
2372
2474
  label
2373
2475
  .buttonMarkup({
2374
2476
  theme: this.options.theme,
@@ -2575,28 +2677,34 @@ $.widget( "mobile.selectmenu", $.mobile.widget, {
2575
2677
  shadow: true,
2576
2678
  iconshadow: true,
2577
2679
  menuPageTheme: 'b',
2578
- overlayTheme: 'a'
2680
+ overlayTheme: 'a',
2681
+ hidePlaceholderMenuItems: true,
2682
+ closeText: 'Close'
2579
2683
  },
2580
2684
  _create: function(){
2581
2685
 
2582
2686
  var self = this,
2583
-
2687
+
2584
2688
  o = this.options,
2585
2689
 
2586
2690
  select = this.element
2587
2691
  .attr( "tabindex", "-1" )
2588
- .wrap( "<div class='ui-select'>" ),
2692
+ .wrap( "<div class='ui-select'>" ),
2589
2693
 
2590
2694
  selectID = select.attr( "id" ),
2591
2695
 
2696
+ isMultiple = self.isMultiple = select[0].multiple,
2697
+
2698
+ options = select.find("option"),
2699
+
2592
2700
  label = $( "label[for="+ selectID +"]" ).addClass( "ui-select" ),
2593
-
2701
+
2594
2702
  buttonId = selectID + "-button",
2595
2703
 
2596
2704
  menuId = selectID + "-menu",
2597
2705
 
2598
2706
  thisPage = select.closest( ".ui-page" ),
2599
-
2707
+
2600
2708
  button = $( "<a>", {
2601
2709
  "href": "#",
2602
2710
  "role": "button",
@@ -2615,7 +2723,7 @@ $.widget( "mobile.selectmenu", $.mobile.widget, {
2615
2723
  shadow: o.shadow,
2616
2724
  iconshadow: o.iconshadow
2617
2725
  }),
2618
-
2726
+
2619
2727
  theme = /ui-btn-up-([a-z])/.exec( button.attr("class") )[1],
2620
2728
 
2621
2729
  menuPage = $( "<div data-role='dialog' data-theme='"+ o.menuPageTheme +"'>" +
@@ -2627,7 +2735,9 @@ $.widget( "mobile.selectmenu", $.mobile.widget, {
2627
2735
  .appendTo( $.mobile.pageContainer )
2628
2736
  .page(),
2629
2737
 
2630
- menuPageContent = menuPage.find( ".ui-content" ),
2738
+ menuPageContent = menuPage.find( ".ui-content" ),
2739
+
2740
+ menuPageClose = menuPage.find( ".ui-header a" ),
2631
2741
 
2632
2742
  screen = $( "<div>", {"class": "ui-selectmenu-screen ui-screen-hidden"})
2633
2743
  .appendTo( thisPage ),
@@ -2643,10 +2753,35 @@ $.widget( "mobile.selectmenu", $.mobile.widget, {
2643
2753
  "data-theme": theme
2644
2754
  })
2645
2755
  .appendTo( listbox ),
2646
-
2647
- menuType;
2648
2756
 
2649
- //expose to other methods
2757
+ header = $( "<div>", {
2758
+ "data-role": "header",
2759
+ "data-nobackbtn": true
2760
+ })
2761
+ .prependTo( listbox ),
2762
+
2763
+ headerTitle = $( "<h1>" )
2764
+ .appendTo( header ),
2765
+
2766
+ headerClose = $( "<a>", {
2767
+ "data-iconpos": "notext",
2768
+ "data-icon": "delete",
2769
+ "text": o.closeText,
2770
+ "href": "#"
2771
+ })
2772
+ .appendTo( header ),
2773
+
2774
+ menuType;
2775
+
2776
+ // add counter for multi selects
2777
+ if( isMultiple ){
2778
+ self.buttonCount = $('<span>')
2779
+ .addClass( 'ui-li-count ui-btn-up-c ui-btn-corner-all' )
2780
+ .hide()
2781
+ .appendTo( button );
2782
+ }
2783
+
2784
+ //expose to other methods
2650
2785
  $.extend(self, {
2651
2786
  select: select,
2652
2787
  selectID: selectID,
@@ -2660,15 +2795,18 @@ $.widget( "mobile.selectmenu", $.mobile.widget, {
2660
2795
  screen:screen,
2661
2796
  listbox:listbox,
2662
2797
  list:list,
2663
- menuType:menuType
2798
+ menuType:menuType,
2799
+ header:header,
2800
+ headerClose:headerClose,
2801
+ headerTitle:headerTitle,
2802
+ placeholder: ''
2664
2803
  });
2665
-
2666
2804
 
2667
2805
  //create list from select, update state
2668
2806
  self.refresh();
2669
2807
 
2670
2808
  //disable if specified
2671
- if( this.options.disabled ){ this.disable(); }
2809
+ if( o.disabled ){ this.disable(); }
2672
2810
 
2673
2811
  //events on native select
2674
2812
  select
@@ -2678,76 +2816,188 @@ $.widget( "mobile.selectmenu", $.mobile.widget, {
2678
2816
  .focus(function(){
2679
2817
  $(this).blur();
2680
2818
  button.focus();
2681
- });
2819
+ });
2682
2820
 
2683
2821
  //button events
2684
2822
  button.bind( $.support.touch ? "touchstart" : "click", function(event){
2685
2823
  self.open();
2686
- return false;
2824
+ event.preventDefault();
2687
2825
  });
2688
2826
 
2689
2827
  //events for list items
2690
- list.delegate("li",'click', function(){
2691
- //update select
2692
- var newIndex = list.find( "li" ).index( this ),
2693
- prevIndex = select[0].selectedIndex;
2694
-
2695
- select[0].selectedIndex = newIndex;
2696
-
2697
- //trigger change event
2698
- if(newIndex !== prevIndex){
2699
- select.trigger( "change" );
2700
- }
2701
-
2702
- self.refresh();
2703
-
2704
- //hide custom select
2828
+ list.delegate("li:not(.ui-disabled, .ui-li-divider)", "click", function(event){
2829
+
2830
+ // clicking on the list item fires click on the link in listview.js.
2831
+ // to prevent this handler from firing twice if the link isn't clicked on,
2832
+ // short circuit unless the target is the link
2833
+ if( !$(event.target).is("a") ){ return; }
2834
+
2835
+ // index of option tag to be selected
2836
+ var newIndex = list.find( "li:not(.ui-li-divider)" ).index( this ),
2837
+ option = options.eq( newIndex )[0];
2838
+
2839
+ // toggle selected status on the tag for multi selects
2840
+ option.selected = isMultiple ? !option.selected : true;
2841
+
2842
+ // toggle checkbox class for multiple selects
2843
+ if( isMultiple ){
2844
+ $(this)
2845
+ .find('.ui-icon')
2846
+ .toggleClass('ui-icon-checkbox-on', option.selected)
2847
+ .toggleClass('ui-icon-checkbox-off', !option.selected);
2848
+ }
2849
+
2850
+ // trigger change
2851
+ select.trigger( "change" );
2852
+
2853
+ //hide custom select for single selects only
2854
+ if( !isMultiple ){
2705
2855
  self.close();
2706
- return false;
2707
- });
2708
-
2709
- //events on "screen" overlay
2710
- screen.click(function(){
2856
+ }
2857
+
2858
+ event.preventDefault();
2859
+ });
2860
+
2861
+ //events on "screen" overlay + close button
2862
+ screen.add( headerClose ).add( menuPageClose ).click(function(event){
2711
2863
  self.close();
2712
- return false;
2713
- });
2864
+ event.preventDefault();
2865
+
2866
+ // if the dialog's close icon was clicked, prevent the dialog's close
2867
+ // handler from firing. selectmenu's should take precedence
2868
+ if( $.contains(menuPageClose[0], event.target) ){
2869
+ event.stopImmediatePropagation();
2870
+ }
2871
+ });
2714
2872
  },
2715
2873
 
2716
2874
  _buildList: function(){
2717
- var self = this;
2875
+ var self = this,
2876
+ optgroups = [],
2877
+ o = this.options,
2878
+ placeholder = this.placeholder;
2718
2879
 
2719
2880
  self.list.empty().filter('.ui-listview').listview('destroy');
2720
2881
 
2721
2882
  //populate menu with options from select element
2722
2883
  self.select.find( "option" ).each(function( i ){
2723
- var anchor = $("<a>", {
2724
- "role": "option",
2725
- "href": "#"
2726
- })
2727
- .text( $(this).text() );
2884
+ var $this = $(this),
2885
+ $parent = $this.parent(),
2886
+ text = $this.text();
2887
+
2888
+ // are we inside an optgroup?
2889
+ if( $parent.is("optgroup") ){
2890
+ var optLabel = $parent.attr("label");
2891
+
2892
+ // has this optgroup already been built yet?
2893
+ if( $.inArray(optLabel, optgroups) === -1 ){
2894
+ $("<li>", {
2895
+ "data-role":"list-divider",
2896
+ "text": optLabel
2897
+ }).appendTo( self.list );
2898
+
2899
+ optgroups.push( optLabel );
2900
+ }
2901
+ }
2902
+
2903
+ var anchor = $("<a>", {
2904
+ "role": "",
2905
+ "href": "#",
2906
+ "text": text
2907
+ }),
2908
+
2909
+ item = $( "<li>", { "data-icon": false });
2910
+
2911
+ if( !this.getAttribute('value') || text.length == 0 || $this.data('placeholder') ){
2912
+ if( o.hidePlaceholderMenuItems ){
2913
+ item.addClass('ui-selectmenu-placeholder');
2914
+ }
2915
+
2916
+ placeholder = self.placeholder = text;
2917
+ }
2918
+
2919
+ // multiple select defaults
2920
+ if( self.isMultiple ){
2921
+ item.data('icon', 'checkbox-off');
2922
+ }
2728
2923
 
2729
- $( "<li>", {"data-icon": "checkbox-on"})
2924
+ // support disabled option tags
2925
+ if( this.disabled ){
2926
+ item.addClass("ui-disabled")
2927
+ .attr("aria-disabled", true);
2928
+ }
2929
+
2930
+ item
2730
2931
  .append( anchor )
2731
2932
  .appendTo( self.list );
2732
2933
  });
2733
2934
 
2935
+ // hide header close link for single selects
2936
+ if( !this.isMultiple ){
2937
+ this.headerClose.hide();
2938
+ }
2939
+
2940
+ // hide header if it's not a multiselect and there's no placeholder
2941
+ if( !this.isMultiple && !placeholder.length ){
2942
+ this.header.hide();
2943
+ } else {
2944
+ this.headerTitle.text( this.placeholder );
2945
+ }
2946
+
2734
2947
  //now populated, create listview
2735
- self.list.listview();
2948
+ self.list.listview();
2736
2949
  },
2737
2950
 
2738
2951
  refresh: function( forceRebuild ){
2739
2952
  var self = this,
2740
2953
  select = this.element,
2741
- selected = select[0].selectedIndex;
2954
+ isMultiple = this.isMultiple,
2955
+ options = select.find("option"),
2956
+ selected = options.filter(":selected"),
2957
+
2958
+ // return an array of all selected index's
2959
+ indicies = selected.map(function(){
2960
+ return options.index( this );
2961
+ }).get();
2742
2962
 
2743
2963
  if( forceRebuild || select[0].options.length > self.list.find('li').length ){
2744
2964
  self._buildList();
2745
- }
2746
-
2747
- self.button.find( ".ui-btn-text" ).text( $(select[0].options.item(selected)).text() );
2965
+ }
2966
+
2967
+ self.button
2968
+ .find( ".ui-btn-text" )
2969
+ .text(function(){
2970
+ if( !isMultiple ){
2971
+ return selected.text();
2972
+ }
2973
+
2974
+ return selected.length ?
2975
+ selected.map(function(){ return $(this).text(); }).get().join(', ') :
2976
+ self.placeholder;
2977
+ });
2978
+
2979
+ // multiple count inside button
2980
+ if( isMultiple ){
2981
+ self.buttonCount[ selected.length > 1 ? 'show' : 'hide' ]().text( selected.length );
2982
+ }
2983
+
2748
2984
  self.list
2749
- .find('li').removeClass( $.mobile.activeBtnClass ).attr('aria-selected', false)
2750
- .eq(selected).addClass( $.mobile.activeBtnClass ).find('a').attr('aria-selected', true);
2985
+ .find( 'li:not(.ui-li-divider)' )
2986
+ .removeClass( $.mobile.activeBtnClass )
2987
+ .attr( 'aria-selected', false )
2988
+ .each(function( i ){
2989
+ if( $.inArray(i, indicies) > -1 ){
2990
+ var item = $(this).addClass( $.mobile.activeBtnClass );
2991
+
2992
+ // aria selected attr
2993
+ item.find( 'a' ).attr( 'aria-selected', true );
2994
+
2995
+ // multiple selects: add the "on" checkbox state to the icon
2996
+ if( isMultiple ){
2997
+ item.find('.ui-icon').removeClass('ui-icon-checkbox-off').addClass('ui-icon-checkbox-on');
2998
+ }
2999
+ }
3000
+ });
2751
3001
  },
2752
3002
 
2753
3003
  open: function(){
@@ -2812,6 +3062,7 @@ $.widget( "mobile.selectmenu", $.mobile.widget, {
2812
3062
  function focusButton(){
2813
3063
  setTimeout(function(){
2814
3064
  self.button.focus();
3065
+
2815
3066
  //remove active class from button
2816
3067
  self.button.removeClass( $.mobile.activeBtnClass );
2817
3068
  }, 40);
@@ -2819,12 +3070,9 @@ $.widget( "mobile.selectmenu", $.mobile.widget, {
2819
3070
  self.listbox.removeAttr('style').append( self.list );
2820
3071
  }
2821
3072
 
2822
- if(self.menuType == "page"){
3073
+ if(self.menuType == "page"){
2823
3074
  $.mobile.changePage([self.menuPage,self.thisPage], 'pop', true, false);
2824
- self.menuPage.one("pagehide",function(){
2825
- focusButton();
2826
- //return false;
2827
- });
3075
+ self.menuPage.one("pagehide", focusButton);
2828
3076
  }
2829
3077
  else{
2830
3078
  self.screen.addClass( "ui-screen-hidden" );
@@ -2934,7 +3182,7 @@ $.fn.buttonMarkup.defaults = {
2934
3182
  };
2935
3183
 
2936
3184
  var attachEvents = function() {
2937
- $(".ui-btn").live({
3185
+ $(".ui-btn:not(.ui-disabled)").live({
2938
3186
  mousedown: function() {
2939
3187
  var theme = $(this).attr( "data-theme" );
2940
3188
  $(this).removeClass( "ui-btn-up-" + theme ).addClass( "ui-btn-down-" + theme );
@@ -2978,27 +3226,11 @@ $.widget( "mobile.button", $.mobile.widget, {
2978
3226
  },
2979
3227
  _create: function(){
2980
3228
  var $el = this.element,
2981
- o = this.options,
2982
- type = $el.attr('type');
2983
- $el
2984
- .addClass('ui-btn-hidden')
2985
- .attr('tabindex','-1');
3229
+ o = this.options;
2986
3230
 
2987
3231
  //add ARIA role
2988
- this.button = $( "<a>", {
2989
- "href": "#",
2990
- "role": "button",
2991
- "aria-label": $el.attr( "type" )
2992
- } )
3232
+ this.button = $( "<div></div>" )
2993
3233
  .text( $el.text() || $el.val() )
2994
- .insertBefore( $el )
2995
- .click(function(){
2996
- if(!o.disabled){
2997
- $el.click();
2998
- }
2999
-
3000
- return false;
3001
- })
3002
3234
  .buttonMarkup({
3003
3235
  theme: o.theme,
3004
3236
  icon: o.icon,
@@ -3007,7 +3239,24 @@ $.widget( "mobile.button", $.mobile.widget, {
3007
3239
  corners: o.corners,
3008
3240
  shadow: o.shadow,
3009
3241
  iconshadow: o.iconshadow
3242
+ })
3243
+ .insertBefore( $el )
3244
+ .append( $el.addClass('ui-btn-hidden') );
3245
+
3246
+ //add hidden input during submit
3247
+ if( $el.attr('type') !== 'reset' ){
3248
+ $el.click(function(){
3249
+ var $buttonPlaceholder = $("<input>",
3250
+ {type: "hidden", name: $el.attr("name"), value: $el.attr("value")})
3251
+ .insertBefore($el);
3252
+
3253
+ //bind to doc to remove after submit handling
3254
+ $(document).submit(function(){
3255
+ $buttonPlaceholder.remove();
3256
+ });
3010
3257
  });
3258
+ }
3259
+
3011
3260
  },
3012
3261
 
3013
3262
  enable: function(){
@@ -3029,7 +3278,7 @@ $.widget( "mobile.button", $.mobile.widget, {
3029
3278
  * Copyright (c) jQuery Project
3030
3279
  * Dual licensed under the MIT or GPL Version 2 licenses.
3031
3280
  * http://jquery.org/license
3032
- */
3281
+ */
3033
3282
  (function($, undefined ) {
3034
3283
  $.widget( "mobile.slider", $.mobile.widget, {
3035
3284
  options: {
@@ -3037,19 +3286,19 @@ $.widget( "mobile.slider", $.mobile.widget, {
3037
3286
  trackTheme: null,
3038
3287
  disabled: false
3039
3288
  },
3040
- _create: function(){
3289
+ _create: function(){
3041
3290
  var self = this,
3042
3291
 
3043
3292
  control = this.element,
3044
-
3045
- parentTheme = control.parents('[class*=ui-bar-],[class*=ui-body-]').eq(0),
3046
-
3293
+
3294
+ parentTheme = control.parents('[class*=ui-bar-],[class*=ui-body-]').eq(0),
3295
+
3047
3296
  parentTheme = parentTheme.length ? parentTheme.attr('class').match(/ui-(bar|body)-([a-z])/)[2] : 'c',
3048
-
3297
+
3049
3298
  theme = this.options.theme ? this.options.theme : parentTheme,
3050
-
3299
+
3051
3300
  trackTheme = this.options.trackTheme ? this.options.trackTheme : parentTheme,
3052
-
3301
+
3053
3302
  cType = control[0].nodeName.toLowerCase(),
3054
3303
  selectClass = (cType == 'select') ? 'ui-slider-switch' : '',
3055
3304
  controlID = control.attr('id'),
@@ -3058,6 +3307,8 @@ $.widget( "mobile.slider", $.mobile.widget, {
3058
3307
  val = (cType == 'input') ? parseFloat(control.val()) : control[0].selectedIndex,
3059
3308
  min = (cType == 'input') ? parseFloat(control.attr('min')) : 0,
3060
3309
  max = (cType == 'input') ? parseFloat(control.attr('max')) : control.find('option').length-1,
3310
+ step = window.parseFloat(control.attr('data-step') || 1),
3311
+
3061
3312
  slider = $('<div class="ui-slider '+ selectClass +' ui-btn-down-'+ trackTheme+' ui-btn-corner-all" role="application"></div>'),
3062
3313
  handle = $('<a href="#" class="ui-slider-handle"></a>')
3063
3314
  .appendTo(slider)
@@ -3070,7 +3321,8 @@ $.widget( "mobile.slider", $.mobile.widget, {
3070
3321
  'aria-valuetext': val,
3071
3322
  'title': val,
3072
3323
  'aria-labelledby': labelID
3073
- });
3324
+ }),
3325
+ switchValues = {'off' : 0, 'on': 1};
3074
3326
 
3075
3327
  $.extend(this, {
3076
3328
  slider: slider,
@@ -3082,32 +3334,32 @@ $.widget( "mobile.slider", $.mobile.widget, {
3082
3334
  if(cType == 'select'){
3083
3335
  slider.wrapInner('<div class="ui-slider-inneroffset"></div>');
3084
3336
  var options = control.find('option');
3085
-
3337
+
3086
3338
  control.find('option').each(function(i){
3087
3339
  var side = (i==0) ?'b':'a',
3088
3340
  corners = (i==0) ? 'right' :'left',
3089
3341
  theme = (i==0) ? ' ui-btn-down-' + trackTheme :' ui-btn-active';
3090
- $('<div class="ui-slider-labelbg ui-slider-labelbg-'+ side + theme +' ui-btn-corner-'+ corners+'"></div>').prependTo(slider);
3342
+ $('<div class="ui-slider-labelbg ui-slider-labelbg-'+ side + theme +' ui-btn-corner-'+ corners+'"></div>').prependTo(slider);
3091
3343
  $('<span class="ui-slider-label ui-slider-label-'+ side + theme +' ui-btn-corner-'+ corners+'" role="img">'+$(this).text()+'</span>').prependTo(handle);
3092
3344
  });
3093
-
3094
- }
3095
-
3345
+
3346
+ }
3347
+
3096
3348
  label.addClass('ui-slider');
3097
-
3349
+
3098
3350
  control
3099
3351
  .addClass((cType == 'input') ? 'ui-slider-input' : 'ui-slider-switch')
3100
3352
  .keyup(function(){
3101
3353
  self.refresh( $(this).val() );
3102
3354
  });
3103
-
3355
+
3104
3356
  $(document).bind($.support.touch ? "touchmove" : "mousemove", function(event){
3105
3357
  if ( self.dragging ) {
3106
3358
  self.refresh( event );
3107
3359
  return false;
3108
3360
  }
3109
3361
  });
3110
-
3362
+
3111
3363
  slider
3112
3364
  .bind($.support.touch ? "touchstart" : "mousedown", function(event){
3113
3365
  self.dragging = true;
@@ -3117,9 +3369,9 @@ $.widget( "mobile.slider", $.mobile.widget, {
3117
3369
  self.refresh( event );
3118
3370
  return false;
3119
3371
  });
3120
-
3372
+
3121
3373
  slider
3122
- .add(document)
3374
+ .add(document)
3123
3375
  .bind($.support.touch ? "touchend" : "mouseup", function(){
3124
3376
  if ( self.dragging ) {
3125
3377
  self.dragging = false;
@@ -3142,7 +3394,75 @@ $.widget( "mobile.slider", $.mobile.widget, {
3142
3394
  });
3143
3395
 
3144
3396
  slider.insertAfter(control);
3145
- handle.bind('click', function(e){ return false; });
3397
+
3398
+ // NOTE force focus on handle
3399
+ this.handle
3400
+ .bind($.support.touch ? "touchstart" : "mousedown", function(){
3401
+ $(this).focus();
3402
+ });
3403
+
3404
+ this.handle
3405
+ .bind('keydown', function( event ) {
3406
+ var valuenow = $( this ).attr( "aria-valuenow" ),
3407
+ index;
3408
+
3409
+ if ( self.options.disabled ) {
3410
+ return;
3411
+ }
3412
+
3413
+ // convert switch values to slider
3414
+ if(valuenow.match(/off|on/)){
3415
+ valuenow = switchValues[valuenow];
3416
+ }
3417
+
3418
+ index = window.parseFloat(valuenow, 10);
3419
+
3420
+ // In all cases prevent the default and mark the handle as active
3421
+ switch ( event.keyCode ) {
3422
+ case $.mobile.keyCode.HOME:
3423
+ case $.mobile.keyCode.END:
3424
+ case $.mobile.keyCode.PAGE_UP:
3425
+ case $.mobile.keyCode.PAGE_DOWN:
3426
+ case $.mobile.keyCode.UP:
3427
+ case $.mobile.keyCode.RIGHT:
3428
+ case $.mobile.keyCode.DOWN:
3429
+ case $.mobile.keyCode.LEFT:
3430
+ event.preventDefault();
3431
+
3432
+ if ( !self._keySliding ) {
3433
+ self._keySliding = true;
3434
+ $( this ).addClass( "ui-state-active" );
3435
+ }
3436
+ break;
3437
+ }
3438
+
3439
+ // move the slider according to the keypress
3440
+ switch ( event.keyCode ) {
3441
+ case $.mobile.keyCode.HOME:
3442
+ self.refresh(min);
3443
+ break;
3444
+ case $.mobile.keyCode.END:
3445
+ self.refresh(max);
3446
+ break;
3447
+ case $.mobile.keyCode.PAGE_UP:
3448
+ case $.mobile.keyCode.UP:
3449
+ case $.mobile.keyCode.RIGHT:
3450
+ self.refresh(index + step);
3451
+ break;
3452
+ case $.mobile.keyCode.PAGE_DOWN:
3453
+ case $.mobile.keyCode.DOWN:
3454
+ case $.mobile.keyCode.LEFT:
3455
+ self.refresh(index - step);
3456
+ break;
3457
+ }
3458
+ }) // remove active mark
3459
+ .keyup(function( event ) {
3460
+ if ( self._keySliding ) {
3461
+ self._keySliding = false;
3462
+ $( this ).removeClass( "ui-state-active" );
3463
+ }
3464
+ });
3465
+
3146
3466
  this.refresh();
3147
3467
  },
3148
3468
 
@@ -3181,7 +3501,7 @@ $.widget( "mobile.slider", $.mobile.widget, {
3181
3501
 
3182
3502
  //flip the stack of the bg colors
3183
3503
  if ( percent > 60 && cType === "select" ) {
3184
-
3504
+
3185
3505
  }
3186
3506
  this.handle.css("left", percent + "%");
3187
3507
  this.handle.attr({
@@ -3223,7 +3543,7 @@ $.widget( "mobile.slider", $.mobile.widget, {
3223
3543
  }
3224
3544
  });
3225
3545
  })( jQuery );
3226
-
3546
+
3227
3547
 
3228
3548
 
3229
3549
  /*
@@ -3612,13 +3932,15 @@ $.widget( "mobile.listview", $.mobile.widget, {
3612
3932
  var a = item.find( "a" );
3613
3933
 
3614
3934
  if ( a.length ) {
3935
+ var icon = item.data("icon");
3936
+
3615
3937
  item
3616
3938
  .buttonMarkup({
3617
3939
  wrapperEls: "div",
3618
3940
  shadow: false,
3619
3941
  corners: false,
3620
3942
  iconpos: "right",
3621
- icon: a.length > 1 ? false : item.data("icon") || "arrow-r",
3943
+ icon: a.length > 1 || icon === false ? false : icon || "arrow-r",
3622
3944
  theme: o.theme
3623
3945
  });
3624
3946
 
@@ -3676,8 +3998,9 @@ $.widget( "mobile.listview", $.mobile.widget, {
3676
3998
  .end()
3677
3999
  .find( ".ui-li-thumb" )
3678
4000
  .addClass( "ui-corner-tl" );
3679
-
3680
- self._removeCorners( item.next() );
4001
+ if(item.next().next().length){
4002
+ self._removeCorners( item.next() );
4003
+ }
3681
4004
 
3682
4005
  } else if ( pos === li.length - 1 ) {
3683
4006
  itemClass += " ui-corner-bottom";
@@ -3690,7 +4013,9 @@ $.widget( "mobile.listview", $.mobile.widget, {
3690
4013
  .find( ".ui-li-thumb" )
3691
4014
  .addClass( "ui-corner-bl" );
3692
4015
 
3693
- self._removeCorners( item.prev() );
4016
+ if(item.prev().prev().length){
4017
+ self._removeCorners( item.prev() );
4018
+ }
3694
4019
  }
3695
4020
  }
3696
4021
 
@@ -3718,7 +4043,7 @@ $.widget( "mobile.listview", $.mobile.widget, {
3718
4043
  _createSubPages: function() {
3719
4044
  var parentList = this.element,
3720
4045
  parentPage = parentList.closest( ".ui-page" ),
3721
- parentId = parentPage.attr( "id" ),
4046
+ parentId = parentPage.data( "url" ),
3722
4047
  o = this.options,
3723
4048
  self = this,
3724
4049
  persistentFooterID = parentPage.find( "[data-role='footer']" ).data( "id" );
@@ -3726,7 +4051,7 @@ $.widget( "mobile.listview", $.mobile.widget, {
3726
4051
  $( parentList.find( "ul, ol" ).toArray().reverse() ).each(function( i ) {
3727
4052
  var list = $( this ),
3728
4053
  parent = list.parent(),
3729
- title = parent.contents()[ 0 ].nodeValue.split("\n")[0],
4054
+ title = $.trim(parent.contents()[ 0 ].nodeValue.split("\n")[0]) || parent.find('a:first').text(),
3730
4055
  id = parentId + "&" + $.mobile.subPageUrlKey + "=" + self._idStringEscape(title + " " + i),
3731
4056
  theme = list.data( "theme" ) || o.theme,
3732
4057
  countTheme = list.data( "counttheme" ) || parentList.data( "counttheme" ) || o.countTheme,
@@ -3736,7 +4061,7 @@ $.widget( "mobile.listview", $.mobile.widget, {
3736
4061
  .after( persistentFooterID ? $( "<div>", { "data-role": "footer", "data-id": persistentFooterID, "class": "ui-footer-duplicate" } ) : "" )
3737
4062
  .parent()
3738
4063
  .attr({
3739
- id: id,
4064
+ "data-url": id,
3740
4065
  "data-theme": theme,
3741
4066
  "data-count-theme": countTheme
3742
4067
  })
@@ -3745,8 +4070,11 @@ $.widget( "mobile.listview", $.mobile.widget, {
3745
4070
 
3746
4071
 
3747
4072
  newPage.page();
3748
-
3749
- parent.html( "<a href='#" + id + "'>" + title + "</a>" );
4073
+ var anchor = parent.find('a:first');
4074
+ if (!anchor.length) {
4075
+ anchor = $("<a></a>").html(title).prependTo(parent.empty());
4076
+ }
4077
+ anchor.attr('href','#' + id);
3750
4078
  }).listview();
3751
4079
  }
3752
4080
  });
@@ -3843,7 +4171,7 @@ $.widget( "mobile.dialog", $.mobile.widget, {
3843
4171
  if( $el.is('.ui-page-active') ){
3844
4172
  self.close();
3845
4173
  $el.bind('pagehide',function(){
3846
- $.mobile.updateHash( $prevPage.attr('id'), true);
4174
+ $.mobile.updateHash( $prevPage.attr('data-url'), true);
3847
4175
  });
3848
4176
  }
3849
4177
  });
@@ -3952,13 +4280,14 @@ $.fn.grid = function(options){
3952
4280
  //quick & dirty theme switcher, written to potentially work as a bookmarklet
3953
4281
  (function($){
3954
4282
  $.themeswitcher = function(){
4283
+ if( $('[data-url=themeswitcher]').length ){ return; }
3955
4284
  var
3956
4285
  themesDir = '/stylesheets/compiled/jquery/mobile/',
3957
4286
  //themesDir = 'http://jquerymobile.com/test/themes/',themesDir = 'http://jquerymobile.com/test/themes/',
3958
4287
  themes = ['default','valencia'],
3959
4288
  currentPage = $.mobile.activePage,
3960
4289
  menuPage = $(
3961
- '<div data-role=\'dialog\' data-theme=\'a\'>' +
4290
+ '<div data-url="themeswitcher" data-role=\'dialog\' data-theme=\'a\'>' +
3962
4291
  '<div data-role=\'header\' data-theme=\'b\'>' +
3963
4292
  '<div class=\'ui-title\'>Switch Theme:</div>'+
3964
4293
  '</div>'+
@@ -3972,6 +4301,7 @@ $.fn.grid = function(options){
3972
4301
  $('<li><a href=\'#\'>' + themes[ i ].charAt(0).toUpperCase() + themes[ i ].substr(1) + '</a></li>')
3973
4302
  .click(function(){
3974
4303
  addTheme( themes[i] );
4304
+ menuPage.dialog('close');
3975
4305
  })
3976
4306
  .appendTo(menu);
3977
4307
  });
@@ -3983,8 +4313,5 @@ $.fn.grid = function(options){
3983
4313
 
3984
4314
  //create page, listview
3985
4315
  menuPage.page();
3986
-
3987
- //change page now
3988
- $.mobile.changePage([currentPage, menuPage], 'pop', false);
3989
4316
  };
3990
4317
  })(jQuery);