yui-rails-asset 2.8.1

Sign up to get free protection for your applications and to get access to all the features.
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,408 @@
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 datemath module provides utility methods for basic JavaScript Date object manipulation and
9
+ * comparison.
10
+ *
11
+ * @module datemath
12
+ */
13
+
14
+ /**
15
+ * YAHOO.widget.DateMath is used for simple date manipulation. The class is a static utility
16
+ * used for adding, subtracting, and comparing dates.
17
+ * @namespace YAHOO.widget
18
+ * @class DateMath
19
+ */
20
+ YAHOO.widget.DateMath = {
21
+ /**
22
+ * Constant field representing Day
23
+ * @property DAY
24
+ * @static
25
+ * @final
26
+ * @type String
27
+ */
28
+ DAY : "D",
29
+
30
+ /**
31
+ * Constant field representing Week
32
+ * @property WEEK
33
+ * @static
34
+ * @final
35
+ * @type String
36
+ */
37
+ WEEK : "W",
38
+
39
+ /**
40
+ * Constant field representing Year
41
+ * @property YEAR
42
+ * @static
43
+ * @final
44
+ * @type String
45
+ */
46
+ YEAR : "Y",
47
+
48
+ /**
49
+ * Constant field representing Month
50
+ * @property MONTH
51
+ * @static
52
+ * @final
53
+ * @type String
54
+ */
55
+ MONTH : "M",
56
+
57
+ /**
58
+ * Constant field representing one day, in milliseconds
59
+ * @property ONE_DAY_MS
60
+ * @static
61
+ * @final
62
+ * @type Number
63
+ */
64
+ ONE_DAY_MS : 1000*60*60*24,
65
+
66
+ /**
67
+ * Constant field representing the date in first week of January
68
+ * which identifies the first week of the year.
69
+ * <p>
70
+ * In the U.S, Jan 1st is normally used based on a Sunday start of week.
71
+ * ISO 8601, used widely throughout Europe, uses Jan 4th, based on a Monday start of week.
72
+ * </p>
73
+ * @property WEEK_ONE_JAN_DATE
74
+ * @static
75
+ * @type Number
76
+ */
77
+ WEEK_ONE_JAN_DATE : 1,
78
+
79
+ /**
80
+ * Adds the specified amount of time to the this instance.
81
+ * @method add
82
+ * @param {Date} date The JavaScript Date object to perform addition on
83
+ * @param {String} field The field constant to be used for performing addition.
84
+ * @param {Number} amount The number of units (measured in the field constant) to add to the date.
85
+ * @return {Date} The resulting Date object
86
+ */
87
+ add : function(date, field, amount) {
88
+ var d = new Date(date.getTime());
89
+ switch (field) {
90
+ case this.MONTH:
91
+ var newMonth = date.getMonth() + amount;
92
+ var years = 0;
93
+
94
+ if (newMonth < 0) {
95
+ while (newMonth < 0) {
96
+ newMonth += 12;
97
+ years -= 1;
98
+ }
99
+ } else if (newMonth > 11) {
100
+ while (newMonth > 11) {
101
+ newMonth -= 12;
102
+ years += 1;
103
+ }
104
+ }
105
+
106
+ d.setMonth(newMonth);
107
+ d.setFullYear(date.getFullYear() + years);
108
+ break;
109
+ case this.DAY:
110
+ this._addDays(d, amount);
111
+ // d.setDate(date.getDate() + amount);
112
+ break;
113
+ case this.YEAR:
114
+ d.setFullYear(date.getFullYear() + amount);
115
+ break;
116
+ case this.WEEK:
117
+ this._addDays(d, (amount * 7));
118
+ // d.setDate(date.getDate() + (amount * 7));
119
+ break;
120
+ }
121
+ return d;
122
+ },
123
+
124
+ /**
125
+ * Private helper method to account for bug in Safari 2 (webkit < 420)
126
+ * when Date.setDate(n) is called with n less than -128 or greater than 127.
127
+ * <p>
128
+ * Fix approach and original findings are available here:
129
+ * http://brianary.blogspot.com/2006/03/safari-date-bug.html
130
+ * </p>
131
+ * @method _addDays
132
+ * @param {Date} d JavaScript date object
133
+ * @param {Number} nDays The number of days to add to the date object (can be negative)
134
+ * @private
135
+ */
136
+ _addDays : function(d, nDays) {
137
+ if (YAHOO.env.ua.webkit && YAHOO.env.ua.webkit < 420) {
138
+ if (nDays < 0) {
139
+ // Ensure we don't go below -128 (getDate() is always 1 to 31, so we won't go above 127)
140
+ for(var min = -128; nDays < min; nDays -= min) {
141
+ d.setDate(d.getDate() + min);
142
+ }
143
+ } else {
144
+ // Ensure we don't go above 96 + 31 = 127
145
+ for(var max = 96; nDays > max; nDays -= max) {
146
+ d.setDate(d.getDate() + max);
147
+ }
148
+ }
149
+ // nDays should be remainder between -128 and 96
150
+ }
151
+ d.setDate(d.getDate() + nDays);
152
+ },
153
+
154
+ /**
155
+ * Subtracts the specified amount of time from the this instance.
156
+ * @method subtract
157
+ * @param {Date} date The JavaScript Date object to perform subtraction on
158
+ * @param {Number} field The this field constant to be used for performing subtraction.
159
+ * @param {Number} amount The number of units (measured in the field constant) to subtract from the date.
160
+ * @return {Date} The resulting Date object
161
+ */
162
+ subtract : function(date, field, amount) {
163
+ return this.add(date, field, (amount*-1));
164
+ },
165
+
166
+ /**
167
+ * Determines whether a given date is before another date on the calendar.
168
+ * @method before
169
+ * @param {Date} date The Date object to compare with the compare argument
170
+ * @param {Date} compareTo The Date object to use for the comparison
171
+ * @return {Boolean} true if the date occurs before the compared date; false if not.
172
+ */
173
+ before : function(date, compareTo) {
174
+ var ms = compareTo.getTime();
175
+ if (date.getTime() < ms) {
176
+ return true;
177
+ } else {
178
+ return false;
179
+ }
180
+ },
181
+
182
+ /**
183
+ * Determines whether a given date is after another date on the calendar.
184
+ * @method after
185
+ * @param {Date} date The Date object to compare with the compare argument
186
+ * @param {Date} compareTo The Date object to use for the comparison
187
+ * @return {Boolean} true if the date occurs after the compared date; false if not.
188
+ */
189
+ after : function(date, compareTo) {
190
+ var ms = compareTo.getTime();
191
+ if (date.getTime() > ms) {
192
+ return true;
193
+ } else {
194
+ return false;
195
+ }
196
+ },
197
+
198
+ /**
199
+ * Determines whether a given date is between two other dates on the calendar.
200
+ * @method between
201
+ * @param {Date} date The date to check for
202
+ * @param {Date} dateBegin The start of the range
203
+ * @param {Date} dateEnd The end of the range
204
+ * @return {Boolean} true if the date occurs between the compared dates; false if not.
205
+ */
206
+ between : function(date, dateBegin, dateEnd) {
207
+ if (this.after(date, dateBegin) && this.before(date, dateEnd)) {
208
+ return true;
209
+ } else {
210
+ return false;
211
+ }
212
+ },
213
+
214
+ /**
215
+ * Retrieves a JavaScript Date object representing January 1 of any given year.
216
+ * @method getJan1
217
+ * @param {Number} calendarYear The calendar year for which to retrieve January 1
218
+ * @return {Date} January 1 of the calendar year specified.
219
+ */
220
+ getJan1 : function(calendarYear) {
221
+ return this.getDate(calendarYear,0,1);
222
+ },
223
+
224
+ /**
225
+ * Calculates the number of days the specified date is from January 1 of the specified calendar year.
226
+ * Passing January 1 to this function would return an offset value of zero.
227
+ * @method getDayOffset
228
+ * @param {Date} date The JavaScript date for which to find the offset
229
+ * @param {Number} calendarYear The calendar year to use for determining the offset
230
+ * @return {Number} The number of days since January 1 of the given year
231
+ */
232
+ getDayOffset : function(date, calendarYear) {
233
+ var beginYear = this.getJan1(calendarYear); // Find the start of the year. This will be in week 1.
234
+
235
+ // Find the number of days the passed in date is away from the calendar year start
236
+ var dayOffset = Math.ceil((date.getTime()-beginYear.getTime()) / this.ONE_DAY_MS);
237
+ return dayOffset;
238
+ },
239
+
240
+ /**
241
+ * Calculates the week number for the given date. Can currently support standard
242
+ * U.S. week numbers, based on Jan 1st defining the 1st week of the year, and
243
+ * ISO8601 week numbers, based on Jan 4th defining the 1st week of the year.
244
+ *
245
+ * @method getWeekNumber
246
+ * @param {Date} date The JavaScript date for which to find the week number
247
+ * @param {Number} firstDayOfWeek The index of the first day of the week (0 = Sun, 1 = Mon ... 6 = Sat).
248
+ * Defaults to 0
249
+ * @param {Number} janDate The date in the first week of January which defines week one for the year
250
+ * Defaults to the value of YAHOO.widget.DateMath.WEEK_ONE_JAN_DATE, which is 1 (Jan 1st).
251
+ * For the U.S, this is normally Jan 1st. ISO8601 uses Jan 4th to define the first week of the year.
252
+ *
253
+ * @return {Number} The number of the week containing the given date.
254
+ */
255
+ getWeekNumber : function(date, firstDayOfWeek, janDate) {
256
+
257
+ // Setup Defaults
258
+ firstDayOfWeek = firstDayOfWeek || 0;
259
+ janDate = janDate || this.WEEK_ONE_JAN_DATE;
260
+
261
+ var targetDate = this.clearTime(date),
262
+ startOfWeek,
263
+ endOfWeek;
264
+
265
+ if (targetDate.getDay() === firstDayOfWeek) {
266
+ startOfWeek = targetDate;
267
+ } else {
268
+ startOfWeek = this.getFirstDayOfWeek(targetDate, firstDayOfWeek);
269
+ }
270
+
271
+ var startYear = startOfWeek.getFullYear();
272
+
273
+ // DST shouldn't be a problem here, math is quicker than setDate();
274
+ endOfWeek = new Date(startOfWeek.getTime() + 6*this.ONE_DAY_MS);
275
+
276
+ var weekNum;
277
+ if (startYear !== endOfWeek.getFullYear() && endOfWeek.getDate() >= janDate) {
278
+ // If years don't match, endOfWeek is in Jan. and if the
279
+ // week has WEEK_ONE_JAN_DATE in it, it's week one by definition.
280
+ weekNum = 1;
281
+ } else {
282
+ // Get the 1st day of the 1st week, and
283
+ // find how many days away we are from it.
284
+ var weekOne = this.clearTime(this.getDate(startYear, 0, janDate)),
285
+ weekOneDayOne = this.getFirstDayOfWeek(weekOne, firstDayOfWeek);
286
+
287
+ // Round days to smoothen out 1 hr DST diff
288
+ var daysDiff = Math.round((targetDate.getTime() - weekOneDayOne.getTime())/this.ONE_DAY_MS);
289
+
290
+ // Calc. Full Weeks
291
+ var rem = daysDiff % 7;
292
+ var weeksDiff = (daysDiff - rem)/7;
293
+ weekNum = weeksDiff + 1;
294
+ }
295
+ return weekNum;
296
+ },
297
+
298
+ /**
299
+ * Get the first day of the week, for the give date.
300
+ * @param {Date} dt The date in the week for which the first day is required.
301
+ * @param {Number} startOfWeek The index for the first day of the week, 0 = Sun, 1 = Mon ... 6 = Sat (defaults to 0)
302
+ * @return {Date} The first day of the week
303
+ */
304
+ getFirstDayOfWeek : function (dt, startOfWeek) {
305
+ startOfWeek = startOfWeek || 0;
306
+ var dayOfWeekIndex = dt.getDay(),
307
+ dayOfWeek = (dayOfWeekIndex - startOfWeek + 7) % 7;
308
+
309
+ return this.subtract(dt, this.DAY, dayOfWeek);
310
+ },
311
+
312
+ /**
313
+ * Determines if a given week overlaps two different years.
314
+ * @method isYearOverlapWeek
315
+ * @param {Date} weekBeginDate The JavaScript Date representing the first day of the week.
316
+ * @return {Boolean} true if the date overlaps two different years.
317
+ */
318
+ isYearOverlapWeek : function(weekBeginDate) {
319
+ var overlaps = false;
320
+ var nextWeek = this.add(weekBeginDate, this.DAY, 6);
321
+ if (nextWeek.getFullYear() != weekBeginDate.getFullYear()) {
322
+ overlaps = true;
323
+ }
324
+ return overlaps;
325
+ },
326
+
327
+ /**
328
+ * Determines if a given week overlaps two different months.
329
+ * @method isMonthOverlapWeek
330
+ * @param {Date} weekBeginDate The JavaScript Date representing the first day of the week.
331
+ * @return {Boolean} true if the date overlaps two different months.
332
+ */
333
+ isMonthOverlapWeek : function(weekBeginDate) {
334
+ var overlaps = false;
335
+ var nextWeek = this.add(weekBeginDate, this.DAY, 6);
336
+ if (nextWeek.getMonth() != weekBeginDate.getMonth()) {
337
+ overlaps = true;
338
+ }
339
+ return overlaps;
340
+ },
341
+
342
+ /**
343
+ * Gets the first day of a month containing a given date.
344
+ * @method findMonthStart
345
+ * @param {Date} date The JavaScript Date used to calculate the month start
346
+ * @return {Date} The JavaScript Date representing the first day of the month
347
+ */
348
+ findMonthStart : function(date) {
349
+ var start = this.getDate(date.getFullYear(), date.getMonth(), 1);
350
+ return start;
351
+ },
352
+
353
+ /**
354
+ * Gets the last day of a month containing a given date.
355
+ * @method findMonthEnd
356
+ * @param {Date} date The JavaScript Date used to calculate the month end
357
+ * @return {Date} The JavaScript Date representing the last day of the month
358
+ */
359
+ findMonthEnd : function(date) {
360
+ var start = this.findMonthStart(date);
361
+ var nextMonth = this.add(start, this.MONTH, 1);
362
+ var end = this.subtract(nextMonth, this.DAY, 1);
363
+ return end;
364
+ },
365
+
366
+ /**
367
+ * Clears the time fields from a given date, effectively setting the time to 12 noon.
368
+ * @method clearTime
369
+ * @param {Date} date The JavaScript Date for which the time fields will be cleared
370
+ * @return {Date} The JavaScript Date cleared of all time fields
371
+ */
372
+ clearTime : function(date) {
373
+ date.setHours(12,0,0,0);
374
+ return date;
375
+ },
376
+
377
+ /**
378
+ * Returns a new JavaScript Date object, representing the given year, month and date. Time fields (hr, min, sec, ms) on the new Date object
379
+ * are set to 0. The method allows Date instances to be created with the a year less than 100. "new Date(year, month, date)" implementations
380
+ * set the year to 19xx if a year (xx) which is less than 100 is provided.
381
+ * <p>
382
+ * <em>NOTE:</em>Validation on argument values is not performed. It is the caller's responsibility to ensure
383
+ * arguments are valid as per the ECMAScript-262 Date object specification for the new Date(year, month[, date]) constructor.
384
+ * </p>
385
+ * @method getDate
386
+ * @param {Number} y Year.
387
+ * @param {Number} m Month index from 0 (Jan) to 11 (Dec).
388
+ * @param {Number} d (optional) Date from 1 to 31. If not provided, defaults to 1.
389
+ * @return {Date} The JavaScript date object with year, month, date set as provided.
390
+ */
391
+ getDate : function(y, m, d) {
392
+ var dt = null;
393
+ if (YAHOO.lang.isUndefined(d)) {
394
+ d = 1;
395
+ }
396
+ if (y >= 100) {
397
+ dt = new Date(y, m, d);
398
+ } else {
399
+ dt = new Date();
400
+ dt.setFullYear(y);
401
+ dt.setMonth(m);
402
+ dt.setDate(d);
403
+ dt.setHours(0,0,0,0);
404
+ }
405
+ return dt;
406
+ }
407
+ };
408
+ YAHOO.register("datemath", YAHOO.widget.DateMath, {version: "2.8.1", build: "19"});
@@ -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.widget.DateMath={DAY:"D",WEEK:"W",YEAR:"Y",MONTH:"M",ONE_DAY_MS:1000*60*60*24,WEEK_ONE_JAN_DATE:1,add:function(A,D,C){var F=new Date(A.getTime());switch(D){case this.MONTH:var E=A.getMonth()+C;var B=0;if(E<0){while(E<0){E+=12;B-=1;}}else{if(E>11){while(E>11){E-=12;B+=1;}}}F.setMonth(E);F.setFullYear(A.getFullYear()+B);break;case this.DAY:this._addDays(F,C);break;case this.YEAR:F.setFullYear(A.getFullYear()+C);break;case this.WEEK:this._addDays(F,(C*7));break;}return F;},_addDays:function(D,C){if(YAHOO.env.ua.webkit&&YAHOO.env.ua.webkit<420){if(C<0){for(var B=-128;C<B;C-=B){D.setDate(D.getDate()+B);}}else{for(var A=96;C>A;C-=A){D.setDate(D.getDate()+A);}}}D.setDate(D.getDate()+C);},subtract:function(A,C,B){return this.add(A,C,(B*-1));},before:function(C,B){var A=B.getTime();if(C.getTime()<A){return true;}else{return false;}},after:function(C,B){var A=B.getTime();if(C.getTime()>A){return true;}else{return false;}},between:function(B,A,C){if(this.after(B,A)&&this.before(B,C)){return true;}else{return false;}},getJan1:function(A){return this.getDate(A,0,1);},getDayOffset:function(B,D){var C=this.getJan1(D);var A=Math.ceil((B.getTime()-C.getTime())/this.ONE_DAY_MS);return A;},getWeekNumber:function(D,B,G){B=B||0;G=G||this.WEEK_ONE_JAN_DATE;var H=this.clearTime(D),L,M;if(H.getDay()===B){L=H;}else{L=this.getFirstDayOfWeek(H,B);}var I=L.getFullYear();M=new Date(L.getTime()+6*this.ONE_DAY_MS);var F;if(I!==M.getFullYear()&&M.getDate()>=G){F=1;}else{var E=this.clearTime(this.getDate(I,0,G)),A=this.getFirstDayOfWeek(E,B);var J=Math.round((H.getTime()-A.getTime())/this.ONE_DAY_MS);var K=J%7;var C=(J-K)/7;F=C+1;}return F;},getFirstDayOfWeek:function(D,A){A=A||0;var B=D.getDay(),C=(B-A+7)%7;return this.subtract(D,this.DAY,C);},isYearOverlapWeek:function(A){var C=false;var B=this.add(A,this.DAY,6);if(B.getFullYear()!=A.getFullYear()){C=true;}return C;},isMonthOverlapWeek:function(A){var C=false;var B=this.add(A,this.DAY,6);if(B.getMonth()!=A.getMonth()){C=true;}return C;},findMonthStart:function(A){var B=this.getDate(A.getFullYear(),A.getMonth(),1);return B;},findMonthEnd:function(B){var D=this.findMonthStart(B);var C=this.add(D,this.MONTH,1);var A=this.subtract(C,this.DAY,1);return A;},clearTime:function(A){A.setHours(12,0,0,0);return A;},getDate:function(D,A,C){var B=null;if(YAHOO.lang.isUndefined(C)){C=1;}if(D>=100){B=new Date(D,A,C);}else{B=new Date();B.setFullYear(D);B.setMonth(A);B.setDate(C);B.setHours(0,0,0,0);}return B;}};YAHOO.register("datemath",YAHOO.widget.DateMath,{version:"2.8.1",build:"19"});
@@ -0,0 +1,408 @@
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 datemath module provides utility methods for basic JavaScript Date object manipulation and
9
+ * comparison.
10
+ *
11
+ * @module datemath
12
+ */
13
+
14
+ /**
15
+ * YAHOO.widget.DateMath is used for simple date manipulation. The class is a static utility
16
+ * used for adding, subtracting, and comparing dates.
17
+ * @namespace YAHOO.widget
18
+ * @class DateMath
19
+ */
20
+ YAHOO.widget.DateMath = {
21
+ /**
22
+ * Constant field representing Day
23
+ * @property DAY
24
+ * @static
25
+ * @final
26
+ * @type String
27
+ */
28
+ DAY : "D",
29
+
30
+ /**
31
+ * Constant field representing Week
32
+ * @property WEEK
33
+ * @static
34
+ * @final
35
+ * @type String
36
+ */
37
+ WEEK : "W",
38
+
39
+ /**
40
+ * Constant field representing Year
41
+ * @property YEAR
42
+ * @static
43
+ * @final
44
+ * @type String
45
+ */
46
+ YEAR : "Y",
47
+
48
+ /**
49
+ * Constant field representing Month
50
+ * @property MONTH
51
+ * @static
52
+ * @final
53
+ * @type String
54
+ */
55
+ MONTH : "M",
56
+
57
+ /**
58
+ * Constant field representing one day, in milliseconds
59
+ * @property ONE_DAY_MS
60
+ * @static
61
+ * @final
62
+ * @type Number
63
+ */
64
+ ONE_DAY_MS : 1000*60*60*24,
65
+
66
+ /**
67
+ * Constant field representing the date in first week of January
68
+ * which identifies the first week of the year.
69
+ * <p>
70
+ * In the U.S, Jan 1st is normally used based on a Sunday start of week.
71
+ * ISO 8601, used widely throughout Europe, uses Jan 4th, based on a Monday start of week.
72
+ * </p>
73
+ * @property WEEK_ONE_JAN_DATE
74
+ * @static
75
+ * @type Number
76
+ */
77
+ WEEK_ONE_JAN_DATE : 1,
78
+
79
+ /**
80
+ * Adds the specified amount of time to the this instance.
81
+ * @method add
82
+ * @param {Date} date The JavaScript Date object to perform addition on
83
+ * @param {String} field The field constant to be used for performing addition.
84
+ * @param {Number} amount The number of units (measured in the field constant) to add to the date.
85
+ * @return {Date} The resulting Date object
86
+ */
87
+ add : function(date, field, amount) {
88
+ var d = new Date(date.getTime());
89
+ switch (field) {
90
+ case this.MONTH:
91
+ var newMonth = date.getMonth() + amount;
92
+ var years = 0;
93
+
94
+ if (newMonth < 0) {
95
+ while (newMonth < 0) {
96
+ newMonth += 12;
97
+ years -= 1;
98
+ }
99
+ } else if (newMonth > 11) {
100
+ while (newMonth > 11) {
101
+ newMonth -= 12;
102
+ years += 1;
103
+ }
104
+ }
105
+
106
+ d.setMonth(newMonth);
107
+ d.setFullYear(date.getFullYear() + years);
108
+ break;
109
+ case this.DAY:
110
+ this._addDays(d, amount);
111
+ // d.setDate(date.getDate() + amount);
112
+ break;
113
+ case this.YEAR:
114
+ d.setFullYear(date.getFullYear() + amount);
115
+ break;
116
+ case this.WEEK:
117
+ this._addDays(d, (amount * 7));
118
+ // d.setDate(date.getDate() + (amount * 7));
119
+ break;
120
+ }
121
+ return d;
122
+ },
123
+
124
+ /**
125
+ * Private helper method to account for bug in Safari 2 (webkit < 420)
126
+ * when Date.setDate(n) is called with n less than -128 or greater than 127.
127
+ * <p>
128
+ * Fix approach and original findings are available here:
129
+ * http://brianary.blogspot.com/2006/03/safari-date-bug.html
130
+ * </p>
131
+ * @method _addDays
132
+ * @param {Date} d JavaScript date object
133
+ * @param {Number} nDays The number of days to add to the date object (can be negative)
134
+ * @private
135
+ */
136
+ _addDays : function(d, nDays) {
137
+ if (YAHOO.env.ua.webkit && YAHOO.env.ua.webkit < 420) {
138
+ if (nDays < 0) {
139
+ // Ensure we don't go below -128 (getDate() is always 1 to 31, so we won't go above 127)
140
+ for(var min = -128; nDays < min; nDays -= min) {
141
+ d.setDate(d.getDate() + min);
142
+ }
143
+ } else {
144
+ // Ensure we don't go above 96 + 31 = 127
145
+ for(var max = 96; nDays > max; nDays -= max) {
146
+ d.setDate(d.getDate() + max);
147
+ }
148
+ }
149
+ // nDays should be remainder between -128 and 96
150
+ }
151
+ d.setDate(d.getDate() + nDays);
152
+ },
153
+
154
+ /**
155
+ * Subtracts the specified amount of time from the this instance.
156
+ * @method subtract
157
+ * @param {Date} date The JavaScript Date object to perform subtraction on
158
+ * @param {Number} field The this field constant to be used for performing subtraction.
159
+ * @param {Number} amount The number of units (measured in the field constant) to subtract from the date.
160
+ * @return {Date} The resulting Date object
161
+ */
162
+ subtract : function(date, field, amount) {
163
+ return this.add(date, field, (amount*-1));
164
+ },
165
+
166
+ /**
167
+ * Determines whether a given date is before another date on the calendar.
168
+ * @method before
169
+ * @param {Date} date The Date object to compare with the compare argument
170
+ * @param {Date} compareTo The Date object to use for the comparison
171
+ * @return {Boolean} true if the date occurs before the compared date; false if not.
172
+ */
173
+ before : function(date, compareTo) {
174
+ var ms = compareTo.getTime();
175
+ if (date.getTime() < ms) {
176
+ return true;
177
+ } else {
178
+ return false;
179
+ }
180
+ },
181
+
182
+ /**
183
+ * Determines whether a given date is after another date on the calendar.
184
+ * @method after
185
+ * @param {Date} date The Date object to compare with the compare argument
186
+ * @param {Date} compareTo The Date object to use for the comparison
187
+ * @return {Boolean} true if the date occurs after the compared date; false if not.
188
+ */
189
+ after : function(date, compareTo) {
190
+ var ms = compareTo.getTime();
191
+ if (date.getTime() > ms) {
192
+ return true;
193
+ } else {
194
+ return false;
195
+ }
196
+ },
197
+
198
+ /**
199
+ * Determines whether a given date is between two other dates on the calendar.
200
+ * @method between
201
+ * @param {Date} date The date to check for
202
+ * @param {Date} dateBegin The start of the range
203
+ * @param {Date} dateEnd The end of the range
204
+ * @return {Boolean} true if the date occurs between the compared dates; false if not.
205
+ */
206
+ between : function(date, dateBegin, dateEnd) {
207
+ if (this.after(date, dateBegin) && this.before(date, dateEnd)) {
208
+ return true;
209
+ } else {
210
+ return false;
211
+ }
212
+ },
213
+
214
+ /**
215
+ * Retrieves a JavaScript Date object representing January 1 of any given year.
216
+ * @method getJan1
217
+ * @param {Number} calendarYear The calendar year for which to retrieve January 1
218
+ * @return {Date} January 1 of the calendar year specified.
219
+ */
220
+ getJan1 : function(calendarYear) {
221
+ return this.getDate(calendarYear,0,1);
222
+ },
223
+
224
+ /**
225
+ * Calculates the number of days the specified date is from January 1 of the specified calendar year.
226
+ * Passing January 1 to this function would return an offset value of zero.
227
+ * @method getDayOffset
228
+ * @param {Date} date The JavaScript date for which to find the offset
229
+ * @param {Number} calendarYear The calendar year to use for determining the offset
230
+ * @return {Number} The number of days since January 1 of the given year
231
+ */
232
+ getDayOffset : function(date, calendarYear) {
233
+ var beginYear = this.getJan1(calendarYear); // Find the start of the year. This will be in week 1.
234
+
235
+ // Find the number of days the passed in date is away from the calendar year start
236
+ var dayOffset = Math.ceil((date.getTime()-beginYear.getTime()) / this.ONE_DAY_MS);
237
+ return dayOffset;
238
+ },
239
+
240
+ /**
241
+ * Calculates the week number for the given date. Can currently support standard
242
+ * U.S. week numbers, based on Jan 1st defining the 1st week of the year, and
243
+ * ISO8601 week numbers, based on Jan 4th defining the 1st week of the year.
244
+ *
245
+ * @method getWeekNumber
246
+ * @param {Date} date The JavaScript date for which to find the week number
247
+ * @param {Number} firstDayOfWeek The index of the first day of the week (0 = Sun, 1 = Mon ... 6 = Sat).
248
+ * Defaults to 0
249
+ * @param {Number} janDate The date in the first week of January which defines week one for the year
250
+ * Defaults to the value of YAHOO.widget.DateMath.WEEK_ONE_JAN_DATE, which is 1 (Jan 1st).
251
+ * For the U.S, this is normally Jan 1st. ISO8601 uses Jan 4th to define the first week of the year.
252
+ *
253
+ * @return {Number} The number of the week containing the given date.
254
+ */
255
+ getWeekNumber : function(date, firstDayOfWeek, janDate) {
256
+
257
+ // Setup Defaults
258
+ firstDayOfWeek = firstDayOfWeek || 0;
259
+ janDate = janDate || this.WEEK_ONE_JAN_DATE;
260
+
261
+ var targetDate = this.clearTime(date),
262
+ startOfWeek,
263
+ endOfWeek;
264
+
265
+ if (targetDate.getDay() === firstDayOfWeek) {
266
+ startOfWeek = targetDate;
267
+ } else {
268
+ startOfWeek = this.getFirstDayOfWeek(targetDate, firstDayOfWeek);
269
+ }
270
+
271
+ var startYear = startOfWeek.getFullYear();
272
+
273
+ // DST shouldn't be a problem here, math is quicker than setDate();
274
+ endOfWeek = new Date(startOfWeek.getTime() + 6*this.ONE_DAY_MS);
275
+
276
+ var weekNum;
277
+ if (startYear !== endOfWeek.getFullYear() && endOfWeek.getDate() >= janDate) {
278
+ // If years don't match, endOfWeek is in Jan. and if the
279
+ // week has WEEK_ONE_JAN_DATE in it, it's week one by definition.
280
+ weekNum = 1;
281
+ } else {
282
+ // Get the 1st day of the 1st week, and
283
+ // find how many days away we are from it.
284
+ var weekOne = this.clearTime(this.getDate(startYear, 0, janDate)),
285
+ weekOneDayOne = this.getFirstDayOfWeek(weekOne, firstDayOfWeek);
286
+
287
+ // Round days to smoothen out 1 hr DST diff
288
+ var daysDiff = Math.round((targetDate.getTime() - weekOneDayOne.getTime())/this.ONE_DAY_MS);
289
+
290
+ // Calc. Full Weeks
291
+ var rem = daysDiff % 7;
292
+ var weeksDiff = (daysDiff - rem)/7;
293
+ weekNum = weeksDiff + 1;
294
+ }
295
+ return weekNum;
296
+ },
297
+
298
+ /**
299
+ * Get the first day of the week, for the give date.
300
+ * @param {Date} dt The date in the week for which the first day is required.
301
+ * @param {Number} startOfWeek The index for the first day of the week, 0 = Sun, 1 = Mon ... 6 = Sat (defaults to 0)
302
+ * @return {Date} The first day of the week
303
+ */
304
+ getFirstDayOfWeek : function (dt, startOfWeek) {
305
+ startOfWeek = startOfWeek || 0;
306
+ var dayOfWeekIndex = dt.getDay(),
307
+ dayOfWeek = (dayOfWeekIndex - startOfWeek + 7) % 7;
308
+
309
+ return this.subtract(dt, this.DAY, dayOfWeek);
310
+ },
311
+
312
+ /**
313
+ * Determines if a given week overlaps two different years.
314
+ * @method isYearOverlapWeek
315
+ * @param {Date} weekBeginDate The JavaScript Date representing the first day of the week.
316
+ * @return {Boolean} true if the date overlaps two different years.
317
+ */
318
+ isYearOverlapWeek : function(weekBeginDate) {
319
+ var overlaps = false;
320
+ var nextWeek = this.add(weekBeginDate, this.DAY, 6);
321
+ if (nextWeek.getFullYear() != weekBeginDate.getFullYear()) {
322
+ overlaps = true;
323
+ }
324
+ return overlaps;
325
+ },
326
+
327
+ /**
328
+ * Determines if a given week overlaps two different months.
329
+ * @method isMonthOverlapWeek
330
+ * @param {Date} weekBeginDate The JavaScript Date representing the first day of the week.
331
+ * @return {Boolean} true if the date overlaps two different months.
332
+ */
333
+ isMonthOverlapWeek : function(weekBeginDate) {
334
+ var overlaps = false;
335
+ var nextWeek = this.add(weekBeginDate, this.DAY, 6);
336
+ if (nextWeek.getMonth() != weekBeginDate.getMonth()) {
337
+ overlaps = true;
338
+ }
339
+ return overlaps;
340
+ },
341
+
342
+ /**
343
+ * Gets the first day of a month containing a given date.
344
+ * @method findMonthStart
345
+ * @param {Date} date The JavaScript Date used to calculate the month start
346
+ * @return {Date} The JavaScript Date representing the first day of the month
347
+ */
348
+ findMonthStart : function(date) {
349
+ var start = this.getDate(date.getFullYear(), date.getMonth(), 1);
350
+ return start;
351
+ },
352
+
353
+ /**
354
+ * Gets the last day of a month containing a given date.
355
+ * @method findMonthEnd
356
+ * @param {Date} date The JavaScript Date used to calculate the month end
357
+ * @return {Date} The JavaScript Date representing the last day of the month
358
+ */
359
+ findMonthEnd : function(date) {
360
+ var start = this.findMonthStart(date);
361
+ var nextMonth = this.add(start, this.MONTH, 1);
362
+ var end = this.subtract(nextMonth, this.DAY, 1);
363
+ return end;
364
+ },
365
+
366
+ /**
367
+ * Clears the time fields from a given date, effectively setting the time to 12 noon.
368
+ * @method clearTime
369
+ * @param {Date} date The JavaScript Date for which the time fields will be cleared
370
+ * @return {Date} The JavaScript Date cleared of all time fields
371
+ */
372
+ clearTime : function(date) {
373
+ date.setHours(12,0,0,0);
374
+ return date;
375
+ },
376
+
377
+ /**
378
+ * Returns a new JavaScript Date object, representing the given year, month and date. Time fields (hr, min, sec, ms) on the new Date object
379
+ * are set to 0. The method allows Date instances to be created with the a year less than 100. "new Date(year, month, date)" implementations
380
+ * set the year to 19xx if a year (xx) which is less than 100 is provided.
381
+ * <p>
382
+ * <em>NOTE:</em>Validation on argument values is not performed. It is the caller's responsibility to ensure
383
+ * arguments are valid as per the ECMAScript-262 Date object specification for the new Date(year, month[, date]) constructor.
384
+ * </p>
385
+ * @method getDate
386
+ * @param {Number} y Year.
387
+ * @param {Number} m Month index from 0 (Jan) to 11 (Dec).
388
+ * @param {Number} d (optional) Date from 1 to 31. If not provided, defaults to 1.
389
+ * @return {Date} The JavaScript date object with year, month, date set as provided.
390
+ */
391
+ getDate : function(y, m, d) {
392
+ var dt = null;
393
+ if (YAHOO.lang.isUndefined(d)) {
394
+ d = 1;
395
+ }
396
+ if (y >= 100) {
397
+ dt = new Date(y, m, d);
398
+ } else {
399
+ dt = new Date();
400
+ dt.setFullYear(y);
401
+ dt.setMonth(m);
402
+ dt.setDate(d);
403
+ dt.setHours(0,0,0,0);
404
+ }
405
+ return dt;
406
+ }
407
+ };
408
+ YAHOO.register("datemath", YAHOO.widget.DateMath, {version: "2.8.1", build: "19"});