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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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);