yui-rails-asset 2.8.1

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 (398) hide show
  1. data/LICENSE +21 -0
  2. data/README +17 -0
  3. data/lib/yui/rails.rb +29 -0
  4. data/lib/yui/rails/engine.rb +10 -0
  5. data/lib/yui/rails/version.rb +6 -0
  6. data/vendor/assets/javascripts/yui-2.8.1/build/animation/animation-debug.js +1396 -0
  7. data/vendor/assets/javascripts/yui-2.8.1/build/animation/animation-min.js +23 -0
  8. data/vendor/assets/javascripts/yui-2.8.1/build/animation/animation.js +1392 -0
  9. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/ajax-loader.gif +0 -0
  10. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/asc.gif +0 -0
  11. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/autocomplete.css +7 -0
  12. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/back-h.png +0 -0
  13. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/back-v.png +0 -0
  14. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/bar-h.png +0 -0
  15. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/bar-v.png +0 -0
  16. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/bg-h.gif +0 -0
  17. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/bg-v.gif +0 -0
  18. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/blankimage.png +0 -0
  19. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/button.css +7 -0
  20. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/calendar.css +8 -0
  21. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/carousel.css +7 -0
  22. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/check0.gif +0 -0
  23. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/check1.gif +0 -0
  24. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/check2.gif +0 -0
  25. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/colorpicker.css +7 -0
  26. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/container.css +7 -0
  27. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/datatable.css +8 -0
  28. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/desc.gif +0 -0
  29. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/dt-arrow-dn.png +0 -0
  30. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/dt-arrow-up.png +0 -0
  31. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/editor-knob.gif +0 -0
  32. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/editor-sprite-active.gif +0 -0
  33. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/editor-sprite.gif +0 -0
  34. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/editor.css +10 -0
  35. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/header_background.png +0 -0
  36. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/hue_bg.png +0 -0
  37. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/imagecropper.css +7 -0
  38. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/layout.css +7 -0
  39. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/layout_sprite.png +0 -0
  40. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/loading.gif +0 -0
  41. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/logger.css +7 -0
  42. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/menu-button-arrow-disabled.png +0 -0
  43. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/menu-button-arrow.png +0 -0
  44. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/menu.css +7 -0
  45. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/menubaritem_submenuindicator.png +0 -0
  46. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/menubaritem_submenuindicator_disabled.png +0 -0
  47. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/menuitem_checkbox.png +0 -0
  48. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/menuitem_checkbox_disabled.png +0 -0
  49. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/menuitem_submenuindicator.png +0 -0
  50. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/menuitem_submenuindicator_disabled.png +0 -0
  51. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/paginator.css +7 -0
  52. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/picker_mask.png +0 -0
  53. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/profilerviewer.css +7 -0
  54. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/progressbar.css +7 -0
  55. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/resize.css +7 -0
  56. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/simpleeditor.css +10 -0
  57. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/skin.css +36 -0
  58. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/slider.css +7 -0
  59. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/split-button-arrow-active.png +0 -0
  60. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/split-button-arrow-disabled.png +0 -0
  61. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/split-button-arrow-focus.png +0 -0
  62. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/split-button-arrow-hover.png +0 -0
  63. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/split-button-arrow.png +0 -0
  64. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/sprite.png +0 -0
  65. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/sprite.psd +0 -0
  66. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/tabview.css +8 -0
  67. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/treeview-loading.gif +0 -0
  68. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/treeview-sprite.gif +0 -0
  69. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/treeview.css +7 -0
  70. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/wait.gif +0 -0
  71. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/yuitest.css +7 -0
  72. data/vendor/assets/javascripts/yui-2.8.1/build/autocomplete/assets/autocomplete-core.css +7 -0
  73. data/vendor/assets/javascripts/yui-2.8.1/build/autocomplete/assets/skins/sam/autocomplete-skin.css +57 -0
  74. data/vendor/assets/javascripts/yui-2.8.1/build/autocomplete/assets/skins/sam/autocomplete.css +7 -0
  75. data/vendor/assets/javascripts/yui-2.8.1/build/autocomplete/autocomplete-debug.js +3009 -0
  76. data/vendor/assets/javascripts/yui-2.8.1/build/autocomplete/autocomplete-min.js +12 -0
  77. data/vendor/assets/javascripts/yui-2.8.1/build/autocomplete/autocomplete.js +2966 -0
  78. data/vendor/assets/javascripts/yui-2.8.1/build/base/base-min.css +7 -0
  79. data/vendor/assets/javascripts/yui-2.8.1/build/base/base.css +131 -0
  80. data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/button-core.css +44 -0
  81. data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/skins/sam/button-skin.css +219 -0
  82. data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/skins/sam/button.css +7 -0
  83. data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/skins/sam/menu-button-arrow-disabled.png +0 -0
  84. data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/skins/sam/menu-button-arrow.png +0 -0
  85. data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/skins/sam/split-button-arrow-active.png +0 -0
  86. data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/skins/sam/split-button-arrow-disabled.png +0 -0
  87. data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/skins/sam/split-button-arrow-focus.png +0 -0
  88. data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/skins/sam/split-button-arrow-hover.png +0 -0
  89. data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/skins/sam/split-button-arrow.png +0 -0
  90. data/vendor/assets/javascripts/yui-2.8.1/build/button/button-debug.js +4694 -0
  91. data/vendor/assets/javascripts/yui-2.8.1/build/button/button-min.js +11 -0
  92. data/vendor/assets/javascripts/yui-2.8.1/build/button/button.js +4633 -0
  93. data/vendor/assets/javascripts/yui-2.8.1/build/calendar/assets/calendar-core.css +132 -0
  94. data/vendor/assets/javascripts/yui-2.8.1/build/calendar/assets/calendar.css +320 -0
  95. data/vendor/assets/javascripts/yui-2.8.1/build/calendar/assets/calgrad.png +0 -0
  96. data/vendor/assets/javascripts/yui-2.8.1/build/calendar/assets/callt.gif +0 -0
  97. data/vendor/assets/javascripts/yui-2.8.1/build/calendar/assets/calrt.gif +0 -0
  98. data/vendor/assets/javascripts/yui-2.8.1/build/calendar/assets/calx.gif +0 -0
  99. data/vendor/assets/javascripts/yui-2.8.1/build/calendar/assets/skins/sam/calendar-skin.css +361 -0
  100. data/vendor/assets/javascripts/yui-2.8.1/build/calendar/assets/skins/sam/calendar.css +8 -0
  101. data/vendor/assets/javascripts/yui-2.8.1/build/calendar/calendar-debug.js +7324 -0
  102. data/vendor/assets/javascripts/yui-2.8.1/build/calendar/calendar-min.js +18 -0
  103. data/vendor/assets/javascripts/yui-2.8.1/build/calendar/calendar.js +7294 -0
  104. data/vendor/assets/javascripts/yui-2.8.1/build/carousel/assets/ajax-loader.gif +0 -0
  105. data/vendor/assets/javascripts/yui-2.8.1/build/carousel/assets/carousel-core.css +88 -0
  106. data/vendor/assets/javascripts/yui-2.8.1/build/carousel/assets/skins/sam/ajax-loader.gif +0 -0
  107. data/vendor/assets/javascripts/yui-2.8.1/build/carousel/assets/skins/sam/carousel-skin.css +142 -0
  108. data/vendor/assets/javascripts/yui-2.8.1/build/carousel/assets/skins/sam/carousel.css +7 -0
  109. data/vendor/assets/javascripts/yui-2.8.1/build/carousel/carousel-debug.js +4390 -0
  110. data/vendor/assets/javascripts/yui-2.8.1/build/carousel/carousel-min.js +12 -0
  111. data/vendor/assets/javascripts/yui-2.8.1/build/carousel/carousel.js +4349 -0
  112. data/vendor/assets/javascripts/yui-2.8.1/build/charts/assets/charts.swf +0 -0
  113. data/vendor/assets/javascripts/yui-2.8.1/build/charts/charts-debug.js +2061 -0
  114. data/vendor/assets/javascripts/yui-2.8.1/build/charts/charts-min.js +9 -0
  115. data/vendor/assets/javascripts/yui-2.8.1/build/charts/charts.js +2060 -0
  116. data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/assets/colorpicker-core.css +6 -0
  117. data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/assets/hue_thumb.png +0 -0
  118. data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/assets/picker_mask.png +0 -0
  119. data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/assets/picker_thumb.png +0 -0
  120. data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/assets/skins/sam/colorpicker-skin.css +105 -0
  121. data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/assets/skins/sam/colorpicker.css +7 -0
  122. data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/assets/skins/sam/hue_bg.png +0 -0
  123. data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/assets/skins/sam/picker_mask.png +0 -0
  124. data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/colorpicker-debug.js +1783 -0
  125. data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/colorpicker-min.js +9 -0
  126. data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/colorpicker.js +1763 -0
  127. data/vendor/assets/javascripts/yui-2.8.1/build/connection/connection-debug.js +1576 -0
  128. data/vendor/assets/javascripts/yui-2.8.1/build/connection/connection-min.js +9 -0
  129. data/vendor/assets/javascripts/yui-2.8.1/build/connection/connection.js +1546 -0
  130. data/vendor/assets/javascripts/yui-2.8.1/build/connection/connection.swf +0 -0
  131. data/vendor/assets/javascripts/yui-2.8.1/build/connection/connection_core-debug.js +980 -0
  132. data/vendor/assets/javascripts/yui-2.8.1/build/connection/connection_core-min.js +8 -0
  133. data/vendor/assets/javascripts/yui-2.8.1/build/connection/connection_core.js +957 -0
  134. data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/alrt16_1.gif +0 -0
  135. data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/blck16_1.gif +0 -0
  136. data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/close12_1.gif +0 -0
  137. data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/container-core.css +176 -0
  138. data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/container.css +324 -0
  139. data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/hlp16_1.gif +0 -0
  140. data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/info16_1.gif +0 -0
  141. data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/skins/sam/container-skin.css +242 -0
  142. data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/skins/sam/container.css +7 -0
  143. data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/tip16_1.gif +0 -0
  144. data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/warn16_1.gif +0 -0
  145. data/vendor/assets/javascripts/yui-2.8.1/build/container/container-debug.js +9076 -0
  146. data/vendor/assets/javascripts/yui-2.8.1/build/container/container-min.js +19 -0
  147. data/vendor/assets/javascripts/yui-2.8.1/build/container/container.js +9052 -0
  148. data/vendor/assets/javascripts/yui-2.8.1/build/container/container_core-debug.js +5136 -0
  149. data/vendor/assets/javascripts/yui-2.8.1/build/container/container_core-min.js +14 -0
  150. data/vendor/assets/javascripts/yui-2.8.1/build/container/container_core.js +5126 -0
  151. data/vendor/assets/javascripts/yui-2.8.1/build/cookie/cookie-debug.js +482 -0
  152. data/vendor/assets/javascripts/yui-2.8.1/build/cookie/cookie-min.js +7 -0
  153. data/vendor/assets/javascripts/yui-2.8.1/build/cookie/cookie.js +482 -0
  154. data/vendor/assets/javascripts/yui-2.8.1/build/datasource/datasource-debug.js +3067 -0
  155. data/vendor/assets/javascripts/yui-2.8.1/build/datasource/datasource-min.js +12 -0
  156. data/vendor/assets/javascripts/yui-2.8.1/build/datasource/datasource.js +2996 -0
  157. data/vendor/assets/javascripts/yui-2.8.1/build/datatable/assets/datatable-core.css +93 -0
  158. data/vendor/assets/javascripts/yui-2.8.1/build/datatable/assets/datatable.css +49 -0
  159. data/vendor/assets/javascripts/yui-2.8.1/build/datatable/assets/skins/sam/datatable-skin.css +240 -0
  160. data/vendor/assets/javascripts/yui-2.8.1/build/datatable/assets/skins/sam/datatable.css +8 -0
  161. data/vendor/assets/javascripts/yui-2.8.1/build/datatable/assets/skins/sam/dt-arrow-dn.png +0 -0
  162. data/vendor/assets/javascripts/yui-2.8.1/build/datatable/assets/skins/sam/dt-arrow-up.png +0 -0
  163. data/vendor/assets/javascripts/yui-2.8.1/build/datatable/datatable-debug.js +17360 -0
  164. data/vendor/assets/javascripts/yui-2.8.1/build/datatable/datatable-min.js +29 -0
  165. data/vendor/assets/javascripts/yui-2.8.1/build/datatable/datatable.js +17122 -0
  166. data/vendor/assets/javascripts/yui-2.8.1/build/datemath/datemath-debug.js +408 -0
  167. data/vendor/assets/javascripts/yui-2.8.1/build/datemath/datemath-min.js +7 -0
  168. data/vendor/assets/javascripts/yui-2.8.1/build/datemath/datemath.js +408 -0
  169. data/vendor/assets/javascripts/yui-2.8.1/build/dom/dom-debug.js +1872 -0
  170. data/vendor/assets/javascripts/yui-2.8.1/build/dom/dom-min.js +9 -0
  171. data/vendor/assets/javascripts/yui-2.8.1/build/dom/dom.js +1832 -0
  172. data/vendor/assets/javascripts/yui-2.8.1/build/dragdrop/dragdrop-debug.js +3710 -0
  173. data/vendor/assets/javascripts/yui-2.8.1/build/dragdrop/dragdrop-min.js +10 -0
  174. data/vendor/assets/javascripts/yui-2.8.1/build/dragdrop/dragdrop.js +3601 -0
  175. data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/editor-core.css +602 -0
  176. data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/simpleeditor-core.css +602 -0
  177. data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/skins/sam/blankimage.png +0 -0
  178. data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/skins/sam/editor-knob.gif +0 -0
  179. data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/skins/sam/editor-skin.css +711 -0
  180. data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/skins/sam/editor-sprite-active.gif +0 -0
  181. data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/skins/sam/editor-sprite.gif +0 -0
  182. data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/skins/sam/editor.css +10 -0
  183. data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/skins/sam/simpleeditor-skin.css +711 -0
  184. data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/skins/sam/simpleeditor.css +10 -0
  185. data/vendor/assets/javascripts/yui-2.8.1/build/editor/editor-debug.js +9557 -0
  186. data/vendor/assets/javascripts/yui-2.8.1/build/editor/editor-min.js +30 -0
  187. data/vendor/assets/javascripts/yui-2.8.1/build/editor/editor.js +9447 -0
  188. data/vendor/assets/javascripts/yui-2.8.1/build/editor/simpleeditor-debug.js +7493 -0
  189. data/vendor/assets/javascripts/yui-2.8.1/build/editor/simpleeditor-min.js +24 -0
  190. data/vendor/assets/javascripts/yui-2.8.1/build/editor/simpleeditor.js +7406 -0
  191. data/vendor/assets/javascripts/yui-2.8.1/build/element-delegate/element-delegate-debug.js +141 -0
  192. data/vendor/assets/javascripts/yui-2.8.1/build/element-delegate/element-delegate-min.js +7 -0
  193. data/vendor/assets/javascripts/yui-2.8.1/build/element-delegate/element-delegate.js +138 -0
  194. data/vendor/assets/javascripts/yui-2.8.1/build/element/element-debug.js +1106 -0
  195. data/vendor/assets/javascripts/yui-2.8.1/build/element/element-min.js +8 -0
  196. data/vendor/assets/javascripts/yui-2.8.1/build/element/element.js +1090 -0
  197. data/vendor/assets/javascripts/yui-2.8.1/build/event-delegate/event-delegate-debug.js +283 -0
  198. data/vendor/assets/javascripts/yui-2.8.1/build/event-delegate/event-delegate-min.js +7 -0
  199. data/vendor/assets/javascripts/yui-2.8.1/build/event-delegate/event-delegate.js +281 -0
  200. data/vendor/assets/javascripts/yui-2.8.1/build/event-mouseenter/event-mouseenter-debug.js +219 -0
  201. data/vendor/assets/javascripts/yui-2.8.1/build/event-mouseenter/event-mouseenter-min.js +7 -0
  202. data/vendor/assets/javascripts/yui-2.8.1/build/event-mouseenter/event-mouseenter.js +219 -0
  203. data/vendor/assets/javascripts/yui-2.8.1/build/event-simulate/event-simulate-debug.js +622 -0
  204. data/vendor/assets/javascripts/yui-2.8.1/build/event-simulate/event-simulate-min.js +7 -0
  205. data/vendor/assets/javascripts/yui-2.8.1/build/event-simulate/event-simulate.js +622 -0
  206. data/vendor/assets/javascripts/yui-2.8.1/build/event/event-debug.js +2524 -0
  207. data/vendor/assets/javascripts/yui-2.8.1/build/event/event-min.js +11 -0
  208. data/vendor/assets/javascripts/yui-2.8.1/build/event/event.js +2500 -0
  209. data/vendor/assets/javascripts/yui-2.8.1/build/fonts/fonts-min.css +7 -0
  210. data/vendor/assets/javascripts/yui-2.8.1/build/fonts/fonts.css +56 -0
  211. data/vendor/assets/javascripts/yui-2.8.1/build/get/get-debug.js +773 -0
  212. data/vendor/assets/javascripts/yui-2.8.1/build/get/get-min.js +7 -0
  213. data/vendor/assets/javascripts/yui-2.8.1/build/get/get.js +755 -0
  214. data/vendor/assets/javascripts/yui-2.8.1/build/grids/grids-min.css +7 -0
  215. data/vendor/assets/javascripts/yui-2.8.1/build/grids/grids.css +467 -0
  216. data/vendor/assets/javascripts/yui-2.8.1/build/history/assets/blank.html +1 -0
  217. data/vendor/assets/javascripts/yui-2.8.1/build/history/history-debug.js +808 -0
  218. data/vendor/assets/javascripts/yui-2.8.1/build/history/history-min.js +7 -0
  219. data/vendor/assets/javascripts/yui-2.8.1/build/history/history.js +808 -0
  220. data/vendor/assets/javascripts/yui-2.8.1/build/imagecropper/assets/imagecropper-core.css +33 -0
  221. data/vendor/assets/javascripts/yui-2.8.1/build/imagecropper/assets/skins/sam/imagecropper-skin.css +16 -0
  222. data/vendor/assets/javascripts/yui-2.8.1/build/imagecropper/assets/skins/sam/imagecropper.css +7 -0
  223. data/vendor/assets/javascripts/yui-2.8.1/build/imagecropper/imagecropper-debug.js +907 -0
  224. data/vendor/assets/javascripts/yui-2.8.1/build/imagecropper/imagecropper-min.js +8 -0
  225. data/vendor/assets/javascripts/yui-2.8.1/build/imagecropper/imagecropper.js +889 -0
  226. data/vendor/assets/javascripts/yui-2.8.1/build/imageloader/imageloader-debug.js +487 -0
  227. data/vendor/assets/javascripts/yui-2.8.1/build/imageloader/imageloader-min.js +7 -0
  228. data/vendor/assets/javascripts/yui-2.8.1/build/imageloader/imageloader.js +481 -0
  229. data/vendor/assets/javascripts/yui-2.8.1/build/json/json-debug.js +538 -0
  230. data/vendor/assets/javascripts/yui-2.8.1/build/json/json-min.js +7 -0
  231. data/vendor/assets/javascripts/yui-2.8.1/build/json/json.js +538 -0
  232. data/vendor/assets/javascripts/yui-2.8.1/build/layout/assets/layout-core.css +158 -0
  233. data/vendor/assets/javascripts/yui-2.8.1/build/layout/assets/skins/sam/layout-skin.css +207 -0
  234. data/vendor/assets/javascripts/yui-2.8.1/build/layout/assets/skins/sam/layout.css +7 -0
  235. data/vendor/assets/javascripts/yui-2.8.1/build/layout/assets/skins/sam/layout_sprite.png +0 -0
  236. data/vendor/assets/javascripts/yui-2.8.1/build/layout/layout-debug.js +2305 -0
  237. data/vendor/assets/javascripts/yui-2.8.1/build/layout/layout-min.js +11 -0
  238. data/vendor/assets/javascripts/yui-2.8.1/build/layout/layout.js +2290 -0
  239. data/vendor/assets/javascripts/yui-2.8.1/build/logger/assets/logger-core.css +7 -0
  240. data/vendor/assets/javascripts/yui-2.8.1/build/logger/assets/logger.css +57 -0
  241. data/vendor/assets/javascripts/yui-2.8.1/build/logger/assets/skins/sam/logger-skin.css +55 -0
  242. data/vendor/assets/javascripts/yui-2.8.1/build/logger/assets/skins/sam/logger.css +7 -0
  243. data/vendor/assets/javascripts/yui-2.8.1/build/logger/logger-debug.js +2104 -0
  244. data/vendor/assets/javascripts/yui-2.8.1/build/logger/logger-min.js +9 -0
  245. data/vendor/assets/javascripts/yui-2.8.1/build/logger/logger.js +2104 -0
  246. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menu-core.css +242 -0
  247. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menu.css +503 -0
  248. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menu_down_arrow.png +0 -0
  249. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menu_down_arrow_disabled.png +0 -0
  250. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menu_up_arrow.png +0 -0
  251. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menu_up_arrow_disabled.png +0 -0
  252. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menubaritem_submenuindicator.png +0 -0
  253. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menubaritem_submenuindicator_disabled.png +0 -0
  254. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menubaritem_submenuindicator_selected.png +0 -0
  255. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menuitem_checkbox.png +0 -0
  256. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menuitem_checkbox_disabled.png +0 -0
  257. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menuitem_checkbox_selected.png +0 -0
  258. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menuitem_submenuindicator.png +0 -0
  259. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menuitem_submenuindicator_disabled.png +0 -0
  260. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menuitem_submenuindicator_selected.png +0 -0
  261. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/skins/sam/menu-skin.css +339 -0
  262. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/skins/sam/menu.css +7 -0
  263. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/skins/sam/menubaritem_submenuindicator.png +0 -0
  264. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/skins/sam/menubaritem_submenuindicator_disabled.png +0 -0
  265. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/skins/sam/menuitem_checkbox.png +0 -0
  266. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/skins/sam/menuitem_checkbox_disabled.png +0 -0
  267. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/skins/sam/menuitem_submenuindicator.png +0 -0
  268. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/skins/sam/menuitem_submenuindicator_disabled.png +0 -0
  269. data/vendor/assets/javascripts/yui-2.8.1/build/menu/menu-debug.js +9870 -0
  270. data/vendor/assets/javascripts/yui-2.8.1/build/menu/menu-min.js +16 -0
  271. data/vendor/assets/javascripts/yui-2.8.1/build/menu/menu.js +9823 -0
  272. data/vendor/assets/javascripts/yui-2.8.1/build/paginator/assets/paginator-core.css +6 -0
  273. data/vendor/assets/javascripts/yui-2.8.1/build/paginator/assets/skins/sam/paginator-skin.css +78 -0
  274. data/vendor/assets/javascripts/yui-2.8.1/build/paginator/assets/skins/sam/paginator.css +7 -0
  275. data/vendor/assets/javascripts/yui-2.8.1/build/paginator/paginator-debug.js +2393 -0
  276. data/vendor/assets/javascripts/yui-2.8.1/build/paginator/paginator-min.js +10 -0
  277. data/vendor/assets/javascripts/yui-2.8.1/build/paginator/paginator.js +2393 -0
  278. data/vendor/assets/javascripts/yui-2.8.1/build/profiler/profiler-debug.js +557 -0
  279. data/vendor/assets/javascripts/yui-2.8.1/build/profiler/profiler-min.js +7 -0
  280. data/vendor/assets/javascripts/yui-2.8.1/build/profiler/profiler.js +557 -0
  281. data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/assets/profilerviewer-core.css +6 -0
  282. data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/assets/skins/sam/asc.gif +0 -0
  283. data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/assets/skins/sam/desc.gif +0 -0
  284. data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/assets/skins/sam/header_background.png +0 -0
  285. data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/assets/skins/sam/profilerviewer-skin.css +167 -0
  286. data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/assets/skins/sam/profilerviewer.css +7 -0
  287. data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/assets/skins/sam/wait.gif +0 -0
  288. data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/profilerviewer-debug.js +1229 -0
  289. data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/profilerviewer-min.js +9 -0
  290. data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/profilerviewer.js +1192 -0
  291. data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/assets/progressbar-core.css +85 -0
  292. data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/assets/skins/sam/back-h.png +0 -0
  293. data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/assets/skins/sam/back-v.png +0 -0
  294. data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/assets/skins/sam/bar-h.png +0 -0
  295. data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/assets/skins/sam/bar-v.png +0 -0
  296. data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/assets/skins/sam/progressbar-skin.css +56 -0
  297. data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/assets/skins/sam/progressbar.css +7 -0
  298. data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/progressbar-debug.js +691 -0
  299. data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/progressbar-min.js +8 -0
  300. data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/progressbar.js +677 -0
  301. data/vendor/assets/javascripts/yui-2.8.1/build/reset-fonts-grids/reset-fonts-grids.css +7 -0
  302. data/vendor/assets/javascripts/yui-2.8.1/build/reset-fonts/reset-fonts.css +7 -0
  303. data/vendor/assets/javascripts/yui-2.8.1/build/reset/reset-min.css +7 -0
  304. data/vendor/assets/javascripts/yui-2.8.1/build/reset/reset.css +142 -0
  305. data/vendor/assets/javascripts/yui-2.8.1/build/resize/assets/resize-core.css +173 -0
  306. data/vendor/assets/javascripts/yui-2.8.1/build/resize/assets/skins/sam/layout_sprite.png +0 -0
  307. data/vendor/assets/javascripts/yui-2.8.1/build/resize/assets/skins/sam/resize-skin.css +142 -0
  308. data/vendor/assets/javascripts/yui-2.8.1/build/resize/assets/skins/sam/resize.css +7 -0
  309. data/vendor/assets/javascripts/yui-2.8.1/build/resize/resize-debug.js +1749 -0
  310. data/vendor/assets/javascripts/yui-2.8.1/build/resize/resize-min.js +10 -0
  311. data/vendor/assets/javascripts/yui-2.8.1/build/resize/resize.js +1689 -0
  312. data/vendor/assets/javascripts/yui-2.8.1/build/selector/selector-debug.js +651 -0
  313. data/vendor/assets/javascripts/yui-2.8.1/build/selector/selector-min.js +8 -0
  314. data/vendor/assets/javascripts/yui-2.8.1/build/selector/selector.js +644 -0
  315. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/bg-fader.gif +0 -0
  316. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/bg-h.gif +0 -0
  317. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/bg-v-e.gif +0 -0
  318. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/bg-v.gif +0 -0
  319. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/left-thumb.png +0 -0
  320. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/right-thumb.png +0 -0
  321. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/skins/sam/bg-h.gif +0 -0
  322. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/skins/sam/bg-v.gif +0 -0
  323. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/skins/sam/slider-skin.css +24 -0
  324. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/skins/sam/slider.css +7 -0
  325. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/slider-core.css +17 -0
  326. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/slider-skin.css +20 -0
  327. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/thumb-bar.gif +0 -0
  328. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/thumb-e.gif +0 -0
  329. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/thumb-fader.gif +0 -0
  330. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/thumb-n.gif +0 -0
  331. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/thumb-s.gif +0 -0
  332. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/thumb-w.gif +0 -0
  333. data/vendor/assets/javascripts/yui-2.8.1/build/slider/slider-debug.js +2114 -0
  334. data/vendor/assets/javascripts/yui-2.8.1/build/slider/slider-min.js +9 -0
  335. data/vendor/assets/javascripts/yui-2.8.1/build/slider/slider.js +2068 -0
  336. data/vendor/assets/javascripts/yui-2.8.1/build/storage/storage-debug.js +1185 -0
  337. data/vendor/assets/javascripts/yui-2.8.1/build/storage/storage-min.js +8 -0
  338. data/vendor/assets/javascripts/yui-2.8.1/build/storage/storage.js +1183 -0
  339. data/vendor/assets/javascripts/yui-2.8.1/build/stylesheet/stylesheet-debug.js +648 -0
  340. data/vendor/assets/javascripts/yui-2.8.1/build/stylesheet/stylesheet-min.js +7 -0
  341. data/vendor/assets/javascripts/yui-2.8.1/build/stylesheet/stylesheet.js +645 -0
  342. data/vendor/assets/javascripts/yui-2.8.1/build/swf/swf-debug.js +269 -0
  343. data/vendor/assets/javascripts/yui-2.8.1/build/swf/swf-min.js +7 -0
  344. data/vendor/assets/javascripts/yui-2.8.1/build/swf/swf.js +268 -0
  345. data/vendor/assets/javascripts/yui-2.8.1/build/swfdetect/swfdetect-debug.js +93 -0
  346. data/vendor/assets/javascripts/yui-2.8.1/build/swfdetect/swfdetect-min.js +7 -0
  347. data/vendor/assets/javascripts/yui-2.8.1/build/swfdetect/swfdetect.js +93 -0
  348. data/vendor/assets/javascripts/yui-2.8.1/build/swfstore/swf.js +238 -0
  349. data/vendor/assets/javascripts/yui-2.8.1/build/swfstore/swfstore-debug.js +470 -0
  350. data/vendor/assets/javascripts/yui-2.8.1/build/swfstore/swfstore-min.js +7 -0
  351. data/vendor/assets/javascripts/yui-2.8.1/build/swfstore/swfstore.js +453 -0
  352. data/vendor/assets/javascripts/yui-2.8.1/build/swfstore/swfstore.swf +0 -0
  353. data/vendor/assets/javascripts/yui-2.8.1/build/tabview/assets/border_tabs.css +54 -0
  354. data/vendor/assets/javascripts/yui-2.8.1/build/tabview/assets/loading.gif +0 -0
  355. data/vendor/assets/javascripts/yui-2.8.1/build/tabview/assets/skin-sam.css +77 -0
  356. data/vendor/assets/javascripts/yui-2.8.1/build/tabview/assets/skins/sam/tabview-skin.css +186 -0
  357. data/vendor/assets/javascripts/yui-2.8.1/build/tabview/assets/skins/sam/tabview.css +8 -0
  358. data/vendor/assets/javascripts/yui-2.8.1/build/tabview/assets/tabview-core.css +133 -0
  359. data/vendor/assets/javascripts/yui-2.8.1/build/tabview/assets/tabview.css +77 -0
  360. data/vendor/assets/javascripts/yui-2.8.1/build/tabview/tabview-debug.js +995 -0
  361. data/vendor/assets/javascripts/yui-2.8.1/build/tabview/tabview-min.js +8 -0
  362. data/vendor/assets/javascripts/yui-2.8.1/build/tabview/tabview.js +987 -0
  363. data/vendor/assets/javascripts/yui-2.8.1/build/treeview/assets/skins/sam/check0.gif +0 -0
  364. data/vendor/assets/javascripts/yui-2.8.1/build/treeview/assets/skins/sam/check1.gif +0 -0
  365. data/vendor/assets/javascripts/yui-2.8.1/build/treeview/assets/skins/sam/check2.gif +0 -0
  366. data/vendor/assets/javascripts/yui-2.8.1/build/treeview/assets/skins/sam/loading.gif +0 -0
  367. data/vendor/assets/javascripts/yui-2.8.1/build/treeview/assets/skins/sam/treeview-loading.gif +0 -0
  368. data/vendor/assets/javascripts/yui-2.8.1/build/treeview/assets/skins/sam/treeview-skin.css +249 -0
  369. data/vendor/assets/javascripts/yui-2.8.1/build/treeview/assets/skins/sam/treeview-sprite.gif +0 -0
  370. data/vendor/assets/javascripts/yui-2.8.1/build/treeview/assets/skins/sam/treeview.css +7 -0
  371. data/vendor/assets/javascripts/yui-2.8.1/build/treeview/assets/treeview-core.css +6 -0
  372. data/vendor/assets/javascripts/yui-2.8.1/build/treeview/treeview-debug.js +4058 -0
  373. data/vendor/assets/javascripts/yui-2.8.1/build/treeview/treeview-min.js +12 -0
  374. data/vendor/assets/javascripts/yui-2.8.1/build/treeview/treeview.js +3989 -0
  375. data/vendor/assets/javascripts/yui-2.8.1/build/uploader/assets/uploader.swf +0 -0
  376. data/vendor/assets/javascripts/yui-2.8.1/build/uploader/uploader-debug.js +1072 -0
  377. data/vendor/assets/javascripts/yui-2.8.1/build/uploader/uploader-min.js +15 -0
  378. data/vendor/assets/javascripts/yui-2.8.1/build/uploader/uploader.js +1069 -0
  379. data/vendor/assets/javascripts/yui-2.8.1/build/utilities/utilities.js +39 -0
  380. data/vendor/assets/javascripts/yui-2.8.1/build/yahoo-dom-event/yahoo-dom-event.js +14 -0
  381. data/vendor/assets/javascripts/yui-2.8.1/build/yahoo/yahoo-debug.js +1075 -0
  382. data/vendor/assets/javascripts/yui-2.8.1/build/yahoo/yahoo-min.js +7 -0
  383. data/vendor/assets/javascripts/yui-2.8.1/build/yahoo/yahoo.js +1075 -0
  384. data/vendor/assets/javascripts/yui-2.8.1/build/yuiloader-dom-event/yuiloader-dom-event.js +17 -0
  385. data/vendor/assets/javascripts/yui-2.8.1/build/yuiloader/yuiloader-debug.js +3879 -0
  386. data/vendor/assets/javascripts/yui-2.8.1/build/yuiloader/yuiloader-min.js +10 -0
  387. data/vendor/assets/javascripts/yui-2.8.1/build/yuiloader/yuiloader.js +3879 -0
  388. data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/assets/skins/sam/yuitest-skin.css +7 -0
  389. data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/assets/skins/sam/yuitest.css +7 -0
  390. data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/assets/testlogger.css +7 -0
  391. data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/assets/yuitest-core.css +7 -0
  392. data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/yuitest-debug.js +2741 -0
  393. data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/yuitest-min.js +10 -0
  394. data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/yuitest.js +2741 -0
  395. data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/yuitest_core-debug.js +1976 -0
  396. data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/yuitest_core-min.js +9 -0
  397. data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/yuitest_core.js +1976 -0
  398. metadata +470 -0
@@ -0,0 +1,7 @@
1
+ /*
2
+ Copyright (c) 2010, Yahoo! Inc. All rights reserved.
3
+ Code licensed under the BSD License:
4
+ http://developer.yahoo.com/yui/license.html
5
+ version: 2.8.1
6
+ */
7
+ YAHOO.util.History=(function(){var C=null;var K=null;var F=false;var D=[];var B=[];function I(){var M,L;L=top.location.href;M=L.indexOf("#");return M>=0?L.substr(M+1):null;}function A(){var M,N,O=[],L=[];for(M in D){if(YAHOO.lang.hasOwnProperty(D,M)){N=D[M];O.push(M+"="+N.initialState);L.push(M+"="+N.currentState);}}K.value=O.join("&")+"|"+L.join("&");if(YAHOO.env.ua.webkit){K.value+="|"+B.join(",");}}function H(L){var Q,R,M,O,P,T,S,N;if(!L){for(M in D){if(YAHOO.lang.hasOwnProperty(D,M)){O=D[M];O.currentState=O.initialState;O.onStateChange(unescape(O.currentState));}}return;}P=[];T=L.split("&");for(Q=0,R=T.length;Q<R;Q++){S=T[Q].split("=");if(S.length===2){M=S[0];N=S[1];P[M]=N;}}for(M in D){if(YAHOO.lang.hasOwnProperty(D,M)){O=D[M];N=P[M];if(!N||O.currentState!==N){O.currentState=N||O.initialState;O.onStateChange(unescape(O.currentState));}}}}function J(O){var L,N;L='<html><body><div id="state">'+O.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")+"</div></body></html>";try{N=C.contentWindow.document;N.open();N.write(L);N.close();return true;}catch(M){return false;}}function G(){var O,L,N,M;if(!C.contentWindow||!C.contentWindow.document){setTimeout(G,10);return;}O=C.contentWindow.document;L=O.getElementById("state");N=L?L.innerText:null;M=I();setInterval(function(){var U,Q,R,S,T,P;O=C.contentWindow.document;L=O.getElementById("state");U=L?L.innerText:null;T=I();if(U!==N){N=U;H(N);if(!N){Q=[];for(R in D){if(YAHOO.lang.hasOwnProperty(D,R)){S=D[R];Q.push(R+"="+S.initialState);}}T=Q.join("&");}else{T=N;}top.location.hash=T;M=T;A();}else{if(T!==M){M=T;J(T);}}},50);F=true;YAHOO.util.History.onLoadEvent.fire();}function E(){var S,U,Q,W,M,O,V,P,T,N,L,R;Q=K.value.split("|");if(Q.length>1){V=Q[0].split("&");for(S=0,U=V.length;S<U;S++){W=V[S].split("=");if(W.length===2){M=W[0];P=W[1];O=D[M];if(O){O.initialState=P;}}}T=Q[1].split("&");for(S=0,U=T.length;S<U;S++){W=T[S].split("=");if(W.length>=2){M=W[0];N=W[1];O=D[M];if(O){O.currentState=N;}}}}if(Q.length>2){B=Q[2].split(",");}if(YAHOO.env.ua.ie){if(typeof document.documentMode==="undefined"||document.documentMode<8){G();}else{YAHOO.util.Event.on(top,"hashchange",function(){var X=I();H(X);A();});F=true;YAHOO.util.History.onLoadEvent.fire();}}else{L=history.length;R=I();setInterval(function(){var Z,X,Y;X=I();Y=history.length;if(X!==R){R=X;L=Y;H(R);A();}else{if(Y!==L&&YAHOO.env.ua.webkit){R=X;L=Y;Z=B[L-1];H(Z);A();}}},50);F=true;YAHOO.util.History.onLoadEvent.fire();}}return{onLoadEvent:new YAHOO.util.CustomEvent("onLoad"),onReady:function(L,M,N){if(F){setTimeout(function(){var O=window;if(N){if(N===true){O=M;}else{O=N;}}L.call(O,"onLoad",[],M);},0);}else{YAHOO.util.History.onLoadEvent.subscribe(L,M,N);}},register:function(N,L,P,Q,R){var O,M;if(typeof N!=="string"||YAHOO.lang.trim(N)===""||typeof L!=="string"||typeof P!=="function"){throw new Error("Missing or invalid argument");}if(D[N]){return;}if(F){throw new Error("All modules must be registered before calling YAHOO.util.History.initialize");}N=escape(N);L=escape(L);O=null;if(R===true){O=Q;}else{O=R;}M=function(S){return P.call(O,S,Q);};D[N]={name:N,initialState:L,currentState:L,onStateChange:M};},initialize:function(L,M){if(F){return;}if(YAHOO.env.ua.opera&&typeof history.navigationMode!=="undefined"){history.navigationMode="compatible";}if(typeof L==="string"){L=document.getElementById(L);}if(!L||L.tagName.toUpperCase()!=="TEXTAREA"&&(L.tagName.toUpperCase()!=="INPUT"||L.type!=="hidden"&&L.type!=="text")){throw new Error("Missing or invalid argument");}K=L;if(YAHOO.env.ua.ie&&(typeof document.documentMode==="undefined"||document.documentMode<8)){if(typeof M==="string"){M=document.getElementById(M);}if(!M||M.tagName.toUpperCase()!=="IFRAME"){throw new Error("Missing or invalid argument");}C=M;}YAHOO.util.Event.onDOMReady(E);},navigate:function(M,N){var L;if(typeof M!=="string"||typeof N!=="string"){throw new Error("Missing or invalid argument");}L={};L[M]=N;return YAHOO.util.History.multiNavigate(L);},multiNavigate:function(M){var L,N,P,O,Q;if(typeof M!=="object"){throw new Error("Missing or invalid argument");}if(!F){throw new Error("The Browser History Manager is not initialized");}for(N in M){if(!D[N]){throw new Error("The following module has not been registered: "+N);}}L=[];for(N in D){if(YAHOO.lang.hasOwnProperty(D,N)){P=D[N];if(YAHOO.lang.hasOwnProperty(M,N)){O=M[unescape(N)];}else{O=unescape(P.currentState);}N=escape(N);O=escape(O);L.push(N+"="+O);}}Q=L.join("&");if(YAHOO.env.ua.ie&&(typeof document.documentMode==="undefined"||document.documentMode<8)){return J(Q);}else{top.location.hash=Q;if(YAHOO.env.ua.webkit){B[history.length]=Q;A();}return true;}},getCurrentState:function(L){var M;if(typeof L!=="string"){throw new Error("Missing or invalid argument");}if(!F){throw new Error("The Browser History Manager is not initialized");}M=D[L];if(!M){throw new Error("No such registered module: "+L);}return unescape(M.currentState);},getBookmarkedState:function(Q){var P,M,L,S,N,R,O;if(typeof Q!=="string"){throw new Error("Missing or invalid argument");}L=top.location.href.indexOf("#");if(L>=0){S=top.location.href.substr(L+1);N=S.split("&");for(P=0,M=N.length;P<M;P++){R=N[P].split("=");if(R.length===2){O=R[0];if(O===Q){return unescape(R[1]);}}}}return null;},getQueryStringParameter:function(Q,N){var O,M,L,S,R,P;N=N||top.location.href;L=N.indexOf("?");S=L>=0?N.substr(L+1):N;L=S.lastIndexOf("#");S=L>=0?S.substr(0,L):S;R=S.split("&");for(O=0,M=R.length;O<M;O++){P=R[O].split("=");if(P.length>=2){if(P[0]===Q){return unescape(P[1]);}}}return null;}};})();YAHOO.register("history",YAHOO.util.History,{version:"2.8.1",build:"19"});
@@ -0,0 +1,808 @@
1
+ /*
2
+ Copyright (c) 2010, Yahoo! Inc. All rights reserved.
3
+ Code licensed under the BSD License:
4
+ http://developer.yahoo.com/yui/license.html
5
+ version: 2.8.1
6
+ */
7
+ /**
8
+ * The Browser History Manager provides the ability to use the back/forward
9
+ * navigation buttons in a DHTML application. It also allows a DHTML
10
+ * application to be bookmarked in a specific state.
11
+ *
12
+ * This library requires the following static markup:
13
+ *
14
+ * &lt;iframe id="yui-history-iframe" src="path-to-real-asset-in-same-domain"&gt;&lt;/iframe&gt;
15
+ * &lt;input id="yui-history-field" type="hidden"&gt;
16
+ *
17
+ * @module history
18
+ * @requires yahoo,event
19
+ * @namespace YAHOO.util
20
+ * @title Browser History Manager
21
+ */
22
+
23
+ /**
24
+ * The History class provides the ability to use the back/forward navigation
25
+ * buttons in a DHTML application. It also allows a DHTML application to
26
+ * be bookmarked in a specific state.
27
+ *
28
+ * @class History
29
+ * @constructor
30
+ */
31
+ YAHOO.util.History = (function () {
32
+
33
+ /**
34
+ * Our hidden IFrame used to store the browsing history.
35
+ *
36
+ * @property _histFrame
37
+ * @type HTMLIFrameElement
38
+ * @default null
39
+ * @private
40
+ */
41
+ var _histFrame = null;
42
+
43
+ /**
44
+ * INPUT field (with type="hidden" or type="text") or TEXTAREA.
45
+ * This field keeps the value of the initial state, current state
46
+ * the list of all states across pages within a single browser session.
47
+ *
48
+ * @property _stateField
49
+ * @type HTMLInputElement|HTMLTextAreaElement
50
+ * @default null
51
+ * @private
52
+ */
53
+ var _stateField = null;
54
+
55
+ /**
56
+ * Flag used to tell whether YAHOO.util.History.initialize has been called.
57
+ *
58
+ * @property _initialized
59
+ * @type boolean
60
+ * @default false
61
+ * @private
62
+ */
63
+ var _initialized = false;
64
+
65
+ /**
66
+ * List of registered modules.
67
+ *
68
+ * @property _modules
69
+ * @type array
70
+ * @default []
71
+ * @private
72
+ */
73
+ var _modules = [];
74
+
75
+ /**
76
+ * List of fully qualified states. This is used only by Safari.
77
+ *
78
+ * @property _fqstates
79
+ * @type array
80
+ * @default []
81
+ * @private
82
+ */
83
+ var _fqstates = [];
84
+
85
+ /**
86
+ * location.hash is a bit buggy on Opera. I have seen instances where
87
+ * navigating the history using the back/forward buttons, and hence
88
+ * changing the URL, would not change location.hash. That's ok, the
89
+ * implementation of an equivalent is trivial.
90
+ *
91
+ * @method _getHash
92
+ * @return {string} The hash portion of the document's location
93
+ * @private
94
+ */
95
+ function _getHash() {
96
+ var i, href;
97
+ href = top.location.href;
98
+ i = href.indexOf("#");
99
+ return i >= 0 ? href.substr(i + 1) : null;
100
+ }
101
+
102
+ /**
103
+ * Stores all the registered modules' initial state and current state.
104
+ * On Safari, we also store all the fully qualified states visited by
105
+ * the application within a single browser session. The storage takes
106
+ * place in the form field specified during initialization.
107
+ *
108
+ * @method _storeStates
109
+ * @private
110
+ */
111
+ function _storeStates() {
112
+
113
+ var moduleName, moduleObj, initialStates = [], currentStates = [];
114
+
115
+ for (moduleName in _modules) {
116
+ if (YAHOO.lang.hasOwnProperty(_modules, moduleName)) {
117
+ moduleObj = _modules[moduleName];
118
+ initialStates.push(moduleName + "=" + moduleObj.initialState);
119
+ currentStates.push(moduleName + "=" + moduleObj.currentState);
120
+ }
121
+ }
122
+
123
+ _stateField.value = initialStates.join("&") + "|" + currentStates.join("&");
124
+
125
+ if (YAHOO.env.ua.webkit) {
126
+ _stateField.value += "|" + _fqstates.join(",");
127
+ }
128
+ }
129
+
130
+ /**
131
+ * Sets the new currentState attribute of all modules depending on the new
132
+ * fully qualified state. Also notifies the modules which current state has
133
+ * changed.
134
+ *
135
+ * @method _handleFQStateChange
136
+ * @param {string} fqstate Fully qualified state
137
+ * @private
138
+ */
139
+ function _handleFQStateChange(fqstate) {
140
+
141
+ var i, len, moduleName, moduleObj, modules, states, tokens, currentState;
142
+
143
+ if (!fqstate) {
144
+ // Notifies all modules
145
+ for (moduleName in _modules) {
146
+ if (YAHOO.lang.hasOwnProperty(_modules, moduleName)) {
147
+ moduleObj = _modules[moduleName];
148
+ moduleObj.currentState = moduleObj.initialState;
149
+ moduleObj.onStateChange(unescape(moduleObj.currentState));
150
+ }
151
+ }
152
+ return;
153
+ }
154
+
155
+ modules = [];
156
+ states = fqstate.split("&");
157
+ for (i = 0, len = states.length; i < len; i++) {
158
+ tokens = states[i].split("=");
159
+ if (tokens.length === 2) {
160
+ moduleName = tokens[0];
161
+ currentState = tokens[1];
162
+ modules[moduleName] = currentState;
163
+ }
164
+ }
165
+
166
+ for (moduleName in _modules) {
167
+ if (YAHOO.lang.hasOwnProperty(_modules, moduleName)) {
168
+ moduleObj = _modules[moduleName];
169
+ currentState = modules[moduleName];
170
+ if (!currentState || moduleObj.currentState !== currentState) {
171
+ moduleObj.currentState = currentState || moduleObj.initialState;
172
+ moduleObj.onStateChange(unescape(moduleObj.currentState));
173
+ }
174
+ }
175
+ }
176
+ }
177
+
178
+ /**
179
+ * Update the IFrame with our new state.
180
+ *
181
+ * @method _updateIFrame
182
+ * @private
183
+ * @return {boolean} true if successful. false otherwise.
184
+ */
185
+ function _updateIFrame (fqstate) {
186
+
187
+ var html, doc;
188
+
189
+ html = '<html><body><div id="state">' +
190
+ fqstate.replace(/&/g,'&amp;').
191
+ replace(/</g,'&lt;').
192
+ replace(/>/g,'&gt;').
193
+ replace(/"/g,'&quot;') +
194
+ '</div></body></html>';
195
+
196
+ try {
197
+ doc = _histFrame.contentWindow.document;
198
+ doc.open();
199
+ doc.write(html);
200
+ doc.close();
201
+ return true;
202
+ } catch (e) {
203
+ return false;
204
+ }
205
+ }
206
+
207
+ /**
208
+ * Periodically checks whether our internal IFrame is ready to be used.
209
+ *
210
+ * @method _checkIframeLoaded
211
+ * @private
212
+ */
213
+ function _checkIframeLoaded() {
214
+
215
+ var doc, elem, fqstate, hash;
216
+
217
+ if (!_histFrame.contentWindow || !_histFrame.contentWindow.document) {
218
+ // Check again in 10 msec...
219
+ setTimeout(_checkIframeLoaded, 10);
220
+ return;
221
+ }
222
+
223
+ // Start the thread that will have the responsibility to
224
+ // periodically check whether a navigate operation has been
225
+ // requested on the main window. This will happen when
226
+ // YAHOO.util.History.navigate has been called or after
227
+ // the user has hit the back/forward button.
228
+
229
+ doc = _histFrame.contentWindow.document;
230
+ elem = doc.getElementById("state");
231
+ // We must use innerText, and not innerHTML because our string contains
232
+ // the "&" character (which would end up being escaped as "&amp;") and
233
+ // the string comparison would fail...
234
+ fqstate = elem ? elem.innerText : null;
235
+
236
+ hash = _getHash();
237
+
238
+ setInterval(function () {
239
+
240
+ var newfqstate, states, moduleName, moduleObj, newHash, historyLength;
241
+
242
+ doc = _histFrame.contentWindow.document;
243
+ elem = doc.getElementById("state");
244
+ // See my comment above about using innerText instead of innerHTML...
245
+ newfqstate = elem ? elem.innerText : null;
246
+
247
+ newHash = _getHash();
248
+
249
+ if (newfqstate !== fqstate) {
250
+
251
+ fqstate = newfqstate;
252
+ _handleFQStateChange(fqstate);
253
+
254
+ if (!fqstate) {
255
+ states = [];
256
+ for (moduleName in _modules) {
257
+ if (YAHOO.lang.hasOwnProperty(_modules, moduleName)) {
258
+ moduleObj = _modules[moduleName];
259
+ states.push(moduleName + "=" + moduleObj.initialState);
260
+ }
261
+ }
262
+ newHash = states.join("&");
263
+ } else {
264
+ newHash = fqstate;
265
+ }
266
+
267
+ // Allow the state to be bookmarked by setting the top window's
268
+ // URL fragment identifier. Note that here, we are on IE, and
269
+ // IE does not touch the browser history when setting the hash
270
+ // (unlike all the other browsers). I used to write:
271
+ // top.location.replace( "#" + hash );
272
+ // but this had a side effect when the page was not the top frame.
273
+ top.location.hash = newHash;
274
+ hash = newHash;
275
+
276
+ _storeStates();
277
+
278
+ } else if (newHash !== hash) {
279
+
280
+ // The hash has changed. The user might have clicked on a link,
281
+ // or modified the URL directly, or opened the same application
282
+ // bookmarked in a specific state using a bookmark. However, we
283
+ // know the hash change was not caused by a hit on the back or
284
+ // forward buttons, or by a call to navigate() (because it would
285
+ // have been handled above) We must handle these cases, which is
286
+ // why we also need to keep track of hash changes on IE!
287
+
288
+ // Note that IE6 has some major issues with this kind of user
289
+ // interaction (the history stack gets completely messed up)
290
+ // but it seems to work fine on IE7.
291
+
292
+ hash = newHash;
293
+
294
+ // Now, store a new history entry. The following will cause the
295
+ // code above to execute, doing all the dirty work for us...
296
+ _updateIFrame(newHash);
297
+ }
298
+
299
+ }, 50);
300
+
301
+ _initialized = true;
302
+ YAHOO.util.History.onLoadEvent.fire();
303
+ }
304
+
305
+ /**
306
+ * Finish up the initialization of the Browser History Manager.
307
+ *
308
+ * @method _initialize
309
+ * @private
310
+ */
311
+ function _initialize() {
312
+
313
+ var i, len, parts, tokens, moduleName, moduleObj, initialStates, initialState, currentStates, currentState, counter, hash;
314
+
315
+ // Decode the content of our storage field...
316
+ parts = _stateField.value.split("|");
317
+
318
+ if (parts.length > 1) {
319
+
320
+ initialStates = parts[0].split("&");
321
+ for (i = 0, len = initialStates.length; i < len; i++) {
322
+ tokens = initialStates[i].split("=");
323
+ if (tokens.length === 2) {
324
+ moduleName = tokens[0];
325
+ initialState = tokens[1];
326
+ moduleObj = _modules[moduleName];
327
+ if (moduleObj) {
328
+ moduleObj.initialState = initialState;
329
+ }
330
+ }
331
+ }
332
+
333
+ currentStates = parts[1].split("&");
334
+ for (i = 0, len = currentStates.length; i < len; i++) {
335
+ tokens = currentStates[i].split("=");
336
+ if (tokens.length >= 2) {
337
+ moduleName = tokens[0];
338
+ currentState = tokens[1];
339
+ moduleObj = _modules[moduleName];
340
+ if (moduleObj) {
341
+ moduleObj.currentState = currentState;
342
+ }
343
+ }
344
+ }
345
+ }
346
+
347
+ if (parts.length > 2) {
348
+ _fqstates = parts[2].split(",");
349
+ }
350
+
351
+ if (YAHOO.env.ua.ie) {
352
+
353
+ if (typeof document.documentMode === "undefined" || document.documentMode < 8) {
354
+
355
+ // IE < 8 or IE8 in quirks mode or IE7 standards mode
356
+ _checkIframeLoaded();
357
+
358
+ } else {
359
+
360
+ // IE8 in IE8 standards mode
361
+ YAHOO.util.Event.on(top, "hashchange",
362
+ function () {
363
+ var hash = _getHash();
364
+ _handleFQStateChange(hash);
365
+ _storeStates();
366
+ });
367
+
368
+ _initialized = true;
369
+ YAHOO.util.History.onLoadEvent.fire();
370
+
371
+ }
372
+
373
+ } else {
374
+
375
+ // Start the thread that will have the responsibility to
376
+ // periodically check whether a navigate operation has been
377
+ // requested on the main window. This will happen when
378
+ // YAHOO.util.History.navigate has been called or after
379
+ // the user has hit the back/forward button.
380
+
381
+ // On Safari 1.x and 2.0, the only way to catch a back/forward
382
+ // operation is to watch history.length... We basically exploit
383
+ // what I consider to be a bug (history.length is not supposed
384
+ // to change when going back/forward in the history...) This is
385
+ // why, in the following thread, we first compare the hash,
386
+ // because the hash thing will be fixed in the next major
387
+ // version of Safari. So even if they fix the history.length
388
+ // bug, all this will still work!
389
+ counter = history.length;
390
+
391
+ // On Gecko and Opera, we just need to watch the hash...
392
+ hash = _getHash();
393
+
394
+ setInterval(function () {
395
+
396
+ var state, newHash, newCounter;
397
+
398
+ newHash = _getHash();
399
+ newCounter = history.length;
400
+ if (newHash !== hash) {
401
+ hash = newHash;
402
+ counter = newCounter;
403
+ _handleFQStateChange(hash);
404
+ _storeStates();
405
+ } else if (newCounter !== counter && YAHOO.env.ua.webkit) {
406
+ hash = newHash;
407
+ counter = newCounter;
408
+ state = _fqstates[counter - 1];
409
+ _handleFQStateChange(state);
410
+ _storeStates();
411
+ }
412
+
413
+ }, 50);
414
+
415
+ _initialized = true;
416
+ YAHOO.util.History.onLoadEvent.fire();
417
+ }
418
+ }
419
+
420
+ return {
421
+
422
+ /**
423
+ * Fired when the Browser History Manager is ready. If you subscribe to
424
+ * this event after the Browser History Manager has been initialized,
425
+ * it will not fire. Therefore, it is recommended to use the onReady
426
+ * method instead.
427
+ *
428
+ * @event onLoadEvent
429
+ * @see onReady
430
+ */
431
+ onLoadEvent: new YAHOO.util.CustomEvent("onLoad"),
432
+
433
+ /**
434
+ * Executes the supplied callback when the Browser History Manager is
435
+ * ready. This will execute immediately if called after the Browser
436
+ * History Manager onLoad event has fired.
437
+ *
438
+ * @method onReady
439
+ * @param {function} fn what to execute when the Browser History Manager is ready.
440
+ * @param {object} obj an optional object to be passed back as a parameter to fn.
441
+ * @param {boolean|object} overrideContext If true, the obj passed in becomes fn's execution scope.
442
+ * @see onLoadEvent
443
+ */
444
+ onReady: function (fn, obj, overrideContext) {
445
+
446
+ if (_initialized) {
447
+
448
+ setTimeout(function () {
449
+ var ctx = window;
450
+ if (overrideContext) {
451
+ if (overrideContext === true) {
452
+ ctx = obj;
453
+ } else {
454
+ ctx = overrideContext;
455
+ }
456
+ }
457
+ fn.call(ctx, "onLoad", [], obj);
458
+ }, 0);
459
+
460
+ } else {
461
+
462
+ YAHOO.util.History.onLoadEvent.subscribe(fn, obj, overrideContext);
463
+
464
+ }
465
+ },
466
+
467
+ /**
468
+ * Registers a new module.
469
+ *
470
+ * @method register
471
+ * @param {string} module Non-empty string uniquely identifying the
472
+ * module you wish to register.
473
+ * @param {string} initialState The initial state of the specified
474
+ * module corresponding to its earliest history entry.
475
+ * @param {function} onStateChange Callback called when the
476
+ * state of the specified module has changed.
477
+ * @param {object} obj An arbitrary object that will be passed as a
478
+ * parameter to the handler.
479
+ * @param {boolean} overrideContext If true, the obj passed in becomes the
480
+ * execution scope of the listener.
481
+ */
482
+ register: function (module, initialState, onStateChange, obj, overrideContext) {
483
+
484
+ var scope, wrappedFn;
485
+
486
+ if (typeof module !== "string" || YAHOO.lang.trim(module) === "" ||
487
+ typeof initialState !== "string" ||
488
+ typeof onStateChange !== "function") {
489
+ throw new Error("Missing or invalid argument");
490
+ }
491
+
492
+ if (_modules[module]) {
493
+ // Here, we used to throw an exception. However, users have
494
+ // complained about this behavior, so we now just return.
495
+ return;
496
+ }
497
+
498
+ // Note: A module CANNOT be registered after calling
499
+ // YAHOO.util.History.initialize. Indeed, we set the initial state
500
+ // of each registered module in YAHOO.util.History.initialize.
501
+ // If you could register a module after initializing the Browser
502
+ // History Manager, you would not read the correct state using
503
+ // YAHOO.util.History.getCurrentState when coming back to the
504
+ // page using the back button.
505
+ if (_initialized) {
506
+ throw new Error("All modules must be registered before calling YAHOO.util.History.initialize");
507
+ }
508
+
509
+ // Make sure the strings passed in do not contain our separators "," and "|"
510
+ module = escape(module);
511
+ initialState = escape(initialState);
512
+
513
+ // If the user chooses to override the scope, we use the
514
+ // custom object passed in as the execution scope.
515
+ scope = null;
516
+ if (overrideContext === true) {
517
+ scope = obj;
518
+ } else {
519
+ scope = overrideContext;
520
+ }
521
+
522
+ wrappedFn = function (state) {
523
+ return onStateChange.call(scope, state, obj);
524
+ };
525
+
526
+ _modules[module] = {
527
+ name: module,
528
+ initialState: initialState,
529
+ currentState: initialState,
530
+ onStateChange: wrappedFn
531
+ };
532
+ },
533
+
534
+ /**
535
+ * Initializes the Browser History Manager. Call this method
536
+ * from a script block located right after the opening body tag.
537
+ *
538
+ * @method initialize
539
+ * @param {string|HTML Element} stateField <input type="hidden"> used
540
+ * to store application states. Must be in the static markup.
541
+ * @param {string|HTML Element} histFrame IFrame used to store
542
+ * the history (only required on Internet Explorer)
543
+ * @public
544
+ */
545
+ initialize: function (stateField, histFrame) {
546
+
547
+ if (_initialized) {
548
+ // The browser history manager has already been initialized.
549
+ return;
550
+ }
551
+
552
+ if (YAHOO.env.ua.opera && typeof history.navigationMode !== "undefined") {
553
+ // Disable Opera's fast back/forward navigation mode and puts
554
+ // it in compatible mode. This makes anchor-based history
555
+ // navigation work after the page has been navigated away
556
+ // from and re-activated, at the cost of slowing down
557
+ // back/forward navigation to and from that page.
558
+ history.navigationMode = "compatible";
559
+ }
560
+
561
+ if (typeof stateField === "string") {
562
+ stateField = document.getElementById(stateField);
563
+ }
564
+
565
+ if (!stateField ||
566
+ stateField.tagName.toUpperCase() !== "TEXTAREA" &&
567
+ (stateField.tagName.toUpperCase() !== "INPUT" ||
568
+ stateField.type !== "hidden" &&
569
+ stateField.type !== "text")) {
570
+ throw new Error("Missing or invalid argument");
571
+ }
572
+
573
+ _stateField = stateField;
574
+
575
+ // IE < 8 or IE8 in quirks mode or IE7 standards mode
576
+ if (YAHOO.env.ua.ie && (typeof document.documentMode === "undefined" || document.documentMode < 8)) {
577
+
578
+ if (typeof histFrame === "string") {
579
+ histFrame = document.getElementById(histFrame);
580
+ }
581
+
582
+ if (!histFrame || histFrame.tagName.toUpperCase() !== "IFRAME") {
583
+ throw new Error("Missing or invalid argument");
584
+ }
585
+
586
+ _histFrame = histFrame;
587
+ }
588
+
589
+ // Note that the event utility MUST be included inline in the page.
590
+ // If it gets loaded later (which you may want to do to improve the
591
+ // loading speed of your site), the onDOMReady event never fires,
592
+ // and the history library never gets fully initialized.
593
+ YAHOO.util.Event.onDOMReady(_initialize);
594
+ },
595
+
596
+ /**
597
+ * Call this method when you want to store a new entry in the browser's history.
598
+ *
599
+ * @method navigate
600
+ * @param {string} module Non-empty string representing your module.
601
+ * @param {string} state String representing the new state of the specified module.
602
+ * @return {boolean} Indicates whether the new state was successfully added to the history.
603
+ * @public
604
+ */
605
+ navigate: function (module, state) {
606
+
607
+ var states;
608
+
609
+ if (typeof module !== "string" || typeof state !== "string") {
610
+ throw new Error("Missing or invalid argument");
611
+ }
612
+
613
+ states = {};
614
+ states[module] = state;
615
+
616
+ return YAHOO.util.History.multiNavigate(states);
617
+ },
618
+
619
+ /**
620
+ * Call this method when you want to store a new entry in the browser's history.
621
+ *
622
+ * @method multiNavigate
623
+ * @param {object} states Associative array of module-state pairs to set simultaneously.
624
+ * @return {boolean} Indicates whether the new state was successfully added to the history.
625
+ * @public
626
+ */
627
+ multiNavigate: function (states) {
628
+
629
+ var currentStates, moduleName, moduleObj, currentState, fqstate;
630
+
631
+ if (typeof states !== "object") {
632
+ throw new Error("Missing or invalid argument");
633
+ }
634
+
635
+ if (!_initialized) {
636
+ throw new Error("The Browser History Manager is not initialized");
637
+ }
638
+
639
+ for (moduleName in states) {
640
+ if (!_modules[moduleName]) {
641
+ throw new Error("The following module has not been registered: " + moduleName);
642
+ }
643
+ }
644
+
645
+ // Generate our new full state string mod1=xxx&mod2=yyy
646
+ currentStates = [];
647
+
648
+ for (moduleName in _modules) {
649
+ if (YAHOO.lang.hasOwnProperty(_modules, moduleName)) {
650
+ moduleObj = _modules[moduleName];
651
+ if (YAHOO.lang.hasOwnProperty(states, moduleName)) {
652
+ currentState = states[unescape(moduleName)];
653
+ } else {
654
+ currentState = unescape(moduleObj.currentState);
655
+ }
656
+
657
+ // Make sure the strings passed in do not contain our separators "," and "|"
658
+ moduleName = escape(moduleName);
659
+ currentState = escape(currentState);
660
+
661
+ currentStates.push(moduleName + "=" + currentState);
662
+ }
663
+ }
664
+
665
+ fqstate = currentStates.join("&");
666
+
667
+ if (YAHOO.env.ua.ie && (typeof document.documentMode === "undefined" || document.documentMode < 8)) {
668
+
669
+ return _updateIFrame(fqstate);
670
+
671
+ } else {
672
+
673
+ // Known bug: On Safari 1.x and 2.0, if you have tab browsing
674
+ // enabled, Safari will show an endless loading icon in the
675
+ // tab. This has apparently been fixed in recent WebKit builds.
676
+ // One work around found by Dav Glass is to submit a form that
677
+ // points to the same document. This indeed works on Safari 1.x
678
+ // and 2.0 but creates bigger problems on WebKit. So for now,
679
+ // we'll consider this an acceptable bug, and hope that Apple
680
+ // comes out with their next version of Safari very soon.
681
+ top.location.hash = fqstate;
682
+ if (YAHOO.env.ua.webkit) {
683
+ // The following two lines are only useful for Safari 1.x
684
+ // and 2.0. Recent nightly builds of WebKit do not require
685
+ // that, but unfortunately, it is not easy to differentiate
686
+ // between the two. Once Safari 2.0 departs the A-grade
687
+ // list, we can remove the following two lines...
688
+ _fqstates[history.length] = fqstate;
689
+ _storeStates();
690
+ }
691
+
692
+ return true;
693
+
694
+ }
695
+ },
696
+
697
+ /**
698
+ * Returns the current state of the specified module.
699
+ *
700
+ * @method getCurrentState
701
+ * @param {string} module Non-empty string representing your module.
702
+ * @return {string} The current state of the specified module.
703
+ * @public
704
+ */
705
+ getCurrentState: function (module) {
706
+
707
+ var moduleObj;
708
+
709
+ if (typeof module !== "string") {
710
+ throw new Error("Missing or invalid argument");
711
+ }
712
+
713
+ if (!_initialized) {
714
+ throw new Error("The Browser History Manager is not initialized");
715
+ }
716
+
717
+ moduleObj = _modules[module];
718
+ if (!moduleObj) {
719
+ throw new Error("No such registered module: " + module);
720
+ }
721
+
722
+ return unescape(moduleObj.currentState);
723
+ },
724
+
725
+ /**
726
+ * Returns the state of a module according to the URL fragment
727
+ * identifier. This method is useful to initialize your modules
728
+ * if your application was bookmarked from a particular state.
729
+ *
730
+ * @method getBookmarkedState
731
+ * @param {string} module Non-empty string representing your module.
732
+ * @return {string} The bookmarked state of the specified module.
733
+ * @public
734
+ */
735
+ getBookmarkedState: function (module) {
736
+
737
+ var i, len, idx, hash, states, tokens, moduleName;
738
+
739
+ if (typeof module !== "string") {
740
+ throw new Error("Missing or invalid argument");
741
+ }
742
+
743
+ // Use location.href instead of location.hash which is already
744
+ // URL-decoded, which creates problems if the state value
745
+ // contained special characters...
746
+ idx = top.location.href.indexOf("#");
747
+ if (idx >= 0) {
748
+ hash = top.location.href.substr(idx + 1);
749
+ states = hash.split("&");
750
+ for (i = 0, len = states.length; i < len; i++) {
751
+ tokens = states[i].split("=");
752
+ if (tokens.length === 2) {
753
+ moduleName = tokens[0];
754
+ if (moduleName === module) {
755
+ return unescape(tokens[1]);
756
+ }
757
+ }
758
+ }
759
+ }
760
+
761
+ return null;
762
+ },
763
+
764
+ /**
765
+ * Returns the value of the specified query string parameter.
766
+ * This method is not used internally by the Browser History Manager.
767
+ * However, it is provided here as a helper since many applications
768
+ * using the Browser History Manager will want to read the value of
769
+ * url parameters to initialize themselves.
770
+ *
771
+ * @method getQueryStringParameter
772
+ * @param {string} paramName Name of the parameter we want to look up.
773
+ * @param {string} queryString Optional URL to look at. If not specified,
774
+ * this method uses the URL in the address bar.
775
+ * @return {string} The value of the specified parameter, or null.
776
+ * @public
777
+ */
778
+ getQueryStringParameter: function (paramName, url) {
779
+
780
+ var i, len, idx, queryString, params, tokens;
781
+
782
+ url = url || top.location.href;
783
+
784
+ idx = url.indexOf("?");
785
+ queryString = idx >= 0 ? url.substr(idx + 1) : url;
786
+
787
+ // Remove the hash if any
788
+ idx = queryString.lastIndexOf("#");
789
+ queryString = idx >= 0 ? queryString.substr(0, idx) : queryString;
790
+
791
+ params = queryString.split("&");
792
+
793
+ for (i = 0, len = params.length; i < len; i++) {
794
+ tokens = params[i].split("=");
795
+ if (tokens.length >= 2) {
796
+ if (tokens[0] === paramName) {
797
+ return unescape(tokens[1]);
798
+ }
799
+ }
800
+ }
801
+
802
+ return null;
803
+ }
804
+
805
+ };
806
+
807
+ })();
808
+ YAHOO.register("history", YAHOO.util.History, {version: "2.8.1", build: "19"});