Kraken_Image_Optimizer - Version 2.0.1

Version Notes

Bug fix for SQL queries

Download this release

Release Info

Developer Nekkra UG
Extension Kraken_Image_Optimizer
Version 2.0.1
Comparing to
See all releases


Code changes from version 2.0.0 to 2.0.1

Files changed (306) hide show
  1. app/code/local/Welance/Kraken/Block/Adminhtml/Images/Media.php +1 -1
  2. app/code/local/Welance/Kraken/Block/Adminhtml/Images/Skin.php +1 -1
  3. app/code/local/Welance/Kraken/Helper/Data.php +21 -8
  4. js/blank.html +0 -0
  5. js/calendar/calendar-blue.css +232 -0
  6. js/calendar/calendar-blue2.css +236 -0
  7. js/calendar/calendar-brown.css +225 -0
  8. js/calendar/calendar-green.css +229 -0
  9. js/calendar/calendar-setup.js +21 -0
  10. js/calendar/calendar-system.css +251 -0
  11. js/calendar/calendar-tas.css +239 -0
  12. js/calendar/calendar-win2k-1.css +271 -0
  13. js/calendar/calendar-win2k-2.css +271 -0
  14. js/calendar/calendar-win2k-cold-1.css +265 -0
  15. js/calendar/calendar-win2k-cold-2.css +271 -0
  16. js/calendar/calendar.js +1912 -0
  17. js/calendar/img.gif +0 -0
  18. js/calendar/menuarrow.gif +0 -0
  19. js/calendar/menuarrow2.gif +0 -0
  20. js/calendar/skins/aqua/active-bg.gif +0 -0
  21. js/calendar/skins/aqua/dark-bg.gif +0 -0
  22. js/calendar/skins/aqua/hover-bg.gif +0 -0
  23. js/calendar/skins/aqua/menuarrow.gif +0 -0
  24. js/calendar/skins/aqua/normal-bg.gif +0 -0
  25. js/calendar/skins/aqua/rowhover-bg.gif +0 -0
  26. js/calendar/skins/aqua/status-bg.gif +0 -0
  27. js/calendar/skins/aqua/theme.css +236 -0
  28. js/calendar/skins/aqua/title-bg.gif +0 -0
  29. js/calendar/skins/aqua/today-bg.gif +0 -0
  30. js/extjs/css/README.txt +3 -0
  31. js/extjs/css/basic-dialog.css +286 -0
  32. js/extjs/css/box.css +111 -0
  33. js/extjs/css/button.css +148 -0
  34. js/extjs/css/combo.css +47 -0
  35. js/extjs/css/core.css +292 -0
  36. js/extjs/css/date-picker.css +246 -0
  37. js/extjs/css/dd.css +61 -0
  38. js/extjs/css/debug.css +55 -0
  39. js/extjs/css/editor.css +59 -0
  40. js/extjs/css/ext-all.css +3446 -0
  41. js/extjs/css/form.css +384 -0
  42. js/extjs/css/grid.css +449 -0
  43. js/extjs/css/layout.css +252 -0
  44. js/extjs/css/menu.css +118 -0
  45. js/extjs/css/panel.css +355 -0
  46. js/extjs/css/qtips.css +120 -0
  47. js/extjs/css/reset-min.css +9 -0
  48. js/extjs/css/resizable.css +143 -0
  49. js/extjs/css/tabs.css +134 -0
  50. js/extjs/css/toolbar.css +173 -0
  51. js/extjs/css/tree.css +179 -0
  52. js/extjs/css/ytheme-aero.css +701 -0
  53. js/extjs/css/ytheme-gray.css +438 -0
  54. js/extjs/css/ytheme-vista.css +511 -0
  55. js/extjs/ext-tree-checkbox.js +312 -0
  56. js/extjs/ext-tree.js +242 -0
  57. js/extjs/fix-defer-before.js +43 -0
  58. js/extjs/fix-defer.js +37 -0
  59. js/extjs/resources/css/README.txt +3 -0
  60. js/extjs/resources/css/basic-dialog.css +286 -0
  61. js/extjs/resources/css/box.css +111 -0
  62. js/extjs/resources/css/button.css +148 -0
  63. js/extjs/resources/css/combo.css +47 -0
  64. js/extjs/resources/css/core.css +292 -0
  65. js/extjs/resources/css/date-picker.css +246 -0
  66. js/extjs/resources/css/dd.css +61 -0
  67. js/extjs/resources/css/debug.css +55 -0
  68. js/extjs/resources/css/editor.css +59 -0
  69. js/extjs/resources/css/ext-all.css +2151 -0
  70. js/extjs/resources/css/form.css +397 -0
  71. js/extjs/resources/css/grid.css +295 -0
  72. js/extjs/resources/css/layout.css +252 -0
  73. js/extjs/resources/css/menu.css +118 -0
  74. js/extjs/resources/css/panel.css +355 -0
  75. js/extjs/resources/css/qtips.css +120 -0
  76. js/extjs/resources/css/reset-min.css +9 -0
  77. js/extjs/resources/css/resizable.css +143 -0
  78. js/extjs/resources/css/tabs.css +134 -0
  79. js/extjs/resources/css/toolbar.css +174 -0
  80. js/extjs/resources/css/tree.css +179 -0
  81. js/extjs/resources/css/ytheme-aero.css +582 -0
  82. js/extjs/resources/css/ytheme-galdaka.css +533 -0
  83. js/extjs/resources/css/ytheme-gray.css +438 -0
  84. js/extjs/resources/css/ytheme-magento.css +631 -0
  85. js/extjs/resources/css/ytheme-vista.css +511 -0
  86. js/extjs/resources/images/default/basic-dialog/btn-arrow.gif +0 -0
  87. js/extjs/resources/images/default/basic-dialog/btn-sprite.gif +0 -0
  88. js/extjs/resources/images/default/basic-dialog/close.gif +0 -0
  89. js/extjs/resources/images/default/basic-dialog/collapse.gif +0 -0
  90. js/extjs/resources/images/default/basic-dialog/e-handle.gif +0 -0
  91. js/extjs/resources/images/default/basic-dialog/expand.gif +0 -0
  92. js/extjs/resources/images/default/basic-dialog/hd-sprite.gif +0 -0
  93. js/extjs/resources/images/default/basic-dialog/progress.gif +0 -0
  94. js/extjs/resources/images/default/basic-dialog/progress2.gif +0 -0
  95. js/extjs/resources/images/default/basic-dialog/s-handle.gif +0 -0
  96. js/extjs/resources/images/default/basic-dialog/se-handle.gif +0 -0
  97. js/extjs/resources/images/default/box/corners-blue.gif +0 -0
  98. js/extjs/resources/images/default/box/corners.gif +0 -0
  99. js/extjs/resources/images/default/box/l-blue.gif +0 -0
  100. js/extjs/resources/images/default/box/l.gif +0 -0
  101. js/extjs/resources/images/default/box/r-blue.gif +0 -0
  102. js/extjs/resources/images/default/box/r.gif +0 -0
  103. js/extjs/resources/images/default/box/tb-blue.gif +0 -0
  104. js/extjs/resources/images/default/box/tb.gif +0 -0
  105. js/extjs/resources/images/default/dd/drop-add.gif +0 -0
  106. js/extjs/resources/images/default/dd/drop-no.gif +0 -0
  107. js/extjs/resources/images/default/dd/drop-yes.gif +0 -0
  108. js/extjs/resources/images/default/editor/tb-sprite.gif +0 -0
  109. js/extjs/resources/images/default/form/clear-trigger.gif +0 -0
  110. js/extjs/resources/images/default/form/date-trigger.gif +0 -0
  111. js/extjs/resources/images/default/form/error-tip-corners.gif +0 -0
  112. js/extjs/resources/images/default/form/exclamation.gif +0 -0
  113. js/extjs/resources/images/default/form/search-trigger.gif +0 -0
  114. js/extjs/resources/images/default/form/text-bg.gif +0 -0
  115. js/extjs/resources/images/default/form/trigger-tpl.gif +0 -0
  116. js/extjs/resources/images/default/form/trigger.gif +0 -0
  117. js/extjs/resources/images/default/gradient-bg.gif +0 -0
  118. js/extjs/resources/images/default/grid/Thumbs.db +0 -0
  119. js/extjs/resources/images/default/grid/arrow-left-white.gif +0 -0
  120. js/extjs/resources/images/default/grid/arrow-right-white.gif +0 -0
  121. js/extjs/resources/images/default/grid/col-move-bottom.gif +0 -0
  122. js/extjs/resources/images/default/grid/col-move-top.gif +0 -0
  123. js/extjs/resources/images/default/grid/dirty.gif +0 -0
  124. js/extjs/resources/images/default/grid/done.gif +0 -0
  125. js/extjs/resources/images/default/grid/drop-no.gif +0 -0
  126. js/extjs/resources/images/default/grid/drop-yes.gif +0 -0
  127. js/extjs/resources/images/default/grid/footer-bg.gif +0 -0
  128. js/extjs/resources/images/default/grid/grid-blue-hd.gif +0 -0
  129. js/extjs/resources/images/default/grid/grid-blue-split.gif +0 -0
  130. js/extjs/resources/images/default/grid/grid-hrow.gif +0 -0
  131. js/extjs/resources/images/default/grid/grid-loading.gif +0 -0
  132. js/extjs/resources/images/default/grid/grid-split.gif +0 -0
  133. js/extjs/resources/images/default/grid/grid-vista-hd.gif +0 -0
  134. js/extjs/resources/images/default/grid/grid3-hd-btn.gif +0 -0
  135. js/extjs/resources/images/default/grid/grid3-hrow-over.gif +0 -0
  136. js/extjs/resources/images/default/grid/grid3-hrow.gif +0 -0
  137. js/extjs/resources/images/default/grid/grid3-special-col-bg.gif +0 -0
  138. js/extjs/resources/images/default/grid/grid3-special-col-sel-bg.gif +0 -0
  139. js/extjs/resources/images/default/grid/hd-pop.gif +0 -0
  140. js/extjs/resources/images/default/grid/hmenu-asc.gif +0 -0
  141. js/extjs/resources/images/default/grid/hmenu-desc.gif +0 -0
  142. js/extjs/resources/images/default/grid/hmenu-lock.gif +0 -0
  143. js/extjs/resources/images/default/grid/hmenu-lock.png +0 -0
  144. js/extjs/resources/images/default/grid/hmenu-unlock.gif +0 -0
  145. js/extjs/resources/images/default/grid/hmenu-unlock.png +0 -0
  146. js/extjs/resources/images/default/grid/invalid_line.gif +0 -0
  147. js/extjs/resources/images/default/grid/loading.gif +0 -0
  148. js/extjs/resources/images/default/grid/mso-hd.gif +0 -0
  149. js/extjs/resources/images/default/grid/nowait.gif +0 -0
  150. js/extjs/resources/images/default/grid/page-first-disabled.gif +0 -0
  151. js/extjs/resources/images/default/grid/page-first.gif +0 -0
  152. js/extjs/resources/images/default/grid/page-last-disabled.gif +0 -0
  153. js/extjs/resources/images/default/grid/page-last.gif +0 -0
  154. js/extjs/resources/images/default/grid/page-next-disabled.gif +0 -0
  155. js/extjs/resources/images/default/grid/page-next.gif +0 -0
  156. js/extjs/resources/images/default/grid/page-prev-disabled.gif +0 -0
  157. js/extjs/resources/images/default/grid/page-prev.gif +0 -0
  158. js/extjs/resources/images/default/grid/pick-button.gif +0 -0
  159. js/extjs/resources/images/default/grid/refresh.gif +0 -0
  160. js/extjs/resources/images/default/grid/row-check-sprite.gif +0 -0
  161. js/extjs/resources/images/default/grid/row-expand-sprite.gif +0 -0
  162. js/extjs/resources/images/default/grid/row-over.gif +0 -0
  163. js/extjs/resources/images/default/grid/row-sel.gif +0 -0
  164. js/extjs/resources/images/default/grid/sort_asc.gif +0 -0
  165. js/extjs/resources/images/default/grid/sort_desc.gif +0 -0
  166. js/extjs/resources/images/default/grid/wait.gif +0 -0
  167. js/extjs/resources/images/default/layout/collapse.gif +0 -0
  168. js/extjs/resources/images/default/layout/expand.gif +0 -0
  169. js/extjs/resources/images/default/layout/gradient-bg.gif +0 -0
  170. js/extjs/resources/images/default/layout/ns-collapse.gif +0 -0
  171. js/extjs/resources/images/default/layout/ns-expand.gif +0 -0
  172. js/extjs/resources/images/default/layout/panel-close.gif +0 -0
  173. js/extjs/resources/images/default/layout/panel-title-bg.gif +0 -0
  174. js/extjs/resources/images/default/layout/panel-title-light-bg.gif +0 -0
  175. js/extjs/resources/images/default/layout/stick.gif +0 -0
  176. js/extjs/resources/images/default/layout/stuck.gif +0 -0
  177. js/extjs/resources/images/default/layout/tab-close-on.gif +0 -0
  178. js/extjs/resources/images/default/layout/tab-close.gif +0 -0
  179. js/extjs/resources/images/default/menu/checked.gif +0 -0
  180. js/extjs/resources/images/default/menu/group-checked.gif +0 -0
  181. js/extjs/resources/images/default/menu/menu-parent.gif +0 -0
  182. js/extjs/resources/images/default/menu/menu.gif +0 -0
  183. js/extjs/resources/images/default/menu/unchecked.gif +0 -0
  184. js/extjs/resources/images/default/panel/corners-sprite.gif +0 -0
  185. js/extjs/resources/images/default/panel/left-right.gif +0 -0
  186. js/extjs/resources/images/default/panel/tool-sprite-tpl.gif +0 -0
  187. js/extjs/resources/images/default/panel/tool-sprites.gif +0 -0
  188. js/extjs/resources/images/default/panel/top-bottom.gif +0 -0
  189. js/extjs/resources/images/default/panel/white-corners-sprite.gif +0 -0
  190. js/extjs/resources/images/default/panel/white-left-right.gif +0 -0
  191. js/extjs/resources/images/default/panel/white-top-bottom.gif +0 -0
  192. js/extjs/resources/images/default/qtip/bg.gif +0 -0
  193. js/extjs/resources/images/default/qtip/close.gif +0 -0
  194. js/extjs/resources/images/default/qtip/tip-sprite.gif +0 -0
  195. js/extjs/resources/images/default/s.gif +0 -0
  196. js/extjs/resources/images/default/shadow-c.png +0 -0
  197. js/extjs/resources/images/default/shadow-lr.png +0 -0
  198. js/extjs/resources/images/default/shadow.png +0 -0
  199. js/extjs/resources/images/default/shared/calendar.gif +0 -0
  200. js/extjs/resources/images/default/shared/glass-bg.gif +0 -0
  201. js/extjs/resources/images/default/shared/left-btn.gif +0 -0
  202. js/extjs/resources/images/default/shared/right-btn.gif +0 -0
  203. js/extjs/resources/images/default/shared/warning.gif +0 -0
  204. js/extjs/resources/images/default/sizer/e-handle-dark.gif +0 -0
  205. js/extjs/resources/images/default/sizer/e-handle.gif +0 -0
  206. js/extjs/resources/images/default/sizer/ne-handle-dark.gif +0 -0
  207. js/extjs/resources/images/default/sizer/ne-handle.gif +0 -0
  208. js/extjs/resources/images/default/sizer/nw-handle-dark.gif +0 -0
  209. js/extjs/resources/images/default/sizer/nw-handle.gif +0 -0
  210. js/extjs/resources/images/default/sizer/s-handle-dark.gif +0 -0
  211. js/extjs/resources/images/default/sizer/s-handle.gif +0 -0
  212. js/extjs/resources/images/default/sizer/se-handle-dark.gif +0 -0
  213. js/extjs/resources/images/default/sizer/se-handle.gif +0 -0
  214. js/extjs/resources/images/default/sizer/square.gif +0 -0
  215. js/extjs/resources/images/default/sizer/sw-handle-dark.gif +0 -0
  216. js/extjs/resources/images/default/sizer/sw-handle.gif +0 -0
  217. js/extjs/resources/images/default/tabs/tab-btm-inactive-left-bg.gif +0 -0
  218. js/extjs/resources/images/default/tabs/tab-btm-inactive-right-bg.gif +0 -0
  219. js/extjs/resources/images/default/tabs/tab-btm-left-bg.gif +0 -0
  220. js/extjs/resources/images/default/tabs/tab-btm-right-bg.gif +0 -0
  221. js/extjs/resources/images/default/tabs/tab-sprite.gif +0 -0
  222. js/extjs/resources/images/default/toolbar/btn-arrow-light.gif +0 -0
  223. js/extjs/resources/images/default/toolbar/btn-arrow.gif +0 -0
  224. js/extjs/resources/images/default/toolbar/btn-over-bg.gif +0 -0
  225. js/extjs/resources/images/default/toolbar/gray-bg.gif +0 -0
  226. js/extjs/resources/images/default/toolbar/tb-bg.gif +0 -0
  227. js/extjs/resources/images/default/toolbar/tb-btn-sprite.gif +0 -0
  228. js/extjs/resources/images/default/tree/drop-add.gif +0 -0
  229. js/extjs/resources/images/default/tree/drop-between.gif +0 -0
  230. js/extjs/resources/images/default/tree/drop-no.gif +0 -0
  231. js/extjs/resources/images/default/tree/drop-over.gif +0 -0
  232. js/extjs/resources/images/default/tree/drop-under.gif +0 -0
  233. js/extjs/resources/images/default/tree/drop-yes.gif +0 -0
  234. js/extjs/resources/images/default/tree/elbow-end-minus-nl.gif +0 -0
  235. js/extjs/resources/images/default/tree/elbow-end-minus.gif +0 -0
  236. js/extjs/resources/images/default/tree/elbow-end-plus-nl.gif +0 -0
  237. js/extjs/resources/images/default/tree/elbow-end-plus.gif +0 -0
  238. js/extjs/resources/images/default/tree/elbow-end.gif +0 -0
  239. js/extjs/resources/images/default/tree/elbow-line.gif +0 -0
  240. js/extjs/resources/images/default/tree/elbow-minus-nl.gif +0 -0
  241. js/extjs/resources/images/default/tree/elbow-minus.gif +0 -0
  242. js/extjs/resources/images/default/tree/elbow-plus-nl.gif +0 -0
  243. js/extjs/resources/images/default/tree/elbow-plus.gif +0 -0
  244. js/extjs/resources/images/default/tree/elbow.gif +0 -0
  245. js/extjs/resources/images/default/tree/folder-open.gif +0 -0
  246. js/extjs/resources/images/default/tree/folder.gif +0 -0
  247. js/extjs/resources/images/default/tree/leaf.gif +0 -0
  248. js/extjs/resources/images/default/tree/loading.gif +0 -0
  249. js/extjs/resources/images/default/tree/s.gif +0 -0
  250. js/extjs/resources/images/default/window/corners-sprite.gif +0 -0
  251. js/extjs/resources/images/default/window/left-right.gif +0 -0
  252. js/extjs/resources/images/default/window/top-bottom.gif +0 -0
  253. js/extjs/resources/images/magento/basic-dialog/collapse-on.gif +0 -0
  254. js/extjs/resources/images/magento/basic-dialog/collapse.gif +0 -0
  255. js/extjs/resources/images/magento/basic-dialog/expand-on.gif +0 -0
  256. js/extjs/resources/images/magento/basic-dialog/expand.gif +0 -0
  257. js/extjs/resources/images/magento/basic-dialog/hd-sprite.gif +0 -0
  258. js/extjs/resources/images/magento/basic-dialog/ns-collapse-on.gif +0 -0
  259. js/extjs/resources/images/magento/basic-dialog/ns-collapse.gif +0 -0
  260. js/extjs/resources/images/magento/basic-dialog/ns-expand-on.gif +0 -0
  261. js/extjs/resources/images/magento/basic-dialog/ns-expand.gif +0 -0
  262. js/extjs/resources/images/magento/basic-dialog/panel_close.gif +0 -0
  263. js/extjs/resources/images/magento/basic-dialog/pop_close.gif +0 -0
  264. js/extjs/resources/images/magento/basic-dialog/pop_collapse.gif +0 -0
  265. js/extjs/resources/images/magento/grid/grid-body-bg.gif +0 -0
  266. js/extjs/resources/images/magento/grid/grid-split.gif +0 -0
  267. js/extjs/resources/images/magento/layout/checkered-bg.gif +0 -0
  268. js/extjs/resources/images/magento/layout/icon-catalog.gif +0 -0
  269. js/extjs/resources/images/magento/layout/icon-category.gif +0 -0
  270. js/extjs/resources/images/magento/layout/icon-my-tasks.gif +0 -0
  271. js/extjs/resources/images/magento/layout/icon-product.gif +0 -0
  272. js/extjs/resources/images/magento/loading_bg.gif +0 -0
  273. js/extjs/resources/images/magento/tabs/tab-sprite.gif +0 -0
  274. js/extjs/resources/images/magento/toolbar/btn-arrow.gif +0 -0
  275. js/extjs/resources/images/magento/toolbar/header_bg.gif +0 -0
  276. js/extjs/resources/images/magento/toolbar/toolbar-bg.gif +0 -0
  277. js/extjs/resources/images/magento/tree/elbow-end-minus-nl.gif +0 -0
  278. js/extjs/resources/images/magento/tree/elbow-end-minus.gif +0 -0
  279. js/extjs/resources/images/magento/tree/elbow-end-plus-nl.gif +0 -0
  280. js/extjs/resources/images/magento/tree/elbow-end-plus.gif +0 -0
  281. js/extjs/resources/images/magento/tree/elbow-end.gif +0 -0
  282. js/extjs/resources/images/magento/tree/elbow-line.gif +0 -0
  283. js/extjs/resources/images/magento/tree/elbow-minus-nl.gif +0 -0
  284. js/extjs/resources/images/magento/tree/elbow-minus.gif +0 -0
  285. js/extjs/resources/images/magento/tree/elbow-plus-nl.gif +0 -0
  286. js/extjs/resources/images/magento/tree/elbow-plus.gif +0 -0
  287. js/extjs/resources/images/magento/tree/elbow.gif +0 -0
  288. js/extjs/resources/images/magento/tree/folder-open.gif +0 -0
  289. js/extjs/resources/images/magento/tree/folder.gif +0 -0
  290. js/extjs/resources/images/magento/tree/leaf.gif +0 -0
  291. js/extjs/resources/images/magento/tree/s.gif +0 -0
  292. js/flash/AC_RunActiveContent.js +292 -0
  293. js/index.php +144 -0
  294. js/jscolor/arrow.gif +0 -0
  295. js/jscolor/cross.gif +0 -0
  296. js/jscolor/demo.html +12 -0
  297. js/jscolor/hs.png +0 -0
  298. js/jscolor/hv.png +0 -0
  299. js/jscolor/jscolor.js +840 -0
  300. js/lib/FABridge.js +613 -0
  301. js/lib/boxover.js +372 -0
  302. js/lib/ccard.js +28 -0
  303. js/lib/dropdown.js +36 -0
  304. js/lib/ds-sleight.js +38 -0
  305. js/lib/flex.js +427 -0
  306. js/lib/jquery/jquery-1.10.2.js +3007 -0
app/code/local/Welance/Kraken/Block/Adminhtml/Images/Media.php CHANGED
@@ -20,7 +20,7 @@ class Welance_Kraken_Block_Adminhtml_Images_Media extends Mage_Core_Block_Templa
20
 
21
  $i = 0;
22
  foreach($images as $image){
23
- if($helper->imageExits(Welance_Kraken_Model_Abstract::TYPE_MEDIA,$image['dir'],$image['name'],$image['checksum'])){
24
  unset($images[$i]);
25
  }
26
  $i++;
20
 
21
  $i = 0;
22
  foreach($images as $image){
23
+ if($helper->imageExists(Welance_Kraken_Model_Abstract::TYPE_MEDIA,$image['dir'],$image['name'],$image['checksum'])){
24
  unset($images[$i]);
25
  }
26
  $i++;
app/code/local/Welance/Kraken/Block/Adminhtml/Images/Skin.php CHANGED
@@ -21,7 +21,7 @@ class Welance_Kraken_Block_Adminhtml_Images_Skin extends Mage_Core_Block_Templat
21
  $i = 0;
22
 
23
  foreach($images as $image){
24
- if($helper->imageExits(Welance_Kraken_Model_Abstract::TYPE_SKIN,$image['dir'],$image['name'],$image['checksum'])){
25
  unset($images[$i]);
26
  }
27
  $i++;
21
  $i = 0;
22
 
23
  foreach($images as $image){
24
+ if($helper->imageExists(Welance_Kraken_Model_Abstract::TYPE_SKIN,$image['dir'],$image['name'],$image['checksum'])){
25
  unset($images[$i]);
26
  }
27
  $i++;
app/code/local/Welance/Kraken/Helper/Data.php CHANGED
@@ -91,11 +91,17 @@ class Welance_Kraken_Helper_Data extends Mage_Core_Helper_Abstract
91
  continue;
92
  }
93
 
94
- if (!in_array($object->getExtension(),$imageTypes)) {
95
- continue;
 
 
 
 
 
 
 
96
  }
97
 
98
-
99
  $checksum = sha1_file($fullpath);
100
  $_dir = str_replace($rootDir.DS,'',$object->getPath());
101
 
@@ -237,18 +243,25 @@ class Welance_Kraken_Helper_Data extends Mage_Core_Helper_Abstract
237
  * @return bool
238
  */
239
 
240
- public function imageExits($type, $path, $imageName, $checksum)
241
  {
242
  $resource = Mage::getSingleton('core/resource');
243
 
244
  $readConnection = $resource->getConnection('core_read');
245
 
 
 
246
  $table = $resource->getTableName('welance_kraken/images_'.$type);
247
 
248
- $query = "SELECT `id` FROM `{$table}` WHERE `path` = '{$path}' AND `image_name` = '{$imageName}' AND
249
- (`original_checksum` = '{$checksum}' OR `checksum_after_upload` = '{$checksum}')";
 
 
 
 
 
250
 
251
- if ($readConnection->fetchOne($query) !== false) {
252
  return true;
253
  }
254
 
@@ -279,4 +292,4 @@ class Welance_Kraken_Helper_Data extends Mage_Core_Helper_Abstract
279
 
280
  return $this;
281
  }
282
- }
91
  continue;
92
  }
93
 
94
+ // SplFileInfo::getExtension NOT supported < 5.3.6
95
+ if (method_exists('SplFileInfo', 'getExtension')) {
96
+ if (!in_array($object->getExtension(),$imageTypes)) {
97
+ continue;
98
+ }
99
+ } else {
100
+ if (!in_array(pathinfo($imageName, PATHINFO_EXTENSION),$imageTypes)) {
101
+ continue;
102
+ }
103
  }
104
 
 
105
  $checksum = sha1_file($fullpath);
106
  $_dir = str_replace($rootDir.DS,'',$object->getPath());
107
 
243
  * @return bool
244
  */
245
 
246
+ public function imageExists($type, $path, $imageName, $checksum)
247
  {
248
  $resource = Mage::getSingleton('core/resource');
249
 
250
  $readConnection = $resource->getConnection('core_read');
251
 
252
+ $select = $readConnection->select();
253
+
254
  $table = $resource->getTableName('welance_kraken/images_'.$type);
255
 
256
+ $imageNameEscaped = $readConnection->quote($imageName);
257
+
258
+ $select = $readConnection->select()
259
+ ->from($table, array('id'))
260
+ ->where('path = ?', $path)
261
+ ->where('image_name = ?', $imageNameEscaped)
262
+ ->where('original_checksum = ? OR checksum_after_upload = ?', $checksum);
263
 
264
+ if ($readConnection->fetchOne($select) !== false) {
265
  return true;
266
  }
267
 
292
 
293
  return $this;
294
  }
295
+ }
js/blank.html ADDED
File without changes
js/calendar/calendar-blue.css ADDED
@@ -0,0 +1,232 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* The main calendar widget. DIV containing a table. */
2
+
3
+ div.calendar { position: relative; }
4
+
5
+ .calendar, .calendar table {
6
+ border: 1px solid #556;
7
+ font-size: 11px;
8
+ color: #000;
9
+ cursor: default;
10
+ background: #eef;
11
+ font-family: tahoma,verdana,sans-serif;
12
+ }
13
+
14
+ /* Header part -- contains navigation buttons and day names. */
15
+
16
+ .calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
17
+ text-align: center; /* They are the navigation buttons */
18
+ padding: 2px; /* Make the buttons seem like they're pressing */
19
+ }
20
+
21
+ .calendar .nav {
22
+ background: #778 url(menuarrow.gif) no-repeat 100% 100%;
23
+ }
24
+
25
+ .calendar thead .title { /* This holds the current "month, year" */
26
+ font-weight: bold; /* Pressing it will take you to the current date */
27
+ text-align: center;
28
+ background: #fff;
29
+ color: #000;
30
+ padding: 2px;
31
+ }
32
+
33
+ .calendar thead .headrow { /* Row <TR> containing navigation buttons */
34
+ background: #778;
35
+ color: #fff;
36
+ }
37
+
38
+ .calendar thead .daynames { /* Row <TR> containing the day names */
39
+ background: #bdf;
40
+ }
41
+
42
+ .calendar thead .name { /* Cells <TD> containing the day names */
43
+ border-bottom: 1px solid #556;
44
+ padding: 2px;
45
+ text-align: center;
46
+ color: #000;
47
+ }
48
+
49
+ .calendar thead .weekend { /* How a weekend day name shows in header */
50
+ color: #a66;
51
+ }
52
+
53
+ .calendar thead .hilite { /* How do the buttons in header appear when hover */
54
+ background-color: #aaf;
55
+ color: #000;
56
+ border: 1px solid #04f;
57
+ padding: 1px;
58
+ }
59
+
60
+ .calendar thead .active { /* Active (pressed) buttons in header */
61
+ background-color: #77c;
62
+ padding: 2px 0px 0px 2px;
63
+ }
64
+
65
+ /* The body part -- contains all the days in month. */
66
+
67
+ .calendar tbody .day { /* Cells <TD> containing month days dates */
68
+ width: 2em;
69
+ color: #456;
70
+ text-align: right;
71
+ padding: 2px 4px 2px 2px;
72
+ }
73
+ .calendar tbody .day.othermonth {
74
+ font-size: 80%;
75
+ color: #bbb;
76
+ }
77
+ .calendar tbody .day.othermonth.oweekend {
78
+ color: #fbb;
79
+ }
80
+
81
+ .calendar table .wn {
82
+ padding: 2px 3px 2px 2px;
83
+ border-right: 1px solid #000;
84
+ background: #bdf;
85
+ }
86
+
87
+ .calendar tbody .rowhilite td {
88
+ background: #def;
89
+ }
90
+
91
+ .calendar tbody .rowhilite td.wn {
92
+ background: #eef;
93
+ }
94
+
95
+ .calendar tbody td.hilite { /* Hovered cells <TD> */
96
+ background: #def;
97
+ padding: 1px 3px 1px 1px;
98
+ border: 1px solid #bbb;
99
+ }
100
+
101
+ .calendar tbody td.active { /* Active (pressed) cells <TD> */
102
+ background: #cde;
103
+ padding: 2px 2px 0px 2px;
104
+ }
105
+
106
+ .calendar tbody td.selected { /* Cell showing today date */
107
+ font-weight: bold;
108
+ border: 1px solid #000;
109
+ padding: 1px 3px 1px 1px;
110
+ background: #fff;
111
+ color: #000;
112
+ }
113
+
114
+ .calendar tbody td.weekend { /* Cells showing weekend days */
115
+ color: #a66;
116
+ }
117
+
118
+ .calendar tbody td.today { /* Cell showing selected date */
119
+ font-weight: bold;
120
+ color: #00f;
121
+ }
122
+
123
+ .calendar tbody .disabled { color: #999; }
124
+
125
+ .calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
126
+ visibility: hidden;
127
+ }
128
+
129
+ .calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
130
+ display: none;
131
+ }
132
+
133
+ /* The footer part -- status bar and "Close" button */
134
+
135
+ .calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
136
+ text-align: center;
137
+ background: #556;
138
+ color: #fff;
139
+ }
140
+
141
+ .calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
142
+ background: #fff;
143
+ color: #445;
144
+ border-top: 1px solid #556;
145
+ padding: 1px;
146
+ }
147
+
148
+ .calendar tfoot .hilite { /* Hover style for buttons in footer */
149
+ background: #aaf;
150
+ border: 1px solid #04f;
151
+ color: #000;
152
+ padding: 1px;
153
+ }
154
+
155
+ .calendar tfoot .active { /* Active (pressed) style for buttons in footer */
156
+ background: #77c;
157
+ padding: 2px 0px 0px 2px;
158
+ }
159
+
160
+ /* Combo boxes (menus that display months/years for direct selection) */
161
+
162
+ .calendar .combo {
163
+ position: absolute;
164
+ display: none;
165
+ top: 0px;
166
+ left: 0px;
167
+ width: 4em;
168
+ cursor: default;
169
+ border: 1px solid #655;
170
+ background: #def;
171
+ color: #000;
172
+ font-size: 90%;
173
+ z-index: 100;
174
+ }
175
+
176
+ .calendar .combo .label,
177
+ .calendar .combo .label-IEfix {
178
+ text-align: center;
179
+ padding: 1px;
180
+ }
181
+
182
+ .calendar .combo .label-IEfix {
183
+ width: 4em;
184
+ }
185
+
186
+ .calendar .combo .hilite {
187
+ background: #acf;
188
+ }
189
+
190
+ .calendar .combo .active {
191
+ border-top: 1px solid #46a;
192
+ border-bottom: 1px solid #46a;
193
+ background: #eef;
194
+ font-weight: bold;
195
+ }
196
+
197
+ .calendar td.time {
198
+ border-top: 1px solid #000;
199
+ padding: 1px 0px;
200
+ text-align: center;
201
+ background-color: #f4f0e8;
202
+ }
203
+
204
+ .calendar td.time .hour,
205
+ .calendar td.time .minute,
206
+ .calendar td.time .ampm {
207
+ padding: 0px 3px 0px 4px;
208
+ border: 1px solid #889;
209
+ font-weight: bold;
210
+ background-color: #fff;
211
+ }
212
+
213
+ .calendar td.time .ampm {
214
+ text-align: center;
215
+ }
216
+
217
+ .calendar td.time .colon {
218
+ padding: 0px 2px 0px 3px;
219
+ font-weight: bold;
220
+ }
221
+
222
+ .calendar td.time span.hilite {
223
+ border-color: #000;
224
+ background-color: #667;
225
+ color: #fff;
226
+ }
227
+
228
+ .calendar td.time span.active {
229
+ border-color: #f00;
230
+ background-color: #000;
231
+ color: #0f0;
232
+ }
js/calendar/calendar-blue2.css ADDED
@@ -0,0 +1,236 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* The main calendar widget. DIV containing a table. */
2
+
3
+ div.calendar { position: relative; }
4
+
5
+ .calendar, .calendar table {
6
+ border: 1px solid #206A9B;
7
+ font-size: 11px;
8
+ color: #000;
9
+ cursor: default;
10
+ background: #F1F8FC;
11
+ font-family: tahoma,verdana,sans-serif;
12
+ }
13
+
14
+ /* Header part -- contains navigation buttons and day names. */
15
+
16
+ .calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
17
+ text-align: center; /* They are the navigation buttons */
18
+ padding: 2px; /* Make the buttons seem like they're pressing */
19
+ }
20
+
21
+ .calendar .nav {
22
+ background: #007ED1 url(menuarrow2.gif) no-repeat 100% 100%;
23
+ }
24
+
25
+ .calendar thead .title { /* This holds the current "month, year" */
26
+ font-weight: bold; /* Pressing it will take you to the current date */
27
+ text-align: center;
28
+ background: #000;
29
+ color: #fff;
30
+ padding: 2px;
31
+ }
32
+
33
+ .calendar thead tr { /* Row <TR> containing navigation buttons */
34
+ background: #007ED1;
35
+ color: #fff;
36
+ }
37
+
38
+ .calendar thead .daynames { /* Row <TR> containing the day names */
39
+ background: #C7E1F3;
40
+ }
41
+
42
+ .calendar thead .name { /* Cells <TD> containing the day names */
43
+ border-bottom: 1px solid #206A9B;
44
+ padding: 2px;
45
+ text-align: center;
46
+ color: #000;
47
+ }
48
+
49
+ .calendar thead .weekend { /* How a weekend day name shows in header */
50
+ color: #a66;
51
+ }
52
+
53
+ .calendar thead .hilite { /* How do the buttons in header appear when hover */
54
+ background-color: #34ABFA;
55
+ color: #000;
56
+ border: 1px solid #016DC5;
57
+ padding: 1px;
58
+ }
59
+
60
+ .calendar thead .active { /* Active (pressed) buttons in header */
61
+ background-color: #006AA9;
62
+ border: 1px solid #008AFF;
63
+ padding: 2px 0px 0px 2px;
64
+ }
65
+
66
+ /* The body part -- contains all the days in month. */
67
+
68
+ .calendar tbody .day { /* Cells <TD> containing month days dates */
69
+ width: 2em;
70
+ color: #456;
71
+ text-align: right;
72
+ padding: 2px 4px 2px 2px;
73
+ }
74
+ .calendar tbody .day.othermonth {
75
+ font-size: 80%;
76
+ color: #bbb;
77
+ }
78
+ .calendar tbody .day.othermonth.oweekend {
79
+ color: #fbb;
80
+ }
81
+
82
+ .calendar table .wn {
83
+ padding: 2px 3px 2px 2px;
84
+ border-right: 1px solid #000;
85
+ background: #C7E1F3;
86
+ }
87
+
88
+ .calendar tbody .rowhilite td {
89
+ background: #def;
90
+ }
91
+
92
+ .calendar tbody .rowhilite td.wn {
93
+ background: #F1F8FC;
94
+ }
95
+
96
+ .calendar tbody td.hilite { /* Hovered cells <TD> */
97
+ background: #def;
98
+ padding: 1px 3px 1px 1px;
99
+ border: 1px solid #8FC4E8;
100
+ }
101
+
102
+ .calendar tbody td.active { /* Active (pressed) cells <TD> */
103
+ background: #cde;
104
+ padding: 2px 2px 0px 2px;
105
+ }
106
+
107
+ .calendar tbody td.selected { /* Cell showing today date */
108
+ font-weight: bold;
109
+ border: 1px solid #000;
110
+ padding: 1px 3px 1px 1px;
111
+ background: #fff;
112
+ color: #000;
113
+ }
114
+
115
+ .calendar tbody td.weekend { /* Cells showing weekend days */
116
+ color: #a66;
117
+ }
118
+
119
+ .calendar tbody td.today { /* Cell showing selected date */
120
+ font-weight: bold;
121
+ color: #D50000;
122
+ }
123
+
124
+ .calendar tbody .disabled { color: #999; }
125
+
126
+ .calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
127
+ visibility: hidden;
128
+ }
129
+
130
+ .calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
131
+ display: none;
132
+ }
133
+
134
+ /* The footer part -- status bar and "Close" button */
135
+
136
+ .calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
137
+ text-align: center;
138
+ background: #206A9B;
139
+ color: #fff;
140
+ }
141
+
142
+ .calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
143
+ background: #000;
144
+ color: #fff;
145
+ border-top: 1px solid #206A9B;
146
+ padding: 1px;
147
+ }
148
+
149
+ .calendar tfoot .hilite { /* Hover style for buttons in footer */
150
+ background: #B8DAF0;
151
+ border: 1px solid #178AEB;
152
+ color: #000;
153
+ padding: 1px;
154
+ }
155
+
156
+ .calendar tfoot .active { /* Active (pressed) style for buttons in footer */
157
+ background: #006AA9;
158
+ padding: 2px 0px 0px 2px;
159
+ }
160
+
161
+ /* Combo boxes (menus that display months/years for direct selection) */
162
+
163
+ .calendar .combo {
164
+ position: absolute;
165
+ display: none;
166
+ top: 0px;
167
+ left: 0px;
168
+ width: 4em;
169
+ cursor: default;
170
+ border: 1px solid #655;
171
+ background: #def;
172
+ color: #000;
173
+ font-size: 90%;
174
+ z-index: 100;
175
+ }
176
+
177
+ .calendar .combo .label,
178
+ .calendar .combo .label-IEfix {
179
+ text-align: center;
180
+ padding: 1px;
181
+ }
182
+
183
+ .calendar .combo .label-IEfix {
184
+ width: 4em;
185
+ }
186
+
187
+ .calendar .combo .hilite {
188
+ background: #34ABFA;
189
+ border-top: 1px solid #46a;
190
+ border-bottom: 1px solid #46a;
191
+ font-weight: bold;
192
+ }
193
+
194
+ .calendar .combo .active {
195
+ border-top: 1px solid #46a;
196
+ border-bottom: 1px solid #46a;
197
+ background: #F1F8FC;
198
+ font-weight: bold;
199
+ }
200
+
201
+ .calendar td.time {
202
+ border-top: 1px solid #000;
203
+ padding: 1px 0px;
204
+ text-align: center;
205
+ background-color: #E3F0F9;
206
+ }
207
+
208
+ .calendar td.time .hour,
209
+ .calendar td.time .minute,
210
+ .calendar td.time .ampm {
211
+ padding: 0px 3px 0px 4px;
212
+ border: 1px solid #889;
213
+ font-weight: bold;
214
+ background-color: #F1F8FC;
215
+ }
216
+
217
+ .calendar td.time .ampm {
218
+ text-align: center;
219
+ }
220
+
221
+ .calendar td.time .colon {
222
+ padding: 0px 2px 0px 3px;
223
+ font-weight: bold;
224
+ }
225
+
226
+ .calendar td.time span.hilite {
227
+ border-color: #000;
228
+ background-color: #267DB7;
229
+ color: #fff;
230
+ }
231
+
232
+ .calendar td.time span.active {
233
+ border-color: red;
234
+ background-color: #000;
235
+ color: #A5FF00;
236
+ }
js/calendar/calendar-brown.css ADDED
@@ -0,0 +1,225 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* The main calendar widget. DIV containing a table. */
2
+
3
+ div.calendar { position: relative; }
4
+
5
+ .calendar, .calendar table {
6
+ border: 1px solid #655;
7
+ font-size: 11px;
8
+ color: #000;
9
+ cursor: default;
10
+ background: #ffd;
11
+ font-family: tahoma,verdana,sans-serif;
12
+ }
13
+
14
+ /* Header part -- contains navigation buttons and day names. */
15
+
16
+ .calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
17
+ text-align: center; /* They are the navigation buttons */
18
+ padding: 2px; /* Make the buttons seem like they're pressing */
19
+ }
20
+
21
+ .calendar .nav {
22
+ background: #edc url(menuarrow.gif) no-repeat 100% 100%;
23
+ }
24
+
25
+ .calendar thead .title { /* This holds the current "month, year" */
26
+ font-weight: bold; /* Pressing it will take you to the current date */
27
+ text-align: center;
28
+ background: #654;
29
+ color: #fed;
30
+ padding: 2px;
31
+ }
32
+
33
+ .calendar thead .headrow { /* Row <TR> containing navigation buttons */
34
+ background: #edc;
35
+ color: #000;
36
+ }
37
+
38
+ .calendar thead .name { /* Cells <TD> containing the day names */
39
+ border-bottom: 1px solid #655;
40
+ padding: 2px;
41
+ text-align: center;
42
+ color: #000;
43
+ }
44
+
45
+ .calendar thead .weekend { /* How a weekend day name shows in header */
46
+ color: #f00;
47
+ }
48
+
49
+ .calendar thead .hilite { /* How do the buttons in header appear when hover */
50
+ background-color: #faa;
51
+ color: #000;
52
+ border: 1px solid #f40;
53
+ padding: 1px;
54
+ }
55
+
56
+ .calendar thead .active { /* Active (pressed) buttons in header */
57
+ background-color: #c77;
58
+ padding: 2px 0px 0px 2px;
59
+ }
60
+
61
+ .calendar thead .daynames { /* Row <TR> containing the day names */
62
+ background: #fed;
63
+ }
64
+
65
+ /* The body part -- contains all the days in month. */
66
+
67
+ .calendar tbody .day { /* Cells <TD> containing month days dates */
68
+ width: 2em;
69
+ text-align: right;
70
+ padding: 2px 4px 2px 2px;
71
+ }
72
+ .calendar tbody .day.othermonth {
73
+ font-size: 80%;
74
+ color: #bbb;
75
+ }
76
+ .calendar tbody .day.othermonth.oweekend {
77
+ color: #fbb;
78
+ }
79
+
80
+ .calendar table .wn {
81
+ padding: 2px 3px 2px 2px;
82
+ border-right: 1px solid #000;
83
+ background: #fed;
84
+ }
85
+
86
+ .calendar tbody .rowhilite td {
87
+ background: #ddf;
88
+ }
89
+
90
+ .calendar tbody .rowhilite td.wn {
91
+ background: #efe;
92
+ }
93
+
94
+ .calendar tbody td.hilite { /* Hovered cells <TD> */
95
+ background: #ffe;
96
+ padding: 1px 3px 1px 1px;
97
+ border: 1px solid #bbb;
98
+ }
99
+
100
+ .calendar tbody td.active { /* Active (pressed) cells <TD> */
101
+ background: #ddc;
102
+ padding: 2px 2px 0px 2px;
103
+ }
104
+
105
+ .calendar tbody td.selected { /* Cell showing today date */
106
+ font-weight: bold;
107
+ border: 1px solid #000;
108
+ padding: 1px 3px 1px 1px;
109
+ background: #fea;
110
+ }
111
+
112
+ .calendar tbody td.weekend { /* Cells showing weekend days */
113
+ color: #f00;
114
+ }
115
+
116
+ .calendar tbody td.today { font-weight: bold; }
117
+
118
+ .calendar tbody .disabled { color: #999; }
119
+
120
+ .calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
121
+ visibility: hidden;
122
+ }
123
+
124
+ .calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
125
+ display: none;
126
+ }
127
+
128
+ /* The footer part -- status bar and "Close" button */
129
+
130
+ .calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
131
+ text-align: center;
132
+ background: #988;
133
+ color: #000;
134
+ }
135
+
136
+ .calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
137
+ border-top: 1px solid #655;
138
+ background: #dcb;
139
+ color: #840;
140
+ }
141
+
142
+ .calendar tfoot .hilite { /* Hover style for buttons in footer */
143
+ background: #faa;
144
+ border: 1px solid #f40;
145
+ padding: 1px;
146
+ }
147
+
148
+ .calendar tfoot .active { /* Active (pressed) style for buttons in footer */
149
+ background: #c77;
150
+ padding: 2px 0px 0px 2px;
151
+ }
152
+
153
+ /* Combo boxes (menus that display months/years for direct selection) */
154
+
155
+ .calendar .combo {
156
+ position: absolute;
157
+ display: none;
158
+ top: 0px;
159
+ left: 0px;
160
+ width: 4em;
161
+ cursor: default;
162
+ border: 1px solid #655;
163
+ background: #ffe;
164
+ color: #000;
165
+ font-size: 90%;
166
+ z-index: 100;
167
+ }
168
+
169
+ .calendar .combo .label,
170
+ .calendar .combo .label-IEfix {
171
+ text-align: center;
172
+ padding: 1px;
173
+ }
174
+
175
+ .calendar .combo .label-IEfix {
176
+ width: 4em;
177
+ }
178
+
179
+ .calendar .combo .hilite {
180
+ background: #fc8;
181
+ }
182
+
183
+ .calendar .combo .active {
184
+ border-top: 1px solid #a64;
185
+ border-bottom: 1px solid #a64;
186
+ background: #fee;
187
+ font-weight: bold;
188
+ }
189
+
190
+ .calendar td.time {
191
+ border-top: 1px solid #a88;
192
+ padding: 1px 0px;
193
+ text-align: center;
194
+ background-color: #fed;
195
+ }
196
+
197
+ .calendar td.time .hour,
198
+ .calendar td.time .minute,
199
+ .calendar td.time .ampm {
200
+ padding: 0px 3px 0px 4px;
201
+ border: 1px solid #988;
202
+ font-weight: bold;
203
+ background-color: #fff;
204
+ }
205
+
206
+ .calendar td.time .ampm {
207
+ text-align: center;
208
+ }
209
+
210
+ .calendar td.time .colon {
211
+ padding: 0px 2px 0px 3px;
212
+ font-weight: bold;
213
+ }
214
+
215
+ .calendar td.time span.hilite {
216
+ border-color: #000;
217
+ background-color: #866;
218
+ color: #fff;
219
+ }
220
+
221
+ .calendar td.time span.active {
222
+ border-color: #f00;
223
+ background-color: #000;
224
+ color: #0f0;
225
+ }
js/calendar/calendar-green.css ADDED
@@ -0,0 +1,229 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* The main calendar widget. DIV containing a table. */
2
+
3
+ div.calendar { position: relative; }
4
+
5
+ .calendar, .calendar table {
6
+ border: 1px solid #565;
7
+ font-size: 11px;
8
+ color: #000;
9
+ cursor: default;
10
+ background: #efe;
11
+ font-family: tahoma,verdana,sans-serif;
12
+ }
13
+
14
+ /* Header part -- contains navigation buttons and day names. */
15
+
16
+ .calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
17
+ text-align: center; /* They are the navigation buttons */
18
+ padding: 2px; /* Make the buttons seem like they're pressing */
19
+ background: #676;
20
+ color: #fff;
21
+ font-size: 90%;
22
+ }
23
+
24
+ .calendar .nav {
25
+ background: #676 url(menuarrow.gif) no-repeat 100% 100%;
26
+ }
27
+
28
+ .calendar thead .title { /* This holds the current "month, year" */
29
+ font-weight: bold; /* Pressing it will take you to the current date */
30
+ text-align: center;
31
+ padding: 2px;
32
+ background: #250;
33
+ color: #efa;
34
+ }
35
+
36
+ .calendar thead .headrow { /* Row <TR> containing navigation buttons */
37
+ }
38
+
39
+ .calendar thead .name { /* Cells <TD> containing the day names */
40
+ border-bottom: 1px solid #565;
41
+ padding: 2px;
42
+ text-align: center;
43
+ color: #000;
44
+ }
45
+
46
+ .calendar thead .weekend { /* How a weekend day name shows in header */
47
+ color: #a66;
48
+ }
49
+
50
+ .calendar thead .hilite { /* How do the buttons in header appear when hover */
51
+ background-color: #afa;
52
+ color: #000;
53
+ border: 1px solid #084;
54
+ padding: 1px;
55
+ }
56
+
57
+ .calendar thead .active { /* Active (pressed) buttons in header */
58
+ background-color: #7c7;
59
+ padding: 2px 0px 0px 2px;
60
+ }
61
+
62
+ .calendar thead .daynames { /* Row <TR> containing the day names */
63
+ background: #dfb;
64
+ }
65
+
66
+ /* The body part -- contains all the days in month. */
67
+
68
+ .calendar tbody .day { /* Cells <TD> containing month days dates */
69
+ width: 2em;
70
+ color: #564;
71
+ text-align: right;
72
+ padding: 2px 4px 2px 2px;
73
+ }
74
+ .calendar tbody .day.othermonth {
75
+ font-size: 80%;
76
+ color: #bbb;
77
+ }
78
+ .calendar tbody .day.othermonth.oweekend {
79
+ color: #fbb;
80
+ }
81
+
82
+ .calendar table .wn {
83
+ padding: 2px 3px 2px 2px;
84
+ border-right: 1px solid #8a8;
85
+ background: #dfb;
86
+ }
87
+
88
+ .calendar tbody .rowhilite td {
89
+ background: #dfd;
90
+ }
91
+
92
+ .calendar tbody .rowhilite td.wn {
93
+ background: #efe;
94
+ }
95
+
96
+ .calendar tbody td.hilite { /* Hovered cells <TD> */
97
+ background: #efd;
98
+ padding: 1px 3px 1px 1px;
99
+ border: 1px solid #bbb;
100
+ }
101
+
102
+ .calendar tbody td.active { /* Active (pressed) cells <TD> */
103
+ background: #dec;
104
+ padding: 2px 2px 0px 2px;
105
+ }
106
+
107
+ .calendar tbody td.selected { /* Cell showing today date */
108
+ font-weight: bold;
109
+ border: 1px solid #000;
110
+ padding: 1px 3px 1px 1px;
111
+ background: #f8fff8;
112
+ color: #000;
113
+ }
114
+
115
+ .calendar tbody td.weekend { /* Cells showing weekend days */
116
+ color: #a66;
117
+ }
118
+
119
+ .calendar tbody td.today { font-weight: bold; color: #0a0; }
120
+
121
+ .calendar tbody .disabled { color: #999; }
122
+
123
+ .calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
124
+ visibility: hidden;
125
+ }
126
+
127
+ .calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
128
+ display: none;
129
+ }
130
+
131
+ /* The footer part -- status bar and "Close" button */
132
+
133
+ .calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
134
+ text-align: center;
135
+ background: #565;
136
+ color: #fff;
137
+ }
138
+
139
+ .calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
140
+ padding: 2px;
141
+ background: #250;
142
+ color: #efa;
143
+ }
144
+
145
+ .calendar tfoot .hilite { /* Hover style for buttons in footer */
146
+ background: #afa;
147
+ border: 1px solid #084;
148
+ color: #000;
149
+ padding: 1px;
150
+ }
151
+
152
+ .calendar tfoot .active { /* Active (pressed) style for buttons in footer */
153
+ background: #7c7;
154
+ padding: 2px 0px 0px 2px;
155
+ }
156
+
157
+ /* Combo boxes (menus that display months/years for direct selection) */
158
+
159
+ .calendar .combo {
160
+ position: absolute;
161
+ display: none;
162
+ top: 0px;
163
+ left: 0px;
164
+ width: 4em;
165
+ cursor: default;
166
+ border: 1px solid #565;
167
+ background: #efd;
168
+ color: #000;
169
+ font-size: 90%;
170
+ z-index: 100;
171
+ }
172
+
173
+ .calendar .combo .label,
174
+ .calendar .combo .label-IEfix {
175
+ text-align: center;
176
+ padding: 1px;
177
+ }
178
+
179
+ .calendar .combo .label-IEfix {
180
+ width: 4em;
181
+ }
182
+
183
+ .calendar .combo .hilite {
184
+ background: #af8;
185
+ }
186
+
187
+ .calendar .combo .active {
188
+ border-top: 1px solid #6a4;
189
+ border-bottom: 1px solid #6a4;
190
+ background: #efe;
191
+ font-weight: bold;
192
+ }
193
+
194
+ .calendar td.time {
195
+ border-top: 1px solid #8a8;
196
+ padding: 1px 0px;
197
+ text-align: center;
198
+ background-color: #dfb;
199
+ }
200
+
201
+ .calendar td.time .hour,
202
+ .calendar td.time .minute,
203
+ .calendar td.time .ampm {
204
+ padding: 0px 3px 0px 4px;
205
+ border: 1px solid #898;
206
+ font-weight: bold;
207
+ background-color: #fff;
208
+ }
209
+
210
+ .calendar td.time .ampm {
211
+ text-align: center;
212
+ }
213
+
214
+ .calendar td.time .colon {
215
+ padding: 0px 2px 0px 3px;
216
+ font-weight: bold;
217
+ }
218
+
219
+ .calendar td.time span.hilite {
220
+ border-color: #000;
221
+ background-color: #686;
222
+ color: #fff;
223
+ }
224
+
225
+ .calendar td.time span.active {
226
+ border-color: #f00;
227
+ background-color: #000;
228
+ color: #0f0;
229
+ }
js/calendar/calendar-setup.js ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Copyright Mihai Bazon, 2002, 2003 | http://dynarch.com/mishoo/
2
+ * ---------------------------------------------------------------------------
3
+ *
4
+ * The DHTML Calendar
5
+ *
6
+ * Details and latest version at:
7
+ * http://dynarch.com/mishoo/calendar.epl
8
+ *
9
+ * This script is distributed under the GNU Lesser General Public License.
10
+ * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html
11
+ *
12
+ * This file defines helper functions for setting up the calendar. They are
13
+ * intended to help non-programmers get a working calendar on their site
14
+ * quickly. This script should not be seen as part of the calendar. It just
15
+ * shows you what one can do with the calendar, while in the same time
16
+ * providing a quick and simple method for setting it up. If you need
17
+ * exhaustive customization of the calendar creation process feel free to
18
+ * modify this code to suit your needs (this is recommended and much better
19
+ * than modifying calendar.js itself).
20
+ */
21
+ Calendar.setup=function(params){function param_default(pname,def){if(typeof params[pname]=="undefined"){params[pname]=def;}};param_default("inputField",null);param_default("displayArea",null);param_default("button",null);param_default("eventName","click");param_default("ifFormat","%Y/%m/%d");param_default("daFormat","%Y/%m/%d");param_default("singleClick",true);param_default("disableFunc",null);param_default("dateStatusFunc",params["disableFunc"]);param_default("dateText",null);param_default("firstDay",null);param_default("align","Br");param_default("range",[1900,2999]);param_default("weekNumbers",true);param_default("flat",null);param_default("flatCallback",null);param_default("onSelect",null);param_default("onClose",null);param_default("onUpdate",null);param_default("date",null);param_default("showsTime",false);param_default("timeFormat","24");param_default("electric",true);param_default("step",2);param_default("position",null);param_default("cache",false);param_default("showOthers",false);param_default("multiple",null);var tmp=["inputField","displayArea","button"];for(var i in tmp){if(typeof params[tmp[i]]=="string"){params[tmp[i]]=document.getElementById(params[tmp[i]]);}}if(!(params.flat||params.multiple||params.inputField||params.displayArea||params.button)){alert("Calendar.setup:\n Nothing to setup (no fields found). Please check your code");return false;}function onSelect(cal){var p=cal.params;var update=(cal.dateClicked||p.electric);if(update&&p.inputField){p.inputField.value=cal.date.print(p.ifFormat);if(typeof p.inputField.onchange=="function")p.inputField.onchange();if(typeof fireEvent == 'function')fireEvent(p.inputField, "change");}if(update&&p.displayArea)p.displayArea.innerHTML=cal.date.print(p.daFormat);if(update&&typeof p.onUpdate=="function")p.onUpdate(cal);if(update&&p.flat){if(typeof p.flatCallback=="function")p.flatCallback(cal);}if(update&&p.singleClick&&cal.dateClicked)cal.callCloseHandler();};if(params.flat!=null){if(typeof params.flat=="string")params.flat=document.getElementById(params.flat);if(!params.flat){alert("Calendar.setup:\n Flat specified but can't find parent.");return false;}var cal=new Calendar(params.firstDay,params.date,params.onSelect||onSelect);cal.showsOtherMonths=params.showOthers;cal.showsTime=params.showsTime;cal.time24=(params.timeFormat=="24");cal.params=params;cal.weekNumbers=params.weekNumbers;cal.setRange(params.range[0],params.range[1]);cal.setDateStatusHandler(params.dateStatusFunc);cal.getDateText=params.dateText;if(params.ifFormat){cal.setDateFormat(params.ifFormat);}if(params.inputField&&typeof params.inputField.value=="string"){cal.parseDate(params.inputField.value);}cal.create(params.flat);cal.show();return false;}var triggerEl=params.button||params.displayArea||params.inputField;triggerEl["on"+params.eventName]=function(){var dateEl=params.inputField||params.displayArea;var dateFmt=params.inputField?params.ifFormat:params.daFormat;var mustCreate=false;var cal=window.calendar;if(dateEl)params.date=Date.parseDate(dateEl.value||dateEl.innerHTML,dateFmt);if(!(cal&&params.cache)){window.calendar=cal=new Calendar(params.firstDay,params.date,params.onSelect||onSelect,params.onClose||function(cal){cal.hide();});cal.showsTime=params.showsTime;cal.time24=(params.timeFormat=="24");cal.weekNumbers=params.weekNumbers;mustCreate=true;}else{if(params.date)cal.setDate(params.date);cal.hide();}if(params.multiple){cal.multiple={};for(var i=params.multiple.length;--i>=0;){var d=params.multiple[i];var ds=d.print("%Y%m%d");cal.multiple[ds]=d;}}cal.showsOtherMonths=params.showOthers;cal.yearStep=params.step;cal.setRange(params.range[0],params.range[1]);cal.params=params;cal.setDateStatusHandler(params.dateStatusFunc);cal.getDateText=params.dateText;cal.setDateFormat(dateFmt);if(mustCreate)cal.create();cal.refresh();if(!params.position)cal.showAtElement(params.button||params.displayArea||params.inputField,params.align);else cal.showAt(params.position[0],params.position[1]);return false;};return cal;};
js/calendar/calendar-system.css ADDED
@@ -0,0 +1,251 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* The main calendar widget. DIV containing a table. */
2
+
3
+ .calendar {
4
+ position: relative;
5
+ display: none;
6
+ border: 1px solid;
7
+ border-color: #fff #000 #000 #fff;
8
+ font-size: 11px;
9
+ cursor: default;
10
+ background: Window;
11
+ color: WindowText;
12
+ font-family: tahoma,verdana,sans-serif;
13
+ }
14
+
15
+ .calendar table {
16
+ border: 1px solid;
17
+ border-color: #fff #000 #000 #fff;
18
+ font-size: 11px;
19
+ cursor: default;
20
+ background: Window;
21
+ color: WindowText;
22
+ font-family: tahoma,verdana,sans-serif;
23
+ }
24
+
25
+ /* Header part -- contains navigation buttons and day names. */
26
+
27
+ .calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
28
+ text-align: center;
29
+ padding: 1px;
30
+ border: 1px solid;
31
+ border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;
32
+ background: ButtonFace;
33
+ }
34
+
35
+ .calendar .nav {
36
+ background: ButtonFace url(menuarrow.gif) no-repeat 100% 100%;
37
+ }
38
+
39
+ .calendar thead .title { /* This holds the current "month, year" */
40
+ font-weight: bold;
41
+ padding: 1px;
42
+ border: 1px solid #000;
43
+ background: ActiveCaption;
44
+ color: CaptionText;
45
+ text-align: center;
46
+ }
47
+
48
+ .calendar thead .headrow { /* Row <TR> containing navigation buttons */
49
+ }
50
+
51
+ .calendar thead .daynames { /* Row <TR> containing the day names */
52
+ }
53
+
54
+ .calendar thead .name { /* Cells <TD> containing the day names */
55
+ border-bottom: 1px solid ButtonShadow;
56
+ padding: 2px;
57
+ text-align: center;
58
+ background: ButtonFace;
59
+ color: ButtonText;
60
+ }
61
+
62
+ .calendar thead .weekend { /* How a weekend day name shows in header */
63
+ color: #f00;
64
+ }
65
+
66
+ .calendar thead .hilite { /* How do the buttons in header appear when hover */
67
+ border: 2px solid;
68
+ padding: 0px;
69
+ border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;
70
+ }
71
+
72
+ .calendar thead .active { /* Active (pressed) buttons in header */
73
+ border-width: 1px;
74
+ padding: 2px 0px 0px 2px;
75
+ border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
76
+ }
77
+
78
+ /* The body part -- contains all the days in month. */
79
+
80
+ .calendar tbody .day { /* Cells <TD> containing month days dates */
81
+ width: 2em;
82
+ text-align: right;
83
+ padding: 2px 4px 2px 2px;
84
+ }
85
+ .calendar tbody .day.othermonth {
86
+ font-size: 80%;
87
+ color: #aaa;
88
+ }
89
+ .calendar tbody .day.othermonth.oweekend {
90
+ color: #faa;
91
+ }
92
+
93
+ .calendar table .wn {
94
+ padding: 2px 3px 2px 2px;
95
+ border-right: 1px solid ButtonShadow;
96
+ background: ButtonFace;
97
+ color: ButtonText;
98
+ }
99
+
100
+ .calendar tbody .rowhilite td {
101
+ background: Highlight;
102
+ color: HighlightText;
103
+ }
104
+
105
+ .calendar tbody td.hilite { /* Hovered cells <TD> */
106
+ padding: 1px 3px 1px 1px;
107
+ border-top: 1px solid #fff;
108
+ border-right: 1px solid #000;
109
+ border-bottom: 1px solid #000;
110
+ border-left: 1px solid #fff;
111
+ }
112
+
113
+ .calendar tbody td.active { /* Active (pressed) cells <TD> */
114
+ padding: 2px 2px 0px 2px;
115
+ border: 1px solid;
116
+ border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
117
+ }
118
+
119
+ .calendar tbody td.selected { /* Cell showing selected date */
120
+ font-weight: bold;
121
+ border: 1px solid;
122
+ border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
123
+ padding: 2px 2px 0px 2px;
124
+ background: ButtonFace;
125
+ color: ButtonText;
126
+ }
127
+
128
+ .calendar tbody td.weekend { /* Cells showing weekend days */
129
+ color: #f00;
130
+ }
131
+
132
+ .calendar tbody td.today { /* Cell showing today date */
133
+ font-weight: bold;
134
+ color: #00f;
135
+ }
136
+
137
+ .calendar tbody td.disabled { color: GrayText; }
138
+
139
+ .calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
140
+ visibility: hidden;
141
+ }
142
+
143
+ .calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
144
+ display: none;
145
+ }
146
+
147
+ /* The footer part -- status bar and "Close" button */
148
+
149
+ .calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
150
+ }
151
+
152
+ .calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
153
+ background: ButtonFace;
154
+ padding: 1px;
155
+ border: 1px solid;
156
+ border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
157
+ color: ButtonText;
158
+ text-align: center;
159
+ }
160
+
161
+ .calendar tfoot .hilite { /* Hover style for buttons in footer */
162
+ border-top: 1px solid #fff;
163
+ border-right: 1px solid #000;
164
+ border-bottom: 1px solid #000;
165
+ border-left: 1px solid #fff;
166
+ padding: 1px;
167
+ background: #e4e0d8;
168
+ }
169
+
170
+ .calendar tfoot .active { /* Active (pressed) style for buttons in footer */
171
+ padding: 2px 0px 0px 2px;
172
+ border-top: 1px solid #000;
173
+ border-right: 1px solid #fff;
174
+ border-bottom: 1px solid #fff;
175
+ border-left: 1px solid #000;
176
+ }
177
+
178
+ /* Combo boxes (menus that display months/years for direct selection) */
179
+
180
+ .calendar .combo {
181
+ position: absolute;
182
+ display: none;
183
+ width: 4em;
184
+ top: 0px;
185
+ left: 0px;
186
+ cursor: default;
187
+ border: 1px solid;
188
+ border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;
189
+ background: Menu;
190
+ color: MenuText;
191
+ font-size: 90%;
192
+ padding: 1px;
193
+ z-index: 100;
194
+ }
195
+
196
+ .calendar .combo .label,
197
+ .calendar .combo .label-IEfix {
198
+ text-align: center;
199
+ padding: 1px;
200
+ }
201
+
202
+ .calendar .combo .label-IEfix {
203
+ width: 4em;
204
+ }
205
+
206
+ .calendar .combo .active {
207
+ padding: 0px;
208
+ border: 1px solid #000;
209
+ }
210
+
211
+ .calendar .combo .hilite {
212
+ background: Highlight;
213
+ color: HighlightText;
214
+ }
215
+
216
+ .calendar td.time {
217
+ border-top: 1px solid ButtonShadow;
218
+ padding: 1px 0px;
219
+ text-align: center;
220
+ background-color: ButtonFace;
221
+ }
222
+
223
+ .calendar td.time .hour,
224
+ .calendar td.time .minute,
225
+ .calendar td.time .ampm {
226
+ padding: 0px 3px 0px 4px;
227
+ border: 1px solid #889;
228
+ font-weight: bold;
229
+ background-color: Menu;
230
+ }
231
+
232
+ .calendar td.time .ampm {
233
+ text-align: center;
234
+ }
235
+
236
+ .calendar td.time .colon {
237
+ padding: 0px 2px 0px 3px;
238
+ font-weight: bold;
239
+ }
240
+
241
+ .calendar td.time span.hilite {
242
+ border-color: #000;
243
+ background-color: Highlight;
244
+ color: HighlightText;
245
+ }
246
+
247
+ .calendar td.time span.active {
248
+ border-color: #f00;
249
+ background-color: #000;
250
+ color: #0f0;
251
+ }
js/calendar/calendar-tas.css ADDED
@@ -0,0 +1,239 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* The main calendar widget. DIV containing a table. */
2
+
3
+ div.calendar { position: relative; }
4
+
5
+ .calendar, .calendar table {
6
+ border: 1px solid #655;
7
+ font-size: 11px;
8
+ color: #000;
9
+ cursor: default;
10
+ background: #ffd;
11
+ font-family: tahoma,verdana,sans-serif;
12
+ filter:
13
+ progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#DDDCCC,EndColorStr=#FFFFFF);
14
+ }
15
+
16
+ /* Header part -- contains navigation buttons and day names. */
17
+
18
+ .calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
19
+ text-align: center; /* They are the navigation buttons */
20
+ padding: 2px; /* Make the buttons seem like they're pressing */
21
+ color:#363636;
22
+ }
23
+
24
+ .calendar .nav {
25
+ background: #edc url(menuarrow.gif) no-repeat 100% 100%;
26
+ }
27
+
28
+ .calendar thead .title { /* This holds the current "month, year" */
29
+ font-weight: bold; /* Pressing it will take you to the current date */
30
+ text-align: center;
31
+ background: #654;
32
+ color: #363636;
33
+ padding: 2px;
34
+ filter:
35
+ progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#ffffff,EndColorStr=#dddccc);
36
+ }
37
+
38
+ .calendar thead .headrow { /* Row <TR> containing navigation buttons */
39
+ /*background: #3B86A0;*/
40
+ color: #363636;
41
+ font-weight: bold;
42
+ filter:
43
+ progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#ffffff,EndColorStr=#3b86a0);
44
+ }
45
+
46
+ .calendar thead .name { /* Cells <TD> containing the day names */
47
+ border-bottom: 1px solid #655;
48
+ padding: 2px;
49
+ text-align: center;
50
+ color: #363636;
51
+ filter:
52
+ progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#DDDCCC,EndColorStr=#FFFFFF);
53
+ }
54
+
55
+ .calendar thead .weekend { /* How a weekend day name shows in header */
56
+ color: #f00;
57
+ }
58
+
59
+ .calendar thead .hilite { /* How do the buttons in header appear when hover */
60
+ background-color: #ffcc86;
61
+ color: #000;
62
+ border: 1px solid #b59345;
63
+ padding: 1px;
64
+ }
65
+
66
+ .calendar thead .active { /* Active (pressed) buttons in header */
67
+ background-color: #c77;
68
+ padding: 2px 0px 0px 2px;
69
+ }
70
+
71
+ .calendar thead .daynames { /* Row <TR> containing the day names */
72
+ background: #fed;
73
+ }
74
+
75
+ /* The body part -- contains all the days in month. */
76
+
77
+ .calendar tbody .day { /* Cells <TD> containing month days dates */
78
+ width: 2em;
79
+ text-align: right;
80
+ padding: 2px 4px 2px 2px;
81
+ }
82
+ .calendar tbody .day.othermonth {
83
+ font-size: 80%;
84
+ color: #aaa;
85
+ }
86
+ .calendar tbody .day.othermonth.oweekend {
87
+ color: #faa;
88
+ }
89
+
90
+ .calendar table .wn {
91
+ padding: 2px 3px 2px 2px;
92
+ border-right: 1px solid #000;
93
+ background: #fed;
94
+ }
95
+
96
+ .calendar tbody .rowhilite td {
97
+ background: #ddf;
98
+
99
+ }
100
+
101
+ .calendar tbody .rowhilite td.wn {
102
+ background: #efe;
103
+ }
104
+
105
+ .calendar tbody td.hilite { /* Hovered cells <TD> */
106
+ background: #ffe;
107
+ padding: 1px 3px 1px 1px;
108
+ border: 1px solid #bbb;
109
+ }
110
+
111
+ .calendar tbody td.active { /* Active (pressed) cells <TD> */
112
+ background: #ddc;
113
+ padding: 2px 2px 0px 2px;
114
+ }
115
+
116
+ .calendar tbody td.selected { /* Cell showing today date */
117
+ font-weight: bold;
118
+ border: 1px solid #000;
119
+ padding: 1px 3px 1px 1px;
120
+ background: #fea;
121
+ }
122
+
123
+ .calendar tbody td.weekend { /* Cells showing weekend days */
124
+ color: #f00;
125
+ }
126
+
127
+ .calendar tbody td.today { font-weight: bold; }
128
+
129
+ .calendar tbody .disabled { color: #999; }
130
+
131
+ .calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
132
+ visibility: hidden;
133
+ }
134
+
135
+ .calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
136
+ display: none;
137
+ }
138
+
139
+ /* The footer part -- status bar and "Close" button */
140
+
141
+ .calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
142
+ text-align: center;
143
+ background: #988;
144
+ color: #000;
145
+
146
+ }
147
+
148
+ .calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
149
+ border-top: 1px solid #655;
150
+ background: #dcb;
151
+ color: #363636;
152
+ font-weight: bold;
153
+ filter:
154
+ progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#FFFFFF,EndColorStr=#DDDCCC);
155
+ }
156
+ .calendar tfoot .hilite { /* Hover style for buttons in footer */
157
+ background: #faa;
158
+ border: 1px solid #f40;
159
+ padding: 1px;
160
+ }
161
+
162
+ .calendar tfoot .active { /* Active (pressed) style for buttons in footer */
163
+ background: #c77;
164
+ padding: 2px 0px 0px 2px;
165
+ }
166
+
167
+ /* Combo boxes (menus that display months/years for direct selection) */
168
+
169
+ .combo {
170
+ position: absolute;
171
+ display: none;
172
+ top: 0px;
173
+ left: 0px;
174
+ width: 4em;
175
+ cursor: default;
176
+ border: 1px solid #655;
177
+ background: #ffe;
178
+ color: #000;
179
+ font-size: smaller;
180
+ z-index: 100;
181
+ }
182
+
183
+ .combo .label,
184
+ .combo .label-IEfix {
185
+ text-align: center;
186
+ padding: 1px;
187
+ }
188
+
189
+ .combo .label-IEfix {
190
+ width: 4em;
191
+ }
192
+
193
+ .combo .hilite {
194
+ background: #fc8;
195
+ }
196
+
197
+ .combo .active {
198
+ border-top: 1px solid #a64;
199
+ border-bottom: 1px solid #a64;
200
+ background: #fee;
201
+ font-weight: bold;
202
+ }
203
+
204
+ .calendar td.time {
205
+ border-top: 1px solid #a88;
206
+ padding: 1px 0px;
207
+ text-align: center;
208
+ background-color: #fed;
209
+ }
210
+
211
+ .calendar td.time .hour,
212
+ .calendar td.time .minute,
213
+ .calendar td.time .ampm {
214
+ padding: 0px 3px 0px 4px;
215
+ border: 1px solid #988;
216
+ font-weight: bold;
217
+ background-color: #fff;
218
+ }
219
+
220
+ .calendar td.time .ampm {
221
+ text-align: center;
222
+ }
223
+
224
+ .calendar td.time .colon {
225
+ padding: 0px 2px 0px 3px;
226
+ font-weight: bold;
227
+ }
228
+
229
+ .calendar td.time span.hilite {
230
+ border-color: #000;
231
+ background-color: #866;
232
+ color: #fff;
233
+ }
234
+
235
+ .calendar td.time span.active {
236
+ border-color: #f00;
237
+ background-color: #000;
238
+ color: #0f0;
239
+ }
js/calendar/calendar-win2k-1.css ADDED
@@ -0,0 +1,271 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* The main calendar widget. DIV containing a table. */
2
+
3
+ .calendar {
4
+ position: relative;
5
+ display: none;
6
+ border-top: 2px solid #fff;
7
+ border-right: 2px solid #000;
8
+ border-bottom: 2px solid #000;
9
+ border-left: 2px solid #fff;
10
+ font-size: 11px;
11
+ color: #000;
12
+ cursor: default;
13
+ background: #d4d0c8;
14
+ font-family: tahoma,verdana,sans-serif;
15
+ }
16
+
17
+ .calendar table {
18
+ border-top: 1px solid #000;
19
+ border-right: 1px solid #fff;
20
+ border-bottom: 1px solid #fff;
21
+ border-left: 1px solid #000;
22
+ font-size: 11px;
23
+ color: #000;
24
+ cursor: default;
25
+ background: #d4d0c8;
26
+ font-family: tahoma,verdana,sans-serif;
27
+ }
28
+
29
+ /* Header part -- contains navigation buttons and day names. */
30
+
31
+ .calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
32
+ text-align: center;
33
+ padding: 1px;
34
+ border-top: 1px solid #fff;
35
+ border-right: 1px solid #000;
36
+ border-bottom: 1px solid #000;
37
+ border-left: 1px solid #fff;
38
+ }
39
+
40
+ .calendar .nav {
41
+ background: transparent url(menuarrow.gif) no-repeat 100% 100%;
42
+ }
43
+
44
+ .calendar thead .title { /* This holds the current "month, year" */
45
+ font-weight: bold;
46
+ padding: 1px;
47
+ border: 1px solid #000;
48
+ background: #848078;
49
+ color: #fff;
50
+ text-align: center;
51
+ }
52
+
53
+ .calendar thead .headrow { /* Row <TR> containing navigation buttons */
54
+ }
55
+
56
+ .calendar thead .daynames { /* Row <TR> containing the day names */
57
+ }
58
+
59
+ .calendar thead .name { /* Cells <TD> containing the day names */
60
+ border-bottom: 1px solid #000;
61
+ padding: 2px;
62
+ text-align: center;
63
+ background: #f4f0e8;
64
+ }
65
+
66
+ .calendar thead .weekend { /* How a weekend day name shows in header */
67
+ color: #f00;
68
+ }
69
+
70
+ .calendar thead .hilite { /* How do the buttons in header appear when hover */
71
+ border-top: 2px solid #fff;
72
+ border-right: 2px solid #000;
73
+ border-bottom: 2px solid #000;
74
+ border-left: 2px solid #fff;
75
+ padding: 0px;
76
+ background-color: #e4e0d8;
77
+ }
78
+
79
+ .calendar thead .active { /* Active (pressed) buttons in header */
80
+ padding: 2px 0px 0px 2px;
81
+ border-top: 1px solid #000;
82
+ border-right: 1px solid #fff;
83
+ border-bottom: 1px solid #fff;
84
+ border-left: 1px solid #000;
85
+ background-color: #c4c0b8;
86
+ }
87
+
88
+ /* The body part -- contains all the days in month. */
89
+
90
+ .calendar tbody .day { /* Cells <TD> containing month days dates */
91
+ width: 2em;
92
+ text-align: right;
93
+ padding: 2px 4px 2px 2px;
94
+ }
95
+ .calendar tbody .day.othermonth {
96
+ font-size: 80%;
97
+ color: #aaa;
98
+ }
99
+ .calendar tbody .day.othermonth.oweekend {
100
+ color: #faa;
101
+ }
102
+
103
+ .calendar table .wn {
104
+ padding: 2px 3px 2px 2px;
105
+ border-right: 1px solid #000;
106
+ background: #f4f0e8;
107
+ }
108
+
109
+ .calendar tbody .rowhilite td {
110
+ background: #e4e0d8;
111
+ }
112
+
113
+ .calendar tbody .rowhilite td.wn {
114
+ background: #d4d0c8;
115
+ }
116
+
117
+ .calendar tbody td.hilite { /* Hovered cells <TD> */
118
+ padding: 1px 3px 1px 1px;
119
+ border-top: 1px solid #fff;
120
+ border-right: 1px solid #000;
121
+ border-bottom: 1px solid #000;
122
+ border-left: 1px solid #fff;
123
+ }
124
+
125
+ .calendar tbody td.active { /* Active (pressed) cells <TD> */
126
+ padding: 2px 2px 0px 2px;
127
+ border-top: 1px solid #000;
128
+ border-right: 1px solid #fff;
129
+ border-bottom: 1px solid #fff;
130
+ border-left: 1px solid #000;
131
+ }
132
+
133
+ .calendar tbody td.selected { /* Cell showing selected date */
134
+ font-weight: bold;
135
+ border-top: 1px solid #000;
136
+ border-right: 1px solid #fff;
137
+ border-bottom: 1px solid #fff;
138
+ border-left: 1px solid #000;
139
+ padding: 2px 2px 0px 2px;
140
+ background: #e4e0d8;
141
+ }
142
+
143
+ .calendar tbody td.weekend { /* Cells showing weekend days */
144
+ color: #f00;
145
+ }
146
+
147
+ .calendar tbody td.today { /* Cell showing today date */
148
+ font-weight: bold;
149
+ color: #00f;
150
+ }
151
+
152
+ .calendar tbody .disabled { color: #999; }
153
+
154
+ .calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
155
+ visibility: hidden;
156
+ }
157
+
158
+ .calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
159
+ display: none;
160
+ }
161
+
162
+ /* The footer part -- status bar and "Close" button */
163
+
164
+ .calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
165
+ }
166
+
167
+ .calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
168
+ background: #f4f0e8;
169
+ padding: 1px;
170
+ border: 1px solid #000;
171
+ background: #848078;
172
+ color: #fff;
173
+ text-align: center;
174
+ }
175
+
176
+ .calendar tfoot .hilite { /* Hover style for buttons in footer */
177
+ border-top: 1px solid #fff;
178
+ border-right: 1px solid #000;
179
+ border-bottom: 1px solid #000;
180
+ border-left: 1px solid #fff;
181
+ padding: 1px;
182
+ background: #e4e0d8;
183
+ }
184
+
185
+ .calendar tfoot .active { /* Active (pressed) style for buttons in footer */
186
+ padding: 2px 0px 0px 2px;
187
+ border-top: 1px solid #000;
188
+ border-right: 1px solid #fff;
189
+ border-bottom: 1px solid #fff;
190
+ border-left: 1px solid #000;
191
+ }
192
+
193
+ /* Combo boxes (menus that display months/years for direct selection) */
194
+
195
+ .calendar .combo {
196
+ position: absolute;
197
+ display: none;
198
+ width: 4em;
199
+ top: 0px;
200
+ left: 0px;
201
+ cursor: default;
202
+ border-top: 1px solid #fff;
203
+ border-right: 1px solid #000;
204
+ border-bottom: 1px solid #000;
205
+ border-left: 1px solid #fff;
206
+ background: #e4e0d8;
207
+ font-size: 90%;
208
+ padding: 1px;
209
+ z-index: 100;
210
+ }
211
+
212
+ .calendar .combo .label,
213
+ .calendar .combo .label-IEfix {
214
+ text-align: center;
215
+ padding: 1px;
216
+ }
217
+
218
+ .calendar .combo .label-IEfix {
219
+ width: 4em;
220
+ }
221
+
222
+ .calendar .combo .active {
223
+ background: #c4c0b8;
224
+ padding: 0px;
225
+ border-top: 1px solid #000;
226
+ border-right: 1px solid #fff;
227
+ border-bottom: 1px solid #fff;
228
+ border-left: 1px solid #000;
229
+ }
230
+
231
+ .calendar .combo .hilite {
232
+ background: #048;
233
+ color: #fea;
234
+ }
235
+
236
+ .calendar td.time {
237
+ border-top: 1px solid #000;
238
+ padding: 1px 0px;
239
+ text-align: center;
240
+ background-color: #f4f0e8;
241
+ }
242
+
243
+ .calendar td.time .hour,
244
+ .calendar td.time .minute,
245
+ .calendar td.time .ampm {
246
+ padding: 0px 3px 0px 4px;
247
+ border: 1px solid #889;
248
+ font-weight: bold;
249
+ background-color: #fff;
250
+ }
251
+
252
+ .calendar td.time .ampm {
253
+ text-align: center;
254
+ }
255
+
256
+ .calendar td.time .colon {
257
+ padding: 0px 2px 0px 3px;
258
+ font-weight: bold;
259
+ }
260
+
261
+ .calendar td.time span.hilite {
262
+ border-color: #000;
263
+ background-color: #766;
264
+ color: #fff;
265
+ }
266
+
267
+ .calendar td.time span.active {
268
+ border-color: #f00;
269
+ background-color: #000;
270
+ color: #0f0;
271
+ }
js/calendar/calendar-win2k-2.css ADDED
@@ -0,0 +1,271 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* The main calendar widget. DIV containing a table. */
2
+
3
+ .calendar {
4
+ position: relative;
5
+ display: none;
6
+ border-top: 2px solid #fff;
7
+ border-right: 2px solid #000;
8
+ border-bottom: 2px solid #000;
9
+ border-left: 2px solid #fff;
10
+ font-size: 11px;
11
+ color: #000;
12
+ cursor: default;
13
+ background: #d4c8d0;
14
+ font-family: tahoma,verdana,sans-serif;
15
+ }
16
+
17
+ .calendar table {
18
+ border-top: 1px solid #000;
19
+ border-right: 1px solid #fff;
20
+ border-bottom: 1px solid #fff;
21
+ border-left: 1px solid #000;
22
+ font-size: 11px;
23
+ color: #000;
24
+ cursor: default;
25
+ background: #d4c8d0;
26
+ font-family: tahoma,verdana,sans-serif;
27
+ }
28
+
29
+ /* Header part -- contains navigation buttons and day names. */
30
+
31
+ .calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
32
+ text-align: center;
33
+ padding: 1px;
34
+ border-top: 1px solid #fff;
35
+ border-right: 1px solid #000;
36
+ border-bottom: 1px solid #000;
37
+ border-left: 1px solid #fff;
38
+ }
39
+
40
+ .calendar .nav {
41
+ background: transparent url(menuarrow.gif) no-repeat 100% 100%;
42
+ }
43
+
44
+ .calendar thead .title { /* This holds the current "month, year" */
45
+ font-weight: bold;
46
+ padding: 1px;
47
+ border: 1px solid #000;
48
+ background: #847880;
49
+ color: #fff;
50
+ text-align: center;
51
+ }
52
+
53
+ .calendar thead .headrow { /* Row <TR> containing navigation buttons */
54
+ }
55
+
56
+ .calendar thead .daynames { /* Row <TR> containing the day names */
57
+ }
58
+
59
+ .calendar thead .name { /* Cells <TD> containing the day names */
60
+ border-bottom: 1px solid #000;
61
+ padding: 2px;
62
+ text-align: center;
63
+ background: #f4e8f0;
64
+ }
65
+
66
+ .calendar thead .weekend { /* How a weekend day name shows in header */
67
+ color: #f00;
68
+ }
69
+
70
+ .calendar thead .hilite { /* How do the buttons in header appear when hover */
71
+ border-top: 2px solid #fff;
72
+ border-right: 2px solid #000;
73
+ border-bottom: 2px solid #000;
74
+ border-left: 2px solid #fff;
75
+ padding: 0px;
76
+ background-color: #e4d8e0;
77
+ }
78
+
79
+ .calendar thead .active { /* Active (pressed) buttons in header */
80
+ padding: 2px 0px 0px 2px;
81
+ border-top: 1px solid #000;
82
+ border-right: 1px solid #fff;
83
+ border-bottom: 1px solid #fff;
84
+ border-left: 1px solid #000;
85
+ background-color: #c4b8c0;
86
+ }
87
+
88
+ /* The body part -- contains all the days in month. */
89
+
90
+ .calendar tbody .day { /* Cells <TD> containing month days dates */
91
+ width: 2em;
92
+ text-align: right;
93
+ padding: 2px 4px 2px 2px;
94
+ }
95
+ .calendar tbody .day.othermonth {
96
+ font-size: 80%;
97
+ color: #aaa;
98
+ }
99
+ .calendar tbody .day.othermonth.oweekend {
100
+ color: #faa;
101
+ }
102
+
103
+ .calendar table .wn {
104
+ padding: 2px 3px 2px 2px;
105
+ border-right: 1px solid #000;
106
+ background: #f4e8f0;
107
+ }
108
+
109
+ .calendar tbody .rowhilite td {
110
+ background: #e4d8e0;
111
+ }
112
+
113
+ .calendar tbody .rowhilite td.wn {
114
+ background: #d4c8d0;
115
+ }
116
+
117
+ .calendar tbody td.hilite { /* Hovered cells <TD> */
118
+ padding: 1px 3px 1px 1px;
119
+ border-top: 1px solid #fff;
120
+ border-right: 1px solid #000;
121
+ border-bottom: 1px solid #000;
122
+ border-left: 1px solid #fff;
123
+ }
124
+
125
+ .calendar tbody td.active { /* Active (pressed) cells <TD> */
126
+ padding: 2px 2px 0px 2px;
127
+ border-top: 1px solid #000;
128
+ border-right: 1px solid #fff;
129
+ border-bottom: 1px solid #fff;
130
+ border-left: 1px solid #000;
131
+ }
132
+
133
+ .calendar tbody td.selected { /* Cell showing selected date */
134
+ font-weight: bold;
135
+ border-top: 1px solid #000;
136
+ border-right: 1px solid #fff;
137
+ border-bottom: 1px solid #fff;
138
+ border-left: 1px solid #000;
139
+ padding: 2px 2px 0px 2px;
140
+ background: #e4d8e0;
141
+ }
142
+
143
+ .calendar tbody td.weekend { /* Cells showing weekend days */
144
+ color: #f00;
145
+ }
146
+
147
+ .calendar tbody td.today { /* Cell showing today date */
148
+ font-weight: bold;
149
+ color: #00f;
150
+ }
151
+
152
+ .calendar tbody .disabled { color: #999; }
153
+
154
+ .calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
155
+ visibility: hidden;
156
+ }
157
+
158
+ .calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
159
+ display: none;
160
+ }
161
+
162
+ /* The footer part -- status bar and "Close" button */
163
+
164
+ .calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
165
+ }
166
+
167
+ .calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
168
+ background: #f4e8f0;
169
+ padding: 1px;
170
+ border: 1px solid #000;
171
+ background: #847880;
172
+ color: #fff;
173
+ text-align: center;
174
+ }
175
+
176
+ .calendar tfoot .hilite { /* Hover style for buttons in footer */
177
+ border-top: 1px solid #fff;
178
+ border-right: 1px solid #000;
179
+ border-bottom: 1px solid #000;
180
+ border-left: 1px solid #fff;
181
+ padding: 1px;
182
+ background: #e4d8e0;
183
+ }
184
+
185
+ .calendar tfoot .active { /* Active (pressed) style for buttons in footer */
186
+ padding: 2px 0px 0px 2px;
187
+ border-top: 1px solid #000;
188
+ border-right: 1px solid #fff;
189
+ border-bottom: 1px solid #fff;
190
+ border-left: 1px solid #000;
191
+ }
192
+
193
+ /* Combo boxes (menus that display months/years for direct selection) */
194
+
195
+ .calendar .combo {
196
+ position: absolute;
197
+ display: none;
198
+ width: 4em;
199
+ top: 0px;
200
+ left: 0px;
201
+ cursor: default;
202
+ border-top: 1px solid #fff;
203
+ border-right: 1px solid #000;
204
+ border-bottom: 1px solid #000;
205
+ border-left: 1px solid #fff;
206
+ background: #e4d8e0;
207
+ font-size: 90%;
208
+ padding: 1px;
209
+ z-index: 100;
210
+ }
211
+
212
+ .calendar .combo .label,
213
+ .calendar .combo .label-IEfix {
214
+ text-align: center;
215
+ padding: 1px;
216
+ }
217
+
218
+ .calendar .combo .label-IEfix {
219
+ width: 4em;
220
+ }
221
+
222
+ .calendar .combo .active {
223
+ background: #d4c8d0;
224
+ padding: 0px;
225
+ border-top: 1px solid #000;
226
+ border-right: 1px solid #fff;
227
+ border-bottom: 1px solid #fff;
228
+ border-left: 1px solid #000;
229
+ }
230
+
231
+ .calendar .combo .hilite {
232
+ background: #408;
233
+ color: #fea;
234
+ }
235
+
236
+ .calendar td.time {
237
+ border-top: 1px solid #000;
238
+ padding: 1px 0px;
239
+ text-align: center;
240
+ background-color: #f4f0e8;
241
+ }
242
+
243
+ .calendar td.time .hour,
244
+ .calendar td.time .minute,
245
+ .calendar td.time .ampm {
246
+ padding: 0px 3px 0px 4px;
247
+ border: 1px solid #889;
248
+ font-weight: bold;
249
+ background-color: #fff;
250
+ }
251
+
252
+ .calendar td.time .ampm {
253
+ text-align: center;
254
+ }
255
+
256
+ .calendar td.time .colon {
257
+ padding: 0px 2px 0px 3px;
258
+ font-weight: bold;
259
+ }
260
+
261
+ .calendar td.time span.hilite {
262
+ border-color: #000;
263
+ background-color: #766;
264
+ color: #fff;
265
+ }
266
+
267
+ .calendar td.time span.active {
268
+ border-color: #f00;
269
+ background-color: #000;
270
+ color: #0f0;
271
+ }
js/calendar/calendar-win2k-cold-1.css ADDED
@@ -0,0 +1,265 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* The main calendar widget. DIV containing a table. */
2
+
3
+ .calendar {
4
+ position: relative;
5
+ display: none;
6
+ border-top: 2px solid #fff;
7
+ border-right: 2px solid #000;
8
+ border-bottom: 2px solid #000;
9
+ border-left: 2px solid #fff;
10
+ font-size: 11px;
11
+ color: #000;
12
+ cursor: default;
13
+ background: #c8d0d4;
14
+ font-family: tahoma,verdana,sans-serif;
15
+ }
16
+
17
+ .calendar table {
18
+ border-top: 1px solid #000;
19
+ border-right: 1px solid #fff;
20
+ border-bottom: 1px solid #fff;
21
+ border-left: 1px solid #000;
22
+ font-size: 11px;
23
+ color: #000;
24
+ cursor: default;
25
+ background: #c8d0d4;
26
+ font-family: tahoma,verdana,sans-serif;
27
+ }
28
+
29
+ /* Header part -- contains navigation buttons and day names. */
30
+
31
+ .calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
32
+ text-align: center;
33
+ padding: 1px;
34
+ border-top: 1px solid #fff;
35
+ border-right: 1px solid #000;
36
+ border-bottom: 1px solid #000;
37
+ border-left: 1px solid #fff;
38
+ }
39
+
40
+ .calendar .nav {
41
+ background: transparent url(menuarrow.gif) no-repeat 100% 100%;
42
+ }
43
+
44
+ .calendar thead .title { /* This holds the current "month, year" */
45
+ font-weight: bold;
46
+ padding: 1px;
47
+ border: 1px solid #000;
48
+ background: #788084;
49
+ color: #fff;
50
+ text-align: center;
51
+ }
52
+
53
+ .calendar thead .headrow { /* Row <TR> containing navigation buttons */
54
+ }
55
+
56
+ .calendar thead .daynames { /* Row <TR> containing the day names */
57
+ }
58
+
59
+ .calendar thead .name { /* Cells <TD> containing the day names */
60
+ border-bottom: 1px solid #000;
61
+ padding: 2px;
62
+ text-align: center;
63
+ background: #e8f0f4;
64
+ }
65
+
66
+ .calendar thead .weekend { /* How a weekend day name shows in header */
67
+ color: #f00;
68
+ }
69
+
70
+ .calendar thead .hilite { /* How do the buttons in header appear when hover */
71
+ border-top: 2px solid #fff;
72
+ border-right: 2px solid #000;
73
+ border-bottom: 2px solid #000;
74
+ border-left: 2px solid #fff;
75
+ padding: 0px;
76
+ background-color: #d8e0e4;
77
+ }
78
+
79
+ .calendar thead .active { /* Active (pressed) buttons in header */
80
+ padding: 2px 0px 0px 2px;
81
+ border-top: 1px solid #000;
82
+ border-right: 1px solid #fff;
83
+ border-bottom: 1px solid #fff;
84
+ border-left: 1px solid #000;
85
+ background-color: #b8c0c4;
86
+ }
87
+
88
+ /* The body part -- contains all the days in month. */
89
+
90
+ .calendar tbody .day { /* Cells <TD> containing month days dates */
91
+ width: 2em;
92
+ text-align: right;
93
+ padding: 2px 4px 2px 2px;
94
+ }
95
+ .calendar tbody .day.othermonth {
96
+ font-size: 80%;
97
+ color: #aaa;
98
+ }
99
+ .calendar tbody .day.othermonth.oweekend {
100
+ color: #faa;
101
+ }
102
+
103
+ .calendar table .wn {
104
+ padding: 2px 3px 2px 2px;
105
+ border-right: 1px solid #000;
106
+ background: #e8f4f0;
107
+ }
108
+
109
+ .calendar tbody .rowhilite td {
110
+ background: #d8e4e0;
111
+ }
112
+
113
+ .calendar tbody .rowhilite td.wn {
114
+ background: #c8d4d0;
115
+ }
116
+
117
+ .calendar tbody td.hilite { /* Hovered cells <TD> */
118
+ padding: 1px 3px 1px 1px;
119
+ border: 1px solid;
120
+ border-color: #fff #000 #000 #fff;
121
+ }
122
+
123
+ .calendar tbody td.active { /* Active (pressed) cells <TD> */
124
+ padding: 2px 2px 0px 2px;
125
+ border: 1px solid;
126
+ border-color: #000 #fff #fff #000;
127
+ }
128
+
129
+ .calendar tbody td.selected { /* Cell showing selected date */
130
+ font-weight: bold;
131
+ padding: 2px 2px 0px 2px;
132
+ border: 1px solid;
133
+ border-color: #000 #fff #fff #000;
134
+ background: #d8e0e4;
135
+ }
136
+
137
+ .calendar tbody td.weekend { /* Cells showing weekend days */
138
+ color: #f00;
139
+ }
140
+
141
+ .calendar tbody td.today { /* Cell showing today date */
142
+ font-weight: bold;
143
+ color: #00f;
144
+ }
145
+
146
+ .calendar tbody .disabled { color: #999; }
147
+
148
+ .calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
149
+ visibility: hidden;
150
+ }
151
+
152
+ .calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
153
+ display: none;
154
+ }
155
+
156
+ /* The footer part -- status bar and "Close" button */
157
+
158
+ .calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
159
+ }
160
+
161
+ .calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
162
+ background: #e8f0f4;
163
+ padding: 1px;
164
+ border: 1px solid #000;
165
+ background: #788084;
166
+ color: #fff;
167
+ text-align: center;
168
+ }
169
+
170
+ .calendar tfoot .hilite { /* Hover style for buttons in footer */
171
+ border-top: 1px solid #fff;
172
+ border-right: 1px solid #000;
173
+ border-bottom: 1px solid #000;
174
+ border-left: 1px solid #fff;
175
+ padding: 1px;
176
+ background: #d8e0e4;
177
+ }
178
+
179
+ .calendar tfoot .active { /* Active (pressed) style for buttons in footer */
180
+ padding: 2px 0px 0px 2px;
181
+ border-top: 1px solid #000;
182
+ border-right: 1px solid #fff;
183
+ border-bottom: 1px solid #fff;
184
+ border-left: 1px solid #000;
185
+ }
186
+
187
+ /* Combo boxes (menus that display months/years for direct selection) */
188
+
189
+ .calendar .combo {
190
+ position: absolute;
191
+ display: none;
192
+ width: 4em;
193
+ top: 0px;
194
+ left: 0px;
195
+ cursor: default;
196
+ border-top: 1px solid #fff;
197
+ border-right: 1px solid #000;
198
+ border-bottom: 1px solid #000;
199
+ border-left: 1px solid #fff;
200
+ background: #d8e0e4;
201
+ font-size: 90%;
202
+ padding: 1px;
203
+ z-index: 100;
204
+ }
205
+
206
+ .calendar .combo .label,
207
+ .calendar .combo .label-IEfix {
208
+ text-align: center;
209
+ padding: 1px;
210
+ }
211
+
212
+ .calendar .combo .label-IEfix {
213
+ width: 4em;
214
+ }
215
+
216
+ .calendar .combo .active {
217
+ background: #c8d0d4;
218
+ padding: 0px;
219
+ border-top: 1px solid #000;
220
+ border-right: 1px solid #fff;
221
+ border-bottom: 1px solid #fff;
222
+ border-left: 1px solid #000;
223
+ }
224
+
225
+ .calendar .combo .hilite {
226
+ background: #048;
227
+ color: #aef;
228
+ }
229
+
230
+ .calendar td.time {
231
+ border-top: 1px solid #000;
232
+ padding: 1px 0px;
233
+ text-align: center;
234
+ background-color: #e8f0f4;
235
+ }
236
+
237
+ .calendar td.time .hour,
238
+ .calendar td.time .minute,
239
+ .calendar td.time .ampm {
240
+ padding: 0px 3px 0px 4px;
241
+ border: 1px solid #889;
242
+ font-weight: bold;
243
+ background-color: #fff;
244
+ }
245
+
246
+ .calendar td.time .ampm {
247
+ text-align: center;
248
+ }
249
+
250
+ .calendar td.time .colon {
251
+ padding: 0px 2px 0px 3px;
252
+ font-weight: bold;
253
+ }
254
+
255
+ .calendar td.time span.hilite {
256
+ border-color: #000;
257
+ background-color: #667;
258
+ color: #fff;
259
+ }
260
+
261
+ .calendar td.time span.active {
262
+ border-color: #f00;
263
+ background-color: #000;
264
+ color: #0f0;
265
+ }
js/calendar/calendar-win2k-cold-2.css ADDED
@@ -0,0 +1,271 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* The main calendar widget. DIV containing a table. */
2
+
3
+ .calendar {
4
+ position: relative;
5
+ display: none;
6
+ border-top: 2px solid #fff;
7
+ border-right: 2px solid #000;
8
+ border-bottom: 2px solid #000;
9
+ border-left: 2px solid #fff;
10
+ font-size: 11px;
11
+ color: #000;
12
+ cursor: default;
13
+ background: #c8d4d0;
14
+ font-family: tahoma,verdana,sans-serif;
15
+ }
16
+
17
+ .calendar table {
18
+ border-top: 1px solid #000;
19
+ border-right: 1px solid #fff;
20
+ border-bottom: 1px solid #fff;
21
+ border-left: 1px solid #000;
22
+ font-size: 11px;
23
+ color: #000;
24
+ cursor: default;
25
+ background: #c8d4d0;
26
+ font-family: tahoma,verdana,sans-serif;
27
+ }
28
+
29
+ /* Header part -- contains navigation buttons and day names. */
30
+
31
+ .calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
32
+ text-align: center;
33
+ padding: 1px;
34
+ border-top: 1px solid #fff;
35
+ border-right: 1px solid #000;
36
+ border-bottom: 1px solid #000;
37
+ border-left: 1px solid #fff;
38
+ }
39
+
40
+ .calendar .nav {
41
+ background: transparent url(menuarrow.gif) no-repeat 100% 100%;
42
+ }
43
+
44
+ .calendar thead .title { /* This holds the current "month, year" */
45
+ font-weight: bold;
46
+ padding: 1px;
47
+ border: 1px solid #000;
48
+ background: #788480;
49
+ color: #fff;
50
+ text-align: center;
51
+ }
52
+
53
+ .calendar thead .headrow { /* Row <TR> containing navigation buttons */
54
+ }
55
+
56
+ .calendar thead .daynames { /* Row <TR> containing the day names */
57
+ }
58
+
59
+ .calendar thead .name { /* Cells <TD> containing the day names */
60
+ border-bottom: 1px solid #000;
61
+ padding: 2px;
62
+ text-align: center;
63
+ background: #e8f4f0;
64
+ }
65
+
66
+ .calendar thead .weekend { /* How a weekend day name shows in header */
67
+ color: #f00;
68
+ }
69
+
70
+ .calendar thead .hilite { /* How do the buttons in header appear when hover */
71
+ border-top: 2px solid #fff;
72
+ border-right: 2px solid #000;
73
+ border-bottom: 2px solid #000;
74
+ border-left: 2px solid #fff;
75
+ padding: 0px;
76
+ background-color: #d8e4e0;
77
+ }
78
+
79
+ .calendar thead .active { /* Active (pressed) buttons in header */
80
+ padding: 2px 0px 0px 2px;
81
+ border-top: 1px solid #000;
82
+ border-right: 1px solid #fff;
83
+ border-bottom: 1px solid #fff;
84
+ border-left: 1px solid #000;
85
+ background-color: #b8c4c0;
86
+ }
87
+
88
+ /* The body part -- contains all the days in month. */
89
+
90
+ .calendar tbody .day { /* Cells <TD> containing month days dates */
91
+ width: 2em;
92
+ text-align: right;
93
+ padding: 2px 4px 2px 2px;
94
+ }
95
+ .calendar tbody .day.othermonth {
96
+ font-size: 80%;
97
+ color: #aaa;
98
+ }
99
+ .calendar tbody .day.othermonth.oweekend {
100
+ color: #faa;
101
+ }
102
+
103
+ .calendar table .wn {
104
+ padding: 2px 3px 2px 2px;
105
+ border-right: 1px solid #000;
106
+ background: #e8f4f0;
107
+ }
108
+
109
+ .calendar tbody .rowhilite td {
110
+ background: #d8e4e0;
111
+ }
112
+
113
+ .calendar tbody .rowhilite td.wn {
114
+ background: #c8d4d0;
115
+ }
116
+
117
+ .calendar tbody td.hilite { /* Hovered cells <TD> */
118
+ padding: 1px 3px 1px 1px;
119
+ border-top: 1px solid #fff;
120
+ border-right: 1px solid #000;
121
+ border-bottom: 1px solid #000;
122
+ border-left: 1px solid #fff;
123
+ }
124
+
125
+ .calendar tbody td.active { /* Active (pressed) cells <TD> */
126
+ padding: 2px 2px 0px 2px;
127
+ border-top: 1px solid #000;
128
+ border-right: 1px solid #fff;
129
+ border-bottom: 1px solid #fff;
130
+ border-left: 1px solid #000;
131
+ }
132
+
133
+ .calendar tbody td.selected { /* Cell showing selected date */
134
+ font-weight: bold;
135
+ border-top: 1px solid #000;
136
+ border-right: 1px solid #fff;
137
+ border-bottom: 1px solid #fff;
138
+ border-left: 1px solid #000;
139
+ padding: 2px 2px 0px 2px;
140
+ background: #d8e4e0;
141
+ }
142
+
143
+ .calendar tbody td.weekend { /* Cells showing weekend days */
144
+ color: #f00;
145
+ }
146
+
147
+ .calendar tbody td.today { /* Cell showing today date */
148
+ font-weight: bold;
149
+ color: #00f;
150
+ }
151
+
152
+ .calendar tbody .disabled { color: #999; }
153
+
154
+ .calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
155
+ visibility: hidden;
156
+ }
157
+
158
+ .calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
159
+ display: none;
160
+ }
161
+
162
+ /* The footer part -- status bar and "Close" button */
163
+
164
+ .calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
165
+ }
166
+
167
+ .calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
168
+ background: #e8f4f0;
169
+ padding: 1px;
170
+ border: 1px solid #000;
171
+ background: #788480;
172
+ color: #fff;
173
+ text-align: center;
174
+ }
175
+
176
+ .calendar tfoot .hilite { /* Hover style for buttons in footer */
177
+ border-top: 1px solid #fff;
178
+ border-right: 1px solid #000;
179
+ border-bottom: 1px solid #000;
180
+ border-left: 1px solid #fff;
181
+ padding: 1px;
182
+ background: #d8e4e0;
183
+ }
184
+
185
+ .calendar tfoot .active { /* Active (pressed) style for buttons in footer */
186
+ padding: 2px 0px 0px 2px;
187
+ border-top: 1px solid #000;
188
+ border-right: 1px solid #fff;
189
+ border-bottom: 1px solid #fff;
190
+ border-left: 1px solid #000;
191
+ }
192
+
193
+ /* Combo boxes (menus that display months/years for direct selection) */
194
+
195
+ .calendar .combo {
196
+ position: absolute;
197
+ display: none;
198
+ width: 4em;
199
+ top: 0px;
200
+ left: 0px;
201
+ cursor: default;
202
+ border-top: 1px solid #fff;
203
+ border-right: 1px solid #000;
204
+ border-bottom: 1px solid #000;
205
+ border-left: 1px solid #fff;
206
+ background: #d8e4e0;
207
+ font-size: 90%;
208
+ padding: 1px;
209
+ z-index: 100;
210
+ }
211
+
212
+ .calendar .combo .label,
213
+ .calendar .combo .label-IEfix {
214
+ text-align: center;
215
+ padding: 1px;
216
+ }
217
+
218
+ .calendar .combo .label-IEfix {
219
+ width: 4em;
220
+ }
221
+
222
+ .calendar .combo .active {
223
+ background: #c8d4d0;
224
+ padding: 0px;
225
+ border-top: 1px solid #000;
226
+ border-right: 1px solid #fff;
227
+ border-bottom: 1px solid #fff;
228
+ border-left: 1px solid #000;
229
+ }
230
+
231
+ .calendar .combo .hilite {
232
+ background: #048;
233
+ color: #aef;
234
+ }
235
+
236
+ .calendar td.time {
237
+ border-top: 1px solid #000;
238
+ padding: 1px 0px;
239
+ text-align: center;
240
+ background-color: #e8f0f4;
241
+ }
242
+
243
+ .calendar td.time .hour,
244
+ .calendar td.time .minute,
245
+ .calendar td.time .ampm {
246
+ padding: 0px 3px 0px 4px;
247
+ border: 1px solid #889;
248
+ font-weight: bold;
249
+ background-color: #fff;
250
+ }
251
+
252
+ .calendar td.time .ampm {
253
+ text-align: center;
254
+ }
255
+
256
+ .calendar td.time .colon {
257
+ padding: 0px 2px 0px 3px;
258
+ font-weight: bold;
259
+ }
260
+
261
+ .calendar td.time span.hilite {
262
+ border-color: #000;
263
+ background-color: #667;
264
+ color: #fff;
265
+ }
266
+
267
+ .calendar td.time span.active {
268
+ border-color: #f00;
269
+ background-color: #000;
270
+ color: #0f0;
271
+ }
js/calendar/calendar.js ADDED
@@ -0,0 +1,1912 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Copyright Mihai Bazon, 2002-2005 | www.bazon.net/mishoo
2
+ * -----------------------------------------------------------
3
+ *
4
+ * The DHTML Calendar, version 1.0 "It is happening again"
5
+ *
6
+ * Details and latest version at:
7
+ * www.dynarch.com/projects/calendar
8
+ *
9
+ * This script is developed by Dynarch.com. Visit us at www.dynarch.com.
10
+ *
11
+ * This script is distributed under the GNU Lesser General Public License.
12
+ * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html
13
+ */
14
+
15
+ // $Id: calendar.js,v 1.51 2005/03/07 16:44:31 mishoo Exp $
16
+
17
+ /** The Calendar object constructor. */
18
+ Calendar = function (firstDayOfWeek, dateStr, onSelected, onClose) {
19
+ // member variables
20
+ this.activeDiv = null;
21
+ this.currentDateEl = null;
22
+ this.getDateStatus = null;
23
+ this.getDateToolTip = null;
24
+ this.getDateText = null;
25
+ this.timeout = null;
26
+ this.onSelected = onSelected || null;
27
+ this.onClose = onClose || null;
28
+ this.dragging = false;
29
+ this.hidden = false;
30
+ this.minYear = 1970;
31
+ this.maxYear = 2050;
32
+ this.dateFormat = Calendar._TT["DEF_DATE_FORMAT"];
33
+ this.ttDateFormat = Calendar._TT["TT_DATE_FORMAT"];
34
+ this.isPopup = true;
35
+ this.weekNumbers = true;
36
+ this.firstDayOfWeek = typeof firstDayOfWeek == "number" ? firstDayOfWeek : Calendar._FD; // 0 for Sunday, 1 for Monday, etc.
37
+ this.showsOtherMonths = false;
38
+ this.dateStr = dateStr;
39
+ this.ar_days = null;
40
+ this.showsTime = false;
41
+ this.time24 = true;
42
+ this.yearStep = 2;
43
+ this.hiliteToday = true;
44
+ this.multiple = null;
45
+ // HTML elements
46
+ this.table = null;
47
+ this.element = null;
48
+ this.tbody = null;
49
+ this.firstdayname = null;
50
+ // Combo boxes
51
+ this.monthsCombo = null;
52
+ this.yearsCombo = null;
53
+ this.hilitedMonth = null;
54
+ this.activeMonth = null;
55
+ this.hilitedYear = null;
56
+ this.activeYear = null;
57
+ // Information
58
+ this.dateClicked = false;
59
+
60
+ // one-time initializations
61
+ if (typeof Calendar._SDN == "undefined") {
62
+ // table of short day names
63
+ if (typeof Calendar._SDN_len == "undefined")
64
+ Calendar._SDN_len = 3;
65
+ var ar = new Array();
66
+ for (var i = 8; i > 0;) {
67
+ ar[--i] = Calendar._DN[i].substr(0, Calendar._SDN_len);
68
+ }
69
+ Calendar._SDN = ar;
70
+ // table of short month names
71
+ if (typeof Calendar._SMN_len == "undefined")
72
+ Calendar._SMN_len = 3;
73
+ ar = new Array();
74
+ for (var i = 12; i > 0;) {
75
+ ar[--i] = Calendar._MN[i].substr(0, Calendar._SMN_len);
76
+ }
77
+ Calendar._SMN = ar;
78
+ }
79
+ };
80
+
81
+ // ** constants
82
+
83
+ /// "static", needed for event handlers.
84
+ Calendar._C = null;
85
+
86
+ /// detect a special case of "web browser"
87
+ Calendar.is_ie = ( /msie/i.test(navigator.userAgent) &&
88
+ !/opera/i.test(navigator.userAgent) );
89
+
90
+ Calendar.is_ie5 = ( Calendar.is_ie && /msie 5\.0/i.test(navigator.userAgent) );
91
+
92
+ /// detect Opera browser
93
+ Calendar.is_opera = /opera/i.test(navigator.userAgent);
94
+
95
+ /// detect KHTML-based browsers
96
+ Calendar.is_khtml = /Konqueror|Safari|KHTML/i.test(navigator.userAgent);
97
+
98
+ /// detect Gecko browsers
99
+ Calendar.is_gecko = navigator.userAgent.match(/gecko/i);
100
+
101
+ // BEGIN: UTILITY FUNCTIONS; beware that these might be moved into a separate
102
+ // library, at some point.
103
+
104
+ // Returns CSS property for element
105
+ Calendar.getStyle = function(element, style) {
106
+ if (element.currentStyle) {
107
+ var y = element.currentStyle[style];
108
+ } else if (window.getComputedStyle) {
109
+ var y = document.defaultView.getComputedStyle(element,null).getPropertyValue(style);
110
+ }
111
+
112
+ return y;
113
+ };
114
+
115
+ /*
116
+ * Different ways to find element's absolute position
117
+ */
118
+ Calendar.getAbsolutePos = function(element) {
119
+
120
+ var res = new Object();
121
+ res.x = 0; res.y = 0;
122
+
123
+ // variant 1 (working best, copy-paste from prototype library)
124
+ do {
125
+ res.x += element.offsetLeft || 0;
126
+ res.y += element.offsetTop || 0;
127
+ element = element.offsetParent;
128
+ if (element) {
129
+ if (element.tagName.toUpperCase() == 'BODY') break;
130
+ var p = Calendar.getStyle(element, 'position');
131
+ if ((p !== 'static') && (p !== 'relative')) break;
132
+ }
133
+ } while (element);
134
+
135
+ return res;
136
+
137
+ // variant 2 (good solution, but lost in IE8)
138
+ if (element !== null) {
139
+ res.x = element.offsetLeft;
140
+ res.y = element.offsetTop;
141
+
142
+ var offsetParent = element.offsetParent;
143
+ var parentNode = element.parentNode;
144
+
145
+ while (offsetParent !== null) {
146
+ res.x += offsetParent.offsetLeft;
147
+ res.y += offsetParent.offsetTop;
148
+
149
+ if (offsetParent != document.body && offsetParent != document.documentElement) {
150
+ res.x -= offsetParent.scrollLeft;
151
+ res.y -= offsetParent.scrollTop;
152
+ }
153
+ //next lines are necessary to support FireFox problem with offsetParent
154
+ if (Calendar.is_gecko) {
155
+ while (offsetParent != parentNode && parentNode !== null) {
156
+ res.x -= parentNode.scrollLeft;
157
+ res.y -= parentNode.scrollTop;
158
+ parentNode = parentNode.parentNode;
159
+ }
160
+ }
161
+ parentNode = offsetParent.parentNode;
162
+ offsetParent = offsetParent.offsetParent;
163
+ }
164
+ }
165
+ return res;
166
+
167
+ // variant 2 (not working)
168
+
169
+ // var SL = 0, ST = 0;
170
+ // var is_div = /^div$/i.test(el.tagName);
171
+ // if (is_div && el.scrollLeft)
172
+ // SL = el.scrollLeft;
173
+ // if (is_div && el.scrollTop)
174
+ // ST = el.scrollTop;
175
+ // var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST };
176
+ // if (el.offsetParent) {
177
+ // var tmp = this.getAbsolutePos(el.offsetParent);
178
+ // r.x += tmp.x;
179
+ // r.y += tmp.y;
180
+ // }
181
+ // return r;
182
+ };
183
+
184
+ Calendar.isRelated = function (el, evt) {
185
+ var related = evt.relatedTarget;
186
+ if (!related) {
187
+ var type = evt.type;
188
+ if (type == "mouseover") {
189
+ related = evt.fromElement;
190
+ } else if (type == "mouseout") {
191
+ related = evt.toElement;
192
+ }
193
+ }
194
+ while (related) {
195
+ if (related == el) {
196
+ return true;
197
+ }
198
+ related = related.parentNode;
199
+ }
200
+ return false;
201
+ };
202
+
203
+ Calendar.removeClass = function(el, className) {
204
+ if (!(el && el.className)) {
205
+ return;
206
+ }
207
+ var cls = el.className.split(" ");
208
+ var ar = new Array();
209
+ for (var i = cls.length; i > 0;) {
210
+ if (cls[--i] != className) {
211
+ ar[ar.length] = cls[i];
212
+ }
213
+ }
214
+ el.className = ar.join(" ");
215
+ };
216
+
217
+ Calendar.addClass = function(el, className) {
218
+ Calendar.removeClass(el, className);
219
+ el.className += " " + className;
220
+ };
221
+
222
+ // FIXME: the following 2 functions totally suck, are useless and should be replaced immediately.
223
+ Calendar.getElement = function(ev) {
224
+ var f = Calendar.is_ie ? window.event.srcElement : ev.currentTarget;
225
+ while (f.nodeType != 1 || /^div$/i.test(f.tagName))
226
+ f = f.parentNode;
227
+ return f;
228
+ };
229
+
230
+ Calendar.getTargetElement = function(ev) {
231
+ var f = Calendar.is_ie ? window.event.srcElement : ev.target;
232
+ while (f.nodeType != 1)
233
+ f = f.parentNode;
234
+ return f;
235
+ };
236
+
237
+ Calendar.stopEvent = function(ev) {
238
+ ev || (ev = window.event);
239
+ if (Calendar.is_ie) {
240
+ ev.cancelBubble = true;
241
+ ev.returnValue = false;
242
+ } else {
243
+ ev.preventDefault();
244
+ ev.stopPropagation();
245
+ }
246
+ return false;
247
+ };
248
+
249
+ Calendar.addEvent = function(el, evname, func) {
250
+ if (el.attachEvent) { // IE
251
+ el.attachEvent("on" + evname, func);
252
+ } else if (el.addEventListener) { // Gecko / W3C
253
+ el.addEventListener(evname, func, true);
254
+ } else {
255
+ el["on" + evname] = func;
256
+ }
257
+ };
258
+
259
+ Calendar.removeEvent = function(el, evname, func) {
260
+ if (el.detachEvent) { // IE
261
+ el.detachEvent("on" + evname, func);
262
+ } else if (el.removeEventListener) { // Gecko / W3C
263
+ el.removeEventListener(evname, func, true);
264
+ } else {
265
+ el["on" + evname] = null;
266
+ }
267
+ };
268
+
269
+ Calendar.createElement = function(type, parent) {
270
+ var el = null;
271
+ if (document.createElementNS) {
272
+ // use the XHTML namespace; IE won't normally get here unless
273
+ // _they_ "fix" the DOM2 implementation.
274
+ el = document.createElementNS("http://www.w3.org/1999/xhtml", type);
275
+ } else {
276
+ el = document.createElement(type);
277
+ }
278
+ if (typeof parent != "undefined") {
279
+ parent.appendChild(el);
280
+ }
281
+ return el;
282
+ };
283
+
284
+ // END: UTILITY FUNCTIONS
285
+
286
+ // BEGIN: CALENDAR STATIC FUNCTIONS
287
+
288
+ /** Internal -- adds a set of events to make some element behave like a button. */
289
+ Calendar._add_evs = function(el) {
290
+ with (Calendar) {
291
+ addEvent(el, "mouseover", dayMouseOver);
292
+ addEvent(el, "mousedown", dayMouseDown);
293
+ addEvent(el, "mouseout", dayMouseOut);
294
+ if (is_ie) {
295
+ addEvent(el, "dblclick", dayMouseDblClick);
296
+ el.setAttribute("unselectable", true);
297
+ }
298
+ }
299
+ };
300
+
301
+ Calendar.findMonth = function(el) {
302
+ if (typeof el.month != "undefined") {
303
+ return el;
304
+ } else if (typeof el.parentNode.month != "undefined") {
305
+ return el.parentNode;
306
+ }
307
+ return null;
308
+ };
309
+
310
+ Calendar.findYear = function(el) {
311
+ if (typeof el.year != "undefined") {
312
+ return el;
313
+ } else if (typeof el.parentNode.year != "undefined") {
314
+ return el.parentNode;
315
+ }
316
+ return null;
317
+ };
318
+
319
+ Calendar.showMonthsCombo = function () {
320
+ var cal = Calendar._C;
321
+ if (!cal) {
322
+ return false;
323
+ }
324
+ var cal = cal;
325
+ var cd = cal.activeDiv;
326
+ var mc = cal.monthsCombo;
327
+ if (cal.hilitedMonth) {
328
+ Calendar.removeClass(cal.hilitedMonth, "hilite");
329
+ }
330
+ if (cal.activeMonth) {
331
+ Calendar.removeClass(cal.activeMonth, "active");
332
+ }
333
+ var mon = cal.monthsCombo.getElementsByTagName("div")[cal.date.getMonth()];
334
+ Calendar.addClass(mon, "active");
335
+ cal.activeMonth = mon;
336
+ var s = mc.style;
337
+ s.display = "block";
338
+ if (cd.navtype < 0)
339
+ s.left = cd.offsetLeft + "px";
340
+ else {
341
+ var mcw = mc.offsetWidth;
342
+ if (typeof mcw == "undefined")
343
+ // Konqueror brain-dead techniques
344
+ mcw = 50;
345
+ s.left = (cd.offsetLeft + cd.offsetWidth - mcw) + "px";
346
+ }
347
+ s.top = (cd.offsetTop + cd.offsetHeight) + "px";
348
+ };
349
+
350
+ Calendar.showYearsCombo = function (fwd) {
351
+ var cal = Calendar._C;
352
+ if (!cal) {
353
+ return false;
354
+ }
355
+ var cal = cal;
356
+ var cd = cal.activeDiv;
357
+ var yc = cal.yearsCombo;
358
+ if (cal.hilitedYear) {
359
+ Calendar.removeClass(cal.hilitedYear, "hilite");
360
+ }
361
+ if (cal.activeYear) {
362
+ Calendar.removeClass(cal.activeYear, "active");
363
+ }
364
+ cal.activeYear = null;
365
+ var Y = cal.date.getFullYear() + (fwd ? 1 : -1);
366
+ var yr = yc.firstChild;
367
+ var show = false;
368
+ for (var i = 12; i > 0; --i) {
369
+ if (Y >= cal.minYear && Y <= cal.maxYear) {
370
+ yr.innerHTML = Y;
371
+ yr.year = Y;
372
+ yr.style.display = "block";
373
+ show = true;
374
+ } else {
375
+ yr.style.display = "none";
376
+ }
377
+ yr = yr.nextSibling;
378
+ Y += fwd ? cal.yearStep : -cal.yearStep;
379
+ }
380
+ if (show) {
381
+ var s = yc.style;
382
+ s.display = "block";
383
+ if (cd.navtype < 0)
384
+ s.left = cd.offsetLeft + "px";
385
+ else {
386
+ var ycw = yc.offsetWidth;
387
+ if (typeof ycw == "undefined")
388
+ // Konqueror brain-dead techniques
389
+ ycw = 50;
390
+ s.left = (cd.offsetLeft + cd.offsetWidth - ycw) + "px";
391
+ }
392
+ s.top = (cd.offsetTop + cd.offsetHeight) + "px";
393
+ }
394
+ };
395
+
396
+ // event handlers
397
+
398
+ Calendar.tableMouseUp = function(ev) {
399
+ var cal = Calendar._C;
400
+ if (!cal) {
401
+ return false;
402
+ }
403
+ if (cal.timeout) {
404
+ clearTimeout(cal.timeout);
405
+ }
406
+ var el = cal.activeDiv;
407
+ if (!el) {
408
+ return false;
409
+ }
410
+ var target = Calendar.getTargetElement(ev);
411
+ ev || (ev = window.event);
412
+ Calendar.removeClass(el, "active");
413
+ if (target == el || target.parentNode == el) {
414
+ Calendar.cellClick(el, ev);
415
+ }
416
+ var mon = Calendar.findMonth(target);
417
+ var date = null;
418
+ if (mon) {
419
+ date = new CalendarDateObject(cal.date);
420
+ if (mon.month != date.getMonth()) {
421
+ date.setMonth(mon.month);
422
+ cal.setDate(date);
423
+ cal.dateClicked = false;
424
+ cal.callHandler();
425
+ }
426
+ } else {
427
+ var year = Calendar.findYear(target);
428
+ if (year) {
429
+ date = new CalendarDateObject(cal.date);
430
+ if (year.year != date.getFullYear()) {
431
+ date.setFullYear(year.year);
432
+ cal.setDate(date);
433
+ cal.dateClicked = false;
434
+ cal.callHandler();
435
+ }
436
+ }
437
+ }
438
+ with (Calendar) {
439
+ removeEvent(document, "mouseup", tableMouseUp);
440
+ removeEvent(document, "mouseover", tableMouseOver);
441
+ removeEvent(document, "mousemove", tableMouseOver);
442
+ cal._hideCombos();
443
+ _C = null;
444
+ return stopEvent(ev);
445
+ }
446
+ };
447
+
448
+ Calendar.tableMouseOver = function (ev) {
449
+ var cal = Calendar._C;
450
+ if (!cal) {
451
+ return;
452
+ }
453
+ var el = cal.activeDiv;
454
+ var target = Calendar.getTargetElement(ev);
455
+ if (target == el || target.parentNode == el) {
456
+ Calendar.addClass(el, "hilite active");
457
+ Calendar.addClass(el.parentNode, "rowhilite");
458
+ } else {
459
+ if (typeof el.navtype == "undefined" || (el.navtype != 50 && (el.navtype == 0 || Math.abs(el.navtype) > 2)))
460
+ Calendar.removeClass(el, "active");
461
+ Calendar.removeClass(el, "hilite");
462
+ Calendar.removeClass(el.parentNode, "rowhilite");
463
+ }
464
+ ev || (ev = window.event);
465
+ if (el.navtype == 50 && target != el) {
466
+ var pos = Calendar.getAbsolutePos(el);
467
+ var w = el.offsetWidth;
468
+ var x = ev.clientX;
469
+ var dx;
470
+ var decrease = true;
471
+ if (x > pos.x + w) {
472
+ dx = x - pos.x - w;
473
+ decrease = false;
474
+ } else
475
+ dx = pos.x - x;
476
+
477
+ if (dx < 0) dx = 0;
478
+ var range = el._range;
479
+ var current = el._current;
480
+ var count = Math.floor(dx / 10) % range.length;
481
+ for (var i = range.length; --i >= 0;)
482
+ if (range[i] == current)
483
+ break;
484
+ while (count-- > 0)
485
+ if (decrease) {
486
+ if (--i < 0)
487
+ i = range.length - 1;
488
+ } else if ( ++i >= range.length )
489
+ i = 0;
490
+ var newval = range[i];
491
+ el.innerHTML = newval;
492
+
493
+ cal.onUpdateTime();
494
+ }
495
+ var mon = Calendar.findMonth(target);
496
+ if (mon) {
497
+ if (mon.month != cal.date.getMonth()) {
498
+ if (cal.hilitedMonth) {
499
+ Calendar.removeClass(cal.hilitedMonth, "hilite");
500
+ }
501
+ Calendar.addClass(mon, "hilite");
502
+ cal.hilitedMonth = mon;
503
+ } else if (cal.hilitedMonth) {
504
+ Calendar.removeClass(cal.hilitedMonth, "hilite");
505
+ }
506
+ } else {
507
+ if (cal.hilitedMonth) {
508
+ Calendar.removeClass(cal.hilitedMonth, "hilite");
509
+ }
510
+ var year = Calendar.findYear(target);
511
+ if (year) {
512
+ if (year.year != cal.date.getFullYear()) {
513
+ if (cal.hilitedYear) {
514
+ Calendar.removeClass(cal.hilitedYear, "hilite");
515
+ }
516
+ Calendar.addClass(year, "hilite");
517
+ cal.hilitedYear = year;
518
+ } else if (cal.hilitedYear) {
519
+ Calendar.removeClass(cal.hilitedYear, "hilite");
520
+ }
521
+ } else if (cal.hilitedYear) {
522
+ Calendar.removeClass(cal.hilitedYear, "hilite");
523
+ }
524
+ }
525
+ return Calendar.stopEvent(ev);
526
+ };
527
+
528
+ Calendar.tableMouseDown = function (ev) {
529
+ if (Calendar.getTargetElement(ev) == Calendar.getElement(ev)) {
530
+ return Calendar.stopEvent(ev);
531
+ }
532
+ };
533
+
534
+ Calendar.calDragIt = function (ev) {
535
+ var cal = Calendar._C;
536
+ if (!(cal && cal.dragging)) {
537
+ return false;
538
+ }
539
+ var posX;
540
+ var posY;
541
+ if (Calendar.is_ie) {
542
+ posY = window.event.clientY + document.body.scrollTop;
543
+ posX = window.event.clientX + document.body.scrollLeft;
544
+ } else {
545
+ posX = ev.pageX;
546
+ posY = ev.pageY;
547
+ }
548
+ cal.hideShowCovered();
549
+ var st = cal.element.style;
550
+ st.left = (posX - cal.xOffs) + "px";
551
+ st.top = (posY - cal.yOffs) + "px";
552
+ return Calendar.stopEvent(ev);
553
+ };
554
+
555
+ Calendar.calDragEnd = function (ev) {
556
+ var cal = Calendar._C;
557
+ if (!cal) {
558
+ return false;
559
+ }
560
+ cal.dragging = false;
561
+ with (Calendar) {
562
+ removeEvent(document, "mousemove", calDragIt);
563
+ removeEvent(document, "mouseup", calDragEnd);
564
+ tableMouseUp(ev);
565
+ }
566
+ cal.hideShowCovered();
567
+ };
568
+
569
+ Calendar.dayMouseDown = function(ev) {
570
+ var el = Calendar.getElement(ev);
571
+ if (el.disabled) {
572
+ return false;
573
+ }
574
+ var cal = el.calendar;
575
+ cal.activeDiv = el;
576
+ Calendar._C = cal;
577
+ if (el.navtype != 300) with (Calendar) {
578
+ if (el.navtype == 50) {
579
+ el._current = el.innerHTML;
580
+ addEvent(document, "mousemove", tableMouseOver);
581
+ } else
582
+ addEvent(document, Calendar.is_ie5 ? "mousemove" : "mouseover", tableMouseOver);
583
+ addClass(el, "hilite active");
584
+ addEvent(document, "mouseup", tableMouseUp);
585
+ } else if (cal.isPopup) {
586
+ cal._dragStart(ev);
587
+ }
588
+ if (el.navtype == -1 || el.navtype == 1) {
589
+ if (cal.timeout) clearTimeout(cal.timeout);
590
+ cal.timeout = setTimeout("Calendar.showMonthsCombo()", 250);
591
+ } else if (el.navtype == -2 || el.navtype == 2) {
592
+ if (cal.timeout) clearTimeout(cal.timeout);
593
+ cal.timeout = setTimeout((el.navtype > 0) ? "Calendar.showYearsCombo(true)" : "Calendar.showYearsCombo(false)", 250);
594
+ } else {
595
+ cal.timeout = null;
596
+ }
597
+ return Calendar.stopEvent(ev);
598
+ };
599
+
600
+ Calendar.dayMouseDblClick = function(ev) {
601
+ Calendar.cellClick(Calendar.getElement(ev), ev || window.event);
602
+ if (Calendar.is_ie) {
603
+ document.selection.empty();
604
+ }
605
+ };
606
+
607
+ Calendar.dayMouseOver = function(ev) {
608
+ var el = Calendar.getElement(ev);
609
+ if (Calendar.isRelated(el, ev) || Calendar._C || el.disabled) {
610
+ return false;
611
+ }
612
+ if (el.ttip) {
613
+ if (el.ttip.substr(0, 1) == "_") {
614
+ el.ttip = el.caldate.print(el.calendar.ttDateFormat) + el.ttip.substr(1);
615
+ }
616
+ el.calendar.tooltips.innerHTML = el.ttip;
617
+ }
618
+ if (el.navtype != 300) {
619
+ Calendar.addClass(el, "hilite");
620
+ if (el.caldate) {
621
+ Calendar.addClass(el.parentNode, "rowhilite");
622
+ }
623
+ }
624
+ return Calendar.stopEvent(ev);
625
+ };
626
+
627
+ Calendar.dayMouseOut = function(ev) {
628
+ with (Calendar) {
629
+ var el = getElement(ev);
630
+ if (isRelated(el, ev) || _C || el.disabled)
631
+ return false;
632
+ removeClass(el, "hilite");
633
+ if (el.caldate)
634
+ removeClass(el.parentNode, "rowhilite");
635
+ if (el.calendar)
636
+ el.calendar.tooltips.innerHTML = _TT["SEL_DATE"];
637
+ return stopEvent(ev);
638
+ }
639
+ };
640
+
641
+ /**
642
+ * A generic "click" handler :) handles all types of buttons defined in this
643
+ * calendar.
644
+ */
645
+ Calendar.cellClick = function(el, ev) {
646
+ var cal = el.calendar;
647
+ var closing = false;
648
+ var newdate = false;
649
+ var date = null;
650
+ if (typeof el.navtype == "undefined") {
651
+ if (cal.currentDateEl) {
652
+ Calendar.removeClass(cal.currentDateEl, "selected");
653
+ Calendar.addClass(el, "selected");
654
+ closing = (cal.currentDateEl == el);
655
+ if (!closing) {
656
+ cal.currentDateEl = el;
657
+ }
658
+ }
659
+ cal.date.setDateOnly(el.caldate);
660
+ date = cal.date;
661
+ var other_month = !(cal.dateClicked = !el.otherMonth);
662
+ if (!other_month && !cal.currentDateEl)
663
+ cal._toggleMultipleDate(new CalendarDateObject(date));
664
+ else
665
+ newdate = !el.disabled;
666
+ // a date was clicked
667
+ if (other_month)
668
+ cal._init(cal.firstDayOfWeek, date);
669
+ } else {
670
+ if (el.navtype == 200) {
671
+ Calendar.removeClass(el, "hilite");
672
+ cal.callCloseHandler();
673
+ return;
674
+ }
675
+ date = new CalendarDateObject(cal.date);
676
+ if (el.navtype == 0)
677
+ date.setDateOnly(new CalendarDateObject()); // TODAY
678
+ // unless "today" was clicked, we assume no date was clicked so
679
+ // the selected handler will know not to close the calenar when
680
+ // in single-click mode.
681
+ // cal.dateClicked = (el.navtype == 0);
682
+ cal.dateClicked = false;
683
+ var year = date.getFullYear();
684
+ var mon = date.getMonth();
685
+ function setMonth(m) {
686
+ var day = date.getDate();
687
+ var max = date.getMonthDays(m);
688
+ if (day > max) {
689
+ date.setDate(max);
690
+ }
691
+ date.setMonth(m);
692
+ };
693
+ switch (el.navtype) {
694
+ case 400:
695
+ Calendar.removeClass(el, "hilite");
696
+ var text = Calendar._TT["ABOUT"];
697
+ if (typeof text != "undefined") {
698
+ text += cal.showsTime ? Calendar._TT["ABOUT_TIME"] : "";
699
+ } else {
700
+ // FIXME: this should be removed as soon as lang files get updated!
701
+ text = "Help and about box text is not translated into this language.\n" +
702
+ "If you know this language and you feel generous please update\n" +
703
+ "the corresponding file in \"lang\" subdir to match calendar-en.js\n" +
704
+ "and send it back to <mihai_bazon@yahoo.com> to get it into the distribution ;-)\n\n" +
705
+ "Thank you!\n" +
706
+ "http://dynarch.com/mishoo/calendar.epl\n";
707
+ }
708
+ alert(text);
709
+ return;
710
+ case -2:
711
+ if (year > cal.minYear) {
712
+ date.setFullYear(year - 1);
713
+ }
714
+ break;
715
+ case -1:
716
+ if (mon > 0) {
717
+ setMonth(mon - 1);
718
+ } else if (year-- > cal.minYear) {
719
+ date.setFullYear(year);
720
+ setMonth(11);
721
+ }
722
+ break;
723
+ case 1:
724
+ if (mon < 11) {
725
+ setMonth(mon + 1);
726
+ } else if (year < cal.maxYear) {
727
+ date.setFullYear(year + 1);
728
+ setMonth(0);
729
+ }
730
+ break;
731
+ case 2:
732
+ if (year < cal.maxYear) {
733
+ date.setFullYear(year + 1);
734
+ }
735
+ break;
736
+ case 100:
737
+ cal.setFirstDayOfWeek(el.fdow);
738
+ return;
739
+ case 50:
740
+ var range = el._range;
741
+ var current = el.innerHTML;
742
+ for (var i = range.length; --i >= 0;)
743
+ if (range[i] == current)
744
+ break;
745
+ if (ev && ev.shiftKey) {
746
+ if (--i < 0)
747
+ i = range.length - 1;
748
+ } else if ( ++i >= range.length )
749
+ i = 0;
750
+ var newval = range[i];
751
+ el.innerHTML = newval;
752
+ cal.onUpdateTime();
753
+ return;
754
+ case 0:
755
+ // TODAY will bring us here
756
+ if ((typeof cal.getDateStatus == "function") &&
757
+ cal.getDateStatus(date, date.getFullYear(), date.getMonth(), date.getDate())) {
758
+ return false;
759
+ }
760
+ break;
761
+ }
762
+ if (!date.equalsTo(cal.date)) {
763
+ cal.setDate(date);
764
+ newdate = true;
765
+ } else if (el.navtype == 0)
766
+ newdate = closing = true;
767
+ }
768
+ if (newdate) {
769
+ ev && cal.callHandler();
770
+ }
771
+ if (closing) {
772
+ Calendar.removeClass(el, "hilite");
773
+ ev && cal.callCloseHandler();
774
+ }
775
+ };
776
+
777
+ // END: CALENDAR STATIC FUNCTIONS
778
+
779
+ // BEGIN: CALENDAR OBJECT FUNCTIONS
780
+
781
+ /**
782
+ * This function creates the calendar inside the given parent. If _par is
783
+ * null than it creates a popup calendar inside the BODY element. If _par is
784
+ * an element, be it BODY, then it creates a non-popup calendar (still
785
+ * hidden). Some properties need to be set before calling this function.
786
+ */
787
+ Calendar.prototype.create = function (_par) {
788
+ var parent = null;
789
+ if (! _par) {
790
+ // default parent is the document body, in which case we create
791
+ // a popup calendar.
792
+ parent = document.getElementsByTagName("body")[0];
793
+ this.isPopup = true;
794
+ } else {
795
+ parent = _par;
796
+ this.isPopup = false;
797
+ }
798
+ this.date = this.dateStr ? new CalendarDateObject(this.dateStr) : new CalendarDateObject();
799
+
800
+ var table = Calendar.createElement("table");
801
+ this.table = table;
802
+ table.cellSpacing = 0;
803
+ table.cellPadding = 0;
804
+ table.calendar = this;
805
+ Calendar.addEvent(table, "mousedown", Calendar.tableMouseDown);
806
+
807
+ var div = Calendar.createElement("div");
808
+ this.element = div;
809
+ div.className = "calendar";
810
+ if (this.isPopup) {
811
+ div.style.position = "absolute";
812
+ div.style.display = "none";
813
+ }
814
+ div.appendChild(table);
815
+
816
+ var thead = Calendar.createElement("thead", table);
817
+ var cell = null;
818
+ var row = null;
819
+
820
+ var cal = this;
821
+ var hh = function (text, cs, navtype) {
822
+ cell = Calendar.createElement("td", row);
823
+ cell.colSpan = cs;
824
+ cell.className = "button";
825
+ if (navtype != 0 && Math.abs(navtype) <= 2)
826
+ cell.className += " nav";
827
+ Calendar._add_evs(cell);
828
+ cell.calendar = cal;
829
+ cell.navtype = navtype;
830
+ cell.innerHTML = "<div unselectable='on'>" + text + "</div>";
831
+ return cell;
832
+ };
833
+
834
+ row = Calendar.createElement("tr", thead);
835
+ var title_length = 6;
836
+ (this.isPopup) && --title_length;
837
+ (this.weekNumbers) && ++title_length;
838
+
839
+ hh("?", 1, 400).ttip = Calendar._TT["INFO"];
840
+ this.title = hh("", title_length, 300);
841
+ this.title.className = "title";
842
+ if (this.isPopup) {
843
+ this.title.ttip = Calendar._TT["DRAG_TO_MOVE"];
844
+ this.title.style.cursor = "move";
845
+ hh("&#x00d7;", 1, 200).ttip = Calendar._TT["CLOSE"];
846
+ }
847
+
848
+ row = Calendar.createElement("tr", thead);
849
+ row.className = "headrow";
850
+
851
+ this._nav_py = hh("&#x00ab;", 1, -2);
852
+ this._nav_py.ttip = Calendar._TT["PREV_YEAR"];
853
+
854
+ this._nav_pm = hh("&#x2039;", 1, -1);
855
+ this._nav_pm.ttip = Calendar._TT["PREV_MONTH"];
856
+
857
+ this._nav_now = hh(Calendar._TT["TODAY"], this.weekNumbers ? 4 : 3, 0);
858
+ this._nav_now.ttip = Calendar._TT["GO_TODAY"];
859
+
860
+ this._nav_nm = hh("&#x203a;", 1, 1);
861
+ this._nav_nm.ttip = Calendar._TT["NEXT_MONTH"];
862
+
863
+ this._nav_ny = hh("&#x00bb;", 1, 2);
864
+ this._nav_ny.ttip = Calendar._TT["NEXT_YEAR"];
865
+
866
+ // day names
867
+ row = Calendar.createElement("tr", thead);
868
+ row.className = "daynames";
869
+ if (this.weekNumbers) {
870
+ cell = Calendar.createElement("td", row);
871
+ cell.className = "name wn";
872
+ cell.innerHTML = Calendar._TT["WK"];
873
+ }
874
+ for (var i = 7; i > 0; --i) {
875
+ cell = Calendar.createElement("td", row);
876
+ if (!i) {
877
+ cell.navtype = 100;
878
+ cell.calendar = this;
879
+ Calendar._add_evs(cell);
880
+ }
881
+ }
882
+ this.firstdayname = (this.weekNumbers) ? row.firstChild.nextSibling : row.firstChild;
883
+ this._displayWeekdays();
884
+
885
+ var tbody = Calendar.createElement("tbody", table);
886
+ this.tbody = tbody;
887
+
888
+ for (i = 6; i > 0; --i) {
889
+ row = Calendar.createElement("tr", tbody);
890
+ if (this.weekNumbers) {
891
+ cell = Calendar.createElement("td", row);
892
+ }
893
+ for (var j = 7; j > 0; --j) {
894
+ cell = Calendar.createElement("td", row);
895
+ cell.calendar = this;
896
+ Calendar._add_evs(cell);
897
+ }
898
+ }
899
+
900
+ if (this.showsTime) {
901
+ row = Calendar.createElement("tr", tbody);
902
+ row.className = "time";
903
+
904
+ cell = Calendar.createElement("td", row);
905
+ cell.className = "time";
906
+ cell.colSpan = 2;
907
+ cell.innerHTML = Calendar._TT["TIME"] || "&nbsp;";
908
+
909
+ cell = Calendar.createElement("td", row);
910
+ cell.className = "time";
911
+ cell.colSpan = this.weekNumbers ? 4 : 3;
912
+
913
+ (function(){
914
+ function makeTimePart(className, init, range_start, range_end) {
915
+ var part = Calendar.createElement("span", cell);
916
+ part.className = className;
917
+ part.innerHTML = init;
918
+ part.calendar = cal;
919
+ part.ttip = Calendar._TT["TIME_PART"];
920
+ part.navtype = 50;
921
+ part._range = [];
922
+ if (typeof range_start != "number")
923
+ part._range = range_start;
924
+ else {
925
+ for (var i = range_start; i <= range_end; ++i) {
926
+ var txt;
927
+ if (i < 10 && range_end >= 10) txt = '0' + i;
928
+ else txt = '' + i;
929
+ part._range[part._range.length] = txt;
930
+ }
931
+ }
932
+ Calendar._add_evs(part);
933
+ return part;
934
+ };
935
+ var hrs = cal.date.getHours();
936
+ var mins = cal.date.getMinutes();
937
+ var t12 = !cal.time24;
938
+ var pm = (hrs > 12);
939
+ if (t12 && pm) hrs -= 12;
940
+ var H = makeTimePart("hour", hrs, t12 ? 1 : 0, t12 ? 12 : 23);
941
+ var span = Calendar.createElement("span", cell);
942
+ span.innerHTML = ":";
943
+ span.className = "colon";
944
+ var M = makeTimePart("minute", mins, 0, 59);
945
+ var AP = null;
946
+ cell = Calendar.createElement("td", row);
947
+ cell.className = "time";
948
+ cell.colSpan = 2;
949
+ if (t12)
950
+ AP = makeTimePart("ampm", pm ? "pm" : "am", ["am", "pm"]);
951
+ else
952
+ cell.innerHTML = "&nbsp;";
953
+
954
+ cal.onSetTime = function() {
955
+ var pm, hrs = this.date.getHours(),
956
+ mins = this.date.getMinutes();
957
+ if (t12) {
958
+ pm = (hrs >= 12);
959
+ if (pm) hrs -= 12;
960
+ if (hrs == 0) hrs = 12;
961
+ AP.innerHTML = pm ? "pm" : "am";
962
+ }
963
+ H.innerHTML = (hrs < 10) ? ("0" + hrs) : hrs;
964
+ M.innerHTML = (mins < 10) ? ("0" + mins) : mins;
965
+ };
966
+
967
+ cal.onUpdateTime = function() {
968
+ var date = this.date;
969
+ var h = parseInt(H.innerHTML, 10);
970
+ if (t12) {
971
+ if (/pm/i.test(AP.innerHTML) && h < 12)
972
+ h += 12;
973
+ else if (/am/i.test(AP.innerHTML) && h == 12)
974
+ h = 0;
975
+ }
976
+ var d = date.getDate();
977
+ var m = date.getMonth();
978
+ var y = date.getFullYear();
979
+ date.setHours(h);
980
+ date.setMinutes(parseInt(M.innerHTML, 10));
981
+ date.setFullYear(y);
982
+ date.setMonth(m);
983
+ date.setDate(d);
984
+ this.dateClicked = false;
985
+ this.callHandler();
986
+ };
987
+ })();
988
+ } else {
989
+ this.onSetTime = this.onUpdateTime = function() {};
990
+ }
991
+
992
+ var tfoot = Calendar.createElement("tfoot", table);
993
+
994
+ row = Calendar.createElement("tr", tfoot);
995
+ row.className = "footrow";
996
+
997
+ cell = hh(Calendar._TT["SEL_DATE"], this.weekNumbers ? 8 : 7, 300);
998
+ cell.className = "ttip";
999
+ if (this.isPopup) {
1000
+ cell.ttip = Calendar._TT["DRAG_TO_MOVE"];
1001
+ cell.style.cursor = "move";
1002
+ }
1003
+ this.tooltips = cell;
1004
+
1005
+ div = Calendar.createElement("div", this.element);
1006
+ this.monthsCombo = div;
1007
+ div.className = "combo";
1008
+ for (i = 0; i < Calendar._MN.length; ++i) {
1009
+ var mn = Calendar.createElement("div");
1010
+ mn.className = Calendar.is_ie ? "label-IEfix" : "label";
1011
+ mn.month = i;
1012
+ mn.innerHTML = Calendar._SMN[i];
1013
+ div.appendChild(mn);
1014
+ }
1015
+
1016
+ div = Calendar.createElement("div", this.element);
1017
+ this.yearsCombo = div;
1018
+ div.className = "combo";
1019
+ for (i = 12; i > 0; --i) {
1020
+ var yr = Calendar.createElement("div");
1021
+ yr.className = Calendar.is_ie ? "label-IEfix" : "label";
1022
+ div.appendChild(yr);
1023
+ }
1024
+
1025
+ this._init(this.firstDayOfWeek, this.date);
1026
+ parent.appendChild(this.element);
1027
+ };
1028
+
1029
+ /** keyboard navigation, only for popup calendars */
1030
+ Calendar._keyEvent = function(ev) {
1031
+ var cal = window._dynarch_popupCalendar;
1032
+ if (!cal || cal.multiple)
1033
+ return false;
1034
+ (Calendar.is_ie) && (ev = window.event);
1035
+ var act = (Calendar.is_ie || ev.type == "keypress"),
1036
+ K = ev.keyCode;
1037
+ if (ev.ctrlKey) {
1038
+ switch (K) {
1039
+ case 37: // KEY left
1040
+ act && Calendar.cellClick(cal._nav_pm);
1041
+ break;
1042
+ case 38: // KEY up
1043
+ act && Calendar.cellClick(cal._nav_py);
1044
+ break;
1045
+ case 39: // KEY right
1046
+ act && Calendar.cellClick(cal._nav_nm);
1047
+ break;
1048
+ case 40: // KEY down
1049
+ act && Calendar.cellClick(cal._nav_ny);
1050
+ break;
1051
+ default:
1052
+ return false;
1053
+ }
1054
+ } else switch (K) {
1055
+ case 32: // KEY space (now)
1056
+ Calendar.cellClick(cal._nav_now);
1057
+ break;
1058
+ case 27: // KEY esc
1059
+ act && cal.callCloseHandler();
1060
+ break;
1061
+ case 37: // KEY left
1062
+ case 38: // KEY up
1063
+ case 39: // KEY right
1064
+ case 40: // KEY down
1065
+ if (act) {
1066
+ var prev, x, y, ne, el, step;
1067
+ prev = K == 37 || K == 38;
1068
+ step = (K == 37 || K == 39) ? 1 : 7;
1069
+ function setVars() {
1070
+ el = cal.currentDateEl;
1071
+ var p = el.pos;
1072
+ x = p & 15;
1073
+ y = p >> 4;
1074
+ ne = cal.ar_days[y][x];
1075
+ };setVars();
1076
+ function prevMonth() {
1077
+ var date = new CalendarDateObject(cal.date);
1078
+ date.setDate(date.getDate() - step);
1079
+ cal.setDate(date);
1080
+ };
1081
+ function nextMonth() {
1082
+ var date = new CalendarDateObject(cal.date);
1083
+ date.setDate(date.getDate() + step);
1084
+ cal.setDate(date);
1085
+ };
1086
+ while (1) {
1087
+ switch (K) {
1088
+ case 37: // KEY left
1089
+ if (--x >= 0)
1090
+ ne = cal.ar_days[y][x];
1091
+ else {
1092
+ x = 6;
1093
+ K = 38;
1094
+ continue;
1095
+ }
1096
+ break;
1097
+ case 38: // KEY up
1098
+ if (--y >= 0)
1099
+ ne = cal.ar_days[y][x];
1100
+ else {
1101
+ prevMonth();
1102
+ setVars();
1103
+ }
1104
+ break;
1105
+ case 39: // KEY right
1106
+ if (++x < 7)
1107
+ ne = cal.ar_days[y][x];
1108
+ else {
1109
+ x = 0;
1110
+ K = 40;
1111
+ continue;
1112
+ }
1113
+ break;
1114
+ case 40: // KEY down
1115
+ if (++y < cal.ar_days.length)
1116
+ ne = cal.ar_days[y][x];
1117
+ else {
1118
+ nextMonth();
1119
+ setVars();
1120
+ }
1121
+ break;
1122
+ }
1123
+ break;
1124
+ }
1125
+ if (ne) {
1126
+ if (!ne.disabled)
1127
+ Calendar.cellClick(ne);
1128
+ else if (prev)
1129
+ prevMonth();
1130
+ else
1131
+ nextMonth();
1132
+ }
1133
+ }
1134
+ break;
1135
+ case 13: // KEY enter
1136
+ if (act)
1137
+ Calendar.cellClick(cal.currentDateEl, ev);
1138
+ break;
1139
+ default:
1140
+ return false;
1141
+ }
1142
+ return Calendar.stopEvent(ev);
1143
+ };
1144
+
1145
+ /**
1146
+ * (RE)Initializes the calendar to the given date and firstDayOfWeek
1147
+ */
1148
+ Calendar.prototype._init = function (firstDayOfWeek, date) {
1149
+ var today = new CalendarDateObject(),
1150
+ TY = today.getFullYear(),
1151
+ TM = today.getMonth(),
1152
+ TD = today.getDate();
1153
+ this.table.style.visibility = "hidden";
1154
+ var year = date.getFullYear();
1155
+ if (year < this.minYear) {
1156
+ year = this.minYear;
1157
+ date.setFullYear(year);
1158
+ } else if (year > this.maxYear) {
1159
+ year = this.maxYear;
1160
+ date.setFullYear(year);
1161
+ }
1162
+ this.firstDayOfWeek = firstDayOfWeek;
1163
+ this.date = new CalendarDateObject(date);
1164
+ var month = date.getMonth();
1165
+ var mday = date.getDate();
1166
+ var no_days = date.getMonthDays();
1167
+
1168
+ // calendar voodoo for computing the first day that would actually be
1169
+ // displayed in the calendar, even if it's from the previous month.
1170
+ // WARNING: this is magic. ;-)
1171
+ date.setDate(1);
1172
+ var day1 = (date.getDay() - this.firstDayOfWeek) % 7;
1173
+ if (day1 < 0)
1174
+ day1 += 7;
1175
+ date.setDate(-day1);
1176
+ date.setDate(date.getDate() + 1);
1177
+
1178
+ var row = this.tbody.firstChild;
1179
+ var MN = Calendar._SMN[month];
1180
+ var ar_days = this.ar_days = new Array();
1181
+ var weekend = Calendar._TT["WEEKEND"];
1182
+ var dates = this.multiple ? (this.datesCells = {}) : null;
1183
+ for (var i = 0; i < 6; ++i, row = row.nextSibling) {
1184
+ var cell = row.firstChild;
1185
+ if (this.weekNumbers) {
1186
+ cell.className = "day wn";
1187
+ cell.innerHTML = date.getWeekNumber();
1188
+ cell = cell.nextSibling;
1189
+ }
1190
+ row.className = "daysrow";
1191
+ var hasdays = false, iday, dpos = ar_days[i] = [];
1192
+ for (var j = 0; j < 7; ++j, cell = cell.nextSibling, date.setDate(iday + 1)) {
1193
+ iday = date.getDate();
1194
+ var wday = date.getDay();
1195
+ cell.className = "day";
1196
+ cell.pos = i << 4 | j;
1197
+ dpos[j] = cell;
1198
+ var current_month = (date.getMonth() == month);
1199
+ if (!current_month) {
1200
+ if (this.showsOtherMonths) {
1201
+ cell.className += " othermonth";
1202
+ cell.otherMonth = true;
1203
+ } else {
1204
+ cell.className = "emptycell";
1205
+ cell.innerHTML = "&nbsp;";
1206
+ cell.disabled = true;
1207
+ continue;
1208
+ }
1209
+ } else {
1210
+ cell.otherMonth = false;
1211
+ hasdays = true;
1212
+ }
1213
+ cell.disabled = false;
1214
+ cell.innerHTML = this.getDateText ? this.getDateText(date, iday) : iday;
1215
+ if (dates)
1216
+ dates[date.print("%Y%m%d")] = cell;
1217
+ if (this.getDateStatus) {
1218
+ var status = this.getDateStatus(date, year, month, iday);
1219
+ if (this.getDateToolTip) {
1220
+ var toolTip = this.getDateToolTip(date, year, month, iday);
1221
+ if (toolTip)
1222
+ cell.title = toolTip;
1223
+ }
1224
+ if (status === true) {
1225
+ cell.className += " disabled";
1226
+ cell.disabled = true;
1227
+ } else {
1228
+ if (/disabled/i.test(status))
1229
+ cell.disabled = true;
1230
+ cell.className += " " + status;
1231
+ }
1232
+ }
1233
+ if (!cell.disabled) {
1234
+ cell.caldate = new CalendarDateObject(date);
1235
+ cell.ttip = "_";
1236
+ if (!this.multiple && current_month
1237
+ && iday == mday && this.hiliteToday) {
1238
+ cell.className += " selected";
1239
+ this.currentDateEl = cell;
1240
+ }
1241
+ if (date.getFullYear() == TY &&
1242
+ date.getMonth() == TM &&
1243
+ iday == TD) {
1244
+ cell.className += " today";
1245
+ cell.ttip += Calendar._TT["PART_TODAY"];
1246
+ }
1247
+ if (weekend.indexOf(wday.toString()) != -1)
1248
+ cell.className += cell.otherMonth ? " oweekend" : " weekend";
1249
+ }
1250
+ }
1251
+ if (!(hasdays || this.showsOtherMonths))
1252
+ row.className = "emptyrow";
1253
+ }
1254
+ this.title.innerHTML = Calendar._MN[month] + ", " + year;
1255
+ this.onSetTime();
1256
+ this.table.style.visibility = "visible";
1257
+ this._initMultipleDates();
1258
+ // PROFILE
1259
+ // this.tooltips.innerHTML = "Generated in " + ((new CalendarDateObject()) - today) + " ms";
1260
+ };
1261
+
1262
+ Calendar.prototype._initMultipleDates = function() {
1263
+ if (this.multiple) {
1264
+ for (var i in this.multiple) {
1265
+ var cell = this.datesCells[i];
1266
+ var d = this.multiple[i];
1267
+ if (!d)
1268
+ continue;
1269
+ if (cell)
1270
+ cell.className += " selected";
1271
+ }
1272
+ }
1273
+ };
1274
+
1275
+ Calendar.prototype._toggleMultipleDate = function(date) {
1276
+ if (this.multiple) {
1277
+ var ds = date.print("%Y%m%d");
1278
+ var cell = this.datesCells[ds];
1279
+ if (cell) {
1280
+ var d = this.multiple[ds];
1281
+ if (!d) {
1282
+ Calendar.addClass(cell, "selected");
1283
+ this.multiple[ds] = date;
1284
+ } else {
1285
+ Calendar.removeClass(cell, "selected");
1286
+ delete this.multiple[ds];
1287
+ }
1288
+ }
1289
+ }
1290
+ };
1291
+
1292
+ Calendar.prototype.setDateToolTipHandler = function (unaryFunction) {
1293
+ this.getDateToolTip = unaryFunction;
1294
+ };
1295
+
1296
+ /**
1297
+ * Calls _init function above for going to a certain date (but only if the
1298
+ * date is different than the currently selected one).
1299
+ */
1300
+ Calendar.prototype.setDate = function (date) {
1301
+ if (!date.equalsTo(this.date)) {
1302
+ this._init(this.firstDayOfWeek, date);
1303
+ }
1304
+ };
1305
+
1306
+ /**
1307
+ * Refreshes the calendar. Useful if the "disabledHandler" function is
1308
+ * dynamic, meaning that the list of disabled date can change at runtime.
1309
+ * Just * call this function if you think that the list of disabled dates
1310
+ * should * change.
1311
+ */
1312
+ Calendar.prototype.refresh = function () {
1313
+ this._init(this.firstDayOfWeek, this.date);
1314
+ };
1315
+
1316
+ /** Modifies the "firstDayOfWeek" parameter (pass 0 for Synday, 1 for Monday, etc.). */
1317
+ Calendar.prototype.setFirstDayOfWeek = function (firstDayOfWeek) {
1318
+ this._init(firstDayOfWeek, this.date);
1319
+ this._displayWeekdays();
1320
+ };
1321
+
1322
+ /**
1323
+ * Allows customization of what dates are enabled. The "unaryFunction"
1324
+ * parameter must be a function object that receives the date (as a JS Date
1325
+ * object) and returns a boolean value. If the returned value is true then
1326
+ * the passed date will be marked as disabled.
1327
+ */
1328
+ Calendar.prototype.setDateStatusHandler = Calendar.prototype.setDisabledHandler = function (unaryFunction) {
1329
+ this.getDateStatus = unaryFunction;
1330
+ };
1331
+
1332
+ /** Customization of allowed year range for the calendar. */
1333
+ Calendar.prototype.setRange = function (a, z) {
1334
+ this.minYear = a;
1335
+ this.maxYear = z;
1336
+ };
1337
+
1338
+ /** Calls the first user handler (selectedHandler). */
1339
+ Calendar.prototype.callHandler = function () {
1340
+ if (this.onSelected) {
1341
+ this.onSelected(this, this.date.print(this.dateFormat));
1342
+ }
1343
+ };
1344
+
1345
+ /** Calls the second user handler (closeHandler). */
1346
+ Calendar.prototype.callCloseHandler = function () {
1347
+ if (this.onClose) {
1348
+ this.onClose(this);
1349
+ }
1350
+ this.hideShowCovered();
1351
+ };
1352
+
1353
+ /** Removes the calendar object from the DOM tree and destroys it. */
1354
+ Calendar.prototype.destroy = function () {
1355
+ var el = this.element.parentNode;
1356
+ el.removeChild(this.element);
1357
+ Calendar._C = null;
1358
+ window._dynarch_popupCalendar = null;
1359
+ };
1360
+
1361
+ /**
1362
+ * Moves the calendar element to a different section in the DOM tree (changes
1363
+ * its parent).
1364
+ */
1365
+ Calendar.prototype.reparent = function (new_parent) {
1366
+ var el = this.element;
1367
+ el.parentNode.removeChild(el);
1368
+ new_parent.appendChild(el);
1369
+ };
1370
+
1371
+ // This gets called when the user presses a mouse button anywhere in the
1372
+ // document, if the calendar is shown. If the click was outside the open
1373
+ // calendar this function closes it.
1374
+ Calendar._checkCalendar = function(ev) {
1375
+ var calendar = window._dynarch_popupCalendar;
1376
+ if (!calendar) {
1377
+ return false;
1378
+ }
1379
+ var el = Calendar.is_ie ? Calendar.getElement(ev) : Calendar.getTargetElement(ev);
1380
+ for (; el != null && el != calendar.element; el = el.parentNode);
1381
+ if (el == null) {
1382
+ // calls closeHandler which should hide the calendar.
1383
+ window._dynarch_popupCalendar.callCloseHandler();
1384
+ return Calendar.stopEvent(ev);
1385
+ }
1386
+ };
1387
+
1388
+ /** Shows the calendar. */
1389
+ Calendar.prototype.show = function () {
1390
+ var rows = this.table.getElementsByTagName("tr");
1391
+ for (var i = rows.length; i > 0;) {
1392
+ var row = rows[--i];
1393
+ Calendar.removeClass(row, "rowhilite");
1394
+ var cells = row.getElementsByTagName("td");
1395
+ for (var j = cells.length; j > 0;) {
1396
+ var cell = cells[--j];
1397
+ Calendar.removeClass(cell, "hilite");
1398
+ Calendar.removeClass(cell, "active");
1399
+ }
1400
+ }
1401
+ this.element.style.display = "block";
1402
+ this.hidden = false;
1403
+ if (this.isPopup) {
1404
+ window._dynarch_popupCalendar = this;
1405
+ Calendar.addEvent(document, "keydown", Calendar._keyEvent);
1406
+ Calendar.addEvent(document, "keypress", Calendar._keyEvent);
1407
+ Calendar.addEvent(document, "mousedown", Calendar._checkCalendar);
1408
+ }
1409
+ this.hideShowCovered();
1410
+ };
1411
+
1412
+ /**
1413
+ * Hides the calendar. Also removes any "hilite" from the class of any TD
1414
+ * element.
1415
+ */
1416
+ Calendar.prototype.hide = function () {
1417
+ if (this.isPopup) {
1418
+ Calendar.removeEvent(document, "keydown", Calendar._keyEvent);
1419
+ Calendar.removeEvent(document, "keypress", Calendar._keyEvent);
1420
+ Calendar.removeEvent(document, "mousedown", Calendar._checkCalendar);
1421
+ }
1422
+ this.element.style.display = "none";
1423
+ this.hidden = true;
1424
+ this.hideShowCovered();
1425
+ };
1426
+
1427
+ /**
1428
+ * Shows the calendar at a given absolute position (beware that, depending on
1429
+ * the calendar element style -- position property -- this might be relative
1430
+ * to the parent's containing rectangle).
1431
+ */
1432
+ Calendar.prototype.showAt = function (x, y) {
1433
+ var s = this.element.style;
1434
+ s.left = x + "px";
1435
+ s.top = y + "px";
1436
+ this.show();
1437
+ };
1438
+
1439
+ /** Shows the calendar near a given element. */
1440
+ Calendar.prototype.showAtElement = function (el, opts) {
1441
+ var self = this;
1442
+ var p = Calendar.getAbsolutePos(el);
1443
+ if (!opts || typeof opts != "string") {
1444
+ this.showAt(p.x, p.y + el.offsetHeight);
1445
+ return true;
1446
+ }
1447
+ function fixPosition(box) {
1448
+ if (box.x < 0)
1449
+ box.x = 0;
1450
+ if (box.y < 0)
1451
+ box.y = 0;
1452
+ var cp = document.createElement("div");
1453
+ var s = cp.style;
1454
+ s.position = "absolute";
1455
+ s.right = s.bottom = s.width = s.height = "0px";
1456
+ document.body.appendChild(cp);
1457
+ var br = Calendar.getAbsolutePos(cp);
1458
+ document.body.removeChild(cp);
1459
+ if (Calendar.is_ie) {
1460
+ br.y += document.documentElement.scrollTop;
1461
+ br.x += document.documentElement.scrollLeft;
1462
+ } else {
1463
+ br.y += window.scrollY;
1464
+ br.x += window.scrollX;
1465
+ }
1466
+ var tmp = box.x + box.width - br.x;
1467
+ if (tmp > 0) box.x -= tmp;
1468
+ tmp = box.y + box.height - br.y;
1469
+ if (tmp > 0) box.y -= tmp;
1470
+ };
1471
+ this.element.style.display = "block";
1472
+ Calendar.continuation_for_the_fucking_khtml_browser = function() {
1473
+ var w = self.element.offsetWidth;
1474
+ var h = self.element.offsetHeight;
1475
+ self.element.style.display = "none";
1476
+ var valign = opts.substr(0, 1);
1477
+ var halign = "l";
1478
+ if (opts.length > 1) {
1479
+ halign = opts.substr(1, 1);
1480
+ }
1481
+ // vertical alignment
1482
+ switch (valign) {
1483
+ case "T": p.y -= h; break;
1484
+ case "B": p.y += el.offsetHeight; break;
1485
+ case "C": p.y += (el.offsetHeight - h) / 2; break;
1486
+ case "t": p.y += el.offsetHeight - h; break;
1487
+ case "b": break; // already there
1488
+ }
1489
+ // horizontal alignment
1490
+ switch (halign) {
1491
+ case "L": p.x -= w; break;
1492
+ case "R": p.x += el.offsetWidth; break;
1493
+ case "C": p.x += (el.offsetWidth - w) / 2; break;
1494
+ case "l": p.x += el.offsetWidth - w; break;
1495
+ case "r": break; // already there
1496
+ }
1497
+ p.width = w;
1498
+ p.height = h + 40;
1499
+ self.monthsCombo.style.display = "none";
1500
+ fixPosition(p);
1501
+ self.showAt(p.x, p.y);
1502
+ };
1503
+ if (Calendar.is_khtml)
1504
+ setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()", 10);
1505
+ else
1506
+ Calendar.continuation_for_the_fucking_khtml_browser();
1507
+ };
1508
+
1509
+ /** Customizes the date format. */
1510
+ Calendar.prototype.setDateFormat = function (str) {
1511
+ this.dateFormat = str;
1512
+ };
1513
+
1514
+ /** Customizes the tooltip date format. */
1515
+ Calendar.prototype.setTtDateFormat = function (str) {
1516
+ this.ttDateFormat = str;
1517
+ };
1518
+
1519
+ /**
1520
+ * Tries to identify the date represented in a string. If successful it also
1521
+ * calls this.setDate which moves the calendar to the given date.
1522
+ */
1523
+ Calendar.prototype.parseDate = function(str, fmt) {
1524
+ if (!fmt)
1525
+ fmt = this.dateFormat;
1526
+ this.setDate(Date.parseDate(str, fmt));
1527
+ };
1528
+
1529
+ Calendar.prototype.hideShowCovered = function () {
1530
+ if (!Calendar.is_ie && !Calendar.is_opera)
1531
+ return;
1532
+ function getVisib(obj){
1533
+ var value = obj.style.visibility;
1534
+ if (!value) {
1535
+ if (document.defaultView && typeof (document.defaultView.getComputedStyle) == "function") { // Gecko, W3C
1536
+ if (!Calendar.is_khtml)
1537
+ value = document.defaultView.
1538
+ getComputedStyle(obj, "").getPropertyValue("visibility");
1539
+ else
1540
+ value = '';
1541
+ } else if (obj.currentStyle) { // IE
1542
+ value = obj.currentStyle.visibility;
1543
+ } else
1544
+ value = '';
1545
+ }
1546
+ return value;
1547
+ };
1548
+
1549
+ var tags = new Array("applet", "iframe", "select");
1550
+ var el = this.element;
1551
+
1552
+ var p = Calendar.getAbsolutePos(el);
1553
+ var EX1 = p.x;
1554
+ var EX2 = el.offsetWidth + EX1;
1555
+ var EY1 = p.y;
1556
+ var EY2 = el.offsetHeight + EY1;
1557
+
1558
+ for (var k = tags.length; k > 0; ) {
1559
+ var ar = document.getElementsByTagName(tags[--k]);
1560
+ var cc = null;
1561
+
1562
+ for (var i = ar.length; i > 0;) {
1563
+ cc = ar[--i];
1564
+
1565
+ p = Calendar.getAbsolutePos(cc);
1566
+ var CX1 = p.x;
1567
+ var CX2 = cc.offsetWidth + CX1;
1568
+ var CY1 = p.y;
1569
+ var CY2 = cc.offsetHeight + CY1;
1570
+
1571
+ if (this.hidden || (CX1 > EX2) || (CX2 < EX1) || (CY1 > EY2) || (CY2 < EY1)) {
1572
+ if (!cc.__msh_save_visibility) {
1573
+ cc.__msh_save_visibility = getVisib(cc);
1574
+ }
1575
+ cc.style.visibility = cc.__msh_save_visibility;
1576
+ } else {
1577
+ if (!cc.__msh_save_visibility) {
1578
+ cc.__msh_save_visibility = getVisib(cc);
1579
+ }
1580
+ cc.style.visibility = "hidden";
1581
+ }
1582
+ }
1583
+ }
1584
+ };
1585
+
1586
+ /** Internal function; it displays the bar with the names of the weekday. */
1587
+ Calendar.prototype._displayWeekdays = function () {
1588
+ var fdow = this.firstDayOfWeek;
1589
+ var cell = this.firstdayname;
1590
+ var weekend = Calendar._TT["WEEKEND"];
1591
+ for (var i = 0; i < 7; ++i) {
1592
+ cell.className = "day name";
1593
+ var realday = (i + fdow) % 7;
1594
+ if (i) {
1595
+ cell.ttip = Calendar._TT["DAY_FIRST"].replace("%s", Calendar._DN[realday]);
1596
+ cell.navtype = 100;
1597
+ cell.calendar = this;
1598
+ cell.fdow = realday;
1599
+ Calendar._add_evs(cell);
1600
+ }
1601
+ if (weekend.indexOf(realday.toString()) != -1) {
1602
+ Calendar.addClass(cell, "weekend");
1603
+ }
1604
+ cell.innerHTML = Calendar._SDN[(i + fdow) % 7];
1605
+ cell = cell.nextSibling;
1606
+ }
1607
+ };
1608
+
1609
+ /** Internal function. Hides all combo boxes that might be displayed. */
1610
+ Calendar.prototype._hideCombos = function () {
1611
+ this.monthsCombo.style.display = "none";
1612
+ this.yearsCombo.style.display = "none";
1613
+ };
1614
+
1615
+ /** Internal function. Starts dragging the element. */
1616
+ Calendar.prototype._dragStart = function (ev) {
1617
+ if (this.dragging) {
1618
+ return;
1619
+ }
1620
+ this.dragging = true;
1621
+ var posX;
1622
+ var posY;
1623
+ if (Calendar.is_ie) {
1624
+ posY = window.event.clientY + document.body.scrollTop;
1625
+ posX = window.event.clientX + document.body.scrollLeft;
1626
+ } else {
1627
+ posY = ev.clientY + window.scrollY;
1628
+ posX = ev.clientX + window.scrollX;
1629
+ }
1630
+ var st = this.element.style;
1631
+ this.xOffs = posX - parseInt(st.left);
1632
+ this.yOffs = posY - parseInt(st.top);
1633
+ with (Calendar) {
1634
+ addEvent(document, "mousemove", calDragIt);
1635
+ addEvent(document, "mouseup", calDragEnd);
1636
+ }
1637
+ };
1638
+
1639
+ // BEGIN: DATE OBJECT PATCHES
1640
+
1641
+ /** Adds the number of days array to the Date object. */
1642
+ Date._MD = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
1643
+
1644
+ /** Constants used for time computations */
1645
+ Date.SECOND = 1000 /* milliseconds */;
1646
+ Date.MINUTE = 60 * Date.SECOND;
1647
+ Date.HOUR = 60 * Date.MINUTE;
1648
+ Date.DAY = 24 * Date.HOUR;
1649
+ Date.WEEK = 7 * Date.DAY;
1650
+
1651
+ Date.parseDate = function(str, fmt) {
1652
+ var today = new CalendarDateObject();
1653
+ var y = 0;
1654
+ var m = -1;
1655
+ var d = 0;
1656
+
1657
+ // translate date into en_US, because split() cannot parse non-latin stuff
1658
+ var a = str;
1659
+ var i;
1660
+ for (i = 0; i < Calendar._MN.length; i++) {
1661
+ a = a.replace(Calendar._MN[i], enUS.m.wide[i]);
1662
+ }
1663
+ for (i = 0; i < Calendar._SMN.length; i++) {
1664
+ a = a.replace(Calendar._SMN[i], enUS.m.abbr[i]);
1665
+ }
1666
+ a = a.replace(Calendar._am, 'am');
1667
+ a = a.replace(Calendar._am.toLowerCase(), 'am');
1668
+ a = a.replace(Calendar._pm, 'pm');
1669
+ a = a.replace(Calendar._pm.toLowerCase(), 'pm');
1670
+
1671
+ a = a.split(/\W+/);
1672
+
1673
+ var b = fmt.match(/%./g);
1674
+ var i = 0, j = 0;
1675
+ var hr = 0;
1676
+ var min = 0;
1677
+ for (i = 0; i < a.length; ++i) {
1678
+ if (!a[i])
1679
+ continue;
1680
+ switch (b[i]) {
1681
+ case "%d":
1682
+ case "%e":
1683
+ d = parseInt(a[i], 10);
1684
+ break;
1685
+
1686
+ case "%m":
1687
+ m = parseInt(a[i], 10) - 1;
1688
+ break;
1689
+
1690
+ case "%Y":
1691
+ case "%y":
1692
+ y = parseInt(a[i], 10);
1693
+ (y < 100) && (y += (y > 29) ? 1900 : 2000);
1694
+ break;
1695
+
1696
+ case "%b":
1697
+ for (j = 0; j < 12; ++j) {
1698
+ if (enUS.m.abbr[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { m = j; break; }
1699
+ }
1700
+ break;
1701
+
1702
+ case "%B":
1703
+ for (j = 0; j < 12; ++j) {
1704
+ if (enUS.m.wide[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { m = j; break; }
1705
+ }
1706
+ break;
1707
+
1708
+ case "%H":
1709
+ case "%I":
1710
+ case "%k":
1711
+ case "%l":
1712
+ hr = parseInt(a[i], 10);
1713
+ break;
1714
+
1715
+ case "%P":
1716
+ case "%p":
1717
+ if (/pm/i.test(a[i]) && hr < 12)
1718
+ hr += 12;
1719
+ else if (/am/i.test(a[i]) && hr >= 12)
1720
+ hr -= 12;
1721
+ break;
1722
+
1723
+ case "%M":
1724
+ min = parseInt(a[i], 10);
1725
+ break;
1726
+ }
1727
+ }
1728
+ if (isNaN(y)) y = today.getFullYear();
1729
+ if (isNaN(m)) m = today.getMonth();
1730
+ if (isNaN(d)) d = today.getDate();
1731
+ if (isNaN(hr)) hr = today.getHours();
1732
+ if (isNaN(min)) min = today.getMinutes();
1733
+ if (y != 0 && m != -1 && d != 0)
1734
+ return new CalendarDateObject(y, m, d, hr, min, 0);
1735
+ y = 0; m = -1; d = 0;
1736
+ for (i = 0; i < a.length; ++i) {
1737
+ if (a[i].search(/[a-zA-Z]+/) != -1) {
1738
+ var t = -1;
1739
+ for (j = 0; j < 12; ++j) {
1740
+ if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { t = j; break; }
1741
+ }
1742
+ if (t != -1) {
1743
+ if (m != -1) {
1744
+ d = m+1;
1745
+ }
1746
+ m = t;
1747
+ }
1748
+ } else if (parseInt(a[i], 10) <= 12 && m == -1) {
1749
+ m = a[i]-1;
1750
+ } else if (parseInt(a[i], 10) > 31 && y == 0) {
1751
+ y = parseInt(a[i], 10);
1752
+ (y < 100) && (y += (y > 29) ? 1900 : 2000);
1753
+ } else if (d == 0) {
1754
+ d = a[i];
1755
+ }
1756
+ }
1757
+ if (y == 0)
1758
+ y = today.getFullYear();
1759
+ if (m != -1 && d != 0)
1760
+ return new CalendarDateObject(y, m, d, hr, min, 0);
1761
+ return today;
1762
+ };
1763
+
1764
+ /** Returns the number of days in the current month */
1765
+ Date.prototype.getMonthDays = function(month) {
1766
+ var year = this.getFullYear();
1767
+ if (typeof month == "undefined") {
1768
+ month = this.getMonth();
1769
+ }
1770
+ if (((0 == (year%4)) && ( (0 != (year%100)) || (0 == (year%400)))) && month == 1) {
1771
+ return 29;
1772
+ } else {
1773
+ return Date._MD[month];
1774
+ }
1775
+ };
1776
+
1777
+ /** Returns the number of day in the year. */
1778
+ Date.prototype.getDayOfYear = function() {
1779
+ var now = new CalendarDateObject(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0);
1780
+ var then = new CalendarDateObject(this.getFullYear(), 0, 0, 0, 0, 0);
1781
+ var time = now - then;
1782
+ return Math.floor(time / Date.DAY);
1783
+ };
1784
+
1785
+ /** Returns the number of the week in year, as defined in ISO 8601. */
1786
+ Date.prototype.getWeekNumber = function() {
1787
+ var d = new CalendarDateObject(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0);
1788
+ var DoW = d.getDay();
1789
+ d.setDate(d.getDate() - (DoW + 6) % 7 + 3); // Nearest Thu
1790
+ var ms = d.valueOf(); // GMT
1791
+ d.setMonth(0);
1792
+ d.setDate(4); // Thu in Week 1
1793
+ return Math.round((ms - d.valueOf()) / (7 * 864e5)) + 1;
1794
+ };
1795
+
1796
+ /** Checks date and time equality */
1797
+ Date.prototype.equalsTo = function(date) {
1798
+ return ((this.getFullYear() == date.getFullYear()) &&
1799
+ (this.getMonth() == date.getMonth()) &&
1800
+ (this.getDate() == date.getDate()) &&
1801
+ (this.getHours() == date.getHours()) &&
1802
+ (this.getMinutes() == date.getMinutes()));
1803
+ };
1804
+
1805
+ /** Set only the year, month, date parts (keep existing time) */
1806
+ Date.prototype.setDateOnly = function(date) {
1807
+ var tmp = new CalendarDateObject(date);
1808
+ this.setDate(1);
1809
+ this.setFullYear(tmp.getFullYear());
1810
+ this.setMonth(tmp.getMonth());
1811
+ this.setDate(tmp.getDate());
1812
+ };
1813
+
1814
+ /** Prints the date in a string according to the given format. */
1815
+ Date.prototype.print = function (str) {
1816
+ var m = this.getMonth();
1817
+ var d = this.getDate();
1818
+ var y = this.getFullYear();
1819
+ var wn = this.getWeekNumber();
1820
+ var w = this.getDay();
1821
+ var s = {};
1822
+ var hr = this.getHours();
1823
+ var pm = (hr >= 12);
1824
+ var ir = (pm) ? (hr - 12) : hr;
1825
+ var dy = this.getDayOfYear();
1826
+ if (ir == 0)
1827
+ ir = 12;
1828
+ var min = this.getMinutes();
1829
+ var sec = this.getSeconds();
1830
+ s["%a"] = Calendar._SDN[w]; // abbreviated weekday name [FIXME: I18N]
1831
+ s["%A"] = Calendar._DN[w]; // full weekday name
1832
+ s["%b"] = Calendar._SMN[m]; // abbreviated month name [FIXME: I18N]
1833
+ s["%B"] = Calendar._MN[m]; // full month name
1834
+ // FIXME: %c : preferred date and time representation for the current locale
1835
+ s["%C"] = 1 + Math.floor(y / 100); // the century number
1836
+ s["%d"] = (d < 10) ? ("0" + d) : d; // the day of the month (range 01 to 31)
1837
+ s["%e"] = d; // the day of the month (range 1 to 31)
1838
+ // FIXME: %D : american date style: %m/%d/%y
1839
+ // FIXME: %E, %F, %G, %g, %h (man strftime)
1840
+ s["%H"] = (hr < 10) ? ("0" + hr) : hr; // hour, range 00 to 23 (24h format)
1841
+ s["%I"] = (ir < 10) ? ("0" + ir) : ir; // hour, range 01 to 12 (12h format)
1842
+ s["%j"] = (dy < 100) ? ((dy < 10) ? ("00" + dy) : ("0" + dy)) : dy; // day of the year (range 001 to 366)
1843
+ s["%k"] = hr; // hour, range 0 to 23 (24h format)
1844
+ s["%l"] = ir; // hour, range 1 to 12 (12h format)
1845
+ s["%m"] = (m < 9) ? ("0" + (1+m)) : (1+m); // month, range 01 to 12
1846
+ s["%M"] = (min < 10) ? ("0" + min) : min; // minute, range 00 to 59
1847
+ s["%n"] = "\n"; // a newline character
1848
+ s["%p"] = pm ? Calendar._pm.toUpperCase() : Calendar._am.toUpperCase();
1849
+ s["%P"] = pm ? Calendar._pm.toLowerCase() : Calendar._am.toLowerCase();
1850
+ // FIXME: %r : the time in am/pm notation %I:%M:%S %p
1851
+ // FIXME: %R : the time in 24-hour notation %H:%M
1852
+ s["%s"] = Math.floor(this.getTime() / 1000);
1853
+ s["%S"] = (sec < 10) ? ("0" + sec) : sec; // seconds, range 00 to 59
1854
+ s["%t"] = "\t"; // a tab character
1855
+ // FIXME: %T : the time in 24-hour notation (%H:%M:%S)
1856
+ s["%U"] = s["%W"] = s["%V"] = (wn < 10) ? ("0" + wn) : wn;
1857
+ s["%u"] = w + 1; // the day of the week (range 1 to 7, 1 = MON)
1858
+ s["%w"] = w; // the day of the week (range 0 to 6, 0 = SUN)
1859
+ // FIXME: %x : preferred date representation for the current locale without the time
1860
+ // FIXME: %X : preferred time representation for the current locale without the date
1861
+ s["%y"] = ('' + y).substr(2, 2); // year without the century (range 00 to 99)
1862
+ s["%Y"] = y; // year with the century
1863
+ s["%%"] = "%"; // a literal '%' character
1864
+
1865
+ var re = /%./g;
1866
+ if (!Calendar.is_ie5 && !Calendar.is_khtml)
1867
+ return str.replace(re, function (par) { return s[par] || par; });
1868
+
1869
+ var a = str.match(re);
1870
+ for (var i = 0; i < a.length; i++) {
1871
+ var tmp = s[a[i]];
1872
+ if (tmp) {
1873
+ re = new RegExp(a[i], 'g');
1874
+ str = str.replace(re, tmp);
1875
+ }
1876
+ }
1877
+
1878
+ return str;
1879
+ };
1880
+
1881
+ Date.prototype.__msh_oldSetFullYear = Date.prototype.setFullYear;
1882
+ Date.prototype.setFullYear = function(y) {
1883
+ var d = new CalendarDateObject(this);
1884
+ d.__msh_oldSetFullYear(y);
1885
+ if (d.getMonth() != this.getMonth())
1886
+ this.setDate(28);
1887
+ this.__msh_oldSetFullYear(y);
1888
+ };
1889
+
1890
+ CalendarDateObject.prototype = new Date();
1891
+ CalendarDateObject.prototype.constructor = CalendarDateObject;
1892
+ CalendarDateObject.prototype.parent = Date.prototype;
1893
+ function CalendarDateObject() {
1894
+ var dateObj;
1895
+ if (arguments.length > 1) {
1896
+ dateObj = eval("new this.parent.constructor("+Array.prototype.slice.call(arguments).join(",")+");");
1897
+ } else if (arguments.length > 0) {
1898
+ dateObj = new this.parent.constructor(arguments[0]);
1899
+ } else {
1900
+ dateObj = new this.parent.constructor();
1901
+ if (typeof(CalendarDateObject._SERVER_TIMZEONE_SECONDS) != "undefined") {
1902
+ dateObj.setTime((CalendarDateObject._SERVER_TIMZEONE_SECONDS + dateObj.getTimezoneOffset()*60)*1000);
1903
+ }
1904
+ }
1905
+ return dateObj;
1906
+ }
1907
+
1908
+ // END: DATE OBJECT PATCHES
1909
+
1910
+
1911
+ // global object that remembers the calendar
1912
+ window._dynarch_popupCalendar = null;
js/calendar/img.gif ADDED
Binary file
js/calendar/menuarrow.gif ADDED
Binary file
js/calendar/menuarrow2.gif ADDED
Binary file
js/calendar/skins/aqua/active-bg.gif ADDED
Binary file
js/calendar/skins/aqua/dark-bg.gif ADDED
Binary file
js/calendar/skins/aqua/hover-bg.gif ADDED
Binary file
js/calendar/skins/aqua/menuarrow.gif ADDED
Binary file
js/calendar/skins/aqua/normal-bg.gif ADDED
Binary file
js/calendar/skins/aqua/rowhover-bg.gif ADDED
Binary file
js/calendar/skins/aqua/status-bg.gif ADDED
Binary file
js/calendar/skins/aqua/theme.css ADDED
@@ -0,0 +1,236 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Distributed as part of The Coolest DHTML Calendar
2
+ Author: Mihai Bazon, www.bazon.net/mishoo
3
+ Copyright Dynarch.com 2005, www.dynarch.com
4
+ */
5
+
6
+ /* The main calendar widget. DIV containing a table. */
7
+
8
+ div.calendar { position: relative; }
9
+
10
+ .calendar, .calendar table {
11
+ border: 1px solid #bdb2bf;
12
+ font-size: 11px;
13
+ color: #000;
14
+ cursor: default;
15
+ background: url("normal-bg.gif");
16
+ font-family: "trebuchet ms",verdana,tahoma,sans-serif;
17
+ }
18
+
19
+ .calendar {
20
+ border-color: #797979;
21
+ }
22
+
23
+ /* Header part -- contains navigation buttons and day names. */
24
+
25
+ .calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
26
+ text-align: center; /* They are the navigation buttons */
27
+ padding: 2px; /* Make the buttons seem like they're pressing */
28
+ background: url("title-bg.gif") repeat-x 0 100%; color: #000;
29
+ font-weight: bold;
30
+ }
31
+
32
+ .calendar .nav {
33
+ font-family: verdana,tahoma,sans-serif;
34
+ }
35
+
36
+ .calendar .nav div {
37
+ background: transparent url("menuarrow.gif") no-repeat 100% 100%;
38
+ }
39
+
40
+ .calendar thead tr { background: url("title-bg.gif") repeat-x 0 100%; color: #000; }
41
+
42
+ .calendar thead .title { /* This holds the current "month, year" */
43
+ font-weight: bold; /* Pressing it will take you to the current date */
44
+ text-align: center;
45
+ padding: 2px;
46
+ background: url("title-bg.gif") repeat-x 0 100%; color: #000;
47
+ }
48
+
49
+ .calendar thead .headrow { /* Row <TR> containing navigation buttons */
50
+ }
51
+
52
+ .calendar thead .name { /* Cells <TD> containing the day names */
53
+ border-bottom: 1px solid #797979;
54
+ padding: 2px;
55
+ text-align: center;
56
+ color: #000;
57
+ }
58
+
59
+ .calendar thead .weekend { /* How a weekend day name shows in header */
60
+ color: #c44;
61
+ }
62
+
63
+ .calendar thead .hilite { /* How do the buttons in header appear when hover */
64
+ background: url("hover-bg.gif");
65
+ border-bottom: 1px solid #797979;
66
+ padding: 2px 2px 1px 2px;
67
+ }
68
+
69
+ .calendar thead .active { /* Active (pressed) buttons in header */
70
+ background: url("active-bg.gif"); color: #fff;
71
+ padding: 3px 1px 0px 3px;
72
+ border-bottom: 1px solid #797979;
73
+ }
74
+
75
+ .calendar thead .daynames { /* Row <TR> containing the day names */
76
+ background: url("dark-bg.gif");
77
+ }
78
+
79
+ /* The body part -- contains all the days in month. */
80
+
81
+ .calendar tbody .day { /* Cells <TD> containing month days dates */
82
+ font-family: verdana,tahoma,sans-serif;
83
+ width: 2em;
84
+ color: #000;
85
+ text-align: right;
86
+ padding: 2px 4px 2px 2px;
87
+ }
88
+ .calendar tbody .day.othermonth {
89
+ font-size: 80%;
90
+ color: #999;
91
+ }
92
+ .calendar tbody .day.othermonth.oweekend {
93
+ color: #f99;
94
+ }
95
+
96
+ .calendar table .wn {
97
+ padding: 2px 3px 2px 2px;
98
+ border-right: 1px solid #797979;
99
+ background: url("dark-bg.gif");
100
+ }
101
+
102
+ .calendar tbody .rowhilite td,
103
+ .calendar tbody .rowhilite td.wn {
104
+ background: url("rowhover-bg.gif");
105
+ }
106
+
107
+ .calendar tbody td.today { font-weight: bold; /* background: url("today-bg.gif") no-repeat 70% 50%; */ }
108
+
109
+ .calendar tbody td.hilite { /* Hovered cells <TD> */
110
+ background: url("hover-bg.gif");
111
+ padding: 1px 3px 1px 1px;
112
+ border: 1px solid #bbb;
113
+ }
114
+
115
+ .calendar tbody td.active { /* Active (pressed) cells <TD> */
116
+ padding: 2px 2px 0px 2px;
117
+ }
118
+
119
+ .calendar tbody td.weekend { /* Cells showing weekend days */
120
+ color: #c44;
121
+ }
122
+
123
+ .calendar tbody td.selected { /* Cell showing selected date */
124
+ font-weight: bold;
125
+ border: 1px solid #797979;
126
+ padding: 1px 3px 1px 1px;
127
+ background: url("active-bg.gif"); color: #fff;
128
+ }
129
+
130
+ .calendar tbody .disabled { color: #999; }
131
+
132
+ .calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
133
+ visibility: hidden;
134
+ }
135
+
136
+ .calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
137
+ display: none;
138
+ }
139
+
140
+ /* The footer part -- status bar and "Close" button */
141
+
142
+ .calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
143
+ text-align: center;
144
+ background: #565;
145
+ color: #fff;
146
+ }
147
+
148
+ .calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
149
+ padding: 2px;
150
+ background: url("status-bg.gif") repeat-x 0 0; color: #000;
151
+ }
152
+
153
+ .calendar tfoot .hilite { /* Hover style for buttons in footer */
154
+ background: #afa;
155
+ border: 1px solid #084;
156
+ color: #000;
157
+ padding: 1px;
158
+ }
159
+
160
+ .calendar tfoot .active { /* Active (pressed) style for buttons in footer */
161
+ background: #7c7;
162
+ padding: 2px 0px 0px 2px;
163
+ }
164
+
165
+ /* Combo boxes (menus that display months/years for direct selection) */
166
+
167
+ .calendar .combo {
168
+ position: absolute;
169
+ display: none;
170
+ top: 0px;
171
+ left: 0px;
172
+ width: 4em;
173
+ cursor: default;
174
+ border-width: 0 1px 1px 1px;
175
+ border-style: solid;
176
+ border-color: #797979;
177
+ background: url("normal-bg.gif"); color: #000;
178
+ z-index: 100;
179
+ font-size: 90%;
180
+ }
181
+
182
+ .calendar .combo .label,
183
+ .calendar .combo .label-IEfix {
184
+ text-align: center;
185
+ padding: 1px;
186
+ }
187
+
188
+ .calendar .combo .label-IEfix {
189
+ width: 4em;
190
+ }
191
+
192
+ .calendar .combo .hilite {
193
+ background: url("hover-bg.gif"); color: #000;
194
+ }
195
+
196
+ .calendar .combo .active {
197
+ background: url("active-bg.gif"); color: #fff;
198
+ font-weight: bold;
199
+ }
200
+
201
+ .calendar td.time {
202
+ border-top: 1px solid #797979;
203
+ padding: 1px 0px;
204
+ text-align: center;
205
+ background: url("dark-bg.gif");
206
+ }
207
+
208
+ .calendar td.time .hour,
209
+ .calendar td.time .minute,
210
+ .calendar td.time .ampm {
211
+ padding: 0px 5px 0px 6px;
212
+ font-weight: bold;
213
+ background: url("normal-bg.gif"); color: #000;
214
+ }
215
+
216
+ .calendar td.time .hour,
217
+ .calendar td.time .minute {
218
+ font-family: monospace;
219
+ }
220
+
221
+ .calendar td.time .ampm {
222
+ text-align: center;
223
+ }
224
+
225
+ .calendar td.time .colon {
226
+ padding: 0px 2px 0px 3px;
227
+ font-weight: bold;
228
+ }
229
+
230
+ .calendar td.time span.hilite {
231
+ background: url("hover-bg.gif"); color: #000;
232
+ }
233
+
234
+ .calendar td.time span.active {
235
+ background: url("active-bg.gif"); color: #fff;
236
+ }
js/calendar/skins/aqua/title-bg.gif ADDED
Binary file
js/calendar/skins/aqua/today-bg.gif ADDED
Binary file
js/extjs/css/README.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ 2006-11-21 jvs:
2
+ ext-all.css contains all of the other css files combined and stripped of comments (except themes).
3
+
js/extjs/css/basic-dialog.css ADDED
@@ -0,0 +1,286 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 2.0
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .x-dlg-proxy {
10
+ background-image: url(../images/default/gradient-bg.gif);
11
+ background-color:#c3daf9;
12
+ border:1px solid #6593cf;
13
+ z-index:10001;
14
+ overflow:hidden;
15
+ position:absolute;
16
+ left:0;top:0;
17
+ }
18
+ .x-dlg-shadow{
19
+ background:#aaaaaa;
20
+ position:absolute;
21
+ left:0;top:0;
22
+ }
23
+ .x-dlg-focus{
24
+ -moz-outline:0 none;
25
+ outline:0 none;
26
+ width:0;
27
+ height:0;
28
+ overflow:hidden;
29
+ position:absolute;
30
+ top:0;
31
+ left:0;
32
+ }
33
+ .x-dlg-mask{
34
+ z-index:10000;
35
+ display:none;
36
+ position:absolute;
37
+ top:0;
38
+ left:0;
39
+ -moz-opacity: 0.5;
40
+ opacity:.50;
41
+ filter: alpha(opacity=50);
42
+ background-color:#CCC;
43
+ }
44
+ body.x-body-masked select {
45
+ visibility:hidden;
46
+ }
47
+ body.x-body-masked .x-dlg select {
48
+ visibility:visible;
49
+ }
50
+ .x-dlg{
51
+ z-index:10001;
52
+ overflow:hidden;
53
+ position:absolute;
54
+ left:300;top:0;
55
+ }
56
+ .x-dlg .x-dlg-hd {
57
+ background: url(../images/default/basic-dialog/hd-sprite.gif) repeat-x 0 -82px;
58
+ background-color:navy;
59
+ color:#FFF;
60
+ font:bold 12px "sans serif", tahoma, verdana, helvetica;
61
+ overflow:hidden;
62
+ padding:5px;
63
+ white-space: nowrap;
64
+ }
65
+ .x-dlg .x-dlg-hd-left {
66
+ background: url(../images/default/basic-dialog/hd-sprite.gif) no-repeat 0 -41px;
67
+ padding-left:3px;
68
+ margin:0;
69
+ }
70
+ .x-dlg .x-dlg-hd-right {
71
+ background: url(../images/default/basic-dialog/hd-sprite.gif) no-repeat right 0;
72
+ padding-right:3px;
73
+ }
74
+ .x-dlg .x-dlg-dlg-body{
75
+ background:url(../images/default/layout/gradient-bg.gif);
76
+ border:1px solid #6593cf;
77
+ border-top:0 none;
78
+ padding:10px;
79
+ position:absolute;
80
+ top:24px;left:0;
81
+ z-index:1;
82
+ overflow:hidden;
83
+ }
84
+ .x-dlg-collapsed .x-resizable-handle{
85
+ display:none;
86
+ }
87
+ .x-dlg .x-dlg-bd{
88
+ overflow:hidden;
89
+ }
90
+ .x-dlg .x-dlg-ft{
91
+ overflow:hidden;
92
+ padding:5px;
93
+ padding-bottom:0;
94
+ }
95
+
96
+ .x-dlg .x-tabs-body{
97
+ background:white;
98
+ overflow:auto;
99
+ }
100
+ .x-dlg .x-tabs-top .x-tabs-body{
101
+ border:1px solid #6593cf;
102
+ border-top:0 none;
103
+ }
104
+ .x-dlg .x-tabs-bottom .x-tabs-body{
105
+ border:1px solid #6593cf;
106
+ border-bottom:0 none;
107
+ }
108
+ .x-dlg .x-layout-container .x-tabs-body{
109
+ border:0 none;
110
+ }
111
+ .x-dlg .inner-tab{
112
+ margin:5px;
113
+ }
114
+ .x-dlg .x-dlg-ft .x-btn{
115
+ margin-right:5px;
116
+ float:right;
117
+ clear:none;
118
+ }
119
+ .x-dlg .x-dlg-ft .x-dlg-btns td {
120
+ border:0;
121
+ padding:0;
122
+ }
123
+ .x-dlg .x-dlg-ft .x-dlg-btns-right table{
124
+ float:right;
125
+ clear:none;
126
+ }
127
+ .x-dlg .x-dlg-ft .x-dlg-btns-left table{
128
+ float:left;
129
+ clear:none;
130
+ }
131
+ .x-dlg .x-dlg-ft .x-dlg-btns-center{
132
+ text-align:center; /*ie*/
133
+ }
134
+ .x-dlg .x-dlg-ft .x-dlg-btns-center table{
135
+ margin:0 auto; /*everyone else*/
136
+ }
137
+
138
+
139
+ .x-dlg .x-dlg-ft .x-dlg-btns .x-btn-focus .x-btn-left{
140
+ background-position:0 -147px;
141
+ }
142
+ .x-dlg .x-dlg-ft .x-dlg-btns .x-btn-focus .x-btn-right{
143
+ background-position:0 -168px;
144
+ }
145
+ .x-dlg .x-dlg-ft .x-dlg-btns .x-btn-focus .x-btn-center{
146
+ background-position:0 -189px;
147
+ }
148
+
149
+ .x-dlg .x-dlg-ft .x-dlg-btns .x-btn-click .x-btn-center{
150
+ background-position:0 -126px;
151
+ }
152
+ .x-dlg .x-dlg-ft .x-dlg-btns .x-btn-click .x-btn-right{
153
+ background-position:0 -84px;
154
+ }
155
+ .x-dlg .x-dlg-ft .x-dlg-btns .x-btn-click .x-btn-left{
156
+ background-position:0 -63px;
157
+ }
158
+
159
+ .x-dlg-draggable .x-dlg-hd{
160
+ cursor:move;
161
+ }
162
+ .x-dlg-closable .x-dlg-hd{
163
+ padding-right:22px;
164
+ }
165
+ .x-dlg-toolbox {
166
+ position:absolute;
167
+ top:4px;
168
+ right:4px;
169
+ z-index:6;
170
+ width:40px;
171
+ cursor:default;
172
+ height:15px;
173
+ background:transparent;
174
+ }
175
+ .x-dlg .x-dlg-close, .x-dlg .x-dlg-collapse {
176
+ float:right;
177
+ height:15px;
178
+ width:15px;
179
+ margin:0;
180
+ margin-left:2px;
181
+ padding:0;
182
+ line-height:1px;
183
+ font-size:1px;
184
+ background-repeat:no-repeat;
185
+ cursor:pointer;
186
+ visibility:inherit;
187
+ }
188
+ .x-dlg .x-dlg-close {
189
+ background-image:url(../images/default/basic-dialog/close.gif);
190
+ }
191
+ .x-dlg .x-dlg-collapse {
192
+ background-image:url(../images/default/basic-dialog/collapse.gif);
193
+ }
194
+ .x-dlg-collapsed .x-dlg-collapse {
195
+ background-image:url(../images/default/basic-dialog/expand.gif);
196
+ }
197
+ .x-dlg .x-dlg-close-over, .x-dlg .x-dlg-collapse-over {
198
+
199
+ }
200
+ .x-dlg div.x-resizable-handle-east{
201
+ background-image:url(../images/default/basic-dialog/e-handle.gif);
202
+ border:0;
203
+ background-position:right;
204
+ margin-right:0;
205
+ }
206
+ .x-dlg div.x-resizable-handle-south{
207
+ background-image:url(../images/default/sizer/s-handle-dark.gif);
208
+ border:0;
209
+ height:6px;
210
+ }
211
+ .x-dlg div.x-resizable-handle-west{
212
+ background-image:url(../images/default/basic-dialog/e-handle.gif);
213
+ border:0;
214
+ background-position:1px;
215
+ }
216
+ .x-dlg div.x-resizable-handle-north{
217
+ background-image:url(../images/default/s.gif);
218
+ border:0;
219
+ }
220
+ .x-dlg div.x-resizable-handle-northeast, .ytheme-gray .x-dlg div.x-resizable-handle-northeast{
221
+ background-image:url(../images/default/s.gif);
222
+ border:0;
223
+ }
224
+ .x-dlg div.x-resizable-handle-northwest, .ytheme-gray .x-dlg div.x-resizable-handle-northwest{
225
+ background-image:url(../images/default/s.gif);
226
+ border:0;
227
+ }
228
+ .x-dlg div.x-resizable-handle-southeast{
229
+ background-image:url(../images/default/basic-dialog/se-handle.gif);
230
+ background-position: bottom right;
231
+ width:8px;
232
+ height:8px;
233
+ border:0;
234
+ }
235
+ .x-dlg div.x-resizable-handle-southwest{
236
+ background-image:url(../images/default/sizer/sw-handle-dark.gif);
237
+ background-position: top right;
238
+ margin-left:1px;
239
+ margin-bottom:1px;
240
+ border:0;
241
+ }
242
+
243
+ #x-msg-box .x-dlg-ft .x-btn{
244
+ float:none;
245
+ clear:none;
246
+ margin:0 3px;
247
+ }
248
+
249
+ #x-msg-box .x-dlg-bd {
250
+ padding:5px;
251
+ overflow:hidden !important;
252
+ font:normal 13px verdana,tahoma,sans-serif;
253
+ }
254
+ #x-msg-box .ext-mb-input {
255
+ margin-top:4px;
256
+ width:95%;
257
+ }
258
+ #x-msg-box .ext-mb-textarea {
259
+ margin-top:4px;
260
+ font:normal 13px verdana,tahoma,sans-serif;
261
+ }
262
+ #x-msg-box .ext-mb-progress-wrap {
263
+ margin-top:4px;
264
+ border:1px solid #6593cf;
265
+ }
266
+ #x-msg-box .ext-mb-progress {
267
+ height:18px;
268
+ background: #e0e8f3 url(../images/default/qtip/bg.gif) repeat-x;
269
+ }
270
+ #x-msg-box .ext-mb-progress-bar {
271
+ height:18px;
272
+ overflow:hidden;
273
+ width:0;
274
+ background:#8BB8F3;
275
+ border-top:1px solid #B2D0F7;
276
+ border-bottom:1px solid #65A1EF;
277
+ border-right:1px solid #65A1EF;
278
+ }
279
+
280
+ #x-msg-box .x-msg-box-wait {
281
+ background: transparent url(../images/default/grid/loading.gif) no-repeat left;
282
+ display:block;
283
+ width:300px;
284
+ padding-left:18px;
285
+ line-height:18px;
286
+ }
js/extjs/css/box.css ADDED
@@ -0,0 +1,111 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 2.0
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ /*
10
+ Creates rounded, raised boxes like on the Ext website - the markup isn't pretty:
11
+ <div class="x-box-blue">
12
+ <div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div>
13
+ <div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc">
14
+ <h3>YOUR TITLE HERE (optional)</h3>
15
+ <div>YOUR CONTENT HERE</div>
16
+ </div></div></div>
17
+ <div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div>
18
+ </div>
19
+ */
20
+
21
+ .x-box-tl {
22
+ background: transparent url(../images/default/box/corners.gif) no-repeat 0 0;
23
+ zoom:1;
24
+ }
25
+
26
+ .x-box-tc {
27
+ height: 8px;
28
+ background: transparent url(../images/default/box/tb.gif) repeat-x 0 0;
29
+ overflow: hidden;
30
+ }
31
+
32
+ .x-box-tr {
33
+ background: transparent url(../images/default/box/corners.gif) no-repeat right -8px;
34
+ }
35
+
36
+ .x-box-ml {
37
+ background: transparent url(../images/default/box/l.gif) repeat-y 0;
38
+ padding-left: 4px;
39
+ overflow: hidden;
40
+ zoom:1;
41
+ }
42
+
43
+ .x-box-mc {
44
+ background: #eee url(../images/default/box/tb.gif) repeat-x 0 -16px;
45
+ padding: 4px 10px;
46
+ font-family: "Myriad Pro","Myriad Web","Tahoma","Helvetica","Arial",sans-serif;
47
+ color: #393939;
48
+ font-size: 12px;
49
+ }
50
+
51
+ .x-box-mc h3 {
52
+ font-size: 14px;
53
+ font-weight: bold;
54
+ margin: 0 0 4 0;
55
+ zoom:1;
56
+ }
57
+
58
+ .x-box-mr {
59
+ background: transparent url(../images/default/box/r.gif) repeat-y right;
60
+ padding-right: 4px;
61
+ overflow: hidden;
62
+ }
63
+
64
+ .x-box-bl {
65
+ background: transparent url(../images/default/box/corners.gif) no-repeat 0 -16px;
66
+ zoom:1;
67
+ }
68
+
69
+ .x-box-bc {
70
+ background: transparent url(../images/default/box/tb.gif) repeat-x 0 -8px;
71
+ height: 8px;
72
+ overflow: hidden;
73
+ }
74
+
75
+ .x-box-br {
76
+ background: transparent url(../images/default/box/corners.gif) no-repeat right -24px;
77
+ }
78
+
79
+ .x-box-tl, .x-box-bl {
80
+ padding-left: 8px;
81
+ overflow: hidden;
82
+ }
83
+
84
+ .x-box-tr, .x-box-br {
85
+ padding-right: 8px;
86
+ overflow: hidden;
87
+ }
88
+
89
+ .x-box-blue .x-box-bl, .x-box-blue .x-box-br, .x-box-blue .x-box-tl, .x-box-blue .x-box-tr {
90
+ background-image: url(../images/default/box/corners-blue.gif);
91
+ }
92
+
93
+ .x-box-blue .x-box-bc, .x-box-blue .x-box-mc, .x-box-blue .x-box-tc {
94
+ background-image: url(../images/default/box/tb-blue.gif);
95
+ }
96
+
97
+ .x-box-blue .x-box-mc {
98
+ background-color: #c3daf9;
99
+ }
100
+
101
+ .x-box-blue .x-box-mc h3 {
102
+ color: #17385b;
103
+ }
104
+
105
+ .x-box-blue .x-box-ml {
106
+ background-image: url(../images/default/box/l-blue.gif);
107
+ }
108
+
109
+ .x-box-blue .x-box-mr {
110
+ background-image: url(../images/default/box/r-blue.gif);
111
+ }
js/extjs/css/button.css ADDED
@@ -0,0 +1,148 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 2.0
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .x-btn{
10
+ font:normal 11px tahoma, verdana, helvetica;
11
+ cursor:pointer;
12
+ white-space: nowrap;
13
+ }
14
+ .x-btn button{
15
+ border:0 none;
16
+ background:transparent;
17
+ font:normal 11px tahoma,verdana,helvetica;
18
+ padding-left:3px;
19
+ padding-right:3px;
20
+ cursor:pointer;
21
+ margin:0;
22
+ overflow:visible;
23
+ width:auto;
24
+ -moz-outline:0 none;
25
+ outline:0 none;
26
+ }
27
+ * html .ext-ie .x-btn button {
28
+ width:1px;
29
+ }
30
+ .ext-gecko .x-btn button {
31
+ padding-left:0;
32
+ padding-right:0;
33
+ }
34
+ .ext-ie .x-btn button {
35
+ padding-top:2px;
36
+ }
37
+ /*
38
+ Predefined css class for buttons with only icon. Add this class (x-btn-icon) and a class with a background-image
39
+ to your button for a button with just an icon.
40
+ e.g.
41
+ .my-class .x-btn-text { background-image: url(foo.gif); }
42
+ */
43
+
44
+ .x-btn-icon .x-btn-center .x-btn-text{
45
+ background-position: center;
46
+ background-repeat: no-repeat;
47
+ height: 16px;
48
+ width: 16px;
49
+ cursor:pointer;
50
+ white-space: nowrap;
51
+ padding:0;
52
+ }
53
+ .x-btn-icon .x-btn-center{
54
+ padding:1px;
55
+ }
56
+ .x-btn em {
57
+ font-style:normal;
58
+ font-weight:normal;
59
+ }
60
+ /*
61
+ Button class for icon and text. Add this class (x-btn-text-icon) and a class with a background-image
62
+ to your button for both text and icon.
63
+ */
64
+
65
+ .x-btn-text-icon .x-btn-center .x-btn-text{
66
+ background-position: 0 2px;
67
+ background-repeat: no-repeat;
68
+ padding-left:18px;
69
+ padding-top:3px;
70
+ padding-bottom:3px;
71
+ padding-right:0;
72
+ }
73
+
74
+ .x-btn-left, .x-btn-right{
75
+ font-size:1px;
76
+ line-height:1px;
77
+ }
78
+ .x-btn-left{
79
+ width:3px;
80
+ height:21px;
81
+ background:url(../images/default/basic-dialog/btn-sprite.gif) no-repeat 0 0;
82
+ }
83
+ .x-btn-right{
84
+ width:3px;
85
+ height:21px;
86
+ background:url(../images/default/basic-dialog/btn-sprite.gif) no-repeat 0 -21px;
87
+ }
88
+ .x-btn-left i, .x-btn-right i{
89
+ display:block;
90
+ width:3px;
91
+ overflow:hidden;
92
+ font-size:1px;
93
+ line-height:1px;
94
+ }
95
+ .x-btn-center{
96
+ background:url(../images/default/basic-dialog/btn-sprite.gif) repeat-x 0 -42px;
97
+ vertical-align: middle;
98
+ text-align:center;
99
+ padding:0 5px;
100
+ cursor:pointer;
101
+ white-space:nowrap;
102
+ }
103
+ .x-btn-over .x-btn-left{
104
+ background-position:0 -63px;
105
+ }
106
+ .x-btn-over .x-btn-right{
107
+ background-position:0 -84px;
108
+ }
109
+ .x-btn-over .x-btn-center{
110
+ background-position:0 -105px;
111
+ }
112
+ .x-btn-click .x-btn-center, .x-btn-menu-active .x-btn-center{
113
+ background-position:0 -126px;
114
+ }
115
+ .x-btn-disabled *{
116
+ color:gray !important;
117
+ cursor:default !important;
118
+ }
119
+ .x-btn-menu-text-wrap .x-btn-center {
120
+ padding:0 3px;
121
+ }
122
+ .ext-gecko .x-btn-menu-text-wrap .x-btn-center {
123
+ padding:0 1px;
124
+ }
125
+ .x-btn-menu-arrow-wrap .x-btn-center {
126
+ padding:0;
127
+ }
128
+ .x-btn-menu-arrow-wrap .x-btn-center button {
129
+ width:12px !important;
130
+ height:21px;
131
+ padding:0 !important;
132
+ display:block;
133
+ background:transparent url(../images/default/basic-dialog/btn-arrow.gif) no-repeat left 3px;
134
+ }
135
+ .x-btn-with-menu .x-btn-center {
136
+ padding-right:2px !important;
137
+ }
138
+ .x-btn-with-menu .x-btn-center em {
139
+ display:block;
140
+ background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat right 0;
141
+ padding-right:10px;
142
+ }
143
+
144
+ .x-btn-text-icon .x-btn-with-menu .x-btn-center em {
145
+ display:block;
146
+ background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat right 3px;
147
+ padding-right:10px;
148
+ }
js/extjs/css/combo.css ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 2.0
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .x-combo-list {
10
+ border:1px solid #98c0f4;
11
+ background:#ddecfe;
12
+ zoom:1;
13
+ overflow:hidden;
14
+ }
15
+ .x-combo-list-inner {
16
+ overflow:auto;
17
+ background:white;
18
+ position:relative; /* for calculating scroll offsets */
19
+ zoom:1;
20
+ overflow-x:hidden;
21
+ }
22
+ .x-combo-list-hd {
23
+ font:bold 11px tahoma, arial, helvetica, sans-serif;
24
+ color:#15428b;
25
+ background-image: url(../images/default/layout/panel-title-light-bg.gif);
26
+ border-bottom:1px solid #98c0f4;
27
+ padding:3px;
28
+ }
29
+ .x-resizable-pinned .x-combo-list-inner {
30
+ border-bottom:1px solid #98c0f4;
31
+ }
32
+ .x-combo-list-item {
33
+ font:normal 12px tahoma, arial, helvetica, sans-serif;
34
+ padding:2px;
35
+ border:1px solid #fff;
36
+ white-space: nowrap;
37
+ overflow:hidden;
38
+ text-overflow: ellipsis;
39
+ }
40
+ .x-combo-list .x-combo-selected{
41
+ background-color: #c3daf9 !important;
42
+ cursor:pointer;
43
+ border:1px solid #336699;
44
+ }
45
+ .x-combo-noedit{
46
+ cursor:pointer;
47
+ }
js/extjs/css/core.css ADDED
@@ -0,0 +1,292 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 2.0
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .ext-el-mask {
10
+ z-index: 20000;
11
+ position: absolute;
12
+ top: 0;
13
+ left: 0;
14
+ -moz-opacity: 0.5;
15
+ opacity: .50;
16
+ filter: alpha(opacity=50);
17
+ background-color: #CCC;
18
+ width: 100%;
19
+ height: 100%;
20
+ zoom: 1;
21
+ }
22
+ .ext-el-mask-msg {
23
+ z-index: 20001;
24
+ position: absolute;
25
+ top: 0;
26
+ left: 0;
27
+ border:1px solid #6593cf;
28
+ background: #c3daf9 url(../images/default/box/tb-blue.gif) repeat-x 0 -16px;
29
+ padding:2px;
30
+ }
31
+ .ext-el-mask-msg div {
32
+ padding:5px 10px 5px 10px;
33
+ background: #eee;
34
+ border:1px solid #a3bad9;
35
+ color:#333;
36
+ font:normal 12px tahoma, arial, helvetica, sans-serif;
37
+ cursor:wait;
38
+ }
39
+
40
+ .ext-shim {
41
+ position:absolute;
42
+ visibility:hidden;
43
+ left:0;
44
+ top:0;
45
+ overflow:hidden;
46
+ }
47
+ .ext-ie .ext-shim {
48
+ filter: alpha(opacity=0);
49
+ }
50
+
51
+ .x-mask-loading div {
52
+ padding:5px 10px 5px 25px;
53
+ background: #eee url( '../images/default/grid/loading.gif' ) no-repeat 5px 5px;
54
+ line-height: 16px;
55
+ }
56
+
57
+ /* class for hiding elements without using display:none */
58
+ .x-hidden {
59
+ position:absolute;
60
+ left:-2000px;
61
+ top:-2000px;
62
+ visibility:hidden;
63
+ }
64
+
65
+ .x-masked {
66
+ overflow: hidden !important;
67
+ }
68
+
69
+ .x-masked select, .x-masked object, .x-masked embed {
70
+ visibility: hidden;
71
+ }
72
+
73
+ .x-layer {
74
+ visibility: hidden;
75
+ }
76
+
77
+ .x-unselectable, .x-unselectable * {
78
+ -moz-user-select: none;
79
+ -khtml-user-select: none;
80
+ }
81
+
82
+ .x-repaint {
83
+ zoom: 1;
84
+ background-color: transparent;
85
+ -moz-outline: none;
86
+ }
87
+
88
+ .x-item-disabled {
89
+ color: gray;
90
+ cursor: default;
91
+ opacity: .6;
92
+ -moz-opacity: .6;
93
+ filter: alpha(opacity=60);
94
+ }
95
+
96
+ .x-item-disabled * {
97
+ color: gray;
98
+ cursor: default !important;
99
+ }
100
+
101
+ .x-splitbar-proxy {
102
+ position: absolute;
103
+ visibility: hidden;
104
+ z-index: 20001;
105
+ background: #aaa;
106
+ zoom: 1;
107
+ line-height: 1px;
108
+ font-size: 1px;
109
+ overflow: hidden;
110
+ }
111
+
112
+ .x-splitbar-h, .x-splitbar-proxy-h {
113
+ cursor: e-resize;
114
+ cursor: col-resize;
115
+ }
116
+
117
+ .x-splitbar-v, .x-splitbar-proxy-v {
118
+ cursor: s-resize;
119
+ cursor: row-resize;
120
+ }
121
+
122
+ .x-color-palette {
123
+ width: 150px;
124
+ height: 92px;
125
+ cursor: pointer;
126
+ }
127
+
128
+ .x-color-palette a {
129
+ border: 1px solid #fff;
130
+ float: left;
131
+ padding: 2px;
132
+ text-decoration: none;
133
+ -moz-outline: 0 none;
134
+ outline: 0 none;
135
+ cursor: pointer;
136
+ }
137
+
138
+ .x-color-palette a:hover, .x-color-palette a.x-color-palette-sel {
139
+ border: 1px solid #8BB8F3;
140
+ background: #deecfd;
141
+ }
142
+
143
+ .x-color-palette em {
144
+ display: block;
145
+ border: 1px solid #ACA899;
146
+ }
147
+
148
+ .x-color-palette em span {
149
+ cursor: pointer;
150
+ display: block;
151
+ height: 10px;
152
+ line-height: 10px;
153
+ width: 10px;
154
+ }
155
+
156
+ .x-ie-shadow {
157
+ display: none;
158
+ position: absolute;
159
+ overflow: hidden;
160
+ left:0;
161
+ top:0;
162
+ background:#777;
163
+ zoom:1;
164
+ }
165
+
166
+ .x-shadow {
167
+ display: none;
168
+ position: absolute;
169
+ overflow: hidden;
170
+ left:0;
171
+ top:0;
172
+ }
173
+
174
+ .x-shadow * {
175
+ overflow: hidden;
176
+ }
177
+
178
+ .x-shadow * {
179
+ padding: 0;
180
+ border: 0;
181
+ margin: 0;
182
+ clear: none;
183
+ zoom: 1;
184
+ }
185
+
186
+ /* top bottom */
187
+ .x-shadow .xstc, .x-shadow .xsbc {
188
+ height: 6px;
189
+ float: left;
190
+ }
191
+
192
+ /* corners */
193
+ .x-shadow .xstl, .x-shadow .xstr, .x-shadow .xsbl, .x-shadow .xsbr {
194
+ width: 6px;
195
+ height: 6px;
196
+ float: left;
197
+ }
198
+
199
+ /* sides */
200
+ .x-shadow .xsc {
201
+ width: 100%;
202
+ }
203
+
204
+ .x-shadow .xsml, .x-shadow .xsmr {
205
+ width: 6px;
206
+ float: left;
207
+ height: 100%;
208
+ }
209
+
210
+ .x-shadow .xsmc {
211
+ float: left;
212
+ height: 100%;
213
+ background: transparent url( ../images/default/shadow-c.png );
214
+ }
215
+
216
+ .x-shadow .xst, .x-shadow .xsb {
217
+ height: 6px;
218
+ overflow: hidden;
219
+ width: 100%;
220
+ }
221
+
222
+ .x-shadow .xsml {
223
+ background: transparent url( ../images/default/shadow-lr.png ) repeat-y 0 0;
224
+ }
225
+
226
+ .x-shadow .xsmr {
227
+ background: transparent url( ../images/default/shadow-lr.png ) repeat-y -6px 0;
228
+ }
229
+
230
+ .x-shadow .xstl {
231
+ background: transparent url( ../images/default/shadow.png ) no-repeat 0 0;
232
+ }
233
+
234
+ .x-shadow .xstc {
235
+ background: transparent url( ../images/default/shadow.png ) repeat-x 0 -30px;
236
+ }
237
+
238
+ .x-shadow .xstr {
239
+ background: transparent url( ../images/default/shadow.png ) repeat-x 0 -18px;
240
+ }
241
+
242
+ .x-shadow .xsbl {
243
+ background: transparent url( ../images/default/shadow.png ) no-repeat 0 -12px;
244
+ }
245
+
246
+ .x-shadow .xsbc {
247
+ background: transparent url( ../images/default/shadow.png ) repeat-x 0 -36px;
248
+ }
249
+
250
+ .x-shadow .xsbr {
251
+ background: transparent url( ../images/default/shadow.png ) repeat-x 0 -6px;
252
+ }
253
+
254
+ .loading-indicator {
255
+ font-size: 11px;
256
+ background-image: url( '../images/default/grid/loading.gif' );
257
+ background-repeat: no-repeat;
258
+ background-position: left;
259
+ padding-left: 20px;
260
+ line-height: 16px;
261
+ margin: 3px;
262
+ }
263
+
264
+ .x-text-resize {
265
+ position: absolute;
266
+ left: -1000px;
267
+ top: -1000px;
268
+ visibility: hidden;
269
+ zoom: 1;
270
+ }
271
+
272
+ .x-drag-overlay {
273
+ width: 100%;
274
+ height: 100%;
275
+ display: none;
276
+ position: absolute;
277
+ left: 0;
278
+ top: 0;
279
+ background: white;
280
+ z-index: 20000;
281
+ -moz-opacity: 0;
282
+ opacity: 0;
283
+ filter: alpha(opacity=0);
284
+ }
285
+
286
+ .x-clear {
287
+ clear:both;
288
+ height:0;
289
+ overflow:hidden;
290
+ line-height:0;
291
+ font-size:0;
292
+ }
js/extjs/css/date-picker.css ADDED
@@ -0,0 +1,246 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 2.0
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .x-date-picker {
10
+ border: 1px solid #1b376c;
11
+ border-top:0 none;
12
+ background:#fff;
13
+ position:relative;
14
+ }
15
+ .x-date-picker a {
16
+ -moz-outline:0 none;
17
+ outline:0 none;
18
+ }
19
+ .x-date-inner, .x-date-inner td, .x-date-inner th{
20
+ border-collapse:separate;
21
+ }
22
+ .x-date-middle,.x-date-left,.x-date-right {
23
+ background: url(../images/default/basic-dialog/hd-sprite.gif) repeat-x 0 -83px;
24
+ color:#FFF;
25
+ font:bold 11px "sans serif", tahoma, verdana, helvetica;
26
+ overflow:hidden;
27
+ }
28
+
29
+ .x-date-middle .x-btn-left,.x-date-middle .x-btn-center,.x-date-middle .x-btn-right{
30
+ background:transparent !important;
31
+ vertical-align:middle;
32
+ }
33
+ .x-date-middle .x-btn .x-btn-text {
34
+ color:#fff;
35
+ }
36
+ .x-date-middle .x-btn-with-menu .x-btn-center em {
37
+ background:transparent url(../images/default/toolbar/btn-arrow-light.gif) no-repeat right 0;
38
+ }
39
+ .x-date-right, .x-date-left {
40
+ width:18px;
41
+ }
42
+ .x-date-right{
43
+ text-align:right;
44
+ }
45
+ .x-date-middle {
46
+ padding-top:2px;padding-bottom:2px;
47
+ }
48
+ .x-date-right a, .x-date-left a{
49
+ display:block;
50
+ width:16px;
51
+ height:16px;
52
+ background-position: center;
53
+ background-repeat: no-repeat;
54
+ cursor:pointer;
55
+ -moz-opacity: 0.6;
56
+ opacity:.6;
57
+ filter: alpha(opacity=60);
58
+ }
59
+ .x-date-right a:hover, .x-date-left a:hover{
60
+ -moz-opacity: 1;
61
+ opacity:1;
62
+ filter: alpha(opacity=100);
63
+ }
64
+ .x-date-right a {
65
+ background-image: url(../images/default/shared/right-btn.gif);
66
+ margin-right:2px;
67
+ text-decoration:none !important;
68
+ }
69
+ .x-date-left a{
70
+ background-image: url(../images/default/shared/left-btn.gif);
71
+ margin-left:2px;
72
+ text-decoration:none !important;
73
+ }
74
+ table.x-date-inner {
75
+ width:100%;
76
+ table-layout:fixed;
77
+ }
78
+ .x-date-inner th {
79
+ width:25px;
80
+ }
81
+ .x-date-inner th {
82
+ background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;
83
+ text-align:right !important;
84
+ border-bottom: 1px solid #a3bad9;
85
+ font:normal 10px arial, helvetica,tahoma,sans-serif;
86
+ color:#233d6d;
87
+ cursor:default;
88
+ padding:0;
89
+ border-collapse:separate;
90
+ }
91
+ .x-date-inner th span {
92
+ display:block;
93
+ padding:2px;
94
+ padding-right:7px;
95
+ }
96
+ .x-date-inner td {
97
+ border: 1px solid #fff;
98
+ text-align:right;
99
+ padding:0;
100
+ }
101
+ .x-date-inner a {
102
+ padding:2px 5px;
103
+ display:block;
104
+ font:normal 11px arial, helvetica,tahoma,sans-serif;
105
+ text-decoration:none;
106
+ color:black;
107
+ text-align:right;
108
+ zoom:1;
109
+ }
110
+ .x-date-inner .x-date-active{
111
+ cursor:pointer;
112
+ color:black;
113
+ }
114
+ .x-date-inner .x-date-selected a{
115
+ background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;
116
+ border:1px solid #8db2e3;
117
+ padding:1px 4px;
118
+ }
119
+ .x-date-inner .x-date-today a{
120
+ border: 1px solid darkred;
121
+ padding:1px 4px;
122
+ }
123
+ .x-date-inner .x-date-selected span{
124
+ font-weight:bold;
125
+ }
126
+ .x-date-inner .x-date-prevday a,.x-date-inner .x-date-nextday a {
127
+ color:#aaaaaa;
128
+ text-decoration:none !important;
129
+ }
130
+ .x-date-bottom {
131
+ padding:4px;
132
+ border-top: 1px solid #a3bad9;
133
+ background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;
134
+ }
135
+
136
+ .x-date-inner a:hover, .x-date-inner .x-date-disabled a:hover{
137
+ text-decoration:none !important;
138
+ color:black;
139
+ background: #ddecfe;
140
+ }
141
+
142
+ .x-date-inner .x-date-disabled a {
143
+ cursor:default;
144
+ background:#eeeeee;
145
+ color:#bbbbbb;
146
+ }
147
+ .x-date-mmenu{
148
+ background:#eeeeee !important;
149
+ }
150
+ .x-date-mmenu .x-menu-item {
151
+ font-size:10px;
152
+ padding:1px 24px 1px 4px;
153
+ white-space: nowrap;
154
+ color:#000;
155
+ }
156
+ .x-date-mmenu .x-menu-item .x-menu-item-icon {
157
+ width:10px;height:10px;margin-right:5px;
158
+ background-position:center -4px !important;
159
+ }
160
+
161
+ .x-date-mp {
162
+ position:absolute;
163
+ left:0;
164
+ top:0;
165
+ background:white;
166
+ display:none;
167
+ }
168
+ .x-date-mp td {
169
+ padding:2px;
170
+ font:normal 11px arial, helvetica,tahoma,sans-serif;
171
+ }
172
+ td.x-date-mp-month,td.x-date-mp-year,td.x-date-mp-ybtn {
173
+ border: 0 none;
174
+ text-align:center;
175
+ vertical-align: middle;
176
+ width:25%;
177
+ }
178
+ .x-date-mp-ok {
179
+ margin-right:3px;
180
+ }
181
+ .x-date-mp-btns button {
182
+ text-decoration:none;
183
+ text-align:center;
184
+ text-decoration:none !important;
185
+ background:#083772;
186
+ color:white;
187
+ border:1px solid;
188
+ border-color: #3366cc #000055 #000055 #3366cc;
189
+ padding:1px 3px 1px;
190
+ font:normal 11px arial, helvetica,tahoma,sans-serif;
191
+ cursor:pointer;
192
+ }
193
+ .x-date-mp-btns {
194
+ background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;
195
+ }
196
+ .x-date-mp-btns td {
197
+ border-top: 1px solid #c5d2df;
198
+ text-align:center;
199
+ }
200
+ td.x-date-mp-month a,td.x-date-mp-year a {
201
+ display:block;
202
+ padding:2px 4px;
203
+ text-decoration:none;
204
+ text-align:center;
205
+ color:#15428b;
206
+ }
207
+
208
+ td.x-date-mp-month a:hover,td.x-date-mp-year a:hover {
209
+ color:#15428b;
210
+ text-decoration:none;
211
+ cursor:pointer;
212
+ background: #ddecfe;
213
+ }
214
+
215
+ td.x-date-mp-sel a {
216
+ padding:1px 3px;
217
+ background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;
218
+ border:1px solid #8db2e3;
219
+ }
220
+ .x-date-mp-ybtn a {
221
+ overflow:hidden;
222
+ width:15px;
223
+ height:15px;
224
+ cursor:pointer;
225
+ background:transparent url(../images/default/panel/tool-sprites.gif) no-repeat;
226
+ display:block;
227
+ margin:0 auto;
228
+ }
229
+ .x-date-mp-ybtn a.x-date-mp-next {
230
+ background-position:0 -120px;
231
+ }
232
+ .x-date-mp-ybtn a.x-date-mp-next:hover {
233
+ background-position:-15px -120px;
234
+ }
235
+ .x-date-mp-ybtn a.x-date-mp-prev {
236
+ background-position:0 -105px;
237
+ }
238
+ .x-date-mp-ybtn a.x-date-mp-prev:hover {
239
+ background-position:-15px -105px;
240
+ }
241
+ .x-date-mp-ybtn {
242
+ text-align:center;
243
+ }
244
+ td.x-date-mp-sep {
245
+ border-right:1px solid #c5d2df;
246
+ }
js/extjs/css/dd.css ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 2.0
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .x-dd-drag-proxy{
10
+ position:absolute;
11
+ left:0;top:0;
12
+ visibility:hidden;
13
+ z-index:15000;
14
+ }
15
+ .x-dd-drag-ghost{
16
+ color: black;
17
+ font: normal 11px arial, helvetica, sans-serif;
18
+ -moz-opacity: 0.85;
19
+ opacity:.85;
20
+ filter: alpha(opacity=85);
21
+ border-top:1px solid #dddddd;
22
+ border-left:1px solid #dddddd;
23
+ border-right:1px solid #bbbbbb;
24
+ border-bottom:1px solid #bbbbbb;
25
+ padding:3px;
26
+ padding-left:20px;
27
+ background-color:white;
28
+ white-space:nowrap;
29
+ }
30
+ .x-dd-drag-repair .x-dd-drag-ghost{
31
+ -moz-opacity: 0.4;
32
+ opacity:.4;
33
+ filter: alpha(opacity=40);
34
+ border:0 none;
35
+ padding:0;
36
+ background-color:transparent;
37
+ }
38
+ .x-dd-drag-repair .x-dd-drop-icon{
39
+ visibility:hidden;
40
+ }
41
+ .x-dd-drop-icon{
42
+ position:absolute;
43
+ top:3px;
44
+ left:3px;
45
+ display:block;
46
+ width:16px;
47
+ height:16px;
48
+ background-color:transparent;
49
+ background-position: center;
50
+ background-repeat: no-repeat;
51
+ z-index:1;
52
+ }
53
+ .x-dd-drop-nodrop .x-dd-drop-icon{
54
+ background-image: url(../images/default/dd/drop-no.gif);
55
+ }
56
+ .x-dd-drop-ok .x-dd-drop-icon{
57
+ background-image: url(../images/default/dd/drop-yes.gif);
58
+ }
59
+ .x-dd-drop-ok-add .x-dd-drop-icon{
60
+ background-image: url(../images/default/dd/drop-add.gif);
61
+ }
js/extjs/css/debug.css ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 2.0
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ #x-debug-browser .x-tree .x-tree-node a span {
10
+ color:#222297;
11
+ font-size:12px;
12
+ padding-top:2px;
13
+ font-family:"courier","courier new";
14
+ line-height:18px;
15
+ }
16
+ #x-debug-browser .x-tree a i {
17
+ color:#FF4545;
18
+ font-style:normal;
19
+ }
20
+ #x-debug-browser .x-tree a em {
21
+ color:#999;
22
+ }
23
+ #x-debug-browser .x-tree .x-tree-node .x-tree-selected a span{
24
+ background:#c3daf9;
25
+ }
26
+ #x-debug-browser pre, .x-debug-browser pre xmp {
27
+ font:normal 11px tahoma, arial, helvetica, sans-serif !important;
28
+ white-space: -moz-pre-wrap;
29
+ white-space: -pre-wrap;
30
+ white-space: -o-pre-wrap;
31
+ word-wrap: break-word;
32
+ }
33
+ #x-debug-browser pre {
34
+ display:block;
35
+ padding:5px !important;
36
+ border-bottom:1px solid #eeeeee !important;
37
+ }
38
+ #x-debug-browser pre xmp {
39
+ padding:0 !important;
40
+ margin:0 !important;
41
+ }
42
+ #x-debug-console .x-layout-panel-center, #x-debug-inspector .x-layout-panel-center {
43
+ border-right:1px solid #98c0f4;
44
+ }
45
+ #x-debug-console textarea {
46
+ border: 0 none;
47
+ font-size:12px;
48
+ font-family:"courier","courier new";
49
+ padding-top:4px;
50
+ padding-left:4px;
51
+ }
52
+ .x-debug-frame {
53
+ background:#eeeeee;
54
+ border:1px dashed #aaaaaa;
55
+ }
js/extjs/css/editor.css ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 2.0
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .x-html-editor-wrap {
10
+ border:1px solid #a9bfd3;
11
+ background:white;
12
+ }
13
+ .x-html-editor-tb .x-btn-text {
14
+ background:transparent url(../images/default/editor/tb-sprite.gif) no-repeat;
15
+ }
16
+ .x-html-editor-tb .x-edit-bold .x-btn-text {
17
+ background-position:0 0;
18
+ }
19
+ .x-html-editor-tb .x-edit-italic .x-btn-text {
20
+ background-position:-16px 0;
21
+ }
22
+ .x-html-editor-tb .x-edit-underline .x-btn-text {
23
+ background-position:-32px 0;
24
+ }
25
+ .x-html-editor-tb .x-edit-forecolor .x-btn-text {
26
+ background-position:-160px 0;
27
+ }
28
+ .x-html-editor-tb .x-edit-backcolor .x-btn-text {
29
+ background-position:-176px 0;
30
+ }
31
+ .x-html-editor-tb .x-edit-justifyleft .x-btn-text {
32
+ background-position:-112px 0;
33
+ }
34
+ .x-html-editor-tb .x-edit-justifycenter .x-btn-text {
35
+ background-position:-128px 0;
36
+ }
37
+ .x-html-editor-tb .x-edit-justifyright .x-btn-text {
38
+ background-position:-144px 0;
39
+ }
40
+ .x-html-editor-tb .x-edit-insertorderedlist .x-btn-text {
41
+ background-position:-80px 0;
42
+ }
43
+ .x-html-editor-tb .x-edit-insertunorderedlist .x-btn-text {
44
+ background-position:-96px 0;
45
+ }
46
+ .x-html-editor-tb .x-edit-increasefontsize .x-btn-text {
47
+ background-position:-48px 0;
48
+ }
49
+ .x-html-editor-tb .x-edit-decreasefontsize .x-btn-text {
50
+ background-position:-64px 0;
51
+ }
52
+ .x-html-editor-tb .x-edit-sourceedit .x-btn-text {
53
+ background-position:-192px 0;
54
+ }
55
+
56
+ .x-html-editor-tip .x-tip-bd .x-tip-bd-inner {
57
+ padding:5px;
58
+ padding-bottom:1px;
59
+ }
js/extjs/css/ext-all.css ADDED
@@ -0,0 +1,3446 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 2.0
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,th,td{margin:0;padding:0;}img,body,html{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}ol,ul {list-style:none;}caption,th {text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;}q:before,q:after{content:'';}
10
+ .ext-el-mask {
11
+ z-index: 20000;
12
+ position: absolute;
13
+ top: 0;
14
+ left: 0;
15
+ -moz-opacity: 0.5;
16
+ opacity: .50;
17
+ filter: alpha(opacity=50);
18
+ background-color: #CCC;
19
+ width: 100%;
20
+ height: 100%;
21
+ zoom: 1;
22
+ }
23
+ .ext-el-mask-msg {
24
+ z-index: 20001;
25
+ position: absolute;
26
+ top: 0;
27
+ left: 0;
28
+ border:1px solid #6593cf;
29
+ background: #c3daf9 url(../images/default/box/tb-blue.gif) repeat-x 0 -16px;
30
+ padding:2px;
31
+ }
32
+ .ext-el-mask-msg div {
33
+ padding:5px 10px 5px 10px;
34
+ background: #eee;
35
+ border:1px solid #a3bad9;
36
+ color:#333;
37
+ font:normal 12px tahoma, arial, helvetica, sans-serif;
38
+ cursor:wait;
39
+ }
40
+
41
+ .ext-shim {
42
+ position:absolute;
43
+ visibility:hidden;
44
+ left:0;
45
+ top:0;
46
+ overflow:hidden;
47
+ }
48
+ .ext-ie .ext-shim {
49
+ filter: alpha(opacity=0);
50
+ }
51
+
52
+ .x-mask-loading div {
53
+ padding:5px 10px 5px 25px;
54
+ background: #eee url( '../images/default/grid/loading.gif' ) no-repeat 5px 5px;
55
+ line-height: 16px;
56
+ }
57
+
58
+
59
+ .x-hidden {
60
+ position:absolute;
61
+ left:-2000px;
62
+ top:-2000px;
63
+ visibility:hidden;
64
+ }
65
+
66
+ .x-masked {
67
+ overflow: hidden !important;
68
+ }
69
+
70
+ .x-masked select, .x-masked object, .x-masked embed {
71
+ visibility: hidden;
72
+ }
73
+
74
+ .x-layer {
75
+ visibility: hidden;
76
+ }
77
+
78
+ .x-unselectable, .x-unselectable * {
79
+ -moz-user-select: none;
80
+ -khtml-user-select: none;
81
+ }
82
+
83
+ .x-repaint {
84
+ zoom: 1;
85
+ background-color: transparent;
86
+ -moz-outline: none;
87
+ }
88
+
89
+ .x-item-disabled {
90
+ color: gray;
91
+ cursor: default;
92
+ opacity: .6;
93
+ -moz-opacity: .6;
94
+ filter: alpha(opacity=60);
95
+ }
96
+
97
+ .x-item-disabled * {
98
+ color: gray;
99
+ cursor: default !important;
100
+ }
101
+
102
+ .x-splitbar-proxy {
103
+ position: absolute;
104
+ visibility: hidden;
105
+ z-index: 20001;
106
+ background: #aaa;
107
+ zoom: 1;
108
+ line-height: 1px;
109
+ font-size: 1px;
110
+ overflow: hidden;
111
+ }
112
+
113
+ .x-splitbar-h, .x-splitbar-proxy-h {
114
+ cursor: e-resize;
115
+ cursor: col-resize;
116
+ }
117
+
118
+ .x-splitbar-v, .x-splitbar-proxy-v {
119
+ cursor: s-resize;
120
+ cursor: row-resize;
121
+ }
122
+
123
+ .x-color-palette {
124
+ width: 150px;
125
+ height: 92px;
126
+ cursor: pointer;
127
+ }
128
+
129
+ .x-color-palette a {
130
+ border: 1px solid #fff;
131
+ float: left;
132
+ padding: 2px;
133
+ text-decoration: none;
134
+ -moz-outline: 0 none;
135
+ outline: 0 none;
136
+ cursor: pointer;
137
+ }
138
+
139
+ .x-color-palette a:hover, .x-color-palette a.x-color-palette-sel {
140
+ border: 1px solid #8BB8F3;
141
+ background: #deecfd;
142
+ }
143
+
144
+ .x-color-palette em {
145
+ display: block;
146
+ border: 1px solid #ACA899;
147
+ }
148
+
149
+ .x-color-palette em span {
150
+ cursor: pointer;
151
+ display: block;
152
+ height: 10px;
153
+ line-height: 10px;
154
+ width: 10px;
155
+ }
156
+
157
+ .x-ie-shadow {
158
+ display: none;
159
+ position: absolute;
160
+ overflow: hidden;
161
+ left:0;
162
+ top:0;
163
+ background:#777;
164
+ zoom:1;
165
+ }
166
+
167
+ .x-shadow {
168
+ display: none;
169
+ position: absolute;
170
+ overflow: hidden;
171
+ left:0;
172
+ top:0;
173
+ }
174
+
175
+ .x-shadow * {
176
+ overflow: hidden;
177
+ }
178
+
179
+ .x-shadow * {
180
+ padding: 0;
181
+ border: 0;
182
+ margin: 0;
183
+ clear: none;
184
+ zoom: 1;
185
+ }
186
+
187
+
188
+ .x-shadow .xstc, .x-shadow .xsbc {
189
+ height: 6px;
190
+ float: left;
191
+ }
192
+
193
+
194
+ .x-shadow .xstl, .x-shadow .xstr, .x-shadow .xsbl, .x-shadow .xsbr {
195
+ width: 6px;
196
+ height: 6px;
197
+ float: left;
198
+ }
199
+
200
+
201
+ .x-shadow .xsc {
202
+ width: 100%;
203
+ }
204
+
205
+ .x-shadow .xsml, .x-shadow .xsmr {
206
+ width: 6px;
207
+ float: left;
208
+ height: 100%;
209
+ }
210
+
211
+ .x-shadow .xsmc {
212
+ float: left;
213
+ height: 100%;
214
+ background: transparent url( ../images/default/shadow-c.png );
215
+ }
216
+
217
+ .x-shadow .xst, .x-shadow .xsb {
218
+ height: 6px;
219
+ overflow: hidden;
220
+ width: 100%;
221
+ }
222
+
223
+ .x-shadow .xsml {
224
+ background: transparent url( ../images/default/shadow-lr.png ) repeat-y 0 0;
225
+ }
226
+
227
+ .x-shadow .xsmr {
228
+ background: transparent url( ../images/default/shadow-lr.png ) repeat-y -6px 0;
229
+ }
230
+
231
+ .x-shadow .xstl {
232
+ background: transparent url( ../images/default/shadow.png ) no-repeat 0 0;
233
+ }
234
+
235
+ .x-shadow .xstc {
236
+ background: transparent url( ../images/default/shadow.png ) repeat-x 0 -30px;
237
+ }
238
+
239
+ .x-shadow .xstr {
240
+ background: transparent url( ../images/default/shadow.png ) repeat-x 0 -18px;
241
+ }
242
+
243
+ .x-shadow .xsbl {
244
+ background: transparent url( ../images/default/shadow.png ) no-repeat 0 -12px;
245
+ }
246
+
247
+ .x-shadow .xsbc {
248
+ background: transparent url( ../images/default/shadow.png ) repeat-x 0 -36px;
249
+ }
250
+
251
+ .x-shadow .xsbr {
252
+ background: transparent url( ../images/default/shadow.png ) repeat-x 0 -6px;
253
+ }
254
+
255
+ .loading-indicator {
256
+ font-size: 11px;
257
+ background-image: url( '../images/default/grid/loading.gif' );
258
+ background-repeat: no-repeat;
259
+ background-position: left;
260
+ padding-left: 20px;
261
+ line-height: 16px;
262
+ margin: 3px;
263
+ }
264
+
265
+ .x-text-resize {
266
+ position: absolute;
267
+ left: -1000px;
268
+ top: -1000px;
269
+ visibility: hidden;
270
+ zoom: 1;
271
+ }
272
+
273
+ .x-drag-overlay {
274
+ width: 100%;
275
+ height: 100%;
276
+ display: none;
277
+ position: absolute;
278
+ left: 0;
279
+ top: 0;
280
+ background: white;
281
+ z-index: 20000;
282
+ -moz-opacity: 0;
283
+ opacity: 0;
284
+ filter: alpha(opacity=0);
285
+ }
286
+
287
+ .x-clear {
288
+ clear:both;
289
+ height:0;
290
+ overflow:hidden;
291
+ line-height:0;
292
+ font-size:0;
293
+ }
294
+
295
+ .x-tabs-wrap {
296
+ border-bottom:1px solid #6593cf;
297
+ padding-top:2px;
298
+ }
299
+ .x-tabs-strip-wrap{
300
+ width:100%;
301
+ }
302
+ .x-tabs-wrap table{
303
+ position:relative;
304
+ top:0; left:0;
305
+ }
306
+ .x-tabs-strip td{
307
+ padding:0;
308
+ padding-left:2px;
309
+ }
310
+ .x-tabs-strip a, .x-tabs-strip span, .x-tabs-strip em {
311
+ display:block;
312
+ }
313
+ .x-tabs-strip a {
314
+ text-decoration:none !important;
315
+ -moz-outline: none;
316
+ outline: none;
317
+ cursor:pointer;
318
+ }
319
+ .x-tabs-strip .x-tabs-text {
320
+ font:bold 11px tahoma,arial,helvetica;
321
+ color:#666;
322
+ overflow:hidden;
323
+ white-space: nowrap;
324
+ cursor:pointer;
325
+ text-overflow: ellipsis;
326
+ }
327
+ .x-tabs-strip .on .x-tabs-text {
328
+ cursor:default;
329
+ color:#083772;
330
+ }
331
+ .x-tabs-strip .disabled .x-tabs-text {
332
+ cursor:default;
333
+ color:#aaaaaa;
334
+ }
335
+ .x-tabs-strip .x-tabs-inner {
336
+ padding:4px 10px;
337
+ }
338
+
339
+ .x-tabs-strip .on .x-tabs-right {
340
+ background: url(../images/default/tabs/tab-sprite.gif) no-repeat right 0;
341
+ }
342
+ .x-tabs-strip .on .x-tabs-left {
343
+ background: url(../images/default/tabs/tab-sprite.gif) no-repeat 0 -100px;
344
+ }
345
+ .x-tabs-strip .x-tabs-right {
346
+ background: url(../images/default/tabs/tab-sprite.gif) no-repeat right -50px;
347
+ }
348
+ .x-tabs-strip .x-tabs-left {
349
+ background: url(../images/default/tabs/tab-sprite.gif) no-repeat 0 -150px;
350
+ }
351
+
352
+ .x-tabs-strip a {
353
+ position:relative;
354
+ top:1px; left:0;
355
+ }
356
+ .x-tabs-strip .on a {
357
+ position:relative;
358
+ }
359
+ .x-tabs-strip .on .x-tabs-inner {
360
+ padding-bottom:5px;
361
+ }
362
+
363
+ .x-tabs-strip .x-tabs-closable .x-tabs-inner{
364
+ padding-right:22px;
365
+ position:relative;
366
+ }
367
+ .x-tabs-strip .x-tabs-closable .close-icon{
368
+ line-height: 1px;
369
+ font-size:1px;
370
+ background-image:url(../images/default/layout/tab-close.gif);
371
+ display:block;
372
+ position:absolute;
373
+ right:5px;top:4px;
374
+ width:11px;height:11px;
375
+ cursor:pointer;
376
+ }
377
+ .x-tabs-strip .on .close-icon{
378
+ background-image:url(../images/default/layout/tab-close-on.gif);
379
+ }
380
+ .x-tabs-strip .x-tabs-closable .close-over{
381
+ background-image:url(../images/default/layout/tab-close-on.gif);
382
+ }
383
+ .x-tabs-body {
384
+ border:1px solid #6593cf;
385
+ border-top:0 none;
386
+ }
387
+ .x-tabs-bottom .x-tabs-wrap {
388
+ border-top:1px solid #6593cf;
389
+ border-bottom:0 none;
390
+ padding-top:0;
391
+ padding-bottom:2px;
392
+ }
393
+ .x-tabs-bottom .x-tabs-strip .x-tabs-right {
394
+ background: url(../images/default/tabs/tab-btm-inactive-right-bg.gif) no-repeat bottom left;
395
+ }
396
+ .x-tabs-bottom .x-tabs-strip .x-tabs-left {
397
+ background: url(../images/default/tabs/tab-btm-inactive-left-bg.gif) no-repeat bottom right;
398
+ }
399
+ .x-tabs-bottom .x-tabs-strip .on .x-tabs-right {
400
+ background: url(../images/default/tabs/tab-btm-right-bg.gif) no-repeat bottom left;
401
+ }
402
+ .x-tabs-bottom .x-tabs-strip .on .x-tabs-left {
403
+ background: url(../images/default/tabs/tab-btm-left-bg.gif) no-repeat bottom right;
404
+ }
405
+ .x-tabs-bottom .x-tabs-strip a {
406
+ position:relative;
407
+ top:0; left:0;
408
+ }
409
+ .x-tabs-bottom .x-tabs-strip .on a {
410
+ margin-top:-1px;
411
+ }
412
+ .x-tabs-bottom .x-tabs-strip .on .x-tabs-inner {
413
+ padding-top:5px;
414
+ }
415
+
416
+ .x-tabs-bottom .x-tabs-body {
417
+ border:1px solid #6593cf;
418
+ border-bottom:0 none;
419
+ }
420
+
421
+
422
+
423
+ .x-form-field{
424
+ margin: 0 0 0 0;
425
+ font:normal 12px tahoma, arial, helvetica, sans-serif;
426
+ }
427
+
428
+
429
+ .x-form-text, textarea.x-form-field{
430
+ padding: 1px 3px;
431
+ background:#fff url(../images/default/form/text-bg.gif) repeat-x 0 0;
432
+ border: 1px solid #B5B8C8;
433
+ }
434
+ .x-form-text {
435
+ height:22px;
436
+ line-height:18px;
437
+ vertical-align:middle;
438
+ }
439
+ .ext-ie .x-form-text {
440
+ margin-top:-1px;
441
+ margin-bottom:-1px;
442
+ height:22px;
443
+ line-height:18px;
444
+ }
445
+ .ext-strict .x-form-text {
446
+ height:18px;
447
+ }
448
+ .ext-safari .x-form-text {
449
+ height:20px;
450
+ }
451
+ .ext-gecko .x-form-text {
452
+ padding-top:2px;
453
+ padding-bottom:0;
454
+ }
455
+
456
+
457
+ .x-form-select-one {
458
+ height:20px;
459
+ line-height:18px;
460
+ vertical-align:middle;
461
+ background-color:#fff;
462
+ border: 1px solid #B5B8C8;
463
+ }
464
+
465
+
466
+
467
+
468
+
469
+
470
+
471
+
472
+
473
+
474
+
475
+
476
+
477
+
478
+
479
+
480
+ .x-form-field-wrap {
481
+ position:relative;
482
+ zoom:1;
483
+ white-space: nowrap;
484
+ }
485
+
486
+ .x-editor .x-form-check-wrap {
487
+ background:#fff;
488
+ }
489
+ .x-form-field-wrap .x-form-trigger{
490
+ width:17px;
491
+ height:21px;
492
+ border:0;
493
+ background:transparent url(../images/default/form/trigger.gif) no-repeat 0 0;
494
+ cursor:pointer;
495
+ border-bottom: 1px solid #B5B8C8;
496
+ position:absolute;
497
+ top:0;
498
+ }
499
+ .ext-safari .x-form-field-wrap .x-form-trigger{
500
+ height:19px;
501
+ }
502
+ .x-form-field-wrap .x-form-date-trigger{
503
+ background:transparent url(../images/default/form/date-trigger.gif) no-repeat 0 0 !important;
504
+ cursor:pointer;
505
+ }
506
+ .x-form-field-wrap .x-form-clear-trigger{
507
+ background:transparent url(../images/default/form/clear-trigger.gif) no-repeat;
508
+ cursor:pointer;
509
+ }
510
+ .x-form-field-wrap .x-form-search-trigger{
511
+ background:transparent url(../images/default/form/search-trigger.gif) no-repeat 0 0;
512
+ cursor:pointer;
513
+ }
514
+ .ext-safari .x-form-field-wrap .x-form-trigger{
515
+ right:0;
516
+ }
517
+ .x-form-field-wrap .x-form-twin-triggers{
518
+
519
+ }
520
+ .x-form-field-wrap .x-form-twin-triggers .x-form-trigger{
521
+ position:static;
522
+ top:auto;
523
+ vertical-align:top;
524
+ }
525
+
526
+
527
+ .x-form-field-wrap .x-form-trigger-over{
528
+ background-position:-17px 0;
529
+ }
530
+ .x-form-field-wrap .x-form-trigger-click{
531
+ background-position:-34px 0;
532
+ }
533
+ .x-item-disabled .x-form-trigger-over{
534
+ background-position:0 0 !important;
535
+ }
536
+ .x-item-disabled .x-form-trigger-click{
537
+ background-position:0 0 !important;
538
+ }
539
+
540
+
541
+ .x-form-focus, textarea.x-form-focus{
542
+ border: 1px solid #7eadd9;
543
+ }
544
+
545
+
546
+ .x-form-invalid, textarea.x-form-invalid{
547
+ background:#fff url(../images/default/grid/invalid_line.gif) repeat-x bottom;
548
+ border: 1px solid #dd7870;
549
+ }
550
+ .ext-safari .x-form-invalid{
551
+ background-color:#ffeeee;
552
+ border: 1px solid #ff7870;
553
+ }
554
+
555
+
556
+
557
+ .x-editor {
558
+ visibility:hidden;
559
+ padding:0;
560
+ margin:0;
561
+ }
562
+ .x-form-check-wrap {
563
+ line-height:18px;
564
+ }
565
+ .ext-ie .x-form-check-wrap input {
566
+ width:15px;
567
+ height:15px;
568
+ }
569
+ .x-editor .x-form-check-wrap {
570
+ padding:3px;
571
+ }
572
+ .x-editor .x-form-checkbox {
573
+ height:13px;
574
+ border: 0 none;
575
+ }
576
+
577
+ .x-form-grow-sizer {
578
+ font:normal 12px tahoma, arial, helvetica, sans-serif;
579
+ left: -10000px;
580
+ padding: 8px 3px;
581
+ position: absolute;
582
+ visibility:hidden;
583
+ top: -10000px;
584
+ white-space: pre-wrap;
585
+ white-space: -moz-pre-wrap;
586
+ white-space: -pre-wrap;
587
+ white-space: -o-pre-wrap;
588
+ word-wrap: break-word;
589
+ zoom:1;
590
+ }
591
+ .x-form-grow-sizer p {
592
+ margin:0 !important;
593
+ border:0 none !important;
594
+ padding:0 !important;
595
+ }
596
+
597
+
598
+ .x-form-item {
599
+ font:normal 12px tahoma, arial, helvetica, sans-serif;
600
+ display:block;
601
+ margin-bottom:4px;
602
+ }
603
+
604
+ .x-form-item label {
605
+ display:block;
606
+ float:left;
607
+ width:100px;
608
+ padding:3px;
609
+ padding-left:0;
610
+ clear:left;
611
+ z-index:2;
612
+ position:relative;
613
+ }
614
+
615
+ .x-form-element {
616
+ padding-left:105px;
617
+ position:relative;
618
+ }
619
+
620
+ .x-form-invalid-msg {
621
+ color:#ee0000;
622
+ padding:2px;
623
+ padding-left:18px;
624
+ font:normal 11px tahoma, arial, helvetica, sans-serif;
625
+ background: transparent url(../images/default/shared/warning.gif) no-repeat 0 2px;
626
+ line-height:16px;
627
+ width:200px;
628
+ }
629
+
630
+ .x-form-label-right label {
631
+ text-align:right;
632
+ }
633
+
634
+ .x-form-label-top .x-form-item label {
635
+ width:auto;
636
+ float:none;
637
+ clear:none;
638
+ display:inline;
639
+ margin-bottom:4px;
640
+ position:static;
641
+ }
642
+ .x-form-label-top .x-form-element {
643
+ padding-left:0;
644
+ padding-top:4px;
645
+ }
646
+ .x-form-label-top .x-form-item {
647
+ padding-bottom:4px;
648
+ }
649
+ .x-form fieldset {
650
+ border:1px solid #B5B8C8;
651
+ padding:10px 10px 5px 10px;
652
+ margin-bottom:10px;
653
+ }
654
+ .x-form fieldset legend {
655
+ font:bold 11px tahoma, arial, helvetica, sans-serif;
656
+ color:#15428b;
657
+ }
658
+ .ext-ie .x-form fieldset legend {
659
+ margin-bottom:10px;
660
+ }
661
+ .ext-ie .x-form fieldset {
662
+ padding-top: 0;
663
+ }
664
+ .x-form-empty-field {
665
+ color:gray;
666
+ }
667
+
668
+ .x-small-editor .x-form-field {
669
+ font:normal 11px arial, tahoma, helvetica, sans-serif;
670
+ }
671
+ .x-small-editor .x-form-text {
672
+ height:20px;
673
+ line-height:16px;
674
+ vertical-align:middle;
675
+ }
676
+ .ext-ie .x-small-editor .x-form-text {
677
+ margin-top:-1px !important;
678
+ margin-bottom:-1px !important;
679
+ height:20px !important;
680
+ line-height:16px !important;
681
+ }
682
+ .ext-strict .x-small-editor .x-form-text {
683
+ height:16px !important;
684
+ }
685
+ .ext-safari .x-small-editor .x-form-field {
686
+
687
+ font:normal 12px arial, tahoma, helvetica, sans-serif;
688
+ }
689
+ .ext-ie .x-small-editor .x-form-text {
690
+ height:20px;
691
+ line-height:16px;
692
+ }
693
+ .ext-border-box .x-small-editor .x-form-text {
694
+ height:20px;
695
+ }
696
+
697
+ .x-small-editor .x-form-select-one {
698
+ height:20px;
699
+ line-height:16px;
700
+ vertical-align:middle;
701
+ }
702
+ .x-small-editor .x-form-num-field {
703
+ text-align:right;
704
+ }
705
+ .x-small-editor .x-form-field-wrap .x-form-trigger{
706
+ height:19px;
707
+ }
708
+
709
+
710
+ .x-form-clear {
711
+ clear:both;
712
+ height:0;
713
+ overflow:hidden;
714
+ line-height:0;
715
+ font-size:0;
716
+ }
717
+ .x-form-clear-left {
718
+ clear:left;
719
+ height:0;
720
+ overflow:hidden;
721
+ line-height:0;
722
+ font-size:0;
723
+ }
724
+
725
+ .x-form-cb-label {
726
+ width:'auto' !important;
727
+ float:none !important;
728
+ clear:none !important;
729
+ display:inline !important;
730
+ margin-left:4px;
731
+ }
732
+
733
+ .x-form-column {
734
+ float:left;
735
+ padding:0;
736
+ margin:0;
737
+ width:48%;
738
+ overflow:hidden;
739
+ zoom:1;
740
+ }
741
+
742
+
743
+ .x-form .x-form-btns-ct .x-btn{
744
+ float:right;
745
+ clear:none;
746
+ }
747
+ .x-form .x-form-btns-ct .x-form-btns td {
748
+ border:0;
749
+ padding:0;
750
+ }
751
+ .x-form .x-form-btns-ct .x-form-btns-right table{
752
+ float:right;
753
+ clear:none;
754
+ }
755
+ .x-form .x-form-btns-ct .x-form-btns-left table{
756
+ float:left;
757
+ clear:none;
758
+ }
759
+ .x-form .x-form-btns-ct .x-form-btns-center{
760
+ text-align:center;
761
+ }
762
+ .x-form .x-form-btns-ct .x-form-btns-center table{
763
+ margin:0 auto;
764
+ }
765
+ .x-form .x-form-btns-ct table td.x-form-btn-td{
766
+ padding:3px;
767
+ }
768
+
769
+ .x-form .x-form-btns-ct .x-btn-focus .x-btn-left{
770
+ background-position:0 -147px;
771
+ }
772
+ .x-form .x-form-btns-ct .x-btn-focus .x-btn-right{
773
+ background-position:0 -168px;
774
+ }
775
+ .x-form .x-form-btns-ct .x-btn-focus .x-btn-center{
776
+ background-position:0 -189px;
777
+ }
778
+
779
+ .x-form .x-form-btns-ct .x-btn-click .x-btn-center{
780
+ background-position:0 -126px;
781
+ }
782
+ .x-form .x-form-btns-ct .x-btn-click .x-btn-right{
783
+ background-position:0 -84px;
784
+ }
785
+ .x-form .x-form-btns-ct .x-btn-click .x-btn-left{
786
+ background-position:0 -63px;
787
+ }
788
+ .x-form-invalid-icon {
789
+ width:16px;
790
+ height:18px;
791
+ visibility:hidden;
792
+ position:absolute;
793
+ left:0;
794
+ top:0;
795
+ display:block;
796
+ background:transparent url(../images/default/form/exclamation.gif) no-repeat 0 2px;
797
+ }
798
+ .x-btn{
799
+ font:normal 11px tahoma, verdana, helvetica;
800
+ cursor:pointer;
801
+ white-space: nowrap;
802
+ }
803
+ .x-btn button{
804
+ border:0 none;
805
+ background:transparent;
806
+ font:normal 11px tahoma,verdana,helvetica;
807
+ padding-left:3px;
808
+ padding-right:3px;
809
+ cursor:pointer;
810
+ margin:0;
811
+ overflow:visible;
812
+ width:auto;
813
+ -moz-outline:0 none;
814
+ outline:0 none;
815
+ }
816
+ * html .ext-ie .x-btn button {
817
+ width:1px;
818
+ }
819
+ .ext-gecko .x-btn button {
820
+ padding-left:0;
821
+ padding-right:0;
822
+ }
823
+ .ext-ie .x-btn button {
824
+ padding-top:2px;
825
+ }
826
+
827
+
828
+ .x-btn-icon .x-btn-center .x-btn-text{
829
+ background-position: center;
830
+ background-repeat: no-repeat;
831
+ height: 16px;
832
+ width: 16px;
833
+ cursor:pointer;
834
+ white-space: nowrap;
835
+ padding:0;
836
+ }
837
+ .x-btn-icon .x-btn-center{
838
+ padding:1px;
839
+ }
840
+ .x-btn em {
841
+ font-style:normal;
842
+ font-weight:normal;
843
+ }
844
+
845
+
846
+ .x-btn-text-icon .x-btn-center .x-btn-text{
847
+ background-position: 0 2px;
848
+ background-repeat: no-repeat;
849
+ padding-left:18px;
850
+ padding-top:3px;
851
+ padding-bottom:3px;
852
+ padding-right:0;
853
+ }
854
+
855
+ .x-btn-left, .x-btn-right{
856
+ font-size:1px;
857
+ line-height:1px;
858
+ }
859
+ .x-btn-left{
860
+ width:3px;
861
+ height:21px;
862
+ background:url(../images/default/basic-dialog/btn-sprite.gif) no-repeat 0 0;
863
+ }
864
+ .x-btn-right{
865
+ width:3px;
866
+ height:21px;
867
+ background:url(../images/default/basic-dialog/btn-sprite.gif) no-repeat 0 -21px;
868
+ }
869
+ .x-btn-left i, .x-btn-right i{
870
+ display:block;
871
+ width:3px;
872
+ overflow:hidden;
873
+ font-size:1px;
874
+ line-height:1px;
875
+ }
876
+ .x-btn-center{
877
+ background:url(../images/default/basic-dialog/btn-sprite.gif) repeat-x 0 -42px;
878
+ vertical-align: middle;
879
+ text-align:center;
880
+ padding:0 5px;
881
+ cursor:pointer;
882
+ white-space:nowrap;
883
+ }
884
+ .x-btn-over .x-btn-left{
885
+ background-position:0 -63px;
886
+ }
887
+ .x-btn-over .x-btn-right{
888
+ background-position:0 -84px;
889
+ }
890
+ .x-btn-over .x-btn-center{
891
+ background-position:0 -105px;
892
+ }
893
+ .x-btn-click .x-btn-center, .x-btn-menu-active .x-btn-center{
894
+ background-position:0 -126px;
895
+ }
896
+ .x-btn-disabled *{
897
+ color:gray !important;
898
+ cursor:default !important;
899
+ }
900
+ .x-btn-menu-text-wrap .x-btn-center {
901
+ padding:0 3px;
902
+ }
903
+ .ext-gecko .x-btn-menu-text-wrap .x-btn-center {
904
+ padding:0 1px;
905
+ }
906
+ .x-btn-menu-arrow-wrap .x-btn-center {
907
+ padding:0;
908
+ }
909
+ .x-btn-menu-arrow-wrap .x-btn-center button {
910
+ width:12px !important;
911
+ height:21px;
912
+ padding:0 !important;
913
+ display:block;
914
+ background:transparent url(../images/default/basic-dialog/btn-arrow.gif) no-repeat left 3px;
915
+ }
916
+ .x-btn-with-menu .x-btn-center {
917
+ padding-right:2px !important;
918
+ }
919
+ .x-btn-with-menu .x-btn-center em {
920
+ display:block;
921
+ background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat right 0;
922
+ padding-right:10px;
923
+ }
924
+
925
+ .x-btn-text-icon .x-btn-with-menu .x-btn-center em {
926
+ display:block;
927
+ background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat right 3px;
928
+ padding-right:10px;
929
+ }
930
+ .x-toolbar{
931
+ border-top: 1px solid #eaf0f7;
932
+ border-bottom: 1px solid #a9bfd3;
933
+ display: block;
934
+ padding:2px;
935
+ background:#d0def0 url(../images/default/layout/panel-title-light-bg.gif) repeat-x;
936
+ }
937
+ .x-toolbar .x-item-disabled .x-btn-icon {
938
+ opacity: .35;
939
+ -moz-opacity: .35;
940
+ filter: alpha(opacity=35);
941
+ }
942
+ .x-toolbar td {
943
+ vertical-align:middle;
944
+ }
945
+ .mso .x-toolbar, .x-grid-mso .x-toolbar{
946
+ border: 0 none;
947
+ background: url(../images/default/grid/mso-hd.gif);
948
+ }
949
+ .x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label{
950
+ white-space: nowrap;
951
+ font:normal 11px tahoma, arial, helvetica, sans-serif;
952
+ }
953
+ .x-toolbar .x-item-disabled {
954
+ color:gray;
955
+ cursor:default;
956
+ opacity:.6;
957
+ -moz-opacity:.6;
958
+ filter:alpha(opacity=60);
959
+ }
960
+ .x-toolbar .x-item-disabled * {
961
+ color:gray;
962
+ cursor:default;
963
+ }
964
+ .x-toolbar .x-btn-left{
965
+ background:none;
966
+ }
967
+ .x-toolbar .x-btn-right{
968
+ background:none;
969
+ }
970
+ .x-toolbar .x-btn-center{
971
+ background:none;
972
+ padding:0 0;
973
+ }
974
+
975
+ .x-toolbar .x-btn-menu-text-wrap .x-btn-center button{
976
+ padding-right:2px;
977
+ }
978
+ .ext-gecko .x-toolbar .x-btn-menu-text-wrap .x-btn-center button{
979
+ padding-right:0;
980
+ }
981
+ .x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button{
982
+ padding:0 2px;
983
+ }
984
+ .x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button {
985
+ width:12px;
986
+ background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat 0 3px;
987
+ }
988
+ .x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button {
989
+ width:12px;
990
+ background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat 0 3px;
991
+ }
992
+ .x-toolbar .x-btn-over .x-btn-menu-arrow-wrap .x-btn-center button {
993
+ background-position: 0 -47px;
994
+ }
995
+ .x-toolbar .x-btn-over .x-btn-left{
996
+ background:url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 0;
997
+ }
998
+ .x-toolbar .x-btn-over .x-btn-right{
999
+ background:url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -21px;
1000
+ }
1001
+ .x-toolbar .x-btn-over .x-btn-center{
1002
+ background:url(../images/default/toolbar/tb-btn-sprite.gif) repeat-x 0 -42px;
1003
+ }
1004
+
1005
+ .x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
1006
+ background:url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -63px;
1007
+ }
1008
+ .x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
1009
+ background:url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -84px;
1010
+ }
1011
+ .x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
1012
+ background:url(../images/default/toolbar/tb-btn-sprite.gif) repeat-x 0 -105px;
1013
+ }
1014
+
1015
+ .x-toolbar .x-btn-with-menu .x-btn-center em{
1016
+ padding-right:8px;
1017
+ }
1018
+
1019
+ .x-toolbar .ytb-text{
1020
+ padding:2px;
1021
+ }
1022
+ .x-toolbar .ytb-sep {
1023
+ background-image: url(../images/default/grid/grid-split.gif);
1024
+ background-position: center;
1025
+ background-repeat: no-repeat;
1026
+ display: block;
1027
+ font-size: 1px;
1028
+ height: 16px;
1029
+ width:4px;
1030
+ overflow: hidden;
1031
+ cursor:default;
1032
+ margin: 0 2px 0;
1033
+ border:0;
1034
+ }
1035
+ .x-toolbar .ytb-spacer {
1036
+ width:2px;
1037
+ }
1038
+ .mso .x-toolbar .ytb-sep, .x-grid-mso .x-toolbar .ytb-sep{
1039
+ background-image: url(../images/default/grid/grid-blue-split.gif);
1040
+ }
1041
+
1042
+
1043
+ .ext-ie .x-toolbar .x-form-field-wrap {
1044
+ padding-bottom:1px;
1045
+ }
1046
+ .ext-ie .x-toolbar .x-form-field-wrap .x-form-trigger {
1047
+ top:1px;
1048
+ }
1049
+ .ext-ie .x-toolbar .x-form-field-wrap .x-form-twin-triggers img {
1050
+ margin-top:1px;
1051
+ }
1052
+
1053
+
1054
+
1055
+ .x-grid-page-number{
1056
+ width:24px;
1057
+ height:14px;
1058
+ }
1059
+ .x-grid-page-first .x-btn-text{
1060
+ background-image: url(../images/default/grid/page-first.gif);
1061
+ }
1062
+ .x-grid-loading .x-btn-text{
1063
+ background-image: url(../images/default/grid/done.gif);
1064
+ }
1065
+ .x-grid-page-last .x-btn-text{
1066
+ background-image: url(../images/default/grid/page-last.gif);
1067
+ }
1068
+ .x-grid-page-next .x-btn-text{
1069
+ background-image: url(../images/default/grid/page-next.gif);
1070
+ }
1071
+ .x-grid-page-prev .x-btn-text{
1072
+ background-image: url(../images/default/grid/page-prev.gif);
1073
+ }
1074
+ .x-item-disabled .x-grid-loading .x-btn-text{
1075
+ background-image: url(../images/default/grid/loading.gif);
1076
+ }
1077
+ .x-item-disabled .x-grid-page-first .x-btn-text{
1078
+ background-image: url(../images/default/grid/page-first-disabled.gif);
1079
+ }
1080
+ .x-item-disabled .x-grid-page-last .x-btn-text{
1081
+ background-image: url(../images/default/grid/page-last-disabled.gif);
1082
+ }
1083
+ .x-item-disabled .x-grid-page-next .x-btn-text{
1084
+ background-image: url(../images/default/grid/page-next-disabled.gif);
1085
+ }
1086
+ .x-item-disabled .x-grid-page-prev .x-btn-text{
1087
+ background-image: url(../images/default/grid/page-prev-disabled.gif);
1088
+ }
1089
+ .x-paging-info {
1090
+ position:absolute;
1091
+ top:8px;
1092
+ right: 8px;
1093
+ color:#15428b;
1094
+ }
1095
+
1096
+ .x-resizable-handle {
1097
+ position:absolute;
1098
+ z-index:100;
1099
+
1100
+ font-size:1px;
1101
+ line-height:6px;
1102
+ overflow:hidden;
1103
+ background:white;
1104
+ filter:alpha(opacity=0);
1105
+ opacity:0;
1106
+ zoom:1;
1107
+ }
1108
+ .x-resizable-handle-east{
1109
+ width:6px;
1110
+ cursor:e-resize;
1111
+ right:0;
1112
+ top:0;
1113
+ height:100%;
1114
+ }
1115
+ .ext-ie .x-resizable-handle-east {
1116
+ margin-right:-1px;
1117
+ }
1118
+ .x-resizable-handle-south{
1119
+ width:100%;
1120
+ cursor:s-resize;
1121
+ left:0;
1122
+ bottom:0;
1123
+ height:6px;
1124
+ }
1125
+ .ext-ie .x-resizable-handle-south {
1126
+ margin-bottom:-1px;
1127
+ }
1128
+ .x-resizable-handle-west{
1129
+ width:6px;
1130
+ cursor:w-resize;
1131
+ left:0;
1132
+ top:0;
1133
+ height:100%;
1134
+ }
1135
+ .x-resizable-handle-north{
1136
+ width:100%;
1137
+ cursor:n-resize;
1138
+ left:0;
1139
+ top:0;
1140
+ height:6px;
1141
+ }
1142
+ .x-resizable-handle-southeast{
1143
+ width:6px;
1144
+ cursor:se-resize;
1145
+ right:0;
1146
+ bottom:0;
1147
+ height:6px;
1148
+ z-index:101;
1149
+ }
1150
+ .x-resizable-handle-northwest{
1151
+ width:6px;
1152
+ cursor:nw-resize;
1153
+ left:0;
1154
+ top:0;
1155
+ height:6px;
1156
+ z-index:101;
1157
+ }
1158
+ .x-resizable-handle-northeast{
1159
+ width:6px;
1160
+ cursor:ne-resize;
1161
+ right:0;
1162
+ top:0;
1163
+ height:6px;
1164
+ z-index:101;
1165
+ }
1166
+ .x-resizable-handle-southwest{
1167
+ width:6px;
1168
+ cursor:sw-resize;
1169
+ left:0;
1170
+ bottom:0;
1171
+ height:6px;
1172
+ z-index:101;
1173
+ }
1174
+ .x-resizable-over .x-resizable-handle, .x-resizable-pinned .x-resizable-handle{
1175
+ filter:alpha(opacity=100);
1176
+ opacity:1;
1177
+ }
1178
+ .x-resizable-over .x-resizable-handle-east, .x-resizable-pinned .x-resizable-handle-east{
1179
+ background:url(../images/default/sizer/e-handle.gif);
1180
+ background-position: left;
1181
+ }
1182
+ .x-resizable-over .x-resizable-handle-west, .x-resizable-pinned .x-resizable-handle-west{
1183
+ background:url(../images/default/sizer/e-handle.gif);
1184
+ background-position: left;
1185
+ }
1186
+ .x-resizable-over .x-resizable-handle-south, .x-resizable-pinned .x-resizable-handle-south{
1187
+ background:url(../images/default/sizer/s-handle.gif);
1188
+ background-position: top;
1189
+ }
1190
+ .x-resizable-over .x-resizable-handle-north, .x-resizable-pinned .x-resizable-handle-north{
1191
+ background:url(../images/default/sizer/s-handle.gif);
1192
+ background-position: top;
1193
+ }
1194
+ .x-resizable-over .x-resizable-handle-southeast, .x-resizable-pinned .x-resizable-handle-southeast{
1195
+ background:url(../images/default/sizer/se-handle.gif);
1196
+ background-position: top left;
1197
+ }
1198
+ .x-resizable-over .x-resizable-handle-northwest, .x-resizable-pinned .x-resizable-handle-northwest{
1199
+ background:url(../images/default/sizer/nw-handle.gif);
1200
+ background-position:bottom right;
1201
+ }
1202
+ .x-resizable-over .x-resizable-handle-northeast, .x-resizable-pinned .x-resizable-handle-northeast{
1203
+ background:url(../images/default/sizer/ne-handle.gif);
1204
+ background-position: bottom left;
1205
+ }
1206
+ .x-resizable-over .x-resizable-handle-southwest, .x-resizable-pinned .x-resizable-handle-southwest{
1207
+ background:url(../images/default/sizer/sw-handle.gif);
1208
+ background-position: top right;
1209
+ }
1210
+ .x-resizable-proxy{
1211
+ border: 1px dashed #6593cf;
1212
+ position:absolute;
1213
+ overflow:hidden;
1214
+ display:none;
1215
+ left:0;top:0;
1216
+ z-index:50000;
1217
+ }
1218
+ .x-resizable-overlay{
1219
+ width:100%;
1220
+ height:100%;
1221
+ display:none;
1222
+ position:absolute;
1223
+ left:0;
1224
+ top:0;
1225
+ background:white;
1226
+ z-index:200000;
1227
+ -moz-opacity: 0;
1228
+ opacity:0;
1229
+ filter: alpha(opacity=0);
1230
+ }
1231
+
1232
+
1233
+ .x-grid3 {
1234
+ position:relative;
1235
+ overflow:hidden;
1236
+ background-color:#fff;
1237
+ }
1238
+ .ext-ie .x-grid3 table {
1239
+ table-layout:fixed;
1240
+ }
1241
+ .x-grid3-viewport{
1242
+ overflow:hidden;
1243
+ }
1244
+ .x-grid3-hd-row td, .x-grid3-row td{
1245
+ font:normal 11px arial, tahoma, helvetica, sans-serif;
1246
+ -moz-outline: none;
1247
+ -moz-user-focus: normal;
1248
+ }
1249
+ .x-grid3-row td {
1250
+ line-height:13px;
1251
+ vertical-align: top;
1252
+ padding-left:1px;
1253
+ padding-right:1px;
1254
+ -moz-user-select: none;
1255
+ }
1256
+ .x-grid3-hd-row td {
1257
+ line-height:15px;
1258
+ vertical-align:middle;
1259
+ border-left:1px solid #eee;
1260
+ border-right:1px solid #d0d0d0;
1261
+ }
1262
+
1263
+ .x-grid3-hd-row .x-grid3-marker-hd {
1264
+ padding:3px;
1265
+ }
1266
+
1267
+ .x-grid3-row .x-grid3-marker {
1268
+ padding:3px;
1269
+ }
1270
+
1271
+ .x-grid3-cell-inner, .x-grid3-hd-inner{
1272
+ overflow:hidden;
1273
+ -o-text-overflow: ellipsis;
1274
+ text-overflow: ellipsis;
1275
+ padding:3px 3px 3px 5px;
1276
+ white-space: nowrap;
1277
+ }
1278
+
1279
+ .x-grid3-hd-inner {
1280
+ position:relative;
1281
+ cursor:inherit;
1282
+ padding:4px 3px 4px 5px;
1283
+ }
1284
+
1285
+ .x-grid3-row-body {
1286
+ white-space:normal;
1287
+ }
1288
+
1289
+
1290
+ .ext-ie .x-grid3-cell-inner, .ext-ie .x-grid3-hd-inner{
1291
+ width:100%;
1292
+ }
1293
+
1294
+ .ext-strict .x-grid3-cell-inner, .ext-strict .x-grid3-hd-inner{
1295
+ width:auto;
1296
+ }
1297
+
1298
+ .x-grid3-col {
1299
+
1300
+ }
1301
+
1302
+ .x-grid3-row {
1303
+ cursor: default;
1304
+ border:1px solid #ededed;
1305
+ border-top-color:#fff;
1306
+
1307
+ width:100%;
1308
+ }
1309
+ .x-grid3-row-alt{
1310
+
1311
+ }
1312
+
1313
+ .x-grid3-row-over {
1314
+ border:1px solid #dddddd;
1315
+ background: #efefef url(../images/default/grid/row-over.gif) repeat-x left top;
1316
+ }
1317
+
1318
+ .x-grid3-resize-proxy {
1319
+ width:3px;
1320
+ background-color:#cccccc;
1321
+ cursor: e-resize;
1322
+ cursor: col-resize;
1323
+ position:absolute;
1324
+ top:0;
1325
+ height:100px;
1326
+ overflow:hidden;
1327
+ visibility:hidden;
1328
+ border:0 none;
1329
+ z-index:7;
1330
+ }
1331
+ .x-grid3-focus {
1332
+ position:absolute;
1333
+ top:0;
1334
+ -moz-outline:0 none;
1335
+ outline:0 none;
1336
+ -moz-user-select: normal;
1337
+ -khtml-user-select: normal;
1338
+ }
1339
+
1340
+
1341
+ .x-grid3-header{
1342
+ background: #f9f9f9 url(../images/default/grid/grid3-hrow.gif) repeat-x 0 bottom;
1343
+ cursor:default;
1344
+ zoom:1;
1345
+ padding:1px 0 0 0;
1346
+ }
1347
+
1348
+ .x-grid3-header-pop {
1349
+ border-left:1px solid #d0d0d0;
1350
+ float:right;
1351
+ clear:none;
1352
+ }
1353
+ .x-grid3-header-pop-inner {
1354
+ border-left:1px solid #eee;
1355
+ width:14px;
1356
+ height:19px;
1357
+ background: transparent url(../images/default/grid/hd-pop.gif) no-repeat center center;
1358
+ }
1359
+ .ext-ie .x-grid3-header-pop-inner {
1360
+ width:15px;
1361
+ }
1362
+ .ext-strict .x-grid3-header-pop-inner {
1363
+ width:14px;
1364
+ }
1365
+ .x-grid3-header-inner {
1366
+ overflow:hidden;
1367
+ zoom:1;
1368
+ float:left;
1369
+ }
1370
+ .x-grid3-header-offset {
1371
+ padding-left:1px;
1372
+ width:10000px;
1373
+ }
1374
+
1375
+
1376
+
1377
+ td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open {
1378
+ border-left:1px solid #aaccf6;
1379
+ border-right:1px solid #aaccf6;
1380
+ }
1381
+ td.x-grid3-hd-over .x-grid3-hd-inner, td.sort-desc .x-grid3-hd-inner, td.sort-asc .x-grid3-hd-inner, td.x-grid3-hd-menu-open .x-grid3-hd-inner {
1382
+ background: #ebf3fd url(../images/default/grid/grid3-hrow-over.gif) repeat-x left bottom;
1383
+
1384
+ }
1385
+ .x-grid3-sort-icon{
1386
+ background-repeat: no-repeat;
1387
+ display: none;
1388
+ height: 4px;
1389
+ width: 13px;
1390
+ margin-left:3px;
1391
+ vertical-align: middle;
1392
+ }
1393
+ .sort-asc .x-grid3-sort-icon {
1394
+ background-image: url(../images/aero/grid/sort_asc.gif);
1395
+ display: inline;
1396
+ }
1397
+ .sort-desc .x-grid3-sort-icon {
1398
+ background-image: url(../images/aero/grid/sort_desc.gif);
1399
+ display: inline;
1400
+ }
1401
+
1402
+
1403
+ .x-grid3-body {
1404
+ overflow:auto;
1405
+ }
1406
+ .x-grid3-body-inner {
1407
+ overflow:auto;
1408
+ }
1409
+ .x-grid3-cell-text, .x-grid3-hd-text {
1410
+ display: block;
1411
+ padding: 3px 5px 3px 5px;
1412
+ -moz-user-select: none;
1413
+ -khtml-user-select: none;
1414
+ color:black;
1415
+ }
1416
+ .x-grid3-split {
1417
+ background-image: url(../images/default/grid/grid-split.gif);
1418
+ background-position: center;
1419
+ background-repeat: no-repeat;
1420
+ cursor: e-resize;
1421
+ cursor: col-resize;
1422
+ display: block;
1423
+ font-size: 1px;
1424
+ height: 16px;
1425
+ overflow: hidden;
1426
+ position: absolute;
1427
+ top: 2px;
1428
+ width: 6px;
1429
+ z-index: 3;
1430
+ }
1431
+
1432
+ .x-grid3-hd-text {
1433
+ color:#15428b;
1434
+ }
1435
+
1436
+ .x-dd-drag-proxy .x-grid3-hd-inner{
1437
+ background: #ebf3fd url(../images/default/grid/grid3-hrow-over.gif) repeat-x left bottom;
1438
+ width:120px;
1439
+ padding:3px;
1440
+ border:1px solid #aaccf6;
1441
+ overflow:hidden;
1442
+ }
1443
+
1444
+ .col-move-top, .col-move-bottom{
1445
+ width:9px;
1446
+ height:9px;
1447
+ position:absolute;
1448
+ top:0;
1449
+ line-height:1px;
1450
+ font-size:1px;
1451
+ overflow:hidden;
1452
+ visibility:hidden;
1453
+ z-index:20000;
1454
+ }
1455
+ .col-move-top{
1456
+ background:transparent url(../images/default/grid/col-move-top.gif) no-repeat left top;
1457
+ }
1458
+ .col-move-bottom{
1459
+ background:transparent url(../images/default/grid/col-move-bottom.gif) no-repeat left top;
1460
+ }
1461
+
1462
+
1463
+ .x-grid3-row-selected {
1464
+ background: #d9e8fb url(../images/default/grid/row-sel.gif) repeat-x left top;
1465
+ border:1px solid #99bbe8;
1466
+ }
1467
+ .x-grid3-row-selected span, .x-grid3-row-selected b, .x-grid3-row-selected div, .x-grid3-row-selected strong, .x-grid3-row-selected i{
1468
+
1469
+ }
1470
+ .x-grid3-cell-selected{
1471
+ background-color: #316ac5 !important;
1472
+ color: white;
1473
+ }
1474
+ .x-grid3-cell-selected span{
1475
+ color: white !important;
1476
+ }
1477
+ .x-grid3-cell-selected .x-grid3-cell-text{
1478
+ color: white;
1479
+ }
1480
+
1481
+ .x-grid3-locked td.x-grid3-row-marker, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{
1482
+ background: #ebeadb url(../images/default/grid/grid-hrow.gif) repeat-x 0 bottom !important;
1483
+ vertical-align:middle !important;
1484
+ color:black;
1485
+ padding:0;
1486
+ border-top:1px solid white;
1487
+ border-bottom:none !important;
1488
+ border-right:1px solid #6fa0df !important;
1489
+ text-align:center;
1490
+ }
1491
+ .x-grid3-locked td.x-grid3-row-marker div, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker div{
1492
+ padding:0 4px;
1493
+ color:#15428b !important;
1494
+ text-align:center;
1495
+ }
1496
+
1497
+
1498
+ .x-grid3-dirty-cell {
1499
+ background: transparent url(../images/default/grid/dirty.gif) no-repeat 0 0;
1500
+ }
1501
+
1502
+
1503
+ .x-grid3-topbar, .x-grid3-bottombar{
1504
+ font:normal 11px arial, tahoma, helvetica, sans-serif;
1505
+ overflow:hidden;
1506
+ display:none;
1507
+ zoom:1;
1508
+ position:relative;
1509
+ }
1510
+ .x-grid3-topbar .x-toolbar{
1511
+ border-right:0 none;
1512
+ }
1513
+ .x-grid3-bottombar .x-toolbar{
1514
+ border-right:0 none;
1515
+ border-bottom:0 none;
1516
+ border-top:1px solid #a9bfd3;
1517
+ }
1518
+
1519
+ .x-props-grid .x-grid3-cell-selected .x-grid3-cell-text{
1520
+ background-color: #316ac5 !important;
1521
+ }
1522
+ .x-props-grid .x-grid3-col-value .x-grid3-cell-text{
1523
+ background-color: white;
1524
+ }
1525
+ .x-props-grid .x-grid3-col-name{
1526
+ background-color: #c3daf9;
1527
+ }
1528
+ .x-props-grid .x-grid3-col-name .x-grid3-cell-text{
1529
+ background-color: white;
1530
+ margin-left:10px;
1531
+ }
1532
+ .x-props-grid .x-grid3-split-value {
1533
+ visibility:hidden;
1534
+ }
1535
+
1536
+
1537
+ .xg-hmenu-sort-asc .x-menu-item-icon{
1538
+ background-image: url(../images/default/grid/hmenu-asc.gif);
1539
+ }
1540
+ .xg-hmenu-sort-desc .x-menu-item-icon{
1541
+ background-image: url(../images/default/grid/hmenu-desc.gif);
1542
+ }
1543
+ .xg-hmenu-lock .x-menu-item-icon{
1544
+ background-image: url(../images/default/grid/hmenu-lock.gif);
1545
+ }
1546
+ .xg-hmenu-unlock .x-menu-item-icon{
1547
+ background-image: url(../images/default/grid/hmenu-unlock.gif);
1548
+ }
1549
+
1550
+
1551
+ .x-grid3-col-dd {
1552
+ border:0 none;
1553
+ padding:0;
1554
+ background:transparent;
1555
+ }
1556
+
1557
+ .x-dd-drag-ghost .x-grid3-dd-wrap {
1558
+ padding:1px 3px 3px 1px;
1559
+ }
1560
+
1561
+ .x-grid3-hd-btn {
1562
+ display:none;
1563
+ position:absolute;
1564
+ width:14px;
1565
+ background:#c3daf9 url(../images/default/grid/grid3-hd-btn.gif) no-repeat left center;
1566
+ right:0;
1567
+ top:0;
1568
+ z-index:2;
1569
+ cursor:pointer;
1570
+ }
1571
+
1572
+ .x-grid3-hd-over .x-grid3-hd-btn, .x-grid3-hd-menu-open .x-grid3-hd-btn {
1573
+ display:block;
1574
+ }
1575
+
1576
+ a.x-grid3-hd-btn:hover {
1577
+ background-position:-14px center;
1578
+ }
1579
+
1580
+
1581
+
1582
+ .x-grid3-body .x-grid3-td-expander {
1583
+ background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y right;
1584
+ }
1585
+ .x-grid3-body .x-grid3-td-expander .x-grid3-cell-inner {
1586
+ padding:0 !important;
1587
+ height:100%;
1588
+ }
1589
+ .x-grid3-row-expander {
1590
+ width:100%;
1591
+ height:18px;
1592
+ background-position:4px 2px;
1593
+ background-repeat:no-repeat;
1594
+ background-color:transparent;
1595
+ background-image:url(../images/default/grid/row-expand-sprite.gif);
1596
+ }
1597
+ .x-grid3-row-collapsed .x-grid3-row-expander {
1598
+ background-position:4px 2px;
1599
+ }
1600
+ .x-grid3-row-expanded .x-grid3-row-expander {
1601
+ background-position:-21px 2px;
1602
+ }
1603
+ .x-grid3-row-collapsed .x-grid3-row-body {
1604
+ display:none !important;
1605
+ }
1606
+ .x-grid3-row-expanded .x-grid3-row-body {
1607
+ display:block !important;
1608
+ }
1609
+
1610
+
1611
+
1612
+ .x-grid3-body .x-grid3-td-checker {
1613
+ background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y right;
1614
+ }
1615
+
1616
+ .x-grid3-body .x-grid3-td-checker .x-grid3-cell-inner, .x-grid3-header .x-grid3-td-checker .x-grid3-hd-inner {
1617
+ padding:0 !important;
1618
+ height:100%;
1619
+ }
1620
+
1621
+ .x-grid3-row-checker, .x-grid3-hd-checker {
1622
+ width:100%;
1623
+ height:18px;
1624
+ background-position:2px 2px;
1625
+ background-repeat:no-repeat;
1626
+ background-color:transparent;
1627
+ background-image:url(../images/default/grid/row-check-sprite.gif);
1628
+ }
1629
+ .x-grid3-row .x-grid3-row-checker {
1630
+ background-position:2px 2px;
1631
+ }
1632
+ .x-grid3-row-selected .x-grid3-row-checker, .x-grid3-hd-checker-on .x-grid3-hd-checker {
1633
+ background-position:-23px 2px;
1634
+ }
1635
+ .x-grid3-hd-checker {
1636
+ background-position:2px 3px;
1637
+ }
1638
+ .x-grid3-hd-checker-on .x-grid3-hd-checker {
1639
+ background-position:-23px 3px;
1640
+ }
1641
+
1642
+
1643
+
1644
+ .x-grid3-body .x-grid3-td-numberer {
1645
+ background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y right;
1646
+ }
1647
+ .x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner {
1648
+ padding:3px 5px 0 0 !important;
1649
+ text-align:right;
1650
+ color:#444;
1651
+ }
1652
+
1653
+
1654
+
1655
+ .x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer,
1656
+ .x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,
1657
+ .x-grid3-body .x-grid3-row-selected .x-grid3-td-expander {
1658
+ background:transparent url(../images/default/grid/grid3-special-col-sel-bg.gif) repeat-y right;
1659
+ }
1660
+
1661
+
1662
+ .x-layout-container{
1663
+ width:100%;
1664
+ height:100%;
1665
+ overflow:hidden;
1666
+ background-color:#c3daf9;
1667
+ }
1668
+ .x-layout-container .x-layout-tabs-body{
1669
+ border:0 none;
1670
+ }
1671
+ .x-layout-collapsed{
1672
+ position:absolute;
1673
+ left:-10000px;
1674
+ top:-10000px;
1675
+ visibility:hidden;
1676
+ background-color:#c3daf9;
1677
+ width:20px;
1678
+ height:20px;
1679
+ overflow:hidden;
1680
+ border:1px solid #98c0f4;
1681
+ z-index:20;
1682
+ }
1683
+ .ext-border-box .x-layout-collapsed{
1684
+ width:22px;
1685
+ height:22px;
1686
+ }
1687
+ .x-layout-collapsed-over{
1688
+ cursor:pointer;
1689
+ background-color:#d9e8fb;
1690
+ }
1691
+ .x-layout-collapsed-west .x-layout-collapsed-tools, .x-layout-collapsed-east .x-layout-collapsed-tools{
1692
+ position:absolute;
1693
+ top:0;
1694
+ left:0;
1695
+ width:20px;
1696
+ height:20px;
1697
+ }
1698
+ .x-layout-collapsed-north .x-layout-collapsed-tools, .x-layout-collapsed-south .x-layout-collapsed-tools{
1699
+ position:absolute;
1700
+ top:0;
1701
+ right:0;
1702
+ width:20px;
1703
+ height:20px;
1704
+ }
1705
+ .x-layout-collapsed .x-layout-tools-button{
1706
+ margin:0;
1707
+ }
1708
+ .x-layout-collapsed .x-layout-tools-button-inner{
1709
+ width:16px;
1710
+ height:16px;
1711
+ }
1712
+ .x-layout-inactive-content{
1713
+ position:absolute;
1714
+ left:-10000px;
1715
+ top:-10000px;
1716
+ visibility:hidden;
1717
+ }
1718
+ .x-layout-active-content{
1719
+ visibility:visible;
1720
+ }
1721
+ .x-layout-panel{
1722
+ position:absolute;border:1px solid #98c0f4;overflow:hidden;background-color:white;
1723
+ }
1724
+ .x-layout-panel-east, .x-layout-panel-west {
1725
+ z-index:10;
1726
+ }
1727
+ .x-layout-panel-north, .x-layout-panel-south {
1728
+ z-index:11;
1729
+ }
1730
+ .x-layout-collapsed-north, .x-layout-collapsed-south, .x-layout-collapsed-east, .x-layout-collapsed-west {
1731
+ z-index:12;
1732
+ }
1733
+ .x-layout-panel-body{
1734
+ overflow:hidden;
1735
+ }
1736
+ .x-layout-grid-wrapper{
1737
+
1738
+ }
1739
+ .x-layout-split{
1740
+ position:absolute;
1741
+ height:5px;
1742
+ width:5px;
1743
+ line-height:1px;
1744
+ font-size:1px;
1745
+ z-index:3;
1746
+ background-color:#c3daf9;
1747
+ }
1748
+ .x-layout-panel-hd{
1749
+ background-image: url(../images/default/layout/panel-title-light-bg.gif);
1750
+ color: black;
1751
+ border-bottom:1px solid #98c0f4;
1752
+ position:relative;
1753
+ }
1754
+ .x-layout-panel-hd-text{
1755
+ font:normal 11px tahoma, verdana, helvetica;
1756
+ padding: 4px;
1757
+ padding-left: 4px;
1758
+ display:block;
1759
+ white-space:nowrap;
1760
+ }
1761
+ .x-layout-panel-hd-tools{
1762
+ position:absolute;
1763
+ right:0;
1764
+ top:0;
1765
+ text-align:right;
1766
+ padding-top:2px;
1767
+ padding-right:2px;
1768
+ width:60px;
1769
+ }
1770
+ .x-layout-tools-button{
1771
+ z-index:6;
1772
+ padding:2px;
1773
+ cursor:pointer;
1774
+ float:right;
1775
+ }
1776
+ .x-layout-tools-button-over{
1777
+ padding:1px;
1778
+ border:1px solid #98c0f4;
1779
+ background-color:white;
1780
+ }
1781
+ .x-layout-tools-button-inner{
1782
+ height:12px;
1783
+ width:12px;
1784
+ line-height:1px;
1785
+ font-size:1px;
1786
+ background-repeat:no-repeat;
1787
+ background-position:center;
1788
+ }
1789
+ .x-layout-close{
1790
+ background-image:url(../images/default/layout/panel-close.gif);
1791
+ }
1792
+ .x-layout-stick{
1793
+ background-image:url(../images/default/layout/stick.gif);
1794
+ }
1795
+ .x-layout-collapse-west,.x-layout-expand-east{
1796
+ background-image:url(../images/default/layout/collapse.gif);
1797
+ }
1798
+ .x-layout-expand-west,.x-layout-collapse-east{
1799
+ background-image:url(../images/default/layout/expand.gif);
1800
+ }
1801
+ .x-layout-collapse-north,.x-layout-expand-south{
1802
+ background-image:url(../images/default/layout/ns-collapse.gif);
1803
+ }
1804
+ .x-layout-expand-north,.x-layout-collapse-south{
1805
+ background-image:url(../images/default/layout/ns-expand.gif);
1806
+ }
1807
+ .x-layout-split-h{
1808
+ background-image:url(../images/default/sizer/e-handle.gif);
1809
+ background-position: left;
1810
+ }
1811
+ .x-layout-split-v{
1812
+ background-image:url(../images/default/sizer/s-handle.gif);
1813
+ background-position: top;
1814
+ }
1815
+ .x-layout-panel .x-tabs-wrap{
1816
+ background:url(../images/default/layout/gradient-bg.gif);
1817
+ }
1818
+ .x-layout-panel .x-tabs-body {
1819
+ background-color:white;
1820
+ overflow:auto;height:100%;
1821
+ }
1822
+ .x-layout-component-panel, .x-layout-nested-layout {
1823
+ position:relative;
1824
+ padding:0;
1825
+ overflow:hidden;
1826
+ width:200px;
1827
+ height:200px;
1828
+ }
1829
+ .x-layout-nested-layout .x-layout-panel {
1830
+ border:0 none;
1831
+ }
1832
+ .x-layout-nested-layout .x-layout-panel-north {
1833
+ border-bottom:1px solid #98c0f4;
1834
+ }
1835
+ .x-layout-nested-layout .x-layout-panel-south {
1836
+ border-top:1px solid #98c0f4;
1837
+ }
1838
+ .x-layout-nested-layout .x-layout-panel-east {
1839
+ border-left:1px solid #98c0f4;
1840
+ }
1841
+ .x-layout-nested-layout .x-layout-panel-west {
1842
+ border-right:1px solid #98c0f4;
1843
+ }
1844
+
1845
+ .x-layout-panel-dragover {
1846
+ border: 2px solid #6593cf;
1847
+ }
1848
+ .x-layout-panel-proxy {
1849
+ background-image: url(../images/default/layout/gradient-bg.gif);
1850
+ background-color:#c3daf9;
1851
+ border:1px dashed #6593cf;
1852
+ z-index:10001;
1853
+ overflow:hidden;
1854
+ position:absolute;
1855
+ left:0;top:0;
1856
+ }
1857
+ .x-layout-slider {
1858
+ z-index:15;
1859
+ overflow:hidden;
1860
+ position:absolute;
1861
+ }
1862
+
1863
+ .x-scroller-up, .x-scroller-down {
1864
+ background-color:#c3daf9;
1865
+ border: 1px solid #6593cf;
1866
+ border-top-color: #fff;
1867
+ border-left-color: #fff;
1868
+ border-right:0 none;
1869
+ cursor:pointer;
1870
+ overflow:hidden;
1871
+ line-height:16px;
1872
+ }
1873
+ .x-scroller-down {
1874
+ border-bottom: 0 none;
1875
+ border-top: 1px solid #6593cf;
1876
+ }
1877
+ .x-scroller-btn-over {
1878
+ background-color: #d9e8f8;
1879
+ }
1880
+ .x-scroller-btn-click {
1881
+ background-color: #AECEF7;
1882
+ }
1883
+ .x-scroller-btn-disabled {
1884
+ cursor:default;
1885
+ background-color: #c3daf9;
1886
+ -moz-opacity: 0.3;
1887
+ opacity:.30;
1888
+ filter: alpha(opacity=30);
1889
+ }
1890
+
1891
+
1892
+
1893
+ .x-reader .x-layout-panel-north {
1894
+ border:0 none;
1895
+ }
1896
+ .x-reader .x-layout-panel-center{
1897
+ border:0 none;
1898
+ }
1899
+ .x-reader .x-layout-nested-layout .x-layout-panel-center{
1900
+ border:1px solid #99bbe8;
1901
+ border-top:0 none;
1902
+ }
1903
+ .x-reader .x-layout-nested-layout .x-layout-panel-south{
1904
+ border:1px solid #99bbe8;
1905
+ }
1906
+ .x-dlg-proxy {
1907
+ background-image: url(../images/default/gradient-bg.gif);
1908
+ background-color:#c3daf9;
1909
+ border:1px solid #6593cf;
1910
+ z-index:10001;
1911
+ overflow:hidden;
1912
+ position:absolute;
1913
+ left:0;top:0;
1914
+ }
1915
+ .x-dlg-shadow{
1916
+ background:#aaaaaa;
1917
+ position:absolute;
1918
+ left:0;top:0;
1919
+ }
1920
+ .x-dlg-focus{
1921
+ -moz-outline:0 none;
1922
+ outline:0 none;
1923
+ width:0;
1924
+ height:0;
1925
+ overflow:hidden;
1926
+ position:absolute;
1927
+ top:0;
1928
+ left:0;
1929
+ }
1930
+ .x-dlg-mask{
1931
+ z-index:10000;
1932
+ display:none;
1933
+ position:absolute;
1934
+ top:0;
1935
+ left:0;
1936
+ -moz-opacity: 0.5;
1937
+ opacity:.50;
1938
+ filter: alpha(opacity=50);
1939
+ background-color:#CCC;
1940
+ }
1941
+ body.x-body-masked select {
1942
+ visibility:hidden;
1943
+ }
1944
+ body.x-body-masked .x-dlg select {
1945
+ visibility:visible;
1946
+ }
1947
+ .x-dlg{
1948
+ z-index:10001;
1949
+ overflow:hidden;
1950
+ position:absolute;
1951
+ left:300;top:0;
1952
+ }
1953
+ .x-dlg .x-dlg-hd {
1954
+ background: url(../images/default/basic-dialog/hd-sprite.gif) repeat-x 0 -82px;
1955
+ background-color:navy;
1956
+ color:#FFF;
1957
+ font:bold 12px "sans serif", tahoma, verdana, helvetica;
1958
+ overflow:hidden;
1959
+ padding:5px;
1960
+ white-space: nowrap;
1961
+ }
1962
+ .x-dlg .x-dlg-hd-left {
1963
+ background: url(../images/default/basic-dialog/hd-sprite.gif) no-repeat 0 -41px;
1964
+ padding-left:3px;
1965
+ margin:0;
1966
+ }
1967
+ .x-dlg .x-dlg-hd-right {
1968
+ background: url(../images/default/basic-dialog/hd-sprite.gif) no-repeat right 0;
1969
+ padding-right:3px;
1970
+ }
1971
+ .x-dlg .x-dlg-dlg-body{
1972
+ background:url(../images/default/layout/gradient-bg.gif);
1973
+ border:1px solid #6593cf;
1974
+ border-top:0 none;
1975
+ padding:10px;
1976
+ position:absolute;
1977
+ top:24px;left:0;
1978
+ z-index:1;
1979
+ overflow:hidden;
1980
+ }
1981
+ .x-dlg-collapsed .x-resizable-handle{
1982
+ display:none;
1983
+ }
1984
+ .x-dlg .x-dlg-bd{
1985
+ overflow:hidden;
1986
+ }
1987
+ .x-dlg .x-dlg-ft{
1988
+ overflow:hidden;
1989
+ padding:5px;
1990
+ padding-bottom:0;
1991
+ }
1992
+
1993
+ .x-dlg .x-tabs-body{
1994
+ background:white;
1995
+ overflow:auto;
1996
+ }
1997
+ .x-dlg .x-tabs-top .x-tabs-body{
1998
+ border:1px solid #6593cf;
1999
+ border-top:0 none;
2000
+ }
2001
+ .x-dlg .x-tabs-bottom .x-tabs-body{
2002
+ border:1px solid #6593cf;
2003
+ border-bottom:0 none;
2004
+ }
2005
+ .x-dlg .x-layout-container .x-tabs-body{
2006
+ border:0 none;
2007
+ }
2008
+ .x-dlg .inner-tab{
2009
+ margin:5px;
2010
+ }
2011
+ .x-dlg .x-dlg-ft .x-btn{
2012
+ margin-right:5px;
2013
+ float:right;
2014
+ clear:none;
2015
+ }
2016
+ .x-dlg .x-dlg-ft .x-dlg-btns td {
2017
+ border:0;
2018
+ padding:0;
2019
+ }
2020
+ .x-dlg .x-dlg-ft .x-dlg-btns-right table{
2021
+ float:right;
2022
+ clear:none;
2023
+ }
2024
+ .x-dlg .x-dlg-ft .x-dlg-btns-left table{
2025
+ float:left;
2026
+ clear:none;
2027
+ }
2028
+ .x-dlg .x-dlg-ft .x-dlg-btns-center{
2029
+ text-align:center;
2030
+ }
2031
+ .x-dlg .x-dlg-ft .x-dlg-btns-center table{
2032
+ margin:0 auto;
2033
+ }
2034
+
2035
+
2036
+ .x-dlg .x-dlg-ft .x-dlg-btns .x-btn-focus .x-btn-left{
2037
+ background-position:0 -147px;
2038
+ }
2039
+ .x-dlg .x-dlg-ft .x-dlg-btns .x-btn-focus .x-btn-right{
2040
+ background-position:0 -168px;
2041
+ }
2042
+ .x-dlg .x-dlg-ft .x-dlg-btns .x-btn-focus .x-btn-center{
2043
+ background-position:0 -189px;
2044
+ }
2045
+
2046
+ .x-dlg .x-dlg-ft .x-dlg-btns .x-btn-click .x-btn-center{
2047
+ background-position:0 -126px;
2048
+ }
2049
+ .x-dlg .x-dlg-ft .x-dlg-btns .x-btn-click .x-btn-right{
2050
+ background-position:0 -84px;
2051
+ }
2052
+ .x-dlg .x-dlg-ft .x-dlg-btns .x-btn-click .x-btn-left{
2053
+ background-position:0 -63px;
2054
+ }
2055
+
2056
+ .x-dlg-draggable .x-dlg-hd{
2057
+ cursor:move;
2058
+ }
2059
+ .x-dlg-closable .x-dlg-hd{
2060
+ padding-right:22px;
2061
+ }
2062
+ .x-dlg-toolbox {
2063
+ position:absolute;
2064
+ top:4px;
2065
+ right:4px;
2066
+ z-index:6;
2067
+ width:40px;
2068
+ cursor:default;
2069
+ height:15px;
2070
+ background:transparent;
2071
+ }
2072
+ .x-dlg .x-dlg-close, .x-dlg .x-dlg-collapse {
2073
+ float:right;
2074
+ height:15px;
2075
+ width:15px;
2076
+ margin:0;
2077
+ margin-left:2px;
2078
+ padding:0;
2079
+ line-height:1px;
2080
+ font-size:1px;
2081
+ background-repeat:no-repeat;
2082
+ cursor:pointer;
2083
+ visibility:inherit;
2084
+ }
2085
+ .x-dlg .x-dlg-close {
2086
+ background-image:url(../images/default/basic-dialog/close.gif);
2087
+ }
2088
+ .x-dlg .x-dlg-collapse {
2089
+ background-image:url(../images/default/basic-dialog/collapse.gif);
2090
+ }
2091
+ .x-dlg-collapsed .x-dlg-collapse {
2092
+ background-image:url(../images/default/basic-dialog/expand.gif);
2093
+ }
2094
+ .x-dlg .x-dlg-close-over, .x-dlg .x-dlg-collapse-over {
2095
+
2096
+ }
2097
+ .x-dlg div.x-resizable-handle-east{
2098
+ background-image:url(../images/default/basic-dialog/e-handle.gif);
2099
+ border:0;
2100
+ background-position:right;
2101
+ margin-right:0;
2102
+ }
2103
+ .x-dlg div.x-resizable-handle-south{
2104
+ background-image:url(../images/default/sizer/s-handle-dark.gif);
2105
+ border:0;
2106
+ height:6px;
2107
+ }
2108
+ .x-dlg div.x-resizable-handle-west{
2109
+ background-image:url(../images/default/basic-dialog/e-handle.gif);
2110
+ border:0;
2111
+ background-position:1px;
2112
+ }
2113
+ .x-dlg div.x-resizable-handle-north{
2114
+ background-image:url(../images/default/s.gif);
2115
+ border:0;
2116
+ }
2117
+ .x-dlg div.x-resizable-handle-northeast, .ytheme-gray .x-dlg div.x-resizable-handle-northeast{
2118
+ background-image:url(../images/default/s.gif);
2119
+ border:0;
2120
+ }
2121
+ .x-dlg div.x-resizable-handle-northwest, .ytheme-gray .x-dlg div.x-resizable-handle-northwest{
2122
+ background-image:url(../images/default/s.gif);
2123
+ border:0;
2124
+ }
2125
+ .x-dlg div.x-resizable-handle-southeast{
2126
+ background-image:url(../images/default/basic-dialog/se-handle.gif);
2127
+ background-position: bottom right;
2128
+ width:8px;
2129
+ height:8px;
2130
+ border:0;
2131
+ }
2132
+ .x-dlg div.x-resizable-handle-southwest{
2133
+ background-image:url(../images/default/sizer/sw-handle-dark.gif);
2134
+ background-position: top right;
2135
+ margin-left:1px;
2136
+ margin-bottom:1px;
2137
+ border:0;
2138
+ }
2139
+
2140
+ #x-msg-box .x-dlg-ft .x-btn{
2141
+ float:none;
2142
+ clear:none;
2143
+ margin:0 3px;
2144
+ }
2145
+
2146
+ #x-msg-box .x-dlg-bd {
2147
+ padding:5px;
2148
+ overflow:hidden !important;
2149
+ font:normal 13px verdana,tahoma,sans-serif;
2150
+ }
2151
+ #x-msg-box .ext-mb-input {
2152
+ margin-top:4px;
2153
+ width:95%;
2154
+ }
2155
+ #x-msg-box .ext-mb-textarea {
2156
+ margin-top:4px;
2157
+ font:normal 13px verdana,tahoma,sans-serif;
2158
+ }
2159
+ #x-msg-box .ext-mb-progress-wrap {
2160
+ margin-top:4px;
2161
+ border:1px solid #6593cf;
2162
+ }
2163
+ #x-msg-box .ext-mb-progress {
2164
+ height:18px;
2165
+ background: #e0e8f3 url(../images/default/qtip/bg.gif) repeat-x;
2166
+ }
2167
+ #x-msg-box .ext-mb-progress-bar {
2168
+ height:18px;
2169
+ overflow:hidden;
2170
+ width:0;
2171
+ background:#8BB8F3;
2172
+ border-top:1px solid #B2D0F7;
2173
+ border-bottom:1px solid #65A1EF;
2174
+ border-right:1px solid #65A1EF;
2175
+ }
2176
+
2177
+ #x-msg-box .x-msg-box-wait {
2178
+ background: transparent url(../images/default/grid/loading.gif) no-repeat left;
2179
+ display:block;
2180
+ width:300px;
2181
+ padding-left:18px;
2182
+ line-height:18px;
2183
+ }
2184
+ .x-dd-drag-proxy{
2185
+ position:absolute;
2186
+ left:0;top:0;
2187
+ visibility:hidden;
2188
+ z-index:15000;
2189
+ }
2190
+ .x-dd-drag-ghost{
2191
+ color: black;
2192
+ font: normal 11px arial, helvetica, sans-serif;
2193
+ -moz-opacity: 0.85;
2194
+ opacity:.85;
2195
+ filter: alpha(opacity=85);
2196
+ border-top:1px solid #dddddd;
2197
+ border-left:1px solid #dddddd;
2198
+ border-right:1px solid #bbbbbb;
2199
+ border-bottom:1px solid #bbbbbb;
2200
+ padding:3px;
2201
+ padding-left:20px;
2202
+ background-color:white;
2203
+ white-space:nowrap;
2204
+ }
2205
+ .x-dd-drag-repair .x-dd-drag-ghost{
2206
+ -moz-opacity: 0.4;
2207
+ opacity:.4;
2208
+ filter: alpha(opacity=40);
2209
+ border:0 none;
2210
+ padding:0;
2211
+ background-color:transparent;
2212
+ }
2213
+ .x-dd-drag-repair .x-dd-drop-icon{
2214
+ visibility:hidden;
2215
+ }
2216
+ .x-dd-drop-icon{
2217
+ position:absolute;
2218
+ top:3px;
2219
+ left:3px;
2220
+ display:block;
2221
+ width:16px;
2222
+ height:16px;
2223
+ background-color:transparent;
2224
+ background-position: center;
2225
+ background-repeat: no-repeat;
2226
+ z-index:1;
2227
+ }
2228
+ .x-dd-drop-nodrop .x-dd-drop-icon{
2229
+ background-image: url(../images/default/dd/drop-no.gif);
2230
+ }
2231
+ .x-dd-drop-ok .x-dd-drop-icon{
2232
+ background-image: url(../images/default/dd/drop-yes.gif);
2233
+ }
2234
+ .x-dd-drop-ok-add .x-dd-drop-icon{
2235
+ background-image: url(../images/default/dd/drop-add.gif);
2236
+ }
2237
+ .x-tree-icon, .x-tree-ec-icon, .x-tree-elbow-line, .x-tree-elbow, .x-tree-elbow-end, .x-tree-elbow-plus, .x-tree-elbow-minus, .x-tree-elbow-end-plus, .x-tree-elbow-end-minus{
2238
+ border: 0 none;
2239
+ height: 18px;
2240
+ margin: 0;
2241
+ padding: 0;
2242
+ vertical-align: middle;
2243
+ width: 16px;
2244
+ background-repeat: no-repeat;
2245
+ }
2246
+ .x-tree-node-collapsed .x-tree-node-icon, .x-tree-node-expanded .x-tree-node-icon, .x-tree-node-leaf .x-tree-node-icon{
2247
+ border: 0 none;
2248
+ height: 18px;
2249
+ margin: 0;
2250
+ padding: 0;
2251
+ vertical-align: middle;
2252
+ width: 16px;
2253
+ background-position:center;
2254
+ background-repeat: no-repeat;
2255
+ }
2256
+
2257
+
2258
+ .x-tree-node-collapsed .x-tree-node-icon{
2259
+ background-image:url(../images/default/tree/folder.gif);
2260
+ }
2261
+ .x-tree-node-expanded .x-tree-node-icon{
2262
+ background-image:url(../images/default/tree/folder-open.gif);
2263
+ }
2264
+ .x-tree-node-leaf .x-tree-node-icon{
2265
+ background-image:url(../images/default/tree/leaf.gif);
2266
+ }
2267
+
2268
+ .x-tree-noicon .x-tree-node-icon{
2269
+ width:0; height:0;
2270
+ }
2271
+
2272
+ .x-tree-node-loading .x-tree-node-icon{
2273
+ background-image:url(../images/default/tree/loading.gif) !important;
2274
+ }
2275
+ .x-tree-node-loading a span{
2276
+ font-style: italic;
2277
+ color:#444444;
2278
+ }
2279
+
2280
+
2281
+ .x-tree-lines .x-tree-elbow{
2282
+ background-image:url(../images/default/tree/elbow.gif);
2283
+ }
2284
+ .x-tree-lines .x-tree-elbow-plus{
2285
+ background-image:url(../images/default/tree/elbow-plus.gif);
2286
+ }
2287
+ .x-tree-lines .x-tree-elbow-minus{
2288
+ background-image:url(../images/default/tree/elbow-minus.gif);
2289
+ }
2290
+ .x-tree-lines .x-tree-elbow-end{
2291
+ background-image:url(../images/default/tree/elbow-end.gif);
2292
+ }
2293
+ .x-tree-lines .x-tree-elbow-end-plus{
2294
+ background-image:url(../images/default/tree/elbow-end-plus.gif);
2295
+ }
2296
+ .x-tree-lines .x-tree-elbow-end-minus{
2297
+ background-image:url(../images/default/tree/elbow-end-minus.gif);
2298
+ }
2299
+ .x-tree-lines .x-tree-elbow-line{
2300
+ background-image:url(../images/default/tree/elbow-line.gif);
2301
+ }
2302
+
2303
+
2304
+ .x-tree-no-lines .x-tree-elbow{
2305
+ background:transparent;
2306
+ }
2307
+ .x-tree-no-lines .x-tree-elbow-plus{
2308
+ background-image:url(../images/default/tree/elbow-plus-nl.gif);
2309
+ }
2310
+ .x-tree-no-lines .x-tree-elbow-minus{
2311
+ background-image:url(../images/default/tree/elbow-minus-nl.gif);
2312
+ }
2313
+ .x-tree-no-lines .x-tree-elbow-end{
2314
+ background:transparent;
2315
+ }
2316
+ .x-tree-no-lines .x-tree-elbow-end-plus{
2317
+ background-image:url(../images/default/tree/elbow-end-plus-nl.gif);
2318
+ }
2319
+ .x-tree-no-lines .x-tree-elbow-end-minus{
2320
+ background-image:url(../images/default/tree/elbow-end-minus-nl.gif);
2321
+ }
2322
+ .x-tree-no-lines .x-tree-elbow-line{
2323
+ background:transparent;
2324
+ }
2325
+
2326
+ .x-tree-elbow-plus, .x-tree-elbow-minus, .x-tree-elbow-end-plus, .x-tree-elbow-end-minus{
2327
+ cursor:pointer;
2328
+ }
2329
+ .ext-ie ul.x-tree-node-ct{
2330
+ font-size:0;
2331
+ line-height:0;
2332
+ }
2333
+ .x-tree-node{
2334
+ color: black;
2335
+ font: normal 11px arial, tahoma, helvetica, sans-serif;
2336
+ white-space: nowrap;
2337
+ }
2338
+ .x-tree-node a, .x-dd-drag-ghost a{
2339
+ text-decoration:none;
2340
+ color:black;
2341
+ -khtml-user-select:none;
2342
+ -moz-user-select:none;
2343
+ -kthml-user-focus:normal;
2344
+ -moz-user-focus:normal;
2345
+ -moz-outline: 0 none;
2346
+ outline:0 none;
2347
+ }
2348
+ .x-tree-node a span, .x-dd-drag-ghost a span{
2349
+ text-decoration:none;
2350
+ color:black;
2351
+ padding:1px 3px 1px 2px;
2352
+ }
2353
+ .x-tree-node .x-tree-node-disabled a span{
2354
+ color:gray !important;
2355
+ }
2356
+ .x-tree-node .x-tree-node-disabled .x-tree-node-icon{
2357
+ -moz-opacity: 0.5;
2358
+ opacity:.5;
2359
+ filter: alpha(opacity=50);
2360
+ }
2361
+ .x-tree-node .x-tree-node-inline-icon{
2362
+ background:transparent;
2363
+ }
2364
+ .x-tree-node a:hover, .x-dd-drag-ghost a:hover{
2365
+ text-decoration:none;
2366
+ }
2367
+ .x-tree-node div.x-tree-drag-insert-below{
2368
+ border-bottom:1px dotted #3366cc;
2369
+ }
2370
+ .x-tree-node div.x-tree-drag-insert-above{
2371
+ border-top:1px dotted #3366cc;
2372
+ }
2373
+ .x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below{
2374
+ border-bottom:0 none;
2375
+ }
2376
+ .x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above{
2377
+ border-top:0 none;
2378
+ }
2379
+ .x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a{
2380
+ border-bottom:2px solid #3366cc;
2381
+ }
2382
+ .x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a{
2383
+ border-top:2px solid #3366cc;
2384
+ }
2385
+ .x-tree-node .x-tree-drag-append a span{
2386
+ background:#dddddd;
2387
+ border:1px dotted gray;
2388
+ }
2389
+ .x-tree-node .x-tree-selected a span{
2390
+ background:#3366cc;
2391
+ color:white;
2392
+ }
2393
+ .x-dd-drag-ghost .x-tree-node-indent, .x-dd-drag-ghost .x-tree-ec-icon{
2394
+ display:none !important;
2395
+ }
2396
+ .x-tree-drop-ok-append .x-dd-drop-icon{
2397
+ background-image: url(../images/default/tree/drop-add.gif);
2398
+ }
2399
+ .x-tree-drop-ok-above .x-dd-drop-icon{
2400
+ background-image: url(../images/default/tree/drop-over.gif);
2401
+ }
2402
+ .x-tree-drop-ok-below .x-dd-drop-icon{
2403
+ background-image: url(../images/default/tree/drop-under.gif);
2404
+ }
2405
+ .x-tree-drop-ok-between .x-dd-drop-icon{
2406
+ background-image: url(../images/default/tree/drop-between.gif);
2407
+ }
2408
+
2409
+ .x-tip{
2410
+ position: absolute;
2411
+ top: 0;
2412
+ left:0;
2413
+ visibility: hidden;
2414
+ z-index: 20000;
2415
+ border:0 none;
2416
+ }
2417
+ .x-tip .x-tip-close{
2418
+ background-image: url(../images/default/qtip/close.gif);
2419
+ height: 15px;
2420
+ float:right;
2421
+ width: 15px;
2422
+ margin:0 0 2px 2px;
2423
+ cursor:pointer;
2424
+ display:none;
2425
+ }
2426
+ .x-tip .x-tip-top {
2427
+ background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -12px;
2428
+ height:6px;
2429
+ overflow:hidden;
2430
+ }
2431
+ .x-tip .x-tip-top-left {
2432
+ background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 0;
2433
+ padding-left:6px;
2434
+ zoom:1;
2435
+ }
2436
+ .x-tip .x-tip-top-right {
2437
+ background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right 0;
2438
+ padding-right:6px;
2439
+ zoom:1;
2440
+ }
2441
+ .x-tip .x-tip-ft {
2442
+ background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -18px;
2443
+ height:6px;
2444
+ overflow:hidden;
2445
+ }
2446
+ .x-tip .x-tip-ft-left {
2447
+ background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -6px;
2448
+ padding-left:6px;
2449
+ zoom:1;
2450
+ }
2451
+ .x-tip .x-tip-ft-right {
2452
+ background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right -6px;
2453
+ padding-right:6px;
2454
+ zoom:1;
2455
+ }
2456
+ .x-tip .x-tip-bd {
2457
+ border:0 none;
2458
+ font: normal 11px tahoma,arial,helvetica,sans-serif;
2459
+ }
2460
+ .x-tip .x-tip-bd-left {
2461
+ background: #fff url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -24px;
2462
+ padding-left:6px;
2463
+ zoom:1;
2464
+ }
2465
+ .x-tip .x-tip-bd-right {
2466
+ background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right -24px;
2467
+ padding-right:6px;
2468
+ zoom:1;
2469
+ }
2470
+
2471
+ .x-tip h3 {
2472
+ font: bold 11px tahoma,arial,helvetica,sans-serif;
2473
+ margin:0;
2474
+ padding:2px 0;
2475
+ color:#444;
2476
+ }
2477
+ .x-tip .x-tip-bd-inner {
2478
+ font: normal 11px tahoma,arial,helvetica,sans-serif;
2479
+ margin:0 !important;
2480
+ line-height:14px;
2481
+ color:#444;
2482
+ padding:0;
2483
+ float:left;
2484
+ }
2485
+
2486
+
2487
+ .x-form-invalid-tip {
2488
+ }
2489
+
2490
+ .x-form-invalid-tip .x-tip-top {
2491
+ background-image: url(../images/default/form/error-tip-corners.gif);
2492
+ }
2493
+ .x-form-invalid-tip .x-tip-top-left {
2494
+ background-image: url(../images/default/form/error-tip-corners.gif);
2495
+ }
2496
+ .x-form-invalid-tip .x-tip-top-right {
2497
+ background-image: url(../images/default/form/error-tip-corners.gif);
2498
+ }
2499
+ .x-form-invalid-tip .x-tip-ft {
2500
+ background-image: url(../images/default/form/error-tip-corners.gif);
2501
+ }
2502
+ .x-form-invalid-tip .x-tip-ft-left {
2503
+ background-image: url(../images/default/form/error-tip-corners.gif);
2504
+ }
2505
+ .x-form-invalid-tip .x-tip-ft-right {
2506
+ background-image: url(../images/default/form/error-tip-corners.gif);
2507
+ }
2508
+ .x-form-invalid-tip .x-tip-bd-left {
2509
+ background-image: url(../images/default/form/error-tip-corners.gif);
2510
+ }
2511
+ .x-form-invalid-tip .x-tip-bd-right {
2512
+ background-image: url(../images/default/form/error-tip-corners.gif);
2513
+ }
2514
+ .x-form-invalid-tip .x-tip-bd .x-tip-bd-inner {
2515
+ padding-left:24px;
2516
+ background:transparent url(../images/default/form/exclamation.gif) no-repeat 2px 2px;
2517
+ }
2518
+ .x-form-invalid-tip .x-tip-bd-inner {
2519
+ padding:2px;
2520
+ }
2521
+ .x-date-picker {
2522
+ border: 1px solid #1b376c;
2523
+ border-top:0 none;
2524
+ background:#fff;
2525
+ position:relative;
2526
+ }
2527
+ .x-date-picker a {
2528
+ -moz-outline:0 none;
2529
+ outline:0 none;
2530
+ }
2531
+ .x-date-inner, .x-date-inner td, .x-date-inner th{
2532
+ border-collapse:separate;
2533
+ }
2534
+ .x-date-middle,.x-date-left,.x-date-right {
2535
+ background: url(../images/default/basic-dialog/hd-sprite.gif) repeat-x 0 -83px;
2536
+ color:#FFF;
2537
+ font:bold 11px "sans serif", tahoma, verdana, helvetica;
2538
+ overflow:hidden;
2539
+ }
2540
+
2541
+ .x-date-middle .x-btn-left,.x-date-middle .x-btn-center,.x-date-middle .x-btn-right{
2542
+ background:transparent !important;
2543
+ vertical-align:middle;
2544
+ }
2545
+ .x-date-middle .x-btn .x-btn-text {
2546
+ color:#fff;
2547
+ }
2548
+ .x-date-middle .x-btn-with-menu .x-btn-center em {
2549
+ background:transparent url(../images/default/toolbar/btn-arrow-light.gif) no-repeat right 0;
2550
+ }
2551
+ .x-date-right, .x-date-left {
2552
+ width:18px;
2553
+ }
2554
+ .x-date-right{
2555
+ text-align:right;
2556
+ }
2557
+ .x-date-middle {
2558
+ padding-top:2px;padding-bottom:2px;
2559
+ }
2560
+ .x-date-right a, .x-date-left a{
2561
+ display:block;
2562
+ width:16px;
2563
+ height:16px;
2564
+ background-position: center;
2565
+ background-repeat: no-repeat;
2566
+ cursor:pointer;
2567
+ -moz-opacity: 0.6;
2568
+ opacity:.6;
2569
+ filter: alpha(opacity=60);
2570
+ }
2571
+ .x-date-right a:hover, .x-date-left a:hover{
2572
+ -moz-opacity: 1;
2573
+ opacity:1;
2574
+ filter: alpha(opacity=100);
2575
+ }
2576
+ .x-date-right a {
2577
+ background-image: url(../images/default/shared/right-btn.gif);
2578
+ margin-right:2px;
2579
+ text-decoration:none !important;
2580
+ }
2581
+ .x-date-left a{
2582
+ background-image: url(../images/default/shared/left-btn.gif);
2583
+ margin-left:2px;
2584
+ text-decoration:none !important;
2585
+ }
2586
+ table.x-date-inner {
2587
+ width:100%;
2588
+ table-layout:fixed;
2589
+ }
2590
+ .x-date-inner th {
2591
+ width:25px;
2592
+ }
2593
+ .x-date-inner th {
2594
+ background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;
2595
+ text-align:right !important;
2596
+ border-bottom: 1px solid #a3bad9;
2597
+ font:normal 10px arial, helvetica,tahoma,sans-serif;
2598
+ color:#233d6d;
2599
+ cursor:default;
2600
+ padding:0;
2601
+ border-collapse:separate;
2602
+ }
2603
+ .x-date-inner th span {
2604
+ display:block;
2605
+ padding:2px;
2606
+ padding-right:7px;
2607
+ }
2608
+ .x-date-inner td {
2609
+ border: 1px solid #fff;
2610
+ text-align:right;
2611
+ padding:0;
2612
+ }
2613
+ .x-date-inner a {
2614
+ padding:2px 5px;
2615
+ display:block;
2616
+ font:normal 11px arial, helvetica,tahoma,sans-serif;
2617
+ text-decoration:none;
2618
+ color:black;
2619
+ text-align:right;
2620
+ zoom:1;
2621
+ }
2622
+ .x-date-inner .x-date-active{
2623
+ cursor:pointer;
2624
+ color:black;
2625
+ }
2626
+ .x-date-inner .x-date-selected a{
2627
+ background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;
2628
+ border:1px solid #8db2e3;
2629
+ padding:1px 4px;
2630
+ }
2631
+ .x-date-inner .x-date-today a{
2632
+ border: 1px solid darkred;
2633
+ padding:1px 4px;
2634
+ }
2635
+ .x-date-inner .x-date-selected span{
2636
+ font-weight:bold;
2637
+ }
2638
+ .x-date-inner .x-date-prevday a,.x-date-inner .x-date-nextday a {
2639
+ color:#aaaaaa;
2640
+ text-decoration:none !important;
2641
+ }
2642
+ .x-date-bottom {
2643
+ padding:4px;
2644
+ border-top: 1px solid #a3bad9;
2645
+ background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;
2646
+ }
2647
+
2648
+ .x-date-inner a:hover, .x-date-inner .x-date-disabled a:hover{
2649
+ text-decoration:none !important;
2650
+ color:black;
2651
+ background: #ddecfe;
2652
+ }
2653
+
2654
+ .x-date-inner .x-date-disabled a {
2655
+ cursor:default;
2656
+ background:#eeeeee;
2657
+ color:#bbbbbb;
2658
+ }
2659
+ .x-date-mmenu{
2660
+ background:#eeeeee !important;
2661
+ }
2662
+ .x-date-mmenu .x-menu-item {
2663
+ font-size:10px;
2664
+ padding:1px 24px 1px 4px;
2665
+ white-space: nowrap;
2666
+ color:#000;
2667
+ }
2668
+ .x-date-mmenu .x-menu-item .x-menu-item-icon {
2669
+ width:10px;height:10px;margin-right:5px;
2670
+ background-position:center -4px !important;
2671
+ }
2672
+
2673
+ .x-date-mp {
2674
+ position:absolute;
2675
+ left:0;
2676
+ top:0;
2677
+ background:white;
2678
+ display:none;
2679
+ }
2680
+ .x-date-mp td {
2681
+ padding:2px;
2682
+ font:normal 11px arial, helvetica,tahoma,sans-serif;
2683
+ }
2684
+ td.x-date-mp-month,td.x-date-mp-year,td.x-date-mp-ybtn {
2685
+ border: 0 none;
2686
+ text-align:center;
2687
+ vertical-align: middle;
2688
+ width:25%;
2689
+ }
2690
+ .x-date-mp-ok {
2691
+ margin-right:3px;
2692
+ }
2693
+ .x-date-mp-btns button {
2694
+ text-decoration:none;
2695
+ text-align:center;
2696
+ text-decoration:none !important;
2697
+ background:#083772;
2698
+ color:white;
2699
+ border:1px solid;
2700
+ border-color: #3366cc #000055 #000055 #3366cc;
2701
+ padding:1px 3px 1px;
2702
+ font:normal 11px arial, helvetica,tahoma,sans-serif;
2703
+ cursor:pointer;
2704
+ }
2705
+ .x-date-mp-btns {
2706
+ background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;
2707
+ }
2708
+ .x-date-mp-btns td {
2709
+ border-top: 1px solid #c5d2df;
2710
+ text-align:center;
2711
+ }
2712
+ td.x-date-mp-month a,td.x-date-mp-year a {
2713
+ display:block;
2714
+ padding:2px 4px;
2715
+ text-decoration:none;
2716
+ text-align:center;
2717
+ color:#15428b;
2718
+ }
2719
+
2720
+ td.x-date-mp-month a:hover,td.x-date-mp-year a:hover {
2721
+ color:#15428b;
2722
+ text-decoration:none;
2723
+ cursor:pointer;
2724
+ background: #ddecfe;
2725
+ }
2726
+
2727
+ td.x-date-mp-sel a {
2728
+ padding:1px 3px;
2729
+ background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;
2730
+ border:1px solid #8db2e3;
2731
+ }
2732
+ .x-date-mp-ybtn a {
2733
+ overflow:hidden;
2734
+ width:15px;
2735
+ height:15px;
2736
+ cursor:pointer;
2737
+ background:transparent url(../images/default/panel/tool-sprites.gif) no-repeat;
2738
+ display:block;
2739
+ margin:0 auto;
2740
+ }
2741
+ .x-date-mp-ybtn a.x-date-mp-next {
2742
+ background-position:0 -120px;
2743
+ }
2744
+ .x-date-mp-ybtn a.x-date-mp-next:hover {
2745
+ background-position:-15px -120px;
2746
+ }
2747
+ .x-date-mp-ybtn a.x-date-mp-prev {
2748
+ background-position:0 -105px;
2749
+ }
2750
+ .x-date-mp-ybtn a.x-date-mp-prev:hover {
2751
+ background-position:-15px -105px;
2752
+ }
2753
+ .x-date-mp-ybtn {
2754
+ text-align:center;
2755
+ }
2756
+ td.x-date-mp-sep {
2757
+ border-right:1px solid #c5d2df;
2758
+ }
2759
+ .x-menu {
2760
+ border:1px solid #718bb7;
2761
+ z-index: 15000;
2762
+ background: #fff url(../images/default/menu/menu.gif) repeat-y;
2763
+ }
2764
+ .ext-ie .x-menu {
2765
+ zoom:1;
2766
+ overflow:hidden;
2767
+ }
2768
+ .x-menu-list{
2769
+ border:1px solid #fff;
2770
+ }
2771
+ .x-menu li{
2772
+ line-height:100%;
2773
+ }
2774
+ .x-menu li.x-menu-sep-li{
2775
+ font-size:1px;
2776
+ line-height:1px;
2777
+ }
2778
+ .x-menu-list-item{
2779
+ font:normal 11px tahoma,arial, sans-serif;
2780
+ white-space: nowrap;
2781
+ -moz-user-select: none;
2782
+ -khtml-user-select: none;
2783
+ display:block;
2784
+ padding:1px;
2785
+ }
2786
+ .x-menu-item-arrow{
2787
+ background:transparent url(../images/default/menu/menu-parent.gif) no-repeat right;
2788
+ }
2789
+ .x-menu-sep {
2790
+ display:block;
2791
+ font-size:1px;
2792
+ line-height:1px;
2793
+ background:#c3daf9;
2794
+ margin: 3px 3px 3px 32px;
2795
+ }
2796
+ .x-menu-focus {
2797
+ position:absolute;
2798
+ left:0;
2799
+ top:-5px;
2800
+ width:0;
2801
+ height:0;
2802
+ line-height:1px;
2803
+ }
2804
+ .x-menu-item {
2805
+ display:block;
2806
+ line-height:14px;
2807
+ padding:3px 21px 3px 3px;
2808
+ white-space: nowrap;
2809
+ text-decoration:none;
2810
+ color:#233d6d;
2811
+ -moz-outline: 0 none;
2812
+ outline: 0 none;
2813
+ cursor:pointer;
2814
+ }
2815
+ .x-menu-item-active {
2816
+ color:#233d6d;
2817
+ background:#c3daf9;
2818
+ border:1px solid #8BB8F3;
2819
+ padding:0;
2820
+ }
2821
+ .x-menu-item-icon {
2822
+ border: 0 none;
2823
+ height: 16px;
2824
+ padding: 0;
2825
+ vertical-align: middle;
2826
+ width: 16px;
2827
+ margin: 0 11px 0 0;
2828
+ background-position:center;
2829
+ }
2830
+
2831
+ .x-menu-check-item .x-menu-item-icon{
2832
+ background: transparent url(../images/default/menu/unchecked.gif) no-repeat center;
2833
+ }
2834
+
2835
+ .x-menu-item-checked .x-menu-item-icon{
2836
+ background-image:url(../images/default/menu/checked.gif);
2837
+ }
2838
+ .x-menu-group-item .x-menu-item-icon{
2839
+ background: transparent;
2840
+ }
2841
+
2842
+ .x-menu-item-checked .x-menu-group-item .x-menu-item-icon{
2843
+ background: transparent url(../images/default/menu/group-checked.gif) no-repeat center;
2844
+ }
2845
+
2846
+ .x-menu-plain {
2847
+ background:#fff;
2848
+ }
2849
+ .x-menu-date-item{
2850
+ padding:0;
2851
+ }
2852
+
2853
+ .x-menu .x-color-palette, .x-menu .x-date-picker{
2854
+ margin-left:32px;
2855
+ margin-right:4px;
2856
+ }
2857
+ .x-menu .x-date-picker{
2858
+ border:1px solid #a3bad9;
2859
+ margin-top:2px;
2860
+ margin-bottom:2px;
2861
+ }
2862
+ .x-menu-plain .x-color-palette, .x-menu-plain .x-date-picker{
2863
+ margin:0;
2864
+ border:0 none;
2865
+ }
2866
+ .x-date-menu {
2867
+ padding:0 !important;
2868
+ }
2869
+
2870
+
2871
+
2872
+ .x-box-tl {
2873
+ background: transparent url(../images/default/box/corners.gif) no-repeat 0 0;
2874
+ zoom:1;
2875
+ }
2876
+
2877
+ .x-box-tc {
2878
+ height: 8px;
2879
+ background: transparent url(../images/default/box/tb.gif) repeat-x 0 0;
2880
+ overflow: hidden;
2881
+ }
2882
+
2883
+ .x-box-tr {
2884
+ background: transparent url(../images/default/box/corners.gif) no-repeat right -8px;
2885
+ }
2886
+
2887
+ .x-box-ml {
2888
+ background: transparent url(../images/default/box/l.gif) repeat-y 0;
2889
+ padding-left: 4px;
2890
+ overflow: hidden;
2891
+ zoom:1;
2892
+ }
2893
+
2894
+ .x-box-mc {
2895
+ background: #eee url(../images/default/box/tb.gif) repeat-x 0 -16px;
2896
+ padding: 4px 10px;
2897
+ font-family: "Myriad Pro","Myriad Web","Tahoma","Helvetica","Arial",sans-serif;
2898
+ color: #393939;
2899
+ font-size: 12px;
2900
+ }
2901
+
2902
+ .x-box-mc h3 {
2903
+ font-size: 14px;
2904
+ font-weight: bold;
2905
+ margin: 0 0 4 0;
2906
+ zoom:1;
2907
+ }
2908
+
2909
+ .x-box-mr {
2910
+ background: transparent url(../images/default/box/r.gif) repeat-y right;
2911
+ padding-right: 4px;
2912
+ overflow: hidden;
2913
+ }
2914
+
2915
+ .x-box-bl {
2916
+ background: transparent url(../images/default/box/corners.gif) no-repeat 0 -16px;
2917
+ zoom:1;
2918
+ }
2919
+
2920
+ .x-box-bc {
2921
+ background: transparent url(../images/default/box/tb.gif) repeat-x 0 -8px;
2922
+ height: 8px;
2923
+ overflow: hidden;
2924
+ }
2925
+
2926
+ .x-box-br {
2927
+ background: transparent url(../images/default/box/corners.gif) no-repeat right -24px;
2928
+ }
2929
+
2930
+ .x-box-tl, .x-box-bl {
2931
+ padding-left: 8px;
2932
+ overflow: hidden;
2933
+ }
2934
+
2935
+ .x-box-tr, .x-box-br {
2936
+ padding-right: 8px;
2937
+ overflow: hidden;
2938
+ }
2939
+
2940
+ .x-box-blue .x-box-bl, .x-box-blue .x-box-br, .x-box-blue .x-box-tl, .x-box-blue .x-box-tr {
2941
+ background-image: url(../images/default/box/corners-blue.gif);
2942
+ }
2943
+
2944
+ .x-box-blue .x-box-bc, .x-box-blue .x-box-mc, .x-box-blue .x-box-tc {
2945
+ background-image: url(../images/default/box/tb-blue.gif);
2946
+ }
2947
+
2948
+ .x-box-blue .x-box-mc {
2949
+ background-color: #c3daf9;
2950
+ }
2951
+
2952
+ .x-box-blue .x-box-mc h3 {
2953
+ color: #17385b;
2954
+ }
2955
+
2956
+ .x-box-blue .x-box-ml {
2957
+ background-image: url(../images/default/box/l-blue.gif);
2958
+ }
2959
+
2960
+ .x-box-blue .x-box-mr {
2961
+ background-image: url(../images/default/box/r-blue.gif);
2962
+ }
2963
+ #x-debug-browser .x-tree .x-tree-node a span {
2964
+ color:#222297;
2965
+ font-size:12px;
2966
+ padding-top:2px;
2967
+ font-family:"courier","courier new";
2968
+ line-height:18px;
2969
+ }
2970
+ #x-debug-browser .x-tree a i {
2971
+ color:#FF4545;
2972
+ font-style:normal;
2973
+ }
2974
+ #x-debug-browser .x-tree a em {
2975
+ color:#999;
2976
+ }
2977
+ #x-debug-browser .x-tree .x-tree-node .x-tree-selected a span{
2978
+ background:#c3daf9;
2979
+ }
2980
+ #x-debug-browser pre, .x-debug-browser pre xmp {
2981
+ font:normal 11px tahoma, arial, helvetica, sans-serif !important;
2982
+ white-space: -moz-pre-wrap;
2983
+ white-space: -pre-wrap;
2984
+ white-space: -o-pre-wrap;
2985
+ word-wrap: break-word;
2986
+ }
2987
+ #x-debug-browser pre {
2988
+ display:block;
2989
+ padding:5px !important;
2990
+ border-bottom:1px solid #eeeeee !important;
2991
+ }
2992
+ #x-debug-browser pre xmp {
2993
+ padding:0 !important;
2994
+ margin:0 !important;
2995
+ }
2996
+ #x-debug-console .x-layout-panel-center, #x-debug-inspector .x-layout-panel-center {
2997
+ border-right:1px solid #98c0f4;
2998
+ }
2999
+ #x-debug-console textarea {
3000
+ border: 0 none;
3001
+ font-size:12px;
3002
+ font-family:"courier","courier new";
3003
+ padding-top:4px;
3004
+ padding-left:4px;
3005
+ }
3006
+ .x-debug-frame {
3007
+ background:#eeeeee;
3008
+ border:1px dashed #aaaaaa;
3009
+ }
3010
+ .x-combo-list {
3011
+ border:1px solid #98c0f4;
3012
+ background:#ddecfe;
3013
+ zoom:1;
3014
+ overflow:hidden;
3015
+ }
3016
+ .x-combo-list-inner {
3017
+ overflow:auto;
3018
+ background:white;
3019
+ position:relative;
3020
+ zoom:1;
3021
+ overflow-x:hidden;
3022
+ }
3023
+ .x-combo-list-hd {
3024
+ font:bold 11px tahoma, arial, helvetica, sans-serif;
3025
+ color:#15428b;
3026
+ background-image: url(../images/default/layout/panel-title-light-bg.gif);
3027
+ border-bottom:1px solid #98c0f4;
3028
+ padding:3px;
3029
+ }
3030
+ .x-resizable-pinned .x-combo-list-inner {
3031
+ border-bottom:1px solid #98c0f4;
3032
+ }
3033
+ .x-combo-list-item {
3034
+ font:normal 12px tahoma, arial, helvetica, sans-serif;
3035
+ padding:2px;
3036
+ border:1px solid #fff;
3037
+ white-space: nowrap;
3038
+ overflow:hidden;
3039
+ text-overflow: ellipsis;
3040
+ }
3041
+ .x-combo-list .x-combo-selected{
3042
+ background-color: #c3daf9 !important;
3043
+ cursor:pointer;
3044
+ border:1px solid #336699;
3045
+ }
3046
+ .x-combo-noedit{
3047
+ cursor:pointer;
3048
+ }
3049
+ .x-panel-header {
3050
+ overflow:hidden;
3051
+ zoom:1;
3052
+ color:#15428b;
3053
+ font:bold 11px tahoma,arial,verdana,sans-serif;
3054
+ padding:5px 3px 4px 5px;
3055
+ border:1px solid #99bbe8;
3056
+ background: transparent url(../images/default/panel/white-top-bottom.gif) repeat-x 0 -1px;
3057
+ }
3058
+
3059
+ .x-panel-body {
3060
+ border:1px solid #99bbe8;
3061
+ border-top:0 none;
3062
+ overflow:hidden;
3063
+ background:white;
3064
+ }
3065
+ .x-panel-body-noheader {
3066
+ border-top:1px solid #99bbe8;
3067
+ }
3068
+
3069
+ .x-panel-header {
3070
+ overflow:hidden;
3071
+ zoom:1;
3072
+ }
3073
+ .x-panel-tl .x-panel-header {
3074
+ color:#15428b;
3075
+ font:bold 11px tahoma,arial,verdana,sans-serif;
3076
+ padding:5px 0 4px 0;
3077
+ border:0 none;
3078
+ background:transparent;
3079
+ }
3080
+ .x-panel-tl .x-panel-icon, .x-window-tl .x-panel-icon {
3081
+ padding-left:20px !important;
3082
+ background-repeat:no-repeat;
3083
+ background-position:0 4px;
3084
+ zoom:1;
3085
+ }
3086
+ .x-panel-inline-icon {
3087
+ width:16px;
3088
+ height:16px;
3089
+ background-repeat:no-repeat;
3090
+ background-position:0 0;
3091
+ vertical-align:middle;
3092
+ margin-right:4px;
3093
+ margin-top:-1px;
3094
+ margin-bottom:-1px;
3095
+ }
3096
+ .x-panel-tc {
3097
+ background: transparent url(../images/default/panel/white-top-bottom.gif) repeat-x 0 0;
3098
+ overflow:hidden;
3099
+ }
3100
+ .x-panel-tl {
3101
+ background: transparent url(../images/default/panel/white-corners-sprite.gif) no-repeat 0 0;
3102
+ padding-left:6px;
3103
+ zoom:1;
3104
+ border-bottom:1px solid #99bbe8;
3105
+ }
3106
+ .x-panel-tr {
3107
+ background: transparent url(../images/default/panel/white-corners-sprite.gif) no-repeat right 0;
3108
+ padding-right:6px;
3109
+ }
3110
+ .x-panel-bc {
3111
+ background: transparent url(../images/default/panel/white-top-bottom.gif) repeat-x 0 bottom;
3112
+ zoom:1;
3113
+ }
3114
+ .x-panel-bc .x-panel-footer {
3115
+ padding-bottom:1px;
3116
+ zoom:1;
3117
+ }
3118
+
3119
+ .x-panel-nofooter .x-panel-bc {
3120
+ height:1px;
3121
+ }
3122
+ .x-panel-bl {
3123
+ background: transparent url(../images/default/panel/white-corners-sprite.gif) no-repeat 0 bottom;
3124
+ padding-left:1px;
3125
+ zoom:1;
3126
+ }
3127
+ .x-panel-br {
3128
+ background: transparent url(../images/default/panel/white-corners-sprite.gif) no-repeat right bottom;
3129
+ padding-right:1px;
3130
+ zoom:1;
3131
+ }
3132
+ .x-panel-mc {
3133
+ border:0 none;
3134
+ padding:0;
3135
+ margin:0;
3136
+ font: normal 11px tahoma,arial,helvetica,sans-serif;
3137
+ background:white;
3138
+ }
3139
+ .x-panel-mc .x-panel-body {
3140
+ background:transparent;
3141
+ border:0 none;
3142
+ }
3143
+ .x-panel-ml {
3144
+ background: #fff url(../images/default/panel/white-left-right.gif) repeat-y 0 0;
3145
+ padding-left:1px;
3146
+ zoom:1;
3147
+ }
3148
+ .x-panel-mr {
3149
+ background: transparent url(../images/default/panel/white-left-right.gif) repeat-y right 0;
3150
+ padding-right:1px;
3151
+ zoom:1;
3152
+ }
3153
+ .x-panel-blue .x-panel-tl, .x-panel-blue .x-panel-tr, .x-panel-blue .x-panel-bl, .x-panel-blue .x-panel-br {
3154
+ background-image:url(../images/default/panel/corners-sprite.gif);
3155
+ }
3156
+ .x-panel-blue .x-panel-tc, .x-panel-blue .x-panel-bc {
3157
+ background-image:url(../images/default/panel/top-bottom.gif);
3158
+ }
3159
+ .x-panel-blue .x-panel-ml, .x-panel-blue .x-panel-mr {
3160
+ background-image:url(../images/default/panel/left-right.gif);
3161
+ }
3162
+ .x-panel-blue .x-panel-mc{
3163
+ padding-top:6px;
3164
+ background:#dfe8f6;
3165
+ }
3166
+
3167
+ .x-panel-blue .x-panel-tl {
3168
+ padding-left:6px;
3169
+ }
3170
+ .x-panel-blue .x-panel-tr {
3171
+ padding-right:6px;
3172
+ }
3173
+ .x-panel-blue .x-panel-bc .x-panel-footer {
3174
+ padding-bottom:6px;
3175
+ }
3176
+ .x-panel-blue .x-panel-nofooter .x-panel-bc {
3177
+ height:6px;
3178
+ }
3179
+ .x-panel-blue .x-panel-bl {
3180
+ padding-left:6px;
3181
+ }
3182
+ .x-panel-blue .x-panel-br {
3183
+ padding-right:6px;
3184
+ }
3185
+
3186
+ .x-panel-blue .x-panel-ml {
3187
+ padding-left:6px;
3188
+ }
3189
+ .x-panel-blue .x-panel-mr {
3190
+ padding-right:6px;
3191
+ }
3192
+
3193
+ .x-panel-bwrap {
3194
+ overflow:hidden;
3195
+ }
3196
+ .x-panel-body {
3197
+ overflow:hidden;
3198
+ }
3199
+
3200
+ .x-panel-collapsed .x-resizable-handle{
3201
+ display:none;
3202
+ }
3203
+
3204
+
3205
+ .x-tool {
3206
+ overflow:hidden;
3207
+ width:15px;
3208
+ height:15px;
3209
+ float:right;
3210
+ cursor:pointer;
3211
+ background:transparent url(../images/default/panel/tool-sprites.gif) no-repeat;
3212
+ margin-left:2px;
3213
+ }
3214
+
3215
+
3216
+
3217
+ .x-tool-toggle {
3218
+ background-position:0 -60px;
3219
+ }
3220
+ .x-tool-toggle-over {
3221
+ background-position:-15px -60px;
3222
+ }
3223
+ .x-panel-collapsed .x-tool-toggle {
3224
+ background-position:0 -75px;
3225
+ }
3226
+ .x-panel-collapsed .x-tool-toggle-over {
3227
+ background-position:-15px -75px;
3228
+ }
3229
+
3230
+ .x-tool-close {
3231
+ background-position:0 -0;
3232
+ }
3233
+ .x-tool-close-over {
3234
+ background-position:-15px 0;
3235
+ }
3236
+
3237
+ .x-tool-minimize {
3238
+ background-position:0 -15px;
3239
+ }
3240
+ .x-tool-minimize-over {
3241
+ background-position:-15px -15px;
3242
+ }
3243
+
3244
+ .x-tool-maximize {
3245
+ background-position:0 -30px;
3246
+ }
3247
+ .x-tool-maximize-over {
3248
+ background-position:-15px -30px;
3249
+ }
3250
+
3251
+ .x-tool-restore {
3252
+ background-position:0 -45px;
3253
+ }
3254
+ .x-tool-restore-over {
3255
+ background-position:-15px -45px;
3256
+ }
3257
+
3258
+ .x-tool-gear {
3259
+ background-position:0 -90px;
3260
+ }
3261
+ .x-tool-gear-over {
3262
+ background-position:-15px -90px;
3263
+ }
3264
+
3265
+ .x-tool-pin {
3266
+ background-position:0 -135px;
3267
+ }
3268
+ .x-tool-pin-over {
3269
+ background-position:-15px -135px;
3270
+ }
3271
+ .x-tool-unpin {
3272
+ background-position:0 -150px;
3273
+ }
3274
+ .x-tool-unpin-over {
3275
+ background-position:-15px -150px;
3276
+ }
3277
+ .x-tool-right {
3278
+ background-position:0 -165px;
3279
+ }
3280
+ .x-tool-right-over {
3281
+ background-position:-15px -165px;
3282
+ }
3283
+ .x-tool-left {
3284
+ background-position:0 -180px;
3285
+ }
3286
+ .x-tool-left-over {
3287
+ background-position:-15px -180px;
3288
+ }
3289
+ .x-tool-up {
3290
+ background-position:0 -210px;
3291
+ }
3292
+ .x-tool-up-over {
3293
+ background-position:-15px -210px;
3294
+ }
3295
+ .x-tool-down {
3296
+ background-position:0 -195px;
3297
+ }
3298
+ .x-tool-down-over {
3299
+ background-position:-15px -195px;
3300
+ }
3301
+ .x-tool-refresh {
3302
+ background-position:0 -225px;
3303
+ }
3304
+ .x-tool-refresh-over {
3305
+ background-position:-15px -225px;
3306
+ }
3307
+
3308
+ .x-panel-ghost {
3309
+ background:#cbddf3;
3310
+ z-index:12000;
3311
+ overflow:hidden;
3312
+ position:absolute;
3313
+ left:0;top:0;
3314
+ opacity:.65;
3315
+ -moz-opacity:.65;
3316
+ filter:alpha(opacity=65);
3317
+ }
3318
+
3319
+ .x-panel-ghost ul {
3320
+ margin:0;
3321
+ padding:0;
3322
+ overflow:hidden;
3323
+ font-size:0;
3324
+ line-height:0;
3325
+ border:1px solid #84a0c4;
3326
+ border-top:0 none;
3327
+ display:block;
3328
+ }
3329
+
3330
+ .x-panel-ghost * {
3331
+ cursor:move !important;
3332
+ }
3333
+
3334
+
3335
+
3336
+
3337
+ .x-panel-btns-ct {
3338
+ padding:5px;
3339
+ }
3340
+
3341
+ .x-panel-btns-ct .x-btn{
3342
+ float:right;
3343
+ clear:none;
3344
+ }
3345
+ .x-panel-btns-ct .x-panel-btns td {
3346
+ border:0;
3347
+ padding:0;
3348
+ }
3349
+ .x-panel-btns-ct .x-panel-btns-right table{
3350
+ float:right;
3351
+ clear:none;
3352
+ }
3353
+ .x-panel-btns-ct .x-panel-btns-left table{
3354
+ float:left;
3355
+ clear:none;
3356
+ }
3357
+ .x-panel-btns-ct .x-panel-btns-center{
3358
+ text-align:center;
3359
+ }
3360
+ .x-panel-btns-ct .x-panel-btns-center table{
3361
+ margin:0 auto;
3362
+ }
3363
+ .x-panel-btns-ct table td.x-panel-btn-td{
3364
+ padding:3px;
3365
+ }
3366
+
3367
+ .x-panel-btns-ct .x-btn-focus .x-btn-left{
3368
+ background-position:0 -147px;
3369
+ }
3370
+ .x-panel-btns-ct .x-btn-focus .x-btn-right{
3371
+ background-position:0 -168px;
3372
+ }
3373
+ .x-panel-btns-ct .x-btn-focus .x-btn-center{
3374
+ background-position:0 -189px;
3375
+ }
3376
+
3377
+ .x-panel-btns-ct .x-btn-over .x-btn-left{
3378
+ background-position:0 -63px;
3379
+ }
3380
+ .x-panel-btns-ct .x-btn-over .x-btn-right{
3381
+ background-position:0 -84px;
3382
+ }
3383
+ .x-panel-btns-ct .x-btn-over .x-btn-center{
3384
+ background-position:0 -105px;
3385
+ }
3386
+
3387
+ .x-panel-btns-ct .x-btn-click .x-btn-center{
3388
+ background-position:0 -126px;
3389
+ }
3390
+ .x-panel-btns-ct .x-btn-click .x-btn-right{
3391
+ background-position:0 -84px;
3392
+ }
3393
+ .x-panel-btns-ct .x-btn-click .x-btn-left{
3394
+ background-position:0 -63px;
3395
+ }
3396
+ .x-html-editor-wrap {
3397
+ border:1px solid #a9bfd3;
3398
+ background:white;
3399
+ }
3400
+ .x-html-editor-tb .x-btn-text {
3401
+ background:transparent url(../images/default/editor/tb-sprite.gif) no-repeat;
3402
+ }
3403
+ .x-html-editor-tb .x-edit-bold .x-btn-text {
3404
+ background-position:0 0;
3405
+ }
3406
+ .x-html-editor-tb .x-edit-italic .x-btn-text {
3407
+ background-position:-16px 0;
3408
+ }
3409
+ .x-html-editor-tb .x-edit-underline .x-btn-text {
3410
+ background-position:-32px 0;
3411
+ }
3412
+ .x-html-editor-tb .x-edit-forecolor .x-btn-text {
3413
+ background-position:-160px 0;
3414
+ }
3415
+ .x-html-editor-tb .x-edit-backcolor .x-btn-text {
3416
+ background-position:-176px 0;
3417
+ }
3418
+ .x-html-editor-tb .x-edit-justifyleft .x-btn-text {
3419
+ background-position:-112px 0;
3420
+ }
3421
+ .x-html-editor-tb .x-edit-justifycenter .x-btn-text {
3422
+ background-position:-128px 0;
3423
+ }
3424
+ .x-html-editor-tb .x-edit-justifyright .x-btn-text {
3425
+ background-position:-144px 0;
3426
+ }
3427
+ .x-html-editor-tb .x-edit-insertorderedlist .x-btn-text {
3428
+ background-position:-80px 0;
3429
+ }
3430
+ .x-html-editor-tb .x-edit-insertunorderedlist .x-btn-text {
3431
+ background-position:-96px 0;
3432
+ }
3433
+ .x-html-editor-tb .x-edit-increasefontsize .x-btn-text {
3434
+ background-position:-48px 0;
3435
+ }
3436
+ .x-html-editor-tb .x-edit-decreasefontsize .x-btn-text {
3437
+ background-position:-64px 0;
3438
+ }
3439
+ .x-html-editor-tb .x-edit-sourceedit .x-btn-text {
3440
+ background-position:-192px 0;
3441
+ }
3442
+
3443
+ .x-html-editor-tip .x-tip-bd .x-tip-bd-inner {
3444
+ padding:5px;
3445
+ padding-bottom:1px;
3446
+ }
js/extjs/css/form.css ADDED
@@ -0,0 +1,384 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 2.0
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ /* all fields */
10
+ .x-form-field{
11
+ margin: 0 0 0 0;
12
+ font:normal 12px tahoma, arial, helvetica, sans-serif;
13
+ }
14
+
15
+ /* ---- text fields ---- */
16
+ .x-form-text, textarea.x-form-field{
17
+ padding: 1px 3px;
18
+ background:#fff url(../images/default/form/text-bg.gif) repeat-x 0 0;
19
+ border: 1px solid #B5B8C8;
20
+ }
21
+ .x-form-text {
22
+ height:22px;
23
+ line-height:18px;
24
+ vertical-align:middle;
25
+ }
26
+ .ext-ie .x-form-text {
27
+ margin-top:-1px; /* ie bogus margin bug */
28
+ margin-bottom:-1px;
29
+ height:22px; /* ie quirks */
30
+ line-height:18px;
31
+ }
32
+ .ext-strict .x-form-text {
33
+ height:18px;
34
+ }
35
+ .ext-safari .x-form-text {
36
+ height:20px; /* safari always same size */
37
+ }
38
+ .ext-gecko .x-form-text {
39
+ padding-top:2px; /* FF won't center the text vertically */
40
+ padding-bottom:0;
41
+ }
42
+ /* select boxes */
43
+
44
+ .x-form-select-one {
45
+ height:20px;
46
+ line-height:18px;
47
+ vertical-align:middle;
48
+ background-color:#fff; /* opera */
49
+ border: 1px solid #B5B8C8;
50
+ }
51
+
52
+ /* multi select boxes */
53
+
54
+ /* --- TODO --- */
55
+
56
+ /* checkboxes */
57
+
58
+ /* --- TODO --- */
59
+
60
+ /* radios */
61
+
62
+ /* --- TODO --- */
63
+
64
+
65
+ /* wrapped fields and triggers */
66
+
67
+ .x-form-field-wrap {
68
+ position:relative;
69
+ zoom:1;
70
+ white-space: nowrap;
71
+ }
72
+
73
+ .x-editor .x-form-check-wrap {
74
+ background:#fff;
75
+ }
76
+ .x-form-field-wrap .x-form-trigger{
77
+ width:17px;
78
+ height:21px;
79
+ border:0;
80
+ background:transparent url(../images/default/form/trigger.gif) no-repeat 0 0;
81
+ cursor:pointer;
82
+ border-bottom: 1px solid #B5B8C8;
83
+ position:absolute;
84
+ top:0;
85
+ }
86
+ .ext-safari .x-form-field-wrap .x-form-trigger{
87
+ height:19px; /* safari doesn't allow height adjustments to the fields, so adjust trigger */
88
+ }
89
+ .x-form-field-wrap .x-form-date-trigger{
90
+ background:transparent url(../images/default/form/date-trigger.gif) no-repeat 0 0 !important;
91
+ cursor:pointer;
92
+ }
93
+ .x-form-field-wrap .x-form-clear-trigger{
94
+ background:transparent url(../images/default/form/clear-trigger.gif) no-repeat;
95
+ cursor:pointer;
96
+ }
97
+ .x-form-field-wrap .x-form-search-trigger{
98
+ background:transparent url(../images/default/form/search-trigger.gif) no-repeat 0 0;
99
+ cursor:pointer;
100
+ }
101
+ .ext-safari .x-form-field-wrap .x-form-trigger{
102
+ right:0;
103
+ }
104
+ .x-form-field-wrap .x-form-twin-triggers{
105
+
106
+ }
107
+ .x-form-field-wrap .x-form-twin-triggers .x-form-trigger{
108
+ position:static;
109
+ top:auto;
110
+ vertical-align:top;
111
+ }
112
+
113
+
114
+ .x-form-field-wrap .x-form-trigger-over{
115
+ background-position:-17px 0;
116
+ }
117
+ .x-form-field-wrap .x-form-trigger-click{
118
+ background-position:-34px 0;
119
+ }
120
+ .x-item-disabled .x-form-trigger-over{
121
+ background-position:0 0 !important;
122
+ }
123
+ .x-item-disabled .x-form-trigger-click{
124
+ background-position:0 0 !important;
125
+ }
126
+
127
+ /* field focus style */
128
+ .x-form-focus, textarea.x-form-focus{
129
+ border: 1px solid #7eadd9;
130
+ }
131
+
132
+ /* invalid fields */
133
+ .x-form-invalid, textarea.x-form-invalid{
134
+ background:#fff url(../images/default/grid/invalid_line.gif) repeat-x bottom;
135
+ border: 1px solid #dd7870;
136
+ }
137
+ .ext-safari .x-form-invalid{
138
+ background-color:#ffeeee;
139
+ border: 1px solid #ff7870;
140
+ }
141
+
142
+ /* editors */
143
+
144
+ .x-editor {
145
+ visibility:hidden;
146
+ padding:0;
147
+ margin:0;
148
+ }
149
+ .x-form-check-wrap {
150
+ line-height:18px;
151
+ }
152
+ .ext-ie .x-form-check-wrap input {
153
+ width:15px;
154
+ height:15px;
155
+ }
156
+ .x-editor .x-form-check-wrap {
157
+ padding:3px;
158
+ }
159
+ .x-editor .x-form-checkbox {
160
+ height:13px;
161
+ border: 0 none;
162
+ }
163
+ /* If you override the default field font above, you would need to change this font as well */
164
+ .x-form-grow-sizer {
165
+ font:normal 12px tahoma, arial, helvetica, sans-serif;
166
+ left: -10000px;
167
+ padding: 8px 3px;
168
+ position: absolute;
169
+ visibility:hidden;
170
+ top: -10000px;
171
+ white-space: pre-wrap;
172
+ white-space: -moz-pre-wrap;
173
+ white-space: -pre-wrap;
174
+ white-space: -o-pre-wrap;
175
+ word-wrap: break-word;
176
+ zoom:1;
177
+ }
178
+ .x-form-grow-sizer p {
179
+ margin:0 !important;
180
+ border:0 none !important;
181
+ padding:0 !important;
182
+ }
183
+ /* Form Items CSS */
184
+
185
+ .x-form-item {
186
+ font:normal 12px tahoma, arial, helvetica, sans-serif;
187
+ display:block;
188
+ margin-bottom:4px;
189
+ }
190
+
191
+ .x-form-item label {
192
+ display:block;
193
+ float:left;
194
+ width:100px;
195
+ padding:3px;
196
+ padding-left:0;
197
+ clear:left;
198
+ z-index:2;
199
+ position:relative;
200
+ }
201
+
202
+ .x-form-element {
203
+ padding-left:105px;
204
+ position:relative;
205
+ }
206
+
207
+ .x-form-invalid-msg {
208
+ color:#ee0000;
209
+ padding:2px;
210
+ padding-left:18px;
211
+ font:normal 11px tahoma, arial, helvetica, sans-serif;
212
+ background: transparent url(../images/default/shared/warning.gif) no-repeat 0 2px;
213
+ line-height:16px;
214
+ width:200px;
215
+ }
216
+
217
+ .x-form-label-right label {
218
+ text-align:right;
219
+ }
220
+
221
+ .x-form-label-top .x-form-item label {
222
+ width:auto;
223
+ float:none;
224
+ clear:none;
225
+ display:inline;
226
+ margin-bottom:4px;
227
+ position:static;
228
+ }
229
+ .x-form-label-top .x-form-element {
230
+ padding-left:0;
231
+ padding-top:4px;
232
+ }
233
+ .x-form-label-top .x-form-item {
234
+ padding-bottom:4px;
235
+ }
236
+ .x-form fieldset {
237
+ border:1px solid #B5B8C8;
238
+ padding:10px 10px 5px 10px;
239
+ margin-bottom:10px;
240
+ }
241
+ .x-form fieldset legend {
242
+ font:bold 11px tahoma, arial, helvetica, sans-serif;
243
+ color:#15428b;
244
+ }
245
+ .ext-ie .x-form fieldset legend {
246
+ margin-bottom:10px;
247
+ }
248
+ .ext-ie .x-form fieldset {
249
+ padding-top: 0;
250
+ }
251
+ .x-form-empty-field {
252
+ color:gray;
253
+ }
254
+ /* Editor small font for grid, toolbar and tree */
255
+ .x-small-editor .x-form-field {
256
+ font:normal 11px arial, tahoma, helvetica, sans-serif;
257
+ }
258
+ .x-small-editor .x-form-text {
259
+ height:20px;
260
+ line-height:16px;
261
+ vertical-align:middle;
262
+ }
263
+ .ext-ie .x-small-editor .x-form-text {
264
+ margin-top:-1px !important; /* ie bogus margin bug */
265
+ margin-bottom:-1px !important;
266
+ height:20px !important; /* ie quirks */
267
+ line-height:16px !important;
268
+ }
269
+ .ext-strict .x-small-editor .x-form-text {
270
+ height:16px !important;
271
+ }
272
+ .ext-safari .x-small-editor .x-form-field {
273
+ /* safari text field will not size so needs bigger font */
274
+ font:normal 12px arial, tahoma, helvetica, sans-serif;
275
+ }
276
+ .ext-ie .x-small-editor .x-form-text {
277
+ height:20px;
278
+ line-height:16px;
279
+ }
280
+ .ext-border-box .x-small-editor .x-form-text {
281
+ height:20px;
282
+ }
283
+
284
+ .x-small-editor .x-form-select-one {
285
+ height:20px;
286
+ line-height:16px;
287
+ vertical-align:middle;
288
+ }
289
+ .x-small-editor .x-form-num-field {
290
+ text-align:right;
291
+ }
292
+ .x-small-editor .x-form-field-wrap .x-form-trigger{
293
+ height:19px;
294
+ }
295
+
296
+
297
+ .x-form-clear {
298
+ clear:both;
299
+ height:0;
300
+ overflow:hidden;
301
+ line-height:0;
302
+ font-size:0;
303
+ }
304
+ .x-form-clear-left {
305
+ clear:left;
306
+ height:0;
307
+ overflow:hidden;
308
+ line-height:0;
309
+ font-size:0;
310
+ }
311
+
312
+ .x-form-cb-label {
313
+ width:'auto' !important;
314
+ float:none !important;
315
+ clear:none !important;
316
+ display:inline !important;
317
+ margin-left:4px;
318
+ }
319
+
320
+ .x-form-column {
321
+ float:left;
322
+ padding:0;
323
+ margin:0;
324
+ width:48%;
325
+ overflow:hidden;
326
+ zoom:1;
327
+ }
328
+
329
+ /* buttons */
330
+ .x-form .x-form-btns-ct .x-btn{
331
+ float:right;
332
+ clear:none;
333
+ }
334
+ .x-form .x-form-btns-ct .x-form-btns td {
335
+ border:0;
336
+ padding:0;
337
+ }
338
+ .x-form .x-form-btns-ct .x-form-btns-right table{
339
+ float:right;
340
+ clear:none;
341
+ }
342
+ .x-form .x-form-btns-ct .x-form-btns-left table{
343
+ float:left;
344
+ clear:none;
345
+ }
346
+ .x-form .x-form-btns-ct .x-form-btns-center{
347
+ text-align:center; /*ie*/
348
+ }
349
+ .x-form .x-form-btns-ct .x-form-btns-center table{
350
+ margin:0 auto; /*everyone else*/
351
+ }
352
+ .x-form .x-form-btns-ct table td.x-form-btn-td{
353
+ padding:3px;
354
+ }
355
+
356
+ .x-form .x-form-btns-ct .x-btn-focus .x-btn-left{
357
+ background-position:0 -147px;
358
+ }
359
+ .x-form .x-form-btns-ct .x-btn-focus .x-btn-right{
360
+ background-position:0 -168px;
361
+ }
362
+ .x-form .x-form-btns-ct .x-btn-focus .x-btn-center{
363
+ background-position:0 -189px;
364
+ }
365
+
366
+ .x-form .x-form-btns-ct .x-btn-click .x-btn-center{
367
+ background-position:0 -126px;
368
+ }
369
+ .x-form .x-form-btns-ct .x-btn-click .x-btn-right{
370
+ background-position:0 -84px;
371
+ }
372
+ .x-form .x-form-btns-ct .x-btn-click .x-btn-left{
373
+ background-position:0 -63px;
374
+ }
375
+ .x-form-invalid-icon {
376
+ width:16px;
377
+ height:18px;
378
+ visibility:hidden;
379
+ position:absolute;
380
+ left:0;
381
+ top:0;
382
+ display:block;
383
+ background:transparent url(../images/default/form/exclamation.gif) no-repeat 0 2px;
384
+ }
js/extjs/css/grid.css ADDED
@@ -0,0 +1,449 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 2.0
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ /* Grid2 styles */
10
+ .x-grid3 {
11
+ position:relative;
12
+ overflow:hidden;
13
+ background-color:#fff;
14
+ }
15
+ .ext-ie .x-grid3 table {
16
+ table-layout:fixed;
17
+ }
18
+ .x-grid3-viewport{
19
+ overflow:hidden;
20
+ }
21
+ .x-grid3-hd-row td, .x-grid3-row td{
22
+ font:normal 11px arial, tahoma, helvetica, sans-serif;
23
+ -moz-outline: none;
24
+ -moz-user-focus: normal;
25
+ }
26
+ .x-grid3-row td {
27
+ line-height:13px;
28
+ vertical-align: top;
29
+ padding-left:1px;
30
+ padding-right:1px;
31
+ -moz-user-select: none;
32
+ }
33
+ .x-grid3-hd-row td {
34
+ line-height:15px;
35
+ vertical-align:middle;
36
+ border-left:1px solid #eee;
37
+ border-right:1px solid #d0d0d0;
38
+ }
39
+
40
+ .x-grid3-hd-row .x-grid3-marker-hd {
41
+ padding:3px;
42
+ }
43
+
44
+ .x-grid3-row .x-grid3-marker {
45
+ padding:3px;
46
+ }
47
+
48
+ .x-grid3-cell-inner, .x-grid3-hd-inner{
49
+ overflow:hidden;
50
+ -o-text-overflow: ellipsis;
51
+ text-overflow: ellipsis;
52
+ padding:3px 3px 3px 5px;
53
+ white-space: nowrap;
54
+ }
55
+
56
+ .x-grid3-hd-inner {
57
+ position:relative;
58
+ cursor:inherit;
59
+ padding:4px 3px 4px 5px;
60
+ }
61
+
62
+ .x-grid3-row-body {
63
+ white-space:normal;
64
+ }
65
+
66
+ /* IE Quirks to clip */
67
+ .ext-ie .x-grid3-cell-inner, .ext-ie .x-grid3-hd-inner{
68
+ width:100%;
69
+ }
70
+ /* reverse above in strict mode */
71
+ .ext-strict .x-grid3-cell-inner, .ext-strict .x-grid3-hd-inner{
72
+ width:auto;
73
+ }
74
+
75
+ .x-grid3-col {
76
+
77
+ }
78
+
79
+ .x-grid3-row {
80
+ cursor: default;
81
+ border:1px solid #ededed;
82
+ border-top-color:#fff;
83
+ /*border-bottom: 1px solid #ededed;*/
84
+ width:100%;
85
+ }
86
+ .x-grid3-row-alt{
87
+ /*background-color:#f1f2f4;*/
88
+ }
89
+
90
+ .x-grid3-row-over {
91
+ border:1px solid #dddddd;
92
+ background: #efefef url(../images/default/grid/row-over.gif) repeat-x left top;
93
+ }
94
+
95
+ .x-grid3-resize-proxy {
96
+ width:3px;
97
+ background-color:#cccccc;
98
+ cursor: e-resize;
99
+ cursor: col-resize;
100
+ position:absolute;
101
+ top:0;
102
+ height:100px;
103
+ overflow:hidden;
104
+ visibility:hidden;
105
+ border:0 none;
106
+ z-index:7;
107
+ }
108
+ .x-grid3-focus {
109
+ position:absolute;
110
+ top:0;
111
+ -moz-outline:0 none;
112
+ outline:0 none;
113
+ -moz-user-select: normal;
114
+ -khtml-user-select: normal;
115
+ }
116
+
117
+ /* header styles */
118
+ .x-grid3-header{
119
+ background: #f9f9f9 url(../images/default/grid/grid3-hrow.gif) repeat-x 0 bottom;
120
+ cursor:default;
121
+ zoom:1;
122
+ padding:1px 0 0 0;
123
+ }
124
+
125
+ .x-grid3-header-pop {
126
+ border-left:1px solid #d0d0d0;
127
+ float:right;
128
+ clear:none;
129
+ }
130
+ .x-grid3-header-pop-inner {
131
+ border-left:1px solid #eee;
132
+ width:14px;
133
+ height:19px;
134
+ background: transparent url(../images/default/grid/hd-pop.gif) no-repeat center center;
135
+ }
136
+ .ext-ie .x-grid3-header-pop-inner {
137
+ width:15px;
138
+ }
139
+ .ext-strict .x-grid3-header-pop-inner {
140
+ width:14px;
141
+ }
142
+ .x-grid3-header-inner {
143
+ overflow:hidden;
144
+ zoom:1;
145
+ float:left;
146
+ }
147
+ .x-grid3-header-offset {
148
+ padding-left:1px;
149
+ width:10000px;
150
+ }
151
+
152
+ /*
153
+ .x-grid3-hd-over .x-grid3-hd-inner {
154
+ padding-bottom:2px;
155
+ border-bottom: 1px solid #c3daf9;
156
+ background-color: #fafafa;
157
+ }
158
+ td.x-grid3-hd-over .x-grid3-hd-text {
159
+ border-bottom: 1px solid #b3cae9;
160
+ }*/
161
+
162
+ td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open {
163
+ border-left:1px solid #aaccf6;
164
+ border-right:1px solid #aaccf6;
165
+ }
166
+ td.x-grid3-hd-over .x-grid3-hd-inner, td.sort-desc .x-grid3-hd-inner, td.sort-asc .x-grid3-hd-inner, td.x-grid3-hd-menu-open .x-grid3-hd-inner {
167
+ background: #ebf3fd url(../images/default/grid/grid3-hrow-over.gif) repeat-x left bottom;
168
+
169
+ }
170
+ .x-grid3-sort-icon{
171
+ background-repeat: no-repeat;
172
+ display: none;
173
+ height: 4px;
174
+ width: 13px;
175
+ margin-left:3px;
176
+ vertical-align: middle;
177
+ }
178
+ .sort-asc .x-grid3-sort-icon {
179
+ background-image: url(../images/aero/grid/sort_asc.gif);
180
+ display: inline;
181
+ }
182
+ .sort-desc .x-grid3-sort-icon {
183
+ background-image: url(../images/aero/grid/sort_desc.gif);
184
+ display: inline;
185
+ }
186
+
187
+ /* Body Styles */
188
+ .x-grid3-body {
189
+ overflow:auto;
190
+ }
191
+ .x-grid3-body-inner {
192
+ overflow:auto;
193
+ }
194
+ .x-grid3-cell-text, .x-grid3-hd-text {
195
+ display: block;
196
+ padding: 3px 5px 3px 5px;
197
+ -moz-user-select: none;
198
+ -khtml-user-select: none;
199
+ color:black;
200
+ }
201
+ .x-grid3-split {
202
+ background-image: url(../images/default/grid/grid-split.gif);
203
+ background-position: center;
204
+ background-repeat: no-repeat;
205
+ cursor: e-resize;
206
+ cursor: col-resize;
207
+ display: block;
208
+ font-size: 1px;
209
+ height: 16px;
210
+ overflow: hidden;
211
+ position: absolute;
212
+ top: 2px;
213
+ width: 6px;
214
+ z-index: 3;
215
+ }
216
+
217
+ .x-grid3-hd-text {
218
+ color:#15428b;
219
+ }
220
+ /* Column Reorder DD */
221
+ .x-dd-drag-proxy .x-grid3-hd-inner{
222
+ background: #ebf3fd url(../images/default/grid/grid3-hrow-over.gif) repeat-x left bottom;
223
+ width:120px;
224
+ padding:3px;
225
+ border:1px solid #aaccf6;
226
+ overflow:hidden;
227
+ }
228
+
229
+ .col-move-top, .col-move-bottom{
230
+ width:9px;
231
+ height:9px;
232
+ position:absolute;
233
+ top:0;
234
+ line-height:1px;
235
+ font-size:1px;
236
+ overflow:hidden;
237
+ visibility:hidden;
238
+ z-index:20000;
239
+ }
240
+ .col-move-top{
241
+ background:transparent url(../images/default/grid/col-move-top.gif) no-repeat left top;
242
+ }
243
+ .col-move-bottom{
244
+ background:transparent url(../images/default/grid/col-move-bottom.gif) no-repeat left top;
245
+ }
246
+
247
+ /* Selection Styles */
248
+ .x-grid3-row-selected {
249
+ background: #d9e8fb url(../images/default/grid/row-sel.gif) repeat-x left top;
250
+ border:1px solid #99bbe8;
251
+ }/*
252
+ .x-grid3-row-selected td {
253
+ border-left:1px solid #c3daf9;
254
+ border-right:1px solid #719ad5;
255
+ }*/
256
+ .x-grid3-row-selected span, .x-grid3-row-selected b, .x-grid3-row-selected div, .x-grid3-row-selected strong, .x-grid3-row-selected i{
257
+
258
+ }
259
+ .x-grid3-cell-selected{
260
+ background-color: #316ac5 !important;
261
+ color: white;
262
+ }
263
+ .x-grid3-cell-selected span{
264
+ color: white !important;
265
+ }
266
+ .x-grid3-cell-selected .x-grid3-cell-text{
267
+ color: white;
268
+ }
269
+
270
+ .x-grid3-locked td.x-grid3-row-marker, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{
271
+ background: #ebeadb url(../images/default/grid/grid-hrow.gif) repeat-x 0 bottom !important;
272
+ vertical-align:middle !important;
273
+ color:black;
274
+ padding:0;
275
+ border-top:1px solid white;
276
+ border-bottom:none !important;
277
+ border-right:1px solid #6fa0df !important;
278
+ text-align:center;
279
+ }
280
+ .x-grid3-locked td.x-grid3-row-marker div, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker div{
281
+ padding:0 4px;
282
+ color:#15428b !important;
283
+ text-align:center;
284
+ }
285
+
286
+ /* dirty cells */
287
+ .x-grid3-dirty-cell {
288
+ background: transparent url(../images/default/grid/dirty.gif) no-repeat 0 0;
289
+ }
290
+
291
+ /* Grid Toolbars */
292
+ .x-grid3-topbar, .x-grid3-bottombar{
293
+ font:normal 11px arial, tahoma, helvetica, sans-serif;
294
+ overflow:hidden;
295
+ display:none;
296
+ zoom:1;
297
+ position:relative;
298
+ }
299
+ .x-grid3-topbar .x-toolbar{
300
+ border-right:0 none;
301
+ }
302
+ .x-grid3-bottombar .x-toolbar{
303
+ border-right:0 none;
304
+ border-bottom:0 none;
305
+ border-top:1px solid #a9bfd3;
306
+ }
307
+ /* Props Grid Styles */
308
+ .x-props-grid .x-grid3-cell-selected .x-grid3-cell-text{
309
+ background-color: #316ac5 !important;
310
+ }
311
+ .x-props-grid .x-grid3-col-value .x-grid3-cell-text{
312
+ background-color: white;
313
+ }
314
+ .x-props-grid .x-grid3-col-name{
315
+ background-color: #c3daf9;
316
+ }
317
+ .x-props-grid .x-grid3-col-name .x-grid3-cell-text{
318
+ background-color: white;
319
+ margin-left:10px;
320
+ }
321
+ .x-props-grid .x-grid3-split-value {
322
+ visibility:hidden;
323
+ }
324
+
325
+ /* header menu */
326
+ .xg-hmenu-sort-asc .x-menu-item-icon{
327
+ background-image: url(../images/default/grid/hmenu-asc.gif);
328
+ }
329
+ .xg-hmenu-sort-desc .x-menu-item-icon{
330
+ background-image: url(../images/default/grid/hmenu-desc.gif);
331
+ }
332
+ .xg-hmenu-lock .x-menu-item-icon{
333
+ background-image: url(../images/default/grid/hmenu-lock.gif);
334
+ }
335
+ .xg-hmenu-unlock .x-menu-item-icon{
336
+ background-image: url(../images/default/grid/hmenu-unlock.gif);
337
+ }
338
+
339
+ /* dd */
340
+ .x-grid3-col-dd {
341
+ border:0 none;
342
+ padding:0;
343
+ background:transparent;
344
+ }
345
+
346
+ .x-dd-drag-ghost .x-grid3-dd-wrap {
347
+ padding:1px 3px 3px 1px;
348
+ }
349
+
350
+ .x-grid3-hd-btn {
351
+ display:none;
352
+ position:absolute;
353
+ width:14px;
354
+ background:#c3daf9 url(../images/default/grid/grid3-hd-btn.gif) no-repeat left center;
355
+ right:0;
356
+ top:0;
357
+ z-index:2;
358
+ cursor:pointer;
359
+ }
360
+
361
+ .x-grid3-hd-over .x-grid3-hd-btn, .x-grid3-hd-menu-open .x-grid3-hd-btn {
362
+ display:block;
363
+ }
364
+
365
+ a.x-grid3-hd-btn:hover {
366
+ background-position:-14px center;
367
+ }
368
+
369
+ /* Expanders */
370
+
371
+ .x-grid3-body .x-grid3-td-expander {
372
+ background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y right;
373
+ }
374
+ .x-grid3-body .x-grid3-td-expander .x-grid3-cell-inner {
375
+ padding:0 !important;
376
+ height:100%;
377
+ }
378
+ .x-grid3-row-expander {
379
+ width:100%;
380
+ height:18px;
381
+ background-position:4px 2px;
382
+ background-repeat:no-repeat;
383
+ background-color:transparent;
384
+ background-image:url(../images/default/grid/row-expand-sprite.gif);
385
+ }
386
+ .x-grid3-row-collapsed .x-grid3-row-expander {
387
+ background-position:4px 2px;
388
+ }
389
+ .x-grid3-row-expanded .x-grid3-row-expander {
390
+ background-position:-21px 2px;
391
+ }
392
+ .x-grid3-row-collapsed .x-grid3-row-body {
393
+ display:none !important;
394
+ }
395
+ .x-grid3-row-expanded .x-grid3-row-body {
396
+ display:block !important;
397
+ }
398
+
399
+ /* Checkers */
400
+
401
+ .x-grid3-body .x-grid3-td-checker {
402
+ background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y right;
403
+ }
404
+
405
+ .x-grid3-body .x-grid3-td-checker .x-grid3-cell-inner, .x-grid3-header .x-grid3-td-checker .x-grid3-hd-inner {
406
+ padding:0 !important;
407
+ height:100%;
408
+ }
409
+
410
+ .x-grid3-row-checker, .x-grid3-hd-checker {
411
+ width:100%;
412
+ height:18px;
413
+ background-position:2px 2px;
414
+ background-repeat:no-repeat;
415
+ background-color:transparent;
416
+ background-image:url(../images/default/grid/row-check-sprite.gif);
417
+ }
418
+ .x-grid3-row .x-grid3-row-checker {
419
+ background-position:2px 2px;
420
+ }
421
+ .x-grid3-row-selected .x-grid3-row-checker, .x-grid3-hd-checker-on .x-grid3-hd-checker {
422
+ background-position:-23px 2px;
423
+ }
424
+ .x-grid3-hd-checker {
425
+ background-position:2px 3px;
426
+ }
427
+ .x-grid3-hd-checker-on .x-grid3-hd-checker {
428
+ background-position:-23px 3px;
429
+ }
430
+
431
+ /* Numberer */
432
+
433
+ .x-grid3-body .x-grid3-td-numberer {
434
+ background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y right;
435
+ }
436
+ .x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner {
437
+ padding:3px 5px 0 0 !important;
438
+ text-align:right;
439
+ color:#444;
440
+ }
441
+
442
+ /* All specials */
443
+
444
+ .x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer,
445
+ .x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,
446
+ .x-grid3-body .x-grid3-row-selected .x-grid3-td-expander {
447
+ background:transparent url(../images/default/grid/grid3-special-col-sel-bg.gif) repeat-y right;
448
+ }
449
+
js/extjs/css/layout.css ADDED
@@ -0,0 +1,252 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 2.0
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .x-layout-container{
10
+ width:100%;
11
+ height:100%;
12
+ overflow:hidden;
13
+ background-color:#c3daf9;
14
+ }
15
+ .x-layout-container .x-layout-tabs-body{
16
+ border:0 none;
17
+ }
18
+ .x-layout-collapsed{
19
+ position:absolute;
20
+ left:-10000px;
21
+ top:-10000px;
22
+ visibility:hidden;
23
+ background-color:#c3daf9;
24
+ width:20px;
25
+ height:20px;
26
+ overflow:hidden;
27
+ border:1px solid #98c0f4;
28
+ z-index:20;
29
+ }
30
+ .ext-border-box .x-layout-collapsed{
31
+ width:22px;
32
+ height:22px;
33
+ }
34
+ .x-layout-collapsed-over{
35
+ cursor:pointer;
36
+ background-color:#d9e8fb;
37
+ }
38
+ .x-layout-collapsed-west .x-layout-collapsed-tools, .x-layout-collapsed-east .x-layout-collapsed-tools{
39
+ position:absolute;
40
+ top:0;
41
+ left:0;
42
+ width:20px;
43
+ height:20px;
44
+ }
45
+ .x-layout-collapsed-north .x-layout-collapsed-tools, .x-layout-collapsed-south .x-layout-collapsed-tools{
46
+ position:absolute;
47
+ top:0;
48
+ right:0;
49
+ width:20px;
50
+ height:20px;
51
+ }
52
+ .x-layout-collapsed .x-layout-tools-button{
53
+ margin:0;
54
+ }
55
+ .x-layout-collapsed .x-layout-tools-button-inner{
56
+ width:16px;
57
+ height:16px;
58
+ }
59
+ .x-layout-inactive-content{
60
+ position:absolute;
61
+ left:-10000px;
62
+ top:-10000px;
63
+ visibility:hidden;
64
+ }
65
+ .x-layout-active-content{
66
+ visibility:visible;
67
+ }
68
+ .x-layout-panel{
69
+ position:absolute;border:1px solid #98c0f4;overflow:hidden;background-color:white;
70
+ }
71
+ .x-layout-panel-east, .x-layout-panel-west {
72
+ z-index:10;
73
+ }
74
+ .x-layout-panel-north, .x-layout-panel-south {
75
+ z-index:11;
76
+ }
77
+ .x-layout-collapsed-north, .x-layout-collapsed-south, .x-layout-collapsed-east, .x-layout-collapsed-west {
78
+ z-index:12;
79
+ }
80
+ .x-layout-panel-body{
81
+ overflow:hidden;
82
+ }
83
+ .x-layout-grid-wrapper{
84
+
85
+ }
86
+ .x-layout-split{
87
+ position:absolute;
88
+ height:5px;
89
+ width:5px;
90
+ line-height:1px;
91
+ font-size:1px;
92
+ z-index:3;
93
+ background-color:#c3daf9;
94
+ }
95
+ .x-layout-panel-hd{
96
+ background-image: url(../images/default/layout/panel-title-light-bg.gif);
97
+ color: black;
98
+ border-bottom:1px solid #98c0f4;
99
+ position:relative;
100
+ }
101
+ .x-layout-panel-hd-text{
102
+ font:normal 11px tahoma, verdana, helvetica;
103
+ padding: 4px;
104
+ padding-left: 4px;
105
+ display:block;
106
+ white-space:nowrap;
107
+ }
108
+ .x-layout-panel-hd-tools{
109
+ position:absolute;
110
+ right:0;
111
+ top:0;
112
+ text-align:right;
113
+ padding-top:2px;
114
+ padding-right:2px;
115
+ width:60px;
116
+ }
117
+ .x-layout-tools-button{
118
+ z-index:6;
119
+ padding:2px;
120
+ cursor:pointer;
121
+ float:right;
122
+ }
123
+ .x-layout-tools-button-over{
124
+ padding:1px;
125
+ border:1px solid #98c0f4;
126
+ background-color:white;
127
+ }
128
+ .x-layout-tools-button-inner{
129
+ height:12px;
130
+ width:12px;
131
+ line-height:1px;
132
+ font-size:1px;
133
+ background-repeat:no-repeat;
134
+ background-position:center;
135
+ }
136
+ .x-layout-close{
137
+ background-image:url(../images/default/layout/panel-close.gif);
138
+ }
139
+ .x-layout-stick{
140
+ background-image:url(../images/default/layout/stick.gif);
141
+ }
142
+ .x-layout-collapse-west,.x-layout-expand-east{
143
+ background-image:url(../images/default/layout/collapse.gif);
144
+ }
145
+ .x-layout-expand-west,.x-layout-collapse-east{
146
+ background-image:url(../images/default/layout/expand.gif);
147
+ }
148
+ .x-layout-collapse-north,.x-layout-expand-south{
149
+ background-image:url(../images/default/layout/ns-collapse.gif);
150
+ }
151
+ .x-layout-expand-north,.x-layout-collapse-south{
152
+ background-image:url(../images/default/layout/ns-expand.gif);
153
+ }
154
+ .x-layout-split-h{
155
+ background-image:url(../images/default/sizer/e-handle.gif);
156
+ background-position: left;
157
+ }
158
+ .x-layout-split-v{
159
+ background-image:url(../images/default/sizer/s-handle.gif);
160
+ background-position: top;
161
+ }
162
+ .x-layout-panel .x-tabs-wrap{
163
+ background:url(../images/default/layout/gradient-bg.gif);
164
+ }
165
+ .x-layout-panel .x-tabs-body {
166
+ background-color:white;
167
+ overflow:auto;height:100%;
168
+ }
169
+ .x-layout-component-panel, .x-layout-nested-layout {
170
+ position:relative;
171
+ padding:0;
172
+ overflow:hidden;
173
+ width:200px;
174
+ height:200px;
175
+ }
176
+ .x-layout-nested-layout .x-layout-panel {
177
+ border:0 none;
178
+ }
179
+ .x-layout-nested-layout .x-layout-panel-north {
180
+ border-bottom:1px solid #98c0f4;
181
+ }
182
+ .x-layout-nested-layout .x-layout-panel-south {
183
+ border-top:1px solid #98c0f4;
184
+ }
185
+ .x-layout-nested-layout .x-layout-panel-east {
186
+ border-left:1px solid #98c0f4;
187
+ }
188
+ .x-layout-nested-layout .x-layout-panel-west {
189
+ border-right:1px solid #98c0f4;
190
+ }
191
+
192
+ .x-layout-panel-dragover {
193
+ border: 2px solid #6593cf;
194
+ }
195
+ .x-layout-panel-proxy {
196
+ background-image: url(../images/default/layout/gradient-bg.gif);
197
+ background-color:#c3daf9;
198
+ border:1px dashed #6593cf;
199
+ z-index:10001;
200
+ overflow:hidden;
201
+ position:absolute;
202
+ left:0;top:0;
203
+ }
204
+ .x-layout-slider {
205
+ z-index:15;
206
+ overflow:hidden;
207
+ position:absolute;
208
+ }
209
+
210
+ .x-scroller-up, .x-scroller-down {
211
+ background-color:#c3daf9;
212
+ border: 1px solid #6593cf;
213
+ border-top-color: #fff;
214
+ border-left-color: #fff;
215
+ border-right:0 none;
216
+ cursor:pointer;
217
+ overflow:hidden;
218
+ line-height:16px;
219
+ }
220
+ .x-scroller-down {
221
+ border-bottom: 0 none;
222
+ border-top: 1px solid #6593cf;
223
+ }
224
+ .x-scroller-btn-over {
225
+ background-color: #d9e8f8;
226
+ }
227
+ .x-scroller-btn-click {
228
+ background-color: #AECEF7;
229
+ }
230
+ .x-scroller-btn-disabled {
231
+ cursor:default;
232
+ background-color: #c3daf9;
233
+ -moz-opacity: 0.3;
234
+ opacity:.30;
235
+ filter: alpha(opacity=30);
236
+ }
237
+
238
+ /* Reader Layout */
239
+
240
+ .x-reader .x-layout-panel-north {
241
+ border:0 none;
242
+ }
243
+ .x-reader .x-layout-panel-center{
244
+ border:0 none;
245
+ }
246
+ .x-reader .x-layout-nested-layout .x-layout-panel-center{
247
+ border:1px solid #99bbe8;
248
+ border-top:0 none;
249
+ }
250
+ .x-reader .x-layout-nested-layout .x-layout-panel-south{
251
+ border:1px solid #99bbe8;
252
+ }
js/extjs/css/menu.css ADDED
@@ -0,0 +1,118 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 2.0
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .x-menu {
10
+ border:1px solid #718bb7;
11
+ z-index: 15000;
12
+ background: #fff url(../images/default/menu/menu.gif) repeat-y;
13
+ }
14
+ .ext-ie .x-menu {
15
+ zoom:1;
16
+ overflow:hidden;
17
+ }
18
+ .x-menu-list{
19
+ border:1px solid #fff;
20
+ }
21
+ .x-menu li{
22
+ line-height:100%;
23
+ }
24
+ .x-menu li.x-menu-sep-li{
25
+ font-size:1px;
26
+ line-height:1px;
27
+ }
28
+ .x-menu-list-item{
29
+ font:normal 11px tahoma,arial, sans-serif;
30
+ white-space: nowrap;
31
+ -moz-user-select: none;
32
+ -khtml-user-select: none;
33
+ display:block;
34
+ padding:1px;
35
+ }
36
+ .x-menu-item-arrow{
37
+ background:transparent url(../images/default/menu/menu-parent.gif) no-repeat right;
38
+ }
39
+ .x-menu-sep {
40
+ display:block;
41
+ font-size:1px;
42
+ line-height:1px;
43
+ background:#c3daf9;
44
+ margin: 3px 3px 3px 32px;
45
+ }
46
+ .x-menu-focus {
47
+ position:absolute;
48
+ left:0;
49
+ top:-5px;
50
+ width:0;
51
+ height:0;
52
+ line-height:1px;
53
+ }
54
+ .x-menu-item {
55
+ display:block;
56
+ line-height:14px;
57
+ padding:3px 21px 3px 3px;
58
+ white-space: nowrap;
59
+ text-decoration:none;
60
+ color:#233d6d;
61
+ -moz-outline: 0 none;
62
+ outline: 0 none;
63
+ cursor:pointer;
64
+ }
65
+ .x-menu-item-active {
66
+ color:#233d6d;
67
+ background:#c3daf9;
68
+ border:1px solid #8BB8F3;
69
+ padding:0;
70
+ }
71
+ .x-menu-item-icon {
72
+ border: 0 none;
73
+ height: 16px;
74
+ padding: 0;
75
+ vertical-align: middle;
76
+ width: 16px;
77
+ margin: 0 11px 0 0;
78
+ background-position:center;
79
+ }
80
+
81
+ .x-menu-check-item .x-menu-item-icon{
82
+ background: transparent url(../images/default/menu/unchecked.gif) no-repeat center;
83
+ }
84
+
85
+ .x-menu-item-checked .x-menu-item-icon{
86
+ background-image:url(../images/default/menu/checked.gif);
87
+ }
88
+ .x-menu-group-item .x-menu-item-icon{
89
+ background: transparent;
90
+ }
91
+
92
+ .x-menu-item-checked .x-menu-group-item .x-menu-item-icon{
93
+ background: transparent url(../images/default/menu/group-checked.gif) no-repeat center;
94
+ }
95
+
96
+ .x-menu-plain {
97
+ background:#fff;
98
+ }
99
+ .x-menu-date-item{
100
+ padding:0;
101
+ }
102
+
103
+ .x-menu .x-color-palette, .x-menu .x-date-picker{
104
+ margin-left:32px;
105
+ margin-right:4px;
106
+ }
107
+ .x-menu .x-date-picker{
108
+ border:1px solid #a3bad9;
109
+ margin-top:2px;
110
+ margin-bottom:2px;
111
+ }
112
+ .x-menu-plain .x-color-palette, .x-menu-plain .x-date-picker{
113
+ margin:0;
114
+ border:0 none;
115
+ }
116
+ .x-date-menu {
117
+ padding:0 !important;
118
+ }
js/extjs/css/panel.css ADDED
@@ -0,0 +1,355 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 2.0
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .x-panel-header {
10
+ overflow:hidden;
11
+ zoom:1;
12
+ color:#15428b;
13
+ font:bold 11px tahoma,arial,verdana,sans-serif;
14
+ padding:5px 3px 4px 5px;
15
+ border:1px solid #99bbe8;
16
+ background: transparent url(../images/default/panel/white-top-bottom.gif) repeat-x 0 -1px;
17
+ }
18
+
19
+ .x-panel-body {
20
+ border:1px solid #99bbe8;
21
+ border-top:0 none;
22
+ overflow:hidden;
23
+ background:white;
24
+ }
25
+ .x-panel-body-noheader {
26
+ border-top:1px solid #99bbe8;
27
+ }
28
+
29
+ .x-panel-header {
30
+ overflow:hidden;
31
+ zoom:1;
32
+ }
33
+ .x-panel-tl .x-panel-header {
34
+ color:#15428b;
35
+ font:bold 11px tahoma,arial,verdana,sans-serif;
36
+ padding:5px 0 4px 0;
37
+ border:0 none;
38
+ background:transparent;
39
+ }
40
+ .x-panel-tl .x-panel-icon, .x-window-tl .x-panel-icon {
41
+ padding-left:20px !important;
42
+ background-repeat:no-repeat;
43
+ background-position:0 4px;
44
+ zoom:1;
45
+ }
46
+ .x-panel-inline-icon {
47
+ width:16px;
48
+ height:16px;
49
+ background-repeat:no-repeat;
50
+ background-position:0 0;
51
+ vertical-align:middle;
52
+ margin-right:4px;
53
+ margin-top:-1px;
54
+ margin-bottom:-1px;
55
+ }
56
+ .x-panel-tc {
57
+ background: transparent url(../images/default/panel/white-top-bottom.gif) repeat-x 0 0;
58
+ overflow:hidden;
59
+ }
60
+ .x-panel-tl {
61
+ background: transparent url(../images/default/panel/white-corners-sprite.gif) no-repeat 0 0;
62
+ padding-left:6px;
63
+ zoom:1;
64
+ border-bottom:1px solid #99bbe8;
65
+ }
66
+ .x-panel-tr {
67
+ background: transparent url(../images/default/panel/white-corners-sprite.gif) no-repeat right 0;
68
+ padding-right:6px;
69
+ }
70
+ .x-panel-bc {
71
+ background: transparent url(../images/default/panel/white-top-bottom.gif) repeat-x 0 bottom;
72
+ zoom:1;
73
+ }
74
+ .x-panel-bc .x-panel-footer {
75
+ padding-bottom:1px;
76
+ zoom:1;
77
+ }
78
+
79
+ .x-panel-nofooter .x-panel-bc {
80
+ height:1px;
81
+ }
82
+ .x-panel-bl {
83
+ background: transparent url(../images/default/panel/white-corners-sprite.gif) no-repeat 0 bottom;
84
+ padding-left:1px;
85
+ zoom:1;
86
+ }
87
+ .x-panel-br {
88
+ background: transparent url(../images/default/panel/white-corners-sprite.gif) no-repeat right bottom;
89
+ padding-right:1px;
90
+ zoom:1;
91
+ }
92
+ .x-panel-mc {
93
+ border:0 none;
94
+ padding:0;
95
+ margin:0;
96
+ font: normal 11px tahoma,arial,helvetica,sans-serif;
97
+ background:white;
98
+ }
99
+ .x-panel-mc .x-panel-body {
100
+ background:transparent;
101
+ border:0 none;
102
+ }
103
+ .x-panel-ml {
104
+ background: #fff url(../images/default/panel/white-left-right.gif) repeat-y 0 0;
105
+ padding-left:1px;
106
+ zoom:1;
107
+ }
108
+ .x-panel-mr {
109
+ background: transparent url(../images/default/panel/white-left-right.gif) repeat-y right 0;
110
+ padding-right:1px;
111
+ zoom:1;
112
+ }
113
+ .x-panel-blue .x-panel-tl, .x-panel-blue .x-panel-tr, .x-panel-blue .x-panel-bl, .x-panel-blue .x-panel-br {
114
+ background-image:url(../images/default/panel/corners-sprite.gif);
115
+ }
116
+ .x-panel-blue .x-panel-tc, .x-panel-blue .x-panel-bc {
117
+ background-image:url(../images/default/panel/top-bottom.gif);
118
+ }
119
+ .x-panel-blue .x-panel-ml, .x-panel-blue .x-panel-mr {
120
+ background-image:url(../images/default/panel/left-right.gif);
121
+ }
122
+ .x-panel-blue .x-panel-mc{
123
+ padding-top:6px;
124
+ background:#dfe8f6;
125
+ }
126
+
127
+ .x-panel-blue .x-panel-tl {
128
+ padding-left:6px;
129
+ }
130
+ .x-panel-blue .x-panel-tr {
131
+ padding-right:6px;
132
+ }
133
+ .x-panel-blue .x-panel-bc .x-panel-footer {
134
+ padding-bottom:6px;
135
+ }
136
+ .x-panel-blue .x-panel-nofooter .x-panel-bc {
137
+ height:6px;
138
+ }
139
+ .x-panel-blue .x-panel-bl {
140
+ padding-left:6px;
141
+ }
142
+ .x-panel-blue .x-panel-br {
143
+ padding-right:6px;
144
+ }
145
+
146
+ .x-panel-blue .x-panel-ml {
147
+ padding-left:6px;
148
+ }
149
+ .x-panel-blue .x-panel-mr {
150
+ padding-right:6px;
151
+ }
152
+
153
+ .x-panel-bwrap {
154
+ overflow:hidden;
155
+ }
156
+ .x-panel-body {
157
+ overflow:hidden;
158
+ }
159
+
160
+ .x-panel-collapsed .x-resizable-handle{
161
+ display:none;
162
+ }
163
+
164
+ /* Tools */
165
+ .x-tool {
166
+ overflow:hidden;
167
+ width:15px;
168
+ height:15px;
169
+ float:right;
170
+ cursor:pointer;
171
+ background:transparent url(../images/default/panel/tool-sprites.gif) no-repeat;
172
+ margin-left:2px;
173
+ }
174
+
175
+
176
+ /* expand / collapse tools */
177
+ .x-tool-toggle {
178
+ background-position:0 -60px;
179
+ }
180
+ .x-tool-toggle-over {
181
+ background-position:-15px -60px;
182
+ }
183
+ .x-panel-collapsed .x-tool-toggle {
184
+ background-position:0 -75px;
185
+ }
186
+ .x-panel-collapsed .x-tool-toggle-over {
187
+ background-position:-15px -75px;
188
+ }
189
+
190
+ .x-tool-close {
191
+ background-position:0 -0;
192
+ }
193
+ .x-tool-close-over {
194
+ background-position:-15px 0;
195
+ }
196
+
197
+ .x-tool-minimize {
198
+ background-position:0 -15px;
199
+ }
200
+ .x-tool-minimize-over {
201
+ background-position:-15px -15px;
202
+ }
203
+
204
+ .x-tool-maximize {
205
+ background-position:0 -30px;
206
+ }
207
+ .x-tool-maximize-over {
208
+ background-position:-15px -30px;
209
+ }
210
+
211
+ .x-tool-restore {
212
+ background-position:0 -45px;
213
+ }
214
+ .x-tool-restore-over {
215
+ background-position:-15px -45px;
216
+ }
217
+
218
+ .x-tool-gear {
219
+ background-position:0 -90px;
220
+ }
221
+ .x-tool-gear-over {
222
+ background-position:-15px -90px;
223
+ }
224
+
225
+ .x-tool-pin {
226
+ background-position:0 -135px;
227
+ }
228
+ .x-tool-pin-over {
229
+ background-position:-15px -135px;
230
+ }
231
+ .x-tool-unpin {
232
+ background-position:0 -150px;
233
+ }
234
+ .x-tool-unpin-over {
235
+ background-position:-15px -150px;
236
+ }
237
+ .x-tool-right {
238
+ background-position:0 -165px;
239
+ }
240
+ .x-tool-right-over {
241
+ background-position:-15px -165px;
242
+ }
243
+ .x-tool-left {
244
+ background-position:0 -180px;
245
+ }
246
+ .x-tool-left-over {
247
+ background-position:-15px -180px;
248
+ }
249
+ .x-tool-up {
250
+ background-position:0 -210px;
251
+ }
252
+ .x-tool-up-over {
253
+ background-position:-15px -210px;
254
+ }
255
+ .x-tool-down {
256
+ background-position:0 -195px;
257
+ }
258
+ .x-tool-down-over {
259
+ background-position:-15px -195px;
260
+ }
261
+ .x-tool-refresh {
262
+ background-position:0 -225px;
263
+ }
264
+ .x-tool-refresh-over {
265
+ background-position:-15px -225px;
266
+ }
267
+ /* Ghosting */
268
+ .x-panel-ghost {
269
+ background:#cbddf3;
270
+ z-index:12000;
271
+ overflow:hidden;
272
+ position:absolute;
273
+ left:0;top:0;
274
+ opacity:.65;
275
+ -moz-opacity:.65;
276
+ filter:alpha(opacity=65);
277
+ }
278
+
279
+ .x-panel-ghost ul {
280
+ margin:0;
281
+ padding:0;
282
+ overflow:hidden;
283
+ font-size:0;
284
+ line-height:0;
285
+ border:1px solid #84a0c4;
286
+ border-top:0 none;
287
+ display:block;
288
+ }
289
+
290
+ .x-panel-ghost * {
291
+ cursor:move !important;
292
+ }
293
+
294
+
295
+ /* Buttons */
296
+
297
+ .x-panel-btns-ct {
298
+ padding:5px;
299
+ }
300
+
301
+ .x-panel-btns-ct .x-btn{
302
+ float:right;
303
+ clear:none;
304
+ }
305
+ .x-panel-btns-ct .x-panel-btns td {
306
+ border:0;
307
+ padding:0;
308
+ }
309
+ .x-panel-btns-ct .x-panel-btns-right table{
310
+ float:right;
311
+ clear:none;
312
+ }
313
+ .x-panel-btns-ct .x-panel-btns-left table{
314
+ float:left;
315
+ clear:none;
316
+ }
317
+ .x-panel-btns-ct .x-panel-btns-center{
318
+ text-align:center; /*ie*/
319
+ }
320
+ .x-panel-btns-ct .x-panel-btns-center table{
321
+ margin:0 auto; /*everyone else*/
322
+ }
323
+ .x-panel-btns-ct table td.x-panel-btn-td{
324
+ padding:3px;
325
+ }
326
+
327
+ .x-panel-btns-ct .x-btn-focus .x-btn-left{
328
+ background-position:0 -147px;
329
+ }
330
+ .x-panel-btns-ct .x-btn-focus .x-btn-right{
331
+ background-position:0 -168px;
332
+ }
333
+ .x-panel-btns-ct .x-btn-focus .x-btn-center{
334
+ background-position:0 -189px;
335
+ }
336
+
337
+ .x-panel-btns-ct .x-btn-over .x-btn-left{
338
+ background-position:0 -63px;
339
+ }
340
+ .x-panel-btns-ct .x-btn-over .x-btn-right{
341
+ background-position:0 -84px;
342
+ }
343
+ .x-panel-btns-ct .x-btn-over .x-btn-center{
344
+ background-position:0 -105px;
345
+ }
346
+
347
+ .x-panel-btns-ct .x-btn-click .x-btn-center{
348
+ background-position:0 -126px;
349
+ }
350
+ .x-panel-btns-ct .x-btn-click .x-btn-right{
351
+ background-position:0 -84px;
352
+ }
353
+ .x-panel-btns-ct .x-btn-click .x-btn-left{
354
+ background-position:0 -63px;
355
+ }
js/extjs/css/qtips.css ADDED
@@ -0,0 +1,120 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 2.0
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .x-tip{
10
+ position: absolute;
11
+ top: 0;
12
+ left:0;
13
+ visibility: hidden;
14
+ z-index: 20000;
15
+ border:0 none;
16
+ }
17
+ .x-tip .x-tip-close{
18
+ background-image: url(../images/default/qtip/close.gif);
19
+ height: 15px;
20
+ float:right;
21
+ width: 15px;
22
+ margin:0 0 2px 2px;
23
+ cursor:pointer;
24
+ display:none;
25
+ }
26
+ .x-tip .x-tip-top {
27
+ background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -12px;
28
+ height:6px;
29
+ overflow:hidden;
30
+ }
31
+ .x-tip .x-tip-top-left {
32
+ background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 0;
33
+ padding-left:6px;
34
+ zoom:1;
35
+ }
36
+ .x-tip .x-tip-top-right {
37
+ background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right 0;
38
+ padding-right:6px;
39
+ zoom:1;
40
+ }
41
+ .x-tip .x-tip-ft {
42
+ background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -18px;
43
+ height:6px;
44
+ overflow:hidden;
45
+ }
46
+ .x-tip .x-tip-ft-left {
47
+ background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -6px;
48
+ padding-left:6px;
49
+ zoom:1;
50
+ }
51
+ .x-tip .x-tip-ft-right {
52
+ background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right -6px;
53
+ padding-right:6px;
54
+ zoom:1;
55
+ }
56
+ .x-tip .x-tip-bd {
57
+ border:0 none;
58
+ font: normal 11px tahoma,arial,helvetica,sans-serif;
59
+ }
60
+ .x-tip .x-tip-bd-left {
61
+ background: #fff url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -24px;
62
+ padding-left:6px;
63
+ zoom:1;
64
+ }
65
+ .x-tip .x-tip-bd-right {
66
+ background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right -24px;
67
+ padding-right:6px;
68
+ zoom:1;
69
+ }
70
+
71
+ .x-tip h3 {
72
+ font: bold 11px tahoma,arial,helvetica,sans-serif;
73
+ margin:0;
74
+ padding:2px 0;
75
+ color:#444;
76
+ }
77
+ .x-tip .x-tip-bd-inner {
78
+ font: normal 11px tahoma,arial,helvetica,sans-serif;
79
+ margin:0 !important;
80
+ line-height:14px;
81
+ color:#444;
82
+ padding:0;
83
+ float:left;
84
+ }
85
+
86
+
87
+ .x-form-invalid-tip {
88
+ }
89
+
90
+ .x-form-invalid-tip .x-tip-top {
91
+ background-image: url(../images/default/form/error-tip-corners.gif);
92
+ }
93
+ .x-form-invalid-tip .x-tip-top-left {
94
+ background-image: url(../images/default/form/error-tip-corners.gif);
95
+ }
96
+ .x-form-invalid-tip .x-tip-top-right {
97
+ background-image: url(../images/default/form/error-tip-corners.gif);
98
+ }
99
+ .x-form-invalid-tip .x-tip-ft {
100
+ background-image: url(../images/default/form/error-tip-corners.gif);
101
+ }
102
+ .x-form-invalid-tip .x-tip-ft-left {
103
+ background-image: url(../images/default/form/error-tip-corners.gif);
104
+ }
105
+ .x-form-invalid-tip .x-tip-ft-right {
106
+ background-image: url(../images/default/form/error-tip-corners.gif);
107
+ }
108
+ .x-form-invalid-tip .x-tip-bd-left {
109
+ background-image: url(../images/default/form/error-tip-corners.gif);
110
+ }
111
+ .x-form-invalid-tip .x-tip-bd-right {
112
+ background-image: url(../images/default/form/error-tip-corners.gif);
113
+ }
114
+ .x-form-invalid-tip .x-tip-bd .x-tip-bd-inner {
115
+ padding-left:24px;
116
+ background:transparent url(../images/default/form/exclamation.gif) no-repeat 2px 2px;
117
+ }
118
+ .x-form-invalid-tip .x-tip-bd-inner {
119
+ padding:2px;
120
+ }
js/extjs/css/reset-min.css ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 2.0
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,th,td{margin:0;padding:0;}img,body,html{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}ol,ul {list-style:none;}caption,th {text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;}q:before,q:after{content:'';}
js/extjs/css/resizable.css ADDED
@@ -0,0 +1,143 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 2.0
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .x-resizable-handle {
10
+ position:absolute;
11
+ z-index:100;
12
+ /* ie needs these */
13
+ font-size:1px;
14
+ line-height:6px;
15
+ overflow:hidden;
16
+ background:white;
17
+ filter:alpha(opacity=0);
18
+ opacity:0;
19
+ zoom:1;
20
+ }
21
+ .x-resizable-handle-east{
22
+ width:6px;
23
+ cursor:e-resize;
24
+ right:0;
25
+ top:0;
26
+ height:100%;
27
+ }
28
+ .ext-ie .x-resizable-handle-east {
29
+ margin-right:-1px; /*IE rounding error*/
30
+ }
31
+ .x-resizable-handle-south{
32
+ width:100%;
33
+ cursor:s-resize;
34
+ left:0;
35
+ bottom:0;
36
+ height:6px;
37
+ }
38
+ .ext-ie .x-resizable-handle-south {
39
+ margin-bottom:-1px; /*IE rounding error*/
40
+ }
41
+ .x-resizable-handle-west{
42
+ width:6px;
43
+ cursor:w-resize;
44
+ left:0;
45
+ top:0;
46
+ height:100%;
47
+ }
48
+ .x-resizable-handle-north{
49
+ width:100%;
50
+ cursor:n-resize;
51
+ left:0;
52
+ top:0;
53
+ height:6px;
54
+ }
55
+ .x-resizable-handle-southeast{
56
+ width:6px;
57
+ cursor:se-resize;
58
+ right:0;
59
+ bottom:0;
60
+ height:6px;
61
+ z-index:101;
62
+ }
63
+ .x-resizable-handle-northwest{
64
+ width:6px;
65
+ cursor:nw-resize;
66
+ left:0;
67
+ top:0;
68
+ height:6px;
69
+ z-index:101;
70
+ }
71
+ .x-resizable-handle-northeast{
72
+ width:6px;
73
+ cursor:ne-resize;
74
+ right:0;
75
+ top:0;
76
+ height:6px;
77
+ z-index:101;
78
+ }
79
+ .x-resizable-handle-southwest{
80
+ width:6px;
81
+ cursor:sw-resize;
82
+ left:0;
83
+ bottom:0;
84
+ height:6px;
85
+ z-index:101;
86
+ }
87
+ .x-resizable-over .x-resizable-handle, .x-resizable-pinned .x-resizable-handle{
88
+ filter:alpha(opacity=100);
89
+ opacity:1;
90
+ }
91
+ .x-resizable-over .x-resizable-handle-east, .x-resizable-pinned .x-resizable-handle-east{
92
+ background:url(../images/default/sizer/e-handle.gif);
93
+ background-position: left;
94
+ }
95
+ .x-resizable-over .x-resizable-handle-west, .x-resizable-pinned .x-resizable-handle-west{
96
+ background:url(../images/default/sizer/e-handle.gif);
97
+ background-position: left;
98
+ }
99
+ .x-resizable-over .x-resizable-handle-south, .x-resizable-pinned .x-resizable-handle-south{
100
+ background:url(../images/default/sizer/s-handle.gif);
101
+ background-position: top;
102
+ }
103
+ .x-resizable-over .x-resizable-handle-north, .x-resizable-pinned .x-resizable-handle-north{
104
+ background:url(../images/default/sizer/s-handle.gif);
105
+ background-position: top;
106
+ }
107
+ .x-resizable-over .x-resizable-handle-southeast, .x-resizable-pinned .x-resizable-handle-southeast{
108
+ background:url(../images/default/sizer/se-handle.gif);
109
+ background-position: top left;
110
+ }
111
+ .x-resizable-over .x-resizable-handle-northwest, .x-resizable-pinned .x-resizable-handle-northwest{
112
+ background:url(../images/default/sizer/nw-handle.gif);
113
+ background-position:bottom right;
114
+ }
115
+ .x-resizable-over .x-resizable-handle-northeast, .x-resizable-pinned .x-resizable-handle-northeast{
116
+ background:url(../images/default/sizer/ne-handle.gif);
117
+ background-position: bottom left;
118
+ }
119
+ .x-resizable-over .x-resizable-handle-southwest, .x-resizable-pinned .x-resizable-handle-southwest{
120
+ background:url(../images/default/sizer/sw-handle.gif);
121
+ background-position: top right;
122
+ }
123
+ .x-resizable-proxy{
124
+ border: 1px dashed #6593cf;
125
+ position:absolute;
126
+ overflow:hidden;
127
+ display:none;
128
+ left:0;top:0;
129
+ z-index:50000;
130
+ }
131
+ .x-resizable-overlay{
132
+ width:100%;
133
+ height:100%;
134
+ display:none;
135
+ position:absolute;
136
+ left:0;
137
+ top:0;
138
+ background:white;
139
+ z-index:200000;
140
+ -moz-opacity: 0;
141
+ opacity:0;
142
+ filter: alpha(opacity=0);
143
+ }
js/extjs/css/tabs.css ADDED
@@ -0,0 +1,134 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 2.0
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .x-tabs-wrap {
10
+ border-bottom:1px solid #6593cf;
11
+ padding-top:2px;
12
+ }
13
+ .x-tabs-strip-wrap{
14
+ width:100%;
15
+ }
16
+ .x-tabs-wrap table{
17
+ position:relative;
18
+ top:0; left:0;
19
+ }
20
+ .x-tabs-strip td{
21
+ padding:0;
22
+ padding-left:2px;
23
+ }
24
+ .x-tabs-strip a, .x-tabs-strip span, .x-tabs-strip em {
25
+ display:block;
26
+ }
27
+ .x-tabs-strip a {
28
+ text-decoration:none !important;
29
+ -moz-outline: none;
30
+ outline: none;
31
+ cursor:pointer;
32
+ }
33
+ .x-tabs-strip .x-tabs-text {
34
+ font:bold 11px tahoma,arial,helvetica;
35
+ color:#666;
36
+ overflow:hidden;
37
+ white-space: nowrap;
38
+ cursor:pointer;
39
+ text-overflow: ellipsis;
40
+ }
41
+ .x-tabs-strip .on .x-tabs-text {
42
+ cursor:default;
43
+ color:#083772;
44
+ }
45
+ .x-tabs-strip .disabled .x-tabs-text {
46
+ cursor:default;
47
+ color:#aaaaaa;
48
+ }
49
+ .x-tabs-strip .x-tabs-inner {
50
+ padding:4px 10px;
51
+ }
52
+
53
+ .x-tabs-strip .on .x-tabs-right {
54
+ background: url(../images/default/tabs/tab-sprite.gif) no-repeat right 0;
55
+ }
56
+ .x-tabs-strip .on .x-tabs-left {
57
+ background: url(../images/default/tabs/tab-sprite.gif) no-repeat 0 -100px;
58
+ }
59
+ .x-tabs-strip .x-tabs-right {
60
+ background: url(../images/default/tabs/tab-sprite.gif) no-repeat right -50px;
61
+ }
62
+ .x-tabs-strip .x-tabs-left {
63
+ background: url(../images/default/tabs/tab-sprite.gif) no-repeat 0 -150px;
64
+ }
65
+
66
+ .x-tabs-strip a {
67
+ position:relative;
68
+ top:1px; left:0;
69
+ }
70
+ .x-tabs-strip .on a {
71
+ position:relative;
72
+ }
73
+ .x-tabs-strip .on .x-tabs-inner {
74
+ padding-bottom:5px;
75
+ }
76
+ /** closable tabs */
77
+ .x-tabs-strip .x-tabs-closable .x-tabs-inner{
78
+ padding-right:22px;
79
+ position:relative;
80
+ }
81
+ .x-tabs-strip .x-tabs-closable .close-icon{
82
+ line-height: 1px;
83
+ font-size:1px;
84
+ background-image:url(../images/default/layout/tab-close.gif);
85
+ display:block;
86
+ position:absolute;
87
+ right:5px;top:4px;
88
+ width:11px;height:11px;
89
+ cursor:pointer;
90
+ }
91
+ .x-tabs-strip .on .close-icon{
92
+ background-image:url(../images/default/layout/tab-close-on.gif);
93
+ }
94
+ .x-tabs-strip .x-tabs-closable .close-over{
95
+ background-image:url(../images/default/layout/tab-close-on.gif);
96
+ }
97
+ .x-tabs-body {
98
+ border:1px solid #6593cf;
99
+ border-top:0 none;
100
+ }
101
+ .x-tabs-bottom .x-tabs-wrap {
102
+ border-top:1px solid #6593cf;
103
+ border-bottom:0 none;
104
+ padding-top:0;
105
+ padding-bottom:2px;
106
+ }
107
+ .x-tabs-bottom .x-tabs-strip .x-tabs-right {
108
+ background: url(../images/default/tabs/tab-btm-inactive-right-bg.gif) no-repeat bottom left;
109
+ }
110
+ .x-tabs-bottom .x-tabs-strip .x-tabs-left {
111
+ background: url(../images/default/tabs/tab-btm-inactive-left-bg.gif) no-repeat bottom right;
112
+ }
113
+ .x-tabs-bottom .x-tabs-strip .on .x-tabs-right {
114
+ background: url(../images/default/tabs/tab-btm-right-bg.gif) no-repeat bottom left;
115
+ }
116
+ .x-tabs-bottom .x-tabs-strip .on .x-tabs-left {
117
+ background: url(../images/default/tabs/tab-btm-left-bg.gif) no-repeat bottom right;
118
+ }
119
+ .x-tabs-bottom .x-tabs-strip a {
120
+ position:relative;
121
+ top:0; left:0;
122
+ }
123
+ .x-tabs-bottom .x-tabs-strip .on a {
124
+ margin-top:-1px;
125
+ }
126
+ .x-tabs-bottom .x-tabs-strip .on .x-tabs-inner {
127
+ padding-top:5px;
128
+ }
129
+
130
+ .x-tabs-bottom .x-tabs-body {
131
+ border:1px solid #6593cf;
132
+ border-bottom:0 none;
133
+ }
134
+
js/extjs/css/toolbar.css ADDED
@@ -0,0 +1,173 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 2.0
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .x-toolbar{
10
+ border-top: 1px solid #eaf0f7;
11
+ border-bottom: 1px solid #a9bfd3;
12
+ display: block;
13
+ padding:2px;
14
+ background:#d0def0 url(../images/default/layout/panel-title-light-bg.gif) repeat-x;
15
+ }
16
+ .x-toolbar .x-item-disabled .x-btn-icon {
17
+ opacity: .35;
18
+ -moz-opacity: .35;
19
+ filter: alpha(opacity=35);
20
+ }
21
+ .x-toolbar td {
22
+ vertical-align:middle;
23
+ }
24
+ .mso .x-toolbar, .x-grid-mso .x-toolbar{
25
+ border: 0 none;
26
+ background: url(../images/default/grid/mso-hd.gif);
27
+ }
28
+ .x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label{
29
+ white-space: nowrap;
30
+ font:normal 11px tahoma, arial, helvetica, sans-serif;
31
+ }
32
+ .x-toolbar .x-item-disabled {
33
+ color:gray;
34
+ cursor:default;
35
+ opacity:.6;
36
+ -moz-opacity:.6;
37
+ filter:alpha(opacity=60);
38
+ }
39
+ .x-toolbar .x-item-disabled * {
40
+ color:gray;
41
+ cursor:default;
42
+ }
43
+ .x-toolbar .x-btn-left{
44
+ background:none;
45
+ }
46
+ .x-toolbar .x-btn-right{
47
+ background:none;
48
+ }
49
+ .x-toolbar .x-btn-center{
50
+ background:none;
51
+ padding:0 0;
52
+ }
53
+
54
+ .x-toolbar .x-btn-menu-text-wrap .x-btn-center button{
55
+ padding-right:2px;
56
+ }
57
+ .ext-gecko .x-toolbar .x-btn-menu-text-wrap .x-btn-center button{
58
+ padding-right:0;
59
+ }
60
+ .x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button{
61
+ padding:0 2px;
62
+ }
63
+ .x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button {
64
+ width:12px;
65
+ background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat 0 3px;
66
+ }
67
+ .x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button {
68
+ width:12px;
69
+ background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat 0 3px;
70
+ }
71
+ .x-toolbar .x-btn-over .x-btn-menu-arrow-wrap .x-btn-center button {
72
+ background-position: 0 -47px;
73
+ }
74
+ .x-toolbar .x-btn-over .x-btn-left{
75
+ background:url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 0;
76
+ }
77
+ .x-toolbar .x-btn-over .x-btn-right{
78
+ background:url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -21px;
79
+ }
80
+ .x-toolbar .x-btn-over .x-btn-center{
81
+ background:url(../images/default/toolbar/tb-btn-sprite.gif) repeat-x 0 -42px;
82
+ }
83
+
84
+ .x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
85
+ background:url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -63px;
86
+ }
87
+ .x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
88
+ background:url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -84px;
89
+ }
90
+ .x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
91
+ background:url(../images/default/toolbar/tb-btn-sprite.gif) repeat-x 0 -105px;
92
+ }
93
+
94
+ .x-toolbar .x-btn-with-menu .x-btn-center em{
95
+ padding-right:8px;
96
+ }
97
+
98
+ .x-toolbar .ytb-text{
99
+ padding:2px;
100
+ }
101
+ .x-toolbar .ytb-sep {
102
+ background-image: url(../images/default/grid/grid-split.gif);
103
+ background-position: center;
104
+ background-repeat: no-repeat;
105
+ display: block;
106
+ font-size: 1px;
107
+ height: 16px;
108
+ width:4px;
109
+ overflow: hidden;
110
+ cursor:default;
111
+ margin: 0 2px 0;
112
+ border:0;
113
+ }
114
+ .x-toolbar .ytb-spacer {
115
+ width:2px;
116
+ }
117
+ .mso .x-toolbar .ytb-sep, .x-grid-mso .x-toolbar .ytb-sep{
118
+ background-image: url(../images/default/grid/grid-blue-split.gif);
119
+ }
120
+
121
+ /* IE refuses to respect the negative margins in the toolbar */
122
+ .ext-ie .x-toolbar .x-form-field-wrap {
123
+ padding-bottom:1px;
124
+ }
125
+ .ext-ie .x-toolbar .x-form-field-wrap .x-form-trigger {
126
+ top:1px;
127
+ }
128
+ .ext-ie .x-toolbar .x-form-field-wrap .x-form-twin-triggers img {
129
+ margin-top:1px;
130
+ }
131
+
132
+ /* Paging Toolbar */
133
+
134
+ .x-grid-page-number{
135
+ width:24px;
136
+ height:14px;
137
+ }
138
+ .x-grid-page-first .x-btn-text{
139
+ background-image: url(../images/default/grid/page-first.gif);
140
+ }
141
+ .x-grid-loading .x-btn-text{
142
+ background-image: url(../images/default/grid/done.gif);
143
+ }
144
+ .x-grid-page-last .x-btn-text{
145
+ background-image: url(../images/default/grid/page-last.gif);
146
+ }
147
+ .x-grid-page-next .x-btn-text{
148
+ background-image: url(../images/default/grid/page-next.gif);
149
+ }
150
+ .x-grid-page-prev .x-btn-text{
151
+ background-image: url(../images/default/grid/page-prev.gif);
152
+ }
153
+ .x-item-disabled .x-grid-loading .x-btn-text{
154
+ background-image: url(../images/default/grid/loading.gif);
155
+ }
156
+ .x-item-disabled .x-grid-page-first .x-btn-text{
157
+ background-image: url(../images/default/grid/page-first-disabled.gif);
158
+ }
159
+ .x-item-disabled .x-grid-page-last .x-btn-text{
160
+ background-image: url(../images/default/grid/page-last-disabled.gif);
161
+ }
162
+ .x-item-disabled .x-grid-page-next .x-btn-text{
163
+ background-image: url(../images/default/grid/page-next-disabled.gif);
164
+ }
165
+ .x-item-disabled .x-grid-page-prev .x-btn-text{
166
+ background-image: url(../images/default/grid/page-prev-disabled.gif);
167
+ }
168
+ .x-paging-info {
169
+ position:absolute;
170
+ top:8px;
171
+ right: 8px;
172
+ color:#15428b;
173
+ }
js/extjs/css/tree.css ADDED
@@ -0,0 +1,179 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 2.0
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .x-tree-icon, .x-tree-ec-icon, .x-tree-elbow-line, .x-tree-elbow, .x-tree-elbow-end, .x-tree-elbow-plus, .x-tree-elbow-minus, .x-tree-elbow-end-plus, .x-tree-elbow-end-minus{
10
+ border: 0 none;
11
+ height: 18px;
12
+ margin: 0;
13
+ padding: 0;
14
+ vertical-align: middle;
15
+ width: 16px;
16
+ background-repeat: no-repeat;
17
+ }
18
+ .x-tree-node-collapsed .x-tree-node-icon, .x-tree-node-expanded .x-tree-node-icon, .x-tree-node-leaf .x-tree-node-icon{
19
+ border: 0 none;
20
+ height: 18px;
21
+ margin: 0;
22
+ padding: 0;
23
+ vertical-align: middle;
24
+ width: 16px;
25
+ background-position:center;
26
+ background-repeat: no-repeat;
27
+ }
28
+
29
+ /* some default icons for leaf/folder */
30
+ .x-tree-node-collapsed .x-tree-node-icon{
31
+ background-image:url(../images/default/tree/folder.gif);
32
+ }
33
+ .x-tree-node-expanded .x-tree-node-icon{
34
+ background-image:url(../images/default/tree/folder-open.gif);
35
+ }
36
+ .x-tree-node-leaf .x-tree-node-icon{
37
+ background-image:url(../images/default/tree/leaf.gif);
38
+ }
39
+
40
+ .x-tree-noicon .x-tree-node-icon{
41
+ width:0; height:0;
42
+ }
43
+ /* loading icon */
44
+ .x-tree-node-loading .x-tree-node-icon{
45
+ background-image:url(../images/default/tree/loading.gif) !important;
46
+ }
47
+ .x-tree-node-loading a span{
48
+ font-style: italic;
49
+ color:#444444;
50
+ }
51
+
52
+ /* Line styles */
53
+ .x-tree-lines .x-tree-elbow{
54
+ background-image:url(../images/default/tree/elbow.gif);
55
+ }
56
+ .x-tree-lines .x-tree-elbow-plus{
57
+ background-image:url(../images/default/tree/elbow-plus.gif);
58
+ }
59
+ .x-tree-lines .x-tree-elbow-minus{
60
+ background-image:url(../images/default/tree/elbow-minus.gif);
61
+ }
62
+ .x-tree-lines .x-tree-elbow-end{
63
+ background-image:url(../images/default/tree/elbow-end.gif);
64
+ }
65
+ .x-tree-lines .x-tree-elbow-end-plus{
66
+ background-image:url(../images/default/tree/elbow-end-plus.gif);
67
+ }
68
+ .x-tree-lines .x-tree-elbow-end-minus{
69
+ background-image:url(../images/default/tree/elbow-end-minus.gif);
70
+ }
71
+ .x-tree-lines .x-tree-elbow-line{
72
+ background-image:url(../images/default/tree/elbow-line.gif);
73
+ }
74
+
75
+ /* No line styles */
76
+ .x-tree-no-lines .x-tree-elbow{
77
+ background:transparent;
78
+ }
79
+ .x-tree-no-lines .x-tree-elbow-plus{
80
+ background-image:url(../images/default/tree/elbow-plus-nl.gif);
81
+ }
82
+ .x-tree-no-lines .x-tree-elbow-minus{
83
+ background-image:url(../images/default/tree/elbow-minus-nl.gif);
84
+ }
85
+ .x-tree-no-lines .x-tree-elbow-end{
86
+ background:transparent;
87
+ }
88
+ .x-tree-no-lines .x-tree-elbow-end-plus{
89
+ background-image:url(../images/default/tree/elbow-end-plus-nl.gif);
90
+ }
91
+ .x-tree-no-lines .x-tree-elbow-end-minus{
92
+ background-image:url(../images/default/tree/elbow-end-minus-nl.gif);
93
+ }
94
+ .x-tree-no-lines .x-tree-elbow-line{
95
+ background:transparent;
96
+ }
97
+
98
+ .x-tree-elbow-plus, .x-tree-elbow-minus, .x-tree-elbow-end-plus, .x-tree-elbow-end-minus{
99
+ cursor:pointer;
100
+ }
101
+ .ext-ie ul.x-tree-node-ct{
102
+ font-size:0;
103
+ line-height:0;
104
+ }
105
+ .x-tree-node{
106
+ color: black;
107
+ font: normal 11px arial, tahoma, helvetica, sans-serif;
108
+ white-space: nowrap;
109
+ }
110
+ .x-tree-node a, .x-dd-drag-ghost a{
111
+ text-decoration:none;
112
+ color:black;
113
+ -khtml-user-select:none;
114
+ -moz-user-select:none;
115
+ -kthml-user-focus:normal;
116
+ -moz-user-focus:normal;
117
+ -moz-outline: 0 none;
118
+ outline:0 none;
119
+ }
120
+ .x-tree-node a span, .x-dd-drag-ghost a span{
121
+ text-decoration:none;
122
+ color:black;
123
+ padding:1px 3px 1px 2px;
124
+ }
125
+ .x-tree-node .x-tree-node-disabled a span{
126
+ color:gray !important;
127
+ }
128
+ .x-tree-node .x-tree-node-disabled .x-tree-node-icon{
129
+ -moz-opacity: 0.5;
130
+ opacity:.5;
131
+ filter: alpha(opacity=50);
132
+ }
133
+ .x-tree-node .x-tree-node-inline-icon{
134
+ background:transparent;
135
+ }
136
+ .x-tree-node a:hover, .x-dd-drag-ghost a:hover{
137
+ text-decoration:none;
138
+ }
139
+ .x-tree-node div.x-tree-drag-insert-below{
140
+ border-bottom:1px dotted #3366cc;
141
+ }
142
+ .x-tree-node div.x-tree-drag-insert-above{
143
+ border-top:1px dotted #3366cc;
144
+ }
145
+ .x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below{
146
+ border-bottom:0 none;
147
+ }
148
+ .x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above{
149
+ border-top:0 none;
150
+ }
151
+ .x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a{
152
+ border-bottom:2px solid #3366cc;
153
+ }
154
+ .x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a{
155
+ border-top:2px solid #3366cc;
156
+ }
157
+ .x-tree-node .x-tree-drag-append a span{
158
+ background:#dddddd;
159
+ border:1px dotted gray;
160
+ }
161
+ .x-tree-node .x-tree-selected a span{
162
+ background:#3366cc;
163
+ color:white;
164
+ }
165
+ .x-dd-drag-ghost .x-tree-node-indent, .x-dd-drag-ghost .x-tree-ec-icon{
166
+ display:none !important;
167
+ }
168
+ .x-tree-drop-ok-append .x-dd-drop-icon{
169
+ background-image: url(../images/default/tree/drop-add.gif);
170
+ }
171
+ .x-tree-drop-ok-above .x-dd-drop-icon{
172
+ background-image: url(../images/default/tree/drop-over.gif);
173
+ }
174
+ .x-tree-drop-ok-below .x-dd-drop-icon{
175
+ background-image: url(../images/default/tree/drop-under.gif);
176
+ }
177
+ .x-tree-drop-ok-between .x-dd-drop-icon{
178
+ background-image: url(../images/default/tree/drop-between.gif);
179
+ }
js/extjs/css/ytheme-aero.css ADDED
@@ -0,0 +1,701 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 2.0
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ /* menus */
10
+ .x-menu {
11
+ border: 1px solid #718bb7;
12
+ z-index: 15000;
13
+ zoom: 1;
14
+ background: #f0f0f0 url(../images/aero/menu/menu.gif) repeat-y;
15
+ padding: 2px;
16
+ }
17
+
18
+ .x-menu-list{
19
+ background:transparent;
20
+ border:0 none;
21
+ }
22
+
23
+ .x-menu-item-icon {
24
+ margin-right: 8px;
25
+ }
26
+
27
+ .x-menu-sep {
28
+ background-color:#e0e0e0;
29
+ border-bottom:1px solid #fff;
30
+ margin-left:3px;
31
+ }
32
+ .x-menu-item {
33
+ color:#222;
34
+ }
35
+ .x-menu-item-active {
36
+ color: #233d6d;
37
+ background: #ebf3fd url(../images/aero/menu/item-over.gif) repeat-x left bottom;
38
+ border:1px solid #aaccf6;
39
+ padding: 0;
40
+ }
41
+
42
+ .x-date-mmenu .x-menu-list{
43
+ padding: 0;
44
+ }
45
+
46
+ .x-date-mmenu .x-menu-list{
47
+ border: 0 none;
48
+ }
49
+
50
+ .x-menu .x-color-palette, .x-menu .x-date-picker{
51
+ margin-left: 26px;
52
+ }
53
+
54
+ .x-menu-plain .x-color-palette, .x-menu-plain .x-date-picker{
55
+ margin: 0;
56
+ border: 0 none;
57
+ }
58
+
59
+
60
+ .x-menu-check-item .x-menu-item-icon{
61
+ background-image: url(../images/aero/menu/unchecked.gif);
62
+ }
63
+
64
+ .x-menu-item-checked .x-menu-item-icon{
65
+ background-image:url(../images/aero/menu/checked.gif);
66
+ }
67
+
68
+ .x-menu-group-item .x-menu-item-icon{
69
+ background: transparent;
70
+ }
71
+
72
+ .x-menu-item-checked .x-menu-group-item .x-menu-item-icon{
73
+ background: transparent url(../images/default/menu/group-checked.gif) no-repeat center;
74
+ }
75
+ /**
76
+ * Tabs
77
+ */
78
+ .x-tabs-wrap, .x-layout-panel .x-tabs-top .x-tabs-wrap {
79
+ background: #deecfd;
80
+ border: 1px solid #8db2e3;
81
+ padding-bottom: 2px;
82
+ padding-top: 0;
83
+ }
84
+
85
+ .x-tabs-strip-wrap{
86
+ padding-top: 1px;
87
+ background: url(../images/aero/tabs/tab-strip-bg.gif) #cedff5 repeat-x bottom;
88
+ border-bottom: 1px solid #8db2e3;
89
+ }
90
+
91
+ .x-tabs-strip .x-tabs-text {
92
+ color: #15428b;
93
+ font: bold 11px tahoma,arial,verdana,sans-serif;
94
+ }
95
+
96
+ .x-tabs-strip .on .x-tabs-text {
97
+ cursor: default;
98
+ color: #15428b;
99
+ }
100
+
101
+ .x-tabs-top .x-tabs-strip .on .x-tabs-right {
102
+ background: url(../images/aero/tabs/tab-sprite.gif) no-repeat right 0;
103
+ }
104
+
105
+ .x-tabs-top .x-tabs-strip .on .x-tabs-left,.x-tabs-top .x-tabs-strip .on a:hover .x-tabs-left{
106
+ background: url(../images/aero/tabs/tab-sprite.gif) no-repeat 0 -100px;
107
+ }
108
+
109
+ .x-tabs-top .x-tabs-strip .x-tabs-right {
110
+ background: transparent url(../images/aero/tabs/tab-sprite.gif) no-repeat right -50px;
111
+ }
112
+
113
+ .x-tabs-top .x-tabs-strip .x-tabs-left {
114
+ background: transparent url(../images/aero/tabs/tab-sprite.gif) no-repeat 0 -150px;
115
+ }
116
+
117
+ .x-tabs-top .x-tabs-body {
118
+ border: 1px solid #8db2e3;
119
+ border-top: 0 none;
120
+ }
121
+
122
+ .x-tabs-bottom .x-tabs-wrap, .x-layout-panel .x-tabs-bottom .x-tabs-wrap {
123
+ background: #deecfd;
124
+ border: 1px solid #8db2e3;
125
+ padding-top: 2px;
126
+ padding-bottom: 0;
127
+ }
128
+
129
+ .x-tabs-bottom .x-tabs-strip-wrap{
130
+ padding-top: 0;
131
+ padding-bottom: 1px;
132
+ background: url(../images/aero/tabs/tab-strip-btm-bg.gif) #cedff5 repeat-x top;
133
+ border-top: 1px solid #8db2e3;
134
+ border-bottom: 0 none;
135
+ }
136
+
137
+ .x-tabs-bottom .x-tabs-strip .x-tabs-right {
138
+ background: transparent url(../images/aero/tabs/tab-btm-inactive-right-bg.gif) no-repeat bottom right;
139
+ }
140
+
141
+ .x-tabs-bottom .x-tabs-strip .x-tabs-left {
142
+ background: transparent url(../images/aero/tabs/tab-btm-inactive-left-bg.gif) no-repeat bottom left;
143
+ }
144
+
145
+ .x-tabs-bottom .x-tabs-strip .on .x-tabs-right,.x-tabs-bottom .x-tabs-strip .on a:hover {
146
+ background: url(../images/aero/tabs/tab-btm-right-bg.gif) no-repeat bottom left;
147
+ }
148
+
149
+ .x-tabs-bottom .x-tabs-strip .on .x-tabs-left,.x-tabs-bottom .x-tabs-strip .on a:hover .x-tabs-left {
150
+ background: url(../images/aero/tabs/tab-btm-left-bg.gif) no-repeat bottom right;
151
+ }
152
+
153
+ .x-tabs-bottom .x-tabs-body {
154
+ border: 1px solid #8db2e3;
155
+ border-bottom: 0 none;
156
+ }
157
+
158
+ /*
159
+ * Basic-Dialog
160
+ */
161
+ .x-dlg-proxy {
162
+ background: #c7dffc;
163
+ border: 1px solid #a5ccf9;
164
+ }
165
+
166
+ .x-dlg-shadow{
167
+ background: #cccccc;
168
+ opacity: .3;
169
+ -moz-opacity: .3;
170
+ filter: alpha(opacity=30);
171
+ }
172
+
173
+ .x-dlg {
174
+ background: transparent;
175
+ }
176
+
177
+ .x-dlg .x-dlg-hd {
178
+ background: url(../images/aero/basic-dialog/hd-sprite.gif) repeat-x 0 -82px;
179
+ background-color: #aabaca;
180
+ color: #15428b;
181
+ zoom: 1;
182
+ padding-top: 7px;
183
+ }
184
+
185
+ .x-dlg .x-dlg-hd-left {
186
+ opacity: .85;
187
+ -moz-opacity: .85;
188
+ filter: alpha(opacity=80);
189
+ background: url(../images/aero/basic-dialog/hd-sprite.gif) no-repeat 0 -41px;
190
+ zoom: 1;
191
+ }
192
+
193
+ .x-dlg-modal .x-dlg-hd-left {
194
+ opacity: .75;
195
+ -moz-opacity: .75;
196
+ filter: alpha(opacity=70);
197
+ }
198
+
199
+ .x-dlg .x-dlg-hd-right {
200
+ background: url(../images/aero/basic-dialog/hd-sprite.gif) no-repeat right 0;
201
+ zoom: 1;
202
+ }
203
+
204
+ .x-dlg .x-dlg-dlg-body{
205
+ padding: 0 0 0;
206
+ position: absolute;
207
+ top: 24px;
208
+ left: 0;
209
+ z-index: 1;
210
+ border: 0 none;
211
+ background: transparent;
212
+ }
213
+
214
+ .x-dlg .x-dlg-bd{
215
+ background: #ffffff;
216
+ border: 1px solid #96b9e6;
217
+ }
218
+
219
+ .x-dlg .x-dlg-ft{
220
+ border: 0 none;
221
+ background: transparent;
222
+ padding-bottom: 8px;
223
+ }
224
+
225
+ .x-dlg .x-dlg-bg{
226
+ filter: alpha(opacity=80);
227
+ opacity: .85;
228
+ -moz-opacity: .85;
229
+ zoom: 1;
230
+ }
231
+
232
+ .x-dlg-modal .x-dlg-bg {
233
+ opacity: .75;
234
+ -moz-opacity: .75;
235
+ filter: alpha(opacity=70);
236
+ }
237
+
238
+ .x-dlg .x-dlg-bg-center {
239
+ padding: 2px 7px 7px 7px;
240
+ background: transparent url(../images/aero/basic-dialog/bg-center.gif) repeat-x bottom;
241
+ zoom: 1;
242
+ }
243
+
244
+ .x-dlg .x-dlg-bg-left{
245
+ padding-left: 7px;
246
+ background: transparent url(../images/aero/basic-dialog/bg-left.gif) no-repeat bottom left;
247
+ zoom: 1;
248
+ }
249
+
250
+ .x-dlg .x-dlg-bg-right{
251
+ padding-right: 7px;
252
+ background: transparent url(../images/aero/basic-dialog/bg-right.gif) no-repeat bottom right;
253
+ zoom: 1;
254
+ }
255
+
256
+ .x-dlg-auto-tabs .x-dlg-dlg-body, .x-dlg-auto-layout .x-dlg-dlg-body{
257
+ background: transparent;
258
+ border: 0 none;
259
+ }
260
+
261
+ .x-dlg-auto-tabs .x-dlg-bd, .x-dlg-auto-layout .x-dlg-bd{
262
+ background: #ffffff;
263
+ border: 1px solid #e9f3f5;
264
+ }
265
+
266
+ .x-dlg-auto-tabs .x-tabs-top .x-tabs-body,.x-dlg-auto-tabs .x-tabs-bottom .x-tabs-body{
267
+ border-color: #8db2e3;
268
+ }
269
+
270
+ .x-dlg-auto-tabs .x-tabs-top .x-tabs-wrap,.x-dlg-auto-tabs .x-tabs-bottom .x-tabs-wrap{
271
+ border-color: #8db2e3;
272
+ }
273
+
274
+ .x-dlg .x-dlg-toolbox {
275
+ width: 50px;
276
+ height: 20px;
277
+ right: 5px;
278
+ top: 5px;
279
+ }
280
+
281
+ .x-dlg .x-dlg-close, .x-dlg .x-dlg-collapse {
282
+ width: 21px;
283
+ height: 20px;
284
+ margin: 0;
285
+ }
286
+
287
+ .x-dlg .x-dlg-close {
288
+ background-image: url(../images/aero/basic-dialog/aero-close.gif);
289
+ }
290
+
291
+ .x-dlg .x-dlg-collapse {
292
+ background-image: url(../images/aero/basic-dialog/collapse.gif);
293
+ }
294
+
295
+ .x-dlg-collapsed {
296
+ border-bottom: 1px solid #96b9e6;
297
+ }
298
+
299
+ .x-dlg .x-dlg-close-over {
300
+ background-image: url(../images/aero/basic-dialog/aero-close-over.gif);
301
+ }
302
+
303
+ .x-dlg .x-dlg-collapse-over {
304
+ background-image: url(../images/aero/basic-dialog/collapse-over.gif);
305
+ }
306
+
307
+ .x-dlg-collapsed .x-dlg-collapse {
308
+ background-image: url(../images/aero/basic-dialog/expand.gif);
309
+ }
310
+
311
+ .x-dlg-collapsed .x-dlg-collapse-over {
312
+ background-image: url(../images/aero/basic-dialog/expand-over.gif);
313
+ }
314
+
315
+ .x-dlg div.x-resizable-handle-east{
316
+ background-image: url(../images/aero/s.gif);
317
+ border: 0 none;
318
+ }
319
+
320
+ .x-dlg div.x-resizable-handle-south{
321
+ background-image: url(../images/aero/s.gif);
322
+ border: 0 none;
323
+ }
324
+
325
+ .x-dlg div.x-resizable-handle-west{
326
+ background-image: url(../images/aero/s.gif);
327
+ border: 0 none;
328
+ }
329
+
330
+ .x-dlg div.x-resizable-handle-southeast{
331
+ background-image: url(../images/aero/basic-dialog/se-handle.gif);
332
+ background-position: bottom right;
333
+ width: 9px;
334
+ height: 9px;
335
+ border: 0;
336
+ right: 2px;
337
+ bottom: 2px;
338
+ }
339
+
340
+ .x-dlg div.x-resizable-handle-southwest{
341
+ background-image: url(../images/aero/s.gif);
342
+ background-position: top right;
343
+ margin-left: 1px;
344
+ margin-bottom: 1px;
345
+ border: 0;
346
+ }
347
+
348
+ .x-dlg div.x-resizable-handle-north{
349
+ background-image: url(../images/aero/s.gif);
350
+ border: 0 none;
351
+ }
352
+
353
+ #x-msg-box .x-dlg-bd{
354
+ background: #cfe0f5;
355
+ border: 0 none;
356
+ }
357
+
358
+ body.x-masked #x-msg-box .x-dlg-bd, body.x-body-masked #x-msg-box .x-dlg-bd{
359
+ background: #c4d2e3;
360
+ border: 0 none;
361
+ }
362
+
363
+ /* BorderLayout */
364
+ .x-layout-container{
365
+ background: #deecfd;
366
+ }
367
+
368
+ .x-layout-collapsed{
369
+ background-color: #deecfd;
370
+ border: 1px solid #99bbe8;
371
+ }
372
+
373
+ .x-layout-collapsed-over{
374
+ background-color: #f5f9fe;
375
+ }
376
+
377
+ .x-layout-panel{
378
+ border: 1px solid #99bbe8;
379
+ }
380
+
381
+ .x-layout-nested-layout .x-layout-panel {
382
+ border: 0 none;
383
+ }
384
+
385
+ .x-layout-split{
386
+ background-color: #deecfd;
387
+ }
388
+
389
+ .x-layout-panel-hd{
390
+ background: url(../images/aero/grid/grid-hrow.gif) #ebeadb repeat-x;
391
+ border-bottom: 1px solid #99bbe8;
392
+ }
393
+
394
+ .x-layout-panel-hd-text {
395
+ color: #15428b;
396
+ font: bold 11px tahoma,arial,verdana,sans-serif;
397
+ }
398
+
399
+ .x-layout-split-h{
400
+ background: #deecfd;
401
+ }
402
+
403
+ .x-layout-split-v{
404
+ background: #deecfd;
405
+ }
406
+
407
+ .x-layout-panel .x-tabs-top .x-tabs-wrap{
408
+ border: 0 none;
409
+ border-bottom: 1px solid #8db2e3;
410
+ }
411
+
412
+ .x-layout-panel .x-tabs-bottom .x-tabs-wrap{
413
+ border: 0 none;
414
+ border-top: 1px solid #8db2e3;
415
+ }
416
+
417
+ .x-layout-nested-layout .x-layout-panel-north {
418
+ border-bottom: 1px solid #99bbe8;
419
+ }
420
+
421
+ .x-layout-nested-layout .x-layout-panel-south {
422
+ border-top: 1px solid #99bbe8;
423
+ }
424
+
425
+ .x-layout-nested-layout .x-layout-panel-east {
426
+ border-left: 1px solid #99bbe8;
427
+ }
428
+
429
+ .x-layout-nested-layout .x-layout-panel-west {
430
+ border-right: 1px solid #99bbe8;
431
+ }
432
+
433
+ .x-layout-panel-dragover {
434
+ border: 2px solid #99bbe8;
435
+ }
436
+
437
+ .x-layout-panel-proxy {
438
+ background-image: url(../images/aero/layout/gradient-bg.gif);
439
+ background-color: #f3f2e7;
440
+ border: 1px dashed #99bbe8;
441
+ }
442
+
443
+ .x-layout-container .x-layout-tabs-body{
444
+ border: 0 none;
445
+ }
446
+
447
+ /** Resizable */
448
+ .x-resizable-proxy{
449
+ border: 1px dashed #3b5a82;
450
+ }
451
+
452
+ /* grid */
453
+ .x-grid-hd-text {
454
+ color: #15428b;
455
+ font-weight: bold;
456
+ }
457
+
458
+ .x-grid-locked .x-grid-body td {
459
+ background: #fbfdff;
460
+ border-right: 1px solid #deecfd;
461
+ border-bottom: 1px solid #deecfd !important;
462
+ }
463
+
464
+ .x-grid-locked .x-grid-body td .x-grid-cell-inner {
465
+ border-top: 0 none;
466
+ }
467
+
468
+ .x-grid-locked .x-grid-row-alt td{
469
+ background: #f5fafe;
470
+ }
471
+
472
+ .x-grid-locked .x-grid-row-selected td{
473
+ color: #ffffff !important;
474
+ background-color: #316ac5 !important;
475
+ }
476
+
477
+ .x-grid-hd{
478
+ border-bottom: 0;
479
+ background: none;
480
+ }
481
+
482
+ .x-grid-hd-row{
483
+ height: auto;
484
+ }
485
+
486
+ .x-grid-hd-over {
487
+ border-bottom: 0 none;
488
+ }
489
+
490
+ .x-grid-hd-over .x-grid-hd-body{
491
+ background: none;
492
+ border-bottom: 0 none;
493
+ }
494
+
495
+ .x-grid-hd-over .x-grid-hd-body{
496
+ background-color: transparent;
497
+ border-bottom: 0;
498
+ }
499
+
500
+ .x-grid-split {
501
+ background-image: url(../images/aero/grid/grid-blue-split.gif);
502
+ }
503
+
504
+ .x-grid-header{
505
+ background: url(../images/aero/grid/grid-hrow.gif);
506
+ border: 0 none;
507
+ border-bottom: 1px solid #6f99cf;
508
+ }
509
+
510
+ .x-grid-row-alt{
511
+ background-color: #f5f5f5;
512
+ }
513
+
514
+ .x-grid-row-over td, .x-grid-locked .x-grid-row-over td{
515
+ background-color: #d9e8fb;
516
+ }
517
+
518
+ .x-grid-col {
519
+ border-right: 1px solid #eeeeee;
520
+ border-bottom: 1px solid #eeeeee;
521
+ }
522
+
523
+ .x-grid-header .x-grid-hd-inner {
524
+ padding-bottom: 1px;
525
+ }
526
+
527
+ .x-grid-header .x-grid-hd-text {
528
+ padding-bottom: 3px;
529
+ }
530
+
531
+ .x-grid-hd-over .x-grid-hd-inner {
532
+ border-bottom: 1px solid #316ac5;
533
+ padding-bottom: 0;
534
+ }
535
+
536
+ .x-grid-hd-over .x-grid-hd-text {
537
+ background: #d5e4f5;
538
+ border-bottom: 1px solid #ffffff;
539
+ padding-bottom: 2px;
540
+ }
541
+
542
+ .x-grid-header .sort-asc .x-grid-hd-inner, .x-grid-header .sort-desc .x-grid-hd-inner {
543
+ border-bottom: 1px solid #316ac5;
544
+ padding-bottom: 0;
545
+ }
546
+
547
+ .x-grid-header .sort-asc .x-grid-hd-text, .x-grid-header .sort-desc .x-grid-hd-text {
548
+ border-bottom: 0 none;
549
+ padding-bottom: 3px;
550
+ }
551
+
552
+ .x-grid-header .sort-asc .x-grid-sort-icon {
553
+ background-image: url(../images/aero/grid/sort_asc.gif);
554
+ }
555
+
556
+ .x-grid-header .sort-desc .x-grid-sort-icon {
557
+ background-image: url(../images/aero/grid/sort_desc.gif);
558
+ }
559
+
560
+ .x-dd-drag-proxy .x-grid-hd-inner{
561
+ background: url(../images/aero/grid/grid-hrow.gif) #ebeadb repeat-x;
562
+ height: 22px;
563
+ width: 120px;
564
+ }
565
+
566
+ .x-grid-locked td.x-grid-row-marker, .x-grid-locked .x-grid-row-selected td.x-grid-row-marker{
567
+ background: url(../images/aero/grid/grid-hrow.gif) #ebeadb repeat-x 0 0 !important;
568
+ vertical-align: middle !important;
569
+ color: #000000;
570
+ padding: 0;
571
+ border-top: 1px solid #ffffff;
572
+ border-bottom: 1px solid #6f99cf !important;
573
+ border-right: 1px solid #6f99cf !important;
574
+ text-align: center;
575
+ }
576
+
577
+ .x-grid-locked td.x-grid-row-marker div, .x-grid-locked .x-grid-row-selected td.x-grid-row-marker div{
578
+ padding: 0 4px;
579
+ color: #15428b !important;
580
+ text-align: center;
581
+ }
582
+
583
+ /** Toolbar */
584
+ .x-toolbar{
585
+ padding: 2px 2px 2px 2px;
586
+ background: url(../images/default/toolbar/tb-bg.gif) #d0def0 repeat-x;
587
+ }
588
+
589
+ .x-toolbar .ytb-sep{
590
+ background-image: url(../images/aero/grid/grid-blue-split.gif);
591
+ }
592
+
593
+ .x-toolbar .x-btn-over .x-btn-left{
594
+ background: url(../images/aero/toolbar/tb-btn-sprite.gif) no-repeat 0 0;
595
+ }
596
+
597
+ .x-toolbar .x-btn-over .x-btn-right{
598
+ background: url(../images/aero/toolbar/tb-btn-sprite.gif) no-repeat 0 -21px;
599
+ }
600
+
601
+ .x-toolbar .x-btn-over .x-btn-center{
602
+ background: url(../images/aero/toolbar/tb-btn-sprite.gif) repeat-x 0 -42px;
603
+ }
604
+
605
+ .x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
606
+ background: url(../images/aero/toolbar/tb-btn-sprite.gif) no-repeat 0 -63px;
607
+ }
608
+
609
+ .x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
610
+ background: url(../images/aero/toolbar/tb-btn-sprite.gif) no-repeat 0 -84px;
611
+ }
612
+
613
+ .x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
614
+ background: url(../images/aero/toolbar/tb-btn-sprite.gif) repeat-x 0 -105px;
615
+ }
616
+
617
+ /*************** TABS 2 *****************/
618
+ /**
619
+ * Tabs
620
+ */
621
+ .x-tab-panel-header, .x-tab-panel-footer {
622
+ background: #deecfd;
623
+ border: 1px solid #8db2e3;
624
+ }
625
+
626
+ .x-tab-panel-header {
627
+ background: #deecfd;
628
+ border: 1px solid #8db2e3;
629
+ padding-bottom: 2px;
630
+ }
631
+
632
+ .x-tab-panel-footer {
633
+ background: #deecfd;
634
+ border: 1px solid #8db2e3;
635
+ padding-top: 2px;
636
+ }
637
+
638
+ .x-tab-strip-top{
639
+ padding-top: 1px;
640
+ background: url(../images/aero/tabs/tab-strip-bg.gif) #cedff5 repeat-x bottom;
641
+ border-bottom: 1px solid #8db2e3;
642
+ }
643
+
644
+ .x-tab-strip-bottom{
645
+ padding-bottom: 1px;
646
+ background: url(../images/aero/tabs/tab-strip-btm-bg.gif) #cedff5 repeat-x top;
647
+ border-top: 1px solid #8db2e3;
648
+ border-bottom: 0 none;
649
+ }
650
+
651
+ .x-tab-strip .x-tab-strip-text {
652
+ color: #15428b;
653
+ font: bold 11px tahoma,arial,verdana,sans-serif;
654
+ }
655
+
656
+ .x-tab-strip .x-tab-strip-active .x-tab-text {
657
+ cursor: default;
658
+ color: #15428b;
659
+ }
660
+
661
+ .x-tab-strip-top .x-tab-strip-active .x-tab-right {
662
+ background: url(../images/aero/tabs/tab-sprite.gif) no-repeat right 0;
663
+ }
664
+
665
+ .x-tab-strip-top .x-tab-strip-active .x-tab-left {
666
+ background: url(../images/aero/tabs/tab-sprite.gif) no-repeat 0 -100px;
667
+ }
668
+
669
+ .x-tab-strip-top .x-tab-right {
670
+ background: url(../images/aero/tabs/tab-sprite.gif) no-repeat right -50px;
671
+ }
672
+
673
+ .x-tab-strip-top .x-tab-left {
674
+ background: url(../images/aero/tabs/tab-sprite.gif) no-repeat 0 -150px;
675
+ }
676
+
677
+ .x-tab-strip-bottom .x-tab-right {
678
+ background: url(../images/aero/tabs/tab-btm-inactive-right-bg.gif) no-repeat bottom right;
679
+ }
680
+
681
+ .x-tab-strip-bottom .x-tab-left {
682
+ background: url(../images/aero/tabs/tab-btm-inactive-left-bg.gif) no-repeat bottom left;
683
+ }
684
+
685
+ .x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
686
+ background: url(../images/aero/tabs/tab-btm-right-bg.gif) no-repeat bottom left;
687
+ }
688
+
689
+ .x-tab-strip-bottom .x-tab-strip-active .x-tab-left {
690
+ background: url(../images/aero/tabs/tab-btm-left-bg.gif) no-repeat bottom right;
691
+ }
692
+
693
+ .x-tab-panel-body-top {
694
+ border: 1px solid #8db2e3;
695
+ border-top: 0 none;
696
+ }
697
+
698
+ .x-tab-panel-body-bottom {
699
+ border: 1px solid #8db2e3;
700
+ border-bottom: 0 none;
701
+ }
js/extjs/css/ytheme-gray.css ADDED
@@ -0,0 +1,438 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 2.0
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+
10
+ .ext-el-mask-msg {
11
+ border:1px solid #aaa;
12
+ background: #ddd url(../images/default/box/tb.gif) repeat-x 0 -16px;
13
+ }
14
+ .ext-el-mask-msg div {
15
+ border:1px solid #ccc;
16
+ }
17
+
18
+ /*
19
+ Menu
20
+ */
21
+ .x-menu {
22
+ border-color: #999 #999 #999 #999;
23
+ background-image:url(../images/gray/menu/menu.gif);
24
+ }
25
+ .x-menu-item-arrow{
26
+ background-image:url(../images/gray/menu/menu-parent.gif);
27
+ }
28
+ .x-menu-item {
29
+ color:#222;
30
+ }
31
+ .x-menu-item-active {
32
+ background:#ddd;
33
+ border:1px solid #aaa;
34
+ }
35
+ .x-menu-sep {
36
+ background:#aaa;
37
+ }
38
+
39
+ /* grid */
40
+ .x-grid-header{
41
+ background: #ebeadb url(../images/gray/grid/grid-hrow.gif) repeat-x;
42
+ overflow:hidden;
43
+ position:relative;
44
+ cursor:default;
45
+ width:100%;
46
+ }
47
+ .x-grid-hd-row{
48
+ height:22px;
49
+ }
50
+ .x-grid-hd {
51
+ padding-right:1px;
52
+ }
53
+ .x-grid-hd-over .x-grid-hd-inner {
54
+ border-bottom: 1px solid #fcc247;
55
+ }
56
+ .x-grid-hd-over .x-grid-hd-text {
57
+ background: #faf9f4;
58
+ padding-bottom:1px;
59
+ border-bottom: 1px solid #f9a900;
60
+ }
61
+
62
+ .x-grid-hd-text {
63
+ color:#000000;
64
+ }
65
+
66
+ .x-grid-col {
67
+ border-right: 1px solid #f1efe2;
68
+ border-bottom: 1px solid #f1efe2;
69
+ }
70
+ .x-grid-row-alt{
71
+ background:#fcfaf6;
72
+ }
73
+ .x-grid-row-over td{
74
+ background:#f1f1f1;
75
+ }
76
+
77
+
78
+ .x-grid-locked .x-grid-body td {
79
+ background: #f0efe4;
80
+ border-right: 1px solid #D6D2C2;
81
+ border-bottom: 1px solid #D6D2C2 !important;
82
+ }
83
+
84
+ .x-grid-locked .x-grid-header table{
85
+ border-right:1px solid transparent;
86
+ }
87
+ .x-grid-locked .x-grid-body table{
88
+ border-right:1px solid #c6c2b2;
89
+ }
90
+
91
+ .x-grid-bottombar .x-toolbar{
92
+ border-right:0 none;
93
+ border-bottom:0 none;
94
+ border-top:1px solid #f1efe2;
95
+ }
96
+
97
+ .x-props-grid .x-grid-col-name{
98
+ background-color: #f1efe2;
99
+ }
100
+
101
+
102
+
103
+ .x-grid-locked td.x-grid-row-marker, .x-grid-locked .x-grid-row-selected td.x-grid-row-marker{
104
+ background: #ebeadb url(../images/gray/grid/grid-hrow.gif) repeat-x 0 bottom !important;
105
+ vertical-align:middle !important;
106
+ color:black;
107
+ padding:0;
108
+ border-top:1px solid white;
109
+ border-bottom:none !important;
110
+ border-right:1px solid #d6d2c2 !important;
111
+ text-align:center;
112
+ }
113
+ .x-grid-locked td.x-grid-row-marker div, .x-grid-locked .x-grid-row-selected td.x-grid-row-marker div{
114
+ padding:0 4px;
115
+ color:black !important;
116
+ text-align:center;
117
+ }
118
+
119
+ /**
120
+ * Basic-Dialog
121
+ */
122
+ .x-dlg-proxy {
123
+ background-image: url(../images/gray/layout/gradient-bg.gif);
124
+ background-color:#EAE8D5;
125
+ border:1px solid #b3b6b0;
126
+ }
127
+ .x-dlg-shadow{
128
+ background:#aaaaaa;
129
+ }
130
+ .x-dlg-proxy .tabset{
131
+ background:url(../images/gray/layout/gradient-bg.gif);
132
+ }
133
+ .x-dlg .x-dlg-hd {
134
+ background: url(../images/gray/basic-dialog/hd-sprite.gif) repeat-x 0 -82px;
135
+ background-color:#333333;
136
+ }
137
+ .x-dlg .x-dlg-hd-left {
138
+ background: url(../images/gray/basic-dialog/hd-sprite.gif) no-repeat 0 -41px;
139
+ }
140
+ .x-dlg .x-dlg-hd-right {
141
+ background: url(../images/gray/basic-dialog/hd-sprite.gif) no-repeat right 0;
142
+ }
143
+ .x-dlg .x-dlg-dlg-body{
144
+ background:#efefec;
145
+ border:1px solid #b3b6b0;
146
+ border-top:0 none;
147
+ }
148
+ .x-dlg .x-tabs-top .x-tabs-body{
149
+ border:1px solid #b3b6b0;
150
+ border-top:0 none;
151
+ }
152
+ .x-dlg .x-tabs-bottom .x-tabs-body{
153
+ border:1px solid #b3b6b0;
154
+ border-bottom:0 none;
155
+ }
156
+ .x-dlg .x-layout-container .x-tabs-body{
157
+ border:0 none;
158
+ }
159
+ .x-dlg .x-dlg-close {
160
+ background-image:url(../images/gray/basic-dialog/close.gif);
161
+ }
162
+ .x-dlg .x-dlg-collapse {
163
+ background-image:url(../images/gray/basic-dialog/collapse.gif);
164
+ }
165
+ .x-dlg-collapsed .x-dlg-collapse {
166
+ background-image:url(../images/gray/basic-dialog/expand.gif);
167
+ }
168
+ .x-dlg div.x-resizable-handle-east{
169
+ background-image:url(../images/gray/basic-dialog/e-handle.gif);
170
+ border:0 none;
171
+ }
172
+ .x-dlg div.x-resizable-handle-south{
173
+ background-image:url(../images/gray/basic-dialog/s-handle.gif);
174
+ border:0 none;
175
+ }
176
+ .x-dlg div.x-resizable-handle-west{
177
+ background-image:url(../images/gray/basic-dialog/e-handle.gif);
178
+ border:0 none;
179
+ }
180
+ .x-dlg div.x-resizable-handle-southeast{
181
+ background-image:url(../images/gray/basic-dialog/se-handle.gif);
182
+ background-position: bottom right;
183
+ width:8px;
184
+ height:8px;
185
+ border:0;
186
+ }
187
+ .x-dlg div.x-resizable-handle-southwest{
188
+ background-image:url(../images/gray/sizer/sw-handle-dark.gif);
189
+ background-position: top right;
190
+ margin-left:1px;
191
+ margin-bottom:1px;
192
+ border:0;
193
+ }
194
+ .x-dlg div.x-resizable-handle-north{
195
+ background-image:url(../images/gray/s.gif);
196
+ border:0 none;
197
+ }
198
+
199
+ /**
200
+ * Tabs
201
+ */
202
+ .x-tabs-wrap {
203
+ border-bottom:1px solid #aca899;
204
+ }
205
+ .x-tabs-strip .on .x-tabs-text {
206
+ cursor:default;
207
+ color:#333333;
208
+ }
209
+ .x-tabs-top .x-tabs-strip .on .x-tabs-right {
210
+ background: url(../images/gray/tabs/tab-sprite.gif) no-repeat right 0;
211
+ }
212
+ .x-tabs-top .x-tabs-strip .on .x-tabs-left {
213
+ background: url(../images/gray/tabs/tab-sprite.gif) no-repeat 0px -100px;
214
+ }
215
+ .x-tabs-top .x-tabs-strip .x-tabs-right {
216
+ background: url(../images/gray/tabs/tab-sprite.gif) no-repeat right -50px;
217
+ }
218
+ .x-tabs-top .x-tabs-strip .x-tabs-left {
219
+ background: url(../images/gray/tabs/tab-sprite.gif) no-repeat 0px -150px;
220
+ }
221
+ .x-tabs-strip .x-tabs-closable .close-icon{
222
+ background-image:url(../images/gray/layout/tab-close.gif);
223
+ }
224
+ .x-tabs-strip .on .close-icon{
225
+ background-image:url(../images/gray/layout/tab-close-on.gif);
226
+ }
227
+ .x-tabs-strip .x-tabs-closable .close-over{
228
+ background-image:url(../images/gray/layout/tab-close-on.gif);
229
+ }
230
+ .x-tabs-body {
231
+ border:1px solid #aca899;
232
+ border-top:0 none;
233
+ }
234
+ .x-tabs-bottom .x-tabs-wrap {
235
+ border-bottom:0 none;
236
+ padding-top:0;
237
+ border-top:1px solid #aca899;
238
+ }
239
+ .x-tabs-bottom .x-tabs-strip .x-tabs-right {
240
+ background: url(../images/gray/tabs/tab-btm-inactive-right-bg.gif) no-repeat bottom left;
241
+ }
242
+ .x-tabs-bottom .x-tabs-strip .x-tabs-left {
243
+ background: url(../images/gray/tabs/tab-btm-inactive-left-bg.gif) no-repeat bottom right;
244
+ }
245
+ .x-tabs-bottom .x-tabs-strip .on .x-tabs-right {
246
+ background: url(../images/gray/tabs/tab-btm-right-bg.gif) no-repeat bottom left;
247
+ }
248
+ .x-tabs-bottom .x-tabs-strip .on .x-tabs-left {
249
+ background: url(../images/gray/tabs/tab-btm-left-bg.gif) no-repeat bottom right;
250
+ }
251
+
252
+ .x-tabs-bottom .x-tabs-body {
253
+ border:1px solid #aca899;
254
+ border-bottom:0 none;
255
+ }
256
+
257
+ .x-layout-container .x-layout-tabs-body{
258
+ border:0 none;
259
+ }
260
+ /* QuickTips */
261
+
262
+ .x-tip .x-tip-top {
263
+ background-image: url(../images/gray/qtip/tip-sprite.gif);
264
+ }
265
+ .x-tip .x-tip-top-left {
266
+ background-image: url(../images/gray/qtip/tip-sprite.gif);
267
+ }
268
+ .x-tip .x-tip-top-right {
269
+ background-image: url(../images/gray/qtip/tip-sprite.gif);
270
+ }
271
+ .x-tip .x-tip-ft {
272
+ background-image: url(../images/gray/qtip/tip-sprite.gif);
273
+ }
274
+ .x-tip .x-tip-ft-left {
275
+ background-image: url(../images/gray/qtip/tip-sprite.gif);
276
+ }
277
+ .x-tip .x-tip-ft-right {
278
+ background-image: url(../images/gray/qtip/tip-sprite.gif);
279
+ }
280
+ .x-tip .x-tip-bd-left {
281
+ background-image: url(../images/gray/qtip/tip-sprite.gif);
282
+ }
283
+ .x-tip .x-tip-bd-right {
284
+ background-image: url(../images/gray/qtip/tip-sprite.gif);
285
+ }
286
+
287
+ /* BorderLayout */
288
+
289
+ .x-layout-container{
290
+ background-color:#f3f2e7;
291
+ }
292
+ .x-layout-collapsed{
293
+ background-color:#f3f2e7;
294
+ border:1px solid #aca899;
295
+ }
296
+ .x-layout-collapsed-over{
297
+ background-color:#fbfbef;
298
+ }
299
+ .x-layout-panel{
300
+ border:1px solid #aca899;
301
+ }
302
+ .x-layout-nested-layout .x-layout-panel {
303
+ border:0 none;
304
+ }
305
+ .x-layout-split{
306
+ background-color:#f3f2e7;
307
+ }
308
+ .x-layout-panel-hd{
309
+ background-image: url(../images/gray/layout/panel-title-light-bg.gif);
310
+ border-bottom:1px solid #aca899;
311
+ }
312
+ .x-layout-tools-button-over{
313
+ border:1px solid #aca899;
314
+ }
315
+ .x-layout-close{
316
+ background-image:url(../images/gray/layout/panel-close.gif);
317
+ }
318
+ .x-layout-stick{
319
+ background-image:url(../images/gray/layout/stick.gif);
320
+ }
321
+ .x-layout-collapse-west,.x-layout-expand-east{
322
+ background-image:url(../images/gray/layout/collapse.gif);
323
+ }
324
+ .x-layout-expand-west,.x-layout-collapse-east{
325
+ background-image:url(../images/gray/layout/expand.gif);
326
+ }
327
+ .x-layout-collapse-north,.x-layout-expand-south{
328
+ background-image:url(../images/gray/layout/ns-collapse.gif);
329
+ }
330
+ .x-layout-expand-north,.x-layout-collapse-south{
331
+ background-image:url(../images/gray/layout/ns-expand.gif);
332
+ }
333
+ .x-layout-split-h{
334
+ background-image:url(../images/gray/sizer/e-handle-dark.gif);
335
+ }
336
+ .x-layout-split-v{
337
+ background-image:url(../images/gray/sizer/s-handle-dark.gif);
338
+ }
339
+ .x-layout-panel .x-tabs-wrap{
340
+ background:url(../images/gray/layout/gradient-bg.gif);
341
+ }
342
+ .x-layout-nested-layout .x-layout-panel-north {
343
+ border-bottom:1px solid #aca899;
344
+ }
345
+ .x-layout-nested-layout .x-layout-panel-south {
346
+ border-top:1px solid #aca899;
347
+ }
348
+ .x-layout-nested-layout .x-layout-panel-east {
349
+ border-left:1px solid #aca899;
350
+ }
351
+ .x-layout-nested-layout .x-layout-panel-west {
352
+ border-right:1px solid #aca899;
353
+ }
354
+ .x-layout-panel-dragover {
355
+ border: 2px solid #aca899;
356
+ }
357
+ .x-layout-panel-proxy {
358
+ background-image: url(../images/gray/layout/gradient-bg.gif);
359
+ background-color:#f3f2e7;
360
+ border:1px dashed #aca899;
361
+ }
362
+ /** Resizable */
363
+
364
+ .x-resizable-over .x-resizable-handle-east, .x-resizable-pinned .x-resizable-handle-east{
365
+ background:url(../images/gray/sizer/e-handle.gif);
366
+ background-position: left;
367
+ }
368
+ .x-resizable-over .x-resizable-handle-east, .x-resizable-pinned .x-resizable-handle-west{
369
+ background:url(../images/gray/sizer/e-handle.gif);
370
+ background-position: left;
371
+ }
372
+ .x-resizable-over .x-resizable-handle-south, .x-resizable-pinned .x-resizable-handle-south{
373
+ background:url(../images/gray/sizer/s-handle.gif);
374
+ background-position: top;
375
+ }
376
+ .x-resizable-over .x-resizable-handle-south, .x-resizable-pinned .x-resizable-handle-north{
377
+ background:url(../images/gray/sizer/s-handle.gif);
378
+ background-position: top;
379
+ }
380
+ .x-resizable-over .x-resizable-handle-southeast, .x-resizable-pinned .x-resizable-handle-southeast{
381
+ background:url(../images/gray/sizer/se-handle.gif);
382
+ background-position: top left;
383
+ }
384
+ .x-resizable-over .x-resizable-handle-northwest,.x-resizable-pinned .x-resizable-handle-northwest{
385
+ background:url(../images/gray/sizer/nw-handle.gif);
386
+ background-position:bottom right;
387
+ }
388
+ .x-resizable-over .x-resizable-handle-northeast,.x-resizable-pinned .x-resizable-handle-northeast{
389
+ background:url(../images/gray/sizer/ne-handle.gif);
390
+ background-position: bottom left;
391
+ }
392
+ .x-resizable-over .x-resizable-handle-southwest,.x-resizable-pinned .x-resizable-handle-southwest{
393
+ background:url(../images/gray/sizer/sw-handle.gif);
394
+ background-position: top right;
395
+ }
396
+ .x-resizable-proxy{
397
+ border: 1px dashed #615e55;
398
+ }
399
+
400
+ /** Toolbar */
401
+ .x-toolbar{
402
+ border:0 none;
403
+ background: #efefe3 url(../images/gray/toolbar/gray-bg.gif) repeat-x;
404
+ padding:3px;
405
+ }
406
+ .x-toolbar .x-btn-over .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
407
+ background:url(../images/gray/toolbar/tb-btn-sprite.gif) no-repeat 0 0;
408
+ }
409
+ .x-toolbar .x-btn-over .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
410
+ background:url(../images/gray/toolbar/tb-btn-sprite.gif) no-repeat 0 -21px;
411
+ }
412
+ .x-toolbar .x-btn-over .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
413
+ background:url(../images/gray/toolbar/tb-btn-sprite.gif) repeat-x 0 -42px;
414
+ }
415
+ .x-toolbar .x-btn-over .x-btn-menu-arrow-wrap .x-btn-center button {
416
+ background-position: 0 -47px;
417
+ }
418
+ .x-paging-info {
419
+ color:#222222;
420
+ }
421
+
422
+ /* combo box */
423
+ .x-combo-list {
424
+ border:1px solid #999;
425
+ background:#dddddd;
426
+ }
427
+ .x-combo-list-hd {
428
+ color:#222;
429
+ background-image: url(../images/gray/layout/panel-title-light-bg.gif);
430
+ border-bottom:1px solid #aca899;
431
+ }
432
+ .x-resizable-pinned .x-combo-list-inner {
433
+ border-bottom:1px solid #aaa;
434
+ }
435
+ .x-combo-list .x-combo-selected{
436
+ background:#ddd !important;
437
+ border:1px solid #aaa;
438
+ }
js/extjs/css/ytheme-vista.css ADDED
@@ -0,0 +1,511 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 2.0
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .ext-el-mask-msg {
10
+ border:1px solid #aaa;
11
+ background: #ddd url(../images/default/box/tb.gif) repeat-x 0 -16px;
12
+ }
13
+ .ext-el-mask-msg div {
14
+ border:1px solid #ccc;
15
+ }
16
+ /*
17
+ Menu
18
+ */
19
+ .x-menu {
20
+ border-color: #999 #999 #999 #999;
21
+ background-image:url(../images/gray/menu/menu.gif);
22
+ }
23
+ .x-menu-item-arrow{
24
+ background-image:url(../images/gray/menu/menu-parent.gif);
25
+ }
26
+ .x-menu-item {
27
+ color:#222;
28
+ }
29
+ .x-menu-item-active {
30
+ background:#ddd;
31
+ border:1px solid #aaa;
32
+ }
33
+ .x-menu-sep {
34
+ background:#aaa;
35
+ }
36
+ /**
37
+ * Tabs
38
+ */
39
+ .x-tabs-wrap {
40
+ background:#4f4f4f;
41
+ border-bottom:1px solid #b3b6b0;
42
+ }
43
+ .x-tabs-strip .x-tabs-text {
44
+ color:white;
45
+ font-weight:normal;
46
+ }
47
+ .x-tabs-strip .on .x-tabs-text {
48
+ cursor:default;
49
+ color:#333333;
50
+ }
51
+ .x-tabs-top .x-tabs-strip a.x-tabs-right {
52
+ background:transparent url(../images/vista/tabs/tab-sprite.gif) no-repeat right -50px;
53
+ }
54
+ .x-tabs-top .x-tabs-strip a .x-tabs-left{
55
+ background:transparent url(../images/vista/tabs/tab-sprite.gif) no-repeat 0px -150px;
56
+ }
57
+ .x-tabs-top .x-tabs-strip .on .x-tabs-right {
58
+ background: url(../images/vista/tabs/tab-sprite.gif) no-repeat right 0;
59
+ }
60
+ .x-tabs-top .x-tabs-strip .on .x-tabs-left{
61
+ background: url(../images/vista/tabs/tab-sprite.gif) no-repeat 0px -100px;
62
+ }
63
+ .x-tabs-strip .x-tabs-closable .close-icon{
64
+ background-image:url(../images/vista/layout/tab-close.gif);
65
+ }
66
+ .x-tabs-strip .on .close-icon{
67
+ background-image:url(../images/vista/layout/tab-close-on.gif);
68
+ }
69
+ .x-tabs-strip .x-tabs-closable .close-over{
70
+ background-image:url(../images/vista/layout/tab-close-on.gif);
71
+ }
72
+ .x-tabs-body {
73
+ border:1px solid #b3b6b0;
74
+ border-top:0 none;
75
+ }
76
+
77
+ .x-tabs-bottom .x-tabs-strip {
78
+ background:#4f4f4f;
79
+ }
80
+ .x-tabs-bottom .x-tabs-strip a.x-tabs-right {
81
+ background:transparent url(../images/vista/tabs/tab-btm-inactive-right-bg.gif) no-repeat bottom right;
82
+ }
83
+ .x-tabs-bottom .x-tabs-strip a .x-tabs-left{
84
+ background:transparent url(../images/vista/tabs/tab-btm-inactive-left-bg.gif) no-repeat bottom left;
85
+ }
86
+ .x-tabs-bottom .x-tabs-wrap {
87
+ border-bottom:0 none;
88
+ padding-top:0;
89
+ border-top:1px solid #b3b6b0;
90
+ }
91
+ .x-tabs-bottom .x-tabs-strip .on .x-tabs-right {
92
+ background: url(../images/vista/tabs/tab-btm-right-bg.gif) no-repeat bottom left;
93
+ }
94
+ .x-tabs-bottom .x-tabs-strip .on .x-tabs-left {
95
+ background: url(../images/vista/tabs/tab-btm-left-bg.gif) no-repeat bottom right;
96
+ }
97
+
98
+ .x-tabs-bottom .x-tabs-body {
99
+ border:1px solid #b3b6b0;
100
+ border-bottom:0 none;
101
+ }
102
+ /**
103
+ * Basic-Dialog
104
+ */
105
+ .x-dlg-proxy {
106
+ background:#d3d6d0;
107
+ border:2px solid #b3b6b0;
108
+ }
109
+ .x-dlg-shadow{
110
+ background:#cccccc;
111
+ opacity:.3;
112
+ -moz-opacity:.3;
113
+ filter: alpha(opacity=30);
114
+ }
115
+ .x-dlg .x-dlg-hd {
116
+ background: url(../images/vista/basic-dialog/hd-sprite.gif) repeat-x 0 -82px;
117
+ background-color:#333333;
118
+ zoom:1;
119
+ }
120
+ .x-dlg .x-dlg-hd-left {
121
+ opacity:.95;-moz-opacity:.95;filter:alpha(opacity=90);
122
+ background: url(../images/vista/basic-dialog/hd-sprite.gif) no-repeat 0 -41px;
123
+ zoom:1;
124
+ }
125
+ .x-dlg .x-dlg-hd-right {
126
+ background: url(../images/vista/basic-dialog/hd-sprite.gif) no-repeat right 0;
127
+ zoom:1;
128
+ }
129
+ .x-dlg .x-dlg-dlg-body{
130
+ background:#fff;
131
+ border:0 none;
132
+ border-top:0 none;
133
+ padding:0 0px 0px;
134
+ position:absolute;
135
+ top:24px;left:0;
136
+ z-index:1;
137
+ }
138
+ .x-dlg-auto-tabs .x-dlg-dlg-body{
139
+ background:transparent;
140
+ }
141
+ .x-dlg-auto-tabs .x-tabs-top .x-tabs-wrap{
142
+ background:transparent;
143
+ }
144
+ .x-dlg .x-dlg-ft{
145
+ border-top:1px solid #b3b6b0;
146
+ background:#F0F0F0;
147
+ padding-bottom:8px;
148
+ }
149
+ .x-dlg .x-dlg-bg{
150
+ opacity:.90;-moz-opacity:.90;filter:alpha(opacity=85);
151
+ zoom:1;
152
+ }
153
+ .x-dlg .x-dlg-bg-left,.x-dlg .x-dlg-bg-center,.x-dlg .x-dlg-bg-right{
154
+ }
155
+ .x-dlg .x-dlg-bg-center {
156
+ padding: 0px 4px 4px 4px;
157
+ background:transparent url(../images/vista/basic-dialog/bg-center.gif) repeat-x bottom;
158
+ zoom:1;
159
+ }
160
+ .x-dlg .x-dlg-bg-left{
161
+ padding-left:4px;
162
+ background:transparent url(../images/vista/basic-dialog/bg-left.gif) no-repeat bottom left;
163
+ zoom:1;
164
+ }
165
+ .x-dlg .x-dlg-bg-right{
166
+ padding-right:4px;
167
+ background:transparent url(../images/vista/basic-dialog/bg-right.gif) no-repeat bottom right;
168
+ zoom:1;
169
+ }
170
+ .x-dlg .x-tabs-top .x-tabs-body{
171
+ border:0 none;
172
+ }
173
+ .x-dlg .x-tabs-bottom .x-tabs-body{
174
+ border:1px solid #b3b6b0;
175
+ border-bottom:0 none;
176
+ }
177
+ .x-dlg .x-layout-container .x-tabs-body{
178
+ border:0 none;
179
+ }
180
+ .x-dlg .x-dlg-close {
181
+ background-image:url(../images/vista/basic-dialog/close.gif);
182
+ }
183
+ .x-dlg .x-dlg-collapse {
184
+ background-image:url(../images/vista/basic-dialog/collapse.gif);
185
+ }
186
+ .x-dlg-collapsed .x-dlg-collapse {
187
+ background-image:url(../images/vista/basic-dialog/expand.gif);
188
+ }
189
+ .x-dlg div.x-resizable-handle-east{
190
+ background-image:url(../images/vista/s.gif);
191
+ border:0 none;
192
+ }
193
+ .x-dlg div.x-resizable-handle-south{
194
+ background-image:url(../images/vista/s.gif);
195
+ border:0 none;
196
+ }
197
+ .x-dlg div.x-resizable-handle-west{
198
+ background-image:url(../images/vista/s.gif);
199
+ border:0 none;
200
+ }
201
+ .x-dlg div.x-resizable-handle-southeast{
202
+ background-image:url(../images/vista/s.gif);
203
+ background-position: bottom right;
204
+ width:8px;
205
+ height:8px;
206
+ border:0;
207
+ }
208
+ .x-dlg div.x-resizable-handle-southwest{
209
+ background-image:url(../images/vista/s.gif);
210
+ background-position: top right;
211
+ margin-left:1px;
212
+ margin-bottom:1px;
213
+ border:0;
214
+ }
215
+ .x-dlg div.x-resizable-handle-north{
216
+ background-image:url(../images/vista/s.gif);
217
+ border:0 none;
218
+ }
219
+
220
+ /* QuickTips */
221
+
222
+ .x-tip .x-tip-top {
223
+ background-image: url(../images/vista/qtip/tip-sprite.gif);
224
+ }
225
+ .x-tip .x-tip-top-left {
226
+ background-image: url(../images/vista/qtip/tip-sprite.gif);
227
+ }
228
+ .x-tip .x-tip-top-right {
229
+ background-image: url(../images/vista/qtip/tip-sprite.gif);
230
+ }
231
+ .x-tip .x-tip-ft {
232
+ background-image: url(../images/vista/qtip/tip-sprite.gif);
233
+ }
234
+ .x-tip .x-tip-ft-left {
235
+ background-image: url(../images/vista/qtip/tip-sprite.gif);
236
+ }
237
+ .x-tip .x-tip-ft-right {
238
+ background-image: url(../images/vista/qtip/tip-sprite.gif);
239
+ }
240
+ .x-tip .x-tip-bd-left {
241
+ background-image: url(../images/vista/qtip/tip-sprite.gif);
242
+ }
243
+ .x-tip .x-tip-bd-right {
244
+ background-image: url(../images/vista/qtip/tip-sprite.gif);
245
+ }
246
+
247
+ .x-tip .x-tip-bd-inner {
248
+ padding:2px;
249
+ }
250
+
251
+ /* BorderLayout */
252
+ .x-layout-container{
253
+ background:#4f4f4f;
254
+ }
255
+ .x-layout-collapsed{
256
+ background-color:#9f9f9f;
257
+ border:1px solid #4c535c;
258
+ }
259
+ .x-layout-collapsed-over{
260
+ background-color:#bfbfbf;
261
+ }
262
+ .x-layout-panel{
263
+ border:1px solid #4c535c;
264
+ }
265
+ .x-layout-nested-layout .x-layout-panel {
266
+ border:0 none;
267
+ }
268
+ .x-layout-split{
269
+ background-color:#f3f2e7;
270
+ }
271
+ .x-layout-panel-hd{
272
+ background-image: url(../images/vista/layout/panel-title-bg.gif);
273
+ border-bottom:1px solid #b5bac1;
274
+ color:white;
275
+ }
276
+ .x-layout-panel-hd-text{
277
+ color:white;
278
+ }
279
+ .x-layout-tools-button-over{
280
+ border:1px solid #4c535c;
281
+ background:#9f9f9f url(../images/vista/layout/panel-title-bg.gif) repeat-x;
282
+ }
283
+ .x-layout-close{
284
+ background-image:url(../images/vista/layout/tab-close.gif);
285
+ }
286
+
287
+ .x-layout-stick{
288
+ background-image:url(../images/vista/layout/stick.gif);
289
+ }
290
+ .x-layout-collapse-west,.x-layout-expand-east{
291
+ background-image:url(../images/vista/layout/collapse.gif);
292
+ }
293
+ .x-layout-expand-west,.x-layout-collapse-east{
294
+ background-image:url(../images/vista/layout/expand.gif);
295
+ }
296
+ .x-layout-collapse-north,.x-layout-expand-south{
297
+ background-image:url(../images/vista/layout/ns-collapse.gif);
298
+ }
299
+ .x-layout-expand-north,.x-layout-collapse-south{
300
+ background-image:url(../images/vista/layout/ns-expand.gif);
301
+ }
302
+ .x-layout-split-h{
303
+ background:#9f9f9f;
304
+ }
305
+ .x-layout-split-v{
306
+ background:#9f9f9f;
307
+ }
308
+ .x-layout-panel .x-tabs-wrap{
309
+ background:#4f4f4f;
310
+ }
311
+ .x-layout-nested-layout .x-layout-panel-north {
312
+ border-bottom:1px solid #4c535c;
313
+ }
314
+ .x-layout-nested-layout .x-layout-panel-south {
315
+ border-top:1px solid #4c535c;
316
+ }
317
+ .x-layout-nested-layout .x-layout-panel-east {
318
+ border-left:1px solid #4c535c;
319
+ }
320
+ .x-layout-nested-layout .x-layout-panel-west {
321
+ border-right:1px solid #4c535c;
322
+ }
323
+ .x-layout-panel-dragover {
324
+ border: 2px solid #4c535c;
325
+ }
326
+ .x-layout-panel-proxy {
327
+ background-image: url(../images/vista/layout/gradient-bg.gif);
328
+ background-color:#f3f2e7;
329
+ border:1px dashed #4c535c;
330
+ }
331
+
332
+ .x-layout-container .x-layout-tabs-body{
333
+ border:0 none;
334
+ }
335
+ /** Resizable */
336
+
337
+ .x-resizable-over .x-resizable-handle-east, .x-resizable-pinned .x-resizable-handle-east{
338
+ background:url(../images/vista/sizer/e-handle.gif);
339
+ background-position: left;
340
+ }
341
+ .x-resizable-over .x-resizable-handle-east, .x-resizable-pinned .x-resizable-handle-west{
342
+ background:url(../images/vista/sizer/e-handle.gif);
343
+ background-position: left;
344
+ }
345
+ .x-resizable-over .x-resizable-handle-south, .x-resizable-pinned .x-resizable-handle-south{
346
+ background:url(../images/vista/sizer/s-handle.gif);
347
+ background-position: top;
348
+ }
349
+ .x-resizable-over .x-resizable-handle-south, .x-resizable-pinned .x-resizable-handle-north{
350
+ background:url(../images/vista/sizer/s-handle.gif);
351
+ background-position: top;
352
+ }
353
+ .x-resizable-over .x-resizable-handle-southeast, .x-resizable-pinned .x-resizable-handle-southeast{
354
+ background:url(../images/vista/sizer/se-handle.gif);
355
+ background-position: top left;
356
+ }
357
+ .x-resizable-over .x-resizable-handle-northwest,.x-resizable-pinned .x-resizable-handle-northwest{
358
+ background:url(../images/vista/sizer/nw-handle.gif);
359
+ background-position:bottom right;
360
+ }
361
+ .x-resizable-over .x-resizable-handle-northeast,.x-resizable-pinned .x-resizable-handle-northeast{
362
+ background:url(../images/vista/sizer/ne-handle.gif);
363
+ background-position: bottom left;
364
+ }
365
+ .x-resizable-over .x-resizable-handle-southwest,.x-resizable-pinned .x-resizable-handle-southwest{
366
+ background:url(../images/vista/sizer/sw-handle.gif);
367
+ background-position: top right;
368
+ }
369
+ .x-resizable-proxy{
370
+ border: 1px dashed #615e55;
371
+ }
372
+
373
+ /** Toolbar */
374
+ .x-toolbar{
375
+ border:0 none;
376
+ background: #efefe3 url(../images/vista/toolbar/gray-bg.gif) repeat-x;
377
+ padding:3px;
378
+ }
379
+ .x-toolbar .ytb-button-over{
380
+ border:1px solid transparent;
381
+ border-bottom:1px solid #bbbbbb;
382
+ border-top:1px solid #eeeeee;
383
+ background:#9f9f9f url(../images/vista/grid/grid-vista-hd.gif) repeat-x;
384
+ }
385
+
386
+ .x-paging-info {
387
+ color:#000;
388
+ }
389
+ /* grid */
390
+ .x-grid-topbar .x-toolbar{
391
+ border:0;
392
+ border-bottom:1px solid #555;
393
+ }
394
+ .x-grid-bottombar .x-toolbar{
395
+ border:0;
396
+ border-top:1px solid #555;
397
+ }
398
+ .x-grid-locked .x-grid-body td {
399
+ background: #fafafa;
400
+ border-right: 1px solid #e1e1e1;
401
+ border-bottom: 1px solid #e1e1e1 !important;
402
+ }
403
+ .x-grid-locked .x-grid-body td .x-grid-cell-inner {
404
+ border-top:0 none;
405
+ }
406
+ .x-grid-locked .x-grid-row-alt td{
407
+ background: #f1f1f1;
408
+ }
409
+ .x-grid-locked .x-grid-row-selected td{
410
+ color: #fff !important;
411
+ background-color: #316ac5 !important;
412
+ }
413
+ .x-grid-hd{
414
+ border-bottom:0;
415
+ background:none;
416
+ }
417
+ .x-grid-hd-row{
418
+ height:auto;
419
+ }
420
+ .x-grid-split {
421
+ background-image: url(../images/vista/grid/grid-split.gif);
422
+ }
423
+ .x-grid-header{
424
+ background: url(../images/vista/grid/grid-vista-hd.gif);
425
+ border:0 none;
426
+ border-bottom:1px solid #555;
427
+ }
428
+ .x-grid-row-alt{
429
+ background-color: #f5f5f5;
430
+ }
431
+ .x-grid-row-over td{
432
+ background-color:#eeeeee;
433
+ }
434
+ .x-grid-col {
435
+ border-right: 1px solid #eee;
436
+ border-bottom: 1px solid #eee;
437
+ }
438
+ .x-grid-header .x-grid-hd-inner {
439
+ padding-bottom: 1px;
440
+ }
441
+ .x-grid-header .x-grid-hd-text {
442
+ padding-bottom: 3px;
443
+ color:#333333;
444
+ }
445
+ .x-grid-hd-over .x-grid-hd-inner {
446
+ border-bottom: 1px solid #555;
447
+ padding-bottom: 0;
448
+ }
449
+ .x-grid-hd-over .x-grid-hd-text {
450
+ background-color: #fafafa;
451
+ border-bottom: 1px solid #555;
452
+ padding-bottom: 2px;
453
+ }
454
+ .x-grid-header .sort-asc .x-grid-hd-inner, .x-grid-header .sort-desc .x-grid-hd-inner {
455
+ border-bottom: 1px solid #555;
456
+ padding-bottom: 0;
457
+ }
458
+ .x-grid-header .sort-asc .x-grid-hd-text, .x-grid-header .sort-desc .x-grid-hd-text {
459
+ border-bottom: 1px solid #3b5a82;
460
+ padding-bottom: 2px;
461
+ }
462
+ .x-dd-drag-proxy .x-grid-hd-inner{
463
+ background: url(../images/vista/grid/grid-vista-hd.gif) repeat-x;
464
+ height:22px;
465
+ width:120px;
466
+ }
467
+ .x-props-grid .x-grid-col-name{
468
+ background-color: #eee;
469
+ }
470
+ /* toolbar */
471
+ .x-toolbar .ytb-sep{
472
+ background-image: url(../images/vista/grid/grid-split.gif);
473
+ }
474
+
475
+ .x-toolbar .x-btn-over .x-btn-left{
476
+ background:url(../images/vista/toolbar/tb-btn-sprite.gif) no-repeat 0 0px;
477
+ }
478
+ .x-toolbar .x-btn-over .x-btn-right{
479
+ background:url(../images/vista/toolbar/tb-btn-sprite.gif) no-repeat 0 -21px;
480
+ }
481
+ .x-toolbar .x-btn-over .x-btn-center{
482
+ background:url(../images/vista/toolbar/tb-btn-sprite.gif) repeat-x 0 -42px;
483
+ }
484
+
485
+ .x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
486
+ background:url(../images/vista/toolbar/tb-btn-sprite.gif) no-repeat 0 -63px;
487
+ }
488
+ .x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
489
+ background:url(../images/vista/toolbar/tb-btn-sprite.gif) no-repeat 0 -84px;
490
+ }
491
+ .x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
492
+ background:url(../images/vista/toolbar/tb-btn-sprite.gif) repeat-x 0 -105px;
493
+ }
494
+
495
+ /* combo box */
496
+ .x-combo-list {
497
+ border:1px solid #999;
498
+ background:#dddddd;
499
+ }
500
+ .x-combo-list-hd {
501
+ background-image: url(../images/vista/layout/panel-title-bg.gif);
502
+ border-bottom:1px solid #b5bac1;
503
+ color:white;
504
+ }
505
+ .x-resizable-pinned .x-combo-list-inner {
506
+ border-bottom:1px solid #aaa;
507
+ }
508
+ .x-combo-list .x-combo-selected{
509
+ background:#ddd !important;
510
+ border:1px solid #aaa;
511
+ }
js/extjs/ext-tree-checkbox.js ADDED
@@ -0,0 +1,312 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Retrieve an array of ids of checked nodes
3
+ * @return {Array} array of ids of checked nodes
4
+ */
5
+ Ext.tree.TreePanel.prototype.getChecked = function(node){
6
+ var checked = [], i;
7
+ if( typeof node == 'undefined' ) {
8
+ //node = this.rootVisible ? this.getRootNode() : this.getRootNode().firstChild;
9
+ node = this.getRootNode();
10
+ }
11
+
12
+ if( node.attributes.checked ) {
13
+ checked.push(node.id);
14
+ }
15
+ if( node.childNodes.length ) {
16
+ for( i = 0; i < node.childNodes.length; i++ ) {
17
+ checked = checked.concat( this.getChecked(node.childNodes[i]) );
18
+ }
19
+ }
20
+
21
+ return checked;
22
+ };
23
+
24
+ /**
25
+ * @class Ext.tree.CustomUITreeLoader
26
+ * @extends Ext.tree.TreeLoader
27
+ * Overrides createNode to force uiProvider to be an arbitrary TreeNodeUI to save bandwidth
28
+ */
29
+ Ext.tree.CustomUITreeLoader = function() {
30
+ Ext.tree.CustomUITreeLoader.superclass.constructor.apply(this, arguments);
31
+ };
32
+
33
+ Ext.extend(Ext.tree.CustomUITreeLoader, Ext.tree.TreeLoader, {
34
+ createNode : function(attr){
35
+ Ext.apply(attr, this.baseAttr || {});
36
+
37
+ if(this.applyLoader !== false){
38
+ attr.loader = this;
39
+ }
40
+
41
+ if(typeof attr.uiProvider == 'string'){
42
+ attr.uiProvider = this.uiProviders[attr.uiProvider] || eval(attr.uiProvider);
43
+ }
44
+
45
+ return(attr.leaf ?
46
+ new Ext.tree.TreeNode(attr) :
47
+ new Ext.tree.AsyncTreeNode(attr));
48
+ }
49
+ });
50
+
51
+
52
+ /**
53
+ * @class Ext.tree.CheckboxNodeUI
54
+ * @extends Ext.tree.TreeNodeUI
55
+ * Adds a checkbox to all nodes
56
+ */
57
+ Ext.tree.CheckboxNodeUI = function() {
58
+ Ext.tree.CheckboxNodeUI.superclass.constructor.apply(this, arguments);
59
+ };
60
+
61
+ Ext.extend(Ext.tree.CheckboxNodeUI, Ext.tree.TreeNodeUI, {
62
+ /**
63
+ * This is virtually identical to Ext.tree.TreeNodeUI.render, modifications are indicated inline
64
+ */
65
+ render : function(bulkRender){
66
+ var n = this.node;
67
+ var targetNode = n.parentNode ?
68
+ n.parentNode.ui.getContainer() : n.ownerTree.container.dom; /* in later svn builds this changes to n.ownerTree.innerCt.dom */
69
+ if(!this.rendered){
70
+ this.rendered = true;
71
+ var a = n.attributes;
72
+
73
+ // add some indent caching, this helps performance when rendering a large tree
74
+ this.indentMarkup = "";
75
+ if(n.parentNode){
76
+ this.indentMarkup = n.parentNode.ui.getChildIndent();
77
+ }
78
+
79
+ // modification: added checkbox
80
+ var buf = ['<li class="x-tree-node"><div class="x-tree-node-el ', n.attributes.cls,'">',
81
+ '<span class="x-tree-node-indent">',this.indentMarkup,"</span>",
82
+ '<img src="', this.emptyIcon, '" class="x-tree-ec-icon">',
83
+ '<img src="', a.icon || this.emptyIcon, '" class="x-tree-node-icon',(a.icon ? " x-tree-node-inline-icon" : ""),(a.iconCls ? " "+a.iconCls : ""),'" unselectable="on">',
84
+ '<input class="l-tcb" '+ (n.disabled ? 'disabled="disabled" ' : '') +' type="checkbox" ', (a.checked ? "checked>" : '>'),
85
+ '<a hidefocus="on" href="',a.href ? a.href : "#",'" ',
86
+ a.hrefTarget ? ' target="'+a.hrefTarget+'"' : "", '>',
87
+ '<span unselectable="on">',n.text,"</span></a></div>",
88
+ '<ul class="x-tree-node-ct" style="display:none;"></ul>',
89
+ "</li>"];
90
+
91
+ if(bulkRender !== true && n.nextSibling && n.nextSibling.ui.getEl()){
92
+ this.wrap = Ext.DomHelper.insertHtml("beforeBegin",
93
+ n.nextSibling.ui.getEl(), buf.join(""));
94
+ }else{
95
+ this.wrap = Ext.DomHelper.insertHtml("beforeEnd", targetNode, buf.join(""));
96
+ }
97
+ this.elNode = this.wrap.childNodes[0];
98
+ this.ctNode = this.wrap.childNodes[1];
99
+ var cs = this.elNode.childNodes;
100
+ this.indentNode = cs[0];
101
+ this.ecNode = cs[1];
102
+ this.iconNode = cs[2];
103
+ this.checkbox = cs[3]; // modification: inserted checkbox
104
+ this.anchor = cs[4];
105
+ this.textNode = cs[4].firstChild;
106
+ if(a.qtip){
107
+ if(this.textNode.setAttributeNS){
108
+ this.textNode.setAttributeNS("ext", "qtip", a.qtip);
109
+ if(a.qtipTitle){
110
+ this.textNode.setAttributeNS("ext", "qtitle", a.qtipTitle);
111
+ }
112
+ }else{
113
+ this.textNode.setAttribute("ext:qtip", a.qtip);
114
+ if(a.qtipTitle){
115
+ this.textNode.setAttribute("ext:qtitle", a.qtipTitle);
116
+ }
117
+ }
118
+ } else if(a.qtipCfg) {
119
+ a.qtipCfg.target = Ext.id(this.textNode);
120
+ Ext.QuickTips.register(a.qtipCfg);
121
+ }
122
+
123
+ this.initEvents();
124
+
125
+ // modification: Add additional handlers here to avoid modifying Ext.tree.TreeNodeUI
126
+ Ext.fly(this.checkbox).on('click', this.check.createDelegate(this, [null]));
127
+ n.on('dblclick', function(e) {
128
+ if( this.isLeaf() ) {
129
+ this.getUI().toggleCheck();
130
+ }
131
+ });
132
+
133
+ if(!this.node.expanded){
134
+ this.updateExpandIcon();
135
+ }
136
+ }else{
137
+ if(bulkRender === true) {
138
+ targetNode.appendChild(this.wrap);
139
+ }
140
+ }
141
+ },
142
+
143
+ checked : function() {
144
+ return this.checkbox.checked;
145
+ },
146
+
147
+ /**
148
+ * Sets a checkbox appropriately. By default only walks down through child nodes
149
+ * if called with no arguments (onchange event from the checkbox), otherwise
150
+ * it's assumed the call is being made programatically and the correct arguments are provided.
151
+ * @param {Boolean} state true to check the checkbox, false to clear it. (defaults to the opposite of the checkbox.checked)
152
+ * @param {Boolean} descend true to walk through the nodes children and set their checkbox values. (defaults to false)
153
+ */
154
+ check : function(state, descend, bulk) {
155
+ if (this.node.disabled) {
156
+ return;
157
+ }
158
+ var n = this.node;
159
+ var tree = n.getOwnerTree();
160
+ var parentNode = n.parentNode;n
161
+ if( !n.expanded && !n.childrenRendered ) {
162
+ n.expand(false, false, this.check.createDelegate(this, arguments));
163
+ }
164
+
165
+ if( typeof bulk == 'undefined' ) {
166
+ bulk = false;
167
+ }
168
+ if( typeof state == 'undefined' || state === null ) {
169
+ state = this.checkbox.checked;
170
+ descend = !state;
171
+ if( state ) {
172
+ n.expand(false, false);
173
+ }
174
+ } else {
175
+ this.checkbox.checked = state;
176
+ }
177
+ n.attributes.checked = state;
178
+
179
+ // do we have parents?
180
+ if( parentNode !== null && state ) {
181
+ // if we're checking the box, check it all the way up
182
+ if( parentNode.getUI().check ) {
183
+ //parentNode.getUI().check(state, false, true);
184
+ }
185
+ }
186
+ if( descend && !n.isLeaf() ) {
187
+ var cs = n.childNodes;
188
+ for(var i = 0; i < cs.length; i++) {
189
+ //cs[i].getUI().check(state, true, true);
190
+ }
191
+ }
192
+ if( !bulk ) {
193
+ tree.fireEvent('check', n, state);
194
+ }
195
+ },
196
+
197
+ toggleCheck : function(state) {
198
+ this.check(!this.checkbox.checked, true);
199
+ }
200
+
201
+ });
202
+
203
+
204
+ /**
205
+ * @class Ext.tree.CheckNodeMultiSelectionModel
206
+ * @extends Ext.tree.MultiSelectionModel
207
+ * Multi selection for a TreePanel containing Ext.tree.CheckboxNodeUI.
208
+ * Adds enhanced selection routines for selecting multiple items
209
+ * and key processing to check/clear checkboxes.
210
+ */
211
+ Ext.tree.CheckNodeMultiSelectionModel = function(){
212
+ Ext.tree.CheckNodeMultiSelectionModel.superclass.constructor.call(this);
213
+ };
214
+
215
+ Ext.extend(Ext.tree.CheckNodeMultiSelectionModel, Ext.tree.MultiSelectionModel, {
216
+ init : function(tree){
217
+ this.tree = tree;
218
+ tree.el.on("keydown", this.onKeyDown, this);
219
+ tree.on("click", this.onNodeClick, this);
220
+ },
221
+
222
+ /**
223
+ * Handle a node click
224
+ * If ctrl key is down and node is selected will unselect the node.
225
+ * If the shift key is down it will create a contiguous selection
226
+ * (see {@link Ext.tree.CheckNodeMultiSelectionModel#extendSelection} for the limitations)
227
+ */
228
+ onNodeClick : function(node, e){
229
+ if (node.disabled) {
230
+ return;
231
+ }
232
+ if( e.shiftKey && this.extendSelection(node) ) {
233
+ return true;
234
+ }
235
+ if( e.ctrlKey && this.isSelected(node) ) {
236
+ this.unselect(node);
237
+ } else {
238
+ this.select(node, e, e.ctrlKey);
239
+ }
240
+ },
241
+
242
+ /**
243
+ * Selects all nodes between the previously selected node and the one that the user has just selected.
244
+ * Will not span multiple depths, so only children of the same parent will be selected.
245
+ */
246
+ extendSelection : function(node) {
247
+ var last = this.lastSelNode;
248
+ if( node == last || !last ) {
249
+ return false; /* same selection, process normally normally */
250
+ }
251
+
252
+ if( node.parentNode == last.parentNode ) {
253
+ var cs = node.parentNode.childNodes;
254
+ var i = 0, attr='id', selecting=false, lastSelect=false;
255
+ this.clearSelections(true);
256
+ for( i = 0; i < cs.length; i++ ) {
257
+ // We have to traverse the entire tree b/c don't know of a way to find
258
+ // a numerical representation of a nodes position in a tree.
259
+ if( cs[i].attributes[attr] == last.attributes[attr] || cs[i].attributes[attr] == node.attributes[attr] ) {
260
+ // lastSelect ensures that we select the final node in the list
261
+ lastSelect = selecting;
262
+ selecting = !selecting;
263
+ }
264
+ if( selecting || lastSelect ) {
265
+ this.select(cs[i], null, true);
266
+ // if we're selecting the last node break to avoid traversing the entire tree
267
+ if( lastSelect ) {
268
+ break;
269
+ }
270
+ }
271
+ }
272
+ return true;
273
+ } else {
274
+ return false;
275
+ }
276
+ },
277
+
278
+ /**
279
+ * Traps the press of the SPACE bar and sets the check state of selected nodes to the opposite state of
280
+ * the selected or last selected node. Assume you have the following five Ext.tree.CheckboxNodeUIs:
281
+ * [X] One, [X] Two, [X] Three, [ ] Four, [ ] Five
282
+ * If you select them in this order: One, Two, Three, Four, Five and press the space bar they all
283
+ * will be <b>checked</b> (the opposite of the checkbox state of Five).
284
+ * If you select them in this order: Five, Four, Three, Two, One and press the space bar they all
285
+ * will be <b>unchecked</b> which is the opposite of the checkbox state of One.
286
+ */
287
+ onKeyDown : Ext.tree.DefaultSelectionModel.prototype.onKeyDown.createInterceptor(function(e) {
288
+ var s = this.selNode || this.lastSelNode;
289
+ // undesirable, but required
290
+ var sm = this;
291
+ if(!s){
292
+ return;
293
+ }
294
+ var k = e.getKey();
295
+ switch(k){
296
+ case e.SPACE:
297
+ e.stopEvent();
298
+ var sel = this.getSelectedNodes();
299
+ var state = !s.getUI().checked();
300
+ if( sel.length == 1 ) {
301
+ s.getUI().check(state, !s.isLeaf());
302
+ } else {
303
+ for( var i = 0; i < sel.length; i++ ) {
304
+ sel[i].getUI().check(state, !sel[i].isLeaf() );
305
+ }
306
+ }
307
+ break;
308
+ }
309
+
310
+ return true;
311
+ })
312
+ });
js/extjs/ext-tree.js ADDED
@@ -0,0 +1,242 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 1.0.1
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ Ext={};window["undefined"]=window["undefined"];Ext.apply=function(o,c,_3){if(_3){Ext.apply(o,_3);}if(o&&c&&typeof c=="object"){for(var p in c){o[p]=c[p];}}return o;};(function(){var _5=0;var ua=navigator.userAgent.toLowerCase();var _7=document.compatMode=="CSS1Compat",_8=ua.indexOf("opera")>-1,_9=(/webkit|khtml/).test(ua),_a=ua.indexOf("msie")>-1,_b=ua.indexOf("msie 7")>-1,_c=!_9&&ua.indexOf("gecko")>-1,_d=_a&&!_7,_e=(ua.indexOf("windows")!=-1||ua.indexOf("win32")!=-1),_f=(ua.indexOf("macintosh")!=-1||ua.indexOf("mac os x")!=-1),_10=window.location.href.toLowerCase().indexOf("https")===0;if(_a&&!_b){try{document.execCommand("BackgroundImageCache",false,true);}catch(e){}}Ext.apply(Ext,{isStrict:_7,isSecure:_10,isReady:false,SSL_SECURE_URL:"javascript:false",BLANK_IMAGE_URL:"http:/"+"/extjs.com/s.gif",emptyFn:function(){},applyIf:function(o,c){if(o&&c){for(var p in c){if(typeof o[p]=="undefined"){o[p]=c[p];}}}return o;},addBehaviors:function(o){if(!Ext.isReady){Ext.onReady(function(){Ext.addBehaviors(o);});return;}var _15={};for(var b in o){var _17=b.split("@");if(_17[1]){var s=_17[0];if(!_15[s]){_15[s]=Ext.select(s);}_15[s].on(_17[1],o[b]);}}_15=null;},id:function(el,_1a){_1a=_1a||"ext-gen";el=Ext.getDom(el);var id=_1a+(++_5);return el?(el.id?el.id:(el.id=id)):id;},extend:function(){var io=function(o){for(var m in o){this[m]=o[m];}};return function(sb,sp,_21){if(typeof sp=="object"){_21=sp;sp=sb;sb=function(){sp.apply(this,arguments);};}var F=function(){},sbp,spp=sp.prototype;F.prototype=spp;sbp=sb.prototype=new F();sbp.constructor=sb;sb.superclass=spp;if(spp.constructor==Object.prototype.constructor){spp.constructor=sp;}sb.override=function(o){Ext.override(sb,o);};sbp.override=io;sbp.__extcls=sb;Ext.override(sb,_21);return sb;};}(),override:function(_26,_27){if(_27){var p=_26.prototype;for(var _29 in _27){p[_29]=_27[_29];}}},namespace:function(){var a=arguments,o=null,i,j,d,rt;for(i=0;i<a.length;++i){d=a[i].split(".");rt=d[0];eval("if (typeof "+rt+" == \"undefined\"){"+rt+" = {};} o = "+rt+";");for(j=1;j<d.length;++j){o[d[j]]=o[d[j]]||{};o=o[d[j]];}}},urlEncode:function(o){if(!o){return "";}var buf=[];for(var key in o){var ov=o[key];var _34=typeof ov;if(_34=="undefined"){buf.push(encodeURIComponent(key),"=&");}else{if(_34!="function"&&_34!="object"){buf.push(encodeURIComponent(key),"=",encodeURIComponent(ov),"&");}else{if(ov instanceof Array){for(var i=0,len=ov.length;i<len;i++){buf.push(encodeURIComponent(key),"=",encodeURIComponent(ov[i]===undefined?"":ov[i]),"&");}}}}}buf.pop();return buf.join("");},urlDecode:function(_37,_38){if(!_37||!_37.length){return {};}var obj={};var _3a=_37.split("&");var _3b,_3c,_3d;for(var i=0,len=_3a.length;i<len;i++){_3b=_3a[i].split("=");_3c=decodeURIComponent(_3b[0]);_3d=decodeURIComponent(_3b[1]);if(_38!==true){if(typeof obj[_3c]=="undefined"){obj[_3c]=_3d;}else{if(typeof obj[_3c]=="string"){obj[_3c]=[obj[_3c]];obj[_3c].push(_3d);}else{obj[_3c].push(_3d);}}}else{obj[_3c]=_3d;}}return obj;},each:function(_40,fn,_42){if(typeof _40.length=="undefined"||typeof _40=="string"){_40=[_40];}for(var i=0,len=_40.length;i<len;i++){if(fn.call(_42||_40[i],_40[i],i,_40)===false){return i;}}},combine:function(){var as=arguments,l=as.length,r=[];for(var i=0;i<l;i++){var a=as[i];if(a instanceof Array){r=r.concat(a);}else{if(a.length!==undefined&&!a.substr){r=r.concat(Array.prototype.slice.call(a,0));}else{r.push(a);}}}return r;},escapeRe:function(s){return s.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1");},callback:function(cb,_4c,_4d,_4e){if(typeof cb=="function"){if(_4e){cb.defer(_4e,_4c,_4d||[]);}else{cb.apply(_4c,_4d||[]);}}},getDom:function(el){if(!el){return null;}return el.dom?el.dom:(typeof el=="string"?document.getElementById(el):el);},getCmp:function(id){return Ext.ComponentMgr.get(id);},num:function(v,_52){if(typeof v!="number"){return _52;}return v;},destroy:function(){for(var i=0,a=arguments,len=a.length;i<len;i++){var as=a[i];if(as){if(as.dom){as.removeAllListeners();as.remove();continue;}if(typeof as.purgeListeners=="function"){as.purgeListeners();}if(typeof as.destroy=="function"){as.destroy();}}}},isOpera:_8,isSafari:_9,isIE:_a,isIE7:_b,isGecko:_c,isBorderBox:_d,isWindows:_e,isMac:_f,useShims:((_a&&!_b)||(_c&&_f))});})();Ext.namespace("Ext","Ext.util","Ext.grid","Ext.dd","Ext.tree","Ext.data","Ext.form","Ext.menu","Ext.state","Ext.lib","Ext.layout");Ext.apply(Function.prototype,{createCallback:function(){var _57=arguments;var _58=this;return function(){return _58.apply(window,_57);};},createDelegate:function(obj,_5a,_5b){var _5c=this;return function(){var _5d=_5a||arguments;if(_5b===true){_5d=Array.prototype.slice.call(arguments,0);_5d=_5d.concat(_5a);}else{if(typeof _5b=="number"){_5d=Array.prototype.slice.call(arguments,0);var _5e=[_5b,0].concat(_5a);Array.prototype.splice.apply(_5d,_5e);}}return _5c.apply(obj||window,_5d);};},defer:function(_5f,obj,_61,_62){var fn=this.createDelegate(obj,_61,_62);if(_5f){return setTimeout(fn,_5f);}fn();return 0;},createSequence:function(fcn,_65){if(typeof fcn!="function"){return this;}var _66=this;return function(){var _67=_66.apply(this||window,arguments);fcn.apply(_65||this||window,arguments);return _67;};},createInterceptor:function(fcn,_69){if(typeof fcn!="function"){return this;}var _6a=this;return function(){fcn.target=this;fcn.method=_6a;if(fcn.apply(_69||this||window,arguments)===false){return;}return _6a.apply(this||window,arguments);};}});Ext.applyIf(String,{escape:function(_6b){return _6b.replace(/('|\\)/g,"\\$1");},leftPad:function(val,_6d,ch){var _6f=new String(val);if(ch==null){ch=" ";}while(_6f.length<_6d){_6f=ch+_6f;}return _6f;},format:function(_70){var _71=Array.prototype.slice.call(arguments,1);return _70.replace(/\{(\d+)\}/g,function(m,i){return _71[i];});}});String.prototype.toggle=function(_74,_75){return this==_74?_75:_74;};Ext.applyIf(Number.prototype,{constrain:function(min,max){return Math.min(Math.max(this,min),max);}});Ext.applyIf(Array.prototype,{indexOf:function(o){for(var i=0,len=this.length;i<len;i++){if(this[i]==o){return i;}}return -1;},remove:function(o){var _7c=this.indexOf(o);if(_7c!=-1){this.splice(_7c,1);}}});Date.prototype.getElapsed=function(_7d){return Math.abs((_7d||new Date()).getTime()-this.getTime());};
10
+
11
+
12
+
13
+ (function(){var _1;Ext.lib.Dom={getViewWidth:function(_2){return _2?this.getDocumentWidth():this.getViewportWidth();},getViewHeight:function(_3){return _3?this.getDocumentHeight():this.getViewportHeight();},getDocumentHeight:function(){var _4=(document.compatMode!="CSS1Compat")?document.body.scrollHeight:document.documentElement.scrollHeight;return Math.max(_4,this.getViewportHeight());},getDocumentWidth:function(){var _5=(document.compatMode!="CSS1Compat")?document.body.scrollWidth:document.documentElement.scrollWidth;return Math.max(_5,this.getViewportWidth());},getViewportHeight:function(){var _6=self.innerHeight;var _7=document.compatMode;if((_7||Ext.isIE)&&!Ext.isOpera){_6=(_7=="CSS1Compat")?document.documentElement.clientHeight:document.body.clientHeight;}return _6;},getViewportWidth:function(){var _8=self.innerWidth;var _9=document.compatMode;if(_9||Ext.isIE){_8=(_9=="CSS1Compat")?document.documentElement.clientWidth:document.body.clientWidth;}return _8;},isAncestor:function(p,c){p=Ext.getDom(p);c=Ext.getDom(c);if(!p||!c){return false;}if(p.contains&&!Ext.isSafari){return p.contains(c);}else{if(p.compareDocumentPosition){return !!(p.compareDocumentPosition(c)&16);}else{var _c=c.parentNode;while(_c){if(_c==p){return true;}else{if(!_c.tagName||_c.tagName.toUpperCase()=="HTML"){return false;}}_c=_c.parentNode;}return false;}}},getRegion:function(el){return Ext.lib.Region.getRegion(el);},getY:function(el){return this.getXY(el)[1];},getX:function(el){return this.getXY(el)[0];},getXY:function(el){var p,pe,b,_14,bd=document.body;el=Ext.getDom(el);if(el.getBoundingClientRect){b=el.getBoundingClientRect();_14=fly(document).getScroll();return [b.left+_14.left,b.top+_14.top];}else{var x=el.offsetLeft,y=el.offsetTop;p=el.offsetParent;var _18=false;if(p!=el){while(p){x+=p.offsetLeft;y+=p.offsetTop;if(Ext.isSafari&&!_18&&fly(p).getStyle("position")=="absolute"){_18=true;}if(Ext.isGecko){pe=fly(p);var bt=parseInt(pe.getStyle("borderTopWidth"),10)||0;var bl=parseInt(pe.getStyle("borderLeftWidth"),10)||0;x+=bl;y+=bt;if(p!=el&&pe.getStyle("overflow")!="visible"){x+=bl;y+=bt;}}p=p.offsetParent;}}if(Ext.isSafari&&(_18||fly(el).getStyle("position")=="absolute")){x-=bd.offsetLeft;y-=bd.offsetTop;}}p=el.parentNode;while(p&&p!=bd){if(!Ext.isOpera||(Ext.isOpera&&p.tagName!="TR"&&fly(p).getStyle("display")!="inline")){x-=p.scrollLeft;y-=p.scrollTop;}p=p.parentNode;}return [x,y];},setXY:function(el,xy){el=Ext.fly(el,"_setXY");el.position();var pts=el.translatePoints(xy);if(xy[0]!==false){el.dom.style.left=pts.left+"px";}if(xy[1]!==false){el.dom.style.top=pts.top+"px";}},setX:function(el,x){this.setXY(el,[x,false]);},setY:function(el,y){this.setXY(el,[false,y]);}};Ext.lib.Event={getPageX:function(e){return Event.pointerX(e.browserEvent||e);},getPageY:function(e){return Event.pointerY(e.browserEvent||e);},getXY:function(e){e=e.browserEvent||e;return [Event.pointerX(e),Event.pointerY(e)];},getTarget:function(e){return Event.element(e.browserEvent||e);},resolveTextNode:function(_26){if(_26&&3==_26.nodeType){return _26.parentNode;}else{return _26;}},getRelatedTarget:function(ev){ev=ev.browserEvent||ev;var t=ev.relatedTarget;if(!t){if(ev.type=="mouseout"){t=ev.toElement;}else{if(ev.type=="mouseover"){t=ev.fromElement;}}}return this.resolveTextNode(t);},on:function(el,_2a,fn){Event.observe(el,_2a,fn,false);},un:function(el,_2d,fn){Event.stopObserving(el,_2d,fn,false);},purgeElement:function(el){},preventDefault:function(e){e=e.browserEvent||e;if(e.preventDefault){e.preventDefault();}else{e.returnValue=false;}},stopPropagation:function(e){e=e.browserEvent||e;if(e.stopPropagation){e.stopPropagation();}else{e.cancelBubble=true;}},stopEvent:function(e){Event.stop(e.browserEvent||e);},onAvailable:function(el,fn,_35,_36){var _37=new Date(),iid;var f=function(){if(_37.getElapsed()>10000){clearInterval(iid);}var el=document.getElementById(id);if(el){clearInterval(iid);fn.call(_35||window,el);}};iid=setInterval(f,50);}};Ext.lib.Ajax=function(){var _3b=function(cb){return cb.success?function(xhr){cb.success.call(cb.scope||window,{responseText:xhr.responseText,responseXML:xhr.responseXML,argument:cb.argument});}:Ext.emptyFn;};var _3e=function(cb){return cb.failure?function(xhr){cb.failure.call(cb.scope||window,{responseText:xhr.responseText,responseXML:xhr.responseXML,argument:cb.argument});}:Ext.emptyFn;};return {request:function(_41,uri,cb,_44){new Ajax.Request(uri,{method:_41,parameters:_44||"",timeout:cb.timeout,onSuccess:_3b(cb),onFailure:_3e(cb)});},formRequest:function(_45,uri,cb,_48,_49,_4a){new Ajax.Request(uri,{method:Ext.getDom(_45).method||"POST",parameters:Form.serialize(_45)+(_48?"&"+_48:""),timeout:cb.timeout,onSuccess:_3b(cb),onFailure:_3e(cb)});},isCallInProgress:function(_4b){return false;},abort:function(_4c){return false;},serializeForm:function(_4d){return Form.serialize(_4d.dom||_4d,true);}};}();Ext.lib.Anim=function(){var _4e={easeOut:function(pos){return 1-Math.pow(1-pos,2);},easeIn:function(pos){return 1-Math.pow(1-pos,2);}};var _51=function(cb,_53){return {stop:function(_54){this.effect.cancel();},isAnimated:function(){return this.effect.state=="running";},proxyCallback:function(){Ext.callback(cb,_53);}};};return {scroll:function(el,_56,_57,_58,cb,_5a){var _5b=_51(cb,_5a);el=Ext.getDom(el);el.scrollLeft=_56.to[0];el.scrollTop=_56.to[1];_5b.proxyCallback();return _5b;},motion:function(el,_5d,_5e,_5f,cb,_61){return this.run(el,_5d,_5e,_5f,cb,_61);},color:function(el,_63,_64,_65,cb,_67){return this.run(el,_63,_64,_65,cb,_67);},run:function(el,_69,_6a,_6b,cb,_6d,_6e){var o={};for(var k in _69){switch(k){case "points":var by,pts,e=Ext.fly(el,"_animrun");e.position();if(by=_69.points.by){var xy=e.getXY();pts=e.translatePoints([xy[0]+by[0],xy[1]+by[1]]);}else{pts=e.translatePoints(_69.points.to);}o.left=pts.left+"px";o.top=pts.top+"px";break;case "width":o.width=_69.width.to+"px";break;case "height":o.height=_69.height.to+"px";break;case "opacity":o.opacity=String(_69.opacity.to);break;default:o[k]=String(_69[k].to);break;}}var _75=_51(cb,_6d);_75.effect=new Effect.Morph(Ext.id(el),{duration:_6a,afterFinish:_75.proxyCallback,transition:_4e[_6b]||Effect.Transitions.linear,style:o});return _75;}};}();function fly(el){if(!_1){_1=new Ext.Element.Flyweight();}_1.dom=el;return _1;}Ext.lib.Region=function(t,r,b,l){this.top=t;this[1]=t;this.right=r;this.bottom=b;this.left=l;this[0]=l;};Ext.lib.Region.prototype={contains:function(_7b){return (_7b.left>=this.left&&_7b.right<=this.right&&_7b.top>=this.top&&_7b.bottom<=this.bottom);},getArea:function(){return ((this.bottom-this.top)*(this.right-this.left));},intersect:function(_7c){var t=Math.max(this.top,_7c.top);var r=Math.min(this.right,_7c.right);var b=Math.min(this.bottom,_7c.bottom);var l=Math.max(this.left,_7c.left);if(b>=t&&r>=l){return new Ext.lib.Region(t,r,b,l);}else{return null;}},union:function(_81){var t=Math.min(this.top,_81.top);var r=Math.max(this.right,_81.right);var b=Math.max(this.bottom,_81.bottom);var l=Math.min(this.left,_81.left);return new Ext.lib.Region(t,r,b,l);},adjust:function(t,l,b,r){this.top+=t;this.left+=l;this.right+=r;this.bottom+=b;return this;}};Ext.lib.Region.getRegion=function(el){var p=Ext.lib.Dom.getXY(el);var t=p[1];var r=p[0]+el.offsetWidth;var b=p[1]+el.offsetHeight;var l=p[0];return new Ext.lib.Region(t,r,b,l);};Ext.lib.Point=function(x,y){if(x instanceof Array){y=x[1];x=x[0];}this.x=this.right=this.left=this[0]=x;this.y=this.top=this.bottom=this[1]=y;};Ext.lib.Point.prototype=new Ext.lib.Region();if(Ext.isIE){Event.observe(window,"unload",function(){var p=Function.prototype;delete p.createSequence;delete p.defer;delete p.createDelegate;delete p.createCallback;delete p.createInterceptor;});}})();
14
+
15
+
16
+
17
+ Ext.DomHelper=function(){var _1=null;var _2=/^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i;var _3=function(o){if(typeof o=="string"){return o;}var b="";if(!o.tag){o.tag="div";}b+="<"+o.tag;for(var _6 in o){if(_6=="tag"||_6=="children"||_6=="cn"||_6=="html"||typeof o[_6]=="function"){continue;}if(_6=="style"){var s=o["style"];if(typeof s=="function"){s=s.call();}if(typeof s=="string"){b+=" style=\""+s+"\"";}else{if(typeof s=="object"){b+=" style=\"";for(var _8 in s){if(typeof s[_8]!="function"){b+=_8+":"+s[_8]+";";}}b+="\"";}}}else{if(_6=="cls"){b+=" class=\""+o["cls"]+"\"";}else{if(_6=="htmlFor"){b+=" for=\""+o["htmlFor"]+"\"";}else{b+=" "+_6+"=\""+o[_6]+"\"";}}}}if(_2.test(o.tag)){b+="/>";}else{b+=">";var cn=o.children||o.cn;if(cn){if(cn instanceof Array){for(var i=0,_b=cn.length;i<_b;i++){b+=_3(cn[i],b);}}else{b+=_3(cn,b);}}if(o.html){b+=o.html;}b+="</"+o.tag+">";}return b;};var _c=function(o,_e){var el=document.createElement(o.tag);var _10=el.setAttribute?true:false;for(var _11 in o){if(_11=="tag"||_11=="children"||_11=="cn"||_11=="html"||_11=="style"||typeof o[_11]=="function"){continue;}if(_11=="cls"){el.className=o["cls"];}else{if(_10){el.setAttribute(_11,o[_11]);}else{el[_11]=o[_11];}}}Ext.DomHelper.applyStyles(el,o.style);var cn=o.children||o.cn;if(cn){if(cn instanceof Array){for(var i=0,len=cn.length;i<len;i++){_c(cn[i],el);}}else{_c(cn,el);}}if(o.html){el.innerHTML=o.html;}if(_e){_e.appendChild(el);}return el;};var _15=function(_16,s,h,e){_1.innerHTML=[s,h,e].join("");var i=-1,el=_1;while(++i<_16){el=el.firstChild;}return el;};var ts="<table>",te="</table>",tbs=ts+"<tbody>",tbe="</tbody>"+te,trs=tbs+"<tr>",tre="</tr>"+tbe;var _22=function(tag,_24,el,_26){if(!_1){_1=document.createElement("div");}var _27;var _28=null;if(tag=="td"){if(_24=="afterbegin"||_24=="beforeend"){return;}if(_24=="beforebegin"){_28=el;el=el.parentNode;}else{_28=el.nextSibling;el=el.parentNode;}_27=_15(4,trs,_26,tre);}else{if(tag=="tr"){if(_24=="beforebegin"){_28=el;el=el.parentNode;_27=_15(3,tbs,_26,tbe);}else{if(_24=="afterend"){_28=el.nextSibling;el=el.parentNode;_27=_15(3,tbs,_26,tbe);}else{if(_24=="afterbegin"){_28=el.firstChild;}_27=_15(4,trs,_26,tre);}}}else{if(tag=="tbody"){if(_24=="beforebegin"){_28=el;el=el.parentNode;_27=_15(2,ts,_26,te);}else{if(_24=="afterend"){_28=el.nextSibling;el=el.parentNode;_27=_15(2,ts,_26,te);}else{if(_24=="afterbegin"){_28=el.firstChild;}_27=_15(3,tbs,_26,tbe);}}}else{if(_24=="beforebegin"||_24=="afterend"){return;}if(_24=="afterbegin"){_28=el.firstChild;}_27=_15(2,ts,_26,te);}}}el.insertBefore(_27,_28);return _27;};return {useDom:false,markup:function(o){return _3(o);},applyStyles:function(el,_2b){if(_2b){el=Ext.fly(el);if(typeof _2b=="string"){var re=/\s?([a-z\-]*)\:\s?([^;]*);?/gi;var _2d;while((_2d=re.exec(_2b))!=null){el.setStyle(_2d[1],_2d[2]);}}else{if(typeof _2b=="object"){for(var _2e in _2b){el.setStyle(_2e,_2b[_2e]);}}else{if(typeof _2b=="function"){Ext.DomHelper.applyStyles(el,_2b.call());}}}}},insertHtml:function(_2f,el,_31){_2f=_2f.toLowerCase();if(el.insertAdjacentHTML){var tag=el.tagName.toLowerCase();if(tag=="table"||tag=="tbody"||tag=="tr"||tag=="td"){var rs;if(rs=_22(tag,_2f,el,_31)){return rs;}}switch(_2f){case "beforebegin":el.insertAdjacentHTML(_2f,_31);return el.previousSibling;case "afterbegin":el.insertAdjacentHTML(_2f,_31);return el.firstChild;case "beforeend":el.insertAdjacentHTML(_2f,_31);return el.lastChild;case "afterend":el.insertAdjacentHTML(_2f,_31);return el.nextSibling;}throw "Illegal insertion point -> \""+_2f+"\"";}var _34=el.ownerDocument.createRange();var _35;switch(_2f){case "beforebegin":_34.setStartBefore(el);_35=_34.createContextualFragment(_31);el.parentNode.insertBefore(_35,el);return el.previousSibling;case "afterbegin":if(el.firstChild){_34.setStartBefore(el.firstChild);_35=_34.createContextualFragment(_31);el.insertBefore(_35,el.firstChild);return el.firstChild;}else{el.innerHTML=_31;return el.firstChild;}case "beforeend":if(el.lastChild){_34.setStartAfter(el.lastChild);_35=_34.createContextualFragment(_31);el.appendChild(_35);return el.lastChild;}else{el.innerHTML=_31;return el.lastChild;}case "afterend":_34.setStartAfter(el);_35=_34.createContextualFragment(_31);el.parentNode.insertBefore(_35,el.nextSibling);return el.nextSibling;}throw "Illegal insertion point -> \""+_2f+"\"";},insertBefore:function(el,o,_38){return this.doInsert(el,o,_38,"beforeBegin");},insertAfter:function(el,o,_3b){return this.doInsert(el,o,_3b,"afterEnd","nextSibling");},insertFirst:function(el,o,_3e){return this.doInsert(el,o,_3e,"afterBegin");},doInsert:function(el,o,_41,pos,_43){el=Ext.getDom(el);var _44;if(this.useDom){_44=_c(o,null);el.parentNode.insertBefore(_44,_43?el[_43]:el);}else{var _45=_3(o);_44=this.insertHtml(pos,el,_45);}return _41?Ext.get(_44,true):_44;},append:function(el,o,_48){el=Ext.getDom(el);var _49;if(this.useDom){_49=_c(o,null);el.appendChild(_49);}else{var _4a=_3(o);_49=this.insertHtml("beforeEnd",el,_4a);}return _48?Ext.get(_49,true):_49;},overwrite:function(el,o,_4d){el=Ext.getDom(el);el.innerHTML=_3(o);return _4d?Ext.get(el.firstChild,true):el.firstChild;},createTemplate:function(o){var _4f=_3(o);return new Ext.Template(_4f);}};}();
18
+
19
+
20
+
21
+ Ext.Template=function(_1){if(_1 instanceof Array){_1=_1.join("");}else{if(arguments.length>1){_1=Array.prototype.join.call(arguments,"");}}this.html=_1;};Ext.Template.prototype={applyTemplate:function(_2){if(this.compiled){return this.compiled(_2);}var _3=this.disableFormats!==true;var fm=Ext.util.Format,_5=this;var fn=function(m,_8,_9,_a){if(_9&&_3){if(_9.substr(0,5)=="this."){return _5.call(_9.substr(5),_2[_8]);}else{if(_a){var re=/^\s*['"](.*)["']\s*$/;_a=_a.split(",");for(var i=0,_d=_a.length;i<_d;i++){_a[i]=_a[i].replace(re,"$1");}_a=[_2[_8]].concat(_a);}else{_a=[_2[_8]];}return fm[_9].apply(fm,_a);}}else{return _2[_8]!==undefined?_2[_8]:"";}};return this.html.replace(this.re,fn);},set:function(_e,_f){this.html=_e;this.compiled=null;if(_f){this.compile();}return this;},disableFormats:false,re:/\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,compile:function(){var fm=Ext.util.Format;var _11=this.disableFormats!==true;var sep=Ext.isGecko?"+":",";var fn=function(m,_15,_16,_17){if(_16&&_11){_17=_17?","+_17:"";if(_16.substr(0,5)!="this."){_16="fm."+_16+"(";}else{_16="this.call(\""+_16.substr(5)+"\", ";_17="";}}else{_17="",_16="(values['"+_15+"'] == undefined ? '' : ";}return "'"+sep+_16+"values['"+_15+"']"+_17+")"+sep+"'";};var _18;if(Ext.isGecko){_18="this.compiled = function(values){ return '"+this.html.replace(/(\r\n|\n)/g,"\\n").replace("'","\\'").replace(this.re,fn)+"';};";}else{_18=["this.compiled = function(values){ return ['"];_18.push(this.html.replace(/(\r\n|\n)/g,"\\n").replace("'","\\'").replace(this.re,fn));_18.push("'].join('');};");_18=_18.join("");}eval(_18);return this;},call:function(_19,_1a){return this[_19](_1a);},insertFirst:function(el,_1c,_1d){return this.doInsert("afterBegin",el,_1c,_1d);},insertBefore:function(el,_1f,_20){return this.doInsert("beforeBegin",el,_1f,_20);},insertAfter:function(el,_22,_23){return this.doInsert("afterEnd",el,_22,_23);},append:function(el,_25,_26){return this.doInsert("beforeEnd",el,_25,_26);},doInsert:function(_27,el,_29,_2a){el=Ext.getDom(el);var _2b=Ext.DomHelper.insertHtml(_27,el,this.applyTemplate(_29));return _2a?Ext.get(_2b,true):_2b;},overwrite:function(el,_2d,_2e){el=Ext.getDom(el);el.innerHTML=this.applyTemplate(_2d);return _2e?Ext.get(el.firstChild,true):el.firstChild;}};Ext.Template.prototype.apply=Ext.Template.prototype.applyTemplate;Ext.DomHelper.Template=Ext.Template;Ext.Template.from=function(el){el=Ext.getDom(el);return new Ext.Template(el.value||el.innerHTML);};Ext.MasterTemplate=function(){Ext.MasterTemplate.superclass.constructor.apply(this,arguments);this.originalHtml=this.html;var st={};var m,re=this.subTemplateRe;re.lastIndex=0;var _33=0;while(m=re.exec(this.html)){var _34=m[1],_35=m[2];st[_33]={name:_34,index:_33,buffer:[],tpl:new Ext.Template(_35)};if(_34){st[_34]=st[_33];}st[_33].tpl.compile();st[_33].tpl.call=this.call.createDelegate(this);_33++;}this.subCount=_33;this.subs=st;};Ext.extend(Ext.MasterTemplate,Ext.Template,{subTemplateRe:/<tpl(?:\sname="([\w-]+)")?>((?:.|\n)*?)<\/tpl>/gi,add:function(_36,_37){if(arguments.length==1){_37=arguments[0];_36=0;}var s=this.subs[_36];s.buffer[s.buffer.length]=s.tpl.apply(_37);return this;},fill:function(_39,_3a,_3b){var a=arguments;if(a.length==1||(a.length==2&&typeof a[1]=="boolean")){_3a=a[0];_39=0;_3b=a[1];}if(_3b){this.reset();}for(var i=0,len=_3a.length;i<len;i++){this.add(_39,_3a[i]);}return this;},reset:function(){var s=this.subs;for(var i=0;i<this.subCount;i++){s[i].buffer=[];}return this;},applyTemplate:function(_41){var s=this.subs;var _43=-1;this.html=this.originalHtml.replace(this.subTemplateRe,function(m,_45){return s[++_43].buffer.join("");});return Ext.MasterTemplate.superclass.applyTemplate.call(this,_41);},apply:function(){return this.applyTemplate.apply(this,arguments);},compile:function(){return this;}});Ext.MasterTemplate.prototype.addAll=Ext.MasterTemplate.prototype.fill;Ext.MasterTemplate.from=function(el){el=Ext.getDom(el);return new Ext.MasterTemplate(el.value||el.innerHTML);};
22
+
23
+
24
+
25
+ Ext.DomQuery=function(){var _1={},_2={},_3={};var _4=/\S/;var _5=/^\s+|\s+$/g;var _6=/\{(\d+)\}/g;var _7=/^(\s?[\/>]\s?|\s|$)/;var _8=/^(#)?([\w-\*]+)/;function child(p,_a){var i=0;var n=p.firstChild;while(n){if(n.nodeType==1){if(++i==_a){return n;}}n=n.nextSibling;}return null;}function next(n){while((n=n.nextSibling)&&n.nodeType!=1){}return n;}function prev(n){while((n=n.previousSibling)&&n.nodeType!=1){}return n;}function clean(d){var n=d.firstChild,ni=-1;while(n){var nx=n.nextSibling;if(n.nodeType==3&&!_4.test(n.nodeValue)){d.removeChild(n);}else{n.nodeIndex=++ni;}n=nx;}return this;}function byClassName(c,a,v,re,cn){if(!v){return c;}var r=[];for(var i=0,ci;ci=c[i];i++){cn=ci.className;if(cn&&(" "+cn+" ").indexOf(v)!=-1){r[r.length]=ci;}}return r;}function attrValue(n,_1c){if(!n.tagName&&typeof n.length!="undefined"){n=n[0];}if(!n){return null;}if(_1c=="for"){return n.htmlFor;}if(_1c=="class"||_1c=="className"){return n.className;}return n.getAttribute(_1c)||n[_1c];}function getNodes(ns,_1e,_1f){var _20=[],cs;if(!ns){return _20;}_1e=_1e?_1e.replace(_5,""):"";_1f=_1f||"*";if(typeof ns.getElementsByTagName!="undefined"){ns=[ns];}if(_1e!="/"&&_1e!=">"){for(var i=0,ni;ni=ns[i];i++){cs=ni.getElementsByTagName(_1f);for(var j=0,ci;ci=cs[j];j++){_20[_20.length]=ci;}}}else{for(var i=0,ni;ni=ns[i];i++){var cn=ni.getElementsByTagName(_1f);for(var j=0,cj;cj=cn[j];j++){if(cj.parentNode==ni){_20[_20.length]=cj;}}}}return _20;}function concat(a,b){if(b.slice){return a.concat(b);}for(var i=0,l=b.length;i<l;i++){a[a.length]=b[i];}return a;}function byTag(cs,_2d){if(cs.tagName||cs==document){cs=[cs];}if(!_2d){return cs;}var r=[];_2d=_2d.toLowerCase();for(var i=0,ci;ci=cs[i];i++){if(ci.nodeType==1&&ci.tagName.toLowerCase()==_2d){r[r.length]=ci;}}return r;}function byId(cs,_32,id){if(cs.tagName||cs==document){cs=[cs];}if(!id){return cs;}var r=[];for(var i=0,ci;ci=cs[i];i++){if(ci&&ci.id==id){r[r.length]=ci;return r;}}return r;}function byAttribute(cs,_38,_39,op,_3b){var r=[],st=_3b=="{";var f=Ext.DomQuery.operators[op];for(var i=0;ci=cs[i];i++){var a;if(st){a=Ext.DomQuery.getStyle(ci,_38);}else{if(_38=="class"||_38=="className"){a=ci.className;}else{if(_38=="for"){a=ci.htmlFor;}else{if(_38=="href"){a=ci.getAttribute("href",2);}else{a=ci.getAttribute(_38);}}}}if((f&&f(a,_39))||(!f&&a)){r[r.length]=ci;}}return r;}function byPseudo(cs,_42,_43){return Ext.DomQuery.pseudos[_42](cs,_43);}var _44=window.ActiveXObject?true:false;var key=30803;function nodupIEXml(cs){var d=++key;cs[0].setAttribute("_nodup",d);var r=[cs[0]];for(var i=1,len=cs.length;i<len;i++){var c=cs[i];if(!c.getAttribute("_nodup")!=d){c.setAttribute("_nodup",d);r[r.length]=c;}}for(var i=0,len=cs.length;i<len;i++){cs[i].removeAttribute("_nodup");}return r;}function nodup(cs){if(!cs){return [];}var len=cs.length,c,i,r=cs,cj;if(!len||typeof cs.nodeType!="undefined"||len==1){return cs;}if(_44&&typeof cs[0].selectSingleNode!="undefined"){return nodupIEXml(cs);}var d=++key;cs[0]._nodup=d;for(i=1;c=cs[i];i++){if(c._nodup!=d){c._nodup=d;}else{r=[];for(var j=0;j<i;j++){r[r.length]=cs[j];}for(j=i+1;cj=cs[j];j++){if(cj._nodup!=d){cj._nodup=d;r[r.length]=cj;}}return r;}}return r;}function quickDiffIEXml(c1,c2){var d=++key;for(var i=0,len=c1.length;i<len;i++){c1[i].setAttribute("_qdiff",d);}var r=[];for(var i=0,len=c2.length;i<len;i++){if(c2[i].getAttribute("_qdiff")!=d){r[r.length]=c2[i];}}for(var i=0,len=c1.length;i<len;i++){c1[i].removeAttribute("_qdiff");}return r;}function quickDiff(c1,c2){var _5c=c1.length;if(!_5c){return c2;}if(_44&&c1[0].selectSingleNode){return quickDiffIEXml(c1,c2);}var d=++key;for(var i=0;i<_5c;i++){c1[i]._qdiff=d;}var r=[];for(var i=0,len=c2.length;i<len;i++){if(c2[i]._qdiff!=d){r[r.length]=c2[i];}}return r;}function quickId(ns,_62,_63,id){if(ns==_63){var d=_63.ownerDocument||_63;return d.getElementById(id);}ns=getNodes(ns,_62,"*");return byId(ns,null,id);}return {getStyle:function(el,_67){return Ext.fly(el).getStyle(_67);},compile:function(_68,_69){while(_68.substr(0,1)=="/"){_68=_68.substr(1);}_69=_69||"select";var fn=["var f = function(root){\n var mode; var n = root || document;\n"];var q=_68,_6c,lq;var tk=Ext.DomQuery.matchers;var _6f=tk.length;var mm;while(q&&lq!=q){lq=q;var tm=q.match(_8);if(_69=="select"){if(tm){if(tm[1]=="#"){fn[fn.length]="n = quickId(n, mode, root, \""+tm[2]+"\");";}else{fn[fn.length]="n = getNodes(n, mode, \""+tm[2]+"\");";}q=q.replace(tm[0],"");}else{if(q.substr(0,1)!="@"){fn[fn.length]="n = getNodes(n, mode, \"*\");";}}}else{if(tm){if(tm[1]=="#"){fn[fn.length]="n = byId(n, null, \""+tm[2]+"\");";}else{fn[fn.length]="n = byTag(n, \""+tm[2]+"\");";}q=q.replace(tm[0],"");}}while(!(mm=q.match(_7))){var _72=false;for(var j=0;j<_6f;j++){var t=tk[j];var m=q.match(t.re);if(m){fn[fn.length]=t.select.replace(_6,function(x,i){return m[i];});q=q.replace(m[0],"");_72=true;break;}}if(!_72){throw "Error parsing selector, parsing failed at \""+q+"\"";}}if(mm[1]){fn[fn.length]="mode=\""+mm[1]+"\";";q=q.replace(mm[1],"");}}fn[fn.length]="return nodup(n);\n}";eval(fn.join(""));return f;},select:function(_78,_79,_7a){if(!_79||_79==document){_79=document;}if(typeof _79=="string"){_79=document.getElementById(_79);}var _7b=_78.split(",");var _7c=[];for(var i=0,len=_7b.length;i<len;i++){var p=_7b[i].replace(_5,"");if(!_1[p]){_1[p]=Ext.DomQuery.compile(p);if(!_1[p]){throw p+" is not a valid selector";}}var _80=_1[p](_79);if(_80&&_80!=document){_7c=_7c.concat(_80);}}return _7c;},selectNode:function(_81,_82){return Ext.DomQuery.select(_81,_82)[0];},selectValue:function(_83,_84,_85){_83=_83.replace(_5,"");if(!_3[_83]){_3[_83]=Ext.DomQuery.compile(_83,"select");}var n=_3[_83](_84);n=n[0]?n[0]:n;var v=(n&&n.firstChild?n.firstChild.nodeValue:null);return (v===null?_85:v);},selectNumber:function(_88,_89,_8a){var v=Ext.DomQuery.selectValue(_88,_89,_8a||0);return parseFloat(v);},is:function(el,ss){if(typeof el=="string"){el=document.getElementById(el);}var _8e=(el instanceof Array);var _8f=Ext.DomQuery.filter(_8e?el:[el],ss);return _8e?(_8f.length==el.length):(_8f.length>0);},filter:function(els,ss,_92){ss=ss.replace(_5,"");if(!_2[ss]){_2[ss]=Ext.DomQuery.compile(ss,"simple");}var _93=_2[ss](els);return _92?quickDiff(_93,els):_93;},matchers:[{re:/^\.([\w-]+)/,select:"n = byClassName(n, null, \" {1} \");"},{re:/^\:([\w-]+)(?:\(((?:[^\s>\/]*|.*?))\))?/,select:"n = byPseudo(n, \"{1}\", \"{2}\");"},{re:/^(?:([\[\{])(?:@)?([\w-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]\}])/,select:"n = byAttribute(n, \"{2}\", \"{4}\", \"{3}\", \"{1}\");"},{re:/^#([\w-]+)/,select:"n = byId(n, null, \"{1}\");"},{re:/^@([\w-]+)/,select:"return {firstChild:{nodeValue:attrValue(n, \"{1}\")}};"}],operators:{"=":function(a,v){return a==v;},"!=":function(a,v){return a!=v;},"^=":function(a,v){return a&&a.substr(0,v.length)==v;},"$=":function(a,v){return a&&a.substr(a.length-v.length)==v;},"*=":function(a,v){return a&&a.indexOf(v)!==-1;},"%=":function(a,v){return (a%v)==0;}},pseudos:{"first-child":function(c){var r=[],n;for(var i=0,ci;ci=n=c[i];i++){while((n=n.previousSibling)&&n.nodeType!=1){}if(!n){r[r.length]=ci;}}return r;},"last-child":function(c){var r=[];for(var i=0,ci;ci=n=c[i];i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(!n){r[r.length]=ci;}}return r;},"nth-child":function(c,a){var r=[];if(a!="odd"&&a!="even"){for(var i=0,ci;ci=c[i];i++){var m=child(ci.parentNode,a);if(m==ci){r[r.length]=m;}}return r;}var p;for(var i=0,l=c.length;i<l;i++){var cp=c[i].parentNode;if(cp!=p){clean(cp);p=cp;}}for(var i=0,ci;ci=c[i];i++){var m=false;if(a=="odd"){m=((ci.nodeIndex+1)%2==1);}else{if(a=="even"){m=((ci.nodeIndex+1)%2==0);}}if(m){r[r.length]=ci;}}return r;},"only-child":function(c){var r=[];for(var i=0,ci;ci=c[i];i++){if(!prev(ci)&&!next(ci)){r[r.length]=ci;}}return r;},"empty":function(c){var r=[];for(var i=0,ci;ci=c[i];i++){var cns=ci.childNodes,j=0,cn,_bd=true;while(cn=cns[j]){++j;if(cn.nodeType==1||cn.nodeType==3){_bd=false;break;}}if(_bd){r[r.length]=ci;}}return r;},"contains":function(c,v){var r=[];for(var i=0,ci;ci=c[i];i++){if(ci.innerHTML.indexOf(v)!==-1){r[r.length]=ci;}}return r;},"nodeValue":function(c,v){var r=[];for(var i=0,ci;ci=c[i];i++){if(ci.firstChild&&ci.firstChild.nodeValue==v){r[r.length]=ci;}}return r;},"checked":function(c){var r=[];for(var i=0,ci;ci=c[i];i++){if(ci.checked==true){r[r.length]=ci;}}return r;},"not":function(c,ss){return Ext.DomQuery.filter(c,ss,true);},"odd":function(c){return this["nth-child"](c,"odd");},"even":function(c){return this["nth-child"](c,"even");},"nth":function(c,a){return c[a-1]||[];},"first":function(c){return c[0]||[];},"last":function(c){return c[c.length-1]||[];},"has":function(c,ss){var s=Ext.DomQuery.select;var r=[];for(var i=0,ci;ci=c[i];i++){if(s(ss,ci).length>0){r[r.length]=ci;}}return r;},"next":function(c,ss){var is=Ext.DomQuery.is;var r=[];for(var i=0,ci;ci=c[i];i++){var n=next(ci);if(n&&is(n,ss)){r[r.length]=ci;}}return r;},"prev":function(c,ss){var is=Ext.DomQuery.is;var r=[];for(var i=0,ci;ci=c[i];i++){var n=prev(ci);if(n&&is(n,ss)){r[r.length]=ci;}}return r;}}};}();Ext.query=Ext.DomQuery.select;
26
+
27
+
28
+
29
+ Ext.util.Observable=function(){if(this.listeners){this.on(this.listeners);delete this.listeners;}};Ext.util.Observable.prototype={fireEvent:function(){var ce=this.events[arguments[0].toLowerCase()];if(typeof ce=="object"){return ce.fire.apply(ce,Array.prototype.slice.call(arguments,1));}else{return true;}},filterOptRe:/^(?:scope|delay|buffer|single)$/,addListener:function(_2,fn,_4,o){if(typeof _2=="object"){o=_2;for(var e in o){if(this.filterOptRe.test(e)){continue;}if(typeof o[e]=="function"){this.addListener(e,o[e],o.scope,o);}else{this.addListener(e,o[e].fn,o[e].scope,o[e]);}}return;}o=(!o||typeof o=="boolean")?{}:o;_2=_2.toLowerCase();var ce=this.events[_2]||true;if(typeof ce=="boolean"){ce=new Ext.util.Event(this,_2);this.events[_2]=ce;}ce.addListener(fn,_4,o);},removeListener:function(_8,fn,_a){var ce=this.events[_8.toLowerCase()];if(typeof ce=="object"){ce.removeListener(fn,_a);}},purgeListeners:function(){for(var _c in this.events){if(typeof this.events[_c]=="object"){this.events[_c].clearListeners();}}},relayEvents:function(o,_e){var _f=function(_10){return function(){return this.fireEvent.apply(this,Ext.combine(_10,Array.prototype.slice.call(arguments,0)));};};for(var i=0,len=_e.length;i<len;i++){var _13=_e[i];if(!this.events[_13]){this.events[_13]=true;}o.on(_13,_f(_13),this);}},addEvents:function(o){if(!this.events){this.events={};}Ext.applyIf(this.events,o);},hasListener:function(_15){var e=this.events[_15];return typeof e=="object"&&e.listeners.length>0;}};Ext.util.Observable.prototype.on=Ext.util.Observable.prototype.addListener;Ext.util.Observable.prototype.un=Ext.util.Observable.prototype.removeListener;Ext.util.Observable.capture=function(o,fn,_19){o.fireEvent=o.fireEvent.createInterceptor(fn,_19);};Ext.util.Observable.releaseCapture=function(o){o.fireEvent=Ext.util.Observable.prototype.fireEvent;};(function(){var _1b=function(h,o,_1e){var _1f=new Ext.util.DelayedTask();return function(){_1f.delay(o.buffer,h,_1e,Array.prototype.slice.call(arguments,0));};};var _20=function(h,e,fn,_24){return function(){e.removeListener(fn,_24);return h.apply(_24,arguments);};};var _25=function(h,o,_28){return function(){var _29=Array.prototype.slice.call(arguments,0);setTimeout(function(){h.apply(_28,_29);},o.delay||10);};};Ext.util.Event=function(obj,_2b){this.name=_2b;this.obj=obj;this.listeners=[];};Ext.util.Event.prototype={addListener:function(fn,_2d,_2e){var o=_2e||{};_2d=_2d||this.obj;if(!this.isListening(fn,_2d)){var l={fn:fn,scope:_2d,options:o};var h=fn;if(o.delay){h=_25(h,o,_2d);}if(o.single){h=_20(h,this,fn,_2d);}if(o.buffer){h=_1b(h,o,_2d);}l.fireFn=h;if(!this.firing){this.listeners.push(l);}else{this.listeners=this.listeners.slice(0);this.listeners.push(l);}}},findListener:function(fn,_33){_33=_33||this.obj;var ls=this.listeners;for(var i=0,len=ls.length;i<len;i++){var l=ls[i];if(l.fn==fn&&l.scope==_33){return i;}}return -1;},isListening:function(fn,_39){return this.findListener(fn,_39)!=-1;},removeListener:function(fn,_3b){var _3c;if((_3c=this.findListener(fn,_3b))!=-1){if(!this.firing){this.listeners.splice(_3c,1);}else{this.listeners=this.listeners.slice(0);this.listeners.splice(_3c,1);}return true;}return false;},clearListeners:function(){this.listeners=[];},fire:function(){var ls=this.listeners,_3e,len=ls.length;if(len>0){this.firing=true;var _40=Array.prototype.slice.call(arguments,0);for(var i=0;i<len;i++){var l=ls[i];if(l.fireFn.apply(l.scope,arguments)===false){this.firing=false;return false;}}this.firing=false;}return true;}};})();
30
+
31
+
32
+
33
+ Ext.EventManager=function(){var _1,_2,_3=false;var _4,_5,_6,_7;var E=Ext.lib.Event;var D=Ext.lib.Dom;var _a=function(){if(!_3){_3=true;Ext.isReady=true;if(_2){clearInterval(_2);}if(Ext.isGecko||Ext.isOpera){document.removeEventListener("DOMContentLoaded",_a,false);}if(_1){_1.fire();_1.clearListeners();}}};var _b=function(){_1=new Ext.util.Event();if(Ext.isGecko||Ext.isOpera){document.addEventListener("DOMContentLoaded",_a,false);}else{if(Ext.isIE){document.write("<s"+"cript id=\"ie-deferred-loader\" defer=\"defer\" src=\"/"+"/:\"></s"+"cript>");var _c=document.getElementById("ie-deferred-loader");_c.onreadystatechange=function(){if(this.readyState=="complete"){_a();_c.onreadystatechange=null;_c.parentNode.removeChild(_c);}};}else{if(Ext.isSafari){_2=setInterval(function(){var rs=document.readyState;if(rs=="complete"){_a();}},10);}}}E.on(window,"load",_a);};var _e=function(h,o){var _11=new Ext.util.DelayedTask(h);return function(e){e=new Ext.EventObjectImpl(e);_11.delay(o.buffer,h,null,[e]);};};var _13=function(h,el,_16,fn){return function(e){Ext.EventManager.removeListener(el,_16,fn);h(e);};};var _19=function(h,o){return function(e){e=new Ext.EventObjectImpl(e);setTimeout(function(){h(e);},o.delay||10);};};var _1d=function(_1e,_1f,opt,fn,_22){var o=(!opt||typeof opt=="boolean")?{}:opt;fn=fn||o.fn;_22=_22||o.scope;var el=Ext.getDom(_1e);if(!el){throw "Error listening for \""+_1f+"\". Element \""+_1e+"\" doesn't exist.";}var h=function(e){e=Ext.EventObject.setEvent(e);var t;if(o.delegate){t=e.getTarget(o.delegate,el);if(!t){return;}}else{t=e.target;}if(o.stopEvent===true){e.stopEvent();}if(o.preventDefault===true){e.preventDefault();}if(o.stopPropagation===true){e.stopPropagation();}if(o.normalized===false){e=e.browserEvent;}fn.call(_22||el,e,t,o);};if(o.delay){h=_19(h,o);}if(o.single){h=_13(h,el,_1f,fn);}if(o.buffer){h=_e(h,o);}fn._handlers=fn._handlers||[];fn._handlers.push([Ext.id(el),_1f,h]);E.on(el,_1f,h);if(_1f=="mousewheel"&&el.addEventListener){el.addEventListener("DOMMouseScroll",h,false);E.on(window,"unload",function(){el.removeEventListener("DOMMouseScroll",h,false);});}if(_1f=="mousedown"&&el==document){Ext.EventManager.stoppedMouseDownEvent.addListener(h);}return h;};var _28=function(el,_2a,fn){var id=Ext.id(el),hds=fn._handlers,hd=fn;if(hds){for(var i=0,len=hds.length;i<len;i++){var h=hds[i];if(h[0]==id&&h[1]==_2a){hd=h[2];hds.splice(i,1);break;}}}E.un(el,_2a,hd);el=Ext.getDom(el);if(_2a=="mousewheel"&&el.addEventListener){el.removeEventListener("DOMMouseScroll",hd,false);}if(_2a=="mousedown"&&el==document){Ext.EventManager.stoppedMouseDownEvent.removeListener(hd);}};var _32=/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized)$/;var pub={wrap:function(fn,_35,_36){return function(e){Ext.EventObject.setEvent(e);fn.call(_36?_35||window:window,Ext.EventObject,_35);};},addListener:function(_38,_39,fn,_3b,_3c){if(typeof _39=="object"){var o=_39;for(var e in o){if(_32.test(e)){continue;}if(typeof o[e]=="function"){_1d(_38,e,o,o[e],o.scope);}else{_1d(_38,e,o[e]);}}return;}return _1d(_38,_39,_3c,fn,_3b);},removeListener:function(_3f,_40,fn){return _28(_3f,_40,fn);},onDocumentReady:function(fn,_43,_44){if(_3){fn.call(_43||window,_43);return;}if(!_1){_b();}_1.addListener(fn,_43,_44);},onWindowResize:function(fn,_46,_47){if(!_4){_4=new Ext.util.Event();_5=new Ext.util.DelayedTask(function(){_4.fire(D.getViewWidth(),D.getViewHeight());});E.on(window,"resize",function(){if(Ext.isIE){_5.delay(50);}else{_4.fire(D.getViewWidth(),D.getViewHeight());}});}_4.addListener(fn,_46,_47);},onTextResize:function(fn,_49,_4a){if(!_6){_6=new Ext.util.Event();var _4b=new Ext.Element(document.createElement("div"));_4b.dom.className="x-text-resize";_4b.dom.innerHTML="X";_4b.appendTo(document.body);_7=_4b.dom.offsetHeight;setInterval(function(){if(_4b.dom.offsetHeight!=_7){_6.fire(_7,_7=_4b.dom.offsetHeight);}},this.textResizeInterval);}_6.addListener(fn,_49,_4a);},removeResizeListener:function(fn,_4d){if(_4){_4.removeListener(fn,_4d);}},fireResize:function(){if(_4){_4.fire(D.getViewWidth(),D.getViewHeight());}},ieDeferSrc:false,textResizeInterval:50};pub.on=pub.addListener;pub.un=pub.removeListener;pub.stoppedMouseDownEvent=new Ext.util.Event();return pub;}();Ext.onReady=Ext.EventManager.onDocumentReady;Ext.onReady(function(){var bd=Ext.get(document.body);if(!bd){return;}var cls=Ext.isIE?"ext-ie":Ext.isGecko?"ext-gecko":Ext.isOpera?"ext-opera":Ext.isSafari?"ext-safari":"";if(Ext.isBorderBox){cls+=" ext-border-box";}if(Ext.isStrict){cls+=" ext-strict";}bd.addClass(cls);});Ext.EventObject=function(){var E=Ext.lib.Event;var _51={63234:37,63235:39,63232:38,63233:40,63276:33,63277:34,63272:46,63273:36,63275:35};var _52=Ext.isIE?{1:0,4:1,2:2}:(Ext.isSafari?{1:0,2:1,3:2}:{0:0,1:1,2:2});Ext.EventObjectImpl=function(e){if(e){this.setEvent(e.browserEvent||e);}};Ext.EventObjectImpl.prototype={browserEvent:null,button:-1,shiftKey:false,ctrlKey:false,altKey:false,BACKSPACE:8,TAB:9,RETURN:13,ENTER:13,SHIFT:16,CONTROL:17,ESC:27,SPACE:32,PAGEUP:33,PAGEDOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46,F5:116,setEvent:function(e){if(e==this||(e&&e.browserEvent)){return e;}this.browserEvent=e;if(e){this.button=e.button?_52[e.button]:(e.which?e.which-1:-1);this.shiftKey=e.shiftKey;this.ctrlKey=e.ctrlKey||e.metaKey;this.altKey=e.altKey;this.keyCode=e.keyCode;this.charCode=e.charCode;this.target=E.getTarget(e);this.xy=E.getXY(e);}else{this.button=-1;this.shiftKey=false;this.ctrlKey=false;this.altKey=false;this.keyCode=0;this.charCode=0;this.target=null;this.xy=[0,0];}return this;},stopEvent:function(){if(this.browserEvent){if(this.browserEvent.type=="mousedown"){Ext.EventManager.stoppedMouseDownEvent.fire(this);}E.stopEvent(this.browserEvent);}},preventDefault:function(){if(this.browserEvent){E.preventDefault(this.browserEvent);}},isNavKeyPress:function(){var k=this.keyCode;k=Ext.isSafari?(_51[k]||k):k;return (k>=33&&k<=40)||k==this.RETURN||k==this.TAB||k==this.ESC;},isSpecialKey:function(){var k=this.keyCode;return k==9||k==13||k==40||k==27||(k==16)||(k==17)||(k>=18&&k<=20)||(k>=33&&k<=35)||(k>=36&&k<=39)||(k>=44&&k<=45);},stopPropagation:function(){if(this.browserEvent){if(this.browserEvent.type=="mousedown"){Ext.EventManager.stoppedMouseDownEvent.fire(this);}E.stopPropagation(this.browserEvent);}},getCharCode:function(){return this.charCode||this.keyCode;},getKey:function(){var k=this.keyCode||this.charCode;return Ext.isSafari?(_51[k]||k):k;},getPageX:function(){return this.xy[0];},getPageY:function(){return this.xy[1];},getTime:function(){if(this.browserEvent){return E.getTime(this.browserEvent);}return null;},getXY:function(){return this.xy;},getTarget:function(_58,_59,_5a){return _58?Ext.fly(this.target).findParent(_58,_59,_5a):this.target;},getRelatedTarget:function(){if(this.browserEvent){return E.getRelatedTarget(this.browserEvent);}return null;},getWheelDelta:function(){var e=this.browserEvent;var _5c=0;if(e.wheelDelta){_5c=e.wheelDelta/120;if(window.opera){_5c=-_5c;}}else{if(e.detail){_5c=-e.detail/3;}}return _5c;},hasModifier:function(){return ((this.ctrlKey||this.altKey)||this.shiftKey)?true:false;},within:function(el,_5e){var t=this[_5e?"getRelatedTarget":"getTarget"]();return t&&Ext.fly(el).contains(t);},getPoint:function(){return new Ext.lib.Point(this.xy[0],this.xy[1]);}};return new Ext.EventObjectImpl();}();
34
+
35
+
36
+
37
+ (function(){var D=Ext.lib.Dom;var E=Ext.lib.Event;var A=Ext.lib.Anim;var _4={};var _5=/(-[a-z])/gi;var _6=function(m,a){return a.charAt(1).toUpperCase();};var _9=document.defaultView;Ext.Element=function(_a,_b){var _c=typeof _a=="string"?document.getElementById(_a):_a;if(!_c){return null;}if(!_b&&Ext.Element.cache[_c.id]){return Ext.Element.cache[_c.id];}this.dom=_c;this.id=_c.id||Ext.id(_c);};var El=Ext.Element;El.prototype={originalDisplay:"",visibilityMode:1,defaultUnit:"px",setVisibilityMode:function(_e){this.visibilityMode=_e;return this;},enableDisplayMode:function(_f){this.setVisibilityMode(El.DISPLAY);if(typeof _f!="undefined"){this.originalDisplay=_f;}return this;},findParent:function(_10,_11,_12){var p=this.dom,b=document.body,_15=0,dq=Ext.DomQuery,_17;_11=_11||50;if(typeof _11!="number"){_17=Ext.getDom(_11);_11=10;}while(p&&p.nodeType==1&&_15<_11&&p!=b&&p!=_17){if(dq.is(p,_10)){return _12?Ext.get(p):p;}_15++;p=p.parentNode;}return null;},findParentNode:function(_18,_19,_1a){var p=Ext.fly(this.dom.parentNode,"_internal");return p?p.findParent(_18,_19,_1a):null;},up:function(_1c,_1d){return this.findParentNode(_1c,_1d,true);},is:function(_1e){return Ext.DomQuery.is(this.dom,_1e);},animate:function(_1f,_20,_21,_22,_23){this.anim(_1f,{duration:_20,callback:_21,easing:_22},_23);return this;},anim:function(_24,opt,_26,_27,_28,cb){_26=_26||"run";opt=opt||{};var _2a=Ext.lib.Anim[_26](this.dom,_24,(opt.duration||_27)||0.35,(opt.easing||_28)||"easeOut",function(){Ext.callback(cb,this);Ext.callback(opt.callback,opt.scope||this,[this,opt]);},this);opt.anim=_2a;return _2a;},preanim:function(a,i){return !a[i]?false:(typeof a[i]=="object"?a[i]:{duration:a[i+1],callback:a[i+2],easing:a[i+3]});},clean:function(_2d){if(this.isCleaned&&_2d!==true){return this;}var ns=/\S/;var d=this.dom,n=d.firstChild,ni=-1;while(n){var nx=n.nextSibling;if(n.nodeType==3&&!ns.test(n.nodeValue)){d.removeChild(n);}else{n.nodeIndex=++ni;}n=nx;}this.isCleaned=true;return this;},calcOffsetsTo:function(el){el=Ext.get(el),d=el.dom;var _34=false;if(el.getStyle("position")=="static"){el.position("relative");_34=true;}var x=0,y=0;var op=this.dom;while(op&&op!=d&&op.tagName!="HTML"){x+=op.offsetLeft;y+=op.offsetTop;op=op.offsetParent;}if(_34){el.position("static");}return [x,y];},scrollIntoView:function(_38,_39){var c=Ext.getDom(_38)||document.body;var el=this.dom;var o=this.calcOffsetsTo(c),l=o[0],t=o[1],b=t+el.offsetHeight,r=l+el.offsetWidth;var ch=c.clientHeight;var ct=parseInt(c.scrollTop,10);var cl=parseInt(c.scrollLeft,10);var cb=ct+ch;var cr=cl+c.clientWidth;if(t<ct){c.scrollTop=t;}else{if(b>cb){c.scrollTop=b-ch;}}if(_39!==false){if(l<cl){c.scrollLeft=l;}else{if(r>cr){c.scrollLeft=r-c.clientWidth;}}}return this;},scrollChildIntoView:function(_46){Ext.fly(_46,"_scrollChildIntoView").scrollIntoView(this);},autoHeight:function(_47,_48,_49,_4a){var _4b=this.getHeight();this.clip();this.setHeight(1);setTimeout(function(){var _4c=parseInt(this.dom.scrollHeight,10);if(!_47){this.setHeight(_4c);this.unclip();if(typeof _49=="function"){_49();}}else{this.setHeight(_4b);this.setHeight(_4c,_47,_48,function(){this.unclip();if(typeof _49=="function"){_49();}}.createDelegate(this),_4a);}}.createDelegate(this),0);return this;},contains:function(el){if(!el){return false;}return D.isAncestor(this.dom,el.dom?el.dom:el);},isVisible:function(_4e){var vis=!(this.getStyle("visibility")=="hidden"||this.getStyle("display")=="none");if(_4e!==true||!vis){return vis;}var p=this.dom.parentNode;while(p&&p.tagName.toLowerCase()!="body"){if(!Ext.fly(p,"_isVisible").isVisible()){return false;}p=p.parentNode;}return true;},select:function(_51,_52){return El.select("#"+Ext.id(this.dom)+" "+_51,_52);},query:function(_53,_54){return Ext.DomQuery.select("#"+Ext.id(this.dom)+" "+_53);},child:function(_55,_56){var n=Ext.DomQuery.selectNode("#"+Ext.id(this.dom)+" "+_55);return _56?n:Ext.get(n);},down:function(_58,_59){var n=Ext.DomQuery.selectNode("#"+Ext.id(this.dom)+" > "+_58);return _59?n:Ext.get(n);},initDD:function(_5b,_5c,_5d){var dd=new Ext.dd.DD(Ext.id(this.dom),_5b,_5c);return Ext.apply(dd,_5d);},initDDProxy:function(_5f,_60,_61){var dd=new Ext.dd.DDProxy(Ext.id(this.dom),_5f,_60);return Ext.apply(dd,_61);},initDDTarget:function(_63,_64,_65){var dd=new Ext.dd.DDTarget(Ext.id(this.dom),_63,_64);return Ext.apply(dd,_65);},setVisible:function(_67,_68){if(!_68||!A){if(this.visibilityMode==El.DISPLAY){this.setDisplayed(_67);}else{this.fixDisplay();this.dom.style.visibility=_67?"visible":"hidden";}}else{var dom=this.dom;var _6a=this.visibilityMode;if(_67){this.setOpacity(0.01);this.setVisible(true);}this.anim({opacity:{to:(_67?1:0)}},this.preanim(arguments,1),null,0.35,"easeIn",function(){if(!_67){if(_6a==El.DISPLAY){dom.style.display="none";}else{dom.style.visibility="hidden";}Ext.get(dom).setOpacity(1);}});}return this;},isDisplayed:function(){return this.getStyle("display")!="none";},toggle:function(_6b){this.setVisible(!this.isVisible(),this.preanim(arguments,0));return this;},setDisplayed:function(_6c){if(typeof _6c=="boolean"){_6c=_6c?this.originalDisplay:"none";}this.setStyle("display",_6c);return this;},focus:function(){try{this.dom.focus();}catch(e){}return this;},blur:function(){try{this.dom.blur();}catch(e){}return this;},addClass:function(_6d){if(_6d instanceof Array){for(var i=0,len=_6d.length;i<len;i++){this.addClass(_6d[i]);}}else{if(_6d&&!this.hasClass(_6d)){this.dom.className=this.dom.className+" "+_6d;}}return this;},radioClass:function(_70){var _71=this.dom.parentNode.childNodes;for(var i=0;i<_71.length;i++){var s=_71[i];if(s.nodeType==1){Ext.get(s).removeClass(_70);}}this.addClass(_70);return this;},removeClass:function(_74){if(!_74||!this.dom.className){return this;}if(_74 instanceof Array){for(var i=0,len=_74.length;i<len;i++){this.removeClass(_74[i]);}}else{if(this.hasClass(_74)){var re=this.classReCache[_74];if(!re){re=new RegExp("(?:^|\\s+)"+_74+"(?:\\s+|$)","g");this.classReCache[_74]=re;}this.dom.className=this.dom.className.replace(re," ");}}return this;},classReCache:{},toggleClass:function(_78){if(this.hasClass(_78)){this.removeClass(_78);}else{this.addClass(_78);}return this;},hasClass:function(_79){return _79&&(" "+this.dom.className+" ").indexOf(" "+_79+" ")!=-1;},replaceClass:function(_7a,_7b){this.removeClass(_7a);this.addClass(_7b);return this;},getStyles:function(){var a=arguments,len=a.length,r={};for(var i=0;i<len;i++){r[a[i]]=this.getStyle(a[i]);}return r;},getStyle:function(){return _9&&_9.getComputedStyle?function(_80){var el=this.dom,v,cs,_84;if(_80=="float"){_80="cssFloat";}if(v=el.style[_80]){return v;}if(cs=_9.getComputedStyle(el,"")){if(!(_84=_4[_80])){_84=_4[_80]=_80.replace(_5,_6);}return cs[_84];}return null;}:function(_85){var el=this.dom,v,cs,_89;if(_85=="opacity"){if(typeof el.filter=="string"){var fv=parseFloat(el.filter.match(/alpha\(opacity=(.*)\)/i)[1]);if(!isNaN(fv)){return fv?fv/100:0;}}return 1;}else{if(_85=="float"){_85="styleFloat";}}if(!(_89=_4[_85])){_89=_4[_85]=_85.replace(_5,_6);}if(v=el.style[_89]){return v;}if(cs=el.currentStyle){return cs[_89];}return null;};}(),setStyle:function(_8b,_8c){if(typeof _8b=="string"){var _8d;if(!(_8d=_4[_8b])){_8d=_4[_8b]=_8b.replace(_5,_6);}if(_8d=="opacity"){this.setOpacity(_8c);}else{this.dom.style[_8d]=_8c;}}else{for(var _8e in _8b){if(typeof _8b[_8e]!="function"){this.setStyle(_8e,_8b[_8e]);}}}return this;},applyStyles:function(_8f){Ext.DomHelper.applyStyles(this.dom,_8f);return this;},getX:function(){return D.getX(this.dom);},getY:function(){return D.getY(this.dom);},getXY:function(){return D.getXY(this.dom);},setX:function(x,_91){if(!_91||!A){D.setX(this.dom,x);}else{this.setXY([x,this.getY()],this.preanim(arguments,1));}return this;},setY:function(y,_93){if(!_93||!A){D.setY(this.dom,y);}else{this.setXY([this.getX(),y],this.preanim(arguments,1));}return this;},setLeft:function(_94){this.setStyle("left",this.addUnits(_94));return this;},setTop:function(top){this.setStyle("top",this.addUnits(top));return this;},setRight:function(_96){this.setStyle("right",this.addUnits(_96));return this;},setBottom:function(_97){this.setStyle("bottom",this.addUnits(_97));return this;},setXY:function(pos,_99){if(!_99||!A){D.setXY(this.dom,pos);}else{this.anim({points:{to:pos}},this.preanim(arguments,1),"motion");}return this;},setLocation:function(x,y,_9c){this.setXY([x,y],this.preanim(arguments,2));return this;},moveTo:function(x,y,_9f){this.setXY([x,y],this.preanim(arguments,2));return this;},getRegion:function(){return D.getRegion(this.dom);},getHeight:function(_a0){var h=this.dom.offsetHeight||0;return _a0!==true?h:h-this.getBorderWidth("tb")-this.getPadding("tb");},getWidth:function(_a2){var w=this.dom.offsetWidth||0;return _a2!==true?w:w-this.getBorderWidth("lr")-this.getPadding("lr");},getComputedHeight:function(){var h=Math.max(this.dom.offsetHeight,this.dom.clientHeight);if(!h){h=parseInt(this.getStyle("height"),10)||0;if(!this.isBorderBox()){h+=this.getFrameWidth("tb");}}return h;},getComputedWidth:function(){var w=Math.max(this.dom.offsetWidth,this.dom.clientWidth);if(!w){w=parseInt(this.getStyle("width"),10)||0;if(!this.isBorderBox()){w+=this.getFrameWidth("lr");}}return w;},getSize:function(_a6){return {width:this.getWidth(_a6),height:this.getHeight(_a6)};},getViewSize:function(){var d=this.dom,doc=document,aw=0,ah=0;if(d==doc||d==doc.body){return {width:D.getViewWidth(),height:D.getViewHeight()};}else{return {width:d.clientWidth,height:d.clientHeight};}},getValue:function(_ab){return _ab?parseInt(this.dom.value,10):this.dom.value;},adjustWidth:function(_ac){if(typeof _ac=="number"){if(this.autoBoxAdjust&&!this.isBorderBox()){_ac-=(this.getBorderWidth("lr")+this.getPadding("lr"));}if(_ac<0){_ac=0;}}return _ac;},adjustHeight:function(_ad){if(typeof _ad=="number"){if(this.autoBoxAdjust&&!this.isBorderBox()){_ad-=(this.getBorderWidth("tb")+this.getPadding("tb"));}if(_ad<0){_ad=0;}}return _ad;},setWidth:function(_ae,_af){_ae=this.adjustWidth(_ae);if(!_af||!A){this.dom.style.width=this.addUnits(_ae);}else{this.anim({width:{to:_ae}},this.preanim(arguments,1));}return this;},setHeight:function(_b0,_b1){_b0=this.adjustHeight(_b0);if(!_b1||!A){this.dom.style.height=this.addUnits(_b0);}else{this.anim({height:{to:_b0}},this.preanim(arguments,1));}return this;},setSize:function(_b2,_b3,_b4){if(typeof _b2=="object"){_b3=_b2.height;_b2=_b2.width;}_b2=this.adjustWidth(_b2);_b3=this.adjustHeight(_b3);if(!_b4||!A){this.dom.style.width=this.addUnits(_b2);this.dom.style.height=this.addUnits(_b3);}else{this.anim({width:{to:_b2},height:{to:_b3}},this.preanim(arguments,2));}return this;},setBounds:function(x,y,_b7,_b8,_b9){if(!_b9||!A){this.setSize(_b7,_b8);this.setLocation(x,y);}else{_b7=this.adjustWidth(_b7);_b8=this.adjustHeight(_b8);this.anim({points:{to:[x,y]},width:{to:_b7},height:{to:_b8}},this.preanim(arguments,4),"motion");}return this;},setRegion:function(_ba,_bb){this.setBounds(_ba.left,_ba.top,_ba.right-_ba.left,_ba.bottom-_ba.top,this.preanim(arguments,1));return this;},addListener:function(_bc,fn,_be,_bf){Ext.EventManager.on(this.dom,_bc,fn,_be||this,_bf);},removeListener:function(_c0,fn){Ext.EventManager.removeListener(this.dom,_c0,fn);return this;},removeAllListeners:function(){E.purgeElement(this.dom);return this;},relayEvent:function(_c2,_c3){this.on(_c2,function(e){_c3.fireEvent(_c2,e);});},setOpacity:function(_c5,_c6){if(!_c6||!A){var s=this.dom.style;if(Ext.isIE){s.zoom=1;s.filter=(s.filter||"").replace(/alpha\([^\)]*\)/gi,"")+(_c5==1?"":"alpha(opacity="+_c5*100+")");}else{s.opacity=_c5;}}else{this.anim({opacity:{to:_c5}},this.preanim(arguments,1),null,0.35,"easeIn");}return this;},getLeft:function(_c8){if(!_c8){return this.getX();}else{return parseInt(this.getStyle("left"),10)||0;}},getRight:function(_c9){if(!_c9){return this.getX()+this.getWidth();}else{return (this.getLeft(true)+this.getWidth())||0;}},getTop:function(_ca){if(!_ca){return this.getY();}else{return parseInt(this.getStyle("top"),10)||0;}},getBottom:function(_cb){if(!_cb){return this.getY()+this.getHeight();}else{return (this.getTop(true)+this.getHeight())||0;}},position:function(pos,_cd,x,y){if(!pos){if(this.getStyle("position")=="static"){this.setStyle("position","relative");}}else{this.setStyle("position",pos);}if(_cd){this.setStyle("z-index",_cd);}if(x!==undefined&&y!==undefined){this.setXY([x,y]);}else{if(x!==undefined){this.setX(x);}else{if(y!==undefined){this.setY(y);}}}},clearPositioning:function(_d0){_d0=_d0||"";this.setStyle({"left":_d0,"right":_d0,"top":_d0,"bottom":_d0,"z-index":"","position":"static"});return this;},getPositioning:function(){var l=this.getStyle("left");var t=this.getStyle("top");return {"position":this.getStyle("position"),"left":l,"right":l?"":this.getStyle("right"),"top":t,"bottom":t?"":this.getStyle("bottom"),"z-index":this.getStyle("z-index")};},getBorderWidth:function(_d3){return this.addStyles(_d3,El.borders);},getPadding:function(_d4){return this.addStyles(_d4,El.paddings);},setPositioning:function(pc){this.applyStyles(pc);if(pc.right=="auto"){this.dom.style.right="";}if(pc.bottom=="auto"){this.dom.style.bottom="";}return this;},fixDisplay:function(){if(this.getStyle("display")=="none"){this.setStyle("visibility","hidden");this.setStyle("display",this.originalDisplay);if(this.getStyle("display")=="none"){this.setStyle("display","block");}}},setLeftTop:function(_d6,top){this.dom.style.left=this.addUnits(_d6);this.dom.style.top=this.addUnits(top);return this;},move:function(_d8,_d9,_da){var xy=this.getXY();_d8=_d8.toLowerCase();switch(_d8){case "l":case "left":this.moveTo(xy[0]-_d9,xy[1],this.preanim(arguments,2));break;case "r":case "right":this.moveTo(xy[0]+_d9,xy[1],this.preanim(arguments,2));break;case "t":case "top":case "up":this.moveTo(xy[0],xy[1]-_d9,this.preanim(arguments,2));break;case "b":case "bottom":case "down":this.moveTo(xy[0],xy[1]+_d9,this.preanim(arguments,2));break;}return this;},clip:function(){if(!this.isClipped){this.isClipped=true;this.originalClip={"o":this.getStyle("overflow"),"x":this.getStyle("overflow-x"),"y":this.getStyle("overflow-y")};this.setStyle("overflow","hidden");this.setStyle("overflow-x","hidden");this.setStyle("overflow-y","hidden");}return this;},unclip:function(){if(this.isClipped){this.isClipped=false;var o=this.originalClip;if(o.o){this.setStyle("overflow",o.o);}if(o.x){this.setStyle("overflow-x",o.x);}if(o.y){this.setStyle("overflow-y",o.y);}}return this;},getAnchorXY:function(_dd,_de,s){var w,h,vp=false;if(!s){var d=this.dom;if(d==document.body||d==document){vp=true;w=D.getViewWidth();h=D.getViewHeight();}else{w=this.getWidth();h=this.getHeight();}}else{w=s.width;h=s.height;}var x=0,y=0,r=Math.round;switch((_dd||"tl").toLowerCase()){case "c":x=r(w*0.5);y=r(h*0.5);break;case "t":x=r(w*0.5);y=0;break;case "l":x=0;y=r(h*0.5);break;case "r":x=w;y=r(h*0.5);break;case "b":x=r(w*0.5);y=h;break;case "tl":x=0;y=0;break;case "bl":x=0;y=h;break;case "br":x=w;y=h;break;case "tr":x=w;y=0;break;}if(_de===true){return [x,y];}if(vp){var sc=this.getScroll();return [x+sc.left,y+sc.top];}var o=this.getXY();return [x+o[0],y+o[1]];},getAlignToXY:function(el,p,o){el=Ext.get(el),d=this.dom;if(!el.dom){throw "Element.alignTo with an element that doesn't exist";}var c=false;var p1="",p2="";o=o||[0,0];if(!p){p="tl-bl";}else{if(p=="?"){p="tl-bl?";}else{if(p.indexOf("-")==-1){p="tl-"+p;}}}p=p.toLowerCase();var m=p.match(/^([a-z]+)-([a-z]+)(\?)?$/);if(!m){throw "Element.alignTo with an invalid alignment "+p;}p1=m[1],p2=m[2],c=m[3]?true:false;var a1=this.getAnchorXY(p1,true);var a2=el.getAnchorXY(p2,false);var x=a2[0]-a1[0]+o[0];var y=a2[1]-a1[1]+o[1];if(c){var w=this.getWidth(),h=this.getHeight(),r=el.getRegion();var dw=D.getViewWidth()-5,dh=D.getViewHeight()-5;var p1y=p1.charAt(0),p1x=p1.charAt(p1.length-1);var p2y=p2.charAt(0),p2x=p2.charAt(p2.length-1);var _fd=((p1y=="t"&&p2y=="b")||(p1y=="b"&&p2y=="t"));var _fe=((p1x=="r"&&p2x=="l")||(p1x=="l"&&p2x=="r"));var doc=document;var _100=(doc.documentElement.scrollLeft||doc.body.scrollLeft||0)+5;var _101=(doc.documentElement.scrollTop||doc.body.scrollTop||0)+5;if((x+w)>dw){x=_fe?r.left-w:dw-w;}if(x<_100){x=_fe?r.right:_100;}if((y+h)>dh){y=_fd?r.top-h:dh-h;}if(y<_101){y=_fd?r.bottom:_101;}}return [x,y];},getConstrainToXY:function(){var os={top:0,left:0,bottom:0,right:0};return function(el,_104,_105){el=Ext.get(el);_105=_105?Ext.applyIf(_105,os):os;var vw,vh,vx=0,vy=0;if(el.dom==document.body||el.dom==document){vw=Ext.lib.Dom.getViewWidth();vh=Ext.lib.Dom.getViewHeight();}else{vw=el.dom.clientWidth;vh=el.dom.clientHeight;if(!_104){var vxy=el.getXY();vx=vxy[0];vy=vxy[1];}}var s=el.getScroll();vx+=_105.left+s.left;vy+=_105.top+s.top;vw-=_105.right;vh-=_105.bottom;var vr=vx+vw;var vb=vy+vh;var xy=!_104?this.getXY():[this.getLeft(true),this.getTop(true)];var x=xy[0],y=xy[1];var w=this.dom.offsetWidth,h=this.dom.offsetHeight;var _113=false;if((x+w)>vr){x=vr-w;_113=true;}if((y+h)>vb){y=vb-h;_113=true;}if(x<vx){x=vx;_113=true;}if(y<vy){y=vy;_113=true;}return _113?[x,y]:false;};}(),alignTo:function(_114,_115,_116,_117){var xy=this.getAlignToXY(_114,_115,_116);this.setXY(xy,this.preanim(arguments,3));return this;},anchorTo:function(el,_11a,_11b,_11c,_11d,_11e){var _11f=function(){this.alignTo(el,_11a,_11b,_11c);Ext.callback(_11e,this);};Ext.EventManager.onWindowResize(_11f,this);var tm=typeof _11d;if(tm!="undefined"){Ext.EventManager.on(window,"scroll",_11f,this,{buffer:tm=="number"?_11d:50});}_11f.call(this);return this;},clearOpacity:function(){if(window.ActiveXObject){this.dom.style.filter="";}else{this.dom.style.opacity="";this.dom.style["-moz-opacity"]="";this.dom.style["-khtml-opacity"]="";}return this;},hide:function(_121){this.setVisible(false,this.preanim(arguments,0));return this;},show:function(_122){this.setVisible(true,this.preanim(arguments,0));return this;},addUnits:function(size){return Ext.Element.addUnits(size,this.defaultUnit);},beginMeasure:function(){var el=this.dom;if(el.offsetWidth||el.offsetHeight){return this;}var _125=[];var p=this.dom,b=document.body;while((!el.offsetWidth&&!el.offsetHeight)&&p&&p.tagName&&p!=b){var pe=Ext.get(p);if(pe.getStyle("display")=="none"){_125.push({el:p,visibility:pe.getStyle("visibility")});p.style.visibility="hidden";p.style.display="block";}p=p.parentNode;}this._measureChanged=_125;return this;},endMeasure:function(){var _129=this._measureChanged;if(_129){for(var i=0,len=_129.length;i<len;i++){var r=_129[i];r.el.style.visibility=r.visibility;r.el.style.display="none";}this._measureChanged=null;}return this;},update:function(html,_12e,_12f){if(typeof html=="undefined"){html="";}if(_12e!==true){this.dom.innerHTML=html;if(typeof _12f=="function"){_12f();}return this;}var id=Ext.id();var dom=this.dom;html+="<span id=\""+id+"\"></span>";E.onAvailable(id,function(){var hd=document.getElementsByTagName("head")[0];var re=/(?:<script([^>]*)?>)((\n|\r|.)*?)(?:<\/script>)/ig;var _134=/\ssrc=([\'\"])(.*?)\1/i;var _135=/\stype=([\'\"])(.*?)\1/i;var _136;while(_136=re.exec(html)){var _137=_136[1];var _138=_137?_137.match(_134):false;if(_138&&_138[2]){var s=document.createElement("script");s.src=_138[2];var _13a=_137.match(_135);if(_13a&&_13a[2]){s.type=_13a[2];}hd.appendChild(s);}else{if(_136[2]&&_136[2].length>0){eval(_136[2]);}}}var el=document.getElementById(id);if(el){el.parentNode.removeChild(el);}if(typeof _12f=="function"){_12f();}});dom.innerHTML=html.replace(/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig,"");return this;},load:function(){var um=this.getUpdateManager();um.update.apply(um,arguments);return this;},getUpdateManager:function(){if(!this.updateManager){this.updateManager=new Ext.UpdateManager(this);}return this.updateManager;},unselectable:function(){this.dom.unselectable="on";this.swallowEvent("selectstart",true);this.applyStyles("-moz-user-select:none;-khtml-user-select:none;");this.addClass("x-unselectable");return this;},getCenterXY:function(){return this.getAlignToXY(document,"c-c");},center:function(_13d){this.alignTo(_13d||document,"c-c");return this;},isBorderBox:function(){return _13e[this.dom.tagName.toLowerCase()]||Ext.isBorderBox;},getBox:function(_13f,_140){var xy;if(!_140){xy=this.getXY();}else{var left=parseInt(this.getStyle("left"),10)||0;var top=parseInt(this.getStyle("top"),10)||0;xy=[left,top];}var el=this.dom,w=el.offsetWidth,h=el.offsetHeight,bx;if(!_13f){bx={x:xy[0],y:xy[1],0:xy[0],1:xy[1],width:w,height:h};}else{var l=this.getBorderWidth("l")+this.getPadding("l");var r=this.getBorderWidth("r")+this.getPadding("r");var t=this.getBorderWidth("t")+this.getPadding("t");var b=this.getBorderWidth("b")+this.getPadding("b");bx={x:xy[0]+l,y:xy[1]+t,0:xy[0]+l,1:xy[1]+t,width:w-(l+r),height:h-(t+b)};}bx.right=bx.x+bx.width;bx.bottom=bx.y+bx.height;return bx;},getFrameWidth:function(_14c){return this.getPadding(_14c)+this.getBorderWidth(_14c);},setBox:function(box,_14e,_14f){var w=box.width,h=box.height;if((_14e&&!this.autoBoxAdjust)&&!this.isBorderBox()){w-=(this.getBorderWidth("lr")+this.getPadding("lr"));h-=(this.getBorderWidth("tb")+this.getPadding("tb"));}this.setBounds(box.x,box.y,w,h,this.preanim(arguments,2));return this;},repaint:function(){var dom=this.dom;this.addClass("x-repaint");setTimeout(function(){Ext.get(dom).removeClass("x-repaint");},1);return this;},getMargins:function(side){if(!side){return {top:parseInt(this.getStyle("margin-top"),10)||0,left:parseInt(this.getStyle("margin-left"),10)||0,bottom:parseInt(this.getStyle("margin-bottom"),10)||0,right:parseInt(this.getStyle("margin-right"),10)||0};}else{return this.addStyles(side,El.margins);}},addStyles:function(_154,_155){var val=0;for(var i=0,len=_154.length;i<len;i++){var w=parseInt(this.getStyle(_155[_154.charAt(i)]),10);if(!isNaN(w)){val+=w;}}return val;},createProxy:function(_15a,_15b,_15c){if(_15b){_15b=Ext.getDom(_15b);}else{_15b=document.body;}_15a=typeof _15a=="object"?_15a:{tag:"div",cls:_15a};var _15d=Ext.DomHelper.append(_15b,_15a,true);if(_15c){_15d.setBox(this.getBox());}return _15d;},mask:function(msg,_15f){if(this.getStyle("position")=="static"){this.setStyle("position","relative");}if(!this._mask){this._mask=Ext.DomHelper.append(this.dom,{tag:"div",cls:"ext-el-mask"},true);}this.addClass("x-masked");this._mask.setDisplayed(true);if(typeof msg=="string"){if(!this._maskMsg){this._maskMsg=Ext.DomHelper.append(this.dom,{tag:"div",cls:"ext-el-mask-msg",cn:{tag:"div"}},true);}var mm=this._maskMsg;mm.dom.className=_15f?"ext-el-mask-msg "+_15f:"ext-el-mask-msg";mm.dom.firstChild.innerHTML=msg;mm.setDisplayed(true);mm.center(this);}return this._mask;},unmask:function(_161){if(this._mask){if(_161===true){this._mask.remove();delete this._mask;if(this._maskMsg){this._maskMsg.remove();delete this._maskMsg;}}else{this._mask.setDisplayed(false);if(this._maskMsg){this._maskMsg.setDisplayed(false);}}}this.removeClass("x-masked");},isMasked:function(){return this._mask&&this._mask.isVisible();},createShim:function(){var el=document.createElement("iframe");el.frameBorder="no";el.className="ext-shim";if(Ext.isIE&&Ext.isSecure){el.src=Ext.SSL_SECURE_URL;}var shim=Ext.get(this.dom.parentNode.insertBefore(el,this.dom));shim.autoBoxAdjust=false;return shim;},remove:function(){if(this.dom.parentNode){this.dom.parentNode.removeChild(this.dom);}delete El.cache[this.dom.id];},addClassOnOver:function(_164,_165){this.on("mouseover",function(){Ext.fly(this,"_internal").addClass(_164);},this.dom);var _166=function(e){if(_165!==true||!e.within(this,true)){Ext.fly(this,"_internal").removeClass(_164);}};this.on("mouseout",_166,this.dom);return this;},addClassOnFocus:function(_168){this.on("focus",function(){Ext.fly(this,"_internal").addClass(_168);},this.dom);this.on("blur",function(){Ext.fly(this,"_internal").removeClass(_168);},this.dom);return this;},addClassOnClick:function(_169){var dom=this.dom;this.on("mousedown",function(){Ext.fly(dom,"_internal").addClass(_169);var d=Ext.get(document);var fn=function(){Ext.fly(dom,"_internal").removeClass(_169);d.removeListener("mouseup",fn);};d.on("mouseup",fn);});return this;},swallowEvent:function(_16d,_16e){var fn=function(e){e.stopPropagation();if(_16e){e.preventDefault();}};if(_16d instanceof Array){for(var i=0,len=_16d.length;i<len;i++){this.on(_16d[i],fn);}return this;}this.on(_16d,fn);return this;},fitToParent:function(_173,_174){var p=Ext.get(_174||this.dom.parentNode);this.setSize(p.getComputedWidth()-p.getFrameWidth("lr"),p.getComputedHeight()-p.getFrameWidth("tb"));if(_173===true){Ext.EventManager.onWindowResize(this.fitToParent.createDelegate(this,[]));}return this;},getNextSibling:function(){var n=this.dom.nextSibling;while(n&&n.nodeType!=1){n=n.nextSibling;}return n;},getPrevSibling:function(){var n=this.dom.previousSibling;while(n&&n.nodeType!=1){n=n.previousSibling;}return n;},appendChild:function(el){el=Ext.get(el);el.appendTo(this);return this;},createChild:function(_179,_17a,_17b){_179=_179||{tag:"div"};if(_17a){return Ext.DomHelper.insertBefore(_17a,_179,_17b!==true);}return Ext.DomHelper[!this.dom.firstChild?"overwrite":"append"](this.dom,_179,_17b!==true);},appendTo:function(el){el=Ext.getDom(el);el.appendChild(this.dom);return this;},insertBefore:function(el){el=Ext.getDom(el);el.parentNode.insertBefore(this.dom,el);return this;},insertAfter:function(el){el=Ext.getDom(el);el.parentNode.insertBefore(this.dom,el.nextSibling);return this;},insertFirst:function(el,_180){el=el||{};if(typeof el=="object"&&!el.nodeType){return this.createChild(el,this.dom.firstChild,_180);}else{el=Ext.getDom(el);this.dom.insertBefore(el,this.dom.firstChild);return !_180?Ext.get(el):el;}},insertSibling:function(el,_182,_183){_182=_182?_182.toLowerCase():"before";el=el||{};var rt,_185=_182=="before"?this.dom:this.dom.nextSibling;if(typeof el=="object"&&!el.nodeType){if(_182=="after"&&!this.dom.nextSibling){rt=Ext.DomHelper.append(this.dom.parentNode,el,!_183);}else{rt=Ext.DomHelper[_182=="after"?"insertAfter":"insertBefore"](this.dom,el,!_183);}}else{rt=this.dom.parentNode.insertBefore(Ext.getDom(el),_182=="before"?this.dom:this.dom.nextSibling);if(!_183){rt=Ext.get(rt);}}return rt;},wrap:function(_186,_187){if(!_186){_186={tag:"div"};}var _188=Ext.DomHelper.insertBefore(this.dom,_186,!_187);_188.dom?_188.dom.appendChild(this.dom):_188.appendChild(this.dom);return _188;},replace:function(el){el=Ext.get(el);this.insertBefore(el);el.remove();return this;},insertHtml:function(_18a,html){return Ext.DomHelper.insertHtml(_18a,this.dom,html);},set:function(o,_18d){var el=this.dom;_18d=typeof _18d=="undefined"?(el.setAttribute?true:false):_18d;for(var attr in o){if(attr=="style"||typeof o[attr]=="function"){continue;}if(attr=="cls"){el.className=o["cls"];}else{if(_18d){el.setAttribute(attr,o[attr]);}else{el[attr]=o[attr];}}}Ext.DomHelper.applyStyles(el,o.style);return this;},addKeyListener:function(key,fn,_192){var _193;if(typeof key!="object"||key instanceof Array){_193={key:key,fn:fn,scope:_192};}else{_193={key:key.key,shift:key.shift,ctrl:key.ctrl,alt:key.alt,fn:fn,scope:_192};}return new Ext.KeyMap(this,_193);},addKeyMap:function(_194){return new Ext.KeyMap(this,_194);},isScrollable:function(){var dom=this.dom;return dom.scrollHeight>dom.clientHeight||dom.scrollWidth>dom.clientWidth;},scrollTo:function(side,_197,_198){var prop=side.toLowerCase()=="left"?"scrollLeft":"scrollTop";if(!_198||!A){this.dom[prop]=_197;}else{var to=prop=="scrollLeft"?[_197,this.dom.scrollTop]:[this.dom.scrollLeft,_197];this.anim({scroll:{"to":to}},this.preanim(arguments,2),"scroll");}return this;},scroll:function(_19b,_19c,_19d){if(!this.isScrollable()){return;}var el=this.dom;var l=el.scrollLeft,t=el.scrollTop;var w=el.scrollWidth,h=el.scrollHeight;var cw=el.clientWidth,ch=el.clientHeight;_19b=_19b.toLowerCase();var _1a5=false;var a=this.preanim(arguments,2);switch(_19b){case "l":case "left":if(w-l>cw){var v=Math.min(l+_19c,w-cw);this.scrollTo("left",v,a);_1a5=true;}break;case "r":case "right":if(l>0){var v=Math.max(l-_19c,0);this.scrollTo("left",v,a);_1a5=true;}break;case "t":case "top":case "up":if(t>0){var v=Math.max(t-_19c,0);this.scrollTo("top",v,a);_1a5=true;}break;case "b":case "bottom":case "down":if(h-t>ch){var v=Math.min(t+_19c,h-ch);this.scrollTo("top",v,a);_1a5=true;}break;}return _1a5;},translatePoints:function(x,y){if(typeof x=="object"||x instanceof Array){y=x[1];x=x[0];}var p=this.getStyle("position");var o=this.getXY();var l=parseInt(this.getStyle("left"),10);var t=parseInt(this.getStyle("top"),10);if(isNaN(l)){l=(p=="relative")?0:this.dom.offsetLeft;}if(isNaN(t)){t=(p=="relative")?0:this.dom.offsetTop;}return {left:(x-o[0]+l),top:(y-o[1]+t)};},getScroll:function(){var d=this.dom,doc=document;if(d==doc||d==doc.body){var l=window.pageXOffset||doc.documentElement.scrollLeft||doc.body.scrollLeft||0;var t=window.pageYOffset||doc.documentElement.scrollTop||doc.body.scrollTop||0;return {left:l,top:t};}else{return {left:d.scrollLeft,top:d.scrollTop};}},getColor:function(attr,_1b3,_1b4){var v=this.getStyle(attr);if(!v||v=="transparent"||v=="inherit"){return _1b3;}var _1b6=typeof _1b4=="undefined"?"#":_1b4;if(v.substr(0,4)=="rgb("){var rvs=v.slice(4,v.length-1).split(",");for(var i=0;i<3;i++){var h=parseInt(rvs[i]).toString(16);if(h<16){h="0"+h;}_1b6+=h;}}else{if(v.substr(0,1)=="#"){if(v.length==4){for(var i=1;i<4;i++){var c=v.charAt(i);_1b6+=c+c;}}else{if(v.length==7){_1b6+=v.substr(1);}}}}return (_1b6.length>5?_1b6.toLowerCase():_1b3);},boxWrap:function(cls){cls=cls||"x-box";var el=Ext.get(this.insertHtml("beforeBegin",String.format("<div class=\"{0}\">"+El.boxMarkup+"</div>",cls)));el.child("."+cls+"-mc").dom.appendChild(this.dom);return el;},getAttributeNS:Ext.isIE?function(ns,name){var d=this.dom;var type=typeof d[ns+":"+name];if(type!="undefined"&&type!="unknown"){return d[ns+":"+name];}return d[name];}:function(ns,name){var d=this.dom;return d.getAttributeNS(ns,name)||d.getAttribute(ns+":"+name)||d.getAttribute(name)||d[name];}};var ep=El.prototype;ep.on=ep.addListener;ep.mon=ep.addListener;ep.un=ep.removeListener;ep.autoBoxAdjust=true;ep.autoDisplayMode=true;El.unitPattern=/\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$/i;El.addUnits=function(v,_1c6){if(v===""||v=="auto"){return v;}if(v===undefined){return "";}if(typeof v=="number"||!El.unitPattern.test(v)){return v+(_1c6||"px");}return v;};El.boxMarkup="<div class=\"{0}-tl\"><div class=\"{0}-tr\"><div class=\"{0}-tc\"></div></div></div><div class=\"{0}-ml\"><div class=\"{0}-mr\"><div class=\"{0}-mc\"></div></div></div><div class=\"{0}-bl\"><div class=\"{0}-br\"><div class=\"{0}-bc\"></div></div></div>";El.VISIBILITY=1;El.DISPLAY=2;El.borders={l:"border-left-width",r:"border-right-width",t:"border-top-width",b:"border-bottom-width"};El.paddings={l:"padding-left",r:"padding-right",t:"padding-top",b:"padding-bottom"};El.margins={l:"margin-left",r:"margin-right",t:"margin-top",b:"margin-bottom"};El.cache={};var _1c7;El.get=function(el){var ex,elm,id;if(!el){return null;}if(typeof el=="string"){if(!(elm=document.getElementById(el))){return null;}if(ex=El.cache[el]){ex.dom=elm;}else{ex=El.cache[el]=new El(elm);}return ex;}else{if(el.tagName){if(!(id=el.id)){id=Ext.id(el);}if(ex=El.cache[id]){ex.dom=el;}else{ex=El.cache[id]=new El(el);}return ex;}else{if(el instanceof El){if(el!=_1c7){el.dom=document.getElementById(el.id)||el.dom;El.cache[el.id]=el;}return el;}else{if(el.isComposite){return el;}else{if(el instanceof Array){return El.select(el);}else{if(el==document){if(!_1c7){var f=function(){};f.prototype=El.prototype;_1c7=new f();_1c7.dom=document;}return _1c7;}}}}}}return null;};El.uncache=function(el){for(var i=0,a=arguments,len=a.length;i<len;i++){if(a[i]){delete El.cache[a[i].id||a[i]];}}};El.Flyweight=function(dom){this.dom=dom;};El.Flyweight.prototype=El.prototype;El._flyweights={};El.fly=function(el,_1d3){_1d3=_1d3||"_global";el=Ext.getDom(el);if(!el){return null;}if(!El._flyweights[_1d3]){El._flyweights[_1d3]=new El.Flyweight();}El._flyweights[_1d3].dom=el;return El._flyweights[_1d3];};Ext.get=El.get;Ext.fly=El.fly;var _13e=Ext.isStrict?{select:1}:{input:1,select:1,textarea:1};if(Ext.isIE||Ext.isGecko){_13e["button"]=1;}Ext.EventManager.on(window,"unload",function(){delete El.cache;delete El._flyweights;});})();
38
+
39
+
40
+
41
+ Ext.enableFx=true;Ext.Fx={slideIn:function(_1,o){var el=this.getFxEl();o=o||{};el.queueFx(o,function(){_1=_1||"t";this.fixDisplay();var r=this.getFxRestore();var b=this.getBox();this.setSize(b);var _6=this.fxWrap(r.pos,o,"hidden");var st=this.dom.style;st.visibility="visible";st.position="absolute";var _8=function(){el.fxUnwrap(_6,r.pos,o);st.width=r.width;st.height=r.height;el.afterFx(o);};var a,pt={to:[b.x,b.y]},bw={to:b.width},bh={to:b.height};switch(_1.toLowerCase()){case "t":_6.setSize(b.width,0);st.left=st.bottom="0";a={height:bh};break;case "l":_6.setSize(0,b.height);st.right=st.top="0";a={width:bw};break;case "r":_6.setSize(0,b.height);_6.setX(b.right);st.left=st.top="0";a={width:bw,points:pt};break;case "b":_6.setSize(b.width,0);_6.setY(b.bottom);st.left=st.top="0";a={height:bh,points:pt};break;case "tl":_6.setSize(0,0);st.right=st.bottom="0";a={width:bw,height:bh};break;case "bl":_6.setSize(0,0);_6.setY(b.y+b.height);st.right=st.top="0";a={width:bw,height:bh,points:pt};break;case "br":_6.setSize(0,0);_6.setXY([b.right,b.bottom]);st.left=st.top="0";a={width:bw,height:bh,points:pt};break;case "tr":_6.setSize(0,0);_6.setX(b.x+b.width);st.left=st.bottom="0";a={width:bw,height:bh,points:pt};break;}this.dom.style.visibility="visible";_6.show();arguments.callee.anim=_6.fxanim(a,o,"motion",0.5,"easeOut",_8);});return this;},slideOut:function(_d,o){var el=this.getFxEl();o=o||{};el.queueFx(o,function(){_d=_d||"t";var r=this.getFxRestore();var b=this.getBox();this.setSize(b);var _12=this.fxWrap(r.pos,o,"visible");var st=this.dom.style;st.visibility="visible";st.position="absolute";_12.setSize(b);var _14=function(){if(o.useDisplay){el.setDisplayed(false);}else{el.hide();}el.fxUnwrap(_12,r.pos,o);st.width=r.width;st.height=r.height;el.afterFx(o);};var a,_16={to:0};switch(_d.toLowerCase()){case "t":st.left=st.bottom="0";a={height:_16};break;case "l":st.right=st.top="0";a={width:_16};break;case "r":st.left=st.top="0";a={width:_16,points:{to:[b.right,b.y]}};break;case "b":st.left=st.top="0";a={height:_16,points:{to:[b.x,b.bottom]}};break;case "tl":st.right=st.bottom="0";a={width:_16,height:_16};break;case "bl":st.right=st.top="0";a={width:_16,height:_16,points:{to:[b.x,b.bottom]}};break;case "br":st.left=st.top="0";a={width:_16,height:_16,points:{to:[b.x+b.width,b.bottom]}};break;case "tr":st.left=st.bottom="0";a={width:_16,height:_16,points:{to:[b.right,b.y]}};break;}arguments.callee.anim=_12.fxanim(a,o,"motion",0.5,"easeOut",_14);});return this;},puff:function(o){var el=this.getFxEl();o=o||{};el.queueFx(o,function(){this.clearOpacity();this.show();var r=this.getFxRestore();var st=this.dom.style;var _1b=function(){if(o.useDisplay){el.setDisplayed(false);}else{el.hide();}el.clearOpacity();el.setPositioning(r.pos);st.width=r.width;st.height=r.height;st.fontSize="";el.afterFx(o);};var _1c=this.getWidth();var _1d=this.getHeight();arguments.callee.anim=this.fxanim({width:{to:this.adjustWidth(_1c*2)},height:{to:this.adjustHeight(_1d*2)},points:{by:[-(_1c*0.5),-(_1d*0.5)]},opacity:{to:0},fontSize:{to:200,unit:"%"}},o,"motion",0.5,"easeOut",_1b);});return this;},switchOff:function(o){var el=this.getFxEl();o=o||{};el.queueFx(o,function(){this.clearOpacity();this.clip();var r=this.getFxRestore();var st=this.dom.style;var _22=function(){if(o.useDisplay){el.setDisplayed(false);}else{el.hide();}el.clearOpacity();el.setPositioning(r.pos);st.width=r.width;st.height=r.height;el.afterFx(o);};this.fxanim({opacity:{to:0.3}},null,null,0.1,null,function(){this.clearOpacity();(function(){this.fxanim({height:{to:1},points:{by:[0,this.getHeight()*0.5]}},o,"motion",0.3,"easeIn",_22);}).defer(100,this);});});return this;},highlight:function(_23,o){var el=this.getFxEl();o=o||{};el.queueFx(o,function(){_23=_23||"ffff9c";attr=o.attr||"backgroundColor";this.clearOpacity();this.show();var _26=this.getColor(attr);var _27=this.dom.style[attr];endColor=(o.endColor||_26)||"ffffff";var _28=function(){el.dom.style[attr]=_27;el.afterFx(o);};var a={};a[attr]={from:_23,to:endColor};arguments.callee.anim=this.fxanim(a,o,"color",1,"easeIn",_28);});return this;},frame:function(_2a,_2b,o){var el=this.getFxEl();o=o||{};el.queueFx(o,function(){_2a=_2a||"#C3DAF9";if(_2a.length==6){_2a="#"+_2a;}_2b=_2b||1;duration=o.duration||1;this.show();var b=this.getBox();var _2f=function(){var _30=this.createProxy({tag:"div",style:{visbility:"hidden",position:"absolute","z-index":"35000",border:"0px solid "+_2a}});var _31=Ext.isBorderBox?2:1;_30.animate({top:{from:b.y,to:b.y-20},left:{from:b.x,to:b.x-20},borderWidth:{from:0,to:10},opacity:{from:1,to:0},height:{from:b.height,to:(b.height+(20*_31))},width:{from:b.width,to:(b.width+(20*_31))}},duration,function(){_30.remove();});if(--_2b>0){_2f.defer((duration/2)*1000,this);}else{el.afterFx(o);}};_2f.call(this);});return this;},pause:function(_32){var el=this.getFxEl();var o={};el.queueFx(o,function(){setTimeout(function(){el.afterFx(o);},_32*1000);});return this;},fadeIn:function(o){var el=this.getFxEl();o=o||{};el.queueFx(o,function(){this.setOpacity(0);this.fixDisplay();this.dom.style.visibility="visible";var to=o.endOpacity||1;arguments.callee.anim=this.fxanim({opacity:{to:to}},o,null,0.5,"easeOut",function(){if(to==1){this.clearOpacity();}el.afterFx(o);});});return this;},fadeOut:function(o){var el=this.getFxEl();o=o||{};el.queueFx(o,function(){arguments.callee.anim=this.fxanim({opacity:{to:o.endOpacity||0}},o,null,0.5,"easeOut",function(){if(this.visibilityMode==Ext.Element.DISPLAY||o.useDisplay){this.dom.style.display="none";}else{this.dom.style.visibility="hidden";}this.clearOpacity();el.afterFx(o);});});return this;},scale:function(w,h,o){this.shift(Ext.apply({},o,{width:w,height:h}));return this;},shift:function(o){var el=this.getFxEl();o=o||{};el.queueFx(o,function(){var a={},w=o.width,h=o.height,x=o.x,y=o.y,op=o.opacity;if(w!==undefined){a.width={to:this.adjustWidth(w)};}if(h!==undefined){a.height={to:this.adjustHeight(h)};}if(x!==undefined||y!==undefined){a.points={to:[x!==undefined?x:this.getX(),y!==undefined?y:this.getY()]};}if(op!==undefined){a.opacity={to:op};}if(o.xy!==undefined){a.points={to:o.xy};}arguments.callee.anim=this.fxanim(a,o,"motion",0.35,"easeOut",function(){el.afterFx(o);});});return this;},ghost:function(_45,o){var el=this.getFxEl();o=o||{};el.queueFx(o,function(){_45=_45||"b";var r=this.getFxRestore();var w=this.getWidth(),h=this.getHeight();var st=this.dom.style;var _4c=function(){if(o.useDisplay){el.setDisplayed(false);}else{el.hide();}el.clearOpacity();el.setPositioning(r.pos);st.width=r.width;st.height=r.height;el.afterFx(o);};var a={opacity:{to:0},points:{}},pt=a.points;switch(_45.toLowerCase()){case "t":pt.by=[0,-h];break;case "l":pt.by=[-w,0];break;case "r":pt.by=[w,0];break;case "b":pt.by=[0,h];break;case "tl":pt.by=[-w,-h];break;case "bl":pt.by=[-w,h];break;case "br":pt.by=[w,h];break;case "tr":pt.by=[w,-h];break;}arguments.callee.anim=this.fxanim(a,o,"motion",0.5,"easeOut",_4c);});return this;},syncFx:function(){this.fxDefaults=Ext.apply(this.fxDefaults||{},{block:false,concurrent:true,stopFx:false});return this;},sequenceFx:function(){this.fxDefaults=Ext.apply(this.fxDefaults||{},{block:false,concurrent:false,stopFx:false});return this;},nextFx:function(){var ef=this.fxQueue[0];if(ef){ef.call(this);}},hasActiveFx:function(){return this.fxQueue&&this.fxQueue[0];},stopFx:function(){if(this.hasActiveFx()){var cur=this.fxQueue[0];if(cur&&cur.anim&&cur.anim.isAnimated()){this.fxQueue=[cur];cur.anim.stop(true);}}return this;},beforeFx:function(o){if(this.hasActiveFx()&&!o.concurrent){if(o.stopFx){this.stopFx();return true;}return false;}return true;},hasFxBlock:function(){var q=this.fxQueue;return q&&q[0]&&q[0].block;},queueFx:function(o,fn){if(!this.fxQueue){this.fxQueue=[];}if(!this.hasFxBlock()){Ext.applyIf(o,this.fxDefaults);if(!o.concurrent){var run=this.beforeFx(o);fn.block=o.block;this.fxQueue.push(fn);if(run){this.nextFx();}}else{fn.call(this);}}return this;},fxWrap:function(pos,o,vis){var _59;if(!o.wrap||!(_59=Ext.get(o.wrap))){var _5a;if(o.fixPosition){_5a=this.getXY();}var div=document.createElement("div");div.style.visibility=vis;_59=Ext.get(this.dom.parentNode.insertBefore(div,this.dom));_59.setPositioning(pos);if(_59.getStyle("position")=="static"){_59.position("relative");}this.clearPositioning("auto");_59.clip();_59.dom.appendChild(this.dom);if(_5a){_59.setXY(_5a);}}return _59;},fxUnwrap:function(_5c,pos,o){this.clearPositioning();this.setPositioning(pos);if(!o.wrap){_5c.dom.parentNode.insertBefore(this.dom,_5c.dom);_5c.remove();}},getFxRestore:function(){var st=this.dom.style;return {pos:this.getPositioning(),width:st.width,height:st.height};},afterFx:function(o){if(o.afterStyle){this.applyStyles(o.afterStyle);}if(o.afterCls){this.addClass(o.afterCls);}if(o.remove===true){this.remove();}Ext.callback(o.callback,o.scope,[this]);if(!o.concurrent){this.fxQueue.shift();this.nextFx();}},getFxEl:function(){return Ext.get(this.dom);},fxanim:function(_61,opt,_63,_64,_65,cb){_63=_63||"run";opt=opt||{};var _67=Ext.lib.Anim[_63](this.dom,_61,(opt.duration||_64)||0.35,(opt.easing||_65)||"easeOut",function(){Ext.callback(cb,this);},this);opt.anim=_67;return _67;}};Ext.Fx.resize=Ext.Fx.scale;Ext.apply(Ext.Element.prototype,Ext.Fx);
42
+
43
+
44
+
45
+ Ext.CompositeElement=function(_1){this.elements=[];this.addElements(_1);};Ext.CompositeElement.prototype={isComposite:true,addElements:function(_2){if(!_2){return this;}if(typeof _2=="string"){_2=Ext.Element.selectorFunction(_2);}var _3=this.elements;var _4=_3.length-1;for(var i=0,_6=_2.length;i<_6;i++){_3[++_4]=Ext.get(_2[i],true);}return this;},invoke:function(fn,_8){var _9=this.elements;for(var i=0,_b=_9.length;i<_b;i++){Ext.Element.prototype[fn].apply(_9[i],_8);}return this;},add:function(_c){if(typeof _c=="string"){this.addElements(Ext.Element.selectorFunction(_c));}else{if(_c.length!==undefined){this.addElements(_c);}else{this.addElements([_c]);}}return this;},each:function(fn,_e){var _f=this.elements;for(var i=0,len=_f.length;i<len;i++){if(fn.call(_e||_f[i],_f[i],this,i)===false){break;}}return this;},item:function(_12){return this.elements[_12];}};(function(){Ext.CompositeElement.createCall=function(_13,_14){if(!_13[_14]){_13[_14]=function(){return this.invoke(_14,arguments);};}};for(var _15 in Ext.Element.prototype){if(typeof Ext.Element.prototype[_15]=="function"){Ext.CompositeElement.createCall(Ext.CompositeElement.prototype,_15);}}})();Ext.CompositeElementLite=function(els){Ext.CompositeElementLite.superclass.constructor.call(this,els);var _17=function(){};_17.prototype=Ext.Element.prototype;this.el=new Ext.Element.Flyweight();};Ext.extend(Ext.CompositeElementLite,Ext.CompositeElement,{addElements:function(els){if(els){if(els instanceof Array){this.elements=this.elements.concat(els);}else{var _19=this.elements;var _1a=_19.length-1;for(var i=0,len=els.length;i<len;i++){_19[++_1a]=els[i];}}}return this;},invoke:function(fn,_1e){var els=this.elements;var el=this.el;for(var i=0,len=els.length;i<len;i++){el.dom=els[i];Ext.Element.prototype[fn].apply(el,_1e);}return this;},item:function(_23){this.el.dom=this.elements[_23];return this.el;},addListener:function(_24,_25,_26,opt){var els=this.elements;for(var i=0,len=els.length;i<len;i++){Ext.EventManager.on(els[i],_24,_25,_26||els[i],opt);}return this;},each:function(fn,_2c){var els=this.elements;var el=this.el;for(var i=0,len=els.length;i<len;i++){el.dom=els[i];if(fn.call(_2c||el,el,this,i)===false){break;}}return this;}});Ext.CompositeElementLite.prototype.on=Ext.CompositeElementLite.prototype.addListener;if(Ext.DomQuery){Ext.Element.selectorFunction=Ext.DomQuery.select;}Ext.Element.select=function(_31,_32){var els;if(typeof _31=="string"){els=Ext.Element.selectorFunction(_31);}else{if(_31.length!==undefined){els=_31;}else{throw "Invalid selector";}}if(_32===true){return new Ext.CompositeElement(els);}else{return new Ext.CompositeElementLite(els);}};Ext.select=Ext.Element.select;
46
+
47
+
48
+
49
+ Ext.UpdateManager=function(el,_2){el=Ext.get(el);if(!_2&&el.updateManager){return el.updateManager;}this.el=el;this.defaultUrl=null;this.addEvents({"beforeupdate":true,"update":true,"failure":true});var d=Ext.UpdateManager.defaults;this.sslBlankUrl=d.sslBlankUrl;this.disableCaching=d.disableCaching;this.indicatorText=d.indicatorText;this.showLoadIndicator=d.showLoadIndicator;this.timeout=d.timeout;this.loadScripts=d.loadScripts;this.transaction=null;this.autoRefreshProcId=null;this.refreshDelegate=this.refresh.createDelegate(this);this.updateDelegate=this.update.createDelegate(this);this.formUpdateDelegate=this.formUpdate.createDelegate(this);this.successDelegate=this.processSuccess.createDelegate(this);this.failureDelegate=this.processFailure.createDelegate(this);this.renderer=new Ext.UpdateManager.BasicRenderer();Ext.UpdateManager.superclass.constructor.call(this);};Ext.extend(Ext.UpdateManager,Ext.util.Observable,{getEl:function(){return this.el;},update:function(_4,_5,_6,_7){if(this.fireEvent("beforeupdate",this.el,_4,_5)!==false){var _8=this.method;if(typeof _4=="object"){var _9=_4;_4=_9.url;_5=_5||_9.params;_6=_6||_9.callback;_7=_7||_9.discardUrl;if(_6&&_9.scope){_6=_6.createDelegate(_9.scope);}if(typeof _9.method!="undefined"){_8=_9.method;}if(typeof _9.nocache!="undefined"){this.disableCaching=_9.nocache;}if(typeof _9.text!="undefined"){this.indicatorText="<div class=\"loading-indicator\">"+_9.text+"</div>";}if(typeof _9.scripts!="undefined"){this.loadScripts=_9.scripts;}if(typeof _9.timeout!="undefined"){this.timeout=_9.timeout;}}this.showLoading();if(!_7){this.defaultUrl=_4;}if(typeof _4=="function"){_4=_4.call(this);}if(typeof _5=="function"){_5=_5();}if(_5&&typeof _5!="string"){var _a=[];for(var _b in _5){if(typeof _5[_b]!="function"){_a.push(encodeURIComponent(_b),"=",encodeURIComponent(_5[_b]),"&");}}delete _a[_a.length-1];_5=_a.join("");}var cb={success:this.successDelegate,failure:this.failureDelegate,timeout:(this.timeout*1000),argument:{"url":_4,"form":null,"callback":_6,"params":_5}};_8=_8||(_5?"POST":"GET");if(_8=="GET"){_4=this.prepareUrl(_4);}this.transaction=Ext.lib.Ajax.request(_8,_4,cb,_5);}},formUpdate:function(_d,_e,_f,_10){if(this.fireEvent("beforeupdate",this.el,_d,_e)!==false){formEl=Ext.getDom(_d);if(typeof _e=="function"){_e=_e.call(this);}if(typeof params=="function"){params=params();}_e=_e||formEl.action;var cb={success:this.successDelegate,failure:this.failureDelegate,timeout:(this.timeout*1000),argument:{"url":_e,"form":formEl,"callback":_10,"reset":_f}};var _12=false;var _13=formEl.getAttribute("enctype");if(_13&&_13.toLowerCase()=="multipart/form-data"){_12=true;cb.upload=this.successDelegate;}this.transaction=Ext.lib.Ajax.formRequest(formEl,_e,cb,null,_12,this.sslBlankUrl);this.showLoading.defer(1,this);}},refresh:function(_14){if(this.defaultUrl==null){return;}this.update(this.defaultUrl,null,_14,true);},startAutoRefresh:function(_15,url,_17,_18,_19){if(_19){this.update(url||this.defaultUrl,_17,_18,true);}if(this.autoRefreshProcId){clearInterval(this.autoRefreshProcId);}this.autoRefreshProcId=setInterval(this.update.createDelegate(this,[url||this.defaultUrl,_17,_18,true]),_15*1000);},stopAutoRefresh:function(){if(this.autoRefreshProcId){clearInterval(this.autoRefreshProcId);delete this.autoRefreshProcId;}},isAutoRefreshing:function(){return this.autoRefreshProcId?true:false;},showLoading:function(){if(this.showLoadIndicator){this.el.update(this.indicatorText);}},prepareUrl:function(url){if(this.disableCaching){var _1b="_dc="+(new Date().getTime());if(url.indexOf("?")!==-1){url+="&"+_1b;}else{url+="?"+_1b;}}return url;},processSuccess:function(_1c){this.transaction=null;if(_1c.argument.form&&_1c.argument.reset){try{_1c.argument.form.reset();}catch(e){}}if(this.loadScripts){this.renderer.render(this.el,_1c,this,this.updateComplete.createDelegate(this,[_1c]));}else{this.renderer.render(this.el,_1c,this);this.updateComplete(_1c);}},updateComplete:function(_1d){this.fireEvent("update",this.el,_1d);if(typeof _1d.argument.callback=="function"){_1d.argument.callback(this.el,true,_1d);}},processFailure:function(_1e){this.transaction=null;this.fireEvent("failure",this.el,_1e);if(typeof _1e.argument.callback=="function"){_1e.argument.callback(this.el,false,_1e);}},setRenderer:function(_1f){this.renderer=_1f;},getRenderer:function(){return this.renderer;},setDefaultUrl:function(_20){this.defaultUrl=_20;},abort:function(){if(this.transaction){Ext.lib.Ajax.abort(this.transaction);}},isUpdating:function(){if(this.transaction){return Ext.lib.Ajax.isCallInProgress(this.transaction);}return false;}});Ext.UpdateManager.defaults={timeout:30,loadScripts:false,sslBlankUrl:(Ext.SSL_SECURE_URL||"javascript:false"),disableCaching:false,showLoadIndicator:true,indicatorText:"<div class=\"loading-indicator\">Loading...</div>"};Ext.UpdateManager.updateElement=function(el,url,_23,_24){var um=Ext.get(el,true).getUpdateManager();Ext.apply(um,_24);um.update(url,_23,_24?_24.callback:null);};Ext.UpdateManager.update=Ext.UpdateManager.updateElement;Ext.UpdateManager.BasicRenderer=function(){};Ext.UpdateManager.BasicRenderer.prototype={render:function(el,_27,_28,_29){el.update(_27.responseText,_28.loadScripts,_29);}};
50
+
51
+
52
+
53
+ Ext.util.DelayedTask=function(fn,_2,_3){var id=null,d,t;var _7=function(){var _8=new Date().getTime();if(_8-t>=d){clearInterval(id);id=null;fn.apply(_2,_3||[]);}};this.delay=function(_9,_a,_b,_c){if(id&&_9!=d){this.cancel();}d=_9;t=new Date().getTime();fn=_a||fn;_2=_b||_2;_3=_c||_3;if(!id){id=setInterval(_7,d);}};this.cancel=function(){if(id){clearInterval(id);id=null;}};};
54
+
55
+
56
+
57
+ Ext.util.TaskRunner=function(_1){_1=_1||10;var _2=[],_3=[];var id=0;var _5=false;var _6=function(){_5=false;clearInterval(id);id=0;};var _7=function(){if(!_5){_5=true;id=setInterval(_8,_1);}};var _9=function(_a){_3.push(_a);if(_a.onStop){_a.onStop();}};var _8=function(){if(_3.length>0){for(var i=0,_c=_3.length;i<_c;i++){_2.remove(_3[i]);}_3=[];if(_2.length<1){_6();return;}}var _d=new Date().getTime();for(var i=0,_c=_2.length;i<_c;++i){var t=_2[i];var _f=_d-t.taskRunTime;if(t.interval<=_f){var rt=t.run.apply(t.scope||t,t.args||[++t.taskRunCount]);t.taskRunTime=_d;if(rt===false||t.taskRunCount===t.repeat){_9(t);return;}}if(t.duration&&t.duration<=(_d-t.taskStartTime)){_9(t);}}};this.start=function(_11){_2.push(_11);_11.taskStartTime=new Date().getTime();_11.taskRunTime=0;_11.taskRunCount=0;_7();return _11;};this.stop=function(_12){_9(_12);return _12;};this.stopAll=function(){_6();for(var i=0,len=_2.length;i<len;i++){if(_2[i].onStop){_2[i].onStop();}}_2=[];_3=[];};};Ext.TaskMgr=new Ext.util.TaskRunner();
58
+
59
+
60
+
61
+ Ext.util.MixedCollection=function(_1,_2){this.items=[];this.map={};this.keys=[];this.length=0;this.addEvents({"clear":true,"add":true,"replace":true,"remove":true,"sort":true});this.allowFunctions=_1===true;if(_2){this.getKey=_2;}Ext.util.MixedCollection.superclass.constructor.call(this);};Ext.extend(Ext.util.MixedCollection,Ext.util.Observable,{allowFunctions:false,add:function(_3,o){if(arguments.length==1){o=arguments[0];_3=this.getKey(o);}if(typeof _3=="undefined"||_3===null){this.length++;this.items.push(o);this.keys.push(null);}else{var _5=this.map[_3];if(_5){return this.replace(_3,o);}this.length++;this.items.push(o);this.map[_3]=o;this.keys.push(_3);}this.fireEvent("add",this.length-1,o,_3);return o;},getKey:function(o){return o.id;},replace:function(_7,o){if(arguments.length==1){o=arguments[0];_7=this.getKey(o);}var _9=this.item(_7);if(typeof _7=="undefined"||_7===null||typeof _9=="undefined"){return this.add(_7,o);}var _a=this.indexOfKey(_7);this.items[_a]=o;this.map[_7]=o;this.fireEvent("replace",_7,_9,o);return o;},addAll:function(_b){if(arguments.length>1||_b instanceof Array){var _c=arguments.length>1?arguments:_b;for(var i=0,_e=_c.length;i<_e;i++){this.add(_c[i]);}}else{for(var _f in _b){if(this.allowFunctions||typeof _b[_f]!="function"){this.add(_b[_f],_f);}}}},each:function(fn,_11){var _12=[].concat(this.items);for(var i=0,len=_12.length;i<len;i++){if(fn.call(_11||_12[i],_12[i],i,len)===false){break;}}},eachKey:function(fn,_16){for(var i=0,len=this.keys.length;i<len;i++){fn.call(_16||window,this.keys[i],this.items[i],i,len);}},find:function(fn,_1a){for(var i=0,len=this.items.length;i<len;i++){if(fn.call(_1a||window,this.items[i],this.keys[i])){return this.items[i];}}return null;},insert:function(_1d,key,o){if(arguments.length==2){o=arguments[1];key=this.getKey(o);}if(_1d>=this.length){return this.add(key,o);}this.length++;this.items.splice(_1d,0,o);if(typeof key!="undefined"&&key!=null){this.map[key]=o;}this.keys.splice(_1d,0,key);this.fireEvent("add",_1d,o,key);return o;},remove:function(o){return this.removeAt(this.indexOf(o));},removeAt:function(_21){if(_21<this.length&&_21>=0){this.length--;var o=this.items[_21];this.items.splice(_21,1);var key=this.keys[_21];if(typeof key!="undefined"){delete this.map[key];}this.keys.splice(_21,1);this.fireEvent("remove",o,key);}},removeKey:function(key){return this.removeAt(this.indexOfKey(key));},getCount:function(){return this.length;},indexOf:function(o){if(!this.items.indexOf){for(var i=0,len=this.items.length;i<len;i++){if(this.items[i]==o){return i;}}return -1;}else{return this.items.indexOf(o);}},indexOfKey:function(key){if(!this.keys.indexOf){for(var i=0,len=this.keys.length;i<len;i++){if(this.keys[i]==key){return i;}}return -1;}else{return this.keys.indexOf(key);}},item:function(key){var _2c=typeof this.map[key]!="undefined"?this.map[key]:this.items[key];return typeof _2c!="function"||this.allowFunctions?_2c:null;},itemAt:function(_2d){return this.items[_2d];},key:function(key){return this.map[key];},contains:function(o){return this.indexOf(o)!=-1;},containsKey:function(key){return typeof this.map[key]!="undefined";},clear:function(){this.length=0;this.items=[];this.keys=[];this.map={};this.fireEvent("clear");},first:function(){return this.items[0];},last:function(){return this.items[this.length-1];},_sort:function(_31,dir,fn){var dsc=String(dir).toUpperCase()=="DESC"?-1:1;fn=fn||function(a,b){return a-b;};var c=[],k=this.keys,_39=this.items;for(var i=0,len=_39.length;i<len;i++){c[c.length]={key:k[i],value:_39[i],index:i};}c.sort(function(a,b){var v=fn(a[_31],b[_31])*dsc;if(v==0){v=(a.index<b.index?-1:1);}return v;});for(var i=0,len=c.length;i<len;i++){_39[i]=c[i].value;k[i]=c[i].key;}this.fireEvent("sort",this);},sort:function(dir,fn){this._sort("value",dir,fn);},keySort:function(dir,fn){this._sort("key",dir,fn||function(a,b){return String(a).toUpperCase()-String(b).toUpperCase();});},getRange:function(_45,end){var _47=this.items;if(_47.length<1){return [];}_45=_45||0;end=Math.min(typeof end=="undefined"?this.length-1:end,this.length-1);var r=[];if(_45<=end){for(var i=_45;i<=end;i++){r[r.length]=_47[i];}}else{for(var i=_45;i>=end;i--){r[r.length]=_47[i];}}return r;},filter:function(_4a,_4b){if(!_4b.exec){_4b=String(_4b);if(_4b.length==0){return this.clone();}_4b=new RegExp("^"+Ext.escapeRe(_4b),"i");}return this.filterBy(function(o){return o&&_4b.test(o[_4a]);});},filterBy:function(fn,_4e){var r=new Ext.util.MixedCollection();r.getKey=this.getKey;var k=this.keys,it=this.items;for(var i=0,len=it.length;i<len;i++){if(fn.call(_4e||this,it[i],k[i])){r.add(k[i],it[i]);}}return r;},clone:function(){var r=new Ext.util.MixedCollection();var k=this.keys,it=this.items;for(var i=0,len=it.length;i<len;i++){r.add(k[i],it[i]);}r.getKey=this.getKey;return r;}});Ext.util.MixedCollection.prototype.get=Ext.util.MixedCollection.prototype.item;
62
+
63
+
64
+
65
+ Ext.util.JSON=new (function(){var _1={}.hasOwnProperty?true:false;var _2=function(n){return n<10?"0"+n:n;};var m={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r","\"":"\\\"","\\":"\\\\"};var _5=function(s){if(/["\\\x00-\x1f]/.test(s)){return "\""+s.replace(/([\x00-\x1f\\"])/g,function(a,b){var c=m[b];if(c){return c;}c=b.charCodeAt();return "\\u00"+Math.floor(c/16).toString(16)+(c%16).toString(16);})+"\"";}return "\""+s+"\"";};var _a=function(o){var a=["["],b,i,l=o.length,v;for(i=0;i<l;i+=1){v=o[i];switch(typeof v){case "undefined":case "function":case "unknown":break;default:if(b){a.push(",");}a.push(v===null?"null":Ext.util.JSON.encode(v));b=true;}}a.push("]");return a.join("");};var _11=function(o){return "\""+o.getFullYear()+"-"+_2(o.getMonth()+1)+"-"+_2(o.getDate())+"T"+_2(o.getHours())+":"+_2(o.getMinutes())+":"+_2(o.getSeconds())+"\"";};this.encode=function(o){if(typeof o=="undefined"||o===null){return "null";}else{if(o instanceof Array){return _a(o);}else{if(o instanceof Date){return _11(o);}else{if(typeof o=="string"){return _5(o);}else{if(typeof o=="number"){return isFinite(o)?String(o):"null";}else{if(typeof o=="boolean"){return String(o);}else{var a=["{"],b,i,v;for(i in o){if(!_1||o.hasOwnProperty(i)){v=o[i];switch(typeof v){case "undefined":case "function":case "unknown":break;default:if(b){a.push(",");}a.push(this.encode(i),":",v===null?"null":this.encode(v));b=true;}}}a.push("}");return a.join("");}}}}}}};this.decode=function(_18){return eval("("+_18+")");};})();Ext.encode=Ext.util.JSON.encode;Ext.decode=Ext.util.JSON.decode;
66
+
67
+
68
+
69
+ Ext.util.Format=function(){var _1=/^\s+|\s+$/g;return {ellipsis:function(_2,_3){if(_2&&_2.length>_3){return _2.substr(0,_3-3)+"...";}return _2;},undef:function(_4){return typeof _4!="undefined"?_4:"";},htmlEncode:function(_5){return !_5?_5:String(_5).replace(/&/g,"&amp;").replace(/>/g,"&gt;").replace(/</g,"&lt;").replace(/"/g,"&quot;");},trim:function(_6){return String(_6).replace(_1,"");},substr:function(_7,_8,_9){return String(_7).substr(_8,_9);},lowercase:function(_a){return String(_a).toLowerCase();},uppercase:function(_b){return String(_b).toUpperCase();},capitalize:function(_c){return !_c?_c:_c.charAt(0).toUpperCase()+_c.substr(1).toLowerCase();},call:function(_d,fn){if(arguments.length>2){var _f=Array.prototype.slice.call(arguments,2);_f.unshift(_d);return eval(fn).apply(window,_f);}else{return eval(fn).call(window,_d);}},usMoney:function(v){v=(Math.round((v-0)*100))/100;v=(v==Math.floor(v))?v+".00":((v*10==Math.floor(v*10))?v+"0":v);return "$"+v;},date:function(v,_12){if(!v){return "";}if(!(v instanceof Date)){v=new Date(Date.parse(v));}return v.dateFormat(_12||"m/d/Y");},dateRenderer:function(_13){return function(v){return Ext.util.Format.date(v,_13);};},stripTagsRE:/<\/?[^>]+>/gi,stripTags:function(v){return !v?v:String(v).replace(this.stripTagsRE,"");}};}();
70
+
71
+
72
+
73
+ Ext.util.CSS=function(){var _1=null;var _2=document;var _3=/(-[a-z])/gi;var _4=function(m,a){return a.charAt(1).toUpperCase();};return {createStyleSheet:function(_7){var ss;if(Ext.isIE){ss=_2.createStyleSheet();ss.cssText=_7;}else{var _9=_2.getElementsByTagName("head")[0];var _a=_2.createElement("style");_a.setAttribute("type","text/css");try{_a.appendChild(_2.createTextNode(_7));}catch(e){_a.cssText=_7;}_9.appendChild(_a);ss=_a.styleSheet?_a.styleSheet:(_a.sheet||_2.styleSheets[_2.styleSheets.length-1]);}this.cacheStyleSheet(ss);return ss;},removeStyleSheet:function(id){var _c=_2.getElementById(id);if(_c){_c.parentNode.removeChild(_c);}},swapStyleSheet:function(id,_e){this.removeStyleSheet(id);var ss=_2.createElement("link");ss.setAttribute("rel","stylesheet");ss.setAttribute("type","text/css");ss.setAttribute("id",id);ss.setAttribute("href",_e);_2.getElementsByTagName("head")[0].appendChild(ss);},refreshCache:function(){return this.getRules(true);},cacheStyleSheet:function(ss){if(!_1){_1={};}try{var _11=ss.cssRules||ss.rules;for(var j=_11.length-1;j>=0;--j){_1[_11[j].selectorText]=_11[j];}}catch(e){}},getRules:function(_13){if(_1==null||_13){_1={};var ds=_2.styleSheets;for(var i=0,len=ds.length;i<len;i++){try{this.cacheStyleSheet(ds[i]);}catch(e){}}}return _1;},getRule:function(_17,_18){var rs=this.getRules(_18);if(!(_17 instanceof Array)){return rs[_17];}for(var i=0;i<_17.length;i++){if(rs[_17[i]]){return rs[_17[i]];}}return null;},updateRule:function(_1b,_1c,_1d){if(!(_1b instanceof Array)){var _1e=this.getRule(_1b);if(_1e){_1e.style[_1c.replace(_3,_4)]=_1d;return true;}}else{for(var i=0;i<_1b.length;i++){if(this.updateRule(_1b[i],_1c,_1d)){return true;}}}return false;}};}();
74
+
75
+
76
+
77
+ Ext.util.ClickRepeater=function(el,_2){this.el=Ext.get(el);this.el.unselectable();Ext.apply(this,_2);this.addEvents({"mousedown":true,"click":true,"mouseup":true});this.el.on("mousedown",this.handleMouseDown,this);if(this.preventDefault||this.stopDefault){this.el.on("click",function(e){if(this.preventDefault){e.preventDefault();}if(this.stopDefault){e.stopEvent();}},this);}if(this.handler){this.on("click",this.handler,this.scope||this);}Ext.util.ClickRepeater.superclass.constructor.call(this);};Ext.extend(Ext.util.ClickRepeater,Ext.util.Observable,{interval:20,delay:250,preventDefault:true,stopDefault:false,timer:0,docEl:Ext.get(document),handleMouseDown:function(){clearTimeout(this.timer);this.el.blur();if(this.pressClass){this.el.addClass(this.pressClass);}this.mousedownTime=new Date();this.docEl.on("mouseup",this.handleMouseUp,this);this.el.on("mouseout",this.handleMouseOut,this);this.fireEvent("mousedown",this);this.fireEvent("click",this);this.timer=this.click.defer(this.delay||this.interval,this);},click:function(){this.fireEvent("click",this);this.timer=this.click.defer(this.getInterval(),this);},getInterval:function(){if(!this.accelerate){return this.interval;}var _4=this.mousedownTime.getElapsed();if(_4<500){return 400;}else{if(_4<1700){return 320;}else{if(_4<2600){return 250;}else{if(_4<3500){return 180;}else{if(_4<4400){return 140;}else{if(_4<5300){return 80;}else{if(_4<6200){return 50;}else{return 10;}}}}}}}},handleMouseOut:function(){clearTimeout(this.timer);if(this.pressClass){this.el.removeClass(this.pressClass);}this.el.on("mouseover",this.handleMouseReturn,this);},handleMouseReturn:function(){this.el.un("mouseover",this.handleMouseReturn);if(this.pressClass){this.el.addClass(this.pressClass);}this.click();},handleMouseUp:function(){clearTimeout(this.timer);this.el.un("mouseover",this.handleMouseReturn);this.el.un("mouseout",this.handleMouseOut);this.docEl.un("mouseup",this.handleMouseUp);this.el.removeClass(this.pressClass);this.fireEvent("mouseup",this);}});
78
+
79
+
80
+
81
+ Ext.KeyNav=function(el,_2){this.el=Ext.get(el);Ext.apply(this,_2);if(!this.disabled){this.disabled=true;this.enable();}};Ext.KeyNav.prototype={disabled:false,defaultEventAction:"stopEvent",prepareEvent:function(e){var k=e.getKey();var h=this.keyToHandler[k];if(Ext.isSafari&&h&&k>=37&&k<=40){e.stopEvent();}},relay:function(e){var k=e.getKey();var h=this.keyToHandler[k];if(h&&this[h]){if(this.doRelay(e,this[h],h)!==true){e[this.defaultEventAction]();}}},doRelay:function(e,h,_b){return h.call(this.scope||this,e);},enter:false,left:false,right:false,up:false,down:false,tab:false,esc:false,pageUp:false,pageDown:false,del:false,home:false,end:false,keyToHandler:{37:"left",39:"right",38:"up",40:"down",33:"pageUp",34:"pageDown",46:"del",36:"home",35:"end",13:"enter",27:"esc",9:"tab"},enable:function(){if(this.disabled){if(Ext.isIE){this.el.on("keydown",this.relay,this);}else{this.el.on("keydown",this.prepareEvent,this);this.el.on("keypress",this.relay,this);}this.disabled=false;}},disable:function(){if(!this.disabled){if(Ext.isIE){this.el.un("keydown",this.relay);}else{this.el.un("keydown",this.prepareEvent);this.el.un("keypress",this.relay);}this.disabled=true;}}};
82
+
83
+
84
+
85
+ Ext.KeyMap=function(el,_2,_3){this.el=Ext.get(el);this.eventName=_3||"keydown";this.bindings=[];if(_2 instanceof Array){for(var i=0,_5=_2.length;i<_5;i++){this.addBinding(_2[i]);}}else{this.addBinding(_2);}this.keyDownDelegate=Ext.EventManager.wrap(this.handleKeyDown,this,true);this.enable();};Ext.KeyMap.prototype={stopEvent:false,addBinding:function(_6){var _7=_6.key,_8=_6.shift,_9=_6.ctrl,_a=_6.alt,fn=_6.fn,_c=_6.scope;if(typeof _7=="string"){var ks=[];var _e=_7.toUpperCase();for(var j=0,len=_e.length;j<len;j++){ks.push(_e.charCodeAt(j));}_7=ks;}var _11=_7 instanceof Array;var _12=function(e){if((!_8||e.shiftKey)&&(!_9||e.ctrlKey)&&(!_a||e.altKey)){var k=e.getKey();if(_11){for(var i=0,len=_7.length;i<len;i++){if(_7[i]==k){if(this.stopEvent){e.stopEvent();}fn.call(_c||window,k,e);return;}}}else{if(k==_7){if(this.stopEvent){e.stopEvent();}fn.call(_c||window,k,e);}}}};this.bindings.push(_12);},handleKeyDown:function(e){if(this.enabled){var b=this.bindings;for(var i=0,len=b.length;i<len;i++){b[i].call(this,e);}}},isEnabled:function(){return this.enabled;},enable:function(){if(!this.enabled){this.el.on(this.eventName,this.keyDownDelegate);this.enabled=true;}},disable:function(){if(this.enabled){this.el.removeListener(this.eventName,this.keyDownDelegate);this.enabled=false;}}};
86
+
87
+
88
+
89
+ Ext.util.TextMetrics=function(){var _1;return {measure:function(el,_3,_4){if(!_1){_1=Ext.util.TextMetrics.Instance(el,_4);}_1.bind(el);_1.setFixedWidth(_4||"auto");return _1.getSize(_3);},createInstance:function(el,_6){return Ext.util.TextMetrics.Instance(el,_6);}};}();Ext.util.TextMetrics.Instance=function(_7,_8){var ml=new Ext.Element(document.createElement("div"));document.body.appendChild(ml.dom);ml.position("absolute");ml.setLeftTop(-1000,-1000);ml.hide();if(_8){mi.setWidth(_8);}var _a={getSize:function(_b){ml.update(_b);var s=ml.getSize();ml.update("");return s;},bind:function(el){ml.setStyle(Ext.fly(el).getStyles("font-size","font-style","font-weight","font-family","line-height"));},setFixedWidth:function(_e){ml.setWidth(_e);},getWidth:function(_f){ml.dom.style.width="auto";return this.getSize(_f).width;},getHeight:function(_10){return this.getSize(_10).height;}};_a.bind(_7);return _a;};Ext.Element.measureText=Ext.util.TextMetrics.measure;
90
+
91
+
92
+
93
+ (function(){var _1=Ext.EventManager;var _2=Ext.lib.Dom;Ext.dd.DragDrop=function(id,_4,_5){if(id){this.init(id,_4,_5);}};Ext.dd.DragDrop.prototype={id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isTarget:true,padding:null,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,b4StartDrag:function(x,y){},startDrag:function(x,y){},b4Drag:function(e){},onDrag:function(e){},onDragEnter:function(e,id){},b4DragOver:function(e){},onDragOver:function(e,id){},b4DragOut:function(e){},onDragOut:function(e,id){},b4DragDrop:function(e){},onDragDrop:function(e,id){},onInvalidDrop:function(e){},b4EndDrag:function(e){},endDrag:function(e){},b4MouseDown:function(e){},onMouseDown:function(e){},onMouseUp:function(e){},onAvailable:function(){},defaultPadding:{left:0,right:0,top:0,bottom:0},constrainTo:function(_1d,pad,_1f){if(typeof pad=="number"){pad={left:pad,right:pad,top:pad,bottom:pad};}pad=pad||this.defaultPadding;var b=Ext.get(this.getEl()).getBox();var ce=Ext.get(_1d);var s=ce.getScroll();var c,cd=ce.dom;if(cd==document.body){c={x:s.left,y:s.top,width:Ext.lib.Dom.getViewWidth(),height:Ext.lib.Dom.getViewHeight()};}else{xy=ce.getXY();c={x:xy[0]+s.left,y:xy[1]+s.top,width:cd.clientWidth,height:cd.clientHeight};}var _25=b.y-c.y;var _26=b.x-c.x;this.resetConstraints();this.setXConstraint(_26-(pad.left||0),c.width-_26-b.width-(pad.right||0));this.setYConstraint(_25-(pad.top||0),c.height-_25-b.height-(pad.bottom||0));},getEl:function(){if(!this._domRef){this._domRef=Ext.getDom(this.id);}return this._domRef;},getDragEl:function(){return Ext.getDom(this.dragElId);},init:function(id,_28,_29){this.initTarget(id,_28,_29);_1.on(this.id,"mousedown",this.handleMouseDown,this);},initTarget:function(id,_2b,_2c){this.config=_2c||{};this.DDM=Ext.dd.DDM;this.groups={};if(typeof id!=="string"){id=Ext.id(id);}this.id=id;this.addToGroup((_2b)?_2b:"default");this.handleElId=id;this.setDragElId(id);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();this.handleOnAvailable();},applyConfig:function(){this.padding=this.config.padding||[0,0,0,0];this.isTarget=(this.config.isTarget!==false);this.maintainOffset=(this.config.maintainOffset);this.primaryButtonOnly=(this.config.primaryButtonOnly!==false);},handleOnAvailable:function(){this.available=true;this.resetConstraints();this.onAvailable();},setPadding:function(_2d,_2e,_2f,_30){if(!_2e&&0!==_2e){this.padding=[_2d,_2d,_2d,_2d];}else{if(!_2f&&0!==_2f){this.padding=[_2d,_2e,_2d,_2e];}else{this.padding=[_2d,_2e,_2f,_30];}}},setInitPosition:function(_31,_32){var el=this.getEl();if(!this.DDM.verifyEl(el)){return;}var dx=_31||0;var dy=_32||0;var p=_2.getXY(el);this.initPageX=p[0]-dx;this.initPageY=p[1]-dy;this.lastPageX=p[0];this.lastPageY=p[1];this.setStartPosition(p);},setStartPosition:function(pos){var p=pos||_2.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=p[0];this.startPageY=p[1];},addToGroup:function(_39){this.groups[_39]=true;this.DDM.regDragDrop(this,_39);},removeFromGroup:function(_3a){if(this.groups[_3a]){delete this.groups[_3a];}this.DDM.removeDDFromGroup(this,_3a);},setDragElId:function(id){this.dragElId=id;},setHandleElId:function(id){if(typeof id!=="string"){id=Ext.id(id);}this.handleElId=id;this.DDM.regHandle(this.id,id);},setOuterHandleElId:function(id){if(typeof id!=="string"){id=Ext.id(id);}_1.on(id,"mousedown",this.handleMouseDown,this);this.setHandleElId(id);this.hasOuterHandles=true;},unreg:function(){_1.un(this.id,"mousedown",this.handleMouseDown);this._domRef=null;this.DDM._remove(this);},isLocked:function(){return (this.DDM.isLocked()||this.locked);},handleMouseDown:function(e,oDD){if(this.primaryButtonOnly&&e.button!=0){return;}if(this.isLocked()){return;}this.DDM.refreshCache(this.groups);var pt=new Ext.lib.Point(Ext.lib.Event.getPageX(e),Ext.lib.Event.getPageY(e));if(!this.hasOuterHandles&&!this.DDM.isOverTarget(pt,this)){}else{if(this.clickValidator(e)){this.setStartPosition();this.b4MouseDown(e);this.onMouseDown(e);this.DDM.handleMouseDown(e,this);this.DDM.stopEvent(e);}else{}}},clickValidator:function(e){var _42=Ext.lib.Event.getTarget(e);return (this.isValidHandleChild(_42)&&(this.id==this.handleElId||this.DDM.handleWasClicked(_42,this.id)));},addInvalidHandleType:function(_43){var _44=_43.toUpperCase();this.invalidHandleTypes[_44]=_44;},addInvalidHandleId:function(id){if(typeof id!=="string"){id=Ext.id(id);}this.invalidHandleIds[id]=id;},addInvalidHandleClass:function(_46){this.invalidHandleClasses.push(_46);},removeInvalidHandleType:function(_47){var _48=_47.toUpperCase();delete this.invalidHandleTypes[_48];},removeInvalidHandleId:function(id){if(typeof id!=="string"){id=Ext.id(id);}delete this.invalidHandleIds[id];},removeInvalidHandleClass:function(_4a){for(var i=0,len=this.invalidHandleClasses.length;i<len;++i){if(this.invalidHandleClasses[i]==_4a){delete this.invalidHandleClasses[i];}}},isValidHandleChild:function(_4d){var _4e=true;var _4f;try{_4f=_4d.nodeName.toUpperCase();}catch(e){_4f=_4d.nodeName;}_4e=_4e&&!this.invalidHandleTypes[_4f];_4e=_4e&&!this.invalidHandleIds[_4d.id];for(var i=0,len=this.invalidHandleClasses.length;_4e&&i<len;++i){_4e=!_2.hasClass(_4d,this.invalidHandleClasses[i]);}return _4e;},setXTicks:function(_52,_53){this.xTicks=[];this.xTickSize=_53;var _54={};for(var i=this.initPageX;i>=this.minX;i=i-_53){if(!_54[i]){this.xTicks[this.xTicks.length]=i;_54[i]=true;}}for(i=this.initPageX;i<=this.maxX;i=i+_53){if(!_54[i]){this.xTicks[this.xTicks.length]=i;_54[i]=true;}}this.xTicks.sort(this.DDM.numericSort);},setYTicks:function(_56,_57){this.yTicks=[];this.yTickSize=_57;var _58={};for(var i=this.initPageY;i>=this.minY;i=i-_57){if(!_58[i]){this.yTicks[this.yTicks.length]=i;_58[i]=true;}}for(i=this.initPageY;i<=this.maxY;i=i+_57){if(!_58[i]){this.yTicks[this.yTicks.length]=i;_58[i]=true;}}this.yTicks.sort(this.DDM.numericSort);},setXConstraint:function(_5a,_5b,_5c){this.leftConstraint=_5a;this.rightConstraint=_5b;this.minX=this.initPageX-_5a;this.maxX=this.initPageX+_5b;if(_5c){this.setXTicks(this.initPageX,_5c);}this.constrainX=true;},clearConstraints:function(){this.constrainX=false;this.constrainY=false;this.clearTicks();},clearTicks:function(){this.xTicks=null;this.yTicks=null;this.xTickSize=0;this.yTickSize=0;},setYConstraint:function(iUp,_5e,_5f){this.topConstraint=iUp;this.bottomConstraint=_5e;this.minY=this.initPageY-iUp;this.maxY=this.initPageY+_5e;if(_5f){this.setYTicks(this.initPageY,_5f);}this.constrainY=true;},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var dx=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var dy=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(dx,dy);}else{this.setInitPosition();}if(this.constrainX){this.setXConstraint(this.leftConstraint,this.rightConstraint,this.xTickSize);}if(this.constrainY){this.setYConstraint(this.topConstraint,this.bottomConstraint,this.yTickSize);}},getTick:function(val,_63){if(!_63){return val;}else{if(_63[0]>=val){return _63[0];}else{for(var i=0,len=_63.length;i<len;++i){var _66=i+1;if(_63[_66]&&_63[_66]>=val){var _67=val-_63[i];var _68=_63[_66]-val;return (_68>_67)?_63[i]:_63[_66];}}return _63[_63.length-1];}}},toString:function(){return ("DragDrop "+this.id);}};})();if(!Ext.dd.DragDropMgr){Ext.dd.DragDropMgr=function(){var _69=Ext.EventManager;return {ids:{},handleIds:{},dragCurrent:null,dragOvers:{},deltaX:0,deltaY:0,preventDefault:true,stopPropagation:true,initalized:false,locked:false,init:function(){this.initialized=true;},POINT:0,INTERSECT:1,mode:0,_execOnAll:function(_6a,_6b){for(var i in this.ids){for(var j in this.ids[i]){var oDD=this.ids[i][j];if(!this.isTypeOfDD(oDD)){continue;}oDD[_6a].apply(oDD,_6b);}}},_onLoad:function(){this.init();_69.on(document,"mouseup",this.handleMouseUp,this,true);_69.on(window,"unload",this._onUnload,this,true);_69.on(window,"resize",this._onResize,this,true);},_onResize:function(e){this._execOnAll("resetConstraints",[]);},lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isLocked:function(){return this.locked;},locationCache:{},useCache:true,clickPixelThresh:3,clickTimeThresh:350,dragThreshMet:false,clickTimeout:null,startX:0,startY:0,regDragDrop:function(oDD,_71){if(!this.initialized){this.init();}if(!this.ids[_71]){this.ids[_71]={};}this.ids[_71][oDD.id]=oDD;},removeDDFromGroup:function(oDD,_73){if(!this.ids[_73]){this.ids[_73]={};}var obj=this.ids[_73];if(obj&&obj[oDD.id]){delete obj[oDD.id];}},_remove:function(oDD){for(var g in oDD.groups){if(g&&this.ids[g][oDD.id]){delete this.ids[g][oDD.id];}}delete this.handleIds[oDD.id];},regHandle:function(_77,_78){if(!this.handleIds[_77]){this.handleIds[_77]={};}this.handleIds[_77][_78]=_78;},isDragDrop:function(id){return (this.getDDById(id))?true:false;},getRelated:function(_7a,_7b){var _7c=[];for(var i in _7a.groups){for(j in this.ids[i]){var dd=this.ids[i][j];if(!this.isTypeOfDD(dd)){continue;}if(!_7b||dd.isTarget){_7c[_7c.length]=dd;}}}return _7c;},isLegalTarget:function(oDD,_80){var _81=this.getRelated(oDD,true);for(var i=0,len=_81.length;i<len;++i){if(_81[i].id==_80.id){return true;}}return false;},isTypeOfDD:function(oDD){return (oDD&&oDD.__ygDragDrop);},isHandle:function(_85,_86){return (this.handleIds[_85]&&this.handleIds[_85][_86]);},getDDById:function(id){for(var i in this.ids){if(this.ids[i][id]){return this.ids[i][id];}}return null;},handleMouseDown:function(e,oDD){_69.on(document,"mousemove",this.handleMouseMove,this,true);this.currentTarget=Ext.lib.Event.getTarget(e);this.dragCurrent=oDD;var el=oDD.getEl();this.startX=Ext.lib.Event.getPageX(e);this.startY=Ext.lib.Event.getPageY(e);this.deltaX=this.startX-el.offsetLeft;this.deltaY=this.startY-el.offsetTop;this.dragThreshMet=false;this.clickTimeout=setTimeout(function(){var DDM=Ext.dd.DDM;DDM.startDrag(DDM.startX,DDM.startY);},this.clickTimeThresh);},startDrag:function(x,y){clearTimeout(this.clickTimeout);if(this.dragCurrent){this.dragCurrent.b4StartDrag(x,y);this.dragCurrent.startDrag(x,y);}this.dragThreshMet=true;},handleMouseUp:function(e){_69.un(document,"mousemove",this.handleMouseMove,this,true);if(!this.dragCurrent){return true;}clearTimeout(this.clickTimeout);if(this.dragThreshMet){this.fireEvents(e,true);}else{}this.stopDrag(e);this.stopEvent(e);},stopEvent:function(e){if(this.stopPropagation){e.stopPropagation();}if(this.preventDefault){e.preventDefault();}},stopDrag:function(e){if(this.dragCurrent){if(this.dragThreshMet){this.dragCurrent.b4EndDrag(e);this.dragCurrent.endDrag(e);}this.dragCurrent.onMouseUp(e);}this.dragCurrent=null;this.dragOvers={};},handleMouseMove:function(e){if(!this.dragCurrent){return true;}if(Ext.isIE&&(e.button!==0&&e.button!==1&&e.button!==2)){this.stopEvent(e);return this.handleMouseUp(e);}if(!this.dragThreshMet){var _93=Math.abs(this.startX-Ext.lib.Event.getPageX(e));var _94=Math.abs(this.startY-Ext.lib.Event.getPageY(e));if(_93>this.clickPixelThresh||_94>this.clickPixelThresh){this.startDrag(this.startX,this.startY);}}if(this.dragThreshMet){this.dragCurrent.b4Drag(e);this.dragCurrent.onDrag(e);if(!this.dragCurrent.moveOnly){this.fireEvents(e,false);}}this.stopEvent(e);return true;},fireEvents:function(e,_96){var dc=this.dragCurrent;if(!dc||dc.isLocked()){return;}var x=Ext.lib.Event.getPageX(e);var y=Ext.lib.Event.getPageY(e);var pt=new Ext.lib.Point(x,y);var _9b=[];var _9c=[];var _9d=[];var _9e=[];var _9f=[];for(var i in this.dragOvers){var ddo=this.dragOvers[i];if(!this.isTypeOfDD(ddo)){continue;}if(!this.isOverTarget(pt,ddo,this.mode)){_9c.push(ddo);}_9b[i]=true;delete this.dragOvers[i];}for(var _a2 in dc.groups){if("string"!=typeof _a2){continue;}for(i in this.ids[_a2]){var oDD=this.ids[_a2][i];if(!this.isTypeOfDD(oDD)){continue;}if(oDD.isTarget&&!oDD.isLocked()&&oDD!=dc){if(this.isOverTarget(pt,oDD,this.mode)){if(_96){_9e.push(oDD);}else{if(!_9b[oDD.id]){_9f.push(oDD);}else{_9d.push(oDD);}this.dragOvers[oDD.id]=oDD;}}}}}if(this.mode){if(_9c.length){dc.b4DragOut(e,_9c);dc.onDragOut(e,_9c);}if(_9f.length){dc.onDragEnter(e,_9f);}if(_9d.length){dc.b4DragOver(e,_9d);dc.onDragOver(e,_9d);}if(_9e.length){dc.b4DragDrop(e,_9e);dc.onDragDrop(e,_9e);}}else{var len=0;for(i=0,len=_9c.length;i<len;++i){dc.b4DragOut(e,_9c[i].id);dc.onDragOut(e,_9c[i].id);}for(i=0,len=_9f.length;i<len;++i){dc.onDragEnter(e,_9f[i].id);}for(i=0,len=_9d.length;i<len;++i){dc.b4DragOver(e,_9d[i].id);dc.onDragOver(e,_9d[i].id);}for(i=0,len=_9e.length;i<len;++i){dc.b4DragDrop(e,_9e[i].id);dc.onDragDrop(e,_9e[i].id);}}if(_96&&!_9e.length){dc.onInvalidDrop(e);}},getBestMatch:function(dds){var _a6=null;var len=dds.length;if(len==1){_a6=dds[0];}else{for(var i=0;i<len;++i){var dd=dds[i];if(dd.cursorIsOver){_a6=dd;break;}else{if(!_a6||_a6.overlap.getArea()<dd.overlap.getArea()){_a6=dd;}}}}return _a6;},refreshCache:function(_aa){for(var _ab in _aa){if("string"!=typeof _ab){continue;}for(var i in this.ids[_ab]){var oDD=this.ids[_ab][i];if(this.isTypeOfDD(oDD)){var loc=this.getLocation(oDD);if(loc){this.locationCache[oDD.id]=loc;}else{delete this.locationCache[oDD.id];}}}}},verifyEl:function(el){try{if(el){var _b0=el.offsetParent;if(_b0){return true;}}}catch(e){}return false;},getLocation:function(oDD){if(!this.isTypeOfDD(oDD)){return null;}var el=oDD.getEl(),pos,x1,x2,y1,y2,t,r,b,l;try{pos=Ext.lib.Dom.getXY(el);}catch(e){}if(!pos){return null;}x1=pos[0];x2=x1+el.offsetWidth;y1=pos[1];y2=y1+el.offsetHeight;t=y1-oDD.padding[0];r=x2+oDD.padding[1];b=y2+oDD.padding[2];l=x1-oDD.padding[3];return new Ext.lib.Region(t,r,b,l);},isOverTarget:function(pt,_bd,_be){var loc=this.locationCache[_bd.id];if(!loc||!this.useCache){loc=this.getLocation(_bd);this.locationCache[_bd.id]=loc;}if(!loc){return false;}_bd.cursorIsOver=loc.contains(pt);var dc=this.dragCurrent;if(!dc||!dc.getTargetCoord||(!_be&&!dc.constrainX&&!dc.constrainY)){return _bd.cursorIsOver;}_bd.overlap=null;var pos=dc.getTargetCoord(pt.x,pt.y);var el=dc.getDragEl();var _c3=new Ext.lib.Region(pos.y,pos.x+el.offsetWidth,pos.y+el.offsetHeight,pos.x);var _c4=_c3.intersect(loc);if(_c4){_bd.overlap=_c4;return (_be)?true:_bd.cursorIsOver;}else{return false;}},_onUnload:function(e,me){Ext.dd.DragDropMgr.unregAll();},unregAll:function(){if(this.dragCurrent){this.stopDrag();this.dragCurrent=null;}this._execOnAll("unreg",[]);for(i in this.elementCache){delete this.elementCache[i];}this.elementCache={};this.ids={};},elementCache:{},getElWrapper:function(id){var _c8=this.elementCache[id];if(!_c8||!_c8.el){_c8=this.elementCache[id]=new this.ElementWrapper(Ext.getDom(id));}return _c8;},getElement:function(id){return Ext.getDom(id);},getCss:function(id){var el=Ext.getDom(id);return (el)?el.style:null;},ElementWrapper:function(el){this.el=el||null;this.id=this.el&&el.id;this.css=this.el&&el.style;},getPosX:function(el){return Ext.lib.Dom.getX(el);},getPosY:function(el){return Ext.lib.Dom.getY(el);},swapNode:function(n1,n2){if(n1.swapNode){n1.swapNode(n2);}else{var p=n2.parentNode;var s=n2.nextSibling;if(s==n1){p.insertBefore(n1,n2);}else{if(n2==n1.nextSibling){p.insertBefore(n2,n1);}else{n1.parentNode.replaceChild(n2,n1);p.insertBefore(n1,s);}}}},getScroll:function(){var t,l,dde=document.documentElement,db=document.body;if(dde&&(dde.scrollTop||dde.scrollLeft)){t=dde.scrollTop;l=dde.scrollLeft;}else{if(db){t=db.scrollTop;l=db.scrollLeft;}else{}}return {top:t,left:l};},getStyle:function(el,_d8){return Ext.fly(el).getStyle(_d8);},getScrollTop:function(){return this.getScroll().top;},getScrollLeft:function(){return this.getScroll().left;},moveToEl:function(_d9,_da){var _db=Ext.lib.Dom.getXY(_da);Ext.lib.Dom.setXY(_d9,_db);},numericSort:function(a,b){return (a-b);},_timeoutCount:0,_addListeners:function(){var DDM=Ext.dd.DDM;if(Ext.lib.Event&&document){DDM._onLoad();}else{if(DDM._timeoutCount>2000){}else{setTimeout(DDM._addListeners,10);if(document&&document.body){DDM._timeoutCount+=1;}}}},handleWasClicked:function(_df,id){if(this.isHandle(id,_df.id)){return true;}else{var p=_df.parentNode;while(p){if(this.isHandle(id,p.id)){return true;}else{p=p.parentNode;}}}return false;}};}();Ext.dd.DDM=Ext.dd.DragDropMgr;Ext.dd.DDM._addListeners();}Ext.dd.DD=function(id,_e3,_e4){if(id){this.init(id,_e3,_e4);}};Ext.extend(Ext.dd.DD,Ext.dd.DragDrop,{scroll:true,autoOffset:function(_e5,_e6){var x=_e5-this.startPageX;var y=_e6-this.startPageY;this.setDelta(x,y);},setDelta:function(_e9,_ea){this.deltaX=_e9;this.deltaY=_ea;},setDragElPos:function(_eb,_ec){var el=this.getDragEl();this.alignElWithMouse(el,_eb,_ec);},alignElWithMouse:function(el,_ef,_f0){var _f1=this.getTargetCoord(_ef,_f0);var fly=el.dom?el:Ext.fly(el);if(!this.deltaSetXY){var _f3=[_f1.x,_f1.y];fly.setXY(_f3);var _f4=fly.getLeft(true);var _f5=fly.getTop(true);this.deltaSetXY=[_f4-_f1.x,_f5-_f1.y];}else{fly.setLeftTop(_f1.x+this.deltaSetXY[0],_f1.y+this.deltaSetXY[1]);}this.cachePosition(_f1.x,_f1.y);this.autoScroll(_f1.x,_f1.y,el.offsetHeight,el.offsetWidth);return _f1;},cachePosition:function(_f6,_f7){if(_f6){this.lastPageX=_f6;this.lastPageY=_f7;}else{var _f8=Ext.lib.Dom.getXY(this.getEl());this.lastPageX=_f8[0];this.lastPageY=_f8[1];}},autoScroll:function(x,y,h,w){if(this.scroll){var _fd=Ext.lib.Dom.getViewWidth();var _fe=Ext.lib.Dom.getViewHeight();var st=this.DDM.getScrollTop();var sl=this.DDM.getScrollLeft();var bot=h+y;var _102=w+x;var _103=(_fd+st-y-this.deltaY);var _104=(_fe+sl-x-this.deltaX);var _105=40;var _106=(document.all)?80:30;if(bot>_fd&&_103<_105){window.scrollTo(sl,st+_106);}if(y<st&&st>0&&y-st<_105){window.scrollTo(sl,st-_106);}if(_102>_fe&&_104<_105){window.scrollTo(sl+_106,st);}if(x<sl&&sl>0&&x-sl<_105){window.scrollTo(sl-_106,st);}}},getTargetCoord:function(_107,_108){var x=_107-this.deltaX;var y=_108-this.deltaY;if(this.constrainX){if(x<this.minX){x=this.minX;}if(x>this.maxX){x=this.maxX;}}if(this.constrainY){if(y<this.minY){y=this.minY;}if(y>this.maxY){y=this.maxY;}}x=this.getTick(x,this.xTicks);y=this.getTick(y,this.yTicks);return {x:x,y:y};},applyConfig:function(){Ext.dd.DD.superclass.applyConfig.call(this);this.scroll=(this.config.scroll!==false);},b4MouseDown:function(e){this.autoOffset(Ext.lib.Event.getPageX(e),Ext.lib.Event.getPageY(e));},b4Drag:function(e){this.setDragElPos(Ext.lib.Event.getPageX(e),Ext.lib.Event.getPageY(e));},toString:function(){return ("DD "+this.id);}});Ext.dd.DDProxy=function(id,_10e,_10f){if(id){this.init(id,_10e,_10f);this.initFrame();}};Ext.dd.DDProxy.dragElId="ygddfdiv";Ext.extend(Ext.dd.DDProxy,Ext.dd.DD,{resizeFrame:true,centerFrame:false,createFrame:function(){var self=this;var body=document.body;if(!body||!body.firstChild){setTimeout(function(){self.createFrame();},50);return;}var div=this.getDragEl();if(!div){div=document.createElement("div");div.id=this.dragElId;var s=div.style;s.position="absolute";s.visibility="hidden";s.cursor="move";s.border="2px solid #aaa";s.zIndex=999;body.insertBefore(div,body.firstChild);}},initFrame:function(){this.createFrame();},applyConfig:function(){Ext.dd.DDProxy.superclass.applyConfig.call(this);this.resizeFrame=(this.config.resizeFrame!==false);this.centerFrame=(this.config.centerFrame);this.setDragElId(this.config.dragElId||Ext.dd.DDProxy.dragElId);},showFrame:function(_114,_115){var el=this.getEl();var _117=this.getDragEl();var s=_117.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(s.width,10)/2),Math.round(parseInt(s.height,10)/2));}this.setDragElPos(_114,_115);Ext.fly(_117).show();},_resizeProxy:function(){if(this.resizeFrame){var el=this.getEl();Ext.fly(this.getDragEl()).setSize(el.offsetWidth,el.offsetHeight);}},b4MouseDown:function(e){var x=Ext.lib.Event.getPageX(e);var y=Ext.lib.Event.getPageY(e);this.autoOffset(x,y);this.setDragElPos(x,y);},b4StartDrag:function(x,y){this.showFrame(x,y);},b4EndDrag:function(e){Ext.fly(this.getDragEl()).hide();},endDrag:function(e){var lel=this.getEl();var del=this.getDragEl();del.style.visibility="";this.beforeMove();lel.style.visibility="hidden";Ext.dd.DDM.moveToEl(lel,del);del.style.visibility="hidden";lel.style.visibility="";this.afterDrag();},beforeMove:function(){},afterDrag:function(){},toString:function(){return ("DDProxy "+this.id);}});Ext.dd.DDTarget=function(id,_124,_125){if(id){this.initTarget(id,_124,_125);}};Ext.extend(Ext.dd.DDTarget,Ext.dd.DragDrop,{toString:function(){return ("DDTarget "+this.id);}});
94
+
95
+
96
+
97
+ Ext.dd.ScrollManager=function(){var _1=Ext.dd.DragDropMgr;var _2={};var _3=null;var _4={};var _5=function(e){_3=null;_7();};var _8=function(){if(_1.dragCurrent){_1.refreshCache(_1.dragCurrent.groups);}};var _9=function(){if(_1.dragCurrent){var _a=Ext.dd.ScrollManager;if(!_a.animate){if(_4.el.scroll(_4.dir,_a.increment)){_8();}}else{_4.el.scroll(_4.dir,_a.increment,true,_a.animDuration,_8);}}};var _7=function(){if(_4.id){clearInterval(_4.id);}_4.id=0;_4.el=null;_4.dir="";};var _b=function(el,_d){_7();_4.el=el;_4.dir=_d;_4.id=setInterval(_9,Ext.dd.ScrollManager.frequency);};var _e=function(e,_10){if(_10||!_1.dragCurrent){return;}var dds=Ext.dd.ScrollManager;if(!_3||_3!=_1.dragCurrent){_3=_1.dragCurrent;dds.refreshCache();}var xy=Ext.lib.Event.getXY(e);var pt=new Ext.lib.Point(xy[0],xy[1]);for(var id in _2){var el=_2[id],r=el._region;if(r.contains(pt)&&el.isScrollable()){if(r.bottom-pt.y<=dds.thresh){if(_4.el!=el){_b(el,"down");}return;}else{if(r.right-pt.x<=dds.thresh){if(_4.el!=el){_b(el,"left");}return;}else{if(pt.y-r.top<=dds.thresh){if(_4.el!=el){_b(el,"up");}return;}else{if(pt.x-r.left<=dds.thresh){if(_4.el!=el){_b(el,"right");}return;}}}}}}_7();};_1.fireEvents=_1.fireEvents.createSequence(_e,_1);_1.stopDrag=_1.stopDrag.createSequence(_5,_1);return {register:function(el){if(el instanceof Array){for(var i=0,len=el.length;i<len;i++){this.register(el[i]);}}else{el=Ext.get(el);_2[el.id]=el;}},unregister:function(el){if(el instanceof Array){for(var i=0,len=el.length;i<len;i++){this.unregister(el[i]);}}else{el=Ext.get(el);delete _2[el.id];}},thresh:25,increment:100,frequency:500,animate:true,animDuration:0.4,refreshCache:function(){for(var id in _2){if(typeof _2[id]=="object"){_2[id]._region=_2[id].getRegion();}}}};}();
98
+
99
+
100
+
101
+ Ext.dd.Registry=function(){var _1={};var _2={};var _3=0;var _4=function(el,_6){if(typeof el=="string"){return el;}var id=el.id;if(!id&&_6!==false){id="extdd-"+(++_3);el.id=id;}return id;};return {register:function(el,_9){_9=_9||{};if(typeof el=="string"){el=document.getElementById(el);}_9.ddel=el;_1[_4(el)]=_9;if(_9.isHandle!==false){_2[_9.ddel.id]=_9;}if(_9.handles){var hs=_9.handles;for(var i=0,_c=hs.length;i<_c;i++){_2[_4(hs[i])]=_9;}}},unregister:function(el){var id=_4(el,false);var _f=_1[id];if(_f){delete _1[id];if(_f.handles){var hs=_f.handles;for(var i=0,len=hs.length;i<len;i++){delete _2[_4(hs[i],false)];}}}},getHandle:function(id){if(typeof id!="string"){id=id.id;}return _2[id];},getHandleFromEvent:function(e){var t=Ext.lib.Event.getTarget(e);return t?_2[t.id]:null;},getTarget:function(id){if(typeof id!="string"){id=id.id;}return _1[id];},getTargetFromEvent:function(e){var t=Ext.lib.Event.getTarget(e);return t?_1[t.id]||_2[t.id]:null;}};}();
102
+
103
+
104
+
105
+ Ext.dd.StatusProxy=function(_1){Ext.apply(this,_1);this.id=this.id||Ext.id();this.el=new Ext.Layer({dh:{id:this.id,tag:"div",cls:"x-dd-drag-proxy "+this.dropNotAllowed,children:[{tag:"div",cls:"x-dd-drop-icon"},{tag:"div",cls:"x-dd-drag-ghost"}]},shadow:!_1||_1.shadow!==false});this.ghost=Ext.get(this.el.dom.childNodes[1]);this.dropStatus=this.dropNotAllowed;};Ext.dd.StatusProxy.prototype={dropAllowed:"x-dd-drop-ok",dropNotAllowed:"x-dd-drop-nodrop",setStatus:function(_2){_2=_2||this.dropNotAllowed;if(this.dropStatus!=_2){this.el.replaceClass(this.dropStatus,_2);this.dropStatus=_2;}},reset:function(_3){this.el.dom.className="x-dd-drag-proxy "+this.dropNotAllowed;this.dropStatus=this.dropNotAllowed;if(_3){this.ghost.update("");}},update:function(_4){if(typeof _4=="string"){this.ghost.update(_4);}else{this.ghost.update("");_4.style.margin="0";this.ghost.dom.appendChild(_4);}},getEl:function(){return this.el;},getGhost:function(){return this.ghost;},hide:function(_5){this.el.hide();if(_5){this.reset(true);}},stop:function(){if(this.anim&&this.anim.isAnimated&&this.anim.isAnimated()){this.anim.stop();}},show:function(){this.el.show();},sync:function(){this.el.sync();},repair:function(xy,_7,_8){this.callback=_7;this.scope=_8;if(xy&&this.animRepair!==false){this.el.addClass("x-dd-drag-repair");this.el.hideUnders(true);this.anim=this.el.shift({duration:this.repairDuration||0.5,easing:"easeOut",xy:xy,stopFx:true,callback:this.afterRepair,scope:this});}else{this.afterRepair();}},afterRepair:function(){this.hide(true);if(typeof this.callback=="function"){this.callback.call(this.scope||this);}this.callback==null;this.scope==null;}};
106
+
107
+
108
+
109
+ Ext.dd.DragSource=function(el,_2){this.el=Ext.get(el);this.dragData={};Ext.apply(this,_2);if(!this.proxy){this.proxy=new Ext.dd.StatusProxy();}this.el.on("mouseup",this.handleMouseUp);Ext.dd.DragSource.superclass.constructor.call(this,this.el.dom,this.ddGroup||this.group,{dragElId:this.proxy.id,resizeFrame:false,isTarget:false,scroll:this.scroll===true});this.dragging=false;};Ext.extend(Ext.dd.DragSource,Ext.dd.DDProxy,{dropAllowed:"x-dd-drop-ok",dropNotAllowed:"x-dd-drop-nodrop",getDragData:function(e){return this.dragData;},onDragEnter:function(e,id){var _6=Ext.dd.DragDropMgr.getDDById(id);this.cachedTarget=_6;if(this.beforeDragEnter(_6,e,id)!==false){if(_6.isNotifyTarget){var _7=_6.notifyEnter(this,e,this.dragData);this.proxy.setStatus(_7);}else{this.proxy.setStatus(this.dropAllowed);}if(this.afterDragEnter){this.afterDragEnter(_6,e,id);}}},beforeDragEnter:function(_8,e,id){return true;},alignElWithMouse:function(){Ext.dd.DragSource.superclass.alignElWithMouse.apply(this,arguments);this.proxy.sync();},onDragOver:function(e,id){var _d=this.cachedTarget||Ext.dd.DragDropMgr.getDDById(id);if(this.beforeDragOver(_d,e,id)!==false){if(_d.isNotifyTarget){var _e=_d.notifyOver(this,e,this.dragData);this.proxy.setStatus(_e);}if(this.afterDragOver){this.afterDragOver(_d,e,id);}}},beforeDragOver:function(_f,e,id){return true;},onDragOut:function(e,id){var _14=this.cachedTarget||Ext.dd.DragDropMgr.getDDById(id);if(this.beforeDragOut(_14,e,id)!==false){if(_14.isNotifyTarget){_14.notifyOut(this,e,this.dragData);}this.proxy.reset();if(this.afterDragOut){this.afterDragOut(_14,e,id);}}this.cachedTarget=null;},beforeDragOut:function(_15,e,id){return true;},onDragDrop:function(e,id){var _1a=this.cachedTarget||Ext.dd.DragDropMgr.getDDById(id);if(this.beforeDragDrop(_1a,e,id)!==false){if(_1a.isNotifyTarget){if(_1a.notifyDrop(this,e,this.dragData)){this.onValidDrop(_1a,e,id);}else{this.onInvalidDrop(_1a,e,id);}}else{this.onValidDrop(_1a,e,id);}if(this.afterDragDrop){this.afterDragDrop(_1a,e,id);}}},beforeDragDrop:function(_1b,e,id){return true;},onValidDrop:function(_1e,e,id){this.hideProxy();},getRepairXY:function(e,_22){return this.el.getXY();},onInvalidDrop:function(_23,e,id){this.beforeInvalidDrop(_23,e,id);if(this.cachedTarget){if(this.cachedTarget.isNotifyTarget){this.cachedTarget.notifyOut(this,e,this.dragData);}this.cacheTarget=null;}this.proxy.repair(this.getRepairXY(e,this.dragData),this.afterRepair,this);if(this.afterInvalidDrop){this.afterInvalidDrop(e,id);}},afterRepair:function(){if(Ext.enableFx){this.el.highlight(this.hlColor||"c3daf9");}this.dragging=false;},beforeInvalidDrop:function(_26,e,id){return true;},handleMouseDown:function(e){if(this.dragging){return;}if(Ext.QuickTips){Ext.QuickTips.disable();}var _2a=this.getDragData(e);if(_2a&&this.onBeforeDrag(_2a,e)!==false){this.dragData=_2a;this.proxy.stop();Ext.dd.DragSource.superclass.handleMouseDown.apply(this,arguments);}},handleMouseUp:function(e){if(Ext.QuickTips){Ext.QuickTips.enable();}},onBeforeDrag:function(_2c,e){return true;},onStartDrag:Ext.emptyFn,startDrag:function(x,y){this.proxy.reset();this.dragging=true;this.proxy.update("");this.onInitDrag(x,y);this.proxy.show();},onInitDrag:function(x,y){var _32=this.el.dom.cloneNode(true);_32.id=Ext.id();this.proxy.update(_32);this.onStartDrag(x,y);return true;},getProxy:function(){return this.proxy;},hideProxy:function(){this.proxy.hide();this.proxy.reset(true);this.dragging=false;},triggerCacheRefresh:function(){Ext.dd.DDM.refreshCache(this.groups);},b4EndDrag:function(e){},endDrag:function(e){this.onEndDrag(this.dragData,e);},onEndDrag:function(_35,e){},autoOffset:function(x,y){this.setDelta(-12,-20);}});
110
+
111
+
112
+
113
+ Ext.dd.DropTarget=function(el,_2){this.el=Ext.get(el);Ext.apply(this,_2);if(this.containerScroll){Ext.dd.ScrollManager.register(this.el);}Ext.dd.DropTarget.superclass.constructor.call(this,this.el.dom,this.ddGroup||this.group,{isTarget:true});};Ext.extend(Ext.dd.DropTarget,Ext.dd.DDTarget,{dropAllowed:"x-dd-drop-ok",dropNotAllowed:"x-dd-drop-nodrop",isTarget:true,isNotifyTarget:true,notifyEnter:function(dd,e,_5){if(this.overClass){this.el.addClass(this.overClass);}return this.dropAllowed;},notifyOver:function(dd,e,_8){return this.dropAllowed;},notifyOut:function(dd,e,_b){if(this.overClass){this.el.removeClass(this.overClass);}},notifyDrop:function(dd,e,_e){return false;}});
114
+
115
+
116
+
117
+ Ext.dd.DragZone=function(el,_2){Ext.dd.DragZone.superclass.constructor.call(this,el,_2);if(this.containerScroll){Ext.dd.ScrollManager.register(this.el);}};Ext.extend(Ext.dd.DragZone,Ext.dd.DragSource,{getDragData:function(e){return Ext.dd.Registry.getHandleFromEvent(e);},onInitDrag:function(x,y){this.proxy.update(this.dragData.ddel.cloneNode(true));this.onStartDrag(x,y);return true;},afterRepair:function(){if(Ext.enableFx){Ext.Element.fly(this.dragData.ddel).highlight(this.hlColor||"c3daf9");}this.dragging=false;},getRepairXY:function(e){return Ext.Element.fly(this.dragData.ddel).getXY();}});
118
+
119
+
120
+
121
+ Ext.dd.DropZone=function(el,_2){Ext.dd.DropZone.superclass.constructor.call(this,el,_2);};Ext.extend(Ext.dd.DropZone,Ext.dd.DropTarget,{getTargetFromEvent:function(e){return Ext.dd.Registry.getTargetFromEvent(e);},onNodeEnter:function(n,dd,e,_7){},onNodeOver:function(n,dd,e,_b){return this.dropAllowed;},onNodeOut:function(n,dd,e,_f){},onNodeDrop:function(n,dd,e,_13){return false;},onContainerOver:function(dd,e,_16){return this.dropNotAllowed;},onContainerDrop:function(dd,e,_19){return false;},notifyEnter:function(dd,e,_1c){return this.dropNotAllowed;},notifyOver:function(dd,e,_1f){var n=this.getTargetFromEvent(e);if(!n){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,dd,e,_1f);this.lastOverNode=null;}return this.onContainerOver(dd,e,_1f);}if(this.lastOverNode!=n){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,dd,e,_1f);}this.onNodeEnter(n,dd,e,_1f);this.lastOverNode=n;}return this.onNodeOver(n,dd,e,_1f);},notifyOut:function(dd,e,_23){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,dd,e,_23);this.lastOverNode=null;}},notifyDrop:function(dd,e,_26){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,dd,e,_26);this.lastOverNode=null;}var n=this.getTargetFromEvent(e);return n?this.onNodeDrop(n,dd,e,_26):this.onContainerDrop(dd,e,_26);},triggerCacheRefresh:function(){Ext.dd.DDM.refreshCache(this.groups);}});
122
+
123
+
124
+
125
+ Ext.data.SortTypes={none:function(s){return s;},stripTagsRE:/<\/?[^>]+>/gi,asText:function(s){return String(s).replace(this.stripTagsRE,"");},asUCText:function(s){return String(s).toUpperCase().replace(this.stripTagsRE,"");},asUCString:function(s){return String(s).toUpperCase();},asDate:function(s){if(!s){return 0;}if(s instanceof Date){return s.getTime();}return Date.parse(String(s));},asFloat:function(s){var _7=parseFloat(String(s).replace(/,/g,""));if(isNaN(_7)){_7=0;}return _7;},asInt:function(s){var _9=parseInt(String(s).replace(/,/g,""));if(isNaN(_9)){_9=0;}return _9;}};
126
+
127
+
128
+
129
+ Ext.data.Record=function(_1,id){this.id=(id||id===0)?id:++Ext.data.Record.AUTO_ID;this.data=_1;};Ext.data.Record.create=function(o){var f=function(){f.superclass.constructor.apply(this,arguments);};Ext.extend(f,Ext.data.Record);var p=f.prototype;p.fields=new Ext.util.MixedCollection(false,function(_6){return _6.name;});for(var i=0,_8=o.length;i<_8;i++){p.fields.add(new Ext.data.Field(o[i]));}f.getField=function(_9){return p.fields.get(_9);};return f;};Ext.data.Record.AUTO_ID=1000;Ext.data.Record.EDIT="edit";Ext.data.Record.REJECT="reject";Ext.data.Record.COMMIT="commit";Ext.data.Record.prototype={dirty:false,editing:false,error:null,modified:null,join:function(_a){this.store=_a;},set:function(_b,_c){if(this.data[_b]==_c){return;}this.dirty=true;if(!this.modified){this.modified={};}if(typeof this.modified[_b]=="undefined"){this.modified[_b]=this.data[_b];}this.data[_b]=_c;if(!this.editing){this.store.afterEdit(this);}},get:function(_d){return this.data[_d];},beginEdit:function(){this.editing=true;this.modified={};},cancelEdit:function(){this.editing=false;delete this.modified;},endEdit:function(){this.editing=false;if(this.dirty&&this.store){this.store.afterEdit(this);}},reject:function(){var m=this.modified;for(var n in m){if(typeof m[n]!="function"){this.data[n]=m[n];}}this.dirty=false;delete this.modified;this.editing=false;if(this.store){this.store.afterReject(this);}},commit:function(){this.dirty=false;delete this.modified;this.editing=false;if(this.store){this.store.afterCommit(this);}},hasError:function(){return this.error!=null;},clearError:function(){this.error=null;}};
130
+
131
+
132
+
133
+ Ext.data.Store=function(_1){this.data=new Ext.util.MixedCollection(false);this.data.getKey=function(o){return o.id;};this.baseParams={};this.paramNames={"start":"start","limit":"limit","sort":"sort","dir":"dir"};Ext.apply(this,_1);if(this.reader&&!this.recordType){this.recordType=this.reader.recordType;}this.fields=this.recordType.prototype.fields;this.modified=[];this.addEvents({datachanged:true,add:true,remove:true,update:true,clear:true,beforeload:true,load:true,loadexception:true});if(this.proxy){this.relayEvents(this.proxy,["loadexception"]);}this.sortToggle={};Ext.data.Store.superclass.constructor.call(this);};Ext.extend(Ext.data.Store,Ext.util.Observable,{remoteSort:false,lastOptions:null,add:function(_3){_3=[].concat(_3);for(var i=0,_5=_3.length;i<_5;i++){_3[i].join(this);}var _6=this.data.length;this.data.addAll(_3);this.fireEvent("add",this,_3,_6);},remove:function(_7){var _8=this.data.indexOf(_7);this.data.removeAt(_8);this.fireEvent("remove",this,_7,_8);},removeAll:function(){this.data.clear();this.fireEvent("clear",this);},insert:function(_9,_a){_a=[].concat(_a);for(var i=0,_c=_a.length;i<_c;i++){this.data.insert(_9,_a[i]);_a[i].join(this);}this.fireEvent("add",this,_a,_9);},indexOf:function(_d){return this.data.indexOf(_d);},indexOfId:function(id){return this.data.indexOfKey(id);},getById:function(id){return this.data.key(id);},getAt:function(_10){return this.data.itemAt(_10);},getRange:function(_11,end){return this.data.getRange(_11,end);},storeOptions:function(o){o=Ext.apply({},o);delete o.callback;delete o.scope;this.lastOptions=o;},load:function(_14){_14=_14||{};if(this.fireEvent("beforeload",this,_14)!==false){this.storeOptions(_14);var p=Ext.apply(_14.params||{},this.baseParams);if(this.sortInfo&&this.remoteSort){var pn=this.paramNames;p[pn["sort"]]=this.sortInfo.field;p[pn["dir"]]=this.sortInfo.direction;}this.proxy.load(p,this.reader,this.loadRecords,this,_14);}},reload:function(_17){this.load(Ext.applyIf(_17||{},this.lastOptions));},loadRecords:function(o,_19,_1a){if(!o||_1a===false){if(_1a!==false){this.fireEvent("load",this,[],_19);}if(_19.callback){_19.callback.call(_19.scope||this,[],_19,false);}return;}var r=o.records,t=o.totalRecords||r.length;for(var i=0,len=r.length;i<len;i++){r[i].join(this);}if(!_19||_19.add!==true){this.data.clear();this.data.addAll(r);this.totalLength=t;this.applySort();this.fireEvent("datachanged",this);}else{this.totalLength=Math.max(t,this.data.length+r.length);this.data.addAll(r);}this.fireEvent("load",this,r,_19);if(_19.callback){_19.callback.call(_19.scope||this,r,_19,true);}},loadData:function(o,_20){var r=this.reader.readRecords(o);this.loadRecords(r,{add:_20},true);},getCount:function(){return this.data.length||0;},getTotalCount:function(){return this.totalLength||0;},getSortState:function(){return this.sortInfo;},applySort:function(){if(this.sortInfo&&!this.remoteSort){var s=this.sortInfo,f=s.field;var st=this.fields.get(f).sortType;var fn=function(r1,r2){var v1=st(r1.data[f]),v2=st(r2.data[f]);return v1>v2?1:(v1<v2?-1:0);};this.data.sort(s.direction,fn);if(this.snapshot&&this.snapshot!=this.data){this.snapshot.sort(s.direction,fn);}}},setDefaultSort:function(_2a,dir){this.sortInfo={field:_2a,direction:dir?dir.toUpperCase():"ASC"};},sort:function(_2c,dir){var f=this.fields.get(_2c);if(!dir){if(this.sortInfo&&this.sortInfo.field==f.name){dir=(this.sortToggle[f.name]||"ASC").toggle("ASC","DESC");}else{dir=f.sortDir;}}this.sortToggle[f.name]=dir;this.sortInfo={field:f.name,direction:dir};if(!this.remoteSort){this.applySort();this.fireEvent("datachanged",this);}else{this.load(this.lastOptions);}},each:function(fn,_30){this.data.each(fn,_30);},getModifiedRecords:function(){return this.modified;},filter:function(_31,_32){if(!_32.exec){_32=String(_32);if(_32.length==0){return this.clearFilter();}_32=new RegExp("^"+Ext.escapeRe(_32),"i");}this.filterBy(function(r){return _32.test(r.data[_31]);});},filterBy:function(fn,_35){var _36=this.snapshot||this.data;this.snapshot=_36;this.data=_36.filterBy(fn,_35);this.fireEvent("datachanged",this);},clearFilter:function(_37){if(this.snapshot&&this.snapshot!=this.data){this.data=this.snapshot;delete this.snapshot;if(_37!==true){this.fireEvent("datachanged",this);}}},afterEdit:function(_38){if(this.modified.indexOf(_38)==-1){this.modified.push(_38);}this.fireEvent("update",this,_38,Ext.data.Record.EDIT);},afterReject:function(_39){this.modified.remove(_39);this.fireEvent("update",this,_39,Ext.data.Record.REJECT);},afterCommit:function(_3a){this.modified.remove(_3a);this.fireEvent("update",this,_3a,Ext.data.Record.COMMIT);},commitChanges:function(){var m=this.modified.slice(0);this.modified=[];for(var i=0,len=m.length;i<len;i++){m[i].commit();}},rejectChanges:function(){var m=this.modified.slice(0);this.modified=[];for(var i=0,len=m.length;i<len;i++){m[i].reject();}}});
134
+
135
+
136
+
137
+ Ext.data.Connection=function(_1){Ext.apply(this,_1);this.addEvents({"beforerequest":true,"requestcomplete":true,"requestexception":true});Ext.data.Connection.superclass.constructor.call(this);};Ext.extend(Ext.data.Connection,Ext.util.Observable,{timeout:30000,request:function(_2){if(this.fireEvent("beforerequest",this,_2)!==false){var p=_2.params;if(typeof p=="object"){p=Ext.urlEncode(Ext.apply(_2.params,this.extraParams));}var cb={success:this.handleResponse,failure:this.handleFailure,scope:this,argument:{options:_2},timeout:this.timeout};var _5=_2.method||this.method||(p?"POST":"GET");var _6=_2.url||this.url;if(this.autoAbort!==false){this.abort();}if(_5=="GET"&&p){_6+=(_6.indexOf("?")!=-1?"&":"?")+p;p="";}this.transId=Ext.lib.Ajax.request(_5,_6,cb,p);}else{if(typeof _2.callback=="function"){_2.callback.call(_2.scope||window,_2,null,null);}}},isLoading:function(){return this.transId?true:false;},abort:function(){if(this.isLoading()){Ext.lib.Ajax.abort(this.transId);}},handleResponse:function(_7){this.transId=false;var _8=_7.argument.options;this.fireEvent("requestcomplete",this,_7,_8);if(typeof _8.callback=="function"){_8.callback.call(_8.scope||window,_8,true,_7);}},handleFailure:function(_9,e){this.transId=false;var _b=_9.argument.options;this.fireEvent("requestexception",this,_9,_b,e);if(typeof _b.callback=="function"){_b.callback.call(_b.scope||window,_b,false,_9);}}});
138
+
139
+
140
+
141
+ Ext.data.Field=function(_1){if(typeof _1=="string"){_1={name:_1};}Ext.apply(this,_1);if(!this.type){this.type="auto";}var st=Ext.data.SortTypes;if(typeof this.sortType=="string"){this.sortType=st[this.sortType];}if(!this.sortType){switch(this.type){case "string":this.sortType=st.asUCString;break;case "date":this.sortType=st.asDate;break;default:this.sortType=st.none;}}var _3=/[\$,%]/g;if(!this.convert){var cv,_5=this.dateFormat;switch(this.type){case "":case "auto":case undefined:cv=function(v){return v;};break;case "string":cv=function(v){return String(v);};break;case "int":cv=function(v){return v!==undefined&&v!==null&&v!==""?parseInt(String(v).replace(_3,""),10):"";};break;case "float":cv=function(v){return v!==undefined&&v!==null&&v!==""?parseFloat(String(v).replace(_3,""),10):"";};break;case "bool":case "boolean":cv=function(v){return v===true||v==="true"||v==1;};break;case "date":cv=function(v){if(!v){return "";}if(v instanceof Date){return v;}if(_5){if(_5=="timestamp"){return new Date(v*1000);}return Date.parseDate(v,_5);}var _c=Date.parse(v);return _c?new Date(_c):null;};break;}this.convert=cv;}};Ext.data.Field.prototype={dateFormat:null,defaultValue:"",mapping:null,sortType:null,sortDir:"ASC"};
142
+
143
+
144
+
145
+ Ext.data.DataReader=function(_1,_2){this.meta=_1;this.recordType=_2 instanceof Array?Ext.data.Record.create(_2):_2;};Ext.data.DataReader.prototype={};
146
+
147
+
148
+
149
+ Ext.data.DataProxy=function(){this.addEvents({beforeload:true,load:true,loadexception:true});Ext.data.DataProxy.superclass.constructor.call(this);};Ext.extend(Ext.data.DataProxy,Ext.util.Observable);
150
+
151
+
152
+
153
+ Ext.data.MemoryProxy=function(_1){Ext.data.MemoryProxy.superclass.constructor.call(this);this.data=_1;};Ext.extend(Ext.data.MemoryProxy,Ext.data.DataProxy,{load:function(_2,_3,_4,_5,_6){_2=_2||{};var _7;try{_7=_3.readRecords(this.data);}catch(e){this.fireEvent("loadexception",this,_6,null,e);_4.call(_5,null,_6,false);return;}_4.call(_5,_7,_6,true);},update:function(_8,_9){}});
154
+
155
+
156
+
157
+ Ext.data.HttpProxy=function(_1){Ext.data.HttpProxy.superclass.constructor.call(this);this.conn=_1.events?_1:new Ext.data.Connection(_1);};Ext.extend(Ext.data.HttpProxy,Ext.data.DataProxy,{getConnection:function(){return this.conn;},load:function(_2,_3,_4,_5,_6){if(this.fireEvent("beforeload",this,_2)!==false){this.conn.request({params:_2||{},request:{callback:_4,scope:_5,arg:_6},reader:_3,callback:this.loadResponse,scope:this});}else{_4.call(_5||this,null,_6,false);}},loadResponse:function(o,_8,_9){if(!_8){this.fireEvent("loadexception",this,o,_9);o.request.callback.call(o.request.scope,null,o.request.arg,false);return;}var _a;try{_a=o.reader.read(_9);}catch(e){this.fireEvent("loadexception",this,o,_9,e);o.request.callback.call(o.request.scope,null,o.request.arg,false);return;}this.fireEvent("load",this,o,o.request.arg);o.request.callback.call(o.request.scope,_a,o.request.arg,true);},update:function(_b){},updateResponse:function(_c){}});
158
+
159
+
160
+
161
+ Ext.data.ScriptTagProxy=function(_1){Ext.data.ScriptTagProxy.superclass.constructor.call(this);Ext.apply(this,_1);this.head=document.getElementsByTagName("head")[0];};Ext.data.ScriptTagProxy.TRANS_ID=1000;Ext.extend(Ext.data.ScriptTagProxy,Ext.data.DataProxy,{timeout:30000,callbackParam:"callback",nocache:true,load:function(_2,_3,_4,_5,_6){if(this.fireEvent("beforeload",this,_2)!==false){var p=Ext.urlEncode(Ext.apply(_2,this.extraParams));var _8=this.url;_8+=(_8.indexOf("?")!=-1?"&":"?")+p;if(this.nocache){_8+="&_dc="+(new Date().getTime());}var _9=++Ext.data.ScriptTagProxy.TRANS_ID;var _a={id:_9,cb:"stcCallback"+_9,scriptId:"stcScript"+_9,params:_2,arg:_6,url:_8,callback:_4,scope:_5,reader:_3};var _b=this;window[_a.cb]=function(o){_b.handleResponse(o,_a);};_8+=String.format("&{0}={1}",this.callbackParam,_a.cb);if(this.autoAbort!==false){this.abort();}_a.timeoutId=this.handleFailure.defer(this.timeout,this,[_a]);var _d=document.createElement("script");_d.setAttribute("src",_8);_d.setAttribute("type","text/javascript");_d.setAttribute("id",_a.scriptId);this.head.appendChild(_d);this.trans=_a;}else{_4.call(_5||this,null,_6,false);}},isLoading:function(){return this.trans?true:false;},abort:function(){if(this.isLoading()){this.destroyTrans(this.trans);}},destroyTrans:function(_e,_f){this.head.removeChild(document.getElementById(_e.scriptId));clearTimeout(_e.timeoutId);if(_f){window[_e.cb]=undefined;try{delete window[_e.cb];}catch(e){}}else{window[_e.cb]=function(){window[_e.cb]=undefined;try{delete window[_e.cb];}catch(e){}};}},handleResponse:function(o,_11){this.trans=false;this.destroyTrans(_11,true);var _12;try{_12=_11.reader.readRecords(o);}catch(e){this.fireEvent("loadexception",this,o,_11.arg,e);_11.callback.call(_11.scope||window,null,_11.arg,false);return;}this.fireEvent("load",this,o,_11.arg);_11.callback.call(_11.scope||window,_12,_11.arg,true);},handleFailure:function(_13){this.trans=false;this.destroyTrans(_13,false);this.fireEvent("loadexception",this,null,_13.arg);_13.callback.call(_13.scope||window,null,_13.arg,false);}});
162
+
163
+
164
+
165
+ Ext.data.JsonReader=function(_1,_2){Ext.data.JsonReader.superclass.constructor.call(this,_1,_2);};Ext.extend(Ext.data.JsonReader,Ext.data.DataReader,{read:function(_3){var _4=_3.responseText;var o=eval("("+_4+")");if(!o){throw {message:"JsonReader.read: Json object not found"};}return this.readRecords(o);},simpleAccess:function(_6,_7){return _6[_7];},getJsonAccessor:function(){var re=/[\[\.]/;return function(_9){try{return (re.test(_9))?new Function("obj","return obj."+_9):function(_a){return _a[_9];};}catch(e){}return Ext.emptyFn;};}(),readRecords:function(o){this.jsonData=o;var s=this.meta,_d=this.recordType,f=_d.prototype.fields,fi=f.items,fl=f.length;if(!this.ef){if(s.totalProperty){this.getTotal=this.getJsonAccessor(s.totalProperty);}if(s.successProperty){this.getSuccess=this.getJsonAccessor(s.successProperty);}this.getRoot=s.root?this.getJsonAccessor(s.root):function(p){return p;};if(s.id){var g=this.getJsonAccessor(s.id);this.getId=function(rec){var r=g(rec);return (r===undefined||r==="")?null:r;};}else{this.getId=function(){return null;};}this.ef=[];for(var i=0;i<fl;i++){f=fi[i];var map=(f.mapping!==undefined&&f.mapping!==null)?f.mapping:f.name;this.ef[i]=this.getJsonAccessor(map);}}var _17=this.getRoot(o),c=_17.length,_19=c,_1a=true;if(s.totalProperty){var v=parseInt(this.getTotal(o),10);if(!isNaN(v)){_19=v;}}if(s.successProperty){var v=this.getSuccess(o);if(v===false||v==="false"){_1a=false;}}var _1c=[];for(var i=0;i<c;i++){var n=_17[i];var _1e={};var id=this.getId(n);for(var j=0;j<fl;j++){f=fi[j];var v=this.ef[j](n);_1e[f.name]=f.convert((v!==undefined)?v:f.defaultValue);}var _21=new _d(_1e,id);_21.json=n;_1c[i]=_21;}return {success:_1a,records:_1c,totalRecords:_19};}});
166
+
167
+
168
+
169
+ Ext.data.ArrayReader=function(_1,_2){Ext.data.ArrayReader.superclass.constructor.call(this,_1,_2);};Ext.extend(Ext.data.ArrayReader,Ext.data.JsonReader,{readRecords:function(o){var _4=this.meta?this.meta.id:null;var _5=this.recordType,_6=_5.prototype.fields;var _7=[];var _8=o;for(var i=0;i<_8.length;i++){var n=_8[i];var _b={};var id=((_4||_4===0)&&n[_4]!==undefined&&n[_4]!==""?n[_4]:null);for(var j=0,_e=_6.length;j<_e;j++){var f=_6.items[j];var k=f.mapping!==undefined&&f.mapping!==null?f.mapping:j;var v=n[k]!==undefined?n[k]:f.defaultValue;v=f.convert(v);_b[f.name]=v;}var _12=new _5(_b,id);_12.json=n;_7[_7.length]=_12;}return {records:_7,totalRecords:_7.length};}});
170
+
171
+
172
+
173
+ Ext.data.Tree=function(_1){this.nodeHash={};this.root=null;if(_1){this.setRootNode(_1);}this.addEvents({"append":true,"remove":true,"move":true,"insert":true,"beforeappend":true,"beforeremove":true,"beforemove":true,"beforeinsert":true});Ext.data.Tree.superclass.constructor.call(this);};Ext.extend(Ext.data.Tree,Ext.util.Observable,{pathSeparator:"/",getRootNode:function(){return this.root;},setRootNode:function(_2){this.root=_2;_2.ownerTree=this;_2.isRoot=true;this.registerNode(_2);return _2;},getNodeById:function(id){return this.nodeHash[id];},registerNode:function(_4){this.nodeHash[_4.id]=_4;},unregisterNode:function(_5){delete this.nodeHash[_5.id];},toString:function(){return "[Tree"+(this.id?" "+this.id:"")+"]";}});Ext.data.Node=function(_6){this.attributes=_6||{};this.leaf=this.attributes.leaf;this.id=this.attributes.id;if(!this.id){this.id=Ext.id(null,"ynode-");this.attributes.id=this.id;}this.childNodes=[];if(!this.childNodes.indexOf){this.childNodes.indexOf=function(o){for(var i=0,_9=this.length;i<_9;i++){if(this[i]==o){return i;}}return -1;};}this.parentNode=null;this.firstChild=null;this.lastChild=null;this.previousSibling=null;this.nextSibling=null;this.addEvents({"append":true,"remove":true,"move":true,"insert":true,"beforeappend":true,"beforeremove":true,"beforemove":true,"beforeinsert":true});this.listeners=this.attributes.listeners;Ext.data.Node.superclass.constructor.call(this);};Ext.extend(Ext.data.Node,Ext.util.Observable,{fireEvent:function(_a){if(Ext.data.Node.superclass.fireEvent.apply(this,arguments)===false){return false;}var ot=this.getOwnerTree();if(ot){if(ot.fireEvent.apply(this.ownerTree,arguments)===false){return false;}}return true;},isLeaf:function(){return this.leaf===true;},setFirstChild:function(_c){this.firstChild=_c;},setLastChild:function(_d){this.lastChild=_d;},isLast:function(){return (!this.parentNode?true:this.parentNode.lastChild==this);},isFirst:function(){return (!this.parentNode?true:this.parentNode.firstChild==this);},hasChildNodes:function(){return !this.isLeaf()&&this.childNodes.length>0;},appendChild:function(_e){var _f=false;if(_e instanceof Array){_f=_e;}else{if(arguments.length>1){_f=arguments;}}if(_f){for(var i=0,len=_f.length;i<len;i++){this.appendChild(_f[i]);}}else{if(this.fireEvent("beforeappend",this.ownerTree,this,_e)===false){return false;}var _12=this.childNodes.length;var _13=_e.parentNode;if(_13){if(_e.fireEvent("beforemove",_e.getOwnerTree(),_e,_13,this,_12)===false){return false;}_13.removeChild(_e);}_12=this.childNodes.length;if(_12==0){this.setFirstChild(_e);}this.childNodes.push(_e);_e.parentNode=this;var ps=this.childNodes[_12-1];if(ps){_e.previousSibling=ps;ps.nextSibling=_e;}else{_e.previousSibling=null;}_e.nextSibling=null;this.setLastChild(_e);_e.setOwnerTree(this.getOwnerTree());this.fireEvent("append",this.ownerTree,this,_e,_12);if(_13){_e.fireEvent("move",this.ownerTree,_e,_13,this,_12);}return _e;}},removeChild:function(_15){var _16=this.childNodes.indexOf(_15);if(_16==-1){return false;}if(this.fireEvent("beforeremove",this.ownerTree,this,_15)===false){return false;}this.childNodes.splice(_16,1);if(_15.previousSibling){_15.previousSibling.nextSibling=_15.nextSibling;}if(_15.nextSibling){_15.nextSibling.previousSibling=_15.previousSibling;}if(this.firstChild==_15){this.setFirstChild(_15.nextSibling);}if(this.lastChild==_15){this.setLastChild(_15.previousSibling);}_15.setOwnerTree(null);_15.parentNode=null;_15.previousSibling=null;_15.nextSibling=null;this.fireEvent("remove",this.ownerTree,this,_15);return _15;},insertBefore:function(_17,_18){if(!_18){return this.appendChild(_17);}if(_17==_18){return false;}if(this.fireEvent("beforeinsert",this.ownerTree,this,_17,_18)===false){return false;}var _19=this.childNodes.indexOf(_18);var _1a=_17.parentNode;var _1b=_19;if(_1a==this&&this.childNodes.indexOf(_17)<_19){_1b--;}if(_1a){if(_17.fireEvent("beforemove",_17.getOwnerTree(),_17,_1a,this,_19,_18)===false){return false;}_1a.removeChild(_17);}if(_1b==0){this.setFirstChild(_17);}this.childNodes.splice(_1b,0,_17);_17.parentNode=this;var ps=this.childNodes[_1b-1];if(ps){_17.previousSibling=ps;ps.nextSibling=_17;}else{_17.previousSibling=null;}_17.nextSibling=_18;_18.previousSibling=_17;_17.setOwnerTree(this.getOwnerTree());this.fireEvent("insert",this.ownerTree,this,_17,_18);if(_1a){_17.fireEvent("move",this.ownerTree,_17,_1a,this,_1b,_18);}return _17;},item:function(_1d){return this.childNodes[_1d];},replaceChild:function(_1e,_1f){this.insertBefore(_1e,_1f);this.removeChild(_1f);return _1f;},indexOf:function(_20){return this.childNodes.indexOf(_20);},getOwnerTree:function(){if(!this.ownerTree){var p=this;while(p){if(p.ownerTree){this.ownerTree=p.ownerTree;break;}p=p.parentNode;}}return this.ownerTree;},getDepth:function(){var _22=0;var p=this;while(p.parentNode){++_22;p=p.parentNode;}return _22;},setOwnerTree:function(_24){if(_24!=this.ownerTree){if(this.ownerTree){this.ownerTree.unregisterNode(this);}this.ownerTree=_24;var cs=this.childNodes;for(var i=0,len=cs.length;i<len;i++){cs[i].setOwnerTree(_24);}if(_24){_24.registerNode(this);}}},getPath:function(_28){_28=_28||"id";var p=this.parentNode;var b=[this.attributes[_28]];while(p){b.unshift(p.attributes[_28]);p=p.parentNode;}var sep=this.getOwnerTree().pathSeparator;return sep+b.join(sep);},bubble:function(fn,_2d,_2e){var p=this;while(p){if(fn.call(_2d||p,_2e||p)===false){break;}p=p.parentNode;}},cascade:function(fn,_31,_32){if(fn.call(_31||this,_32||this)!==false){var cs=this.childNodes;for(var i=0,len=cs.length;i<len;i++){cs[i].cascade(fn,_31,_32);}}},eachChild:function(fn,_37,_38){var cs=this.childNodes;for(var i=0,len=cs.length;i<len;i++){if(fn.call(_37||this,_38||cs[i])===false){break;}}},findChild:function(_3c,_3d){var cs=this.childNodes;for(var i=0,len=cs.length;i<len;i++){if(cs[i].attributes[_3c]==_3d){return cs[i];}}return null;},findChildBy:function(fn,_42){var cs=this.childNodes;for(var i=0,len=cs.length;i<len;i++){if(fn.call(_42||cs[i],cs[i])===true){return cs[i];}}return null;},sort:function(fn,_47){var cs=this.childNodes;var len=cs.length;if(len>0){var _4a=_47?function(){fn.apply(_47,arguments);}:fn;cs.sort(_4a);for(var i=0;i<len;i++){var n=cs[i];n.previousSibling=cs[i-1];n.nextSibling=cs[i+1];if(i==0){this.setFirstChild(n);}if(i==len-1){this.setLastChild(n);}}}},contains:function(_4d){return _4d.isAncestor(this);},isAncestor:function(_4e){var p=this.parentNode;while(p){if(p==_4e){return true;}p=p.parentNode;}return false;},toString:function(){return "[Node"+(this.id?" "+this.id:"")+"]";}});
174
+
175
+
176
+
177
+ Ext.ComponentMgr=function(){var _1=new Ext.util.MixedCollection();return {register:function(c){_1.add(c);},unregister:function(c){_1.remove(c);},get:function(id){return _1.get(id);},onAvailable:function(id,fn,_7){_1.on("add",function(_8,o){if(o.id==id){fn.call(_7||o,o);_1.un("add",fn,_7);}});}};}();Ext.Component=function(_a){_a=_a||{};if(_a.tagName||_a.dom||typeof _a=="string"){_a={el:_a,id:_a.id||_a};}this.initialConfig=_a;Ext.apply(this,_a);this.addEvents({disable:true,enable:true,beforeshow:true,show:true,beforehide:true,hide:true,beforerender:true,render:true,beforedestroy:true,destroy:true});if(!this.id){this.id="ext-comp-"+(++Ext.Component.AUTO_ID);}Ext.ComponentMgr.register(this);Ext.Component.superclass.constructor.call(this);this.initComponent();};Ext.Component.AUTO_ID=1000;Ext.extend(Ext.Component,Ext.util.Observable,{hidden:false,disabled:false,disabledClass:"x-item-disabled",rendered:false,allowDomMove:true,ctype:"Ext.Component",actionMode:"el",getActionEl:function(){return this[this.actionMode];},initComponent:Ext.emptyFn,render:function(_b,_c){if(!this.rendered&&this.fireEvent("beforerender",this)!==false){if(!_b&&this.el){this.el=Ext.get(this.el);_b=this.el.dom.parentNode;this.allowDomMove=false;}this.container=Ext.get(_b);this.rendered=true;if(_c!==undefined){if(typeof _c=="number"){_c=this.container.dom.childNodes[_c];}else{_c=Ext.getDom(_c);}}this.onRender(this.container,_c||null);if(this.cls){this.el.addClass(this.cls);delete this.cls;}if(this.style){this.el.applyStyles(this.style);delete this.style;}this.fireEvent("render",this);this.afterRender(this.container);if(this.hidden){this.hide();}if(this.disabled){this.disable();}}return this;},onRender:function(ct,_e){if(this.el){this.el=Ext.get(this.el);if(this.allowDomMove!==false){ct.dom.insertBefore(this.el.dom,_e);}}},getAutoCreate:function(){var _f=typeof this.autoCreate=="object"?this.autoCreate:Ext.apply({},this.defaultAutoCreate);if(this.id&&!_f.id){_f.id=this.id;}return _f;},afterRender:Ext.emptyFn,destroy:function(){if(this.fireEvent("beforedestroy",this)!==false){this.purgeListeners();this.beforeDestroy();if(this.rendered){this.el.removeAllListeners();this.el.remove();if(this.actionMode=="container"){this.container.remove();}}this.onDestroy();Ext.ComponentMgr.unregister(this);this.fireEvent("destroy",this);}},beforeDestroy:function(){},onDestroy:function(){},getEl:function(){return this.el;},getId:function(){return this.id;},focus:function(_10){if(this.rendered){this.el.focus();if(_10===true){this.el.dom.select();}}return this;},blur:function(){if(this.rendered){this.el.blur();}return this;},disable:function(){if(this.rendered){this.onDisable();}this.disabled=true;this.fireEvent("disable",this);return this;},onDisable:function(){this.getActionEl().addClass(this.disabledClass);this.el.dom.disabled=true;},enable:function(){if(this.rendered){this.onEnable();}this.disabled=false;this.fireEvent("enable",this);return this;},onEnable:function(){this.getActionEl().removeClass(this.disabledClass);this.el.dom.disabled=false;},setDisabled:function(_11){this[_11?"disable":"enable"]();},show:function(){if(this.fireEvent("beforeshow",this)!==false){this.hidden=false;if(this.rendered){this.onShow();}this.fireEvent("show",this);}return this;},onShow:function(){var st=this.getActionEl().dom.style;st.display="";st.visibility="visible";},hide:function(){if(this.fireEvent("beforehide",this)!==false){this.hidden=true;if(this.rendered){this.onHide();}this.fireEvent("hide",this);}return this;},onHide:function(){this.getActionEl().dom.style.display="none";},setVisible:function(_13){if(_13){this.show();}else{this.hide();}return this;},isVisible:function(){return this.getActionEl().isVisible();},cloneConfig:function(_14){_14=_14||{};var id=_14.id||Ext.id();var cfg=Ext.applyIf(_14,this.initialConfig);cfg.id=id;return new this.__extcls(cfg);}});
178
+
179
+
180
+
181
+ (function(){Ext.Layer=function(_1,_2){_1=_1||{};var dh=Ext.DomHelper;var cp=_1.parentEl,_5=cp?Ext.getDom(cp):document.body;if(_2){this.dom=Ext.getDom(_2);}if(!this.dom){var o=_1.dh||{tag:"div",cls:"x-layer"};this.dom=dh.append(_5,o);}if(_1.cls){this.addClass(_1.cls);}this.constrain=_1.constrain!==false;this.visibilityMode=Ext.Element.VISIBILITY;if(_1.id){this.id=this.dom.id=_1.id;}else{this.id=Ext.id(this.dom);}this.zindex=_1.zindex||this.getZIndex();this.position("absolute",this.zindex);if(_1.shadow){this.shadowOffset=_1.shadowOffset||4;this.shadow=new Ext.Shadow({offset:this.shadowOffset,mode:_1.shadow});}else{this.shadowOffset=0;}this.useShim=_1.shim!==false&&Ext.useShims;this.useDisplay=_1.useDisplay;this.hide();};var _7=Ext.Element.prototype;var _8=[];Ext.extend(Ext.Layer,Ext.Element,{getZIndex:function(){return this.zindex||parseInt(this.getStyle("z-index"),10)||11000;},getShim:function(){if(!this.useShim){return null;}if(this.shim){return this.shim;}var _9=_8.shift();if(!_9){_9=this.createShim();_9.enableDisplayMode("block");_9.dom.style.display="none";_9.dom.style.visibility="visible";}var pn=this.dom.parentNode;if(_9.dom.parentNode!=pn){pn.insertBefore(_9.dom,this.dom);}_9.setStyle("z-index",this.getZIndex()-2);this.shim=_9;return _9;},hideShim:function(){if(this.shim){this.shim.setDisplayed(false);_8.push(this.shim);delete this.shim;}},disableShadow:function(){if(this.shadow){this.shadowDisabled=true;this.shadow.hide();this.lastShadowOffset=this.shadowOffset;this.shadowOffset=0;}},enableShadow:function(_b){if(this.shadow){this.shadowDisabled=false;this.shadowOffset=this.lastShadowOffset;delete this.lastShadowOffset;if(_b){this.sync(true);}}},sync:function(_c){var sw=this.shadow;if(!this.updating&&this.isVisible()&&(sw||this.useShim)){var sh=this.getShim();var w=this.getWidth(),h=this.getHeight();var l=this.getLeft(true),t=this.getTop(true);if(sw&&!this.shadowDisabled){if(_c&&!sw.isVisible()){sw.show(this);}else{sw.realign(l,t,w,h);}if(sh){if(_c){sh.show();}var a=sw.adjusts,s=sh.dom.style;s.left=(Math.min(l,l+a.l))+"px";s.top=(Math.min(t,t+a.t))+"px";s.width=(w+a.w)+"px";s.height=(h+a.h)+"px";}}else{if(sh){if(_c){sh.show();}sh.setSize(w,h);sh.setLeftTop(l,t);}}}},destroy:function(){this.hideShim();if(this.shadow){this.shadow.hide();}this.removeAllListeners();var pn=this.dom.parentNode;if(pn){pn.removeChild(this.dom);}Ext.Element.uncache(this.id);},remove:function(){this.destroy();},beginUpdate:function(){this.updating=true;},endUpdate:function(){this.updating=false;this.sync(true);},hideUnders:function(_16){if(this.shadow){this.shadow.hide();}this.hideShim();},constrainXY:function(){if(this.constrain){var vw=Ext.lib.Dom.getViewWidth(),vh=Ext.lib.Dom.getViewHeight();var s=Ext.get(document).getScroll();var xy=this.getXY();var x=xy[0],y=xy[1];var w=this.dom.offsetWidth+this.shadowOffset,h=this.dom.offsetHeight+this.shadowOffset;var _1f=false;if((x+w)>vw+s.left){x=vw-w-this.shadowOffset;_1f=true;}if((y+h)>vh+s.top){y=vh-h-this.shadowOffset;_1f=true;}if(x<s.left){x=s.left;_1f=true;}if(y<s.top){y=s.top;_1f=true;}if(_1f){if(this.avoidY){var ay=this.avoidY;if(y<=ay&&(y+h)>=ay){y=ay-h-5;}}xy=[x,y];this.storeXY(xy);_7.setXY.call(this,xy);this.sync();}}},isVisible:function(){return this.visible;},showAction:function(){this.visible=true;if(this.useDisplay===true){this.setDisplayed("");}else{if(this.lastXY){_7.setXY.call(this,this.lastXY);}else{if(this.lastLT){_7.setLeftTop.call(this,this.lastLT[0],this.lastLT[1]);}}}},hideAction:function(){this.visible=false;if(this.useDisplay===true){this.setDisplayed(false);}else{this.setLeftTop(-10000,-10000);}},setVisible:function(v,a,d,c,e){if(v){this.showAction();}if(a&&v){var cb=function(){this.sync(true);if(c){c();}}.createDelegate(this);_7.setVisible.call(this,true,true,d,cb,e);}else{if(!v){this.hideUnders(true);}var cb=c;if(a){cb=function(){this.hideAction();if(c){c();}}.createDelegate(this);}_7.setVisible.call(this,v,a,d,cb,e);if(v){this.sync(true);}else{if(!a){this.hideAction();}}}},storeXY:function(xy){delete this.lastLT;this.lastXY=xy;},storeLeftTop:function(_28,top){delete this.lastXY;this.lastLT=[_28,top];},beforeFx:function(){this.beforeAction();return Ext.Layer.superclass.beforeFx.apply(this,arguments);},afterFx:function(){Ext.Layer.superclass.afterFx.apply(this,arguments);this.sync(this.isVisible());},beforeAction:function(){if(!this.updating&&this.shadow){this.shadow.hide();}},setLeft:function(_2a){this.storeLeftTop(_2a,this.getTop(true));_7.setLeft.apply(this,arguments);this.sync();},setTop:function(top){this.storeLeftTop(this.getLeft(true),top);_7.setTop.apply(this,arguments);this.sync();},setLeftTop:function(_2c,top){this.storeLeftTop(_2c,top);_7.setLeftTop.apply(this,arguments);this.sync();},setXY:function(xy,a,d,c,e){this.fixDisplay();this.beforeAction();this.storeXY(xy);var cb=this.createCB(c);_7.setXY.call(this,xy,a,d,cb,e);if(!a){cb();}},createCB:function(c){var el=this;return function(){el.constrainXY();el.sync(true);if(c){c();}};},setX:function(x,a,d,c,e){this.setXY([x,this.getY()],a,d,c,e);},setY:function(y,a,d,c,e){this.setXY([this.getX(),y],a,d,c,e);},setSize:function(w,h,a,d,c,e){this.beforeAction();var cb=this.createCB(c);_7.setSize.call(this,w,h,a,d,cb,e);if(!a){cb();}},setWidth:function(w,a,d,c,e){this.beforeAction();var cb=this.createCB(c);_7.setWidth.call(this,w,a,d,cb,e);if(!a){cb();}},setHeight:function(h,a,d,c,e){this.beforeAction();var cb=this.createCB(c);_7.setHeight.call(this,h,a,d,cb,e);if(!a){cb();}},setBounds:function(x,y,w,h,a,d,c,e){this.beforeAction();var cb=this.createCB(c);if(!a){this.storeXY([x,y]);_7.setXY.call(this,[x,y]);_7.setSize.call(this,w,h,a,d,cb,e);cb();}else{_7.setBounds.call(this,x,y,w,h,a,d,cb,e);}return this;},setZIndex:function(_5c){this.zindex=_5c;this.setStyle("z-index",_5c+2);if(this.shadow){this.shadow.setZIndex(_5c+1);}if(this.shim){this.shim.setStyle("z-index",_5c);}}});})();
182
+
183
+
184
+
185
+ Ext.Shadow=function(_1){Ext.apply(this,_1);if(typeof this.mode!="string"){this.mode=this.defaultMode;}var o=this.offset,a={h:0};switch(this.mode.toLowerCase()){case "drop":a.w=0;a.l=a.t=o;break;case "sides":a.w=(o*2);a.l=-o;a.t=o;break;case "frame":a.w=a.h=(o*2);a.l=a.t=-o;break;}this.adjusts=a;};Ext.Shadow.prototype={offset:4,defaultMode:"drop",show:function(_4){_4=Ext.get(_4);if(!this.el){this.el=Ext.Shadow.Pool.pull();if(this.el.dom.nextSibling!=_4.dom){this.el.insertBefore(_4);}}this.el.setStyle("z-index",this.zIndex||parseInt(_4.getStyle("z-index"),10)-1);if(Ext.isIE){this.el.dom.style.filter="progid:DXImageTransform.Microsoft.alpha(opacity=50) progid:DXImageTransform.Microsoft.Blur(pixelradius="+this.offset+")";}this.realign(_4.getLeft(true),_4.getTop(true),_4.getWidth(),_4.getHeight());this.el.dom.style.display="block";},isVisible:function(){return this.el?true:false;},realign:function(l,t,w,h){if(!this.el){return;}var a=this.adjusts,d=this.el.dom,s=d.style;var _c=0;if(Ext.isIE){_c=-(this.offset);}s.left=(l+a.l+_c)+"px";s.top=(t+a.t+_c)+"px";var sw=(w+a.w),sh=(h+a.h),_f=sw+"px",shs=sh+"px";if(s.width!=_f||s.height!=shs){s.width=_f;s.height=shs;if(!Ext.isIE){var cn=d.childNodes;var sww=Math.max(0,(sw-12))+"px";cn[0].childNodes[1].style.width=sww;cn[1].childNodes[1].style.width=sww;cn[2].childNodes[1].style.width=sww;cn[1].style.height=Math.max(0,(sh-12))+"px";}}},hide:function(){if(this.el){this.el.dom.style.display="none";Ext.Shadow.Pool.push(this.el);delete this.el;}},setZIndex:function(z){this.zIndex=z;if(this.el){this.el.setStyle("z-index",z);}}};Ext.Shadow.Pool=function(){var p=[];var _15=Ext.isIE?"<div class=\"x-ie-shadow\"></div>":"<div class=\"x-shadow\"><div class=\"xst\"><div class=\"xstl\"></div><div class=\"xstc\"></div><div class=\"xstr\"></div></div><div class=\"xsc\"><div class=\"xsml\"></div><div class=\"xsmc\"></div><div class=\"xsmr\"></div></div><div class=\"xsb\"><div class=\"xsbl\"></div><div class=\"xsbc\"></div><div class=\"xsbr\"></div></div></div>";return {pull:function(){var sh=p.shift();if(!sh){sh=Ext.get(Ext.DomHelper.insertHtml("beforeBegin",document.body.firstChild,_15));sh.autoBoxAdjust=false;}return sh;},push:function(sh){p.push(sh);}};}();
186
+
187
+
188
+
189
+ Ext.Editor=function(_1,_2){Ext.Editor.superclass.constructor.call(this,_2);this.field=_1;this.addEvents({"beforestartedit":true,"startedit":true,"beforecomplete":true,"complete":true,"specialkey":true});};Ext.extend(Ext.Editor,Ext.Component,{value:"",alignment:"c-c?",shadow:"frame",updateEl:false,onRender:function(ct,_4){this.el=new Ext.Layer({shadow:this.shadow,cls:"x-editor",parentEl:ct,shim:this.shim,shadowOffset:3,id:this.id});this.el.setStyle("overflow",Ext.isGecko?"auto":"hidden");this.field.render(this.el);if(Ext.isGecko){this.field.el.dom.setAttribute("autocomplete","off");}this.field.show();this.field.on("blur",this.onBlur,this);this.relayEvents(this.field,["specialkey"]);if(this.field.grow){this.field.on("autosize",this.el.sync,this.el,{delay:1});}},startEdit:function(el,_6){if(this.editing){this.completeEdit();}this.boundEl=Ext.get(el);var v=_6!==undefined?_6:this.boundEl.dom.innerHTML;if(!this.rendered){this.render(this.parentEl||document.body);}if(this.fireEvent("beforestartedit",this,this.boundEl,v)===false){return;}this.startValue=v;this.field.setValue(v);if(this.autoSize){var sz=this.boundEl.getSize();switch(this.autoSize){case "width":this.setSize(sz.width,"");break;case "height":this.setSize("",sz.height);break;default:this.setSize(sz.width,sz.height);}}this.el.alignTo(this.boundEl,this.alignment);this.editing=true;if(Ext.QuickTips){Ext.QuickTips.disable();}this.show();},setSize:function(w,h){this.field.setSize(w,h);if(this.el){this.el.sync();}},realign:function(){this.el.alignTo(this.boundEl,this.alignment);},completeEdit:function(_b){if(!this.editing){return;}var v=this.getValue();if(this.revertInvalid!==false&&!this.field.isValid()){v=this.startValue;this.cancelEdit(true);}if(String(v)==String(this.startValue)&&this.ignoreNoChange){this.editing=false;this.hide();return;}if(this.fireEvent("beforecomplete",this,v,this.startValue)!==false){this.editing=false;if(this.updateEl&&this.boundEl){this.boundEl.update(v);}if(_b!==true){this.hide();}this.fireEvent("complete",this,v,this.startValue);}},onShow:function(){this.el.show();if(this.hideEl!==false){this.boundEl.hide();}this.field.show();this.field.focus();this.fireEvent("startedit",this.boundEl,this.startValue);},cancelEdit:function(_d){if(this.editing){this.setValue(this.startValue);if(_d!==true){this.hide();}}},onBlur:function(){if(this.allowBlur!==true&&this.editing){this.completeEdit();}},onHide:function(){if(this.editing){this.completeEdit();return;}this.field.blur();if(this.field.collapse){this.field.collapse();}this.el.hide();if(this.hideEl!==false){this.boundEl.show();}if(Ext.QuickTips){Ext.QuickTips.enable();}},setValue:function(v){this.field.setValue(v);},getValue:function(){return this.field.getValue();}});
190
+
191
+
192
+
193
+ Ext.tree.TreePanel=function(el,_2){Ext.tree.TreePanel.superclass.constructor.call(this);this.el=Ext.get(el);this.el.addClass("x-tree");this.id=this.el.id;Ext.apply(this,_2);this.addEvents({"beforeload":true,"load":true,"textchange":true,"beforeexpand":true,"beforecollapse":true,"expand":true,"disabledchange":true,"collapse":true,"beforeclick":true,"click":true,"dblclick":true,"contextmenu":true,"beforechildrenrendered":true,"startdrag":true,"enddrag":true,"dragdrop":true,"beforenodedrop":true,"nodedrop":true,"nodedragover":true});if(this.singleExpand){this.on("beforeexpand",this.restrictExpand,this);}};Ext.extend(Ext.tree.TreePanel,Ext.data.Tree,{rootVisible:true,animate:Ext.enableFx,lines:true,enableDD:false,hlDrop:Ext.enableFx,restrictExpand:function(_3){var p=_3.parentNode;if(p){if(p.expandedChild&&p.expandedChild.parentNode==p){p.expandedChild.collapse();}p.expandedChild=_3;}},setRootNode:function(_5){Ext.tree.TreePanel.superclass.setRootNode.call(this,_5);if(!this.rootVisible){_5.ui=new Ext.tree.RootTreeNodeUI(_5);}return _5;},getEl:function(){return this.el;},getLoader:function(){return this.loader;},expandAll:function(){this.root.expand(true);},collapseAll:function(){this.root.collapse(true);},getSelectionModel:function(){if(!this.selModel){this.selModel=new Ext.tree.DefaultSelectionModel();}return this.selModel;},expandPath:function(_6,_7,_8){_7=_7||"id";var _9=_6.split(this.pathSeparator);var _a=this.root;if(_a.attributes[_7]!=_9[1]){if(_8){_8(false,null);}return;}var _b=1;var f=function(){if(++_b==_9.length){if(_8){_8(true,_a);}return;}var c=_a.findChild(_7,_9[_b]);if(!c){if(_8){_8(false,_a);}return;}_a=c;c.expand(false,false,f);};_a.expand(false,false,f);},selectPath:function(_e,_f,_10){_f=_f||"id";var _11=_e.split(this.pathSeparator);var v=_11.pop();if(_11.length>0){var f=function(_14,_15){if(_14&&_15){var n=_15.findChild(_f,v);if(n){n.select();if(_10){_10(true,n);}}}else{if(_10){_10(false,n);}}};this.expandPath(_11.join(this.pathSeparator),_f,f);}else{this.root.select();if(_10){_10(true,this.root);}}},render:function(){this.container=this.el.createChild({tag:"ul",cls:"x-tree-root-ct "+(this.lines?"x-tree-lines":"x-tree-no-lines")});if(this.containerScroll){Ext.dd.ScrollManager.register(this.el);}if((this.enableDD||this.enableDrop)&&!this.dropZone){this.dropZone=new Ext.tree.TreeDropZone(this,this.dropConfig||{ddGroup:this.ddGroup||"TreeDD",appendOnly:this.ddAppendOnly===true});}if((this.enableDD||this.enableDrag)&&!this.dragZone){this.dragZone=new Ext.tree.TreeDragZone(this,this.dragConfig||{ddGroup:this.ddGroup||"TreeDD",scroll:this.ddScroll});}this.getSelectionModel().init(this);this.root.render();if(!this.rootVisible){this.root.renderChildren();}return this;}});
194
+
195
+
196
+
197
+ Ext.tree.DefaultSelectionModel=function(){this.selNode=null;this.addEvents({"selectionchange":true,"beforeselect":true});};Ext.extend(Ext.tree.DefaultSelectionModel,Ext.util.Observable,{init:function(_1){this.tree=_1;_1.el.on("keydown",this.onKeyDown,this);_1.on("click",this.onNodeClick,this);},onNodeClick:function(_2,e){this.select(_2);},select:function(_4){var _5=this.selNode;if(_5!=_4&&this.fireEvent("beforeselect",this,_4,_5)!==false){if(_5){_5.ui.onSelectedChange(false);}this.selNode=_4;_4.ui.onSelectedChange(true);this.fireEvent("selectionchange",this,_4,_5);}return _4;},unselect:function(_6){if(this.selNode==_6){this.clearSelections();}},clearSelections:function(){var n=this.selNode;if(n){n.ui.onSelectedChange(false);this.selNode=null;this.fireEvent("selectionchange",this,null);}return n;},getSelectedNode:function(){return this.selNode;},isSelected:function(_8){return this.selNode==_8;},selectPrevious:function(){var s=this.selNode||this.lastSelNode;if(!s){return null;}var ps=s.previousSibling;if(ps){if(!ps.isExpanded()||ps.childNodes.length<1){return this.select(ps);}else{var lc=ps.lastChild;while(lc&&lc.isExpanded()&&lc.childNodes.length>0){lc=lc.lastChild;}return this.select(lc);}}else{if(s.parentNode&&(this.tree.rootVisible||!s.parentNode.isRoot)){return this.select(s.parentNode);}}return null;},selectNext:function(){var s=this.selNode||this.lastSelNode;if(!s){return null;}if(s.firstChild&&s.isExpanded()){return this.select(s.firstChild);}else{if(s.nextSibling){return this.select(s.nextSibling);}else{if(s.parentNode){var _d=null;s.parentNode.bubble(function(){if(this.nextSibling){_d=this.getOwnerTree().selModel.select(this.nextSibling);return false;}});return _d;}}}return null;},onKeyDown:function(e){var s=this.selNode||this.lastSelNode;var sm=this;if(!s){return;}var k=e.getKey();switch(k){case e.DOWN:e.stopEvent();this.selectNext();break;case e.UP:e.stopEvent();this.selectPrevious();break;case e.RIGHT:e.preventDefault();if(s.hasChildNodes()){if(!s.isExpanded()){s.expand();}else{if(s.firstChild){this.select(s.firstChild,e);}}}break;case e.LEFT:e.preventDefault();if(s.hasChildNodes()&&s.isExpanded()){s.collapse();}else{if(s.parentNode&&(this.tree.rootVisible||s.parentNode!=this.tree.getRootNode())){this.select(s.parentNode,e);}}break;}}});Ext.tree.MultiSelectionModel=function(){this.selNodes=[];this.selMap={};this.addEvents({"selectionchange":true});};Ext.extend(Ext.tree.MultiSelectionModel,Ext.util.Observable,{init:function(_12){this.tree=_12;_12.el.on("keydown",this.onKeyDown,this);_12.on("click",this.onNodeClick,this);},onNodeClick:function(_13,e){this.select(_13,e,e.ctrlKey);},select:function(_15,e,_17){if(_17!==true){this.clearSelections(true);}if(this.isSelected(_15)){this.lastSelNode=_15;return _15;}this.selNodes.push(_15);this.selMap[_15.id]=_15;this.lastSelNode=_15;_15.ui.onSelectedChange(true);this.fireEvent("selectionchange",this,this.selNodes);return _15;},unselect:function(_18){if(this.selMap[_18.id]){_18.ui.onSelectedChange(false);var sn=this.selNodes;var _1a=-1;if(sn.indexOf){_1a=sn.indexOf(_18);}else{for(var i=0,len=sn.length;i<len;i++){if(sn[i]==_18){_1a=i;break;}}}if(_1a!=-1){this.selNodes.splice(_1a,1);}delete this.selMap[_18.id];this.fireEvent("selectionchange",this,this.selNodes);}},clearSelections:function(_1d){var sn=this.selNodes;if(sn.length>0){for(var i=0,len=sn.length;i<len;i++){sn[i].ui.onSelectedChange(false);}this.selNodes=[];this.selMap={};if(_1d!==true){this.fireEvent("selectionchange",this,this.selNodes);}}},isSelected:function(_21){return this.selMap[_21.id]?true:false;},getSelectedNodes:function(){return this.selNodes;},onKeyDown:Ext.tree.DefaultSelectionModel.prototype.onKeyDown,selectNext:Ext.tree.DefaultSelectionModel.prototype.selectNext,selectPrevious:Ext.tree.DefaultSelectionModel.prototype.selectPrevious});
198
+
199
+
200
+
201
+ Ext.tree.TreeNode=function(_1){_1=_1||{};if(typeof _1=="string"){_1={text:_1};}this.childrenRendered=false;this.rendered=false;Ext.tree.TreeNode.superclass.constructor.call(this,_1);this.expanded=_1.expanded===true;this.isTarget=_1.isTarget!==false;this.draggable=_1.draggable!==false&&_1.allowDrag!==false;this.allowChildren=_1.allowChildren!==false&&_1.allowDrop!==false;this.text=_1.text;this.disabled=_1.disabled===true;this.addEvents({"textchange":true,"beforeexpand":true,"beforecollapse":true,"expand":true,"disabledchange":true,"collapse":true,"beforeclick":true,"click":true,"dblclick":true,"contextmenu":true,"beforechildrenrendered":true});var _2=this.attributes.uiProvider||Ext.tree.TreeNodeUI;this.ui=new _2(this);};Ext.extend(Ext.tree.TreeNode,Ext.data.Node,{preventHScroll:true,isExpanded:function(){return this.expanded;},getUI:function(){return this.ui;},setFirstChild:function(_3){var of=this.firstChild;Ext.tree.TreeNode.superclass.setFirstChild.call(this,_3);if(this.childrenRendered&&of&&_3!=of){of.renderIndent(true,true);}if(this.rendered){this.renderIndent(true,true);}},setLastChild:function(_5){var ol=this.lastChild;Ext.tree.TreeNode.superclass.setLastChild.call(this,_5);if(this.childrenRendered&&ol&&_5!=ol){ol.renderIndent(true,true);}if(this.rendered){this.renderIndent(true,true);}},appendChild:function(){var _7=Ext.tree.TreeNode.superclass.appendChild.apply(this,arguments);if(_7&&this.childrenRendered){_7.render();}this.ui.updateExpandIcon();return _7;},removeChild:function(_8){this.ownerTree.getSelectionModel().unselect(_8);Ext.tree.TreeNode.superclass.removeChild.apply(this,arguments);if(this.childrenRendered){_8.ui.remove();}if(this.childNodes.length<1){this.collapse(false,false);}else{this.ui.updateExpandIcon();}return _8;},insertBefore:function(_9,_a){var _b=Ext.tree.TreeNode.superclass.insertBefore.apply(this,arguments);if(_b&&_a&&this.childrenRendered){_9.render();}this.ui.updateExpandIcon();return _b;},setText:function(_c){var _d=this.text;this.text=_c;this.attributes.text=_c;if(this.rendered){this.ui.onTextChange(this,_c,_d);}this.fireEvent("textchange",this,_c,_d);},select:function(){this.getOwnerTree().getSelectionModel().select(this);},unselect:function(){this.getOwnerTree().getSelectionModel().unselect(this);},isSelected:function(){return this.getOwnerTree().getSelectionModel().isSelected(this);},expand:function(_e,_f,_10){if(!this.expanded){if(this.fireEvent("beforeexpand",this,_e,_f)===false){return;}if(!this.childrenRendered){this.renderChildren();}this.expanded=true;if(!this.isHiddenRoot()&&(this.getOwnerTree().animate&&_f!==false)||_f){this.ui.animExpand(function(){this.fireEvent("expand",this);if(typeof _10=="function"){_10(this);}if(_e===true){this.expandChildNodes(true);}}.createDelegate(this));return;}else{this.ui.expand();this.fireEvent("expand",this);if(typeof _10=="function"){_10(this);}}}else{if(typeof _10=="function"){_10(this);}}if(_e===true){this.expandChildNodes(true);}},isHiddenRoot:function(){return this.isRoot&&!this.getOwnerTree().rootVisible;},collapse:function(_11,_12){if(this.expanded&&!this.isHiddenRoot()){if(this.fireEvent("beforecollapse",this,_11,_12)===false){return;}this.expanded=false;if((this.getOwnerTree().animate&&_12!==false)||_12){this.ui.animCollapse(function(){this.fireEvent("collapse",this);if(_11===true){this.collapseChildNodes(true);}}.createDelegate(this));return;}else{this.ui.collapse();this.fireEvent("collapse",this);}}if(_11===true){var cs=this.childNodes;for(var i=0,len=cs.length;i<len;i++){cs[i].collapse(true);}}},delayedExpand:function(_16){if(!this.expandProcId){this.expandProcId=this.expand.defer(_16,this);}},cancelExpand:function(){if(this.expandProcId){clearTimeout(this.expandProcId);}this.expandProcId=false;},toggle:function(){if(this.expanded){this.collapse();}else{this.expand();}},ensureVisible:function(_17){var _18=this.getOwnerTree();_18.expandPath(this.getPath(),false,function(){_18.getEl().scrollChildIntoView(this.ui.anchor);Ext.callback(_17);}.createDelegate(this));},expandChildNodes:function(_19){var cs=this.childNodes;for(var i=0,len=cs.length;i<len;i++){cs[i].expand(_19);}},collapseChildNodes:function(_1d){var cs=this.childNodes;for(var i=0,len=cs.length;i<len;i++){cs[i].collapse(_1d);}},disable:function(){this.disabled=true;this.unselect();if(this.rendered&&this.ui.onDisableChange){this.ui.onDisableChange(this,true);}this.fireEvent("disabledchange",this,true);},enable:function(){this.disabled=false;if(this.rendered&&this.ui.onDisableChange){this.ui.onDisableChange(this,false);}this.fireEvent("disabledchange",this,false);},renderChildren:function(_21){if(_21!==false){this.fireEvent("beforechildrenrendered",this);}var cs=this.childNodes;for(var i=0,len=cs.length;i<len;i++){cs[i].render(true);}this.childrenRendered=true;},sort:function(fn,_26){Ext.tree.TreeNode.superclass.sort.apply(this,arguments);if(this.childrenRendered){var cs=this.childNodes;for(var i=0,len=cs.length;i<len;i++){cs[i].render(true);}}},render:function(_2a){this.ui.render(_2a);if(!this.rendered){this.rendered=true;if(this.expanded){this.expanded=false;this.expand(false,false);}}},renderIndent:function(_2b,_2c){if(_2c){this.ui.childIndent=null;}this.ui.renderIndent();if(_2b===true&&this.childrenRendered){var cs=this.childNodes;for(var i=0,len=cs.length;i<len;i++){cs[i].renderIndent(true,_2c);}}}});
202
+
203
+
204
+
205
+ Ext.tree.AsyncTreeNode=function(_1){this.loaded=false;this.loading=false;Ext.tree.AsyncTreeNode.superclass.constructor.apply(this,arguments);this.addEvents({"beforeload":true,"load":true});};Ext.extend(Ext.tree.AsyncTreeNode,Ext.tree.TreeNode,{expand:function(_2,_3,_4){if(this.loading){var _5;var f=function(){if(!this.loading){clearInterval(_5);this.expand(_2,_3,_4);}}.createDelegate(this);_5=setInterval(f,200);return;}if(!this.loaded){if(this.fireEvent("beforeload",this)===false){return;}this.loading=true;this.ui.beforeLoad(this);var _7=this.loader||this.attributes.loader||this.getOwnerTree().getLoader();if(_7){_7.load(this,this.loadComplete.createDelegate(this,[_2,_3,_4]));return;}}Ext.tree.AsyncTreeNode.superclass.expand.call(this,_2,_3,_4);},isLoading:function(){return this.loading;},loadComplete:function(_8,_9,_a){this.loading=false;this.loaded=true;this.ui.afterLoad(this);this.fireEvent("load",this);this.expand(_8,_9,_a);},isLoaded:function(){return this.loaded;},hasChildNodes:function(){if(!this.isLeaf()&&!this.loaded){return true;}else{return Ext.tree.AsyncTreeNode.superclass.hasChildNodes.call(this);}},reload:function(_b){this.collapse(false,false);while(this.firstChild){this.removeChild(this.firstChild);}this.childrenRendered=false;this.loaded=false;if(this.isHiddenRoot()){this.expanded=false;}this.expand(false,false,_b);}});
206
+
207
+
208
+
209
+ Ext.tree.TreeNodeUI=function(_1){this.node=_1;this.rendered=false;this.animating=false;this.emptyIcon=Ext.BLANK_IMAGE_URL;};Ext.tree.TreeNodeUI.prototype={removeChild:function(_2){if(this.rendered){this.ctNode.removeChild(_2.ui.getEl());}},beforeLoad:function(){this.addClass("x-tree-node-loading");},afterLoad:function(){this.removeClass("x-tree-node-loading");},onTextChange:function(_3,_4,_5){if(this.rendered){this.textNode.innerHTML=_4;}},onDisableChange:function(_6,_7){this.disabled=_7;if(_7){this.addClass("x-tree-node-disabled");}else{this.removeClass("x-tree-node-disabled");}},onSelectedChange:function(_8){if(_8){this.focus();this.addClass("x-tree-selected");}else{this.removeClass("x-tree-selected");}},onMove:function(_9,_a,_b,_c,_d,_e){this.childIndent=null;if(this.rendered){var _f=_c.ui.getContainer();if(!_f){this.holder=document.createElement("div");this.holder.appendChild(this.wrap);return;}var _10=_e?_e.ui.getEl():null;if(_10){_f.insertBefore(this.wrap,_10);}else{_f.appendChild(this.wrap);}this.node.renderIndent(true);}},addClass:function(cls){if(this.elNode){Ext.fly(this.elNode).addClass(cls);}},removeClass:function(cls){if(this.elNode){Ext.fly(this.elNode).removeClass(cls);}},remove:function(){if(this.rendered){this.holder=document.createElement("div");this.holder.appendChild(this.wrap);}},fireEvent:function(){return this.node.fireEvent.apply(this.node,arguments);},initEvents:function(){this.node.on("move",this.onMove,this);var E=Ext.EventManager;var a=this.anchor;var el=Ext.fly(a);if(Ext.isOpera){el.setStyle("text-decoration","none");}el.on("click",this.onClick,this);el.on("dblclick",this.onDblClick,this);el.on("contextmenu",this.onContextMenu,this);var _16=Ext.fly(this.iconNode);_16.on("click",this.onClick,this);_16.on("dblclick",this.onDblClick,this);_16.on("contextmenu",this.onContextMenu,this);E.on(this.ecNode,"click",this.ecClick,this,true);if(this.node.disabled){this.addClass("x-tree-node-disabled");}if(this.node.hidden){this.addClass("x-tree-node-disabled");}var ot=this.node.getOwnerTree();var dd=ot.enableDD||ot.enableDrag||ot.enableDrop;if(dd&&(!this.node.isRoot||ot.rootVisible)){Ext.dd.Registry.register(this.elNode,{node:this.node,handles:[this.iconNode,this.textNode],isHandle:false});}},hide:function(){if(this.rendered){this.wrap.style.display="none";}},show:function(){if(this.rendered){this.wrap.style.display="";}},onContextMenu:function(e){e.preventDefault();this.focus();this.fireEvent("contextmenu",this.node,e);},onClick:function(e){if(this.dropping){return;}if(this.fireEvent("beforeclick",this.node,e)!==false){if(!this.disabled&&this.node.attributes.href){this.fireEvent("click",this.node,e);return;}e.preventDefault();if(this.disabled){return;}if(this.node.attributes.singleClickExpand&&!this.animating&&this.node.hasChildNodes()){this.node.toggle();}this.fireEvent("click",this.node,e);}else{e.stopEvent();}},onDblClick:function(e){e.preventDefault();if(this.disabled){return;}if(!this.animating&&this.node.hasChildNodes()){this.node.toggle();}this.fireEvent("dblclick",this.node,e);},ecClick:function(e){if(!this.animating&&this.node.hasChildNodes()){this.node.toggle();}},startDrop:function(){this.dropping=true;},endDrop:function(){setTimeout(function(){this.dropping=false;}.createDelegate(this),50);},expand:function(){this.updateExpandIcon();this.ctNode.style.display="";},focus:function(){if(!this.node.preventHScroll){try{this.anchor.focus();}catch(e){}}else{if(!Ext.isIE){try{var _1d=this.node.getOwnerTree().el.dom;var l=_1d.scrollLeft;this.anchor.focus();_1d.scrollLeft=l;}catch(e){}}}},blur:function(){try{this.anchor.blur();}catch(e){}},animExpand:function(_1f){var ct=Ext.get(this.ctNode);ct.stopFx();if(!this.node.hasChildNodes()){this.updateExpandIcon();this.ctNode.style.display="";Ext.callback(_1f);return;}this.animating=true;this.updateExpandIcon();ct.slideIn("t",{callback:function(){this.animating=false;Ext.callback(_1f);},scope:this,duration:this.node.ownerTree.duration||0.25});},highlight:function(){var _21=this.node.getOwnerTree();Ext.fly(this.wrap).highlight(_21.hlColor||"C3DAF9",{endColor:_21.hlBaseColor});},collapse:function(){this.updateExpandIcon();this.ctNode.style.display="none";},animCollapse:function(_22){var ct=Ext.get(this.ctNode);ct.enableDisplayMode("block");ct.stopFx();this.animating=true;this.updateExpandIcon();ct.slideOut("t",{callback:function(){this.animating=false;Ext.callback(_22);},scope:this,duration:this.node.ownerTree.duration||0.25});},getContainer:function(){return this.ctNode;},getEl:function(){return this.wrap;},appendDDGhost:function(_24){_24.appendChild(this.elNode.cloneNode(true));},getDDRepairXY:function(){return Ext.lib.Dom.getXY(this.iconNode);},onRender:function(){this.render();},render:function(_25){var n=this.node;var _27=n.parentNode?n.parentNode.ui.getContainer():n.ownerTree.container.dom;if(!this.rendered){this.rendered=true;var a=n.attributes;this.indentMarkup="";if(n.parentNode){this.indentMarkup=n.parentNode.ui.getChildIndent();}var buf=["<li class=\"x-tree-node\"><div class=\"x-tree-node-el ",n.attributes.cls,"\">","<span class=\"x-tree-node-indent\">",this.indentMarkup,"</span>","<img src=\"",this.emptyIcon,"\" class=\"x-tree-ec-icon\">","<img src=\"",a.icon||this.emptyIcon,"\" class=\"x-tree-node-icon",(a.icon?" x-tree-node-inline-icon":""),(a.iconCls?" "+a.iconCls:""),"\" unselectable=\"on\">","<a hidefocus=\"on\" href=\"",a.href?a.href:"#","\" tabIndex=\"1\" ",a.hrefTarget?" target=\""+a.hrefTarget+"\"":"","><span unselectable=\"on\">",n.text,"</span></a></div>","<ul class=\"x-tree-node-ct\" style=\"display:none;\"></ul>","</li>"];if(_25!==true&&n.nextSibling&&n.nextSibling.ui.getEl()){this.wrap=Ext.DomHelper.insertHtml("beforeBegin",n.nextSibling.ui.getEl(),buf.join(""));}else{this.wrap=Ext.DomHelper.insertHtml("beforeEnd",_27,buf.join(""));}this.elNode=this.wrap.childNodes[0];this.ctNode=this.wrap.childNodes[1];var cs=this.elNode.childNodes;this.indentNode=cs[0];this.ecNode=cs[1];this.iconNode=cs[2];this.anchor=cs[3];this.textNode=cs[3].firstChild;if(a.qtip){if(this.textNode.setAttributeNS){this.textNode.setAttributeNS("ext","qtip",a.qtip);if(a.qtipTitle){this.textNode.setAttributeNS("ext","qtitle",a.qtipTitle);}}else{this.textNode.setAttribute("ext:qtip",a.qtip);if(a.qtipTitle){this.textNode.setAttribute("ext:qtitle",a.qtipTitle);}}}this.initEvents();if(!this.node.expanded){this.updateExpandIcon();}}else{if(_25===true){_27.appendChild(this.wrap);}}},getAnchor:function(){return this.anchor;},getTextEl:function(){return this.textNode;},getIconEl:function(){return this.iconNode;},updateExpandIcon:function(){if(this.rendered){var n=this.node,c1,c2;var cls=n.isLast()?"x-tree-elbow-end":"x-tree-elbow";var _2f=n.hasChildNodes();if(_2f){if(n.expanded){cls+="-minus";c1="x-tree-node-collapsed";c2="x-tree-node-expanded";}else{cls+="-plus";c1="x-tree-node-expanded";c2="x-tree-node-collapsed";}if(this.wasLeaf){this.removeClass("x-tree-node-leaf");this.wasLeaf=false;}if(this.c1!=c1||this.c2!=c2){Ext.fly(this.elNode).replaceClass(c1,c2);this.c1=c1;this.c2=c2;}}else{if(!this.wasLeaf){Ext.fly(this.elNode).replaceClass("x-tree-node-expanded","x-tree-node-leaf");this.wasLeaf=true;}}var ecc="x-tree-ec-icon "+cls;if(this.ecc!=ecc){this.ecNode.className=ecc;this.ecc=ecc;}}},getChildIndent:function(){if(!this.childIndent){var buf=[];var p=this.node;while(p){if(!p.isRoot||(p.isRoot&&p.ownerTree.rootVisible)){if(!p.isLast()){buf.unshift("<img src=\""+this.emptyIcon+"\" class=\"x-tree-elbow-line\">");}else{buf.unshift("<img src=\""+this.emptyIcon+"\" class=\"x-tree-icon\">");}}p=p.parentNode;}this.childIndent=buf.join("");}return this.childIndent;},renderIndent:function(){if(this.rendered){var _33="";var p=this.node.parentNode;if(p){_33=p.ui.getChildIndent();}if(this.indentMarkup!=_33){this.indentNode.innerHTML=_33;this.indentMarkup=_33;}this.updateExpandIcon();}}};Ext.tree.RootTreeNodeUI=function(){Ext.tree.RootTreeNodeUI.superclass.constructor.apply(this,arguments);};Ext.extend(Ext.tree.RootTreeNodeUI,Ext.tree.TreeNodeUI,{render:function(){if(!this.rendered){var _35=this.node.ownerTree.container.dom;this.node.expanded=true;_35.innerHTML="<div class=\"x-tree-root-node\"></div>";this.wrap=this.ctNode=_35.firstChild;}},collapse:function(){},expand:function(){}});
210
+
211
+
212
+
213
+ Ext.tree.TreeLoader=function(_1){this.baseParams={};this.requestMethod="POST";Ext.apply(this,_1);this.addEvents({"beforeload":true,"load":true,"loadexception":true});};Ext.extend(Ext.tree.TreeLoader,Ext.util.Observable,{uiProviders:{},clearOnLoad:true,load:function(_2,_3){if(this.clearOnLoad){while(_2.firstChild){_2.removeChild(_2.firstChild);}}if(_2.attributes.children){var cs=_2.attributes.children;for(var i=0,_6=cs.length;i<_6;i++){_2.appendChild(this.createNode(cs[i]));}if(typeof _3=="function"){_3();}}else{if(this.dataUrl){this.requestData(_2,_3);}}},getParams:function(_7){var _8=[],bp=this.baseParams;for(var _a in bp){if(typeof bp[_a]!="function"){_8.push(encodeURIComponent(_a),"=",encodeURIComponent(bp[_a]),"&");}}_8.push("node=",encodeURIComponent(_7.id));return _8.join("");},requestData:function(_b,_c){if(this.fireEvent("beforeload",this,_b,_c)!==false){var _d=this.getParams(_b);var cb={success:this.handleResponse,failure:this.handleFailure,scope:this,argument:{callback:_c,node:_b}};this.transId=Ext.lib.Ajax.request(this.requestMethod,this.dataUrl,cb,_d);}else{if(typeof _c=="function"){_c();}}},isLoading:function(){return this.transId?true:false;},abort:function(){if(this.isLoading()){Ext.lib.Ajax.abort(this.transId);}},createNode:function(_f){if(this.applyLoader!==false){_f.loader=this;}if(typeof _f.uiProvider=="string"){_f.uiProvider=this.uiProviders[_f.uiProvider]||eval(_f.uiProvider);}return (_f.leaf?new Ext.tree.TreeNode(_f):new Ext.tree.AsyncTreeNode(_f));},processResponse:function(_10,_11,_12){var _13=_10.responseText;try{var o=eval("("+_13+")");for(var i=0,len=o.length;i<len;i++){var n=this.createNode(o[i]);if(n){_11.appendChild(n);}}if(typeof _12=="function"){_12(this,_11);}}catch(e){this.handleFailure(_10);}},handleResponse:function(_18){this.transId=false;var a=_18.argument;this.processResponse(_18,a.node,a.callback);this.fireEvent("load",this,a.node,_18);},handleFailure:function(_1a){this.transId=false;var a=_1a.argument;this.fireEvent("loadexception",this,a.node,_1a);if(typeof a.callback=="function"){a.callback(this,a.node);}}});
214
+
215
+
216
+
217
+ Ext.tree.TreeFilter=function(_1,_2){this.tree=_1;this.filtered={};Ext.apply(this,_2,{clearBlank:false,reverse:false,autoClear:false,remove:false});};Ext.tree.TreeFilter.prototype={filter:function(_3,_4,_5){_4=_4||"text";var f;if(typeof _3=="string"){var _7=_3.length;if(_7==0&&this.clearBlank){this.clearFilter();return;}_3=_3.toLowerCase();f=function(n){return n.attributes[_4].substr(0,_7).toLowerCase()==_3;};}else{if(_3.exec){f=function(n){return _3.test(n.attributes[_4]);};}else{throw "Illegal filter type, must be string or regex";}}this.filterBy(f,null,_5);},filterBy:function(fn,_b,_c){_c=_c||this.tree.root;if(this.autoClear){this.clearFilter();}var af=this.filtered,rv=this.reverse;var f=function(n){if(n==_c){return true;}if(af[n.id]){return false;}var m=fn.call(_b||n,n);if(!m||rv){af[n.id]=n;n.ui.hide();return false;}return true;};_c.cascade(f);if(this.remove){for(var id in af){if(typeof id!="function"){var n=af[id];if(n&&n.parentNode){n.parentNode.removeChild(n);}}}}},clear:function(){var t=this.tree;var af=this.filtered;for(var id in af){if(typeof id!="function"){var n=af[id];if(n){n.ui.show();}}}this.filtered={};}};
218
+
219
+
220
+
221
+ Ext.tree.TreeSorter=function(_1,_2){Ext.apply(this,_2);_1.on("beforechildrenrendered",this.doSort,this);_1.on("append",this.updateSort,this);_1.on("insert",this.updateSort,this);var _3=this.dir&&this.dir.toLowerCase()=="desc";var p=this.property||"text";var _5=this.sortType;var fs=this.folderSort;var cs=this.caseSensitive===true;var _8=this.leafAttr||"leaf";this.sortFn=function(n1,n2){if(fs){if(n1.attributes[_8]&&!n2.attributes[_8]){return 1;}if(!n1.attributes[_8]&&n2.attributes[_8]){return -1;}}var v1=_5?_5(n1):(cs?n1[p]:n1[p].toUpperCase());var v2=_5?_5(n2):(cs?n2[p]:n2[p].toUpperCase());if(v1<v2){return _3?+1:-1;}else{if(v1>v2){return _3?-1:+1;}else{return 0;}}};};Ext.tree.TreeSorter.prototype={doSort:function(_d){_d.sort(this.sortFn);},compareNodes:function(n1,n2){return (n1.text.toUpperCase()>n2.text.toUpperCase()?1:-1);},updateSort:function(_10,_11){if(_11.childrenRendered){this.doSort.defer(1,this,[_11]);}}};
222
+
223
+
224
+
225
+ if(Ext.dd.DropZone){Ext.tree.TreeDropZone=function(_1,_2){this.allowParentInsert=false;this.allowContainerDrop=false;this.appendOnly=false;Ext.tree.TreeDropZone.superclass.constructor.call(this,_1.container,_2);this.tree=_1;this.lastInsertClass="x-tree-no-status";this.dragOverData={};};Ext.extend(Ext.tree.TreeDropZone,Ext.dd.DropZone,{ddGroup:"TreeDD",expandDelay:1000,expandNode:function(_3){if(_3.hasChildNodes()&&!_3.isExpanded()){_3.expand(false,null,this.triggerCacheRefresh.createDelegate(this));}},queueExpand:function(_4){this.expandProcId=this.expandNode.defer(this.expandDelay,this,[_4]);},cancelExpand:function(){if(this.expandProcId){clearTimeout(this.expandProcId);this.expandProcId=false;}},isValidDropPoint:function(n,pt,dd,e,_9){if(!n||!_9){return false;}var _a=n.node;var _b=_9.node;if(!(_a&&_a.isTarget&&pt)){return false;}if(pt=="append"&&_a.allowChildren===false){return false;}if((pt=="above"||pt=="below")&&(_a.parentNode&&_a.parentNode.allowChildren===false)){return false;}if(_b&&(_a==_b||_b.contains(_a))){return false;}var _c=this.dragOverData;_c.tree=this.tree;_c.target=_a;_c.data=_9;_c.point=pt;_c.source=dd;_c.rawEvent=e;_c.dropNode=_b;_c.cancel=false;var _d=this.tree.fireEvent("nodedragover",_c);return _c.cancel===false&&_d!==false;},getDropPoint:function(e,n,dd){var tn=n.node;if(tn.isRoot){return tn.allowChildren!==false?"append":false;}var _12=n.ddel;var t=Ext.lib.Dom.getY(_12),b=t+_12.offsetHeight;var y=Ext.lib.Event.getPageY(e);var _16=tn.allowChildren===false||tn.isLeaf();if(this.appendOnly||tn.parentNode.allowChildren===false){return _16?false:"append";}var _17=false;if(!this.allowParentInsert){_17=tn.hasChildNodes()&&tn.isExpanded();}var q=(b-t)/(_16?2:3);if(y>=t&&y<(t+q)){return "above";}else{if(!_17&&(_16||y>=b-q&&y<=b)){return "below";}else{return "append";}}},onNodeEnter:function(n,dd,e,_1c){this.cancelExpand();},onNodeOver:function(n,dd,e,_20){var pt=this.getDropPoint(e,n,dd);var _22=n.node;if(!this.expandProcId&&pt=="append"&&_22.hasChildNodes()&&!n.node.isExpanded()){this.queueExpand(_22);}else{if(pt!="append"){this.cancelExpand();}}var _23=this.dropNotAllowed;if(this.isValidDropPoint(n,pt,dd,e,_20)){if(pt){var el=n.ddel;var cls;if(pt=="above"){_23=n.node.isFirst()?"x-tree-drop-ok-above":"x-tree-drop-ok-between";cls="x-tree-drag-insert-above";}else{if(pt=="below"){_23=n.node.isLast()?"x-tree-drop-ok-below":"x-tree-drop-ok-between";cls="x-tree-drag-insert-below";}else{_23="x-tree-drop-ok-append";cls="x-tree-drag-append";}}if(this.lastInsertClass!=cls){Ext.fly(el).replaceClass(this.lastInsertClass,cls);this.lastInsertClass=cls;}}}return _23;},onNodeOut:function(n,dd,e,_29){this.cancelExpand();this.removeDropIndicators(n);},onNodeDrop:function(n,dd,e,_2d){var _2e=this.getDropPoint(e,n,dd);var _2f=n.node;_2f.ui.startDrop();if(!this.isValidDropPoint(n,_2e,dd,e,_2d)){_2f.ui.endDrop();return false;}var _30=_2d.node||(dd.getTreeNode?dd.getTreeNode(_2d,_2f,_2e,e):null);var _31={tree:this.tree,target:_2f,data:_2d,point:_2e,source:dd,rawEvent:e,dropNode:_30,cancel:!_30};var _32=this.tree.fireEvent("beforenodedrop",_31);if(_32===false||_31.cancel===true||!_31.dropNode){_2f.ui.endDrop();return false;}_2f=_31.target;if(_2e=="append"&&!_2f.isExpanded()){_2f.expand(false,null,function(){this.completeDrop(_31);}.createDelegate(this));}else{this.completeDrop(_31);}return true;},completeDrop:function(de){var ns=de.dropNode,p=de.point,t=de.target;if(!(ns instanceof Array)){ns=[ns];}var n;for(var i=0,len=ns.length;i<len;i++){n=ns[i];if(p=="above"){t.parentNode.insertBefore(n,t);}else{if(p=="below"){t.parentNode.insertBefore(n,t.nextSibling);}else{t.appendChild(n);}}}n.ui.focus();if(this.tree.hlDrop){n.ui.highlight();}t.ui.endDrop();this.tree.fireEvent("nodedrop",de);},afterNodeMoved:function(dd,_3b,e,_3d,_3e){if(this.tree.hlDrop){_3e.ui.focus();_3e.ui.highlight();}this.tree.fireEvent("nodedrop",this.tree,_3d,_3b,dd,e);},getTree:function(){return this.tree;},removeDropIndicators:function(n){if(n&&n.ddel){var el=n.ddel;Ext.fly(el).removeClass(["x-tree-drag-insert-above","x-tree-drag-insert-below","x-tree-drag-append"]);this.lastInsertClass="_noclass";}},beforeDragDrop:function(_41,e,id){this.cancelExpand();return true;},afterRepair:function(_44){if(_44&&Ext.enableFx){_44.node.ui.highlight();}this.hideProxy();}});}
226
+
227
+
228
+
229
+ if(Ext.dd.DragZone){Ext.tree.TreeDragZone=function(_1,_2){Ext.tree.TreeDragZone.superclass.constructor.call(this,_1.getEl(),_2);this.tree=_1;};Ext.extend(Ext.tree.TreeDragZone,Ext.dd.DragZone,{ddGroup:"TreeDD",onBeforeDrag:function(_3,e){var n=_3.node;return n&&n.draggable&&!n.disabled;},onInitDrag:function(e){var _7=this.dragData;this.tree.getSelectionModel().select(_7.node);this.proxy.update("");_7.node.ui.appendDDGhost(this.proxy.ghost.dom);this.tree.fireEvent("startdrag",this.tree,_7.node,e);},getRepairXY:function(e,_9){return _9.node.ui.getDDRepairXY();},onEndDrag:function(_a,e){this.tree.fireEvent("enddrag",this.tree,_a.node,e);},onValidDrop:function(dd,e,id){this.tree.fireEvent("dragdrop",this.tree,this.dragData.node,dd,e);this.hideProxy();},beforeInvalidDrop:function(e,id){var sm=this.tree.getSelectionModel();sm.clearSelections();sm.select(this.dragData.node);}});}
230
+
231
+
232
+
233
+ Ext.tree.TreeEditor=function(_1,_2){_2=_2||{};var _3=_2.events?_2:new Ext.form.TextField(_2);Ext.tree.TreeEditor.superclass.constructor.call(this,_3);this.tree=_1;_1.on("beforeclick",this.beforeNodeClick,this);_1.el.on("mousedown",this.hide,this);this.on("complete",this.updateNode,this);this.on("beforestartedit",this.fitToTree,this);this.on("startedit",this.bindScroll,this,{delay:10});this.on("specialkey",this.onSpecialKey,this);};Ext.extend(Ext.tree.TreeEditor,Ext.Editor,{alignment:"l-l",autoSize:false,hideEl:false,cls:"x-small-editor x-tree-editor",shim:false,shadow:"frame",maxWidth:250,fitToTree:function(ed,el){var td=this.tree.el.dom,nd=el.dom;if(td.scrollLeft>nd.offsetLeft){td.scrollLeft=nd.offsetLeft;}var w=Math.min(this.maxWidth,(td.clientWidth>20?td.clientWidth:td.offsetWidth)-Math.max(0,nd.offsetLeft-td.scrollLeft)-5);this.setSize(w,"");},triggerEdit:function(_9){this.completeEdit();this.editNode=_9;this.startEdit(_9.ui.textNode,_9.text);},bindScroll:function(){this.tree.el.on("scroll",this.cancelEdit,this);},beforeNodeClick:function(_a){if(this.tree.getSelectionModel().isSelected(_a)){this.triggerEdit(_a);return false;}},updateNode:function(ed,_c){this.tree.el.un("scroll",this.cancelEdit,this);this.editNode.setText(_c);},onSpecialKey:function(_d,e){var k=e.getKey();if(k==e.ESC){this.cancelEdit();e.stopEvent();}else{if(k==e.ENTER&&!e.hasModifier()){this.completeEdit();e.stopEvent();}}}});
234
+
235
+
236
+
237
+ Ext.form.Field=function(_1){Ext.form.Field.superclass.constructor.call(this,_1);this.addEvents({focus:true,blur:true,specialkey:true,change:true,invalid:true,valid:true});};Ext.extend(Ext.form.Field,Ext.Component,{invalidClass:"x-form-invalid",invalidText:"The value in this field is invalid",focusClass:"x-form-focus",validationEvent:"keyup",validateOnBlur:true,validationDelay:250,defaultAutoCreate:{tag:"input",type:"text",size:"20",autocomplete:"off"},fieldClass:"x-form-field",msgTarget:"qtip",msgFx:"normal",inputType:undefined,isFormField:true,hasFocus:false,value:undefined,getName:function(){return this.rendered&&this.el.dom.name?this.el.dom.name:(this.hiddenName||"");},applyTo:function(_2){this.target=_2;this.el=Ext.get(_2);this.render(this.el.dom.parentNode);return this;},onRender:function(ct,_4){if(this.el){this.el=Ext.get(this.el);if(!this.target){ct.dom.appendChild(this.el.dom);}}else{var _5=this.getAutoCreate();if(!_5.name){_5.name=this.name||this.id;}if(this.inputType){_5.type=this.inputType;}if(this.tabIndex!==undefined){_5.tabIndex=this.tabIndex;}this.el=ct.createChild(_5,_4);}var _6=this.el.dom.type;if(_6){if(_6=="password"){_6="text";}this.el.addClass("x-form-"+_6);}if(!this.customSize&&(this.width||this.height)){this.setSize(this.width||"",this.height||"");}if(this.readOnly){this.el.dom.readOnly=true;}this.el.addClass([this.fieldClass,this.cls]);this.initValue();},initValue:function(){if(this.value!==undefined){this.setValue(this.value);}else{if(this.el.dom.value.length>0){this.setValue(this.el.dom.value);}}},afterRender:function(){Ext.form.Field.superclass.afterRender.call(this);this.initEvents();},fireKey:function(e){if(e.isNavKeyPress()){this.fireEvent("specialkey",this,e);}},reset:function(){this.setValue(this.originalValue);this.clearInvalid();},initEvents:function(){this.el.on(Ext.isIE?"keydown":"keypress",this.fireKey,this);this.el.on("focus",this.onFocus,this);this.el.on("blur",this.onBlur,this);this.originalValue=this.getValue();},onFocus:function(){if(!Ext.isOpera){this.el.addClass(this.focusClass);}this.hasFocus=true;this.startValue=this.getValue();this.fireEvent("focus",this);},onBlur:function(){this.el.removeClass(this.focusClass);this.hasFocus=false;if(this.validationEvent!==false&&this.validateOnBlur&&this.validationEvent!="blur"){this.validate();}var v=this.getValue();if(v!=this.startValue){this.fireEvent("change",this,v,this.startValue);}this.fireEvent("blur",this);},setSize:function(w,h){if(!this.rendered||!this.el){this.width=w;this.height=h;return;}if(w){w=this.adjustWidth(this.el.dom.tagName,w);this.el.setWidth(w);}if(h){this.el.setHeight(h);}var h=this.el.dom.offsetHeight;},isValid:function(_b){if(this.disabled){return true;}var _c=this.preventMark;this.preventMark=_b===true;var v=this.validateValue(this.getRawValue());this.preventMark=_c;return v;},validate:function(){if(this.disabled||this.validateValue(this.getRawValue())){this.clearInvalid();return true;}return false;},validateValue:function(_e){return true;},markInvalid:function(_f){if(!this.rendered||this.preventMark){return;}this.el.addClass(this.invalidClass);_f=_f||this.invalidText;switch(this.msgTarget){case "qtip":this.el.dom.qtip=_f;this.el.dom.qclass="x-form-invalid-tip";break;case "title":this.el.dom.title=_f;break;case "under":if(!this.errorEl){var elp=this.el.findParent(".x-form-element",5,true);this.errorEl=elp.createChild({cls:"x-form-invalid-msg"});this.errorEl.setWidth(elp.getWidth(true)-20);}this.errorEl.update(_f);Ext.form.Field.msgFx[this.msgFx].show(this.errorEl,this);break;case "side":if(!this.errorIcon){var elp=this.el.findParent(".x-form-element",5,true);this.errorIcon=elp.createChild({cls:"x-form-invalid-icon"});}this.alignErrorIcon();this.errorIcon.dom.qtip=_f;this.errorIcon.dom.qclass="x-form-invalid-tip";this.errorIcon.show();break;default:var t=Ext.getDom(this.msgTarget);t.innerHTML=_f;t.style.display=this.msgDisplay;break;}this.fireEvent("invalid",this,_f);},alignErrorIcon:function(){this.errorIcon.alignTo(this.el,"tl-tr",[2,0]);},clearInvalid:function(){if(!this.rendered||this.preventMark){return;}this.el.removeClass(this.invalidClass);switch(this.msgTarget){case "qtip":this.el.dom.qtip="";break;case "title":this.el.dom.title="";break;case "under":if(this.errorEl){Ext.form.Field.msgFx[this.msgFx].hide(this.errorEl,this);}break;case "side":if(this.errorIcon){this.errorIcon.dom.qtip="";this.errorIcon.hide();}break;default:var t=Ext.getDom(this.msgTarget);t.innerHTML="";t.style.display="none";break;}this.fireEvent("valid",this);},getRawValue:function(){return this.el.getValue();},getValue:function(){var v=this.el.getValue();if(v==this.emptyText||v===undefined){v="";}return v;},setRawValue:function(v){return this.el.dom.value=v;},setValue:function(v){this.value=v;if(this.rendered){this.el.dom.value=v;this.validate();}},adjustWidth:function(tag,w){tag=tag.toLowerCase();if(typeof w=="number"&&Ext.isStrict&&!Ext.isSafari){if(Ext.isIE&&(tag=="input"||tag=="textarea")){if(tag=="input"){return w+2;}if(tag="textarea"){return w-2;}}else{if(Ext.isGecko&&tag=="textarea"){return w-6;}else{if(Ext.isOpera){if(tag=="input"){return w+2;}if(tag="textarea"){return w-2;}}}}}return w;}});Ext.form.Field.msgFx={normal:{show:function(_18,f){_18.setDisplayed("block");},hide:function(_1a,f){_1a.setDisplayed(false).update("");}},slide:{show:function(_1c,f){_1c.slideIn("t",{stopFx:true});},hide:function(_1e,f){_1e.slideOut("t",{stopFx:true,useDisplay:true});}},slideRight:{show:function(_20,f){_20.fixDisplay();_20.alignTo(f.el,"tl-tr");_20.slideIn("l",{stopFx:true});},hide:function(_22,f){_22.slideOut("l",{stopFx:true,useDisplay:true});}}};
238
+
239
+
240
+
241
+ Ext.form.TextField=function(_1){Ext.form.TextField.superclass.constructor.call(this,_1);this.addEvents({autosize:true});};Ext.extend(Ext.form.TextField,Ext.form.Field,{grow:false,growMin:30,growMax:800,vtype:null,maskRe:null,disableKeyFilter:false,allowBlank:true,minLength:0,maxLength:Number.MAX_VALUE,minLengthText:"The minimum length for this field is {0}",maxLengthText:"The maximum length for this field is {0}",selectOnFocus:false,blankText:"This field is required",validator:null,regex:null,regexText:"",emptyText:null,emptyClass:"x-form-empty-field",initEvents:function(){Ext.form.TextField.superclass.initEvents.call(this);if(this.validationEvent=="keyup"){this.validationTask=new Ext.util.DelayedTask(this.validate,this);this.el.on("keyup",this.filterValidation,this);}else{if(this.validationEvent!==false){this.el.on(this.validationEvent,this.validate,this,{buffer:this.validationDelay});}}if(this.selectOnFocus||this.emptyText){this.on("focus",this.preFocus,this);if(this.emptyText){this.on("blur",this.postBlur,this);this.applyEmptyText();}}if(this.maskRe||(this.vtype&&this.disableKeyFilter!==true&&(this.maskRe=Ext.form.VTypes[this.vtype+"Mask"]))){this.el.on("keypress",this.filterKeys,this);}if(this.grow){this.el.on("keyup",this.onKeyUp,this,{buffer:50});this.el.on("click",this.autoSize,this);}},filterValidation:function(e){if(!e.isNavKeyPress()){this.validationTask.delay(this.validationDelay);}},onKeyUp:function(e){if(!e.isNavKeyPress()){this.autoSize();}},reset:function(){Ext.form.TextField.superclass.reset.call(this);this.applyEmptyText();},applyEmptyText:function(){if(this.rendered&&this.emptyText&&this.getRawValue().length<1){this.setRawValue(this.emptyText);this.el.addClass(this.emptyClass);}},preFocus:function(){if(this.emptyText){if(this.getRawValue()==this.emptyText){this.setRawValue("");}this.el.removeClass(this.emptyClass);}if(this.selectOnFocus){this.el.dom.select();}},postBlur:function(){this.applyEmptyText();},filterKeys:function(e){var k=e.getKey();if(!Ext.isIE&&(e.isNavKeyPress()||k==e.BACKSPACE||(k==e.DELETE&&e.button==-1))){return;}var c=e.getCharCode();if(!this.maskRe.test(String.fromCharCode(c)||"")){e.stopEvent();}},setValue:function(v){if(this.emptyText&&v!==undefined&&v!==null&&v!==""){this.el.removeClass(this.emptyClass);}Ext.form.TextField.superclass.setValue.apply(this,arguments);},validateValue:function(_8){if(_8.length<1||_8===this.emptyText){if(this.allowBlank){this.clearInvalid();return true;}else{this.markInvalid(this.blankText);return false;}}if(_8.length<this.minLength){this.markInvalid(String.format(this.minLengthText,this.minLength));return false;}if(_8.length>this.maxLength){this.markInvalid(String.format(this.maxLengthText,this.maxLength));return false;}if(this.vtype){var vt=Ext.form.VTypes;if(!vt[this.vtype](_8)){this.markInvalid(this.vtypeText||vt[this.vtype+"Text"]);return false;}}if(typeof this.validator=="function"){var _a=this.validator(_8);if(_a!==true){this.markInvalid(_a);return false;}}if(this.regex&&!this.regex.test(_8)){this.markInvalid(this.regexText);return false;}return true;},selectText:function(_b,_c){var v=this.getRawValue();if(v.length>0){_b=_b===undefined?0:_b;_c=_c===undefined?v.length:_c;var d=this.el.dom;if(d.setSelectionRange){d.setSelectionRange(_b,_c);}else{if(d.createTextRange){var _f=d.createTextRange();_f.moveStart("character",_b);_f.moveEnd("character",v.length-_c);_f.select();}}}},autoSize:function(){if(!this.grow||!this.rendered){return;}if(!this.metrics){this.metrics=Ext.util.TextMetrics.createInstance(this.el);}var el=this.el;var v=el.dom.value+"&#160;";var w=Math.min(this.growMax,Math.max(this.metrics.getWidth(v)+10,this.growMin));this.el.setWidth(w);this.fireEvent("autosize",this,w);}});
242
+
js/extjs/fix-defer-before.js ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Magento
3
+ *
4
+ * NOTICE OF LICENSE
5
+ *
6
+ * This source file is subject to the Academic Free License (AFL 3.0)
7
+ * that is bundled with this package in the file LICENSE_AFL.txt.
8
+ * It is also available through the world-wide-web at this URL:
9
+ * http://opensource.org/licenses/afl-3.0.php
10
+ * If you did not receive a copy of the license and are unable to
11
+ * obtain it through the world-wide-web, please send an email
12
+ * to license@magentocommerce.com so we can send you a copy immediately.
13
+ *
14
+ * DISCLAIMER
15
+ *
16
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
17
+ * versions in the future. If you wish to customize Magento for your
18
+ * needs please refer to http://www.magentocommerce.com for more information.
19
+ *
20
+ * @category Mage
21
+ * @package js
22
+ * @copyright Copyright (c) 2011 Magento Inc. (http://www.magentocommerce.com)
23
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
24
+ */
25
+ /*@cc_on
26
+ // code only for IE7 when ExtJs overwrite "defer" function in PrototypeJs
27
+ (function(){
28
+ var last = null;
29
+ var ie7 = @if(@_jscript_version==5.7) 1 @end + 0;
30
+ var ie8 = @if(@_jscript_version==5.8) 1 @end + 0;
31
+ if (ie7 || ie8) {
32
+ var eDefer = Function.prototype.defer;
33
+ Function.prototype.defer = function() {
34
+ // prevent throw stack overflow exception
35
+ if (last !== this) {
36
+ last = this;
37
+ eDefer.apply(last, arguments);
38
+ }
39
+ return this;
40
+ };
41
+ }
42
+ })();
43
+ @*/
js/extjs/fix-defer.js ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Magento
3
+ *
4
+ * NOTICE OF LICENSE
5
+ *
6
+ * This source file is subject to the Academic Free License (AFL 3.0)
7
+ * that is bundled with this package in the file LICENSE_AFL.txt.
8
+ * It is also available through the world-wide-web at this URL:
9
+ * http://opensource.org/licenses/afl-3.0.php
10
+ * If you did not receive a copy of the license and are unable to
11
+ * obtain it through the world-wide-web, please send an email
12
+ * to license@magentocommerce.com so we can send you a copy immediately.
13
+ *
14
+ * DISCLAIMER
15
+ *
16
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
17
+ * versions in the future. If you wish to customize Magento for your
18
+ * needs please refer to http://www.magentocommerce.com for more information.
19
+ *
20
+ * @category Mage
21
+ * @package js
22
+ * @copyright Copyright (c) 2011 Magento Inc. (http://www.magentocommerce.com)
23
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
24
+ */
25
+
26
+ (function(){
27
+ var eDefer = Function.prototype.defer;
28
+ Function.prototype.defer = function() {
29
+ var argLen = arguments.length;
30
+ if (argLen==0 || (argLen==1 && arguments[0]==1)) {
31
+ //common for Prototype Ajax requests
32
+ return this.delay.curry(0.01).apply(this, arguments);
33
+ }
34
+
35
+ return eDefer.apply(this, arguments);
36
+ }
37
+ })();
js/extjs/resources/css/README.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ 2006-11-21 jvs:
2
+ ext-all.css contains all of the other css files combined and stripped of comments (except themes).
3
+
js/extjs/resources/css/basic-dialog.css ADDED
@@ -0,0 +1,286 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 1.1 Beta 1
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .x-dlg-proxy {
10
+ background-image: url(../images/default/gradient-bg.gif);
11
+ background-color:#c3daf9;
12
+ border:1px solid #6593cf;
13
+ z-index:10001;
14
+ overflow:hidden;
15
+ position:absolute;
16
+ left:0;top:0;
17
+ }
18
+ .x-dlg-shadow{
19
+ background:#aaaaaa;
20
+ position:absolute;
21
+ left:0;top:0;
22
+ }
23
+ .x-dlg-focus{
24
+ -moz-outline:0 none;
25
+ outline:0 none;
26
+ width:0;
27
+ height:0;
28
+ overflow:hidden;
29
+ position:absolute;
30
+ top:0;
31
+ left:0;
32
+ }
33
+ .x-dlg-mask{
34
+ z-index:10000;
35
+ display:none;
36
+ position:absolute;
37
+ top:0;
38
+ left:0;
39
+ -moz-opacity: 0.5;
40
+ opacity:.50;
41
+ filter: alpha(opacity=50);
42
+ background-color:#CCC;
43
+ }
44
+ body.x-body-masked select {
45
+ visibility:hidden;
46
+ }
47
+ body.x-body-masked .x-dlg select {
48
+ visibility:visible;
49
+ }
50
+ .x-dlg{
51
+ z-index:10001;
52
+ overflow:hidden;
53
+ position:absolute;
54
+ left:300;top:0;
55
+ }
56
+ .x-dlg .x-dlg-hd {
57
+ background: url(../images/default/basic-dialog/hd-sprite.gif) repeat-x 0 -82px;
58
+ background-color:navy;
59
+ color:#FFF;
60
+ font:bold 12px "sans serif", tahoma, verdana, helvetica;
61
+ overflow:hidden;
62
+ padding:5px;
63
+ white-space: nowrap;
64
+ }
65
+ .x-dlg .x-dlg-hd-left {
66
+ background: url(../images/default/basic-dialog/hd-sprite.gif) no-repeat 0 -41px;
67
+ padding-left:3px;
68
+ margin:0;
69
+ }
70
+ .x-dlg .x-dlg-hd-right {
71
+ background: url(../images/default/basic-dialog/hd-sprite.gif) no-repeat right 0;
72
+ padding-right:3px;
73
+ }
74
+ .x-dlg .x-dlg-dlg-body{
75
+ background:url(../images/default/layout/gradient-bg.gif);
76
+ border:1px solid #6593cf;
77
+ border-top:0 none;
78
+ padding:10px;
79
+ position:absolute;
80
+ top:24px;left:0;
81
+ z-index:1;
82
+ overflow:hidden;
83
+ }
84
+ .x-dlg-collapsed .x-resizable-handle{
85
+ display:none;
86
+ }
87
+ .x-dlg .x-dlg-bd{
88
+ overflow:hidden;
89
+ }
90
+ .x-dlg .x-dlg-ft{
91
+ overflow:hidden;
92
+ padding:5px;
93
+ padding-bottom:0;
94
+ }
95
+
96
+ .x-dlg .x-tabs-body{
97
+ background:white;
98
+ overflow:auto;
99
+ }
100
+ .x-dlg .x-tabs-top .x-tabs-body{
101
+ border:1px solid #6593cf;
102
+ border-top:0 none;
103
+ }
104
+ .x-dlg .x-tabs-bottom .x-tabs-body{
105
+ border:1px solid #6593cf;
106
+ border-bottom:0 none;
107
+ }
108
+ .x-dlg .x-layout-container .x-tabs-body{
109
+ border:0 none;
110
+ }
111
+ .x-dlg .inner-tab{
112
+ margin:5px;
113
+ }
114
+ .x-dlg .x-dlg-ft .x-btn{
115
+ margin-right:5px;
116
+ float:right;
117
+ clear:none;
118
+ }
119
+ .x-dlg .x-dlg-ft .x-dlg-btns td {
120
+ border:0;
121
+ padding:0;
122
+ }
123
+ .x-dlg .x-dlg-ft .x-dlg-btns-right table{
124
+ float:right;
125
+ clear:none;
126
+ }
127
+ .x-dlg .x-dlg-ft .x-dlg-btns-left table{
128
+ float:left;
129
+ clear:none;
130
+ }
131
+ .x-dlg .x-dlg-ft .x-dlg-btns-center{
132
+ text-align:center; /*ie*/
133
+ }
134
+ .x-dlg .x-dlg-ft .x-dlg-btns-center table{
135
+ margin:0 auto; /*everyone else*/
136
+ }
137
+
138
+
139
+ .x-dlg .x-dlg-ft .x-dlg-btns .x-btn-focus .x-btn-left{
140
+ background-position:0 -147px;
141
+ }
142
+ .x-dlg .x-dlg-ft .x-dlg-btns .x-btn-focus .x-btn-right{
143
+ background-position:0 -168px;
144
+ }
145
+ .x-dlg .x-dlg-ft .x-dlg-btns .x-btn-focus .x-btn-center{
146
+ background-position:0 -189px;
147
+ }
148
+
149
+ .x-dlg .x-dlg-ft .x-dlg-btns .x-btn-click .x-btn-center{
150
+ background-position:0 -126px;
151
+ }
152
+ .x-dlg .x-dlg-ft .x-dlg-btns .x-btn-click .x-btn-right{
153
+ background-position:0 -84px;
154
+ }
155
+ .x-dlg .x-dlg-ft .x-dlg-btns .x-btn-click .x-btn-left{
156
+ background-position:0 -63px;
157
+ }
158
+
159
+ .x-dlg-draggable .x-dlg-hd{
160
+ cursor:move;
161
+ }
162
+ .x-dlg-closable .x-dlg-hd{
163
+ padding-right:22px;
164
+ }
165
+ .x-dlg-toolbox {
166
+ position:absolute;
167
+ top:4px;
168
+ right:4px;
169
+ z-index:6;
170
+ width:40px;
171
+ cursor:default;
172
+ height:15px;
173
+ background:transparent;
174
+ }
175
+ .x-dlg .x-dlg-close, .x-dlg .x-dlg-collapse {
176
+ float:right;
177
+ height:15px;
178
+ width:15px;
179
+ margin:0;
180
+ margin-left:2px;
181
+ padding:0;
182
+ line-height:1px;
183
+ font-size:1px;
184
+ background-repeat:no-repeat;
185
+ cursor:pointer;
186
+ visibility:inherit;
187
+ }
188
+ .x-dlg .x-dlg-close {
189
+ background-image:url(../images/default/basic-dialog/close.gif);
190
+ }
191
+ .x-dlg .x-dlg-collapse {
192
+ background-image:url(../images/default/basic-dialog/collapse.gif);
193
+ }
194
+ .x-dlg-collapsed .x-dlg-collapse {
195
+ background-image:url(../images/default/basic-dialog/expand.gif);
196
+ }
197
+ .x-dlg .x-dlg-close-over, .x-dlg .x-dlg-collapse-over {
198
+
199
+ }
200
+ .x-dlg div.x-resizable-handle-east{
201
+ background-image:url(../images/default/basic-dialog/e-handle.gif);
202
+ border:0;
203
+ background-position:right;
204
+ margin-right:0;
205
+ }
206
+ .x-dlg div.x-resizable-handle-south{
207
+ background-image:url(../images/default/sizer/s-handle-dark.gif);
208
+ border:0;
209
+ height:6px;
210
+ }
211
+ .x-dlg div.x-resizable-handle-west{
212
+ background-image:url(../images/default/basic-dialog/e-handle.gif);
213
+ border:0;
214
+ background-position:1px;
215
+ }
216
+ .x-dlg div.x-resizable-handle-north{
217
+ background-image:url(../images/default/s.gif);
218
+ border:0;
219
+ }
220
+ .x-dlg div.x-resizable-handle-northeast, .xtheme-gray .x-dlg div.x-resizable-handle-northeast{
221
+ background-image:url(../images/default/s.gif);
222
+ border:0;
223
+ }
224
+ .x-dlg div.x-resizable-handle-northwest, .xtheme-gray .x-dlg div.x-resizable-handle-northwest{
225
+ background-image:url(../images/default/s.gif);
226
+ border:0;
227
+ }
228
+ .x-dlg div.x-resizable-handle-southeast{
229
+ background-image:url(../images/default/basic-dialog/se-handle.gif);
230
+ background-position: bottom right;
231
+ width:8px;
232
+ height:8px;
233
+ border:0;
234
+ }
235
+ .x-dlg div.x-resizable-handle-southwest{
236
+ background-image:url(../images/default/sizer/sw-handle-dark.gif);
237
+ background-position: top right;
238
+ margin-left:1px;
239
+ margin-bottom:1px;
240
+ border:0;
241
+ }
242
+
243
+ #x-msg-box .x-dlg-ft .x-btn{
244
+ float:none;
245
+ clear:none;
246
+ margin:0 3px;
247
+ }
248
+
249
+ #x-msg-box .x-dlg-bd {
250
+ padding:5px;
251
+ overflow:hidden !important;
252
+ font:normal 13px verdana,tahoma,sans-serif;
253
+ }
254
+ #x-msg-box .ext-mb-input {
255
+ margin-top:4px;
256
+ width:95%;
257
+ }
258
+ #x-msg-box .ext-mb-textarea {
259
+ margin-top:4px;
260
+ font:normal 13px verdana,tahoma,sans-serif;
261
+ }
262
+ #x-msg-box .ext-mb-progress-wrap {
263
+ margin-top:4px;
264
+ border:1px solid #6593cf;
265
+ }
266
+ #x-msg-box .ext-mb-progress {
267
+ height:18px;
268
+ background: #e0e8f3 url(../images/default/qtip/bg.gif) repeat-x;
269
+ }
270
+ #x-msg-box .ext-mb-progress-bar {
271
+ height:18px;
272
+ overflow:hidden;
273
+ width:0;
274
+ background:#8BB8F3;
275
+ border-top:1px solid #B2D0F7;
276
+ border-bottom:1px solid #65A1EF;
277
+ border-right:1px solid #65A1EF;
278
+ }
279
+
280
+ #x-msg-box .x-msg-box-wait {
281
+ background: transparent url(../images/default/grid/loading.gif) no-repeat left;
282
+ display:block;
283
+ width:300px;
284
+ padding-left:18px;
285
+ line-height:18px;
286
+ }
js/extjs/resources/css/box.css ADDED
@@ -0,0 +1,111 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 1.1 Beta 1
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ /*
10
+ Creates rounded, raised boxes like on the Ext website - the markup isn't pretty:
11
+ <div class="x-box-blue">
12
+ <div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div>
13
+ <div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc">
14
+ <h3>YOUR TITLE HERE (optional)</h3>
15
+ <div>YOUR CONTENT HERE</div>
16
+ </div></div></div>
17
+ <div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div>
18
+ </div>
19
+ */
20
+
21
+ .x-box-tl {
22
+ background: transparent url(../images/default/box/corners.gif) no-repeat 0 0;
23
+ zoom:1;
24
+ }
25
+
26
+ .x-box-tc {
27
+ height: 8px;
28
+ background: transparent url(../images/default/box/tb.gif) repeat-x 0 0;
29
+ overflow: hidden;
30
+ }
31
+
32
+ .x-box-tr {
33
+ background: transparent url(../images/default/box/corners.gif) no-repeat right -8px;
34
+ }
35
+
36
+ .x-box-ml {
37
+ background: transparent url(../images/default/box/l.gif) repeat-y 0;
38
+ padding-left: 4px;
39
+ overflow: hidden;
40
+ zoom:1;
41
+ }
42
+
43
+ .x-box-mc {
44
+ background: #eee url(../images/default/box/tb.gif) repeat-x 0 -16px;
45
+ padding: 4px 10px;
46
+ font-family: "Myriad Pro","Myriad Web","Tahoma","Helvetica","Arial",sans-serif;
47
+ color: #393939;
48
+ font-size: 12px;
49
+ }
50
+
51
+ .x-box-mc h3 {
52
+ font-size: 14px;
53
+ font-weight: bold;
54
+ margin: 0 0 4 0;
55
+ zoom:1;
56
+ }
57
+
58
+ .x-box-mr {
59
+ background: transparent url(../images/default/box/r.gif) repeat-y right;
60
+ padding-right: 4px;
61
+ overflow: hidden;
62
+ }
63
+
64
+ .x-box-bl {
65
+ background: transparent url(../images/default/box/corners.gif) no-repeat 0 -16px;
66
+ zoom:1;
67
+ }
68
+
69
+ .x-box-bc {
70
+ background: transparent url(../images/default/box/tb.gif) repeat-x 0 -8px;
71
+ height: 8px;
72
+ overflow: hidden;
73
+ }
74
+
75
+ .x-box-br {
76
+ background: transparent url(../images/default/box/corners.gif) no-repeat right -24px;
77
+ }
78
+
79
+ .x-box-tl, .x-box-bl {
80
+ padding-left: 8px;
81
+ overflow: hidden;
82
+ }
83
+
84
+ .x-box-tr, .x-box-br {
85
+ padding-right: 8px;
86
+ overflow: hidden;
87
+ }
88
+
89
+ .x-box-blue .x-box-bl, .x-box-blue .x-box-br, .x-box-blue .x-box-tl, .x-box-blue .x-box-tr {
90
+ background-image: url(../images/default/box/corners-blue.gif);
91
+ }
92
+
93
+ .x-box-blue .x-box-bc, .x-box-blue .x-box-mc, .x-box-blue .x-box-tc {
94
+ background-image: url(../images/default/box/tb-blue.gif);
95
+ }
96
+
97
+ .x-box-blue .x-box-mc {
98
+ background-color: #c3daf9;
99
+ }
100
+
101
+ .x-box-blue .x-box-mc h3 {
102
+ color: #17385b;
103
+ }
104
+
105
+ .x-box-blue .x-box-ml {
106
+ background-image: url(../images/default/box/l-blue.gif);
107
+ }
108
+
109
+ .x-box-blue .x-box-mr {
110
+ background-image: url(../images/default/box/r-blue.gif);
111
+ }
js/extjs/resources/css/button.css ADDED
@@ -0,0 +1,148 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 1.1 Beta 1
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .x-btn{
10
+ font:normal 11px tahoma, verdana, helvetica;
11
+ cursor:pointer;
12
+ white-space: nowrap;
13
+ }
14
+ .x-btn button{
15
+ border:0 none;
16
+ background:transparent;
17
+ font:normal 11px tahoma,verdana,helvetica;
18
+ padding-left:3px;
19
+ padding-right:3px;
20
+ cursor:pointer;
21
+ margin:0;
22
+ overflow:visible;
23
+ width:auto;
24
+ -moz-outline:0 none;
25
+ outline:0 none;
26
+ }
27
+ * html .ext-ie .x-btn button {
28
+ width:1px;
29
+ }
30
+ .ext-gecko .x-btn button {
31
+ padding-left:0;
32
+ padding-right:0;
33
+ }
34
+ .ext-ie .x-btn button {
35
+ padding-top:2px;
36
+ }
37
+ /*
38
+ Predefined css class for buttons with only icon. Add this class (x-btn-icon) and a class with a background-image
39
+ to your button for a button with just an icon.
40
+ e.g.
41
+ .my-class .x-btn-text { background-image: url(foo.gif); }
42
+ */
43
+
44
+ .x-btn-icon .x-btn-center .x-btn-text{
45
+ background-position: center;
46
+ background-repeat: no-repeat;
47
+ height: 16px;
48
+ width: 16px;
49
+ cursor:pointer;
50
+ white-space: nowrap;
51
+ padding:0;
52
+ }
53
+ .x-btn-icon .x-btn-center{
54
+ padding:1px;
55
+ }
56
+ .x-btn em {
57
+ font-style:normal;
58
+ font-weight:normal;
59
+ }
60
+ /*
61
+ Button class for icon and text. Add this class (x-btn-text-icon) and a class with a background-image
62
+ to your button for both text and icon.
63
+ */
64
+
65
+ .x-btn-text-icon .x-btn-center .x-btn-text{
66
+ background-position: 0 2px;
67
+ background-repeat: no-repeat;
68
+ padding-left:18px;
69
+ padding-top:3px;
70
+ padding-bottom:3px;
71
+ padding-right:0;
72
+ }
73
+
74
+ .x-btn-left, .x-btn-right{
75
+ font-size:1px;
76
+ line-height:1px;
77
+ }
78
+ .x-btn-left{
79
+ width:3px;
80
+ height:21px;
81
+ background:url(../images/default/basic-dialog/btn-sprite.gif) no-repeat 0 0;
82
+ }
83
+ .x-btn-right{
84
+ width:3px;
85
+ height:21px;
86
+ background:url(../images/default/basic-dialog/btn-sprite.gif) no-repeat 0 -21px;
87
+ }
88
+ .x-btn-left i, .x-btn-right i{
89
+ display:block;
90
+ width:3px;
91
+ overflow:hidden;
92
+ font-size:1px;
93
+ line-height:1px;
94
+ }
95
+ .x-btn-center{
96
+ background:url(../images/default/basic-dialog/btn-sprite.gif) repeat-x 0 -42px;
97
+ vertical-align: middle;
98
+ text-align:center;
99
+ padding:0 5px;
100
+ cursor:pointer;
101
+ white-space:nowrap;
102
+ }
103
+ .x-btn-over .x-btn-left{
104
+ background-position:0 -63px;
105
+ }
106
+ .x-btn-over .x-btn-right{
107
+ background-position:0 -84px;
108
+ }
109
+ .x-btn-over .x-btn-center{
110
+ background-position:0 -105px;
111
+ }
112
+ .x-btn-click .x-btn-center, .x-btn-menu-active .x-btn-center{
113
+ background-position:0 -126px;
114
+ }
115
+ .x-btn-disabled *{
116
+ color:gray !important;
117
+ cursor:default !important;
118
+ }
119
+ .x-btn-menu-text-wrap .x-btn-center {
120
+ padding:0 3px;
121
+ }
122
+ .ext-gecko .x-btn-menu-text-wrap .x-btn-center {
123
+ padding:0 1px;
124
+ }
125
+ .x-btn-menu-arrow-wrap .x-btn-center {
126
+ padding:0;
127
+ }
128
+ .x-btn-menu-arrow-wrap .x-btn-center button {
129
+ width:12px !important;
130
+ height:21px;
131
+ padding:0 !important;
132
+ display:block;
133
+ background:transparent url(../images/default/basic-dialog/btn-arrow.gif) no-repeat left 3px;
134
+ }
135
+ .x-btn-with-menu .x-btn-center {
136
+ padding-right:2px !important;
137
+ }
138
+ .x-btn-with-menu .x-btn-center em {
139
+ display:block;
140
+ background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat right 0;
141
+ padding-right:10px;
142
+ }
143
+
144
+ .x-btn-text-icon .x-btn-with-menu .x-btn-center em {
145
+ display:block;
146
+ background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat right 3px;
147
+ padding-right:10px;
148
+ }
js/extjs/resources/css/combo.css ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 1.1 Beta 1
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .x-combo-list {
10
+ border:1px solid #98c0f4;
11
+ background:#ddecfe;
12
+ zoom:1;
13
+ overflow:hidden;
14
+ }
15
+ .x-combo-list-inner {
16
+ overflow:auto;
17
+ background:white;
18
+ position:relative; /* for calculating scroll offsets */
19
+ zoom:1;
20
+ overflow-x:hidden;
21
+ }
22
+ .x-combo-list-hd {
23
+ font:bold 11px tahoma, arial, helvetica, sans-serif;
24
+ color:#15428b;
25
+ background-image: url(../images/default/layout/panel-title-light-bg.gif);
26
+ border-bottom:1px solid #98c0f4;
27
+ padding:3px;
28
+ }
29
+ .x-resizable-pinned .x-combo-list-inner {
30
+ border-bottom:1px solid #98c0f4;
31
+ }
32
+ .x-combo-list-item {
33
+ font:normal 12px tahoma, arial, helvetica, sans-serif;
34
+ padding:2px;
35
+ border:1px solid #fff;
36
+ white-space: nowrap;
37
+ overflow:hidden;
38
+ text-overflow: ellipsis;
39
+ }
40
+ .x-combo-list .x-combo-selected{
41
+ background-color: #c3daf9 !important;
42
+ cursor:pointer;
43
+ border:1px solid #336699;
44
+ }
45
+ .x-combo-noedit{
46
+ cursor:pointer;
47
+ }
js/extjs/resources/css/core.css ADDED
@@ -0,0 +1,292 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 1.1 Beta 1
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .ext-el-mask {
10
+ z-index: 20000;
11
+ position: absolute;
12
+ top: 0;
13
+ left: 0;
14
+ -moz-opacity: 0.5;
15
+ opacity: .50;
16
+ filter: alpha(opacity=50);
17
+ background-color: #CCC;
18
+ width: 100%;
19
+ height: 100%;
20
+ zoom: 1;
21
+ }
22
+ .ext-el-mask-msg {
23
+ z-index: 20001;
24
+ position: absolute;
25
+ top: 0;
26
+ left: 0;
27
+ border:1px solid #6593cf;
28
+ background: #c3daf9 url(../images/default/box/tb-blue.gif) repeat-x 0 -16px;
29
+ padding:2px;
30
+ }
31
+ .ext-el-mask-msg div {
32
+ padding:5px 10px 5px 10px;
33
+ background: #eee;
34
+ border:1px solid #a3bad9;
35
+ color:#333;
36
+ font:normal 12px tahoma, arial, helvetica, sans-serif;
37
+ cursor:wait;
38
+ }
39
+
40
+ .ext-shim {
41
+ position:absolute;
42
+ visibility:hidden;
43
+ left:0;
44
+ top:0;
45
+ overflow:hidden;
46
+ }
47
+ .ext-ie .ext-shim {
48
+ filter: alpha(opacity=0);
49
+ }
50
+
51
+ .x-mask-loading div {
52
+ padding:5px 10px 5px 25px;
53
+ background: #eee url( '../images/default/grid/loading.gif' ) no-repeat 5px 5px;
54
+ line-height: 16px;
55
+ }
56
+
57
+ /* class for hiding elements without using display:none */
58
+ .x-hidden {
59
+ position:absolute;
60
+ left:-2000px;
61
+ top:-2000px;
62
+ visibility:hidden;
63
+ }
64
+
65
+ .x-masked {
66
+ overflow: hidden !important;
67
+ }
68
+
69
+ .x-masked select, .x-masked object, .x-masked embed {
70
+ visibility: hidden;
71
+ }
72
+
73
+ .x-layer {
74
+ visibility: hidden;
75
+ }
76
+
77
+ .x-unselectable, .x-unselectable * {
78
+ -moz-user-select: none;
79
+ -khtml-user-select: none;
80
+ }
81
+
82
+ .x-repaint {
83
+ zoom: 1;
84
+ background-color: transparent;
85
+ -moz-outline: none;
86
+ }
87
+
88
+ .x-item-disabled {
89
+ color: gray;
90
+ cursor: default;
91
+ opacity: .6;
92
+ -moz-opacity: .6;
93
+ filter: alpha(opacity=60);
94
+ }
95
+
96
+ .x-item-disabled * {
97
+ color: gray;
98
+ cursor: default !important;
99
+ }
100
+
101
+ .x-splitbar-proxy {
102
+ position: absolute;
103
+ visibility: hidden;
104
+ z-index: 20001;
105
+ background: #aaa;
106
+ zoom: 1;
107
+ line-height: 1px;
108
+ font-size: 1px;
109
+ overflow: hidden;
110
+ }
111
+
112
+ .x-splitbar-h, .x-splitbar-proxy-h {
113
+ cursor: e-resize;
114
+ cursor: col-resize;
115
+ }
116
+
117
+ .x-splitbar-v, .x-splitbar-proxy-v {
118
+ cursor: s-resize;
119
+ cursor: row-resize;
120
+ }
121
+
122
+ .x-color-palette {
123
+ width: 150px;
124
+ height: 92px;
125
+ cursor: pointer;
126
+ }
127
+
128
+ .x-color-palette a {
129
+ border: 1px solid #fff;
130
+ float: left;
131
+ padding: 2px;
132
+ text-decoration: none;
133
+ -moz-outline: 0 none;
134
+ outline: 0 none;
135
+ cursor: pointer;
136
+ }
137
+
138
+ .x-color-palette a:hover, .x-color-palette a.x-color-palette-sel {
139
+ border: 1px solid #8BB8F3;
140
+ background: #deecfd;
141
+ }
142
+
143
+ .x-color-palette em {
144
+ display: block;
145
+ border: 1px solid #ACA899;
146
+ }
147
+
148
+ .x-color-palette em span {
149
+ cursor: pointer;
150
+ display: block;
151
+ height: 10px;
152
+ line-height: 10px;
153
+ width: 10px;
154
+ }
155
+
156
+ .x-ie-shadow {
157
+ display: none;
158
+ position: absolute;
159
+ overflow: hidden;
160
+ left:0;
161
+ top:0;
162
+ background:#777;
163
+ zoom:1;
164
+ }
165
+
166
+ .x-shadow {
167
+ display: none;
168
+ position: absolute;
169
+ overflow: hidden;
170
+ left:0;
171
+ top:0;
172
+ }
173
+
174
+ .x-shadow * {
175
+ overflow: hidden;
176
+ }
177
+
178
+ .x-shadow * {
179
+ padding: 0;
180
+ border: 0;
181
+ margin: 0;
182
+ clear: none;
183
+ zoom: 1;
184
+ }
185
+
186
+ /* top bottom */
187
+ .x-shadow .xstc, .x-shadow .xsbc {
188
+ height: 6px;
189
+ float: left;
190
+ }
191
+
192
+ /* corners */
193
+ .x-shadow .xstl, .x-shadow .xstr, .x-shadow .xsbl, .x-shadow .xsbr {
194
+ width: 6px;
195
+ height: 6px;
196
+ float: left;
197
+ }
198
+
199
+ /* sides */
200
+ .x-shadow .xsc {
201
+ width: 100%;
202
+ }
203
+
204
+ .x-shadow .xsml, .x-shadow .xsmr {
205
+ width: 6px;
206
+ float: left;
207
+ height: 100%;
208
+ }
209
+
210
+ .x-shadow .xsmc {
211
+ float: left;
212
+ height: 100%;
213
+ background: transparent url( ../images/default/shadow-c.png );
214
+ }
215
+
216
+ .x-shadow .xst, .x-shadow .xsb {
217
+ height: 6px;
218
+ overflow: hidden;
219
+ width: 100%;
220
+ }
221
+
222
+ .x-shadow .xsml {
223
+ background: transparent url( ../images/default/shadow-lr.png ) repeat-y 0 0;
224
+ }
225
+
226
+ .x-shadow .xsmr {
227
+ background: transparent url( ../images/default/shadow-lr.png ) repeat-y -6px 0;
228
+ }
229
+
230
+ .x-shadow .xstl {
231
+ background: transparent url( ../images/default/shadow.png ) no-repeat 0 0;
232
+ }
233
+
234
+ .x-shadow .xstc {
235
+ background: transparent url( ../images/default/shadow.png ) repeat-x 0 -30px;
236
+ }
237
+
238
+ .x-shadow .xstr {
239
+ background: transparent url( ../images/default/shadow.png ) repeat-x 0 -18px;
240
+ }
241
+
242
+ .x-shadow .xsbl {
243
+ background: transparent url( ../images/default/shadow.png ) no-repeat 0 -12px;
244
+ }
245
+
246
+ .x-shadow .xsbc {
247
+ background: transparent url( ../images/default/shadow.png ) repeat-x 0 -36px;
248
+ }
249
+
250
+ .x-shadow .xsbr {
251
+ background: transparent url( ../images/default/shadow.png ) repeat-x 0 -6px;
252
+ }
253
+
254
+ .loading-indicator {
255
+ font-size: 11px;
256
+ background-image: url( '../images/default/grid/loading.gif' );
257
+ background-repeat: no-repeat;
258
+ background-position: left;
259
+ padding-left: 20px;
260
+ line-height: 16px;
261
+ margin: 3px;
262
+ }
263
+
264
+ .x-text-resize {
265
+ position: absolute;
266
+ left: -1000px;
267
+ top: -1000px;
268
+ visibility: hidden;
269
+ zoom: 1;
270
+ }
271
+
272
+ .x-drag-overlay {
273
+ width: 100%;
274
+ height: 100%;
275
+ display: none;
276
+ position: absolute;
277
+ left: 0;
278
+ top: 0;
279
+ background: white;
280
+ z-index: 20000;
281
+ -moz-opacity: 0;
282
+ opacity: 0;
283
+ filter: alpha(opacity=0);
284
+ }
285
+
286
+ .x-clear {
287
+ clear:both;
288
+ height:0;
289
+ overflow:hidden;
290
+ line-height:0;
291
+ font-size:0;
292
+ }
js/extjs/resources/css/date-picker.css ADDED
@@ -0,0 +1,246 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 1.1 Beta 1
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .x-date-picker {
10
+ border: 1px solid #1b376c;
11
+ border-top:0 none;
12
+ background:#fff;
13
+ position:relative;
14
+ }
15
+ .x-date-picker a {
16
+ -moz-outline:0 none;
17
+ outline:0 none;
18
+ }
19
+ .x-date-inner, .x-date-inner td, .x-date-inner th{
20
+ border-collapse:separate;
21
+ }
22
+ .x-date-middle,.x-date-left,.x-date-right {
23
+ background: url(../images/default/basic-dialog/hd-sprite.gif) repeat-x 0 -83px;
24
+ color:#FFF;
25
+ font:bold 11px "sans serif", tahoma, verdana, helvetica;
26
+ overflow:hidden;
27
+ }
28
+
29
+ .x-date-middle .x-btn-left,.x-date-middle .x-btn-center,.x-date-middle .x-btn-right{
30
+ background:transparent !important;
31
+ vertical-align:middle;
32
+ }
33
+ .x-date-middle .x-btn .x-btn-text {
34
+ color:#fff;
35
+ }
36
+ .x-date-middle .x-btn-with-menu .x-btn-center em {
37
+ background:transparent url(../images/default/toolbar/btn-arrow-light.gif) no-repeat right 0;
38
+ }
39
+ .x-date-right, .x-date-left {
40
+ width:18px;
41
+ }
42
+ .x-date-right{
43
+ text-align:right;
44
+ }
45
+ .x-date-middle {
46
+ padding-top:2px;padding-bottom:2px;
47
+ }
48
+ .x-date-right a, .x-date-left a{
49
+ display:block;
50
+ width:16px;
51
+ height:16px;
52
+ background-position: center;
53
+ background-repeat: no-repeat;
54
+ cursor:pointer;
55
+ -moz-opacity: 0.6;
56
+ opacity:.6;
57
+ filter: alpha(opacity=60);
58
+ }
59
+ .x-date-right a:hover, .x-date-left a:hover{
60
+ -moz-opacity: 1;
61
+ opacity:1;
62
+ filter: alpha(opacity=100);
63
+ }
64
+ .x-date-right a {
65
+ background-image: url(../images/default/shared/right-btn.gif);
66
+ margin-right:2px;
67
+ text-decoration:none !important;
68
+ }
69
+ .x-date-left a{
70
+ background-image: url(../images/default/shared/left-btn.gif);
71
+ margin-left:2px;
72
+ text-decoration:none !important;
73
+ }
74
+ table.x-date-inner {
75
+ width:100%;
76
+ table-layout:fixed;
77
+ }
78
+ .x-date-inner th {
79
+ width:25px;
80
+ }
81
+ .x-date-inner th {
82
+ background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;
83
+ text-align:right !important;
84
+ border-bottom: 1px solid #a3bad9;
85
+ font:normal 10px arial, helvetica,tahoma,sans-serif;
86
+ color:#233d6d;
87
+ cursor:default;
88
+ padding:0;
89
+ border-collapse:separate;
90
+ }
91
+ .x-date-inner th span {
92
+ display:block;
93
+ padding:2px;
94
+ padding-right:7px;
95
+ }
96
+ .x-date-inner td {
97
+ border: 1px solid #fff;
98
+ text-align:right;
99
+ padding:0;
100
+ }
101
+ .x-date-inner a {
102
+ padding:2px 5px;
103
+ display:block;
104
+ font:normal 11px arial, helvetica,tahoma,sans-serif;
105
+ text-decoration:none;
106
+ color:black;
107
+ text-align:right;
108
+ zoom:1;
109
+ }
110
+ .x-date-inner .x-date-active{
111
+ cursor:pointer;
112
+ color:black;
113
+ }
114
+ .x-date-inner .x-date-selected a{
115
+ background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;
116
+ border:1px solid #8db2e3;
117
+ padding:1px 4px;
118
+ }
119
+ .x-date-inner .x-date-today a{
120
+ border: 1px solid darkred;
121
+ padding:1px 4px;
122
+ }
123
+ .x-date-inner .x-date-selected span{
124
+ font-weight:bold;
125
+ }
126
+ .x-date-inner .x-date-prevday a,.x-date-inner .x-date-nextday a {
127
+ color:#aaaaaa;
128
+ text-decoration:none !important;
129
+ }
130
+ .x-date-bottom {
131
+ padding:4px;
132
+ border-top: 1px solid #a3bad9;
133
+ background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;
134
+ }
135
+
136
+ .x-date-inner a:hover, .x-date-inner .x-date-disabled a:hover{
137
+ text-decoration:none !important;
138
+ color:black;
139
+ background: #ddecfe;
140
+ }
141
+
142
+ .x-date-inner .x-date-disabled a {
143
+ cursor:default;
144
+ background:#eeeeee;
145
+ color:#bbbbbb;
146
+ }
147
+ .x-date-mmenu{
148
+ background:#eeeeee !important;
149
+ }
150
+ .x-date-mmenu .x-menu-item {
151
+ font-size:10px;
152
+ padding:1px 24px 1px 4px;
153
+ white-space: nowrap;
154
+ color:#000;
155
+ }
156
+ .x-date-mmenu .x-menu-item .x-menu-item-icon {
157
+ width:10px;height:10px;margin-right:5px;
158
+ background-position:center -4px !important;
159
+ }
160
+
161
+ .x-date-mp {
162
+ position:absolute;
163
+ left:0;
164
+ top:0;
165
+ background:white;
166
+ display:none;
167
+ }
168
+ .x-date-mp td {
169
+ padding:2px;
170
+ font:normal 11px arial, helvetica,tahoma,sans-serif;
171
+ }
172
+ td.x-date-mp-month,td.x-date-mp-year,td.x-date-mp-ybtn {
173
+ border: 0 none;
174
+ text-align:center;
175
+ vertical-align: middle;
176
+ width:25%;
177
+ }
178
+ .x-date-mp-ok {
179
+ margin-right:3px;
180
+ }
181
+ .x-date-mp-btns button {
182
+ text-decoration:none;
183
+ text-align:center;
184
+ text-decoration:none !important;
185
+ background:#083772;
186
+ color:white;
187
+ border:1px solid;
188
+ border-color: #3366cc #000055 #000055 #3366cc;
189
+ padding:1px 3px 1px;
190
+ font:normal 11px arial, helvetica,tahoma,sans-serif;
191
+ cursor:pointer;
192
+ }
193
+ .x-date-mp-btns {
194
+ background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;
195
+ }
196
+ .x-date-mp-btns td {
197
+ border-top: 1px solid #c5d2df;
198
+ text-align:center;
199
+ }
200
+ td.x-date-mp-month a,td.x-date-mp-year a {
201
+ display:block;
202
+ padding:2px 4px;
203
+ text-decoration:none;
204
+ text-align:center;
205
+ color:#15428b;
206
+ }
207
+
208
+ td.x-date-mp-month a:hover,td.x-date-mp-year a:hover {
209
+ color:#15428b;
210
+ text-decoration:none;
211
+ cursor:pointer;
212
+ background: #ddecfe;
213
+ }
214
+
215
+ td.x-date-mp-sel a {
216
+ padding:1px 3px;
217
+ background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;
218
+ border:1px solid #8db2e3;
219
+ }
220
+ .x-date-mp-ybtn a {
221
+ overflow:hidden;
222
+ width:15px;
223
+ height:15px;
224
+ cursor:pointer;
225
+ background:transparent url(../images/default/panel/tool-sprites.gif) no-repeat;
226
+ display:block;
227
+ margin:0 auto;
228
+ }
229
+ .x-date-mp-ybtn a.x-date-mp-next {
230
+ background-position:0 -120px;
231
+ }
232
+ .x-date-mp-ybtn a.x-date-mp-next:hover {
233
+ background-position:-15px -120px;
234
+ }
235
+ .x-date-mp-ybtn a.x-date-mp-prev {
236
+ background-position:0 -105px;
237
+ }
238
+ .x-date-mp-ybtn a.x-date-mp-prev:hover {
239
+ background-position:-15px -105px;
240
+ }
241
+ .x-date-mp-ybtn {
242
+ text-align:center;
243
+ }
244
+ td.x-date-mp-sep {
245
+ border-right:1px solid #c5d2df;
246
+ }
js/extjs/resources/css/dd.css ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 1.1 Beta 1
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .x-dd-drag-proxy{
10
+ position:absolute;
11
+ left:0;top:0;
12
+ visibility:hidden;
13
+ z-index:15000;
14
+ }
15
+ .x-dd-drag-ghost{
16
+ color: black;
17
+ font: normal 11px arial, helvetica, sans-serif;
18
+ -moz-opacity: 0.85;
19
+ opacity:.85;
20
+ filter: alpha(opacity=85);
21
+ border-top:1px solid #dddddd;
22
+ border-left:1px solid #dddddd;
23
+ border-right:1px solid #bbbbbb;
24
+ border-bottom:1px solid #bbbbbb;
25
+ padding:3px;
26
+ padding-left:20px;
27
+ background-color:white;
28
+ white-space:nowrap;
29
+ }
30
+ .x-dd-drag-repair .x-dd-drag-ghost{
31
+ -moz-opacity: 0.4;
32
+ opacity:.4;
33
+ filter: alpha(opacity=40);
34
+ border:0 none;
35
+ padding:0;
36
+ background-color:transparent;
37
+ }
38
+ .x-dd-drag-repair .x-dd-drop-icon{
39
+ visibility:hidden;
40
+ }
41
+ .x-dd-drop-icon{
42
+ position:absolute;
43
+ top:3px;
44
+ left:3px;
45
+ display:block;
46
+ width:16px;
47
+ height:16px;
48
+ background-color:transparent;
49
+ background-position: center;
50
+ background-repeat: no-repeat;
51
+ z-index:1;
52
+ }
53
+ .x-dd-drop-nodrop .x-dd-drop-icon{
54
+ background-image: url(../images/default/dd/drop-no.gif);
55
+ }
56
+ .x-dd-drop-ok .x-dd-drop-icon{
57
+ background-image: url(../images/default/dd/drop-yes.gif);
58
+ }
59
+ .x-dd-drop-ok-add .x-dd-drop-icon{
60
+ background-image: url(../images/default/dd/drop-add.gif);
61
+ }
js/extjs/resources/css/debug.css ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 1.1 Beta 1
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ #x-debug-browser .x-tree .x-tree-node a span {
10
+ color:#222297;
11
+ font-size:12px;
12
+ padding-top:2px;
13
+ font-family:"courier","courier new";
14
+ line-height:18px;
15
+ }
16
+ #x-debug-browser .x-tree a i {
17
+ color:#FF4545;
18
+ font-style:normal;
19
+ }
20
+ #x-debug-browser .x-tree a em {
21
+ color:#999;
22
+ }
23
+ #x-debug-browser .x-tree .x-tree-node .x-tree-selected a span{
24
+ background:#c3daf9;
25
+ }
26
+ #x-debug-browser pre, .x-debug-browser pre xmp {
27
+ font:normal 11px tahoma, arial, helvetica, sans-serif !important;
28
+ white-space: -moz-pre-wrap;
29
+ white-space: -pre-wrap;
30
+ white-space: -o-pre-wrap;
31
+ word-wrap: break-word;
32
+ }
33
+ #x-debug-browser pre {
34
+ display:block;
35
+ padding:5px !important;
36
+ border-bottom:1px solid #eeeeee !important;
37
+ }
38
+ #x-debug-browser pre xmp {
39
+ padding:0 !important;
40
+ margin:0 !important;
41
+ }
42
+ #x-debug-console .x-layout-panel-center, #x-debug-inspector .x-layout-panel-center {
43
+ border-right:1px solid #98c0f4;
44
+ }
45
+ #x-debug-console textarea {
46
+ border: 0 none;
47
+ font-size:12px;
48
+ font-family:"courier","courier new";
49
+ padding-top:4px;
50
+ padding-left:4px;
51
+ }
52
+ .x-debug-frame {
53
+ background:#eeeeee;
54
+ border:1px dashed #aaaaaa;
55
+ }
js/extjs/resources/css/editor.css ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 1.1 Beta 1
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .x-html-editor-wrap {
10
+ border:1px solid #a9bfd3;
11
+ background:white;
12
+ }
13
+ .x-html-editor-tb .x-btn-text {
14
+ background:transparent url(../images/default/editor/tb-sprite.gif) no-repeat;
15
+ }
16
+ .x-html-editor-tb .x-edit-bold .x-btn-text {
17
+ background-position:0 0;
18
+ }
19
+ .x-html-editor-tb .x-edit-italic .x-btn-text {
20
+ background-position:-16px 0;
21
+ }
22
+ .x-html-editor-tb .x-edit-underline .x-btn-text {
23
+ background-position:-32px 0;
24
+ }
25
+ .x-html-editor-tb .x-edit-forecolor .x-btn-text {
26
+ background-position:-160px 0;
27
+ }
28
+ .x-html-editor-tb .x-edit-backcolor .x-btn-text {
29
+ background-position:-176px 0;
30
+ }
31
+ .x-html-editor-tb .x-edit-justifyleft .x-btn-text {
32
+ background-position:-112px 0;
33
+ }
34
+ .x-html-editor-tb .x-edit-justifycenter .x-btn-text {
35
+ background-position:-128px 0;
36
+ }
37
+ .x-html-editor-tb .x-edit-justifyright .x-btn-text {
38
+ background-position:-144px 0;
39
+ }
40
+ .x-html-editor-tb .x-edit-insertorderedlist .x-btn-text {
41
+ background-position:-80px 0;
42
+ }
43
+ .x-html-editor-tb .x-edit-insertunorderedlist .x-btn-text {
44
+ background-position:-96px 0;
45
+ }
46
+ .x-html-editor-tb .x-edit-increasefontsize .x-btn-text {
47
+ background-position:-48px 0;
48
+ }
49
+ .x-html-editor-tb .x-edit-decreasefontsize .x-btn-text {
50
+ background-position:-64px 0;
51
+ }
52
+ .x-html-editor-tb .x-edit-sourceedit .x-btn-text {
53
+ background-position:-192px 0;
54
+ }
55
+
56
+ .x-html-editor-tip .x-tip-bd .x-tip-bd-inner {
57
+ padding:5px;
58
+ padding-bottom:1px;
59
+ }
js/extjs/resources/css/ext-all.css ADDED
@@ -0,0 +1,2151 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 1.1 Beta 1
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .ext-el-mask {
10
+ z-index: 20000;
11
+ position: absolute;
12
+ top: 0;
13
+ left: 0;
14
+ -moz-opacity: 0.5;
15
+ opacity: .50;
16
+ filter: alpha(opacity=50);
17
+ background-color: #CCC;
18
+ width: 100%;
19
+ height: 100%;
20
+ zoom: 1;
21
+ }
22
+ .ext-el-mask-msg {
23
+ z-index: 20001;
24
+ position: absolute;
25
+ top: 0;
26
+ left: 0;
27
+ border:1px solid #6593cf;
28
+ background: #c3daf9 url(../images/default/box/tb-blue.gif) repeat-x 0 -16px;
29
+ padding:2px;
30
+ }
31
+ .ext-el-mask-msg div {
32
+ padding:5px 10px 5px 10px;
33
+ background: #eee;
34
+ border:1px solid #a3bad9;
35
+ color:#333;
36
+ /* font:normal 12px tahoma, arial, helvetica, sans-serif; */
37
+ cursor:wait;
38
+ }
39
+
40
+ .ext-shim {
41
+ position:absolute;
42
+ visibility:hidden;
43
+ left:0;
44
+ top:0;
45
+ overflow:hidden;
46
+ }
47
+ .ext-ie .ext-shim {
48
+ filter: alpha(opacity=0);
49
+ }
50
+
51
+ .x-mask-loading div {
52
+ padding:5px 10px 5px 25px;
53
+ background: #eee url( '../images/default/grid/loading.gif' ) no-repeat 5px 5px;
54
+ line-height: 16px;
55
+ }
56
+
57
+
58
+ .x-hidden {
59
+ position:absolute;
60
+ left:-2000px;
61
+ top:-2000px;
62
+ visibility:hidden;
63
+ }
64
+
65
+ .x-masked {
66
+ overflow: hidden !important;
67
+ }
68
+
69
+ .x-masked select, .x-masked object, .x-masked embed {
70
+ visibility: hidden;
71
+ }
72
+
73
+ .x-layer {
74
+ visibility: hidden;
75
+ }
76
+
77
+ .x-unselectable, .x-unselectable * {
78
+ -moz-user-select: none;
79
+ -khtml-user-select: none;
80
+ }
81
+
82
+ .x-repaint {
83
+ zoom: 1;
84
+ background-color: transparent;
85
+ -moz-outline: none;
86
+ }
87
+
88
+ .x-item-disabled {
89
+ color: gray;
90
+ cursor: default;
91
+ opacity: .6;
92
+ -moz-opacity: .6;
93
+ filter: alpha(opacity=60);
94
+ }
95
+
96
+ .x-item-disabled * {
97
+ color: gray;
98
+ cursor: default !important;
99
+ }
100
+
101
+ .x-splitbar-proxy {
102
+ position: absolute;
103
+ visibility: hidden;
104
+ z-index: 20001;
105
+ background: #aaa;
106
+ zoom: 1;
107
+ line-height: 1px;
108
+ font-size: 1px;
109
+ overflow: hidden;
110
+ }
111
+
112
+ .x-splitbar-h, .x-splitbar-proxy-h {
113
+ cursor: e-resize;
114
+ cursor: col-resize;
115
+ }
116
+
117
+ .x-splitbar-v, .x-splitbar-proxy-v {
118
+ cursor: s-resize;
119
+ cursor: row-resize;
120
+ }
121
+
122
+ .x-color-palette {
123
+ width: 150px;
124
+ height: 92px;
125
+ cursor: pointer;
126
+ }
127
+
128
+ .x-color-palette a {
129
+ border: 1px solid #fff;
130
+ float: left;
131
+ padding: 2px;
132
+ text-decoration: none;
133
+ -moz-outline: 0 none;
134
+ outline: 0 none;
135
+ cursor: pointer;
136
+ }
137
+
138
+ .x-color-palette a:hover, .x-color-palette a.x-color-palette-sel {
139
+ border: 1px solid #8BB8F3;
140
+ background: #deecfd;
141
+ }
142
+
143
+ .x-color-palette em {
144
+ display: block;
145
+ border: 1px solid #ACA899;
146
+ }
147
+
148
+ .x-color-palette em span {
149
+ cursor: pointer;
150
+ display: block;
151
+ height: 10px;
152
+ line-height: 10px;
153
+ width: 10px;
154
+ }
155
+
156
+ .x-ie-shadow {
157
+ display: none;
158
+ position: absolute;
159
+ overflow: hidden;
160
+ left:0;
161
+ top:0;
162
+ background:#777;
163
+ zoom:1;
164
+ }
165
+
166
+ .x-shadow {
167
+ display: none;
168
+ position: absolute;
169
+ overflow: hidden;
170
+ left:0;
171
+ top:0;
172
+ }
173
+
174
+ .x-shadow * {
175
+ overflow: hidden;
176
+ }
177
+
178
+ .x-shadow * {
179
+ padding: 0;
180
+ border: 0;
181
+ margin: 0;
182
+ clear: none;
183
+ zoom: 1;
184
+ }
185
+
186
+
187
+ .x-shadow .xstc, .x-shadow .xsbc {
188
+ height: 6px;
189
+ float: left;
190
+ }
191
+
192
+
193
+ .x-shadow .xstl, .x-shadow .xstr, .x-shadow .xsbl, .x-shadow .xsbr {
194
+ width: 6px;
195
+ height: 6px;
196
+ float: left;
197
+ }
198
+
199
+
200
+ .x-shadow .xsc {
201
+ width: 100%;
202
+ }
203
+
204
+ .x-shadow .xsml, .x-shadow .xsmr {
205
+ width: 6px;
206
+ float: left;
207
+ height: 100%;
208
+ }
209
+
210
+ .x-shadow .xsmc {
211
+ float: left;
212
+ height: 100%;
213
+ background: transparent url( ../images/default/shadow-c.png );
214
+ }
215
+
216
+ .x-shadow .xst, .x-shadow .xsb {
217
+ height: 6px;
218
+ overflow: hidden;
219
+ width: 100%;
220
+ }
221
+
222
+ .x-shadow .xsml {
223
+ background: transparent url( ../images/default/shadow-lr.png ) repeat-y 0 0;
224
+ }
225
+
226
+ .x-shadow .xsmr {
227
+ background: transparent url( ../images/default/shadow-lr.png ) repeat-y -6px 0;
228
+ }
229
+
230
+ .x-shadow .xstl {
231
+ background: transparent url( ../images/default/shadow.png ) no-repeat 0 0;
232
+ }
233
+
234
+ .x-shadow .xstc {
235
+ background: transparent url( ../images/default/shadow.png ) repeat-x 0 -30px;
236
+ }
237
+
238
+ .x-shadow .xstr {
239
+ background: transparent url( ../images/default/shadow.png ) repeat-x 0 -18px;
240
+ }
241
+
242
+ .x-shadow .xsbl {
243
+ background: transparent url( ../images/default/shadow.png ) no-repeat 0 -12px;
244
+ }
245
+
246
+ .x-shadow .xsbc {
247
+ background: transparent url( ../images/default/shadow.png ) repeat-x 0 -36px;
248
+ }
249
+
250
+ .x-shadow .xsbr {
251
+ background: transparent url( ../images/default/shadow.png ) repeat-x 0 -6px;
252
+ }
253
+
254
+ .loading-indicator {
255
+ font-size: 11px;
256
+ background-image: url( '../images/default/grid/loading.gif' );
257
+ background-repeat: no-repeat;
258
+ background-position: left;
259
+ padding-left: 20px;
260
+ line-height: 16px;
261
+ margin: 3px;
262
+ }
263
+
264
+ .x-text-resize {
265
+ position: absolute;
266
+ left: -1000px;
267
+ top: -1000px;
268
+ visibility: hidden;
269
+ zoom: 1;
270
+ }
271
+
272
+ .x-drag-overlay {
273
+ width: 100%;
274
+ height: 100%;
275
+ display: none;
276
+ position: absolute;
277
+ left: 0;
278
+ top: 0;
279
+ background: white;
280
+ z-index: 20000;
281
+ -moz-opacity: 0;
282
+ opacity: 0;
283
+ filter: alpha(opacity=0);
284
+ }
285
+
286
+ .x-clear {
287
+ clear:both;
288
+ height:0;
289
+ overflow:hidden;
290
+ line-height:0;
291
+ font-size:0;
292
+ }
293
+ .x-tabs-wrap {
294
+ border-bottom:1px solid #6593cf;
295
+ padding-top:2px;
296
+ }
297
+ .x-tabs-strip-wrap{
298
+ width:100%;
299
+ }
300
+ .x-tabs-wrap table{
301
+ position:relative;
302
+ top:0; left:0;
303
+ }
304
+ .x-tabs-strip td{
305
+ padding:0;
306
+ padding-left:2px;
307
+ }
308
+ .x-tabs-strip a, .x-tabs-strip span, .x-tabs-strip em {
309
+ display:block;
310
+ }
311
+ .x-tabs-strip a {
312
+ text-decoration:none !important;
313
+ -moz-outline: none;
314
+ outline: none;
315
+ cursor:pointer;
316
+ }
317
+ .x-tabs-strip .x-tabs-text {
318
+ /*font:bold 11px tahoma,arial,helvetica; */
319
+ color:#666;
320
+ overflow:hidden;
321
+ white-space: nowrap;
322
+ cursor:pointer;
323
+ text-overflow: ellipsis;
324
+ }
325
+ .x-tabs-strip .on .x-tabs-text {
326
+ cursor:default;
327
+ color:#083772;
328
+ }
329
+ .x-tabs-strip .disabled .x-tabs-text {
330
+ cursor:default;
331
+ color:#aaaaaa;
332
+ }
333
+ .x-tabs-strip .x-tabs-inner {
334
+ padding:4px 10px;
335
+ }
336
+
337
+ .x-tabs-strip .on .x-tabs-right {
338
+ background: url(../images/default/tabs/tab-sprite.gif) no-repeat right 0;
339
+ }
340
+ .x-tabs-strip .on .x-tabs-left {
341
+ background: url(../images/default/tabs/tab-sprite.gif) no-repeat 0 -100px;
342
+ }
343
+ .x-tabs-strip .x-tabs-right {
344
+ background: url(../images/default/tabs/tab-sprite.gif) no-repeat right -50px;
345
+ }
346
+ .x-tabs-strip .x-tabs-left {
347
+ background: url(../images/default/tabs/tab-sprite.gif) no-repeat 0 -150px;
348
+ }
349
+
350
+ .x-tabs-strip a {
351
+ position:relative;
352
+ top:1px; left:0;
353
+ }
354
+ .x-tabs-strip .on a {
355
+ position:relative;
356
+ }
357
+ .x-tabs-strip .on .x-tabs-inner {
358
+ padding-bottom:5px;
359
+ }
360
+
361
+ .x-tabs-strip .x-tabs-closable .x-tabs-inner{
362
+ padding-right:22px;
363
+ position:relative;
364
+ }
365
+ .x-tabs-strip .x-tabs-closable .close-icon{
366
+ line-height: 1px;
367
+ font-size:1px;
368
+ background-image:url(../images/default/layout/tab-close.gif);
369
+ display:block;
370
+ position:absolute;
371
+ right:5px;top:4px;
372
+ width:11px;height:11px;
373
+ cursor:pointer;
374
+ }
375
+ .x-tabs-strip .on .close-icon{
376
+ background-image:url(../images/default/layout/tab-close-on.gif);
377
+ }
378
+ .x-tabs-strip .x-tabs-closable .close-over{
379
+ background-image:url(../images/default/layout/tab-close-on.gif);
380
+ }
381
+ .x-tabs-body {
382
+ border:1px solid #6593cf;
383
+ border-top:0 none;
384
+ }
385
+ .x-tabs-bottom .x-tabs-wrap {
386
+ border-top:1px solid #6593cf;
387
+ border-bottom:0 none;
388
+ padding-top:0;
389
+ padding-bottom:2px;
390
+ }
391
+ .x-tabs-bottom .x-tabs-strip .x-tabs-right {
392
+ background: url(../images/default/tabs/tab-btm-inactive-right-bg.gif) no-repeat bottom left;
393
+ }
394
+ .x-tabs-bottom .x-tabs-strip .x-tabs-left {
395
+ background: url(../images/default/tabs/tab-btm-inactive-left-bg.gif) no-repeat bottom right;
396
+ }
397
+ .x-tabs-bottom .x-tabs-strip .on .x-tabs-right {
398
+ background: url(../images/default/tabs/tab-btm-right-bg.gif) no-repeat bottom left;
399
+ }
400
+ .x-tabs-bottom .x-tabs-strip .on .x-tabs-left {
401
+ background: url(../images/default/tabs/tab-btm-left-bg.gif) no-repeat bottom right;
402
+ }
403
+ .x-tabs-bottom .x-tabs-strip a {
404
+ position:relative;
405
+ top:0; left:0;
406
+ }
407
+ .x-tabs-bottom .x-tabs-strip .on a {
408
+ margin-top:-1px;
409
+ }
410
+ .x-tabs-bottom .x-tabs-strip .on .x-tabs-inner {
411
+ padding-top:5px;
412
+ }
413
+
414
+ .x-tabs-bottom .x-tabs-body {
415
+ border:1px solid #6593cf;
416
+ border-bottom:0 none;
417
+ }
418
+
419
+ .x-form-field{ margin: 0 0 0 0; /* font:normal 12px tahoma, arial, helvetica, sans-serif;*/}.x-form-text, textarea.x-form-field{ padding: 1px 3px; background:#fff url(../images/default/form/text-bg.gif) repeat-x 0 0; border: 1px solid #B5B8C8;}.x-form-text { height:22px; line-height:18px; vertical-align:middle;}.ext-ie .x-form-text { margin-top:-1px; margin-bottom:-1px; height:22px; line-height:18px;}.ext-strict .x-form-text { height:18px;}.ext-safari .x-form-text { height:20px; }.ext-gecko .x-form-text { padding-top:2px; padding-bottom:0;}.x-form-select-one { height:20px; line-height:18px; vertical-align:middle; background-color:#fff; border: 1px solid #B5B8C8;}.x-form-field-wrap { position:relative; zoom:1; white-space: nowrap;}.x-editor .x-form-check-wrap { background:#fff;}.x-form-field-wrap .x-form-trigger{ width:17px; height:21px; border:0; background:transparent url(../images/default/form/trigger.gif) no-repeat 0 0; cursor:pointer; border-bottom: 1px solid #B5B8C8; position:absolute; top:0;}.ext-safari .x-form-field-wrap .x-form-trigger{ height:19px; }.x-form-field-wrap .x-form-clear-trigger{ background-image: url(../images/default/form/clear-trigger.gif); cursor:pointer;}.x-form-field-wrap .x-form-search-trigger{ background-image: url(../images/default/form/search-trigger.gif); cursor:pointer;}.ext-safari .x-form-field-wrap .x-form-trigger{ right:0;}.x-form-field-wrap .x-form-twin-triggers{ }.x-form-field-wrap .x-form-twin-triggers .x-form-trigger{ position:static; top:auto; vertical-align:top;}.x-form-field-wrap .x-form-trigger-over{ background-position:-17px 0;}.x-form-field-wrap .x-form-trigger-click{ background-position:-34px 0;}.x-trigger-wrap-focus .x-form-trigger{ background-position:-51px 0;}.x-trigger-wrap-focus .x-form-trigger-over{ background-position:-68px 0;}.x-trigger-wrap-focus .x-form-trigger-click{ background-position:-85px 0;}.x-trigger-wrap-focus .x-form-trigger{ border-bottom: 1px solid #7eadd9;}.x-item-disabled .x-form-trigger-over{ background-position:0 0 !important; border-bottom: 1px solid #B5B8C8;}.x-item-disabled .x-form-trigger-click{ background-position:0 0 !important; border-bottom: 1px solid #B5B8C8;}.x-form-focus, textarea.x-form-focus{ border: 1px solid #7eadd9;}.x-form-invalid, textarea.x-form-invalid{ background:#fff url(../images/default/grid/invalid_line.gif) repeat-x bottom; border: 1px solid #dd7870;}.ext-safari .x-form-invalid{ background-color:#ffeeee; border: 1px solid #ff7870;}.x-editor { visibility:hidden; padding:0; margin:0;}.x-form-check-wrap { line-height:18px;}.ext-ie .x-form-check-wrap input { width:15px; height:15px;}.x-editor .x-form-check-wrap { padding:3px;}.x-editor .x-form-checkbox { height:13px; border: 0 none;}.x-form-grow-sizer { /* font:normal 12px tahoma, arial, helvetica, sans-serif;*/ left: -10000px; padding: 8px 3px; position: absolute; visibility:hidden; top: -10000px; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word; zoom:1;}.x-form-grow-sizer p { margin:0 !important; border:0 none !important; padding:0 !important;}.x-form-item { /*font:normal 12px tahoma, arial, helvetica, sans-serif; */ display:block; margin-bottom:4px;}.x-form-item label { display:block; float:left; width:100px; padding:3px; padding-left:0; clear:left; z-index:2; position:relative;}.x-form-element { padding-left:105px; position:relative;}.x-form-invalid-msg { color:#ee0000; padding:2px; padding-left:18px; /* font:normal 11px tahoma, arial, helvetica, sans-serif; */ background: transparent url(../images/default/shared/warning.gif) no-repeat 0 2px; line-height:16px; width:200px;}.x-form-label-right label { text-align:right;}.x-form-label-top .x-form-item label { width:auto; float:none; clear:none; display:inline; margin-bottom:4px; position:static;}.x-form-label-top .x-form-element { padding-left:0; padding-top:4px;}.x-form-label-top .x-form-item { padding-bottom:4px;}.x-form fieldset { border:1px solid #B5B8C8; padding:10px 10px 5px 10px; margin-bottom:10px;}.x-form fieldset legend { /* font:bold 11px tahoma, arial, helvetica, sans-serif; */color:#15428b;}.ext-ie .x-form fieldset legend { margin-bottom:10px;}.ext-ie .x-form fieldset { padding-top: 0;}.x-form-empty-field { color:gray;}.x-small-editor .x-form-field { /* font:normal 11px arial, tahoma, helvetica, sans-serif; */}.x-small-editor .x-form-text { height:20px; line-height:16px; vertical-align:middle;}.ext-ie .x-small-editor .x-form-text { margin-top:-1px !important; margin-bottom:-1px !important; height:20px !important; line-height:16px !important;}.ext-strict .x-small-editor .x-form-text { height:16px !important;}.ext-safari .x-small-editor .x-form-field { /* font:normal 12px arial, tahoma, helvetica, sans-serif; */}.ext-ie .x-small-editor .x-form-text { height:20px; line-height:16px;}.ext-border-box .x-small-editor .x-form-text { height:20px;}.x-small-editor .x-form-select-one { height:20px; line-height:16px; vertical-align:middle;}.x-small-editor .x-form-num-field { text-align:right;}.x-small-editor .x-form-field-wrap .x-form-trigger{ height:19px;}.x-form-clear { clear:both; height:0; overflow:hidden; line-height:0; font-size:0;}.x-form-clear-left { clear:left; height:0; overflow:hidden; line-height:0; font-size:0;}.x-form-cb-label { width:'auto' !important; float:none !important; clear:none !important; display:inline !important; margin-left:4px;}.x-form-column { float:left; padding:0; margin:0; width:48%; overflow:hidden; zoom:1;}.x-form .x-form-btns-ct .x-btn{ float:right; clear:none;}.x-form .x-form-btns-ct .x-form-btns td { border:0; padding:0;}.x-form .x-form-btns-ct .x-form-btns-right table{ float:right; clear:none;}.x-form .x-form-btns-ct .x-form-btns-left table{ float:left; clear:none;}.x-form .x-form-btns-ct .x-form-btns-center{ text-align:center; }.x-form .x-form-btns-ct .x-form-btns-center table{ margin:0 auto; }.x-form .x-form-btns-ct table td.x-form-btn-td{ padding:3px;}.x-form .x-form-btns-ct .x-btn-focus .x-btn-left{ background-position:0 -147px;}.x-form .x-form-btns-ct .x-btn-focus .x-btn-right{ background-position:0 -168px;}.x-form .x-form-btns-ct .x-btn-focus .x-btn-center{ background-position:0 -189px;}.x-form .x-form-btns-ct .x-btn-click .x-btn-center{ background-position:0 -126px;}.x-form .x-form-btns-ct .x-btn-click .x-btn-right{ background-position:0 -84px;}.x-form .x-form-btns-ct .x-btn-click .x-btn-left{ background-position:0 -63px;}.x-form-invalid-icon { width:16px; height:18px; visibility:hidden; position:absolute; left:0; top:0; display:block; background:transparent url(../images/default/form/exclamation.gif) no-repeat 0 2px;}.x-btn{
420
+ /*font:normal 11px tahoma, verdana, helvetica; */
421
+ cursor:pointer;
422
+ white-space: nowrap;
423
+ }
424
+ .x-btn button{
425
+ border:0 none;
426
+ background:transparent;
427
+ /* font:normal 11px tahoma,verdana,helvetica; */
428
+ padding-left:3px;
429
+ padding-right:3px;
430
+ cursor:pointer;
431
+ margin:0;
432
+ overflow:visible;
433
+ width:auto;
434
+ -moz-outline:0 none;
435
+ outline:0 none;
436
+ }
437
+ * html .ext-ie .x-btn button {
438
+ width:1px;
439
+ }
440
+ .ext-gecko .x-btn button {
441
+ padding-left:0;
442
+ padding-right:0;
443
+ }
444
+ .ext-ie .x-btn button {
445
+ padding-top:2px;
446
+ }
447
+
448
+
449
+ .x-btn-icon .x-btn-center .x-btn-text{
450
+ background-position: center;
451
+ background-repeat: no-repeat;
452
+ height: 16px;
453
+ width: 16px;
454
+ cursor:pointer;
455
+ white-space: nowrap;
456
+ padding:0;
457
+ }
458
+ .x-btn-icon .x-btn-center{
459
+ padding:1px;
460
+ }
461
+ .x-btn em {
462
+ font-style:normal;
463
+ font-weight:normal;
464
+ }
465
+
466
+
467
+ .x-btn-text-icon .x-btn-center .x-btn-text{
468
+ background-position: 0 2px;
469
+ background-repeat: no-repeat;
470
+ padding-left:18px;
471
+ padding-top:3px;
472
+ padding-bottom:3px;
473
+ padding-right:0;
474
+ }
475
+
476
+ .x-btn-left, .x-btn-right{
477
+ font-size:1px;
478
+ line-height:1px;
479
+ }
480
+ .x-btn-left{
481
+ width:3px;
482
+ height:21px;
483
+ background:url(../images/default/basic-dialog/btn-sprite.gif) no-repeat 0 0;
484
+ }
485
+ .x-btn-right{
486
+ width:3px;
487
+ height:21px;
488
+ background:url(../images/default/basic-dialog/btn-sprite.gif) no-repeat 0 -21px;
489
+ }
490
+ .x-btn-left i, .x-btn-right i{
491
+ display:block;
492
+ width:3px;
493
+ overflow:hidden;
494
+ font-size:1px;
495
+ line-height:1px;
496
+ }
497
+ .x-btn-center{
498
+ background:url(../images/default/basic-dialog/btn-sprite.gif) repeat-x 0 -42px;
499
+ vertical-align: middle;
500
+ text-align:center;
501
+ padding:0 5px;
502
+ cursor:pointer;
503
+ white-space:nowrap;
504
+ }
505
+ .x-btn-over .x-btn-left{
506
+ background-position:0 -63px;
507
+ }
508
+ .x-btn-over .x-btn-right{
509
+ background-position:0 -84px;
510
+ }
511
+ .x-btn-over .x-btn-center{
512
+ background-position:0 -105px;
513
+ }
514
+ .x-btn-click .x-btn-center, .x-btn-menu-active .x-btn-center{
515
+ background-position:0 -126px;
516
+ }
517
+ .x-btn-disabled *{
518
+ color:gray !important;
519
+ cursor:default !important;
520
+ }
521
+ .x-btn-menu-text-wrap .x-btn-center {
522
+ padding:0 3px;
523
+ }
524
+ .ext-gecko .x-btn-menu-text-wrap .x-btn-center {
525
+ padding:0 1px;
526
+ }
527
+ .x-btn-menu-arrow-wrap .x-btn-center {
528
+ padding:0;
529
+ }
530
+ .x-btn-menu-arrow-wrap .x-btn-center button {
531
+ width:12px !important;
532
+ height:21px;
533
+ padding:0 !important;
534
+ display:block;
535
+ background:transparent url(../images/default/basic-dialog/btn-arrow.gif) no-repeat left 3px;
536
+ }
537
+ .x-btn-with-menu .x-btn-center {
538
+ padding-right:2px !important;
539
+ }
540
+ .x-btn-with-menu .x-btn-center em {
541
+ display:block;
542
+ background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat right 0;
543
+ padding-right:10px;
544
+ }
545
+
546
+ .x-btn-text-icon .x-btn-with-menu .x-btn-center em {
547
+ display:block;
548
+ background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat right 3px;
549
+ padding-right:10px;
550
+ }.x-toolbar{
551
+ border-top: 1px solid #eaf0f7;
552
+ border-bottom: 1px solid #a9bfd3;
553
+ display: block;
554
+ padding:2px;
555
+ background:#d0def0 url(../images/default/layout/panel-title-light-bg.gif) repeat-x;
556
+ position:relative;
557
+ }
558
+ .x-toolbar .x-item-disabled .x-btn-icon {
559
+ opacity: .35;
560
+ -moz-opacity: .35;
561
+ filter: alpha(opacity=35);
562
+ }
563
+ .x-toolbar td {
564
+ vertical-align:middle;
565
+ }
566
+ .mso .x-toolbar, .x-grid-mso .x-toolbar{
567
+ border: 0 none;
568
+ background: url(../images/default/grid/mso-hd.gif);
569
+ }
570
+ .x-toolbar td, .x-toolbar span, .x-toolbar input, .x-toolbar div, .x-toolbar select, .x-toolbar label{
571
+ white-space: nowrap;
572
+ /* font:normal 11px tahoma, arial, helvetica, sans-serif; */
573
+ }
574
+ .x-toolbar .x-item-disabled {
575
+ color:gray;
576
+ cursor:default;
577
+ opacity:.6;
578
+ -moz-opacity:.6;
579
+ filter:alpha(opacity=60);
580
+ }
581
+ .x-toolbar .x-item-disabled * {
582
+ color:gray;
583
+ cursor:default;
584
+ }
585
+ .x-toolbar .x-btn-left{
586
+ background:none;
587
+ }
588
+ .x-toolbar .x-btn-right{
589
+ background:none;
590
+ }
591
+ .x-toolbar .x-btn-center{
592
+ background:none;
593
+ padding:0 0;
594
+ }
595
+
596
+ .x-toolbar .x-btn-menu-text-wrap .x-btn-center button{
597
+ padding-right:2px;
598
+ }
599
+ .ext-gecko .x-toolbar .x-btn-menu-text-wrap .x-btn-center button{
600
+ padding-right:0;
601
+ }
602
+ .x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button{
603
+ padding:0 2px;
604
+ }
605
+ .x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button {
606
+ width:12px;
607
+ background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat 0 3px;
608
+ }
609
+ .x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button {
610
+ width:12px;
611
+ background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat 0 3px;
612
+ }
613
+ .x-toolbar .x-btn-over .x-btn-menu-arrow-wrap .x-btn-center button {
614
+ background-position: 0 -47px;
615
+ }
616
+ .x-toolbar .x-btn-over .x-btn-left{
617
+ background:url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 0;
618
+ }
619
+ .x-toolbar .x-btn-over .x-btn-right{
620
+ background:url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -21px;
621
+ }
622
+ .x-toolbar .x-btn-over .x-btn-center{
623
+ background:url(../images/default/toolbar/tb-btn-sprite.gif) repeat-x 0 -42px;
624
+ }
625
+
626
+ .x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
627
+ background:url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -63px;
628
+ }
629
+ .x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
630
+ background:url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -84px;
631
+ }
632
+ .x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
633
+ background:url(../images/default/toolbar/tb-btn-sprite.gif) repeat-x 0 -105px;
634
+ }
635
+
636
+ .x-toolbar .x-btn-with-menu .x-btn-center em{
637
+ padding-right:8px;
638
+ }
639
+
640
+ .x-toolbar .ytb-text{
641
+ padding:2px;
642
+ }
643
+ .x-toolbar .ytb-sep {
644
+ background-image: url(../images/default/grid/grid-split.gif);
645
+ background-position: center;
646
+ background-repeat: no-repeat;
647
+ display: block;
648
+ font-size: 1px;
649
+ height: 16px;
650
+ width:4px;
651
+ overflow: hidden;
652
+ cursor:default;
653
+ margin: 0 2px 0;
654
+ border:0;
655
+ }
656
+ .x-toolbar .ytb-spacer {
657
+ width:2px;
658
+ }
659
+ .mso .x-toolbar .ytb-sep, .x-grid-mso .x-toolbar .ytb-sep{
660
+ background-image: url(../images/default/grid/grid-blue-split.gif);
661
+ }
662
+
663
+
664
+ .ext-ie .x-toolbar .x-form-field-wrap {
665
+ padding-bottom:1px;
666
+ }
667
+ .ext-ie .x-toolbar .x-form-field-wrap .x-form-trigger {
668
+ top:1px;
669
+ }
670
+ .ext-ie .x-toolbar .x-form-field-wrap .x-form-twin-triggers img {
671
+ margin-top:1px;
672
+ }
673
+
674
+
675
+
676
+ .x-grid-page-number{
677
+ width:24px;
678
+ height:14px;
679
+ }
680
+ .x-grid-page-first .x-btn-text{
681
+ background-image: url(../images/default/grid/page-first.gif);
682
+ }
683
+ .x-grid-loading .x-btn-text{
684
+ background-image: url(../images/default/grid/done.gif);
685
+ }
686
+ .x-grid-page-last .x-btn-text{
687
+ background-image: url(../images/default/grid/page-last.gif);
688
+ }
689
+ .x-grid-page-next .x-btn-text{
690
+ background-image: url(../images/default/grid/page-next.gif);
691
+ }
692
+ .x-grid-page-prev .x-btn-text{
693
+ background-image: url(../images/default/grid/page-prev.gif);
694
+ }
695
+ .x-item-disabled .x-grid-loading .x-btn-text{
696
+ background-image: url(../images/default/grid/loading.gif);
697
+ }
698
+ .x-item-disabled .x-grid-page-first .x-btn-text{
699
+ background-image: url(../images/default/grid/page-first-disabled.gif);
700
+ }
701
+ .x-item-disabled .x-grid-page-last .x-btn-text{
702
+ background-image: url(../images/default/grid/page-last-disabled.gif);
703
+ }
704
+ .x-item-disabled .x-grid-page-next .x-btn-text{
705
+ background-image: url(../images/default/grid/page-next-disabled.gif);
706
+ }
707
+ .x-item-disabled .x-grid-page-prev .x-btn-text{
708
+ background-image: url(../images/default/grid/page-prev-disabled.gif);
709
+ }
710
+ .x-paging-info {
711
+ position:absolute;
712
+ top:8px;
713
+ right: 8px;
714
+ color:#15428b;
715
+ }
716
+ .x-resizable-handle {
717
+ position:absolute;
718
+ z-index:100;
719
+
720
+ font-size:1px;
721
+ line-height:6px;
722
+ overflow:hidden;
723
+ background:white;
724
+ filter:alpha(opacity=0);
725
+ opacity:0;
726
+ zoom:1;
727
+ }
728
+ .x-resizable-handle-east{
729
+ width:6px;
730
+ cursor:e-resize;
731
+ right:0;
732
+ top:0;
733
+ height:100%;
734
+ }
735
+ .ext-ie .x-resizable-handle-east {
736
+ margin-right:-1px;
737
+ }
738
+ .x-resizable-handle-south{
739
+ width:100%;
740
+ cursor:s-resize;
741
+ left:0;
742
+ bottom:0;
743
+ height:6px;
744
+ }
745
+ .ext-ie .x-resizable-handle-south {
746
+ margin-bottom:-1px;
747
+ }
748
+ .x-resizable-handle-west{
749
+ width:6px;
750
+ cursor:w-resize;
751
+ left:0;
752
+ top:0;
753
+ height:100%;
754
+ }
755
+ .x-resizable-handle-north{
756
+ width:100%;
757
+ cursor:n-resize;
758
+ left:0;
759
+ top:0;
760
+ height:6px;
761
+ }
762
+ .x-resizable-handle-southeast{
763
+ width:6px;
764
+ cursor:se-resize;
765
+ right:0;
766
+ bottom:0;
767
+ height:6px;
768
+ z-index:101;
769
+ }
770
+ .x-resizable-handle-northwest{
771
+ width:6px;
772
+ cursor:nw-resize;
773
+ left:0;
774
+ top:0;
775
+ height:6px;
776
+ z-index:101;
777
+ }
778
+ .x-resizable-handle-northeast{
779
+ width:6px;
780
+ cursor:ne-resize;
781
+ right:0;
782
+ top:0;
783
+ height:6px;
784
+ z-index:101;
785
+ }
786
+ .x-resizable-handle-southwest{
787
+ width:6px;
788
+ cursor:sw-resize;
789
+ left:0;
790
+ bottom:0;
791
+ height:6px;
792
+ z-index:101;
793
+ }
794
+ .x-resizable-over .x-resizable-handle, .x-resizable-pinned .x-resizable-handle{
795
+ filter:alpha(opacity=100);
796
+ opacity:1;
797
+ }
798
+ .x-resizable-over .x-resizable-handle-east, .x-resizable-pinned .x-resizable-handle-east{
799
+ background:url(../images/default/sizer/e-handle.gif);
800
+ background-position: left;
801
+ }
802
+ .x-resizable-over .x-resizable-handle-west, .x-resizable-pinned .x-resizable-handle-west{
803
+ background:url(../images/default/sizer/e-handle.gif);
804
+ background-position: left;
805
+ }
806
+ .x-resizable-over .x-resizable-handle-south, .x-resizable-pinned .x-resizable-handle-south{
807
+ background:url(../images/default/sizer/s-handle.gif);
808
+ background-position: top;
809
+ }
810
+ .x-resizable-over .x-resizable-handle-north, .x-resizable-pinned .x-resizable-handle-north{
811
+ background:url(../images/default/sizer/s-handle.gif);
812
+ background-position: top;
813
+ }
814
+ .x-resizable-over .x-resizable-handle-southeast, .x-resizable-pinned .x-resizable-handle-southeast{
815
+ background:url(../images/default/sizer/se-handle.gif);
816
+ background-position: top left;
817
+ }
818
+ .x-resizable-over .x-resizable-handle-northwest, .x-resizable-pinned .x-resizable-handle-northwest{
819
+ background:url(../images/default/sizer/nw-handle.gif);
820
+ background-position:bottom right;
821
+ }
822
+ .x-resizable-over .x-resizable-handle-northeast, .x-resizable-pinned .x-resizable-handle-northeast{
823
+ background:url(../images/default/sizer/ne-handle.gif);
824
+ background-position: bottom left;
825
+ }
826
+ .x-resizable-over .x-resizable-handle-southwest, .x-resizable-pinned .x-resizable-handle-southwest{
827
+ background:url(../images/default/sizer/sw-handle.gif);
828
+ background-position: top right;
829
+ }
830
+ .x-resizable-proxy{
831
+ border: 1px dashed #6593cf;
832
+ position:absolute;
833
+ overflow:hidden;
834
+ display:none;
835
+ left:0;top:0;
836
+ z-index:50000;
837
+ }
838
+ .x-resizable-overlay{
839
+ width:100%;
840
+ height:100%;
841
+ display:none;
842
+ position:absolute;
843
+ left:0;
844
+ top:0;
845
+ background:white;
846
+ z-index:200000;
847
+ -moz-opacity: 0;
848
+ opacity:0;
849
+ filter: alpha(opacity=0);
850
+ }
851
+
852
+ .x-grid {
853
+ position:relative;
854
+ overflow:hidden;
855
+ background-color:#fff;
856
+ }
857
+ .x-grid-scroller {
858
+ overflow:auto;
859
+ }
860
+ .x-grid-viewport, .x-grid-locked{
861
+ position:absolute;
862
+ left:0; top: 0;
863
+ z-index:2;
864
+ overflow:hidden;
865
+ visibility:hidden;
866
+ }
867
+ .x-grid-cell-inner, .x-grid-hd-inner{
868
+ overflow:hidden;
869
+ -o-text-overflow: ellipsis;
870
+ text-overflow: ellipsis;
871
+ }
872
+ .x-grid-hd-row td, .x-grid-row td{
873
+ /* font:normal 11px arial, tahoma, helvetica, sans-serif; */
874
+ line-height:13px;
875
+ white-space: nowrap;
876
+ vertical-align: top;
877
+ -moz-outline: none;
878
+ -moz-user-focus: normal;
879
+ }
880
+ .x-grid-hd-row td {
881
+ line-height:14px;
882
+ }
883
+ .x-grid-col {
884
+ border-right: 1px solid #ebebeb;
885
+ border-bottom: 1px solid #ebebeb;
886
+ }
887
+
888
+
889
+ .x-grid-locked .x-grid-body td {
890
+ background-color: #FBFDFF;
891
+ border-right: 1px solid #deecfd;
892
+ border-bottom: 1px solid #deecfd !important;
893
+ }
894
+ .x-grid-locked .x-grid-body td .x-grid-cell-inner {
895
+ border-top:0 none;
896
+ }
897
+ .x-grid-locked .x-grid-row-alt td{
898
+ background-color: #F5FAFE;
899
+ }
900
+
901
+ .x-grid-locked .x-grid-header table{
902
+ border-right:1px solid transparent;
903
+ }
904
+ .x-grid-locked .x-grid-body table{
905
+ border-right:1px solid #c3daf9;
906
+ }
907
+
908
+ .x-grid-locked .x-grid-body td .x-grid-cell-inner {
909
+
910
+ }
911
+ .x-grid-row {
912
+ cursor: default;
913
+ }
914
+ .x-grid-row-alt{
915
+ background-color:#f1f1f1;
916
+ }
917
+ .x-grid-row-over td{
918
+ background-color:#d9e8fb;
919
+ }
920
+ .x-grid-resize-proxy {
921
+ width:3px;
922
+ background-color:#cccccc;
923
+ cursor: e-resize;
924
+ cursor: col-resize;
925
+ position:absolute;
926
+ top:0;
927
+ height:100px;
928
+ overflow:hidden;
929
+ visibility:hidden;
930
+ border:0 none;
931
+ z-index:7;
932
+ }
933
+ .x-grid-focus {
934
+ position:absolute;
935
+ top:0;
936
+ -moz-outline:0 none;
937
+ outline:0 none;
938
+ -moz-user-select: normal;
939
+ -khtml-user-select: normal;
940
+ }
941
+
942
+
943
+ .x-grid-header{
944
+ background: #ebeadb url(../images/default/grid/grid-hrow.gif) repeat-x;
945
+ overflow:hidden;
946
+ position:relative;
947
+ cursor:default;
948
+ width:100%;
949
+ }
950
+ .x-grid-hd-row{
951
+ height:22px;
952
+ }
953
+ .x-grid-hd {
954
+ padding-right:1px;
955
+ }
956
+ .x-grid-hd-over .x-grid-hd-inner {
957
+ border-bottom: 1px solid #c3daf9;
958
+ }
959
+ .x-grid-hd-over .x-grid-hd-text {
960
+ background: #fafafa url(../images/default/grid/grid-hrow.gif) repeat-x 0 1px;
961
+ padding-bottom:1px;
962
+ border-bottom: 1px solid #b3cae9;
963
+ }
964
+ .x-grid-sort-icon{
965
+ background-repeat: no-repeat;
966
+ display: none;
967
+ height: 4px;
968
+ width: 13px;
969
+ margin-left:3px;
970
+ vertical-align: middle;
971
+ }
972
+ .x-grid-header .sort-asc .x-grid-sort-icon {
973
+ background-image: url(../images/default/grid/sort_asc.gif);
974
+ display: inline;
975
+ }
976
+ .x-grid-header .sort-desc .x-grid-sort-icon {
977
+ background-image: url(../images/default/grid/sort_desc.gif);
978
+ display: inline;
979
+ }
980
+
981
+
982
+ .x-grid-body {
983
+ overflow:hidden;
984
+ position:relative;
985
+ width:100%;
986
+ zoom:1;
987
+ }
988
+
989
+ .x-grid-cell-text,.x-grid-hd-text {
990
+ display: block;
991
+ padding: 3px 5px 3px 5px;
992
+ -moz-user-select: none;
993
+ -khtml-user-select: none;
994
+ color:black;
995
+ }
996
+ .x-grid-hd-text {
997
+ padding-top:4px;
998
+ }
999
+ .x-grid-split {
1000
+ background-image: url(../images/default/grid/grid-split.gif);
1001
+ background-position: center;
1002
+ background-repeat: no-repeat;
1003
+ cursor: e-resize;
1004
+ cursor: col-resize;
1005
+ display: block;
1006
+ font-size: 1px;
1007
+ height: 16px;
1008
+ overflow: hidden;
1009
+ position: absolute;
1010
+ top: 2px;
1011
+ width: 6px;
1012
+ z-index: 3;
1013
+ }
1014
+
1015
+ .x-grid-hd-text {
1016
+ color:#15428b;
1017
+ }
1018
+
1019
+ .x-dd-drag-proxy .x-grid-hd-inner{
1020
+ background: #ebeadb url(../images/default/grid/grid-hrow.gif) repeat-x;
1021
+ height:22px;
1022
+ width:120px;
1023
+ }
1024
+
1025
+ .col-move-top, .col-move-bottom{
1026
+ width:9px;
1027
+ height:9px;
1028
+ position:absolute;
1029
+ top:0;
1030
+ line-height:1px;
1031
+ font-size:1px;
1032
+ overflow:hidden;
1033
+ visibility:hidden;
1034
+ z-index:20000;
1035
+ }
1036
+ .col-move-top{
1037
+ background:transparent url(../images/default/grid/col-move-top.gif) no-repeat left top;
1038
+ }
1039
+ .col-move-bottom{
1040
+ background:transparent url(../images/default/grid/col-move-bottom.gif) no-repeat left top;
1041
+ }
1042
+
1043
+
1044
+ .x-grid-row-selected td, .x-grid-locked .x-grid-row-selected td{
1045
+ background-color: #316ac5 !important;
1046
+ color: white;
1047
+ }
1048
+ .x-grid-row-selected span, .x-grid-row-selected b, .x-grid-row-selected div, .x-grid-row-selected strong, .x-grid-row-selected i{
1049
+ color: white !important;
1050
+ }
1051
+ .x-grid-row-selected .x-grid-cell-text{
1052
+ color: white;
1053
+ }
1054
+ .x-grid-cell-selected{
1055
+ background-color: #316ac5 !important;
1056
+ color: white;
1057
+ }
1058
+ .x-grid-cell-selected span{
1059
+ color: white !important;
1060
+ }
1061
+ .x-grid-cell-selected .x-grid-cell-text{
1062
+ color: white;
1063
+ }
1064
+
1065
+ .x-grid-locked td.x-grid-row-marker, .x-grid-locked .x-grid-row-selected td.x-grid-row-marker{
1066
+ background: #ebeadb url(../images/default/grid/grid-hrow.gif) repeat-x 0 bottom !important;
1067
+ vertical-align:middle !important;
1068
+ color:black;
1069
+ padding:0;
1070
+ border-top:1px solid white;
1071
+ border-bottom:none !important;
1072
+ border-right:1px solid #6fa0df !important;
1073
+ text-align:center;
1074
+ }
1075
+ .x-grid-locked td.x-grid-row-marker div, .x-grid-locked .x-grid-row-selected td.x-grid-row-marker div{
1076
+ padding:0 4px;
1077
+ color:#15428b !important;
1078
+ text-align:center;
1079
+ }
1080
+
1081
+
1082
+ .x-grid-dirty-cell {
1083
+ background: transparent url(../images/default/grid/dirty.gif) no-repeat 0 0;
1084
+ }
1085
+
1086
+
1087
+ .x-grid-topbar, .x-grid-bottombar{
1088
+ /* font:normal 11px arial, tahoma, helvetica, sans-serif; */
1089
+ overflow:hidden;
1090
+ display:none;
1091
+ zoom:1;
1092
+ position:relative;
1093
+ }
1094
+ .x-grid-topbar .x-toolbar{
1095
+ border-right:0 none;
1096
+ }
1097
+ .x-grid-bottombar .x-toolbar{
1098
+ border-right:0 none;
1099
+ border-bottom:0 none;
1100
+ border-top:1px solid #a9bfd3;
1101
+ }
1102
+
1103
+ .x-props-grid .x-grid-cell-selected .x-grid-cell-text{
1104
+ background-color: #316ac5 !important;
1105
+ }
1106
+ .x-props-grid .x-grid-col-value .x-grid-cell-text{
1107
+ background-color: white;
1108
+ }
1109
+ .x-props-grid .x-grid-col-name{
1110
+ background-color: #c3daf9;
1111
+ }
1112
+ .x-props-grid .x-grid-col-name .x-grid-cell-text{
1113
+ background-color: white;
1114
+ margin-left:10px;
1115
+ }
1116
+ .x-props-grid .x-grid-split-value {
1117
+ visibility:hidden;
1118
+ }
1119
+
1120
+
1121
+ .xg-hmenu-sort-asc .x-menu-item-icon{
1122
+ background-image: url(../images/default/grid/hmenu-asc.gif);
1123
+ }
1124
+ .xg-hmenu-sort-desc .x-menu-item-icon{
1125
+ background-image: url(../images/default/grid/hmenu-desc.gif);
1126
+ }
1127
+ .xg-hmenu-lock .x-menu-item-icon{
1128
+ background-image: url(../images/default/grid/hmenu-lock.gif);
1129
+ }
1130
+ .xg-hmenu-unlock .x-menu-item-icon{
1131
+ background-image: url(../images/default/grid/hmenu-unlock.gif);
1132
+ }
1133
+
1134
+
1135
+ .x-dd-drag-ghost .x-grid-dd-wrap {
1136
+ padding:1px 3px 3px 1px;
1137
+ }.x-layout-container{
1138
+ width:100%;
1139
+ height:100%;
1140
+ overflow:hidden;
1141
+ background-color:#c3daf9;
1142
+ }
1143
+ .x-layout-container .x-layout-tabs-body{
1144
+ border:0 none;
1145
+ }
1146
+ .x-layout-collapsed{
1147
+ position:absolute;
1148
+ left:-10000px;
1149
+ top:-10000px;
1150
+ visibility:hidden;
1151
+ background-color:#c3daf9;
1152
+ width:20px;
1153
+ height:20px;
1154
+ overflow:hidden;
1155
+ border:1px solid #98c0f4;
1156
+ z-index:20;
1157
+ }
1158
+ .ext-border-box .x-layout-collapsed{
1159
+ width:22px;
1160
+ height:22px;
1161
+ }
1162
+ .x-layout-collapsed-over{
1163
+ cursor:pointer;
1164
+ background-color:#d9e8fb;
1165
+ }
1166
+ .x-layout-collapsed-west .x-layout-collapsed-tools, .x-layout-collapsed-east .x-layout-collapsed-tools{
1167
+ position:absolute;
1168
+ top:0;
1169
+ left:0;
1170
+ width:20px;
1171
+ height:20px;
1172
+ }
1173
+ .x-layout-collapsed-north .x-layout-collapsed-tools, .x-layout-collapsed-south .x-layout-collapsed-tools{
1174
+ position:absolute;
1175
+ top:0;
1176
+ right:0;
1177
+ width:20px;
1178
+ height:20px;
1179
+ }
1180
+ .x-layout-collapsed .x-layout-tools-button{
1181
+ margin:0;
1182
+ }
1183
+ .x-layout-collapsed .x-layout-tools-button-inner{
1184
+ width:16px;
1185
+ height:16px;
1186
+ }
1187
+ .x-layout-inactive-content{
1188
+ position:absolute;
1189
+ left:-10000px;
1190
+ top:-10000px;
1191
+ visibility:hidden;
1192
+ }
1193
+ .x-layout-active-content{
1194
+ visibility:visible;
1195
+ }
1196
+ .x-layout-panel{
1197
+ position:absolute;border:1px solid #98c0f4;overflow:hidden;background-color:white;
1198
+ }
1199
+ .x-layout-panel-east, .x-layout-panel-west {
1200
+ z-index:10;
1201
+ }
1202
+ .x-layout-panel-north, .x-layout-panel-south {
1203
+ z-index:11;
1204
+ }
1205
+ .x-layout-collapsed-north, .x-layout-collapsed-south, .x-layout-collapsed-east, .x-layout-collapsed-west {
1206
+ z-index:12;
1207
+ }
1208
+ .x-layout-panel-body{
1209
+ overflow:hidden;
1210
+ }
1211
+ .x-layout-grid-wrapper{
1212
+
1213
+ }
1214
+ .x-layout-split{
1215
+ position:absolute;
1216
+ height:5px;
1217
+ width:5px;
1218
+ line-height:1px;
1219
+ font-size:1px;
1220
+ z-index:3;
1221
+ background-color:#c3daf9;
1222
+ }
1223
+ .x-layout-panel-hd{
1224
+ background-image: url(../images/default/layout/panel-title-light-bg.gif);
1225
+ color: black;
1226
+ border-bottom:1px solid #98c0f4;
1227
+ position:relative;
1228
+ }
1229
+ .x-layout-panel-hd-text{
1230
+ /*font:normal 11px tahoma, verdana, helvetica; */
1231
+ padding: 4px;
1232
+ padding-left: 4px;
1233
+ display:block;
1234
+ white-space:nowrap;
1235
+ }
1236
+ .x-layout-panel-hd-tools{
1237
+ position:absolute;
1238
+ right:0;
1239
+ top:0;
1240
+ text-align:right;
1241
+ padding-top:2px;
1242
+ padding-right:2px;
1243
+ width:60px;
1244
+ }
1245
+ .x-layout-tools-button{
1246
+ z-index:6;
1247
+ padding:2px;
1248
+ cursor:pointer;
1249
+ float:right;
1250
+ }
1251
+ .x-layout-tools-button-over{
1252
+ padding:1px;
1253
+ border:1px solid #98c0f4;
1254
+ background-color:white;
1255
+ }
1256
+ .x-layout-tools-button-inner{
1257
+ height:12px;
1258
+ width:12px;
1259
+ line-height:1px;
1260
+ font-size:1px;
1261
+ background-repeat:no-repeat;
1262
+ background-position:center;
1263
+ }
1264
+ .x-layout-close{
1265
+ background-image:url(../images/default/layout/panel-close.gif);
1266
+ }
1267
+ .x-layout-stick{
1268
+ background-image:url(../images/default/layout/stick.gif);
1269
+ }
1270
+ .x-layout-collapse-west,.x-layout-expand-east{
1271
+ background-image:url(../images/default/layout/collapse.gif);
1272
+ }
1273
+ .x-layout-expand-west,.x-layout-collapse-east{
1274
+ background-image:url(../images/default/layout/expand.gif);
1275
+ }
1276
+ .x-layout-collapse-north,.x-layout-expand-south{
1277
+ background-image:url(../images/default/layout/ns-collapse.gif);
1278
+ }
1279
+ .x-layout-expand-north,.x-layout-collapse-south{
1280
+ background-image:url(../images/default/layout/ns-expand.gif);
1281
+ }
1282
+ .x-layout-split-h{
1283
+ background-image:url(../images/default/sizer/e-handle.gif);
1284
+ background-position: left;
1285
+ }
1286
+ .x-layout-split-v{
1287
+ background-image:url(../images/default/sizer/s-handle.gif);
1288
+ background-position: top;
1289
+ }
1290
+ .x-layout-panel .x-tabs-wrap{
1291
+ background:url(../images/default/layout/gradient-bg.gif);
1292
+ }
1293
+ .x-layout-panel .x-tabs-body {
1294
+ background-color:white;
1295
+ overflow:auto;height:100%;
1296
+ }
1297
+ .x-layout-component-panel, .x-layout-nested-layout {
1298
+ position:relative;
1299
+ padding:0;
1300
+ overflow:hidden;
1301
+ width:200px;
1302
+ height:200px;
1303
+ }
1304
+ .x-layout-nested-layout .x-layout-panel {
1305
+ border:0 none;
1306
+ }
1307
+ .x-layout-nested-layout .x-layout-panel-north {
1308
+ border-bottom:1px solid #98c0f4;
1309
+ }
1310
+ .x-layout-nested-layout .x-layout-panel-south {
1311
+ border-top:1px solid #98c0f4;
1312
+ }
1313
+ .x-layout-nested-layout .x-layout-panel-east {
1314
+ border-left:1px solid #98c0f4;
1315
+ }
1316
+ .x-layout-nested-layout .x-layout-panel-west {
1317
+ border-right:1px solid #98c0f4;
1318
+ }
1319
+
1320
+ .x-layout-panel-dragover {
1321
+ border: 2px solid #6593cf;
1322
+ }
1323
+ .x-layout-panel-proxy {
1324
+ background-image: url(../images/default/layout/gradient-bg.gif);
1325
+ background-color:#c3daf9;
1326
+ border:1px dashed #6593cf;
1327
+ z-index:10001;
1328
+ overflow:hidden;
1329
+ position:absolute;
1330
+ left:0;top:0;
1331
+ }
1332
+ .x-layout-slider {
1333
+ z-index:15;
1334
+ overflow:hidden;
1335
+ position:absolute;
1336
+ }
1337
+
1338
+ .x-scroller-up, .x-scroller-down {
1339
+ background-color:#c3daf9;
1340
+ border: 1px solid #6593cf;
1341
+ border-top-color: #fff;
1342
+ border-left-color: #fff;
1343
+ border-right:0 none;
1344
+ cursor:pointer;
1345
+ overflow:hidden;
1346
+ line-height:16px;
1347
+ }
1348
+ .x-scroller-down {
1349
+ border-bottom: 0 none;
1350
+ border-top: 1px solid #6593cf;
1351
+ }
1352
+ .x-scroller-btn-over {
1353
+ background-color: #d9e8f8;
1354
+ }
1355
+ .x-scroller-btn-click {
1356
+ background-color: #AECEF7;
1357
+ }
1358
+ .x-scroller-btn-disabled {
1359
+ cursor:default;
1360
+ background-color: #c3daf9;
1361
+ -moz-opacity: 0.3;
1362
+ opacity:.30;
1363
+ filter: alpha(opacity=30);
1364
+ }
1365
+
1366
+
1367
+
1368
+ .x-reader .x-layout-panel-north {
1369
+ border:0 none;
1370
+ }
1371
+ .x-reader .x-layout-panel-center{
1372
+ border:0 none;
1373
+ }
1374
+ .x-reader .x-layout-nested-layout .x-layout-panel-center{
1375
+ border:1px solid #99bbe8;
1376
+ border-top:0 none;
1377
+ }
1378
+ .x-reader .x-layout-nested-layout .x-layout-panel-south{
1379
+ border:1px solid #99bbe8;
1380
+ }.x-dlg-proxy {
1381
+ background-image: url(../images/default/gradient-bg.gif);
1382
+ background-color:#c3daf9;
1383
+ border:1px solid #6593cf;
1384
+ z-index:10001;
1385
+ overflow:hidden;
1386
+ position:absolute;
1387
+ left:0;top:0;
1388
+ }
1389
+ .x-dlg-shadow{
1390
+ background:#aaaaaa;
1391
+ position:absolute;
1392
+ left:0;top:0;
1393
+ }
1394
+ .x-dlg-focus{
1395
+ -moz-outline:0 none;
1396
+ outline:0 none;
1397
+ width:0;
1398
+ height:0;
1399
+ overflow:hidden;
1400
+ position:absolute;
1401
+ top:0;
1402
+ left:0;
1403
+ }
1404
+ .x-dlg-mask{
1405
+ z-index:10000;
1406
+ display:none;
1407
+ position:absolute;
1408
+ top:0;
1409
+ left:0;
1410
+ -moz-opacity: 0.5;
1411
+ opacity:.50;
1412
+ filter: alpha(opacity=50);
1413
+ background-color:#CCC;
1414
+ }
1415
+ body.x-body-masked select {
1416
+ visibility:hidden;
1417
+ }
1418
+ body.x-body-masked .x-dlg select {
1419
+ visibility:visible;
1420
+ }
1421
+ .x-dlg{
1422
+ z-index:10001;
1423
+ overflow:hidden;
1424
+ position:absolute;
1425
+ left:300;top:0;
1426
+ }
1427
+ .x-dlg .x-dlg-hd {
1428
+ background: url(../images/default/basic-dialog/hd-sprite.gif) repeat-x 0 -82px;
1429
+ background-color:navy;
1430
+ color:#FFF;
1431
+ /*font:bold 12px "sans serif", tahoma, verdana, helvetica; */
1432
+ overflow:hidden;
1433
+ padding:5px;
1434
+ white-space: nowrap;
1435
+ }
1436
+ .x-dlg .x-dlg-hd-left {
1437
+ background: url(../images/default/basic-dialog/hd-sprite.gif) no-repeat 0 -41px;
1438
+ padding-left:3px;
1439
+ margin:0;
1440
+ }
1441
+ .x-dlg .x-dlg-hd-right {
1442
+ background: url(../images/default/basic-dialog/hd-sprite.gif) no-repeat right 0;
1443
+ padding-right:3px;
1444
+ }
1445
+ .x-dlg .x-dlg-dlg-body{
1446
+ background:url(../images/default/layout/gradient-bg.gif);
1447
+ border:1px solid #6593cf;
1448
+ border-top:0 none;
1449
+ padding:10px;
1450
+ position:absolute;
1451
+ top:24px;left:0;
1452
+ z-index:1;
1453
+ overflow:hidden;
1454
+ }
1455
+ .x-dlg-collapsed .x-resizable-handle{
1456
+ display:none;
1457
+ }
1458
+ .x-dlg .x-dlg-bd{
1459
+ overflow:hidden;
1460
+ }
1461
+ .x-dlg .x-dlg-ft{
1462
+ overflow:hidden;
1463
+ padding:5px;
1464
+ padding-bottom:0;
1465
+ }
1466
+
1467
+ .x-dlg .x-tabs-body{
1468
+ background:white;
1469
+ overflow:auto;
1470
+ }
1471
+ .x-dlg .x-tabs-top .x-tabs-body{
1472
+ border:1px solid #6593cf;
1473
+ border-top:0 none;
1474
+ }
1475
+ .x-dlg .x-tabs-bottom .x-tabs-body{
1476
+ border:1px solid #6593cf;
1477
+ border-bottom:0 none;
1478
+ }
1479
+ .x-dlg .x-layout-container .x-tabs-body{
1480
+ border:0 none;
1481
+ }
1482
+ .x-dlg .inner-tab{
1483
+ margin:5px;
1484
+ }
1485
+ .x-dlg .x-dlg-ft .x-btn{
1486
+ margin-right:5px;
1487
+ float:right;
1488
+ clear:none;
1489
+ }
1490
+ .x-dlg .x-dlg-ft .x-dlg-btns td {
1491
+ border:0;
1492
+ padding:0;
1493
+ }
1494
+ .x-dlg .x-dlg-ft .x-dlg-btns-right table{
1495
+ float:right;
1496
+ clear:none;
1497
+ }
1498
+ .x-dlg .x-dlg-ft .x-dlg-btns-left table{
1499
+ float:left;
1500
+ clear:none;
1501
+ }
1502
+ .x-dlg .x-dlg-ft .x-dlg-btns-center{
1503
+ text-align:center;
1504
+ }
1505
+ .x-dlg .x-dlg-ft .x-dlg-btns-center table{
1506
+ margin:0 auto;
1507
+ }
1508
+
1509
+
1510
+ .x-dlg .x-dlg-ft .x-dlg-btns .x-btn-focus .x-btn-left{
1511
+ background-position:0 -147px;
1512
+ }
1513
+ .x-dlg .x-dlg-ft .x-dlg-btns .x-btn-focus .x-btn-right{
1514
+ background-position:0 -168px;
1515
+ }
1516
+ .x-dlg .x-dlg-ft .x-dlg-btns .x-btn-focus .x-btn-center{
1517
+ background-position:0 -189px;
1518
+ }
1519
+
1520
+ .x-dlg .x-dlg-ft .x-dlg-btns .x-btn-click .x-btn-center{
1521
+ background-position:0 -126px;
1522
+ }
1523
+ .x-dlg .x-dlg-ft .x-dlg-btns .x-btn-click .x-btn-right{
1524
+ background-position:0 -84px;
1525
+ }
1526
+ .x-dlg .x-dlg-ft .x-dlg-btns .x-btn-click .x-btn-left{
1527
+ background-position:0 -63px;
1528
+ }
1529
+
1530
+ .x-dlg-draggable .x-dlg-hd{
1531
+ cursor:move;
1532
+ }
1533
+ .x-dlg-closable .x-dlg-hd{
1534
+ padding-right:22px;
1535
+ }
1536
+ .x-dlg-toolbox {
1537
+ position:absolute;
1538
+ top:4px;
1539
+ right:4px;
1540
+ z-index:6;
1541
+ width:40px;
1542
+ cursor:default;
1543
+ height:15px;
1544
+ background:transparent;
1545
+ }
1546
+ .x-dlg .x-dlg-close, .x-dlg .x-dlg-collapse {
1547
+ float:right;
1548
+ height:15px;
1549
+ width:15px;
1550
+ margin:0;
1551
+ margin-left:2px;
1552
+ padding:0;
1553
+ line-height:1px;
1554
+ font-size:1px;
1555
+ background-repeat:no-repeat;
1556
+ cursor:pointer;
1557
+ visibility:inherit;
1558
+ }
1559
+ .x-dlg .x-dlg-close {
1560
+ background-image:url(../images/default/basic-dialog/close.gif);
1561
+ }
1562
+ .x-dlg .x-dlg-collapse {
1563
+ background-image:url(../images/default/basic-dialog/collapse.gif);
1564
+ }
1565
+ .x-dlg-collapsed .x-dlg-collapse {
1566
+ background-image:url(../images/default/basic-dialog/expand.gif);
1567
+ }
1568
+ .x-dlg .x-dlg-close-over, .x-dlg .x-dlg-collapse-over {
1569
+
1570
+ }
1571
+ .x-dlg div.x-resizable-handle-east{
1572
+ background-image:url(../images/default/basic-dialog/e-handle.gif);
1573
+ border:0;
1574
+ background-position:right;
1575
+ margin-right:0;
1576
+ }
1577
+ .x-dlg div.x-resizable-handle-south{
1578
+ background-image:url(../images/default/sizer/s-handle-dark.gif);
1579
+ border:0;
1580
+ height:6px;
1581
+ }
1582
+ .x-dlg div.x-resizable-handle-west{
1583
+ background-image:url(../images/default/basic-dialog/e-handle.gif);
1584
+ border:0;
1585
+ background-position:1px;
1586
+ }
1587
+ .x-dlg div.x-resizable-handle-north{
1588
+ background-image:url(../images/default/s.gif);
1589
+ border:0;
1590
+ }
1591
+ .x-dlg div.x-resizable-handle-northeast, .xtheme-gray .x-dlg div.x-resizable-handle-northeast{
1592
+ background-image:url(../images/default/s.gif);
1593
+ border:0;
1594
+ }
1595
+ .x-dlg div.x-resizable-handle-northwest, .xtheme-gray .x-dlg div.x-resizable-handle-northwest{
1596
+ background-image:url(../images/default/s.gif);
1597
+ border:0;
1598
+ }
1599
+ .x-dlg div.x-resizable-handle-southeast{
1600
+ background-image:url(../images/default/basic-dialog/se-handle.gif);
1601
+ background-position: bottom right;
1602
+ width:8px;
1603
+ height:8px;
1604
+ border:0;
1605
+ }
1606
+ .x-dlg div.x-resizable-handle-southwest{
1607
+ background-image:url(../images/default/sizer/sw-handle-dark.gif);
1608
+ background-position: top right;
1609
+ margin-left:1px;
1610
+ margin-bottom:1px;
1611
+ border:0;
1612
+ }
1613
+
1614
+ #x-msg-box .x-dlg-ft .x-btn{
1615
+ float:none;
1616
+ clear:none;
1617
+ margin:0 3px;
1618
+ }
1619
+
1620
+ #x-msg-box .x-dlg-bd {
1621
+ padding:5px;
1622
+ overflow:hidden !important;
1623
+ /* font:normal 13px verdana,tahoma,sans-serif; */
1624
+ }
1625
+ #x-msg-box .ext-mb-input {
1626
+ margin-top:4px;
1627
+ width:95%;
1628
+ }
1629
+ #x-msg-box .ext-mb-textarea {
1630
+ margin-top:4px;
1631
+ /* font:normal 13px verdana,tahoma,sans-serif; */
1632
+ }
1633
+ #x-msg-box .ext-mb-progress-wrap {
1634
+ margin-top:4px;
1635
+ border:1px solid #6593cf;
1636
+ }
1637
+ #x-msg-box .ext-mb-progress {
1638
+ height:18px;
1639
+ background: #e0e8f3 url(../images/default/qtip/bg.gif) repeat-x;
1640
+ }
1641
+ #x-msg-box .ext-mb-progress-bar {
1642
+ height:18px;
1643
+ overflow:hidden;
1644
+ width:0;
1645
+ background:#8BB8F3;
1646
+ border-top:1px solid #B2D0F7;
1647
+ border-bottom:1px solid #65A1EF;
1648
+ border-right:1px solid #65A1EF;
1649
+ }
1650
+
1651
+ #x-msg-box .x-msg-box-wait {
1652
+ background: transparent url(../images/default/grid/loading.gif) no-repeat left;
1653
+ display:block;
1654
+ width:300px;
1655
+ padding-left:18px;
1656
+ line-height:18px;
1657
+ }.x-dd-drag-proxy{
1658
+ position:absolute;
1659
+ left:0;top:0;
1660
+ visibility:hidden;
1661
+ z-index:15000;
1662
+ }
1663
+ .x-dd-drag-ghost{
1664
+ color: black;
1665
+ /* font: normal 11px arial, helvetica, sans-serif; */
1666
+ -moz-opacity: 0.85;
1667
+ opacity:.85;
1668
+ filter: alpha(opacity=85);
1669
+ border-top:1px solid #dddddd;
1670
+ border-left:1px solid #dddddd;
1671
+ border-right:1px solid #bbbbbb;
1672
+ border-bottom:1px solid #bbbbbb;
1673
+ padding:3px;
1674
+ padding-left:20px;
1675
+ background-color:white;
1676
+ white-space:nowrap;
1677
+ }
1678
+ .x-dd-drag-repair .x-dd-drag-ghost{
1679
+ -moz-opacity: 0.4;
1680
+ opacity:.4;
1681
+ filter: alpha(opacity=40);
1682
+ border:0 none;
1683
+ padding:0;
1684
+ background-color:transparent;
1685
+ }
1686
+ .x-dd-drag-repair .x-dd-drop-icon{
1687
+ visibility:hidden;
1688
+ }
1689
+ .x-dd-drop-icon{
1690
+ position:absolute;
1691
+ top:3px;
1692
+ left:3px;
1693
+ display:block;
1694
+ width:16px;
1695
+ height:16px;
1696
+ background-color:transparent;
1697
+ background-position: center;
1698
+ background-repeat: no-repeat;
1699
+ z-index:1;
1700
+ }
1701
+ .x-dd-drop-nodrop .x-dd-drop-icon{
1702
+ background-image: url(../images/default/dd/drop-no.gif);
1703
+ }
1704
+ .x-dd-drop-ok .x-dd-drop-icon{
1705
+ background-image: url(../images/default/dd/drop-yes.gif);
1706
+ }
1707
+ .x-dd-drop-ok-add .x-dd-drop-icon{
1708
+ background-image: url(../images/default/dd/drop-add.gif);
1709
+ }.x-tree-icon, .x-tree-ec-icon, .x-tree-elbow-line, .x-tree-elbow, .x-tree-elbow-end, .x-tree-elbow-plus, .x-tree-elbow-minus, .x-tree-elbow-end-plus, .x-tree-elbow-end-minus{
1710
+ border: 0 none;
1711
+ height: 18px;
1712
+ margin: 0;
1713
+ padding: 0;
1714
+ vertical-align: middle;
1715
+ width: 16px;
1716
+ background-repeat: no-repeat;
1717
+ }
1718
+ .x-tree-node-collapsed .x-tree-node-icon, .x-tree-node-expanded .x-tree-node-icon, .x-tree-node-leaf .x-tree-node-icon{
1719
+ border: 0 none;
1720
+ height: 18px;
1721
+ margin: 0;
1722
+ padding: 0;
1723
+ vertical-align: middle;
1724
+ width: 16px;
1725
+ background-position:center;
1726
+ background-repeat: no-repeat;
1727
+ }
1728
+
1729
+
1730
+ .x-tree-node-collapsed .x-tree-node-icon{
1731
+ background-image:url(../images/default/tree/folder.gif);
1732
+ }
1733
+ .x-tree-node-expanded .x-tree-node-icon{
1734
+ background-image:url(../images/default/tree/folder-open.gif);
1735
+ }
1736
+ .x-tree-node-leaf .x-tree-node-icon{
1737
+ background-image:url(../images/default/tree/leaf.gif);
1738
+ }
1739
+
1740
+ .x-tree-noicon .x-tree-node-icon{
1741
+ width:0; height:0;
1742
+ }
1743
+
1744
+ .x-tree-node-loading .x-tree-node-icon{
1745
+ background-image:url(../images/default/tree/loading.gif) !important;
1746
+ }
1747
+ .x-tree-node-loading a span{
1748
+ font-style: italic;
1749
+ color:#444444;
1750
+ }
1751
+
1752
+
1753
+ .x-tree-lines .x-tree-elbow{
1754
+ background-image:url(../images/default/tree/elbow.gif);
1755
+ }
1756
+ .x-tree-lines .x-tree-elbow-plus{
1757
+ background-image:url(../images/default/tree/elbow-plus.gif);
1758
+ }
1759
+ .x-tree-lines .x-tree-elbow-minus{
1760
+ background-image:url(../images/default/tree/elbow-minus.gif);
1761
+ }
1762
+ .x-tree-lines .x-tree-elbow-end{
1763
+ background-image:url(../images/default/tree/elbow-end.gif);
1764
+ }
1765
+ .x-tree-lines .x-tree-elbow-end-plus{
1766
+ background-image:url(../images/default/tree/elbow-end-plus.gif);
1767
+ }
1768
+ .x-tree-lines .x-tree-elbow-end-minus{
1769
+ background-image:url(../images/default/tree/elbow-end-minus.gif);
1770
+ }
1771
+ .x-tree-lines .x-tree-elbow-line{
1772
+ background-image:url(../images/default/tree/elbow-line.gif);
1773
+ }
1774
+
1775
+
1776
+ .x-tree-no-lines .x-tree-elbow{
1777
+ background:transparent;
1778
+ }
1779
+ .x-tree-no-lines .x-tree-elbow-plus{
1780
+ background-image:url(../images/default/tree/elbow-plus-nl.gif);
1781
+ }
1782
+ .x-tree-no-lines .x-tree-elbow-minus{
1783
+ background-image:url(../images/default/tree/elbow-minus-nl.gif);
1784
+ }
1785
+ .x-tree-no-lines .x-tree-elbow-end{
1786
+ background:transparent;
1787
+ }
1788
+ .x-tree-no-lines .x-tree-elbow-end-plus{
1789
+ background-image:url(../images/default/tree/elbow-end-plus-nl.gif);
1790
+ }
1791
+ .x-tree-no-lines .x-tree-elbow-end-minus{
1792
+ background-image:url(../images/default/tree/elbow-end-minus-nl.gif);
1793
+ }
1794
+ .x-tree-no-lines .x-tree-elbow-line{
1795
+ background:transparent;
1796
+ }
1797
+
1798
+ .x-tree-elbow-plus, .x-tree-elbow-minus, .x-tree-elbow-end-plus, .x-tree-elbow-end-minus{
1799
+ cursor:pointer;
1800
+ }
1801
+ .ext-ie ul.x-tree-node-ct{
1802
+ font-size:0;
1803
+ line-height:0;
1804
+ }
1805
+ .x-tree-node{
1806
+ color: black;
1807
+ /* font: normal 11px arial, tahoma, helvetica, sans-serif; */
1808
+ white-space: nowrap;
1809
+ }
1810
+ .x-tree-node a, .x-dd-drag-ghost a{
1811
+ text-decoration:none;
1812
+ color:black;
1813
+ -khtml-user-select:none;
1814
+ -moz-user-select:none;
1815
+ -kthml-user-focus:normal;
1816
+ -moz-user-focus:normal;
1817
+ -moz-outline: 0 none;
1818
+ outline:0 none;
1819
+ }
1820
+ .x-tree-node a span, .x-dd-drag-ghost a span{
1821
+ text-decoration:none;
1822
+ color:black;
1823
+ padding:1px 3px 1px 2px;
1824
+ }
1825
+ .x-tree-node .x-tree-node-disabled a span{
1826
+ color:gray !important;
1827
+ }
1828
+ .x-tree-node .x-tree-node-disabled .x-tree-node-icon{
1829
+ -moz-opacity: 0.5;
1830
+ opacity:.5;
1831
+ filter: alpha(opacity=50);
1832
+ }
1833
+ .x-tree-node .x-tree-node-inline-icon{
1834
+ background:transparent;
1835
+ }
1836
+ .x-tree-node a:hover, .x-dd-drag-ghost a:hover{
1837
+ text-decoration:none;
1838
+ }
1839
+ .x-tree-node div.x-tree-drag-insert-below{
1840
+ border-bottom:1px dotted #3366cc;
1841
+ }
1842
+ .x-tree-node div.x-tree-drag-insert-above{
1843
+ border-top:1px dotted #3366cc;
1844
+ }
1845
+ .x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below{
1846
+ border-bottom:0 none;
1847
+ }
1848
+ .x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above{
1849
+ border-top:0 none;
1850
+ }
1851
+ .x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a{
1852
+ border-bottom:2px solid #3366cc;
1853
+ }
1854
+ .x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a{
1855
+ border-top:2px solid #3366cc;
1856
+ }
1857
+ .x-tree-node .x-tree-drag-append a span{
1858
+ background:#dddddd;
1859
+ border:1px dotted gray;
1860
+ }
1861
+ .x-tree-node .x-tree-selected a span{
1862
+ background:#3366cc;
1863
+ color:white;
1864
+ }
1865
+ .x-dd-drag-ghost .x-tree-node-indent, .x-dd-drag-ghost .x-tree-ec-icon{
1866
+ display:none !important;
1867
+ }
1868
+ .x-tree-drop-ok-append .x-dd-drop-icon{
1869
+ background-image: url(../images/default/tree/drop-add.gif);
1870
+ }
1871
+ .x-tree-drop-ok-above .x-dd-drop-icon{
1872
+ background-image: url(../images/default/tree/drop-over.gif);
1873
+ }
1874
+ .x-tree-drop-ok-below .x-dd-drop-icon{
1875
+ background-image: url(../images/default/tree/drop-under.gif);
1876
+ }
1877
+ .x-tree-drop-ok-between .x-dd-drop-icon{
1878
+ background-image: url(../images/default/tree/drop-between.gif);
1879
+ }
1880
+ .x-tip{
1881
+ position: absolute;
1882
+ top: 0;
1883
+ left:0;
1884
+ visibility: hidden;
1885
+ z-index: 20000;
1886
+ border:0 none;
1887
+ }
1888
+ .x-tip .x-tip-close{
1889
+ background-image: url(../images/default/qtip/close.gif);
1890
+ height: 15px;
1891
+ float:right;
1892
+ width: 15px;
1893
+ margin:0 0 2px 2px;
1894
+ cursor:pointer;
1895
+ display:none;
1896
+ }
1897
+ .x-tip .x-tip-top {
1898
+ background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -12px;
1899
+ height:6px;
1900
+ overflow:hidden;
1901
+ }
1902
+ .x-tip .x-tip-top-left {
1903
+ background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 0;
1904
+ padding-left:6px;
1905
+ zoom:1;
1906
+ }
1907
+ .x-tip .x-tip-top-right {
1908
+ background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right 0;
1909
+ padding-right:6px;
1910
+ zoom:1;
1911
+ }
1912
+ .x-tip .x-tip-ft {
1913
+ background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -18px;
1914
+ height:6px;
1915
+ overflow:hidden;
1916
+ }
1917
+ .x-tip .x-tip-ft-left {
1918
+ background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -6px;
1919
+ padding-left:6px;
1920
+ zoom:1;
1921
+ }
1922
+ .x-tip .x-tip-ft-right {
1923
+ background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right -6px;
1924
+ padding-right:6px;
1925
+ zoom:1;
1926
+ }
1927
+ .x-tip .x-tip-bd {
1928
+ border:0 none;
1929
+ /* font: normal 11px tahoma,arial,helvetica,sans-serif; */
1930
+ }
1931
+ .x-tip .x-tip-bd-left {
1932
+ background: #fff url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -24px;
1933
+ padding-left:6px;
1934
+ zoom:1;
1935
+ }
1936
+ .x-tip .x-tip-bd-right {
1937
+ background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right -24px;
1938
+ padding-right:6px;
1939
+ zoom:1;
1940
+ }
1941
+
1942
+ .x-tip h3 {
1943
+ /*font: bold 11px tahoma,arial,helvetica,sans-serif; */
1944
+ margin:0;
1945
+ padding:2px 0;
1946
+ color:#444;
1947
+ }
1948
+ .x-tip .x-tip-bd-inner {
1949
+ /* font: normal 11px tahoma,arial,helvetica,sans-serif; */
1950
+ margin:0 !important;
1951
+ line-height:14px;
1952
+ color:#444;
1953
+ padding:0;
1954
+ float:left;
1955
+ }
1956
+
1957
+
1958
+ .x-form-invalid-tip {
1959
+ }
1960
+
1961
+ .x-form-invalid-tip .x-tip-top {
1962
+ background-image: url(../images/default/form/error-tip-corners.gif);
1963
+ }
1964
+ .x-form-invalid-tip .x-tip-top-left {
1965
+ background-image: url(../images/default/form/error-tip-corners.gif);
1966
+ }
1967
+ .x-form-invalid-tip .x-tip-top-right {
1968
+ background-image: url(../images/default/form/error-tip-corners.gif);
1969
+ }
1970
+ .x-form-invalid-tip .x-tip-ft {
1971
+ background-image: url(../images/default/form/error-tip-corners.gif);
1972
+ }
1973
+ .x-form-invalid-tip .x-tip-ft-left {
1974
+ background-image: url(../images/default/form/error-tip-corners.gif);
1975
+ }
1976
+ .x-form-invalid-tip .x-tip-ft-right {
1977
+ background-image: url(../images/default/form/error-tip-corners.gif);
1978
+ }
1979
+ .x-form-invalid-tip .x-tip-bd-left {
1980
+ background-image: url(../images/default/form/error-tip-corners.gif);
1981
+ }
1982
+ .x-form-invalid-tip .x-tip-bd-right {
1983
+ background-image: url(../images/default/form/error-tip-corners.gif);
1984
+ }
1985
+ .x-form-invalid-tip .x-tip-bd .x-tip-bd-inner {
1986
+ padding-left:24px;
1987
+ background:transparent url(../images/default/form/exclamation.gif) no-repeat 2px 2px;
1988
+ }
1989
+ .x-form-invalid-tip .x-tip-bd-inner {
1990
+ padding:2px;
1991
+ }.x-date-picker { border: 1px solid #1b376c; border-top:0 none; background:#fff; position:relative;}.x-date-picker a { -moz-outline:0 none; outline:0 none;}.x-date-inner, .x-date-inner td, .x-date-inner th{ border-collapse:separate;}.x-date-middle,.x-date-left,.x-date-right { background: url(../images/default/basic-dialog/hd-sprite.gif) repeat-x 0 -83px; color:#FFF; /* font:bold 11px "sans serif", tahoma, verdana, helvetica; */ overflow:hidden;}.x-date-middle .x-btn-left,.x-date-middle .x-btn-center,.x-date-middle .x-btn-right{ background:transparent !important; vertical-align:middle;}.x-date-middle .x-btn .x-btn-text { color:#fff;}.x-date-middle .x-btn-with-menu .x-btn-center em { background:transparent url(../images/default/toolbar/btn-arrow-light.gif) no-repeat right 0;}.x-date-right, .x-date-left { width:18px;}.x-date-right{ text-align:right;}.x-date-middle { padding-top:2px;padding-bottom:2px;}.x-date-right a, .x-date-left a{ display:block; width:16px; height:16px; background-position: center; background-repeat: no-repeat; cursor:pointer; -moz-opacity: 0.6; opacity:.6; filter: alpha(opacity=60);}.x-date-right a:hover, .x-date-left a:hover{ -moz-opacity: 1; opacity:1; filter: alpha(opacity=100);}.x-date-right a { background-image: url(../images/default/shared/right-btn.gif); margin-right:2px; text-decoration:none !important;}.x-date-left a{ background-image: url(../images/default/shared/left-btn.gif); margin-left:2px; text-decoration:none !important;}table.x-date-inner { width:100%; table-layout:fixed;}.x-date-inner th { width:25px;}.x-date-inner th { background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top; text-align:right !important; border-bottom: 1px solid #a3bad9; /* font:normal 10px arial, helvetica,tahoma,sans-serif;*/ color:#233d6d; cursor:default; padding:0; border-collapse:separate;}.x-date-inner th span { display:block; padding:2px; padding-right:7px;}.x-date-inner td { border: 1px solid #fff; text-align:right; padding:0;}.x-date-inner a { padding:2px 5px; display:block; /* font:normal 11px arial, helvetica,tahoma,sans-serif;*/ text-decoration:none; color:black; text-align:right; zoom:1;}.x-date-inner .x-date-active{ cursor:pointer; color:black;}.x-date-inner .x-date-selected a{ background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top; border:1px solid #8db2e3; padding:1px 4px;}.x-date-inner .x-date-today a{ border: 1px solid darkred; padding:1px 4px;}.x-date-inner .x-date-selected span{ font-weight:bold;}.x-date-inner .x-date-prevday a,.x-date-inner .x-date-nextday a { color:#aaaaaa; text-decoration:none !important;}.x-date-bottom { padding:4px; border-top: 1px solid #a3bad9; background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;}.x-date-inner a:hover, .x-date-inner .x-date-disabled a:hover{ text-decoration:none !important; color:black; background: #ddecfe;}.x-date-inner .x-date-disabled a { cursor:default; background:#eeeeee; color:#bbbbbb;}.x-date-mmenu{ background:#eeeeee !important;}.x-date-mmenu .x-menu-item { font-size:10px; padding:1px 24px 1px 4px; white-space: nowrap; color:#000;}.x-date-mmenu .x-menu-item .x-menu-item-icon { width:10px;height:10px;margin-right:5px; background-position:center -4px !important;}.x-date-mp { position:absolute; left:0; top:0; background:white; display:none;}.x-date-mp td { padding:2px; /* font:normal 11px arial, helvetica,tahoma,sans-serif;*/}td.x-date-mp-month,td.x-date-mp-year,td.x-date-mp-ybtn { border: 0 none; text-align:center; vertical-align: middle; width:25%;}.x-date-mp-ok { margin-right:3px;}.x-date-mp-btns button { text-decoration:none; text-align:center; text-decoration:none !important; background:#083772; color:white; border:1px solid; border-color: #3366cc #000055 #000055 #3366cc; padding:1px 3px 1px; /* font:normal 11px arial, helvetica,tahoma,sans-serif;*/ cursor:pointer;}.x-date-mp-btns { background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;}.x-date-mp-btns td { border-top: 1px solid #c5d2df; text-align:center;}td.x-date-mp-month a,td.x-date-mp-year a { display:block; padding:2px 4px; text-decoration:none; text-align:center; color:#15428b;}td.x-date-mp-month a:hover,td.x-date-mp-year a:hover { color:#15428b; text-decoration:none; cursor:pointer; background: #ddecfe;}td.x-date-mp-sel a { padding:1px 3px; background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top; border:1px solid #8db2e3;}.x-date-mp-ybtn a { overflow:hidden; width:15px; height:15px; cursor:pointer; background:transparent url(../images/default/panel/tool-sprites.gif) no-repeat; display:block; margin:0 auto;}.x-date-mp-ybtn a.x-date-mp-next { background-position:0 -120px;}.x-date-mp-ybtn a.x-date-mp-next:hover { background-position:-15px -120px;}.x-date-mp-ybtn a.x-date-mp-prev { background-position:0 -105px;}.x-date-mp-ybtn a.x-date-mp-prev:hover { background-position:-15px -105px;}.x-date-mp-ybtn { text-align:center;}td.x-date-mp-sep { border-right:1px solid #c5d2df;}.x-menu {
1992
+ border:1px solid #718bb7;
1993
+ z-index: 15000;
1994
+ background: #fff url(../images/default/menu/menu.gif) repeat-y;
1995
+ }
1996
+ .ext-ie .x-menu {
1997
+ zoom:1;
1998
+ overflow:hidden;
1999
+ }
2000
+ .x-menu-list{
2001
+ border:1px solid #fff;
2002
+ }
2003
+ .x-menu li{
2004
+ line-height:100%;
2005
+ }
2006
+ .x-menu li.x-menu-sep-li{
2007
+ font-size:1px;
2008
+ line-height:1px;
2009
+ }
2010
+ .x-menu-list-item{
2011
+ /* font:normal 11px tahoma,arial, sans-serif; */
2012
+ white-space: nowrap;
2013
+ -moz-user-select: none;
2014
+ -khtml-user-select: none;
2015
+ display:block;
2016
+ padding:1px;
2017
+ }
2018
+ .x-menu-item-arrow{
2019
+ background:transparent url(../images/default/menu/menu-parent.gif) no-repeat right;
2020
+ }
2021
+ .x-menu-sep {
2022
+ display:block;
2023
+ font-size:1px;
2024
+ line-height:1px;
2025
+ background:#c3daf9;
2026
+ margin: 3px 3px 3px 32px;
2027
+ }
2028
+ .x-menu-focus {
2029
+ position:absolute;
2030
+ left:0;
2031
+ top:-5px;
2032
+ width:0;
2033
+ height:0;
2034
+ line-height:1px;
2035
+ }
2036
+ .x-menu-item {
2037
+ display:block;
2038
+ line-height:14px;
2039
+ padding:3px 21px 3px 3px;
2040
+ white-space: nowrap;
2041
+ text-decoration:none;
2042
+ color:#233d6d;
2043
+ -moz-outline: 0 none;
2044
+ outline: 0 none;
2045
+ cursor:pointer;
2046
+ }
2047
+ .x-menu-item-active {
2048
+ color:#233d6d;
2049
+ background:#c3daf9;
2050
+ border:1px solid #8BB8F3;
2051
+ padding:0;
2052
+ }
2053
+ .x-menu-item-icon {
2054
+ border: 0 none;
2055
+ height: 16px;
2056
+ padding: 0;
2057
+ vertical-align: middle;
2058
+ width: 16px;
2059
+ margin: 0 11px 0 0;
2060
+ background-position:center;
2061
+ }
2062
+
2063
+ .x-menu-check-item .x-menu-item-icon{
2064
+ background: transparent url(../images/default/menu/unchecked.gif) no-repeat center;
2065
+ }
2066
+
2067
+ .x-menu-item-checked .x-menu-item-icon{
2068
+ background-image:url(../images/default/menu/checked.gif);
2069
+ }
2070
+ .x-menu-group-item .x-menu-item-icon{
2071
+ background: transparent;
2072
+ }
2073
+
2074
+ .x-menu-item-checked .x-menu-group-item .x-menu-item-icon{
2075
+ background: transparent url(../images/default/menu/group-checked.gif) no-repeat center;
2076
+ }
2077
+
2078
+ .x-menu-plain {
2079
+ background:#fff;
2080
+ }
2081
+ .x-menu-date-item{
2082
+ padding:0;
2083
+ }
2084
+
2085
+ .x-menu .x-color-palette, .x-menu .x-date-picker{
2086
+ margin-left:32px;
2087
+ margin-right:4px;
2088
+ }
2089
+ .x-menu .x-date-picker{
2090
+ border:1px solid #a3bad9;
2091
+ margin-top:2px;
2092
+ margin-bottom:2px;
2093
+ }
2094
+ .x-menu-plain .x-color-palette, .x-menu-plain .x-date-picker{
2095
+ margin:0;
2096
+ border:0 none;
2097
+ }
2098
+ .x-date-menu {
2099
+ padding:0 !important;
2100
+ }
2101
+ .x-box-tl { background: transparent url(../images/default/box/corners.gif) no-repeat 0 0; zoom:1;}.x-box-tc { height: 8px; background: transparent url(../images/default/box/tb.gif) repeat-x 0 0; overflow: hidden;}.x-box-tr { background: transparent url(../images/default/box/corners.gif) no-repeat right -8px;}.x-box-ml { background: transparent url(../images/default/box/l.gif) repeat-y 0; padding-left: 4px; overflow: hidden; zoom:1;}.x-box-mc { background: #eee url(../images/default/box/tb.gif) repeat-x 0 -16px; padding: 4px 10px; /*font-family: "Myriad Pro","Myriad Web","Tahoma","Helvetica","Arial",sans-serif; */color: #393939; font-size: 12px;}.x-box-mc h3 { font-size: 14px; font-weight: bold; margin: 0 0 4 0; zoom:1;}.x-box-mr { background: transparent url(../images/default/box/r.gif) repeat-y right; padding-right: 4px; overflow: hidden;}.x-box-bl { background: transparent url(../images/default/box/corners.gif) no-repeat 0 -16px; zoom:1;}.x-box-bc { background: transparent url(../images/default/box/tb.gif) repeat-x 0 -8px; height: 8px; overflow: hidden;}.x-box-br { background: transparent url(../images/default/box/corners.gif) no-repeat right -24px;}.x-box-tl, .x-box-bl { padding-left: 8px; overflow: hidden;}.x-box-tr, .x-box-br { padding-right: 8px; overflow: hidden;}.x-box-blue .x-box-bl, .x-box-blue .x-box-br, .x-box-blue .x-box-tl, .x-box-blue .x-box-tr { background-image: url(../images/default/box/corners-blue.gif);}.x-box-blue .x-box-bc, .x-box-blue .x-box-mc, .x-box-blue .x-box-tc { background-image: url(../images/default/box/tb-blue.gif);}.x-box-blue .x-box-mc { background-color: #c3daf9;}.x-box-blue .x-box-mc h3 { color: #17385b;}.x-box-blue .x-box-ml { background-image: url(../images/default/box/l-blue.gif);}.x-box-blue .x-box-mr { background-image: url(../images/default/box/r-blue.gif);}#x-debug-browser .x-tree .x-tree-node a span { color:#222297; font-size:12px; padding-top:2px; /* font-family:"courier","courier new"; */ line-height:18px;}#x-debug-browser .x-tree a i { color:#FF4545; font-style:normal;}#x-debug-browser .x-tree a em { color:#999;}#x-debug-browser .x-tree .x-tree-node .x-tree-selected a span{ background:#c3daf9;}#x-debug-browser pre, .x-debug-browser pre xmp { /* font:normal 11px tahoma, arial, helvetica, sans-serif !important ;*/ white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;}#x-debug-browser pre { display:block; padding:5px !important; border-bottom:1px solid #eeeeee !important;}#x-debug-browser pre xmp { padding:0 !important; margin:0 !important;}#x-debug-console .x-layout-panel-center, #x-debug-inspector .x-layout-panel-center { border-right:1px solid #98c0f4;}#x-debug-console textarea { border: 0 none; font-size:12px; /* font-family:"courier","courier new"; */ padding-top:4px; padding-left:4px;}.x-debug-frame { background:#eeeeee; border:1px dashed #aaaaaa;}.x-combo-list { border:1px solid #98c0f4; background:#ddecfe; zoom:1; overflow:hidden;}.x-combo-list-inner { overflow:auto; background:white; position:relative; zoom:1; overflow-x:hidden;}.x-combo-list-hd { /* font:bold 11px tahoma, arial, helvetica, sans-serif; */ color:#15428b; background-image: url(../images/default/layout/panel-title-light-bg.gif); border-bottom:1px solid #98c0f4; padding:3px;}.x-resizable-pinned .x-combo-list-inner { border-bottom:1px solid #98c0f4;}.x-combo-list-item { /* font:normal 12px tahoma, arial, helvetica, sans-serif; */ padding:2px; border:1px solid #fff; white-space: nowrap; overflow:hidden; text-overflow: ellipsis;}.x-combo-list .x-combo-selected{ background-color: #c3daf9 !important; cursor:pointer; border:1px solid #336699;}.x-combo-noedit{ cursor:pointer;}.x-panel-header { overflow:hidden; zoom:1; color:#15428b; /* font:bold 11px tahoma,arial,verdana,sans-serif; */ padding:5px 3px 4px 5px; border:1px solid #99bbe8; background: transparent url(../images/default/panel/white-top-bottom.gif) repeat-x 0 -1px;}.x-panel-body { border:1px solid #99bbe8; border-top:0 none; overflow:hidden; background:white;}.x-panel-body-noheader { border-top:1px solid #99bbe8;}.x-panel-header { overflow:hidden; zoom:1;}.x-panel-tl .x-panel-header { color:#15428b; /* font:bold 11px tahoma,arial,verdana,sans-serif; */ padding:5px 0 4px 0; border:0 none; background:transparent;}.x-panel-tl .x-panel-icon, .x-window-tl .x-panel-icon { padding-left:20px !important; background-repeat:no-repeat; background-position:0 4px; zoom:1;}.x-panel-inline-icon { width:16px; height:16px; background-repeat:no-repeat; background-position:0 0; vertical-align:middle; margin-right:4px; margin-top:-1px; margin-bottom:-1px;}.x-panel-tc { background: transparent url(../images/default/panel/white-top-bottom.gif) repeat-x 0 0; overflow:hidden;}.x-panel-tl { background: transparent url(../images/default/panel/white-corners-sprite.gif) no-repeat 0 0; padding-left:6px; zoom:1; border-bottom:1px solid #99bbe8;}.x-panel-tr { background: transparent url(../images/default/panel/white-corners-sprite.gif) no-repeat right 0; padding-right:6px;}.x-panel-bc { background: transparent url(../images/default/panel/white-top-bottom.gif) repeat-x 0 bottom; zoom:1;}.x-panel-bc .x-panel-footer { padding-bottom:1px; zoom:1;}.x-panel-nofooter .x-panel-bc { height:1px;}.x-panel-bl { background: transparent url(../images/default/panel/white-corners-sprite.gif) no-repeat 0 bottom; padding-left:1px; zoom:1;}.x-panel-br { background: transparent url(../images/default/panel/white-corners-sprite.gif) no-repeat right bottom; padding-right:1px; zoom:1;}.x-panel-mc { border:0 none; padding:0; margin:0; /* font: normal 11px tahoma,arial,helvetica,sans-serif; */ background:white;}.x-panel-mc .x-panel-body { background:transparent; border:0 none;}.x-panel-ml { background: #fff url(../images/default/panel/white-left-right.gif) repeat-y 0 0; padding-left:1px; zoom:1;}.x-panel-mr { background: transparent url(../images/default/panel/white-left-right.gif) repeat-y right 0; padding-right:1px; zoom:1;}.x-panel-blue .x-panel-tl, .x-panel-blue .x-panel-tr, .x-panel-blue .x-panel-bl, .x-panel-blue .x-panel-br { background-image:url(../images/default/panel/corners-sprite.gif);}.x-panel-blue .x-panel-tc, .x-panel-blue .x-panel-bc { background-image:url(../images/default/panel/top-bottom.gif);}.x-panel-blue .x-panel-ml, .x-panel-blue .x-panel-mr { background-image:url(../images/default/panel/left-right.gif);}.x-panel-blue .x-panel-mc{ padding-top:6px; background:#dfe8f6;}.x-panel-blue .x-panel-tl { padding-left:6px;}.x-panel-blue .x-panel-tr { padding-right:6px;}.x-panel-blue .x-panel-bc .x-panel-footer { padding-bottom:6px;}.x-panel-blue .x-panel-nofooter .x-panel-bc { height:6px;}.x-panel-blue .x-panel-bl { padding-left:6px;}.x-panel-blue .x-panel-br { padding-right:6px;}.x-panel-blue .x-panel-ml { padding-left:6px;}.x-panel-blue .x-panel-mr { padding-right:6px;}.x-panel-bwrap { overflow:hidden;}.x-panel-body { overflow:hidden;}.x-panel-collapsed .x-resizable-handle{ display:none;}.x-tool { overflow:hidden; width:15px; height:15px; float:right; cursor:pointer; background:transparent url(../images/default/panel/tool-sprites.gif) no-repeat; margin-left:2px;}.x-tool-toggle { background-position:0 -60px;}.x-tool-toggle-over { background-position:-15px -60px;}.x-panel-collapsed .x-tool-toggle { background-position:0 -75px;}.x-panel-collapsed .x-tool-toggle-over { background-position:-15px -75px;}.x-tool-close { background-position:0 -0;}.x-tool-close-over { background-position:-15px 0;}.x-tool-minimize { background-position:0 -15px;}.x-tool-minimize-over { background-position:-15px -15px;}.x-tool-maximize { background-position:0 -30px;}.x-tool-maximize-over { background-position:-15px -30px;}.x-tool-restore { background-position:0 -45px;}.x-tool-restore-over { background-position:-15px -45px;}.x-tool-gear { background-position:0 -90px;}.x-tool-gear-over { background-position:-15px -90px;}.x-tool-pin { background-position:0 -135px;}.x-tool-pin-over { background-position:-15px -135px;}.x-tool-unpin { background-position:0 -150px;}.x-tool-unpin-over { background-position:-15px -150px;}.x-tool-right { background-position:0 -165px;}.x-tool-right-over { background-position:-15px -165px;}.x-tool-left { background-position:0 -180px;}.x-tool-left-over { background-position:-15px -180px;}.x-tool-up { background-position:0 -210px;}.x-tool-up-over { background-position:-15px -210px;}.x-tool-down { background-position:0 -195px;}.x-tool-down-over { background-position:-15px -195px;}.x-tool-refresh { background-position:0 -225px;}.x-tool-refresh-over { background-position:-15px -225px;}.x-panel-ghost { background:#cbddf3; z-index:12000; overflow:hidden; position:absolute; left:0;top:0; opacity:.65; -moz-opacity:.65; filter:alpha(opacity=65);}.x-panel-ghost ul { margin:0; padding:0; overflow:hidden; font-size:0; line-height:0; border:1px solid #84a0c4; border-top:0 none; display:block;}.x-panel-ghost * { cursor:move !important;}.x-panel-btns-ct { padding:5px;}.x-panel-btns-ct .x-btn{ float:right; clear:none;}.x-panel-btns-ct .x-panel-btns td { border:0; padding:0;}.x-panel-btns-ct .x-panel-btns-right table{ float:right; clear:none;}.x-panel-btns-ct .x-panel-btns-left table{ float:left; clear:none;}.x-panel-btns-ct .x-panel-btns-center{ text-align:center; }.x-panel-btns-ct .x-panel-btns-center table{ margin:0 auto; }.x-panel-btns-ct table td.x-panel-btn-td{ padding:3px;}.x-panel-btns-ct .x-btn-focus .x-btn-left{ background-position:0 -147px;}.x-panel-btns-ct .x-btn-focus .x-btn-right{ background-position:0 -168px;}.x-panel-btns-ct .x-btn-focus .x-btn-center{ background-position:0 -189px;}.x-panel-btns-ct .x-btn-over .x-btn-left{ background-position:0 -63px;}.x-panel-btns-ct .x-btn-over .x-btn-right{ background-position:0 -84px;}.x-panel-btns-ct .x-btn-over .x-btn-center{ background-position:0 -105px;}.x-panel-btns-ct .x-btn-click .x-btn-center{ background-position:0 -126px;}.x-panel-btns-ct .x-btn-click .x-btn-right{ background-position:0 -84px;}.x-panel-btns-ct .x-btn-click .x-btn-left{ background-position:0 -63px;}.x-html-editor-wrap {
2102
+ border:1px solid #a9bfd3;
2103
+ background:white;
2104
+ }
2105
+ .x-html-editor-tb .x-btn-text {
2106
+ background:transparent url(../images/default/editor/tb-sprite.gif) no-repeat;
2107
+ }
2108
+ .x-html-editor-tb .x-edit-bold .x-btn-text {
2109
+ background-position:0 0;
2110
+ }
2111
+ .x-html-editor-tb .x-edit-italic .x-btn-text {
2112
+ background-position:-16px 0;
2113
+ }
2114
+ .x-html-editor-tb .x-edit-underline .x-btn-text {
2115
+ background-position:-32px 0;
2116
+ }
2117
+ .x-html-editor-tb .x-edit-forecolor .x-btn-text {
2118
+ background-position:-160px 0;
2119
+ }
2120
+ .x-html-editor-tb .x-edit-backcolor .x-btn-text {
2121
+ background-position:-176px 0;
2122
+ }
2123
+ .x-html-editor-tb .x-edit-justifyleft .x-btn-text {
2124
+ background-position:-112px 0;
2125
+ }
2126
+ .x-html-editor-tb .x-edit-justifycenter .x-btn-text {
2127
+ background-position:-128px 0;
2128
+ }
2129
+ .x-html-editor-tb .x-edit-justifyright .x-btn-text {
2130
+ background-position:-144px 0;
2131
+ }
2132
+ .x-html-editor-tb .x-edit-insertorderedlist .x-btn-text {
2133
+ background-position:-80px 0;
2134
+ }
2135
+ .x-html-editor-tb .x-edit-insertunorderedlist .x-btn-text {
2136
+ background-position:-96px 0;
2137
+ }
2138
+ .x-html-editor-tb .x-edit-increasefontsize .x-btn-text {
2139
+ background-position:-48px 0;
2140
+ }
2141
+ .x-html-editor-tb .x-edit-decreasefontsize .x-btn-text {
2142
+ background-position:-64px 0;
2143
+ }
2144
+ .x-html-editor-tb .x-edit-sourceedit .x-btn-text {
2145
+ background-position:-192px 0;
2146
+ }
2147
+
2148
+ .x-html-editor-tip .x-tip-bd .x-tip-bd-inner {
2149
+ padding:5px;
2150
+ padding-bottom:1px;
2151
+ }
js/extjs/resources/css/form.css ADDED
@@ -0,0 +1,397 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 1.1 Beta 1
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ /* all fields */
10
+ .x-form-field{
11
+ margin: 0 0 0 0;
12
+ font:normal 12px tahoma, arial, helvetica, sans-serif;
13
+ }
14
+
15
+ /* ---- text fields ---- */
16
+ .x-form-text, textarea.x-form-field{
17
+ padding: 1px 3px;
18
+ background:#fff url(../images/default/form/text-bg.gif) repeat-x 0 0;
19
+ border: 1px solid #B5B8C8;
20
+ }
21
+ .x-form-text {
22
+ height:22px;
23
+ line-height:18px;
24
+ vertical-align:middle;
25
+ }
26
+ .ext-ie .x-form-text {
27
+ margin-top:-1px; /* ie bogus margin bug */
28
+ margin-bottom:-1px;
29
+ height:22px; /* ie quirks */
30
+ line-height:18px;
31
+ }
32
+ .ext-strict .x-form-text {
33
+ height:18px;
34
+ }
35
+ .ext-safari .x-form-text {
36
+ height:20px; /* safari always same size */
37
+ }
38
+ .ext-gecko .x-form-text {
39
+ padding-top:2px; /* FF won't center the text vertically */
40
+ padding-bottom:0;
41
+ }
42
+ /* select boxes */
43
+
44
+ .x-form-select-one {
45
+ height:20px;
46
+ line-height:18px;
47
+ vertical-align:middle;
48
+ background-color:#fff; /* opera */
49
+ border: 1px solid #B5B8C8;
50
+ }
51
+
52
+ /* multi select boxes */
53
+
54
+ /* --- TODO --- */
55
+
56
+ /* checkboxes */
57
+
58
+ /* --- TODO --- */
59
+
60
+ /* radios */
61
+
62
+ /* --- TODO --- */
63
+
64
+
65
+ /* wrapped fields and triggers */
66
+
67
+ .x-form-field-wrap {
68
+ position:relative;
69
+ zoom:1;
70
+ white-space: nowrap;
71
+ }
72
+
73
+ .x-editor .x-form-check-wrap {
74
+ background:#fff;
75
+ }
76
+ .x-form-field-wrap .x-form-trigger{
77
+ width:17px;
78
+ height:21px;
79
+ border:0;
80
+ background:transparent url(../images/default/form/trigger.gif) no-repeat 0 0;
81
+ cursor:pointer;
82
+ border-bottom: 1px solid #B5B8C8;
83
+ position:absolute;
84
+ top:0;
85
+ }
86
+ .ext-safari .x-form-field-wrap .x-form-trigger{
87
+ height:19px; /* safari doesn't allow height adjustments to the fields, so adjust trigger */
88
+ }
89
+
90
+ .x-form-field-wrap .x-form-clear-trigger{
91
+ background-image: url(../images/default/form/clear-trigger.gif);
92
+ cursor:pointer;
93
+ }
94
+ .x-form-field-wrap .x-form-search-trigger{
95
+ background-image: url(../images/default/form/search-trigger.gif);
96
+ cursor:pointer;
97
+ }
98
+ .ext-safari .x-form-field-wrap .x-form-trigger{
99
+ right:0;
100
+ }
101
+ .x-form-field-wrap .x-form-twin-triggers{
102
+
103
+ }
104
+ .x-form-field-wrap .x-form-twin-triggers .x-form-trigger{
105
+ position:static;
106
+ top:auto;
107
+ vertical-align:top;
108
+ }
109
+
110
+
111
+ .x-form-field-wrap .x-form-trigger-over{
112
+ background-position:-17px 0;
113
+ }
114
+ .x-form-field-wrap .x-form-trigger-click{
115
+ background-position:-34px 0;
116
+ }
117
+
118
+ .x-trigger-wrap-focus .x-form-trigger{
119
+ background-position:-51px 0;
120
+ }
121
+ .x-trigger-wrap-focus .x-form-trigger-over{
122
+ background-position:-68px 0;
123
+ }
124
+ .x-trigger-wrap-focus .x-form-trigger-click{
125
+ background-position:-85px 0;
126
+ }
127
+ .x-trigger-wrap-focus .x-form-trigger{
128
+ border-bottom: 1px solid #7eadd9;
129
+ }
130
+
131
+ .x-item-disabled .x-form-trigger-over{
132
+ background-position:0 0 !important;
133
+ border-bottom: 1px solid #B5B8C8;
134
+ }
135
+ .x-item-disabled .x-form-trigger-click{
136
+ background-position:0 0 !important;
137
+ border-bottom: 1px solid #B5B8C8;
138
+ }
139
+
140
+ /* field focus style */
141
+ .x-form-focus, textarea.x-form-focus{
142
+ border: 1px solid #7eadd9;
143
+ }
144
+
145
+ /* invalid fields */
146
+ .x-form-invalid, textarea.x-form-invalid{
147
+ background:#fff url(../images/default/grid/invalid_line.gif) repeat-x bottom;
148
+ border: 1px solid #dd7870;
149
+ }
150
+ .ext-safari .x-form-invalid{
151
+ background-color:#ffeeee;
152
+ border: 1px solid #ff7870;
153
+ }
154
+
155
+ /* editors */
156
+
157
+ .x-editor {
158
+ visibility:hidden;
159
+ padding:0;
160
+ margin:0;
161
+ }
162
+ .x-form-check-wrap {
163
+ line-height:18px;
164
+ }
165
+ .ext-ie .x-form-check-wrap input {
166
+ width:15px;
167
+ height:15px;
168
+ }
169
+ .x-editor .x-form-check-wrap {
170
+ padding:3px;
171
+ }
172
+ .x-editor .x-form-checkbox {
173
+ height:13px;
174
+ border: 0 none;
175
+ }
176
+ /* If you override the default field font above, you would need to change this font as well */
177
+ .x-form-grow-sizer {
178
+ font:normal 12px tahoma, arial, helvetica, sans-serif;
179
+ left: -10000px;
180
+ padding: 8px 3px;
181
+ position: absolute;
182
+ visibility:hidden;
183
+ top: -10000px;
184
+ white-space: pre-wrap;
185
+ white-space: -moz-pre-wrap;
186
+ white-space: -pre-wrap;
187
+ white-space: -o-pre-wrap;
188
+ word-wrap: break-word;
189
+ zoom:1;
190
+ }
191
+ .x-form-grow-sizer p {
192
+ margin:0 !important;
193
+ border:0 none !important;
194
+ padding:0 !important;
195
+ }
196
+ /* Form Items CSS */
197
+
198
+ .x-form-item {
199
+ font:normal 12px tahoma, arial, helvetica, sans-serif;
200
+ display:block;
201
+ margin-bottom:4px;
202
+ }
203
+
204
+ .x-form-item label {
205
+ display:block;
206
+ float:left;
207
+ width:100px;
208
+ padding:3px;
209
+ padding-left:0;
210
+ clear:left;
211
+ z-index:2;
212
+ position:relative;
213
+ }
214
+
215
+ .x-form-element {
216
+ padding-left:105px;
217
+ position:relative;
218
+ }
219
+
220
+ .x-form-invalid-msg {
221
+ color:#ee0000;
222
+ padding:2px;
223
+ padding-left:18px;
224
+ font:normal 11px tahoma, arial, helvetica, sans-serif;
225
+ background: transparent url(../images/default/shared/warning.gif) no-repeat 0 2px;
226
+ line-height:16px;
227
+ width:200px;
228
+ }
229
+
230
+ .x-form-label-right label {
231
+ text-align:right;
232
+ }
233
+
234
+ .x-form-label-top .x-form-item label {
235
+ width:auto;
236
+ float:none;
237
+ clear:none;
238
+ display:inline;
239
+ margin-bottom:4px;
240
+ position:static;
241
+ }
242
+ .x-form-label-top .x-form-element {
243
+ padding-left:0;
244
+ padding-top:4px;
245
+ }
246
+ .x-form-label-top .x-form-item {
247
+ padding-bottom:4px;
248
+ }
249
+ .x-form fieldset {
250
+ border:1px solid #B5B8C8;
251
+ padding:10px 10px 5px 10px;
252
+ margin-bottom:10px;
253
+ }
254
+ .x-form fieldset legend {
255
+ font:bold 11px tahoma, arial, helvetica, sans-serif;
256
+ color:#15428b;
257
+ }
258
+ .ext-ie .x-form fieldset legend {
259
+ margin-bottom:10px;
260
+ }
261
+ .ext-ie .x-form fieldset {
262
+ padding-top: 0;
263
+ }
264
+ .x-form-empty-field {
265
+ color:gray;
266
+ }
267
+ /* Editor small font for grid, toolbar and tree */
268
+ .x-small-editor .x-form-field {
269
+ font:normal 11px arial, tahoma, helvetica, sans-serif;
270
+ }
271
+ .x-small-editor .x-form-text {
272
+ height:20px;
273
+ line-height:16px;
274
+ vertical-align:middle;
275
+ }
276
+ .ext-ie .x-small-editor .x-form-text {
277
+ margin-top:-1px !important; /* ie bogus margin bug */
278
+ margin-bottom:-1px !important;
279
+ height:20px !important; /* ie quirks */
280
+ line-height:16px !important;
281
+ }
282
+ .ext-strict .x-small-editor .x-form-text {
283
+ height:16px !important;
284
+ }
285
+ .ext-safari .x-small-editor .x-form-field {
286
+ /* safari text field will not size so needs bigger font */
287
+ font:normal 12px arial, tahoma, helvetica, sans-serif;
288
+ }
289
+ .ext-ie .x-small-editor .x-form-text {
290
+ height:20px;
291
+ line-height:16px;
292
+ }
293
+ .ext-border-box .x-small-editor .x-form-text {
294
+ height:20px;
295
+ }
296
+
297
+ .x-small-editor .x-form-select-one {
298
+ height:20px;
299
+ line-height:16px;
300
+ vertical-align:middle;
301
+ }
302
+ .x-small-editor .x-form-num-field {
303
+ text-align:right;
304
+ }
305
+ .x-small-editor .x-form-field-wrap .x-form-trigger{
306
+ height:19px;
307
+ }
308
+
309
+
310
+ .x-form-clear {
311
+ clear:both;
312
+ height:0;
313
+ overflow:hidden;
314
+ line-height:0;
315
+ font-size:0;
316
+ }
317
+ .x-form-clear-left {
318
+ clear:left;
319
+ height:0;
320
+ overflow:hidden;
321
+ line-height:0;
322
+ font-size:0;
323
+ }
324
+
325
+ .x-form-cb-label {
326
+ width:'auto' !important;
327
+ float:none !important;
328
+ clear:none !important;
329
+ display:inline !important;
330
+ margin-left:4px;
331
+ }
332
+
333
+ .x-form-column {
334
+ float:left;
335
+ padding:0;
336
+ margin:0;
337
+ width:48%;
338
+ overflow:hidden;
339
+ zoom:1;
340
+ }
341
+
342
+ /* buttons */
343
+ .x-form .x-form-btns-ct .x-btn{
344
+ float:right;
345
+ clear:none;
346
+ }
347
+ .x-form .x-form-btns-ct .x-form-btns td {
348
+ border:0;
349
+ padding:0;
350
+ }
351
+ .x-form .x-form-btns-ct .x-form-btns-right table{
352
+ float:right;
353
+ clear:none;
354
+ }
355
+ .x-form .x-form-btns-ct .x-form-btns-left table{
356
+ float:left;
357
+ clear:none;
358
+ }
359
+ .x-form .x-form-btns-ct .x-form-btns-center{
360
+ text-align:center; /*ie*/
361
+ }
362
+ .x-form .x-form-btns-ct .x-form-btns-center table{
363
+ margin:0 auto; /*everyone else*/
364
+ }
365
+ .x-form .x-form-btns-ct table td.x-form-btn-td{
366
+ padding:3px;
367
+ }
368
+
369
+ .x-form .x-form-btns-ct .x-btn-focus .x-btn-left{
370
+ background-position:0 -147px;
371
+ }
372
+ .x-form .x-form-btns-ct .x-btn-focus .x-btn-right{
373
+ background-position:0 -168px;
374
+ }
375
+ .x-form .x-form-btns-ct .x-btn-focus .x-btn-center{
376
+ background-position:0 -189px;
377
+ }
378
+
379
+ .x-form .x-form-btns-ct .x-btn-click .x-btn-center{
380
+ background-position:0 -126px;
381
+ }
382
+ .x-form .x-form-btns-ct .x-btn-click .x-btn-right{
383
+ background-position:0 -84px;
384
+ }
385
+ .x-form .x-form-btns-ct .x-btn-click .x-btn-left{
386
+ background-position:0 -63px;
387
+ }
388
+ .x-form-invalid-icon {
389
+ width:16px;
390
+ height:18px;
391
+ visibility:hidden;
392
+ position:absolute;
393
+ left:0;
394
+ top:0;
395
+ display:block;
396
+ background:transparent url(../images/default/form/exclamation.gif) no-repeat 0 2px;
397
+ }
js/extjs/resources/css/grid.css ADDED
@@ -0,0 +1,295 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 1.1 Beta 1
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ /* Grid2 styles */
10
+ .x-grid {
11
+ position:relative;
12
+ overflow:hidden;
13
+ background-color:#fff;
14
+ }
15
+ .x-grid-scroller {
16
+ overflow:auto;
17
+ }
18
+ .x-grid-viewport, .x-grid-locked{
19
+ position:absolute;
20
+ left:0; top: 0;
21
+ z-index:2;
22
+ overflow:hidden;
23
+ visibility:hidden;
24
+ }
25
+ .x-grid-cell-inner, .x-grid-hd-inner{
26
+ overflow:hidden;
27
+ -o-text-overflow: ellipsis;
28
+ text-overflow: ellipsis;
29
+ }
30
+ .x-grid-hd-row td, .x-grid-row td{
31
+ font:normal 11px arial, tahoma, helvetica, sans-serif;
32
+ line-height:13px;
33
+ white-space: nowrap;
34
+ vertical-align: top;
35
+ -moz-outline: none;
36
+ -moz-user-focus: normal;
37
+ }
38
+ .x-grid-hd-row td {
39
+ line-height:14px;
40
+ }
41
+ .x-grid-col {
42
+ border-right: 1px solid #ebebeb;
43
+ border-bottom: 1px solid #ebebeb;
44
+ }
45
+ /* Locked styles */
46
+
47
+ .x-grid-locked .x-grid-body td {
48
+ background-color: #FBFDFF;
49
+ border-right: 1px solid #deecfd;
50
+ border-bottom: 1px solid #deecfd !important;
51
+ }
52
+ .x-grid-locked .x-grid-body td .x-grid-cell-inner {
53
+ border-top:0 none;
54
+ }
55
+ .x-grid-locked .x-grid-row-alt td{
56
+ background-color: #F5FAFE;
57
+ }
58
+
59
+ .x-grid-locked .x-grid-header table{
60
+ border-right:1px solid transparent;
61
+ }
62
+ .x-grid-locked .x-grid-body table{
63
+ border-right:1px solid #c3daf9;
64
+ }
65
+
66
+ .x-grid-locked .x-grid-body td .x-grid-cell-inner {
67
+
68
+ }
69
+ .x-grid-row {
70
+ cursor: default;
71
+ }
72
+ .x-grid-row-alt{
73
+ background-color:#f1f1f1;
74
+ }
75
+ .x-grid-row-over td{
76
+ background-color:#d9e8fb;
77
+ }
78
+ .x-grid-resize-proxy {
79
+ width:3px;
80
+ background-color:#cccccc;
81
+ cursor: e-resize;
82
+ cursor: col-resize;
83
+ position:absolute;
84
+ top:0;
85
+ height:100px;
86
+ overflow:hidden;
87
+ visibility:hidden;
88
+ border:0 none;
89
+ z-index:7;
90
+ }
91
+ .x-grid-focus {
92
+ position:absolute;
93
+ top:0;
94
+ -moz-outline:0 none;
95
+ outline:0 none;
96
+ -moz-user-select: normal;
97
+ -khtml-user-select: normal;
98
+ }
99
+
100
+ /* header styles */
101
+ .x-grid-header{
102
+ background: #ebeadb url(../images/default/grid/grid-hrow.gif) repeat-x;
103
+ overflow:hidden;
104
+ position:relative;
105
+ cursor:default;
106
+ width:100%;
107
+ }
108
+ .x-grid-hd-row{
109
+ height:22px;
110
+ }
111
+ .x-grid-hd {
112
+ padding-right:1px;
113
+ }
114
+ .x-grid-hd-over .x-grid-hd-inner {
115
+ border-bottom: 1px solid #c3daf9;
116
+ }
117
+ .x-grid-hd-over .x-grid-hd-text {
118
+ background: #fafafa url(../images/default/grid/grid-hrow.gif) repeat-x 0 1px;
119
+ padding-bottom:1px;
120
+ border-bottom: 1px solid #b3cae9;
121
+ }
122
+ .x-grid-sort-icon{
123
+ background-repeat: no-repeat;
124
+ display: none;
125
+ height: 4px;
126
+ width: 13px;
127
+ margin-left:3px;
128
+ vertical-align: middle;
129
+ }
130
+ .x-grid-header .sort-asc .x-grid-sort-icon {
131
+ background-image: url(../images/default/grid/sort_asc.gif);
132
+ display: inline;
133
+ }
134
+ .x-grid-header .sort-desc .x-grid-sort-icon {
135
+ background-image: url(../images/default/grid/sort_desc.gif);
136
+ display: inline;
137
+ }
138
+
139
+ /* Body Styles */
140
+ .x-grid-body {
141
+ overflow:hidden;
142
+ position:relative;
143
+ width:100%;
144
+ zoom:1;
145
+ }
146
+
147
+ .x-grid-cell-text,.x-grid-hd-text {
148
+ display: block;
149
+ padding: 3px 5px 3px 5px;
150
+ -moz-user-select: none;
151
+ -khtml-user-select: none;
152
+ color:black;
153
+ }
154
+ .x-grid-hd-text {
155
+ padding-top:4px;
156
+ }
157
+ .x-grid-split {
158
+ background-image: url(../images/default/grid/grid-split.gif);
159
+ background-position: center;
160
+ background-repeat: no-repeat;
161
+ cursor: e-resize;
162
+ cursor: col-resize;
163
+ display: block;
164
+ font-size: 1px;
165
+ height: 16px;
166
+ overflow: hidden;
167
+ position: absolute;
168
+ top: 2px;
169
+ width: 6px;
170
+ z-index: 3;
171
+ }
172
+
173
+ .x-grid-hd-text {
174
+ color:#15428b;
175
+ }
176
+ /* Column Reorder DD */
177
+ .x-dd-drag-proxy .x-grid-hd-inner{
178
+ background: #ebeadb url(../images/default/grid/grid-hrow.gif) repeat-x;
179
+ height:22px;
180
+ width:120px;
181
+ }
182
+
183
+ .col-move-top, .col-move-bottom{
184
+ width:9px;
185
+ height:9px;
186
+ position:absolute;
187
+ top:0;
188
+ line-height:1px;
189
+ font-size:1px;
190
+ overflow:hidden;
191
+ visibility:hidden;
192
+ z-index:20000;
193
+ }
194
+ .col-move-top{
195
+ background:transparent url(../images/default/grid/col-move-top.gif) no-repeat left top;
196
+ }
197
+ .col-move-bottom{
198
+ background:transparent url(../images/default/grid/col-move-bottom.gif) no-repeat left top;
199
+ }
200
+
201
+ /* Selection Styles */
202
+ .x-grid-row-selected td, .x-grid-locked .x-grid-row-selected td{
203
+ background-color: #316ac5 !important;
204
+ color: white;
205
+ }
206
+ .x-grid-row-selected span, .x-grid-row-selected b, .x-grid-row-selected div, .x-grid-row-selected strong, .x-grid-row-selected i{
207
+ color: white !important;
208
+ }
209
+ .x-grid-row-selected .x-grid-cell-text{
210
+ color: white;
211
+ }
212
+ .x-grid-cell-selected{
213
+ background-color: #316ac5 !important;
214
+ color: white;
215
+ }
216
+ .x-grid-cell-selected span{
217
+ color: white !important;
218
+ }
219
+ .x-grid-cell-selected .x-grid-cell-text{
220
+ color: white;
221
+ }
222
+
223
+ .x-grid-locked td.x-grid-row-marker, .x-grid-locked .x-grid-row-selected td.x-grid-row-marker{
224
+ background: #ebeadb url(../images/default/grid/grid-hrow.gif) repeat-x 0 bottom !important;
225
+ vertical-align:middle !important;
226
+ color:black;
227
+ padding:0;
228
+ border-top:1px solid white;
229
+ border-bottom:none !important;
230
+ border-right:1px solid #6fa0df !important;
231
+ text-align:center;
232
+ }
233
+ .x-grid-locked td.x-grid-row-marker div, .x-grid-locked .x-grid-row-selected td.x-grid-row-marker div{
234
+ padding:0 4px;
235
+ color:#15428b !important;
236
+ text-align:center;
237
+ }
238
+
239
+ /* dirty cells */
240
+ .x-grid-dirty-cell {
241
+ background: transparent url(../images/default/grid/dirty.gif) no-repeat 0 0;
242
+ }
243
+
244
+ /* Grid Toolbars */
245
+ .x-grid-topbar, .x-grid-bottombar{
246
+ font:normal 11px arial, tahoma, helvetica, sans-serif;
247
+ overflow:hidden;
248
+ display:none;
249
+ zoom:1;
250
+ position:relative;
251
+ }
252
+ .x-grid-topbar .x-toolbar{
253
+ border-right:0 none;
254
+ }
255
+ .x-grid-bottombar .x-toolbar{
256
+ border-right:0 none;
257
+ border-bottom:0 none;
258
+ border-top:1px solid #a9bfd3;
259
+ }
260
+ /* Props Grid Styles */
261
+ .x-props-grid .x-grid-cell-selected .x-grid-cell-text{
262
+ background-color: #316ac5 !important;
263
+ }
264
+ .x-props-grid .x-grid-col-value .x-grid-cell-text{
265
+ background-color: white;
266
+ }
267
+ .x-props-grid .x-grid-col-name{
268
+ background-color: #c3daf9;
269
+ }
270
+ .x-props-grid .x-grid-col-name .x-grid-cell-text{
271
+ background-color: white;
272
+ margin-left:10px;
273
+ }
274
+ .x-props-grid .x-grid-split-value {
275
+ visibility:hidden;
276
+ }
277
+
278
+ /* header menu */
279
+ .xg-hmenu-sort-asc .x-menu-item-icon{
280
+ background-image: url(../images/default/grid/hmenu-asc.gif);
281
+ }
282
+ .xg-hmenu-sort-desc .x-menu-item-icon{
283
+ background-image: url(../images/default/grid/hmenu-desc.gif);
284
+ }
285
+ .xg-hmenu-lock .x-menu-item-icon{
286
+ background-image: url(../images/default/grid/hmenu-lock.gif);
287
+ }
288
+ .xg-hmenu-unlock .x-menu-item-icon{
289
+ background-image: url(../images/default/grid/hmenu-unlock.gif);
290
+ }
291
+
292
+ /* dd */
293
+ .x-dd-drag-ghost .x-grid-dd-wrap {
294
+ padding:1px 3px 3px 1px;
295
+ }
js/extjs/resources/css/layout.css ADDED
@@ -0,0 +1,252 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 1.1 Beta 1
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .x-layout-container{
10
+ width:100%;
11
+ height:100%;
12
+ overflow:hidden;
13
+ background-color:#c3daf9;
14
+ }
15
+ .x-layout-container .x-layout-tabs-body{
16
+ border:0 none;
17
+ }
18
+ .x-layout-collapsed{
19
+ position:absolute;
20
+ left:-10000px;
21
+ top:-10000px;
22
+ visibility:hidden;
23
+ background-color:#c3daf9;
24
+ width:20px;
25
+ height:20px;
26
+ overflow:hidden;
27
+ border:1px solid #98c0f4;
28
+ z-index:20;
29
+ }
30
+ .ext-border-box .x-layout-collapsed{
31
+ width:22px;
32
+ height:22px;
33
+ }
34
+ .x-layout-collapsed-over{
35
+ cursor:pointer;
36
+ background-color:#d9e8fb;
37
+ }
38
+ .x-layout-collapsed-west .x-layout-collapsed-tools, .x-layout-collapsed-east .x-layout-collapsed-tools{
39
+ position:absolute;
40
+ top:0;
41
+ left:0;
42
+ width:20px;
43
+ height:20px;
44
+ }
45
+ .x-layout-collapsed-north .x-layout-collapsed-tools, .x-layout-collapsed-south .x-layout-collapsed-tools{
46
+ position:absolute;
47
+ top:0;
48
+ right:0;
49
+ width:20px;
50
+ height:20px;
51
+ }
52
+ .x-layout-collapsed .x-layout-tools-button{
53
+ margin:0;
54
+ }
55
+ .x-layout-collapsed .x-layout-tools-button-inner{
56
+ width:16px;
57
+ height:16px;
58
+ }
59
+ .x-layout-inactive-content{
60
+ position:absolute;
61
+ left:-10000px;
62
+ top:-10000px;
63
+ visibility:hidden;
64
+ }
65
+ .x-layout-active-content{
66
+ visibility:visible;
67
+ }
68
+ .x-layout-panel{
69
+ position:absolute;border:1px solid #98c0f4;overflow:hidden;background-color:white;
70
+ }
71
+ .x-layout-panel-east, .x-layout-panel-west {
72
+ z-index:10;
73
+ }
74
+ .x-layout-panel-north, .x-layout-panel-south {
75
+ z-index:11;
76
+ }
77
+ .x-layout-collapsed-north, .x-layout-collapsed-south, .x-layout-collapsed-east, .x-layout-collapsed-west {
78
+ z-index:12;
79
+ }
80
+ .x-layout-panel-body{
81
+ overflow:hidden;
82
+ }
83
+ .x-layout-grid-wrapper{
84
+
85
+ }
86
+ .x-layout-split{
87
+ position:absolute;
88
+ height:5px;
89
+ width:5px;
90
+ line-height:1px;
91
+ font-size:1px;
92
+ z-index:3;
93
+ background-color:#c3daf9;
94
+ }
95
+ .x-layout-panel-hd{
96
+ background-image: url(../images/default/layout/panel-title-light-bg.gif);
97
+ color: black;
98
+ border-bottom:1px solid #98c0f4;
99
+ position:relative;
100
+ }
101
+ .x-layout-panel-hd-text{
102
+ font:normal 11px tahoma, verdana, helvetica;
103
+ padding: 4px;
104
+ padding-left: 4px;
105
+ display:block;
106
+ white-space:nowrap;
107
+ }
108
+ .x-layout-panel-hd-tools{
109
+ position:absolute;
110
+ right:0;
111
+ top:0;
112
+ text-align:right;
113
+ padding-top:2px;
114
+ padding-right:2px;
115
+ width:60px;
116
+ }
117
+ .x-layout-tools-button{
118
+ z-index:6;
119
+ padding:2px;
120
+ cursor:pointer;
121
+ float:right;
122
+ }
123
+ .x-layout-tools-button-over{
124
+ padding:1px;
125
+ border:1px solid #98c0f4;
126
+ background-color:white;
127
+ }
128
+ .x-layout-tools-button-inner{
129
+ height:12px;
130
+ width:12px;
131
+ line-height:1px;
132
+ font-size:1px;
133
+ background-repeat:no-repeat;
134
+ background-position:center;
135
+ }
136
+ .x-layout-close{
137
+ background-image:url(../images/default/layout/panel-close.gif);
138
+ }
139
+ .x-layout-stick{
140
+ background-image:url(../images/default/layout/stick.gif);
141
+ }
142
+ .x-layout-collapse-west,.x-layout-expand-east{
143
+ background-image:url(../images/default/layout/collapse.gif);
144
+ }
145
+ .x-layout-expand-west,.x-layout-collapse-east{
146
+ background-image:url(../images/default/layout/expand.gif);
147
+ }
148
+ .x-layout-collapse-north,.x-layout-expand-south{
149
+ background-image:url(../images/default/layout/ns-collapse.gif);
150
+ }
151
+ .x-layout-expand-north,.x-layout-collapse-south{
152
+ background-image:url(../images/default/layout/ns-expand.gif);
153
+ }
154
+ .x-layout-split-h{
155
+ background-image:url(../images/default/sizer/e-handle.gif);
156
+ background-position: left;
157
+ }
158
+ .x-layout-split-v{
159
+ background-image:url(../images/default/sizer/s-handle.gif);
160
+ background-position: top;
161
+ }
162
+ .x-layout-panel .x-tabs-wrap{
163
+ background:url(../images/default/layout/gradient-bg.gif);
164
+ }
165
+ .x-layout-panel .x-tabs-body {
166
+ background-color:white;
167
+ overflow:auto;height:100%;
168
+ }
169
+ .x-layout-component-panel, .x-layout-nested-layout {
170
+ position:relative;
171
+ padding:0;
172
+ overflow:hidden;
173
+ width:200px;
174
+ height:200px;
175
+ }
176
+ .x-layout-nested-layout .x-layout-panel {
177
+ border:0 none;
178
+ }
179
+ .x-layout-nested-layout .x-layout-panel-north {
180
+ border-bottom:1px solid #98c0f4;
181
+ }
182
+ .x-layout-nested-layout .x-layout-panel-south {
183
+ border-top:1px solid #98c0f4;
184
+ }
185
+ .x-layout-nested-layout .x-layout-panel-east {
186
+ border-left:1px solid #98c0f4;
187
+ }
188
+ .x-layout-nested-layout .x-layout-panel-west {
189
+ border-right:1px solid #98c0f4;
190
+ }
191
+
192
+ .x-layout-panel-dragover {
193
+ border: 2px solid #6593cf;
194
+ }
195
+ .x-layout-panel-proxy {
196
+ background-image: url(../images/default/layout/gradient-bg.gif);
197
+ background-color:#c3daf9;
198
+ border:1px dashed #6593cf;
199
+ z-index:10001;
200
+ overflow:hidden;
201
+ position:absolute;
202
+ left:0;top:0;
203
+ }
204
+ .x-layout-slider {
205
+ z-index:15;
206
+ overflow:hidden;
207
+ position:absolute;
208
+ }
209
+
210
+ .x-scroller-up, .x-scroller-down {
211
+ background-color:#c3daf9;
212
+ border: 1px solid #6593cf;
213
+ border-top-color: #fff;
214
+ border-left-color: #fff;
215
+ border-right:0 none;
216
+ cursor:pointer;
217
+ overflow:hidden;
218
+ line-height:16px;
219
+ }
220
+ .x-scroller-down {
221
+ border-bottom: 0 none;
222
+ border-top: 1px solid #6593cf;
223
+ }
224
+ .x-scroller-btn-over {
225
+ background-color: #d9e8f8;
226
+ }
227
+ .x-scroller-btn-click {
228
+ background-color: #AECEF7;
229
+ }
230
+ .x-scroller-btn-disabled {
231
+ cursor:default;
232
+ background-color: #c3daf9;
233
+ -moz-opacity: 0.3;
234
+ opacity:.30;
235
+ filter: alpha(opacity=30);
236
+ }
237
+
238
+ /* Reader Layout */
239
+
240
+ .x-reader .x-layout-panel-north {
241
+ border:0 none;
242
+ }
243
+ .x-reader .x-layout-panel-center{
244
+ border:0 none;
245
+ }
246
+ .x-reader .x-layout-nested-layout .x-layout-panel-center{
247
+ border:1px solid #99bbe8;
248
+ border-top:0 none;
249
+ }
250
+ .x-reader .x-layout-nested-layout .x-layout-panel-south{
251
+ border:1px solid #99bbe8;
252
+ }
js/extjs/resources/css/menu.css ADDED
@@ -0,0 +1,118 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 1.1 Beta 1
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .x-menu {
10
+ border:1px solid #718bb7;
11
+ z-index: 15000;
12
+ background: #fff url(../images/default/menu/menu.gif) repeat-y;
13
+ }
14
+ .ext-ie .x-menu {
15
+ zoom:1;
16
+ overflow:hidden;
17
+ }
18
+ .x-menu-list{
19
+ border:1px solid #fff;
20
+ }
21
+ .x-menu li{
22
+ line-height:100%;
23
+ }
24
+ .x-menu li.x-menu-sep-li{
25
+ font-size:1px;
26
+ line-height:1px;
27
+ }
28
+ .x-menu-list-item{
29
+ font:normal 11px tahoma,arial, sans-serif;
30
+ white-space: nowrap;
31
+ -moz-user-select: none;
32
+ -khtml-user-select: none;
33
+ display:block;
34
+ padding:1px;
35
+ }
36
+ .x-menu-item-arrow{
37
+ background:transparent url(../images/default/menu/menu-parent.gif) no-repeat right;
38
+ }
39
+ .x-menu-sep {
40
+ display:block;
41
+ font-size:1px;
42
+ line-height:1px;
43
+ background:#c3daf9;
44
+ margin: 3px 3px 3px 32px;
45
+ }
46
+ .x-menu-focus {
47
+ position:absolute;
48
+ left:0;
49
+ top:-5px;
50
+ width:0;
51
+ height:0;
52
+ line-height:1px;
53
+ }
54
+ .x-menu-item {
55
+ display:block;
56
+ line-height:14px;
57
+ padding:3px 21px 3px 3px;
58
+ white-space: nowrap;
59
+ text-decoration:none;
60
+ color:#233d6d;
61
+ -moz-outline: 0 none;
62
+ outline: 0 none;
63
+ cursor:pointer;
64
+ }
65
+ .x-menu-item-active {
66
+ color:#233d6d;
67
+ background:#c3daf9;
68
+ border:1px solid #8BB8F3;
69
+ padding:0;
70
+ }
71
+ .x-menu-item-icon {
72
+ border: 0 none;
73
+ height: 16px;
74
+ padding: 0;
75
+ vertical-align: middle;
76
+ width: 16px;
77
+ margin: 0 11px 0 0;
78
+ background-position:center;
79
+ }
80
+
81
+ .x-menu-check-item .x-menu-item-icon{
82
+ background: transparent url(../images/default/menu/unchecked.gif) no-repeat center;
83
+ }
84
+
85
+ .x-menu-item-checked .x-menu-item-icon{
86
+ background-image:url(../images/default/menu/checked.gif);
87
+ }
88
+ .x-menu-group-item .x-menu-item-icon{
89
+ background: transparent;
90
+ }
91
+
92
+ .x-menu-item-checked .x-menu-group-item .x-menu-item-icon{
93
+ background: transparent url(../images/default/menu/group-checked.gif) no-repeat center;
94
+ }
95
+
96
+ .x-menu-plain {
97
+ background:#fff;
98
+ }
99
+ .x-menu-date-item{
100
+ padding:0;
101
+ }
102
+
103
+ .x-menu .x-color-palette, .x-menu .x-date-picker{
104
+ margin-left:32px;
105
+ margin-right:4px;
106
+ }
107
+ .x-menu .x-date-picker{
108
+ border:1px solid #a3bad9;
109
+ margin-top:2px;
110
+ margin-bottom:2px;
111
+ }
112
+ .x-menu-plain .x-color-palette, .x-menu-plain .x-date-picker{
113
+ margin:0;
114
+ border:0 none;
115
+ }
116
+ .x-date-menu {
117
+ padding:0 !important;
118
+ }
js/extjs/resources/css/panel.css ADDED
@@ -0,0 +1,355 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 1.1 Beta 1
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .x-panel-header {
10
+ overflow:hidden;
11
+ zoom:1;
12
+ color:#15428b;
13
+ font:bold 11px tahoma,arial,verdana,sans-serif;
14
+ padding:5px 3px 4px 5px;
15
+ border:1px solid #99bbe8;
16
+ background: transparent url(../images/default/panel/white-top-bottom.gif) repeat-x 0 -1px;
17
+ }
18
+
19
+ .x-panel-body {
20
+ border:1px solid #99bbe8;
21
+ border-top:0 none;
22
+ overflow:hidden;
23
+ background:white;
24
+ }
25
+ .x-panel-body-noheader {
26
+ border-top:1px solid #99bbe8;
27
+ }
28
+
29
+ .x-panel-header {
30
+ overflow:hidden;
31
+ zoom:1;
32
+ }
33
+ .x-panel-tl .x-panel-header {
34
+ color:#15428b;
35
+ font:bold 11px tahoma,arial,verdana,sans-serif;
36
+ padding:5px 0 4px 0;
37
+ border:0 none;
38
+ background:transparent;
39
+ }
40
+ .x-panel-tl .x-panel-icon, .x-window-tl .x-panel-icon {
41
+ padding-left:20px !important;
42
+ background-repeat:no-repeat;
43
+ background-position:0 4px;
44
+ zoom:1;
45
+ }
46
+ .x-panel-inline-icon {
47
+ width:16px;
48
+ height:16px;
49
+ background-repeat:no-repeat;
50
+ background-position:0 0;
51
+ vertical-align:middle;
52
+ margin-right:4px;
53
+ margin-top:-1px;
54
+ margin-bottom:-1px;
55
+ }
56
+ .x-panel-tc {
57
+ background: transparent url(../images/default/panel/white-top-bottom.gif) repeat-x 0 0;
58
+ overflow:hidden;
59
+ }
60
+ .x-panel-tl {
61
+ background: transparent url(../images/default/panel/white-corners-sprite.gif) no-repeat 0 0;
62
+ padding-left:6px;
63
+ zoom:1;
64
+ border-bottom:1px solid #99bbe8;
65
+ }
66
+ .x-panel-tr {
67
+ background: transparent url(../images/default/panel/white-corners-sprite.gif) no-repeat right 0;
68
+ padding-right:6px;
69
+ }
70
+ .x-panel-bc {
71
+ background: transparent url(../images/default/panel/white-top-bottom.gif) repeat-x 0 bottom;
72
+ zoom:1;
73
+ }
74
+ .x-panel-bc .x-panel-footer {
75
+ padding-bottom:1px;
76
+ zoom:1;
77
+ }
78
+
79
+ .x-panel-nofooter .x-panel-bc {
80
+ height:1px;
81
+ }
82
+ .x-panel-bl {
83
+ background: transparent url(../images/default/panel/white-corners-sprite.gif) no-repeat 0 bottom;
84
+ padding-left:1px;
85
+ zoom:1;
86
+ }
87
+ .x-panel-br {
88
+ background: transparent url(../images/default/panel/white-corners-sprite.gif) no-repeat right bottom;
89
+ padding-right:1px;
90
+ zoom:1;
91
+ }
92
+ .x-panel-mc {
93
+ border:0 none;
94
+ padding:0;
95
+ margin:0;
96
+ font: normal 11px tahoma,arial,helvetica,sans-serif;
97
+ background:white;
98
+ }
99
+ .x-panel-mc .x-panel-body {
100
+ background:transparent;
101
+ border:0 none;
102
+ }
103
+ .x-panel-ml {
104
+ background: #fff url(../images/default/panel/white-left-right.gif) repeat-y 0 0;
105
+ padding-left:1px;
106
+ zoom:1;
107
+ }
108
+ .x-panel-mr {
109
+ background: transparent url(../images/default/panel/white-left-right.gif) repeat-y right 0;
110
+ padding-right:1px;
111
+ zoom:1;
112
+ }
113
+ .x-panel-blue .x-panel-tl, .x-panel-blue .x-panel-tr, .x-panel-blue .x-panel-bl, .x-panel-blue .x-panel-br {
114
+ background-image:url(../images/default/panel/corners-sprite.gif);
115
+ }
116
+ .x-panel-blue .x-panel-tc, .x-panel-blue .x-panel-bc {
117
+ background-image:url(../images/default/panel/top-bottom.gif);
118
+ }
119
+ .x-panel-blue .x-panel-ml, .x-panel-blue .x-panel-mr {
120
+ background-image:url(../images/default/panel/left-right.gif);
121
+ }
122
+ .x-panel-blue .x-panel-mc{
123
+ padding-top:6px;
124
+ background:#dfe8f6;
125
+ }
126
+
127
+ .x-panel-blue .x-panel-tl {
128
+ padding-left:6px;
129
+ }
130
+ .x-panel-blue .x-panel-tr {
131
+ padding-right:6px;
132
+ }
133
+ .x-panel-blue .x-panel-bc .x-panel-footer {
134
+ padding-bottom:6px;
135
+ }
136
+ .x-panel-blue .x-panel-nofooter .x-panel-bc {
137
+ height:6px;
138
+ }
139
+ .x-panel-blue .x-panel-bl {
140
+ padding-left:6px;
141
+ }
142
+ .x-panel-blue .x-panel-br {
143
+ padding-right:6px;
144
+ }
145
+
146
+ .x-panel-blue .x-panel-ml {
147
+ padding-left:6px;
148
+ }
149
+ .x-panel-blue .x-panel-mr {
150
+ padding-right:6px;
151
+ }
152
+
153
+ .x-panel-bwrap {
154
+ overflow:hidden;
155
+ }
156
+ .x-panel-body {
157
+ overflow:hidden;
158
+ }
159
+
160
+ .x-panel-collapsed .x-resizable-handle{
161
+ display:none;
162
+ }
163
+
164
+ /* Tools */
165
+ .x-tool {
166
+ overflow:hidden;
167
+ width:15px;
168
+ height:15px;
169
+ float:right;
170
+ cursor:pointer;
171
+ background:transparent url(../images/default/panel/tool-sprites.gif) no-repeat;
172
+ margin-left:2px;
173
+ }
174
+
175
+
176
+ /* expand / collapse tools */
177
+ .x-tool-toggle {
178
+ background-position:0 -60px;
179
+ }
180
+ .x-tool-toggle-over {
181
+ background-position:-15px -60px;
182
+ }
183
+ .x-panel-collapsed .x-tool-toggle {
184
+ background-position:0 -75px;
185
+ }
186
+ .x-panel-collapsed .x-tool-toggle-over {
187
+ background-position:-15px -75px;
188
+ }
189
+
190
+ .x-tool-close {
191
+ background-position:0 -0;
192
+ }
193
+ .x-tool-close-over {
194
+ background-position:-15px 0;
195
+ }
196
+
197
+ .x-tool-minimize {
198
+ background-position:0 -15px;
199
+ }
200
+ .x-tool-minimize-over {
201
+ background-position:-15px -15px;
202
+ }
203
+
204
+ .x-tool-maximize {
205
+ background-position:0 -30px;
206
+ }
207
+ .x-tool-maximize-over {
208
+ background-position:-15px -30px;
209
+ }
210
+
211
+ .x-tool-restore {
212
+ background-position:0 -45px;
213
+ }
214
+ .x-tool-restore-over {
215
+ background-position:-15px -45px;
216
+ }
217
+
218
+ .x-tool-gear {
219
+ background-position:0 -90px;
220
+ }
221
+ .x-tool-gear-over {
222
+ background-position:-15px -90px;
223
+ }
224
+
225
+ .x-tool-pin {
226
+ background-position:0 -135px;
227
+ }
228
+ .x-tool-pin-over {
229
+ background-position:-15px -135px;
230
+ }
231
+ .x-tool-unpin {
232
+ background-position:0 -150px;
233
+ }
234
+ .x-tool-unpin-over {
235
+ background-position:-15px -150px;
236
+ }
237
+ .x-tool-right {
238
+ background-position:0 -165px;
239
+ }
240
+ .x-tool-right-over {
241
+ background-position:-15px -165px;
242
+ }
243
+ .x-tool-left {
244
+ background-position:0 -180px;
245
+ }
246
+ .x-tool-left-over {
247
+ background-position:-15px -180px;
248
+ }
249
+ .x-tool-up {
250
+ background-position:0 -210px;
251
+ }
252
+ .x-tool-up-over {
253
+ background-position:-15px -210px;
254
+ }
255
+ .x-tool-down {
256
+ background-position:0 -195px;
257
+ }
258
+ .x-tool-down-over {
259
+ background-position:-15px -195px;
260
+ }
261
+ .x-tool-refresh {
262
+ background-position:0 -225px;
263
+ }
264
+ .x-tool-refresh-over {
265
+ background-position:-15px -225px;
266
+ }
267
+ /* Ghosting */
268
+ .x-panel-ghost {
269
+ background:#cbddf3;
270
+ z-index:12000;
271
+ overflow:hidden;
272
+ position:absolute;
273
+ left:0;top:0;
274
+ opacity:.65;
275
+ -moz-opacity:.65;
276
+ filter:alpha(opacity=65);
277
+ }
278
+
279
+ .x-panel-ghost ul {
280
+ margin:0;
281
+ padding:0;
282
+ overflow:hidden;
283
+ font-size:0;
284
+ line-height:0;
285
+ border:1px solid #84a0c4;
286
+ border-top:0 none;
287
+ display:block;
288
+ }
289
+
290
+ .x-panel-ghost * {
291
+ cursor:move !important;
292
+ }
293
+
294
+
295
+ /* Buttons */
296
+
297
+ .x-panel-btns-ct {
298
+ padding:5px;
299
+ }
300
+
301
+ .x-panel-btns-ct .x-btn{
302
+ float:right;
303
+ clear:none;
304
+ }
305
+ .x-panel-btns-ct .x-panel-btns td {
306
+ border:0;
307
+ padding:0;
308
+ }
309
+ .x-panel-btns-ct .x-panel-btns-right table{
310
+ float:right;
311
+ clear:none;
312
+ }
313
+ .x-panel-btns-ct .x-panel-btns-left table{
314
+ float:left;
315
+ clear:none;
316
+ }
317
+ .x-panel-btns-ct .x-panel-btns-center{
318
+ text-align:center; /*ie*/
319
+ }
320
+ .x-panel-btns-ct .x-panel-btns-center table{
321
+ margin:0 auto; /*everyone else*/
322
+ }
323
+ .x-panel-btns-ct table td.x-panel-btn-td{
324
+ padding:3px;
325
+ }
326
+
327
+ .x-panel-btns-ct .x-btn-focus .x-btn-left{
328
+ background-position:0 -147px;
329
+ }
330
+ .x-panel-btns-ct .x-btn-focus .x-btn-right{
331
+ background-position:0 -168px;
332
+ }
333
+ .x-panel-btns-ct .x-btn-focus .x-btn-center{
334
+ background-position:0 -189px;
335
+ }
336
+
337
+ .x-panel-btns-ct .x-btn-over .x-btn-left{
338
+ background-position:0 -63px;
339
+ }
340
+ .x-panel-btns-ct .x-btn-over .x-btn-right{
341
+ background-position:0 -84px;
342
+ }
343
+ .x-panel-btns-ct .x-btn-over .x-btn-center{
344
+ background-position:0 -105px;
345
+ }
346
+
347
+ .x-panel-btns-ct .x-btn-click .x-btn-center{
348
+ background-position:0 -126px;
349
+ }
350
+ .x-panel-btns-ct .x-btn-click .x-btn-right{
351
+ background-position:0 -84px;
352
+ }
353
+ .x-panel-btns-ct .x-btn-click .x-btn-left{
354
+ background-position:0 -63px;
355
+ }
js/extjs/resources/css/qtips.css ADDED
@@ -0,0 +1,120 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 1.1 Beta 1
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .x-tip{
10
+ position: absolute;
11
+ top: 0;
12
+ left:0;
13
+ visibility: hidden;
14
+ z-index: 20000;
15
+ border:0 none;
16
+ }
17
+ .x-tip .x-tip-close{
18
+ background-image: url(../images/default/qtip/close.gif);
19
+ height: 15px;
20
+ float:right;
21
+ width: 15px;
22
+ margin:0 0 2px 2px;
23
+ cursor:pointer;
24
+ display:none;
25
+ }
26
+ .x-tip .x-tip-top {
27
+ background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -12px;
28
+ height:6px;
29
+ overflow:hidden;
30
+ }
31
+ .x-tip .x-tip-top-left {
32
+ background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 0;
33
+ padding-left:6px;
34
+ zoom:1;
35
+ }
36
+ .x-tip .x-tip-top-right {
37
+ background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right 0;
38
+ padding-right:6px;
39
+ zoom:1;
40
+ }
41
+ .x-tip .x-tip-ft {
42
+ background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -18px;
43
+ height:6px;
44
+ overflow:hidden;
45
+ }
46
+ .x-tip .x-tip-ft-left {
47
+ background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -6px;
48
+ padding-left:6px;
49
+ zoom:1;
50
+ }
51
+ .x-tip .x-tip-ft-right {
52
+ background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right -6px;
53
+ padding-right:6px;
54
+ zoom:1;
55
+ }
56
+ .x-tip .x-tip-bd {
57
+ border:0 none;
58
+ font: normal 11px tahoma,arial,helvetica,sans-serif;
59
+ }
60
+ .x-tip .x-tip-bd-left {
61
+ background: #fff url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -24px;
62
+ padding-left:6px;
63
+ zoom:1;
64
+ }
65
+ .x-tip .x-tip-bd-right {
66
+ background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right -24px;
67
+ padding-right:6px;
68
+ zoom:1;
69
+ }
70
+
71
+ .x-tip h3 {
72
+ font: bold 11px tahoma,arial,helvetica,sans-serif;
73
+ margin:0;
74
+ padding:2px 0;
75
+ color:#444;
76
+ }
77
+ .x-tip .x-tip-bd-inner {
78
+ font: normal 11px tahoma,arial,helvetica,sans-serif;
79
+ margin:0 !important;
80
+ line-height:14px;
81
+ color:#444;
82
+ padding:0;
83
+ float:left;
84
+ }
85
+
86
+
87
+ .x-form-invalid-tip {
88
+ }
89
+
90
+ .x-form-invalid-tip .x-tip-top {
91
+ background-image: url(../images/default/form/error-tip-corners.gif);
92
+ }
93
+ .x-form-invalid-tip .x-tip-top-left {
94
+ background-image: url(../images/default/form/error-tip-corners.gif);
95
+ }
96
+ .x-form-invalid-tip .x-tip-top-right {
97
+ background-image: url(../images/default/form/error-tip-corners.gif);
98
+ }
99
+ .x-form-invalid-tip .x-tip-ft {
100
+ background-image: url(../images/default/form/error-tip-corners.gif);
101
+ }
102
+ .x-form-invalid-tip .x-tip-ft-left {
103
+ background-image: url(../images/default/form/error-tip-corners.gif);
104
+ }
105
+ .x-form-invalid-tip .x-tip-ft-right {
106
+ background-image: url(../images/default/form/error-tip-corners.gif);
107
+ }
108
+ .x-form-invalid-tip .x-tip-bd-left {
109
+ background-image: url(../images/default/form/error-tip-corners.gif);
110
+ }
111
+ .x-form-invalid-tip .x-tip-bd-right {
112
+ background-image: url(../images/default/form/error-tip-corners.gif);
113
+ }
114
+ .x-form-invalid-tip .x-tip-bd .x-tip-bd-inner {
115
+ padding-left:24px;
116
+ background:transparent url(../images/default/form/exclamation.gif) no-repeat 2px 2px;
117
+ }
118
+ .x-form-invalid-tip .x-tip-bd-inner {
119
+ padding:2px;
120
+ }
js/extjs/resources/css/reset-min.css ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 1.1 Beta 1
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,th,td{margin:0;padding:0;}img,body,html{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}ol,ul {list-style:none;}caption,th {text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;}q:before,q:after{content:'';}
js/extjs/resources/css/resizable.css ADDED
@@ -0,0 +1,143 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 1.1 Beta 1
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .x-resizable-handle {
10
+ position:absolute;
11
+ z-index:100;
12
+ /* ie needs these */
13
+ font-size:1px;
14
+ line-height:6px;
15
+ overflow:hidden;
16
+ background:white;
17
+ filter:alpha(opacity=0);
18
+ opacity:0;
19
+ zoom:1;
20
+ }
21
+ .x-resizable-handle-east{
22
+ width:6px;
23
+ cursor:e-resize;
24
+ right:0;
25
+ top:0;
26
+ height:100%;
27
+ }
28
+ .ext-ie .x-resizable-handle-east {
29
+ margin-right:-1px; /*IE rounding error*/
30
+ }
31
+ .x-resizable-handle-south{
32
+ width:100%;
33
+ cursor:s-resize;
34
+ left:0;
35
+ bottom:0;
36
+ height:6px;
37
+ }
38
+ .ext-ie .x-resizable-handle-south {
39
+ margin-bottom:-1px; /*IE rounding error*/
40
+ }
41
+ .x-resizable-handle-west{
42
+ width:6px;
43
+ cursor:w-resize;
44
+ left:0;
45
+ top:0;
46
+ height:100%;
47
+ }
48
+ .x-resizable-handle-north{
49
+ width:100%;
50
+ cursor:n-resize;
51
+ left:0;
52
+ top:0;
53
+ height:6px;
54
+ }
55
+ .x-resizable-handle-southeast{
56
+ width:6px;
57
+ cursor:se-resize;
58
+ right:0;
59
+ bottom:0;
60
+ height:6px;
61
+ z-index:101;
62
+ }
63
+ .x-resizable-handle-northwest{
64
+ width:6px;
65
+ cursor:nw-resize;
66
+ left:0;
67
+ top:0;
68
+ height:6px;
69
+ z-index:101;
70
+ }
71
+ .x-resizable-handle-northeast{
72
+ width:6px;
73
+ cursor:ne-resize;
74
+ right:0;
75
+ top:0;
76
+ height:6px;
77
+ z-index:101;
78
+ }
79
+ .x-resizable-handle-southwest{
80
+ width:6px;
81
+ cursor:sw-resize;
82
+ left:0;
83
+ bottom:0;
84
+ height:6px;
85
+ z-index:101;
86
+ }
87
+ .x-resizable-over .x-resizable-handle, .x-resizable-pinned .x-resizable-handle{
88
+ filter:alpha(opacity=100);
89
+ opacity:1;
90
+ }
91
+ .x-resizable-over .x-resizable-handle-east, .x-resizable-pinned .x-resizable-handle-east{
92
+ background:url(../images/default/sizer/e-handle.gif);
93
+ background-position: left;
94
+ }
95
+ .x-resizable-over .x-resizable-handle-west, .x-resizable-pinned .x-resizable-handle-west{
96
+ background:url(../images/default/sizer/e-handle.gif);
97
+ background-position: left;
98
+ }
99
+ .x-resizable-over .x-resizable-handle-south, .x-resizable-pinned .x-resizable-handle-south{
100
+ background:url(../images/default/sizer/s-handle.gif);
101
+ background-position: top;
102
+ }
103
+ .x-resizable-over .x-resizable-handle-north, .x-resizable-pinned .x-resizable-handle-north{
104
+ background:url(../images/default/sizer/s-handle.gif);
105
+ background-position: top;
106
+ }
107
+ .x-resizable-over .x-resizable-handle-southeast, .x-resizable-pinned .x-resizable-handle-southeast{
108
+ background:url(../images/default/sizer/se-handle.gif);
109
+ background-position: top left;
110
+ }
111
+ .x-resizable-over .x-resizable-handle-northwest, .x-resizable-pinned .x-resizable-handle-northwest{
112
+ background:url(../images/default/sizer/nw-handle.gif);
113
+ background-position:bottom right;
114
+ }
115
+ .x-resizable-over .x-resizable-handle-northeast, .x-resizable-pinned .x-resizable-handle-northeast{
116
+ background:url(../images/default/sizer/ne-handle.gif);
117
+ background-position: bottom left;
118
+ }
119
+ .x-resizable-over .x-resizable-handle-southwest, .x-resizable-pinned .x-resizable-handle-southwest{
120
+ background:url(../images/default/sizer/sw-handle.gif);
121
+ background-position: top right;
122
+ }
123
+ .x-resizable-proxy{
124
+ border: 1px dashed #6593cf;
125
+ position:absolute;
126
+ overflow:hidden;
127
+ display:none;
128
+ left:0;top:0;
129
+ z-index:50000;
130
+ }
131
+ .x-resizable-overlay{
132
+ width:100%;
133
+ height:100%;
134
+ display:none;
135
+ position:absolute;
136
+ left:0;
137
+ top:0;
138
+ background:white;
139
+ z-index:200000;
140
+ -moz-opacity: 0;
141
+ opacity:0;
142
+ filter: alpha(opacity=0);
143
+ }
js/extjs/resources/css/tabs.css ADDED
@@ -0,0 +1,134 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 1.1 Beta 1
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .x-tabs-wrap {
10
+ border-bottom:1px solid #6593cf;
11
+ padding-top:2px;
12
+ }
13
+ .x-tabs-strip-wrap{
14
+ width:100%;
15
+ }
16
+ .x-tabs-wrap table{
17
+ position:relative;
18
+ top:0; left:0;
19
+ }
20
+ .x-tabs-strip td{
21
+ padding:0;
22
+ padding-left:2px;
23
+ }
24
+ .x-tabs-strip a, .x-tabs-strip span, .x-tabs-strip em {
25
+ display:block;
26
+ }
27
+ .x-tabs-strip a {
28
+ text-decoration:none !important;
29
+ -moz-outline: none;
30
+ outline: none;
31
+ cursor:pointer;
32
+ }
33
+ .x-tabs-strip .x-tabs-text {
34
+ font:bold 11px tahoma,arial,helvetica;
35
+ color:#666;
36
+ overflow:hidden;
37
+ white-space: nowrap;
38
+ cursor:pointer;
39
+ text-overflow: ellipsis;
40
+ }
41
+ .x-tabs-strip .on .x-tabs-text {
42
+ cursor:default;
43
+ color:#083772;
44
+ }
45
+ .x-tabs-strip .disabled .x-tabs-text {
46
+ cursor:default;
47
+ color:#aaaaaa;
48
+ }
49
+ .x-tabs-strip .x-tabs-inner {
50
+ padding:4px 10px;
51
+ }
52
+
53
+ .x-tabs-strip .on .x-tabs-right {
54
+ background: url(../images/default/tabs/tab-sprite.gif) no-repeat right 0;
55
+ }
56
+ .x-tabs-strip .on .x-tabs-left {
57
+ background: url(../images/default/tabs/tab-sprite.gif) no-repeat 0 -100px;
58
+ }
59
+ .x-tabs-strip .x-tabs-right {
60
+ background: url(../images/default/tabs/tab-sprite.gif) no-repeat right -50px;
61
+ }
62
+ .x-tabs-strip .x-tabs-left {
63
+ background: url(../images/default/tabs/tab-sprite.gif) no-repeat 0 -150px;
64
+ }
65
+
66
+ .x-tabs-strip a {
67
+ position:relative;
68
+ top:1px; left:0;
69
+ }
70
+ .x-tabs-strip .on a {
71
+ position:relative;
72
+ }
73
+ .x-tabs-strip .on .x-tabs-inner {
74
+ padding-bottom:5px;
75
+ }
76
+ /** closable tabs */
77
+ .x-tabs-strip .x-tabs-closable .x-tabs-inner{
78
+ padding-right:22px;
79
+ position:relative;
80
+ }
81
+ .x-tabs-strip .x-tabs-closable .close-icon{
82
+ line-height: 1px;
83
+ font-size:1px;
84
+ background-image:url(../images/default/layout/tab-close.gif);
85
+ display:block;
86
+ position:absolute;
87
+ right:5px;top:4px;
88
+ width:11px;height:11px;
89
+ cursor:pointer;
90
+ }
91
+ .x-tabs-strip .on .close-icon{
92
+ background-image:url(../images/default/layout/tab-close-on.gif);
93
+ }
94
+ .x-tabs-strip .x-tabs-closable .close-over{
95
+ background-image:url(../images/default/layout/tab-close-on.gif);
96
+ }
97
+ .x-tabs-body {
98
+ border:1px solid #6593cf;
99
+ border-top:0 none;
100
+ }
101
+ .x-tabs-bottom .x-tabs-wrap {
102
+ border-top:1px solid #6593cf;
103
+ border-bottom:0 none;
104
+ padding-top:0;
105
+ padding-bottom:2px;
106
+ }
107
+ .x-tabs-bottom .x-tabs-strip .x-tabs-right {
108
+ background: url(../images/default/tabs/tab-btm-inactive-right-bg.gif) no-repeat bottom left;
109
+ }
110
+ .x-tabs-bottom .x-tabs-strip .x-tabs-left {
111
+ background: url(../images/default/tabs/tab-btm-inactive-left-bg.gif) no-repeat bottom right;
112
+ }
113
+ .x-tabs-bottom .x-tabs-strip .on .x-tabs-right {
114
+ background: url(../images/default/tabs/tab-btm-right-bg.gif) no-repeat bottom left;
115
+ }
116
+ .x-tabs-bottom .x-tabs-strip .on .x-tabs-left {
117
+ background: url(../images/default/tabs/tab-btm-left-bg.gif) no-repeat bottom right;
118
+ }
119
+ .x-tabs-bottom .x-tabs-strip a {
120
+ position:relative;
121
+ top:0; left:0;
122
+ }
123
+ .x-tabs-bottom .x-tabs-strip .on a {
124
+ margin-top:-1px;
125
+ }
126
+ .x-tabs-bottom .x-tabs-strip .on .x-tabs-inner {
127
+ padding-top:5px;
128
+ }
129
+
130
+ .x-tabs-bottom .x-tabs-body {
131
+ border:1px solid #6593cf;
132
+ border-bottom:0 none;
133
+ }
134
+
js/extjs/resources/css/toolbar.css ADDED
@@ -0,0 +1,174 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 1.1 Beta 1
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .x-toolbar{
10
+ border-top: 1px solid #eaf0f7;
11
+ border-bottom: 1px solid #a9bfd3;
12
+ display: block;
13
+ padding:2px;
14
+ background:#d0def0 url(../images/default/layout/panel-title-light-bg.gif) repeat-x;
15
+ position:relative;
16
+ }
17
+ .x-toolbar .x-item-disabled .x-btn-icon {
18
+ opacity: .35;
19
+ -moz-opacity: .35;
20
+ filter: alpha(opacity=35);
21
+ }
22
+ .x-toolbar td {
23
+ vertical-align:middle;
24
+ }
25
+ .mso .x-toolbar, .x-grid-mso .x-toolbar{
26
+ border: 0 none;
27
+ background: url(../images/default/grid/mso-hd.gif);
28
+ }
29
+ .x-toolbar td, .x-toolbar span, .x-toolbar input, .x-toolbar div, .x-toolbar select, .x-toolbar label{
30
+ white-space: nowrap;
31
+ font:normal 11px tahoma, arial, helvetica, sans-serif;
32
+ }
33
+ .x-toolbar .x-item-disabled {
34
+ color:gray;
35
+ cursor:default;
36
+ opacity:.6;
37
+ -moz-opacity:.6;
38
+ filter:alpha(opacity=60);
39
+ }
40
+ .x-toolbar .x-item-disabled * {
41
+ color:gray;
42
+ cursor:default;
43
+ }
44
+ .x-toolbar .x-btn-left{
45
+ background:none;
46
+ }
47
+ .x-toolbar .x-btn-right{
48
+ background:none;
49
+ }
50
+ .x-toolbar .x-btn-center{
51
+ background:none;
52
+ padding:0 0;
53
+ }
54
+
55
+ .x-toolbar .x-btn-menu-text-wrap .x-btn-center button{
56
+ padding-right:2px;
57
+ }
58
+ .ext-gecko .x-toolbar .x-btn-menu-text-wrap .x-btn-center button{
59
+ padding-right:0;
60
+ }
61
+ .x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button{
62
+ padding:0 2px;
63
+ }
64
+ .x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button {
65
+ width:12px;
66
+ background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat 0 3px;
67
+ }
68
+ .x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button {
69
+ width:12px;
70
+ background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat 0 3px;
71
+ }
72
+ .x-toolbar .x-btn-over .x-btn-menu-arrow-wrap .x-btn-center button {
73
+ background-position: 0 -47px;
74
+ }
75
+ .x-toolbar .x-btn-over .x-btn-left{
76
+ background:url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 0;
77
+ }
78
+ .x-toolbar .x-btn-over .x-btn-right{
79
+ background:url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -21px;
80
+ }
81
+ .x-toolbar .x-btn-over .x-btn-center{
82
+ background:url(../images/default/toolbar/tb-btn-sprite.gif) repeat-x 0 -42px;
83
+ }
84
+
85
+ .x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
86
+ background:url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -63px;
87
+ }
88
+ .x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
89
+ background:url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -84px;
90
+ }
91
+ .x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
92
+ background:url(../images/default/toolbar/tb-btn-sprite.gif) repeat-x 0 -105px;
93
+ }
94
+
95
+ .x-toolbar .x-btn-with-menu .x-btn-center em{
96
+ padding-right:8px;
97
+ }
98
+
99
+ .x-toolbar .ytb-text{
100
+ padding:2px;
101
+ }
102
+ .x-toolbar .ytb-sep {
103
+ background-image: url(../images/default/grid/grid-split.gif);
104
+ background-position: center;
105
+ background-repeat: no-repeat;
106
+ display: block;
107
+ font-size: 1px;
108
+ height: 16px;
109
+ width:4px;
110
+ overflow: hidden;
111
+ cursor:default;
112
+ margin: 0 2px 0;
113
+ border:0;
114
+ }
115
+ .x-toolbar .ytb-spacer {
116
+ width:2px;
117
+ }
118
+ .mso .x-toolbar .ytb-sep, .x-grid-mso .x-toolbar .ytb-sep{
119
+ background-image: url(../images/default/grid/grid-blue-split.gif);
120
+ }
121
+
122
+ /* IE refuses to respect the negative margins in the toolbar */
123
+ .ext-ie .x-toolbar .x-form-field-wrap {
124
+ padding-bottom:1px;
125
+ }
126
+ .ext-ie .x-toolbar .x-form-field-wrap .x-form-trigger {
127
+ top:1px;
128
+ }
129
+ .ext-ie .x-toolbar .x-form-field-wrap .x-form-twin-triggers img {
130
+ margin-top:1px;
131
+ }
132
+
133
+ /* Paging Toolbar */
134
+
135
+ .x-grid-page-number{
136
+ width:24px;
137
+ height:14px;
138
+ }
139
+ .x-grid-page-first .x-btn-text{
140
+ background-image: url(../images/default/grid/page-first.gif);
141
+ }
142
+ .x-grid-loading .x-btn-text{
143
+ background-image: url(../images/default/grid/done.gif);
144
+ }
145
+ .x-grid-page-last .x-btn-text{
146
+ background-image: url(../images/default/grid/page-last.gif);
147
+ }
148
+ .x-grid-page-next .x-btn-text{
149
+ background-image: url(../images/default/grid/page-next.gif);
150
+ }
151
+ .x-grid-page-prev .x-btn-text{
152
+ background-image: url(../images/default/grid/page-prev.gif);
153
+ }
154
+ .x-item-disabled .x-grid-loading .x-btn-text{
155
+ background-image: url(../images/default/grid/loading.gif);
156
+ }
157
+ .x-item-disabled .x-grid-page-first .x-btn-text{
158
+ background-image: url(../images/default/grid/page-first-disabled.gif);
159
+ }
160
+ .x-item-disabled .x-grid-page-last .x-btn-text{
161
+ background-image: url(../images/default/grid/page-last-disabled.gif);
162
+ }
163
+ .x-item-disabled .x-grid-page-next .x-btn-text{
164
+ background-image: url(../images/default/grid/page-next-disabled.gif);
165
+ }
166
+ .x-item-disabled .x-grid-page-prev .x-btn-text{
167
+ background-image: url(../images/default/grid/page-prev-disabled.gif);
168
+ }
169
+ .x-paging-info {
170
+ position:absolute;
171
+ top:8px;
172
+ right: 8px;
173
+ color:#15428b;
174
+ }
js/extjs/resources/css/tree.css ADDED
@@ -0,0 +1,179 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 1.1 Beta 1
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .x-tree-icon, .x-tree-ec-icon, .x-tree-elbow-line, .x-tree-elbow, .x-tree-elbow-end, .x-tree-elbow-plus, .x-tree-elbow-minus, .x-tree-elbow-end-plus, .x-tree-elbow-end-minus{
10
+ border: 0 none;
11
+ height: 18px;
12
+ margin: 0;
13
+ padding: 0;
14
+ vertical-align: middle;
15
+ width: 16px;
16
+ background-repeat: no-repeat;
17
+ }
18
+ .x-tree-node-collapsed .x-tree-node-icon, .x-tree-node-expanded .x-tree-node-icon, .x-tree-node-leaf .x-tree-node-icon{
19
+ border: 0 none;
20
+ height: 18px;
21
+ margin: 0;
22
+ padding: 0;
23
+ vertical-align: middle;
24
+ width: 16px;
25
+ background-position:center;
26
+ background-repeat: no-repeat;
27
+ }
28
+
29
+ /* some default icons for leaf/folder */
30
+ .x-tree-node-collapsed .x-tree-node-icon{
31
+ background-image:url(../images/default/tree/folder.gif);
32
+ }
33
+ .x-tree-node-expanded .x-tree-node-icon{
34
+ background-image:url(../images/default/tree/folder-open.gif);
35
+ }
36
+ .x-tree-node-leaf .x-tree-node-icon{
37
+ background-image:url(../images/default/tree/leaf.gif);
38
+ }
39
+
40
+ .x-tree-noicon .x-tree-node-icon{
41
+ width:0; height:0;
42
+ }
43
+ /* loading icon */
44
+ .x-tree-node-loading .x-tree-node-icon{
45
+ background-image:url(../images/default/tree/loading.gif) !important;
46
+ }
47
+ .x-tree-node-loading a span{
48
+ font-style: italic;
49
+ color:#444444;
50
+ }
51
+
52
+ /* Line styles */
53
+ .x-tree-lines .x-tree-elbow{
54
+ background-image:url(../images/default/tree/elbow.gif);
55
+ }
56
+ .x-tree-lines .x-tree-elbow-plus{
57
+ background-image:url(../images/default/tree/elbow-plus.gif);
58
+ }
59
+ .x-tree-lines .x-tree-elbow-minus{
60
+ background-image:url(../images/default/tree/elbow-minus.gif);
61
+ }
62
+ .x-tree-lines .x-tree-elbow-end{
63
+ background-image:url(../images/default/tree/elbow-end.gif);
64
+ }
65
+ .x-tree-lines .x-tree-elbow-end-plus{
66
+ background-image:url(../images/default/tree/elbow-end-plus.gif);
67
+ }
68
+ .x-tree-lines .x-tree-elbow-end-minus{
69
+ background-image:url(../images/default/tree/elbow-end-minus.gif);
70
+ }
71
+ .x-tree-lines .x-tree-elbow-line{
72
+ background-image:url(../images/default/tree/elbow-line.gif);
73
+ }
74
+
75
+ /* No line styles */
76
+ .x-tree-no-lines .x-tree-elbow{
77
+ background:transparent;
78
+ }
79
+ .x-tree-no-lines .x-tree-elbow-plus{
80
+ background-image:url(../images/default/tree/elbow-plus-nl.gif);
81
+ }
82
+ .x-tree-no-lines .x-tree-elbow-minus{
83
+ background-image:url(../images/default/tree/elbow-minus-nl.gif);
84
+ }
85
+ .x-tree-no-lines .x-tree-elbow-end{
86
+ background:transparent;
87
+ }
88
+ .x-tree-no-lines .x-tree-elbow-end-plus{
89
+ background-image:url(../images/default/tree/elbow-end-plus-nl.gif);
90
+ }
91
+ .x-tree-no-lines .x-tree-elbow-end-minus{
92
+ background-image:url(../images/default/tree/elbow-end-minus-nl.gif);
93
+ }
94
+ .x-tree-no-lines .x-tree-elbow-line{
95
+ background:transparent;
96
+ }
97
+
98
+ .x-tree-elbow-plus, .x-tree-elbow-minus, .x-tree-elbow-end-plus, .x-tree-elbow-end-minus{
99
+ cursor:pointer;
100
+ }
101
+ .ext-ie ul.x-tree-node-ct{
102
+ font-size:0;
103
+ line-height:0;
104
+ }
105
+ .x-tree-node{
106
+ color: black;
107
+ font: normal 11px arial, tahoma, helvetica, sans-serif;
108
+ white-space: nowrap;
109
+ }
110
+ .x-tree-node a, .x-dd-drag-ghost a{
111
+ text-decoration:none;
112
+ color:black;
113
+ -khtml-user-select:none;
114
+ -moz-user-select:none;
115
+ -kthml-user-focus:normal;
116
+ -moz-user-focus:normal;
117
+ -moz-outline: 0 none;
118
+ outline:0 none;
119
+ }
120
+ .x-tree-node a span, .x-dd-drag-ghost a span{
121
+ text-decoration:none;
122
+ color:black;
123
+ padding:1px 3px 1px 2px;
124
+ }
125
+ .x-tree-node .x-tree-node-disabled a span{
126
+ color:gray !important;
127
+ }
128
+ .x-tree-node .x-tree-node-disabled .x-tree-node-icon{
129
+ -moz-opacity: 0.5;
130
+ opacity:.5;
131
+ filter: alpha(opacity=50);
132
+ }
133
+ .x-tree-node .x-tree-node-inline-icon{
134
+ background:transparent;
135
+ }
136
+ .x-tree-node a:hover, .x-dd-drag-ghost a:hover{
137
+ text-decoration:none;
138
+ }
139
+ .x-tree-node div.x-tree-drag-insert-below{
140
+ border-bottom:1px dotted #3366cc;
141
+ }
142
+ .x-tree-node div.x-tree-drag-insert-above{
143
+ border-top:1px dotted #3366cc;
144
+ }
145
+ .x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below{
146
+ border-bottom:0 none;
147
+ }
148
+ .x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above{
149
+ border-top:0 none;
150
+ }
151
+ .x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a{
152
+ border-bottom:2px solid #3366cc;
153
+ }
154
+ .x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a{
155
+ border-top:2px solid #3366cc;
156
+ }
157
+ .x-tree-node .x-tree-drag-append a span{
158
+ background:#dddddd;
159
+ border:1px dotted gray;
160
+ }
161
+ .x-tree-node .x-tree-selected a span{
162
+ background:#3366cc;
163
+ color:white;
164
+ }
165
+ .x-dd-drag-ghost .x-tree-node-indent, .x-dd-drag-ghost .x-tree-ec-icon{
166
+ display:none !important;
167
+ }
168
+ .x-tree-drop-ok-append .x-dd-drop-icon{
169
+ background-image: url(../images/default/tree/drop-add.gif);
170
+ }
171
+ .x-tree-drop-ok-above .x-dd-drop-icon{
172
+ background-image: url(../images/default/tree/drop-over.gif);
173
+ }
174
+ .x-tree-drop-ok-below .x-dd-drop-icon{
175
+ background-image: url(../images/default/tree/drop-under.gif);
176
+ }
177
+ .x-tree-drop-ok-between .x-dd-drop-icon{
178
+ background-image: url(../images/default/tree/drop-between.gif);
179
+ }
js/extjs/resources/css/ytheme-aero.css ADDED
@@ -0,0 +1,582 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 1.0
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ /* menus */
10
+
11
+ .x-menu {
12
+ border:1px solid;
13
+ border-color: #96b9e6 #8BB8F3 #8BB8F3 #96b9e6;
14
+ z-index: 15000;
15
+ zoom:1;
16
+ background:#c3daf9;
17
+ padding:2px;
18
+
19
+ }
20
+ .x-menu-list{
21
+ background: #fafafa;
22
+ border:1px solid #fff;
23
+ border-color:#a3bad9;
24
+ }
25
+ .x-menu-item-icon {
26
+ margin-right:8px;
27
+ }
28
+ .x-menu-sep {
29
+ margin-left:3px;
30
+ }
31
+ .x-menu-item-active {
32
+ color:#233d6d;
33
+ background:#c3daf9;
34
+ border:1px solid #fff;
35
+ padding:0;
36
+ }
37
+
38
+ .x-date-mmenu .x-menu-list{
39
+ padding:0;
40
+ }
41
+ .x-date-mmenu .x-menu-list{
42
+ border:0 none;
43
+ }
44
+
45
+ .x-menu .x-color-palette, .x-menu .x-date-picker{
46
+ margin-left:26px;
47
+ }
48
+ .x-menu-plain .x-color-palette, .x-menu-plain .x-date-picker{
49
+ margin:0;
50
+ border:0 none;
51
+ }
52
+ /**
53
+ * Tabs
54
+ */
55
+ .x-tabs-wrap, .x-layout-panel .x-tabs-top .x-tabs-wrap {
56
+ background:#deecfd;
57
+ border:1px solid #8db2e3;
58
+ padding-bottom:2px;
59
+ padding-top:0;
60
+ }
61
+ .x-tabs-strip-wrap{
62
+ padding-top:1px;
63
+ background:#cedff5 url(../images/aero/tabs/tab-strip-bg.gif) repeat-x bottom;
64
+ border-bottom:1px solid #8db2e3;
65
+ }
66
+ .x-tabs-strip .x-tabs-text {
67
+ color:#15428b;
68
+ font:bold 11px tahoma,arial,verdana,sans-serif;
69
+ }
70
+ .x-tabs-strip .on .x-tabs-text {
71
+ cursor:default;
72
+ color:#15428b;
73
+ }
74
+ .x-tabs-top .x-tabs-strip .on .x-tabs-right {
75
+ background: url(../images/aero/tabs/tab-sprite.gif) no-repeat right 0;
76
+ }
77
+ .x-tabs-top .x-tabs-strip .on .x-tabs-left,.x-tabs-top .x-tabs-strip .on a:hover .x-tabs-left{
78
+ background: url(../images/aero/tabs/tab-sprite.gif) no-repeat 0 -100px;
79
+ }
80
+ .x-tabs-top .x-tabs-strip .x-tabs-right {
81
+ background:transparent url(../images/aero/tabs/tab-sprite.gif) no-repeat right -50px;
82
+ }
83
+ .x-tabs-top .x-tabs-strip .x-tabs-left {
84
+ background:transparent url(../images/aero/tabs/tab-sprite.gif) no-repeat 0 -150px;
85
+ }
86
+ .x-tabs-top .x-tabs-body {
87
+ border:1px solid #8db2e3;
88
+ border-top:0 none;
89
+ }
90
+ .x-tabs-bottom .x-tabs-wrap, .x-layout-panel .x-tabs-bottom .x-tabs-wrap {
91
+ background:#deecfd;
92
+ border:1px solid #8db2e3;
93
+ padding-top:2px;
94
+ padding-bottom:0;
95
+ }
96
+ .x-tabs-bottom .x-tabs-strip-wrap{
97
+ padding-top:0;
98
+ padding-bottom:1px;
99
+ background:#cedff5 url(../images/aero/tabs/tab-strip-btm-bg.gif) repeat-x top;
100
+ border-top:1px solid #8db2e3;
101
+ border-bottom:0 none;
102
+ }
103
+ .x-tabs-bottom .x-tabs-strip .x-tabs-right {
104
+ background:transparent url(../images/aero/tabs/tab-btm-inactive-right-bg.gif) no-repeat bottom right;
105
+ }
106
+ .x-tabs-bottom .x-tabs-strip .x-tabs-left {
107
+ background:transparent url(../images/aero/tabs/tab-btm-inactive-left-bg.gif) no-repeat bottom left;
108
+ }
109
+ .x-tabs-bottom .x-tabs-strip .on .x-tabs-right,.x-tabs-bottom .x-tabs-strip .on a:hover {
110
+ background: url(../images/aero/tabs/tab-btm-right-bg.gif) no-repeat bottom left;
111
+ }
112
+ .x-tabs-bottom .x-tabs-strip .on .x-tabs-left,.x-tabs-bottom .x-tabs-strip .on a:hover .x-tabs-left {
113
+ background: url(../images/aero/tabs/tab-btm-left-bg.gif) no-repeat bottom right;
114
+ }
115
+ .x-tabs-bottom .x-tabs-body {
116
+ border:1px solid #8db2e3;
117
+ border-bottom:0 none;
118
+ }
119
+ /*
120
+ * Basic-Dialog
121
+ */
122
+ .x-dlg-proxy {
123
+ background:#C7DFFC;
124
+ border:1px solid #A5CCF9;
125
+ }
126
+ .x-dlg-shadow{
127
+ background:#cccccc;
128
+ opacity:.3;
129
+ -moz-opacity:.3;
130
+ filter: alpha(opacity=30);
131
+ }
132
+ .x-dlg {
133
+ background:transparent;
134
+ }
135
+ .x-dlg .x-dlg-hd {
136
+ background: url(../images/aero/basic-dialog/hd-sprite.gif) repeat-x 0 -82px;
137
+ background-color:#aabaca;
138
+ color:#15428b;
139
+ zoom:1;
140
+ padding-top:7px;
141
+ }
142
+ .x-dlg .x-dlg-hd-left {
143
+ opacity:.85;
144
+ -moz-opacity:.85;
145
+ filter:alpha(opacity=80);
146
+ background: url(../images/aero/basic-dialog/hd-sprite.gif) no-repeat 0 -41px;
147
+ zoom:1;
148
+ }
149
+ .x-dlg-modal .x-dlg-hd-left {
150
+ opacity:.75;
151
+ -moz-opacity:.75;
152
+ filter:alpha(opacity=70);
153
+ }
154
+
155
+ .x-dlg .x-dlg-hd-right {
156
+ background: url(../images/aero/basic-dialog/hd-sprite.gif) no-repeat right 0;
157
+ zoom:1;
158
+ }
159
+ .x-dlg .x-dlg-dlg-body{
160
+ padding:0 0 0;
161
+ position:absolute;
162
+ top:24px;left:0;
163
+ z-index:1;
164
+ border:0 none;
165
+ background:transparent;
166
+ }
167
+ .x-dlg .x-dlg-bd{
168
+ background:#fff;
169
+ border:1px solid #96b9e6;
170
+ }
171
+ .x-dlg .x-dlg-ft{
172
+ border:0 none;
173
+ background:transparent;
174
+ padding-bottom:8px;
175
+ }
176
+ .x-dlg .x-dlg-bg{
177
+ filter:alpha(opacity=80);
178
+ opacity:.85;
179
+ -moz-opacity:.85;
180
+ zoom:1;
181
+ }
182
+ .x-dlg-modal .x-dlg-bg {
183
+ opacity:.75;
184
+ -moz-opacity:.75;
185
+ filter:alpha(opacity=70);
186
+ }
187
+ .x-dlg .x-dlg-bg-center {
188
+ padding: 2px 7px 7px 7px;
189
+ background:transparent url(../images/aero/basic-dialog/bg-center.gif) repeat-x bottom;
190
+ zoom:1;
191
+ }
192
+ .x-dlg .x-dlg-bg-left{
193
+ padding-left:7px;
194
+ background:transparent url(../images/aero/basic-dialog/bg-left.gif) no-repeat bottom left;
195
+ zoom:1;
196
+ }
197
+ .x-dlg .x-dlg-bg-right{
198
+ padding-right:7px;
199
+ background:transparent url(../images/aero/basic-dialog/bg-right.gif) no-repeat bottom right;
200
+ zoom:1;
201
+ }
202
+ .x-dlg-auto-tabs .x-dlg-dlg-body, .x-dlg-auto-layout .x-dlg-dlg-body{
203
+ background:transparent;
204
+ border:0 none;
205
+ }
206
+ .x-dlg-auto-tabs .x-dlg-bd, .x-dlg-auto-layout .x-dlg-bd{
207
+ background:#fff;
208
+ border:1px solid #e9f3f5;
209
+ }
210
+ .x-dlg-auto-tabs .x-tabs-top .x-tabs-body,.x-dlg-auto-tabs .x-tabs-bottom .x-tabs-body{
211
+ border-color:#8db2e3;
212
+ }
213
+ .x-dlg-auto-tabs .x-tabs-top .x-tabs-wrap,.x-dlg-auto-tabs .x-tabs-bottom .x-tabs-wrap{
214
+ border-color:#8db2e3;
215
+ }
216
+ .x-dlg .x-dlg-toolbox {
217
+ width:50px;
218
+ height:20px;
219
+ right:5px;
220
+ top:5px;
221
+ }
222
+ .x-dlg .x-dlg-close, .x-dlg .x-dlg-collapse {
223
+ width:21px;
224
+ height:20px;
225
+ margin:0;
226
+ }
227
+ .x-dlg .x-dlg-close {
228
+ background-image:url(../images/aero/basic-dialog/aero-close.gif);
229
+ }
230
+ .x-dlg .x-dlg-collapse {
231
+ background-image:url(../images/aero/basic-dialog/collapse.gif);
232
+ }
233
+ .x-dlg-collapsed {
234
+ border-bottom:1px solid #96b9e6;
235
+ }
236
+ .x-dlg .x-dlg-close-over {
237
+ background-image:url(../images/aero/basic-dialog/aero-close-over.gif);
238
+ }
239
+ .x-dlg .x-dlg-collapse-over {
240
+ background-image:url(../images/aero/basic-dialog/collapse-over.gif);
241
+ }
242
+ .x-dlg-collapsed .x-dlg-collapse {
243
+ background-image:url(../images/aero/basic-dialog/expand.gif);
244
+ }
245
+ .x-dlg-collapsed .x-dlg-collapse-over {
246
+ background-image:url(../images/aero/basic-dialog/expand-over.gif);
247
+ }
248
+ .x-dlg div.x-resizable-handle-east{
249
+ background-image:url(../images/aero/s.gif);
250
+ border:0 none;
251
+ }
252
+ .x-dlg div.x-resizable-handle-south{
253
+ background-image:url(../images/aero/s.gif);
254
+ border:0 none;
255
+ }
256
+ .x-dlg div.x-resizable-handle-west{
257
+ background-image:url(../images/aero/s.gif);
258
+ border:0 none;
259
+ }
260
+ .x-dlg div.x-resizable-handle-southeast{
261
+ background-image:url(../images/aero/basic-dialog/se-handle.gif);
262
+ background-position: bottom right;
263
+ width:9px;
264
+ height:9px;
265
+ border:0;
266
+ right:2px;
267
+ bottom:2px;
268
+ }
269
+ .x-dlg div.x-resizable-handle-southwest{
270
+ background-image:url(../images/aero/s.gif);
271
+ background-position: top right;
272
+ margin-left:1px;
273
+ margin-bottom:1px;
274
+ border:0;
275
+ }
276
+ .x-dlg div.x-resizable-handle-north{
277
+ background-image:url(../images/aero/s.gif);
278
+ border:0 none;
279
+ }
280
+
281
+ #x-msg-box .x-dlg-bd{
282
+ background:#CFE0F5;
283
+ border:0 none;
284
+ }
285
+ body.x-masked #x-msg-box .x-dlg-bd, body.x-body-masked #x-msg-box .x-dlg-bd{
286
+ background:#c4d2e3;
287
+ border:0 none;
288
+ }
289
+ /* BorderLayout */
290
+
291
+ .x-layout-container{
292
+ background:#deecfd;
293
+ }
294
+ .x-layout-collapsed{
295
+ background-color:#deecfd;
296
+ border:1px solid #99bbe8;
297
+ }
298
+ .x-layout-collapsed-over{
299
+ background-color:#F5F9FE;
300
+ }
301
+ .x-layout-panel{
302
+ border:1px solid #99bbe8;
303
+ }
304
+ .x-layout-nested-layout .x-layout-panel {
305
+ border:0 none;
306
+ }
307
+ .x-layout-split{
308
+ background-color:#deecfd;
309
+ }
310
+ .x-layout-panel-hd{
311
+ background: #ebeadb url(../images/aero/grid/grid-hrow.gif) repeat-x;
312
+ border-bottom:1px solid #99bbe8;
313
+ }
314
+ .x-layout-panel-hd-text {
315
+ color:#15428b;
316
+ font:bold 11px tahoma,arial,verdana,sans-serif;
317
+ }
318
+
319
+ .x-layout-split-h{
320
+ background:#deecfd;
321
+ }
322
+ .x-layout-split-v{
323
+ background:#deecfd;
324
+ }
325
+ .x-layout-panel .x-tabs-top .x-tabs-wrap{
326
+ border:0 none;
327
+ border-bottom:1px solid #8db2e3;
328
+ }
329
+ .x-layout-panel .x-tabs-bottom .x-tabs-wrap{
330
+ border:0 none;
331
+ border-top:1px solid #8db2e3;
332
+ }
333
+
334
+ .x-layout-nested-layout .x-layout-panel-north {
335
+ border-bottom:1px solid #99bbe8;
336
+ }
337
+ .x-layout-nested-layout .x-layout-panel-south {
338
+ border-top:1px solid #99bbe8;
339
+ }
340
+ .x-layout-nested-layout .x-layout-panel-east {
341
+ border-left:1px solid #99bbe8;
342
+ }
343
+ .x-layout-nested-layout .x-layout-panel-west {
344
+ border-right:1px solid #99bbe8;
345
+ }
346
+ .x-layout-panel-dragover {
347
+ border: 2px solid #99bbe8;
348
+ }
349
+ .x-layout-panel-proxy {
350
+ background-image: url(../images/aero/layout/gradient-bg.gif);
351
+ background-color:#f3f2e7;
352
+ border:1px dashed #99bbe8;
353
+ }
354
+
355
+ .x-layout-container .x-layout-tabs-body{
356
+ border:0 none;
357
+ }
358
+ /** Resizable */
359
+
360
+ .x-resizable-proxy{
361
+ border: 1px dashed #3b5a82;
362
+ }
363
+
364
+ /* grid */
365
+ .x-grid-hd-text {
366
+ color:#15428b;
367
+ font-weight:bold;
368
+ }
369
+ .x-grid-locked .x-grid-body td {
370
+ background: #FBFDFF;
371
+ border-right: 1px solid #deecfd;
372
+ border-bottom: 1px solid #deecfd !important;
373
+ }
374
+ .x-grid-locked .x-grid-body td .x-grid-cell-inner {
375
+ border-top:0 none;
376
+ }
377
+ .x-grid-locked .x-grid-row-alt td{
378
+ background: #F5FAFE;
379
+ }
380
+ .x-grid-locked .x-grid-row-selected td{
381
+ color: #fff !important;
382
+ background-color: #316ac5 !important;
383
+ }
384
+ .x-grid-hd{
385
+ border-bottom:0;
386
+ background:none;
387
+ }
388
+ .x-grid-hd-row{
389
+ height:auto;
390
+ }
391
+ .x-grid-hd-over {
392
+ border-bottom:0 none;
393
+ }
394
+ .x-grid-hd-over .x-grid-hd-body{
395
+ background:none;
396
+ border-bottom:0 none;
397
+ }
398
+ .x-grid-hd-over .x-grid-hd-body{
399
+ background-color: transparent;
400
+ border-bottom:0;
401
+ }
402
+ .x-grid-split {
403
+ background-image: url(../images/aero/grid/grid-blue-split.gif);
404
+ }
405
+ .x-grid-header{
406
+ background: url(../images/aero/grid/grid-hrow.gif);
407
+ border:0 none;
408
+ border-bottom:1px solid #6f99cf;
409
+ }
410
+ .x-grid-row-alt{
411
+ background-color: #f5f5f5;
412
+ }
413
+ .x-grid-row-over td, .x-grid-locked .x-grid-row-over td{
414
+ background-color:#d9e8fb;
415
+ }
416
+ .x-grid-col {
417
+ border-right: 1px solid #eee;
418
+ border-bottom: 1px solid #eee;
419
+ }
420
+ .x-grid-header .x-grid-hd-inner {
421
+ padding-bottom: 1px;
422
+ }
423
+ .x-grid-header .x-grid-hd-text {
424
+ padding-bottom: 3px;
425
+ }
426
+ .x-grid-hd-over .x-grid-hd-inner {
427
+ border-bottom: 1px solid #316ac5;
428
+ padding-bottom: 0;
429
+ }
430
+ .x-grid-hd-over .x-grid-hd-text {
431
+ background: #d5e4f5;
432
+ border-bottom: 1px solid #fff;
433
+ padding-bottom: 2px;
434
+ }
435
+ .x-grid-header .sort-asc .x-grid-hd-inner, .x-grid-header .sort-desc .x-grid-hd-inner {
436
+ border-bottom: 1px solid #316ac5;
437
+ padding-bottom: 0;
438
+ }
439
+ .x-grid-header .sort-asc .x-grid-hd-text, .x-grid-header .sort-desc .x-grid-hd-text {
440
+ border-bottom: 0 none;
441
+ padding-bottom: 3px;
442
+ }
443
+ .x-grid-header .sort-asc .x-grid-sort-icon {
444
+ background-image: url(../images/aero/grid/sort_asc.gif);
445
+ }
446
+ .x-grid-header .sort-desc .x-grid-sort-icon {
447
+ background-image: url(../images/aero/grid/sort_desc.gif);
448
+ }
449
+ .x-dd-drag-proxy .x-grid-hd-inner{
450
+ background: #ebeadb url(../images/aero/grid/grid-hrow.gif) repeat-x;
451
+ height:22px;
452
+ width:120px;
453
+ }
454
+
455
+
456
+ .x-grid-locked td.x-grid-row-marker, .x-grid-locked .x-grid-row-selected td.x-grid-row-marker{
457
+ background: #ebeadb url(../images/aero/grid/grid-hrow.gif) repeat-x 0 0 !important;
458
+ vertical-align:middle !important;
459
+ color:black;
460
+ padding:0;
461
+ border-top:1px solid white;
462
+ border-bottom:1px solid #6f99cf !important;
463
+ border-right:1px solid #6f99cf !important;
464
+ text-align:center;
465
+ }
466
+ .x-grid-locked td.x-grid-row-marker div, .x-grid-locked .x-grid-row-selected td.x-grid-row-marker div{
467
+ padding:0 4px;
468
+ color:#15428b !important;
469
+ text-align:center;
470
+ }
471
+
472
+ /** Toolbar */
473
+ .x-toolbar{
474
+ padding:2px 2px 2px 2px;
475
+ background:#d0def0 url(../images/default/toolbar/tb-bg.gif) repeat-x;
476
+ }
477
+
478
+ .x-toolbar .ytb-sep{
479
+ background-image: url(../images/aero/grid/grid-blue-split.gif);
480
+ }
481
+
482
+ .x-toolbar .x-btn-over .x-btn-left{
483
+ background:url(../images/aero/toolbar/tb-btn-sprite.gif) no-repeat 0 0;
484
+ }
485
+ .x-toolbar .x-btn-over .x-btn-right{
486
+ background:url(../images/aero/toolbar/tb-btn-sprite.gif) no-repeat 0 -21px;
487
+ }
488
+ .x-toolbar .x-btn-over .x-btn-center{
489
+ background:url(../images/aero/toolbar/tb-btn-sprite.gif) repeat-x 0 -42px;
490
+ }
491
+
492
+ .x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
493
+ background:url(../images/aero/toolbar/tb-btn-sprite.gif) no-repeat 0 -63px;
494
+ }
495
+ .x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
496
+ background:url(../images/aero/toolbar/tb-btn-sprite.gif) no-repeat 0 -84px;
497
+ }
498
+ .x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
499
+ background:url(../images/aero/toolbar/tb-btn-sprite.gif) repeat-x 0 -105px;
500
+ }
501
+
502
+
503
+
504
+
505
+ /*************** TABS 2 *****************/
506
+
507
+
508
+ /**
509
+ * Tabs
510
+ */
511
+ .x-tab-panel-header, .x-tab-panel-footer {
512
+ background:#deecfd;
513
+ border:1px solid #8db2e3;
514
+ }
515
+ .x-tab-panel-header {
516
+ background:#deecfd;
517
+ border:1px solid #8db2e3;
518
+ padding-bottom:2px;
519
+ }
520
+ .x-tab-panel-footer {
521
+ background:#deecfd;
522
+ border:1px solid #8db2e3;
523
+ padding-top:2px;
524
+ }
525
+
526
+ .x-tab-strip-top{
527
+ padding-top:1px;
528
+ background:#cedff5 url(../images/aero/tabs/tab-strip-bg.gif) repeat-x bottom;
529
+ border-bottom:1px solid #8db2e3;
530
+ }
531
+ .x-tab-strip-bottom{
532
+ padding-bottom:1px;
533
+ background:#cedff5 url(../images/aero/tabs/tab-strip-btm-bg.gif) repeat-x top;
534
+ border-top:1px solid #8db2e3;
535
+ border-bottom:0 none;
536
+ }
537
+
538
+ .x-tab-strip .x-tab-strip-text {
539
+ color:#15428b;
540
+ font:bold 11px tahoma,arial,verdana,sans-serif;
541
+ }
542
+ .x-tab-strip .x-tab-strip-active .x-tab-text {
543
+ cursor:default;
544
+ color:#15428b;
545
+ }
546
+
547
+ .x-tab-strip-top .x-tab-strip-active .x-tab-right {
548
+ background: url(../images/aero/tabs/tab-sprite.gif) no-repeat right 0;
549
+ }
550
+ .x-tab-strip-top .x-tab-strip-active .x-tab-left {
551
+ background: url(../images/aero/tabs/tab-sprite.gif) no-repeat 0 -100px;
552
+ }
553
+ .x-tab-strip-top .x-tab-right {
554
+ background: url(../images/aero/tabs/tab-sprite.gif) no-repeat right -50px;
555
+ }
556
+ .x-tab-strip-top .x-tab-left {
557
+ background: url(../images/aero/tabs/tab-sprite.gif) no-repeat 0 -150px;
558
+ }
559
+
560
+
561
+ .x-tab-strip-bottom .x-tab-right {
562
+ background: url(../images/aero/tabs/tab-btm-inactive-right-bg.gif) no-repeat bottom left;
563
+ }
564
+ .x-tab-strip-bottom .x-tab-left {
565
+ background: url(../images/aero/tabs/tab-btm-inactive-left-bg.gif) no-repeat bottom right;
566
+ }
567
+ .x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
568
+ background: url(../images/aero/tabs/tab-btm-right-bg.gif) no-repeat bottom left;
569
+ }
570
+ .x-tab-strip-bottom .x-tab-strip-active .x-tab-left {
571
+ background: url(../images/aero/tabs/tab-btm-left-bg.gif) no-repeat bottom right;
572
+ }
573
+
574
+ .x-tab-panel-body-top {
575
+ border:1px solid #8db2e3;
576
+ border-top:0 none;
577
+ }
578
+
579
+ .x-tab-panel-body-bottom {
580
+ border:1px solid #8db2e3;
581
+ border-bottom:0 none;
582
+ }
js/extjs/resources/css/ytheme-galdaka.css ADDED
@@ -0,0 +1,533 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*****************************************/
2
+ /*galdaka theme - by Jose Alfonso Dacosta*/
3
+ /*****************************************/
4
+
5
+ /*TABS*/
6
+ .x-tabs-wrap {
7
+ border-bottom:1px solid #848284;
8
+ }
9
+ .x-tabs-strip .x-tabs-text {
10
+ font:bold 10px tahoma,arial,helvetica;
11
+ }
12
+ .x-tabs-strip .on .x-tabs-text {
13
+ color:#393939;
14
+ }
15
+ .x-tabs-strip .on .x-tabs-right {
16
+ background: url(../images/galdaka/tabs/tab-sprite.gif) no-repeat right 0;
17
+ }
18
+ .x-tabs-strip .on .x-tabs-left {
19
+ background: url(../images/galdaka/tabs/tab-sprite.gif) no-repeat 0 -100px;
20
+ }
21
+ .x-tabs-strip .x-tabs-right {
22
+ background: url(../images/galdaka/tabs/tab-sprite.gif) no-repeat right -50px;
23
+ }
24
+ .x-tabs-strip .x-tabs-left {
25
+ background: url(../images/galdaka/tabs/tab-sprite.gif) no-repeat 0 -150px;
26
+ }
27
+ .x-tabs-strip .x-tabs-closable .close-icon{
28
+ background-image:url(../images/galdaka/layout/tab-close.gif);
29
+ }
30
+ .x-tabs-strip .on .close-icon{
31
+ background-image:url(../images/galdaka/layout/tab-close.gif);
32
+ }
33
+ .x-tabs-strip .x-tabs-closable .close-over{
34
+ background-image:url(../images/galdaka/layout/tab-close-on.gif);
35
+ }
36
+ .x-tabs-bottom .x-tabs-strip .x-tabs-right {
37
+ background: url(../images/galdaka/tabs/tab-btm-inactive-right-bg.gif) no-repeat bottom left;
38
+ }
39
+ .x-tabs-bottom .x-tabs-strip .x-tabs-left {
40
+ background: url(../images/galdaka/tabs/tab-btm-inactive-left-bg.gif) no-repeat bottom right;
41
+ }
42
+ .x-tabs-bottom .x-tabs-strip .on .x-tabs-right {
43
+ background: url(../images/galdaka/tabs/tab-btm-right-bg.gif) no-repeat bottom left;
44
+ }
45
+ .x-tabs-bottom .x-tabs-strip .on .x-tabs-left {
46
+ background: url(../images/galdaka/tabs/tab-btm-left-bg.gif) no-repeat bottom right;
47
+ }
48
+ .x-tabs-body {
49
+ border-bottom: 0px;
50
+ border-left: 0px;
51
+ border-right: 0px;
52
+ }
53
+ .x-tabs-bottom .x-tabs-wrap {
54
+ border-top:1px solid #848284;
55
+ }
56
+
57
+ /*TOOLBAR*/
58
+ .x-toolbar{
59
+ background-color: #f2f2f3;
60
+ background: url(../images/galdaka/toolbar/fondoToolbar.gif);
61
+ background-repeat: repeat-x;
62
+ border: 0px solid #c0c0c0;
63
+ height: 20px;
64
+ }
65
+ .x-toolbar .x-tb-button-over{
66
+ background:#c3d3ed url(../images/galdaka/toolbar/btn-over-bg.gif) repeat-x;
67
+ border:1px solid #7A7A7A;
68
+ padding:1px 2px;
69
+ }
70
+ .x-toolbar .x-btn-over .x-btn-left{
71
+ background:url(../images/galdaka/toolbar/tb-btn-sprite.gif) no-repeat 0 0;
72
+ }
73
+ .x-toolbar .x-btn-over .x-btn-right{
74
+ background:url(../images/galdaka/toolbar/tb-btn-sprite.gif) no-repeat 0 -21px;
75
+ }
76
+ .x-toolbar .x-btn-over .x-btn-center{
77
+ background:url(../images/galdaka/toolbar/tb-btn-sprite.gif) repeat-x 0 -42px;
78
+ }
79
+ .x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
80
+ background:url(../images/galdaka/toolbar/tb-btn-sprite.gif) no-repeat 0 -63px;
81
+ }
82
+ .x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
83
+ background:url(../images/galdaka/toolbar/tb-btn-sprite.gif) no-repeat 0 -84px;
84
+ }
85
+ .x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
86
+ background:url(../images/galdaka/toolbar/tb-btn-sprite.gif) repeat-x 0 -105px;
87
+ }
88
+ .x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button {
89
+ background:transparent url(../images/galdaka/toolbar/btn-arrow.gif) no-repeat 0 0;
90
+ }
91
+ .x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button {
92
+ background:transparent url(../images/galdaka/toolbar/btn-arrow.gif) no-repeat 0 3px;
93
+ }
94
+
95
+ /*PAGING TOOLBAR*/
96
+ .x-grid-page-first .x-btn-text{
97
+ background-image: url(../images/galdaka/grid/page-first.gif);
98
+ }
99
+ .x-grid-page-last .x-btn-text{
100
+ background-image: url(../images/galdaka/grid/page-last.gif);
101
+ }
102
+ .x-grid-page-next .x-btn-text{
103
+ background-image: url(../images/galdaka/grid/page-next.gif);
104
+ }
105
+ .x-grid-page-prev .x-btn-text{
106
+ background-image: url(../images/galdaka/grid/page-prev.gif);
107
+ }
108
+ .x-paging-info {
109
+ color:#000000;
110
+ }
111
+
112
+ /*GRID*/
113
+ .x-grid-col{
114
+ border-right: 1px solid #f1efe2;
115
+ border-bottom: 1px solid #f1efe2;
116
+ }
117
+ .x-grid-row-alt{
118
+ background: #fffbff;
119
+ }
120
+ .x-grid-row-over td{
121
+ background: #f1f1f1;
122
+ }
123
+ .x-grid-header{
124
+ background: #ebeadb url(../images/galdaka/grid/fondoCabeceraHover.gif) repeat-x;
125
+ }
126
+ .x-grid-hd-over .x-grid-hd-inner {
127
+ border-bottom: 1px solid #cccccc;
128
+ }
129
+ .x-grid-hd-over .x-grid-hd-text {
130
+ background: #fafafa url(../images/galdaka/grid/grid-hrow.gif) repeat-x 0 1px;
131
+ border-bottom: 1px solid #c0c0c0;
132
+ }
133
+ .x-grid-hd-text {
134
+ color: black;
135
+ }
136
+ .x-dd-drag-proxy .x-grid-hd-inner{
137
+ background: #ebeadb url(../images/galdaka/grid/grid-hrow.gif) repeat-x;
138
+ }
139
+ .col-move-top{
140
+ background:transparent url(../images/galdaka/grid/col-move-top.gif) no-repeat left top;
141
+ }
142
+ .col-move-bottom{
143
+ background:transparent url(../images/galdaka/grid/col-move-bottom.gif) no-repeat left top;
144
+ }
145
+ .x-grid-row-selected td, .x-grid-locked .x-grid-row-selected td{
146
+ background-color: #e4dce4 !important;
147
+ }
148
+ .x-grid-row-selected span, .x-grid-row-selected b, .x-grid-row-selected div, .x-grid-row-selected strong, .x-grid-row-selected i{
149
+ color: black !important;
150
+ }
151
+ .x-grid-row-selected .x-grid-cell-text{
152
+ color: black;
153
+ }
154
+ .x-grid-cell-selected{
155
+ background-color: #e4dce4 !important;
156
+ color: black;
157
+ }
158
+ .x-grid-cell-selected span{
159
+ color: black !important;
160
+ }
161
+ .x-grid-cell-selected .x-grid-cell-text{
162
+ color: black;
163
+ }
164
+ .x-grid-bottombar .x-toolbar{
165
+ border-top:1px solid #c0c0c0;
166
+ }
167
+
168
+ /*RESIZEABLE*/
169
+ .x-resizable-over .x-resizable-handle-east, .x-resizable-pinned .x-resizable-handle-east{
170
+ background:url(../images/galdaka/sizer/e-handle.gif);
171
+ background-position: left;
172
+ }
173
+ .x-resizable-over .x-resizable-handle-east, .x-resizable-pinned .x-resizable-handle-west{
174
+ background:url(../images/galdaka/sizer/e-handle.gif);
175
+ background-position: left;
176
+ }
177
+ .x-resizable-over .x-resizable-handle-south, .x-resizable-pinned .x-resizable-handle-south{
178
+ background:url(../images/galdaka/sizer/s-handle.gif);
179
+ background-position: top;
180
+ }
181
+ .x-resizable-over .x-resizable-handle-south, .x-resizable-pinned .x-resizable-handle-north{
182
+ background:url(../images/galdaka/sizer/s-handle.gif);
183
+ background-position: top;
184
+ }
185
+ .x-resizable-over .x-resizable-handle-southeast, .x-resizable-pinned .x-resizable-handle-southeast{
186
+ background:url(../images/galdaka/sizer/se-handle.gif);
187
+ background-position: top left;
188
+ }
189
+ .x-resizable-over .x-resizable-handle-northwest,.x-resizable-pinned .x-resizable-handle-northwest{
190
+ background:url(../images/galdaka/sizer/nw-handle.gif);
191
+ background-position:bottom right;
192
+ }
193
+ .x-resizable-over .x-resizable-handle-northeast,.x-resizable-pinned .x-resizable-handle-northeast{
194
+ background:url(../images/galdaka/sizer/ne-handle.gif);
195
+ background-position: bottom left;
196
+ }
197
+ .x-resizable-over .x-resizable-handle-southwest,.x-resizable-pinned .x-resizable-handle-southwest{
198
+ background:url(../images/galdaka/sizer/sw-handle.gif);
199
+ background-position: top right;
200
+ }
201
+ .x-resizable-proxy{
202
+ border: 1px dashed #615e55;
203
+ }
204
+
205
+ /*LAYOUT*/
206
+ .x-layout-container{
207
+ background-color:#f6f1f3;
208
+ }
209
+ .x-layout-collapsed{
210
+ background-color:#f6f1f3;
211
+ border:1px solid #c0c0c0;
212
+ }
213
+ .x-layout-collapsed-over{
214
+ background-color:#e7e3e5;
215
+ }
216
+ .x-layout-panel{
217
+ border:1px solid #c0c0c0;
218
+ }
219
+ .x-layout-split{
220
+ background-color:#f6f1f3;
221
+ }
222
+ .x-layout-panel-hd{
223
+ background-image: url(../images/galdaka/layout/panel-title-light-bg.gif);
224
+ border-bottom:1px solid #c0c0c0;
225
+ }
226
+ .x-layout-tools-button-over{
227
+ border:1px solid #c0c0c0;
228
+ }
229
+ .x-layout-nested-layout .x-layout-panel-north {
230
+ border-bottom:1px solid #c0c0c0;
231
+ }
232
+ .x-layout-nested-layout .x-layout-panel-south {
233
+ border-top:1px solid #c0c0c0;
234
+ }
235
+ .x-layout-nested-layout .x-layout-panel-east {
236
+ border-left:1px solid #c0c0c0;
237
+ }
238
+ .x-layout-nested-layout .x-layout-panel-west {
239
+ border-right:1px solid #c0c0c0;
240
+ }
241
+ .x-layout-split-h{
242
+ background-image:url(../images/galdaka/layout/e-handle.gif);
243
+ }
244
+ .x-layout-split-v{
245
+ background-image:url(../images/galdaka/layout/s-handle.gif);
246
+ }
247
+ .x-layout-panel .x-tabs-wrap{
248
+ background:url(../images/galdaka/layout/gradient-bg.gif);
249
+ }
250
+ .x-layout-close{
251
+ background-image:url(../images/galdaka/layout/panel-close.gif);
252
+ }
253
+ .x-layout-stick{
254
+ background-image:url(../images/galdaka/layout/stick.gif);
255
+ }
256
+ .x-layout-collapse-west,.x-layout-expand-east{
257
+ background-image:url(../images/galdaka/layout/collapse.gif);
258
+ }
259
+ .x-layout-expand-west,.x-layout-collapse-east{
260
+ background-image:url(../images/galdaka/layout/expand.gif);
261
+ }
262
+ .x-layout-collapse-north,.x-layout-expand-south{
263
+ background-image:url(../images/galdaka/layout/ns-collapse.gif);
264
+ }
265
+ .x-layout-expand-north,.x-layout-collapse-south{
266
+ background-image:url(../images/galdaka/layout/ns-expand.gif);
267
+ }
268
+ /*DIALOG*/
269
+ .x-dlg-proxy {
270
+ background-image: url(../images/galdaka/basic-dialog/gradient-bg.gif);
271
+ background-color:#EAE8D5;
272
+ border:1px solid #b3b6b0;
273
+ }
274
+ .x-dlg-shadow{
275
+ background:#aaaaaa;
276
+ }
277
+ .x-dlg-proxy .tabset{
278
+ background:url(../images/galdaka/basic-dialog/gradient-bg.gif);
279
+ }
280
+
281
+ .x-dlg .x-dlg-hd {
282
+ background: url(../images/galdaka/basic-dialog/hd-sprite.gif) repeat-x 0px -82px;
283
+ background-color:#333333;
284
+ }
285
+ .x-dlg .x-dlg-hd-left {
286
+ background: url(../images/galdaka/basic-dialog/hd-sprite.gif) no-repeat 0px -41px;
287
+ }
288
+ .x-dlg .x-dlg-hd-right {
289
+ background: url(../images/galdaka/basic-dialog/hd-sprite.gif) no-repeat right 0px;
290
+ }
291
+ .x-dlg .x-dlg-close {
292
+ width:19px;
293
+ height:19px;
294
+ top:-2px;
295
+ right:5px;
296
+ opacity:.85;-moz-opacity:.85;filter:alpha(opacity=80);
297
+ background-image:url(../images/galdaka/basic-dialog/close.gif);
298
+ zoom:1;
299
+ }
300
+ .x-dlg .x-dlg-close-over {
301
+ background-image:url(../images/galdaka/basic-dialog/close-over.gif);
302
+ }
303
+ .x-dlg .x-dlg-collapse {
304
+ background-image:url(../images/galdaka/basic-dialog/collapse.gif);
305
+ }
306
+ .x-dlg .x-dlg-collapse-over {
307
+ background-image:url(../images/galdaka/basic-dialog/collapse-over.gif);
308
+ }
309
+ .x-dlg-collapsed {
310
+ border-bottom:1px solid #96b9e6;
311
+ }
312
+ .x-dlg-collapsed .x-dlg-collapse {
313
+ background-image:url(.../images/galdaka/basic-dialog/expand.gif);
314
+ }
315
+ .x-dlg-collapsed .x-dlg-collapse-over {
316
+ background-image:url(../images/galdaka/basic-dialog/expand-over.gif);
317
+ }
318
+
319
+ .x-dlg .x-dlg-dlg-body{
320
+ background:#efefec;
321
+ border:1px solid #b3b6b0;
322
+ border-top:0px none;
323
+ }
324
+ .x-dlg .x-tabs-top .x-ui-ext-tabbody{
325
+ border:1px solid #b3b6b0;
326
+ border-top:0px none;
327
+ }
328
+ .x-dlg .x-tabs-bottom .x-ui-ext-tabbody{
329
+ border:1px solid #b3b6b0;
330
+ border-bottom:0px none;
331
+ }
332
+ .x-dlg .x-layout-container .x-ui-ext-tabbody{
333
+ border:0px none;
334
+ }
335
+ .x-dlg div.x-resizable-handle-east{
336
+ background-image:url(../images/galdaka/basic-dialog/e-handle.gif);
337
+ }
338
+ .x-dlg div.x-resizable-handle-south{
339
+ background-image:url(../images/galdaka/basic-dialog/s-handle.gif);
340
+ }
341
+ .x-dlg div.x-resizable-handle-west{
342
+ background-image:url(../images/galdaka/basic-dialog/e-handle.gif);
343
+ }
344
+ .x-dlg div.x-resizable-handle-southeast{
345
+ background-image:url(../images/galdaka/basic-dialog/se-handle.gif);
346
+ }
347
+ .x-dlg div.x-resizable-handle-southwest{
348
+ background-image:url(../images/galdaka/basic-dialog/sw-handle.gif);
349
+ }
350
+
351
+ /*TREE*/
352
+ .x-tree-node .x-tree-selected a span{
353
+ background: #a8a6a6;
354
+ }
355
+
356
+ /*MENU*/
357
+ .x-menu {
358
+ border-color: #cecece #c0c0c0 #c0c0c0 #cecece;
359
+ background: #fff url(../images/galdaka/menu/menu.gif) repeat-y;
360
+ }
361
+ .x-menu-list-item{
362
+ font:normal 11px Arial, Verdana, Helvetica, sans-serif,tahoma,"Lucida Sans Unicode",arial, sans-serif;
363
+ }
364
+ .x-menu-sep {
365
+ background:#bdbdbd;
366
+ }
367
+ .x-menu-item {
368
+ color:#000000;
369
+ }
370
+ .x-menu-item-active {
371
+ background:#f1f1f1;
372
+ border:1px solid #dcdcdc;
373
+ }
374
+ .x-menu-item-arrow{
375
+ background:transparent url(../images/galdaka/menu/menu-parent.gif) no-repeat right;
376
+ }
377
+ .x-menu-check-item .x-menu-item-icon{
378
+ background: transparent url(../images/galdaka/menu/unchecked.gif) no-repeat center;
379
+ }
380
+ .x-menu-item-checked .x-menu-item-icon{
381
+ background-image:url(../images/galdaka/menu/checked.gif);
382
+ }
383
+ .x-menu-group-item .x-menu-item-icon{
384
+ background: transparent;
385
+ }
386
+ .x-menu-item-checked .x-menu-group-item .x-menu-item-icon{
387
+ background: transparent url(../images/galdaka/menu/group-checked.gif) no-repeat center;
388
+ }
389
+
390
+ /*DATE-PICKER*/
391
+ .x-date-middle,.x-date-left,.x-date-right {
392
+ background: url(../images/galdaka/basic-dialog/hd-sprite.gif) repeat-x 0 -83px;
393
+ font: bold 11px arial, verdana, "sans serif", tahoma, helvetica;
394
+ }
395
+ .x-date-right a {
396
+ background-image: url(../images/galdaka/shared/right-btn.gif);
397
+ }
398
+ .x-date-left a{
399
+ background-image: url(../images/galdaka/shared/left-btn.gif);
400
+ }
401
+ .x-date-inner th {
402
+ background: #848484;
403
+ color: #FFFFFF;
404
+ }
405
+ .x-date-inner .x-date-selected a{
406
+ background: #f6f6f6;
407
+ border: 1px solid #5e5e5e;
408
+ }
409
+ .x-date-inner .x-date-today a{
410
+ border: 1px solid #dedede;
411
+ }
412
+ .x-date-bottom {
413
+ border-top: 1px solid #848484;
414
+ background: #e7e7e7;
415
+ }
416
+ .x-date-inner a:hover, .x-date-inner .x-date-disabled a:hover{
417
+ background: #F0F0F0;
418
+ }
419
+
420
+ /*FORM*/
421
+ .x-form-field{
422
+ font:normal 11px arial, verdana, tahoma, arial, helvetica, sans-serif;
423
+ }
424
+ .x-form-field-wrap .x-form-trigger{
425
+ right: 0px;
426
+ }
427
+ .x-form-field-wrap .x-form-trigger{
428
+ background:transparent url(../images/galdaka/form/trigger.gif) no-repeat 0 0;
429
+ }
430
+ .x-form-field-wrap .x-form-date-trigger{
431
+ background:transparent url(../images/galdaka/form/date-trigger.gif) no-repeat 0 0;
432
+ }
433
+ .x-form-focus{
434
+ border: 1px solid #000000;
435
+ }
436
+ .x-form-item {
437
+ font:normal 11px arial, verdana, tahoma, arial, helvetica, sans-serif;
438
+ color: #808594;
439
+ }
440
+ .x-form fieldset {
441
+ border:1px solid #dedede;
442
+ }
443
+ .x-form fieldset legend {
444
+ font: bold 11px verdana, tahoma, arial, helvetica, sans-serif;
445
+ color: #606060;
446
+ }
447
+
448
+ /*COMBOBOX*/
449
+ .x-combo-list {
450
+ border:1px solid #b5b8c8;
451
+ }
452
+ .x-combo-list-item {
453
+ font:normal 11px arial, tahoma, arial, helvetica, sans-serif;
454
+ }
455
+ .x-combo-list .x-combo-selected{
456
+ background-color: #e7e7e7 !important;
457
+ border:1px solid #5e5e5e;
458
+ }
459
+
460
+ /*BOX*/
461
+ .x-box-blue .x-box-mc {
462
+ background-color: #e7e7e7;
463
+ }
464
+
465
+ /*MASK*/
466
+ .ext-el-mask-msg {
467
+ border:1px solid #5e5e5e;
468
+ background: #eeeeee url(../images/default/box/tb.gif) repeat-x 0 -16px;
469
+ }
470
+ .ext-el-mask-msg div {
471
+ border:1px solid #ccc;
472
+ font:bold 10px verdana, arial, tahoma, helvetica, sans-serif;
473
+ }
474
+
475
+ /*LOADING MASK GRANDE (GEN�RICO PARA FORMULARIOS)*/
476
+ #class .loading-indicator{
477
+ font-size: 11px;
478
+ height:15px;
479
+ }
480
+ .loading-indicator {
481
+ background-color: white;
482
+ background-image: none;
483
+ padding-left:20px;
484
+ height:15px;
485
+ text-align:left;
486
+ }
487
+ #loading{
488
+ position:absolute;
489
+ left:45%;
490
+ top:40%;
491
+ border:1px solid #979797;
492
+ padding:2px;
493
+ background:#c6c6c6;
494
+ width:130px;
495
+ text-align:center;
496
+ z-index:20001;
497
+ }
498
+ #loading .loading-indicator{
499
+ border:1px solid #dedede;
500
+ color:#000000;
501
+ font: bold 10px verdana, tahoma,arial,helvetica;
502
+ padding:5px;
503
+ margin:0;
504
+ }
505
+
506
+ /*QTIP GENERAL*/
507
+ .x-tip .x-tip-top {
508
+ background: transparent url(../images/galdaka/qtip/tip-sprite.gif) no-repeat 0 -12px;
509
+ }
510
+ .x-tip .x-tip-top-left {
511
+ background: transparent url(../images/galdaka/qtip/tip-sprite.gif) no-repeat 0 0;
512
+ }
513
+ .x-tip .x-tip-top-right {
514
+ background: transparent url(../images/galdaka/qtip/tip-sprite.gif) no-repeat right 0;
515
+ }
516
+ .x-tip .x-tip-ft {
517
+ background: transparent url(../images/galdaka/qtip/tip-sprite.gif) no-repeat 0 -18px;
518
+ }
519
+ .x-tip .x-tip-ft-left {
520
+ background: transparent url(../images/galdaka/qtip/tip-sprite.gif) no-repeat 0 -6px;
521
+ }
522
+ .x-tip .x-tip-ft-right {
523
+ background: transparent url(../images/galdaka/qtip/tip-sprite.gif) no-repeat right -6px;
524
+ }
525
+ .x-tip .x-tip-bd {
526
+ font: normal 11px arial, tahoma,arial,helvetica,sans-serif;
527
+ }
528
+ .x-tip .x-tip-bd-left {
529
+ background: #fff url(../images/galdaka/qtip/tip-sprite.gif) no-repeat 0 -24px;
530
+ }
531
+ .x-tip .x-tip-bd-right {
532
+ background: transparent url(../images/galdaka/qtip/tip-sprite.gif) no-repeat right -24px;
533
+ }
js/extjs/resources/css/ytheme-gray.css ADDED
@@ -0,0 +1,438 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 1.0
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+
10
+ .ext-el-mask-msg {
11
+ border:1px solid #aaa;
12
+ background: #ddd url(../images/default/box/tb.gif) repeat-x 0 -16px;
13
+ }
14
+ .ext-el-mask-msg div {
15
+ border:1px solid #ccc;
16
+ }
17
+
18
+ /*
19
+ Menu
20
+ */
21
+ .x-menu {
22
+ border-color: #999 #999 #999 #999;
23
+ background-image:url(../images/gray/menu/menu.gif);
24
+ }
25
+ .x-menu-item-arrow{
26
+ background-image:url(../images/gray/menu/menu-parent.gif);
27
+ }
28
+ .x-menu-item {
29
+ color:#222;
30
+ }
31
+ .x-menu-item-active {
32
+ background:#ddd;
33
+ border:1px solid #aaa;
34
+ }
35
+ .x-menu-sep {
36
+ background:#aaa;
37
+ }
38
+
39
+ /* grid */
40
+ .x-grid-header{
41
+ background: #ebeadb url(../images/gray/grid/grid-hrow.gif) repeat-x;
42
+ overflow:hidden;
43
+ position:relative;
44
+ cursor:default;
45
+ width:100%;
46
+ }
47
+ .x-grid-hd-row{
48
+ height:22px;
49
+ }
50
+ .x-grid-hd {
51
+ padding-right:1px;
52
+ }
53
+ .x-grid-hd-over .x-grid-hd-inner {
54
+ border-bottom: 1px solid #fcc247;
55
+ }
56
+ .x-grid-hd-over .x-grid-hd-text {
57
+ background: #faf9f4;
58
+ padding-bottom:1px;
59
+ border-bottom: 1px solid #f9a900;
60
+ }
61
+
62
+ .x-grid-hd-text {
63
+ color:#000000;
64
+ }
65
+
66
+ .x-grid-col {
67
+ border-right: 1px solid #f1efe2;
68
+ border-bottom: 1px solid #f1efe2;
69
+ }
70
+ .x-grid-row-alt{
71
+ background:#fcfaf6;
72
+ }
73
+ .x-grid-row-over td{
74
+ background:#f1f1f1;
75
+ }
76
+
77
+
78
+ .x-grid-locked .x-grid-body td {
79
+ background: #f0efe4;
80
+ border-right: 1px solid #D6D2C2;
81
+ border-bottom: 1px solid #D6D2C2 !important;
82
+ }
83
+
84
+ .x-grid-locked .x-grid-header table{
85
+ border-right:1px solid transparent;
86
+ }
87
+ .x-grid-locked .x-grid-body table{
88
+ border-right:1px solid #c6c2b2;
89
+ }
90
+
91
+ .x-grid-bottombar .x-toolbar{
92
+ border-right:0 none;
93
+ border-bottom:0 none;
94
+ border-top:1px solid #f1efe2;
95
+ }
96
+
97
+ .x-props-grid .x-grid-col-name{
98
+ background-color: #f1efe2;
99
+ }
100
+
101
+
102
+
103
+ .x-grid-locked td.x-grid-row-marker, .x-grid-locked .x-grid-row-selected td.x-grid-row-marker{
104
+ background: #ebeadb url(../images/gray/grid/grid-hrow.gif) repeat-x 0 bottom !important;
105
+ vertical-align:middle !important;
106
+ color:black;
107
+ padding:0;
108
+ border-top:1px solid white;
109
+ border-bottom:none !important;
110
+ border-right:1px solid #d6d2c2 !important;
111
+ text-align:center;
112
+ }
113
+ .x-grid-locked td.x-grid-row-marker div, .x-grid-locked .x-grid-row-selected td.x-grid-row-marker div{
114
+ padding:0 4px;
115
+ color:black !important;
116
+ text-align:center;
117
+ }
118
+
119
+ /**
120
+ * Basic-Dialog
121
+ */
122
+ .x-dlg-proxy {
123
+ background-image: url(../images/gray/layout/gradient-bg.gif);
124
+ background-color:#EAE8D5;
125
+ border:1px solid #b3b6b0;
126
+ }
127
+ .x-dlg-shadow{
128
+ background:#aaaaaa;
129
+ }
130
+ .x-dlg-proxy .tabset{
131
+ background:url(../images/gray/layout/gradient-bg.gif);
132
+ }
133
+ .x-dlg .x-dlg-hd {
134
+ background: url(../images/gray/basic-dialog/hd-sprite.gif) repeat-x 0 -82px;
135
+ background-color:#333333;
136
+ }
137
+ .x-dlg .x-dlg-hd-left {
138
+ background: url(../images/gray/basic-dialog/hd-sprite.gif) no-repeat 0 -41px;
139
+ }
140
+ .x-dlg .x-dlg-hd-right {
141
+ background: url(../images/gray/basic-dialog/hd-sprite.gif) no-repeat right 0;
142
+ }
143
+ .x-dlg .x-dlg-dlg-body{
144
+ background:#efefec;
145
+ border:1px solid #b3b6b0;
146
+ border-top:0 none;
147
+ }
148
+ .x-dlg .x-tabs-top .x-tabs-body{
149
+ border:1px solid #b3b6b0;
150
+ border-top:0 none;
151
+ }
152
+ .x-dlg .x-tabs-bottom .x-tabs-body{
153
+ border:1px solid #b3b6b0;
154
+ border-bottom:0 none;
155
+ }
156
+ .x-dlg .x-layout-container .x-tabs-body{
157
+ border:0 none;
158
+ }
159
+ .x-dlg .x-dlg-close {
160
+ background-image:url(../images/gray/basic-dialog/close.gif);
161
+ }
162
+ .x-dlg .x-dlg-collapse {
163
+ background-image:url(../images/gray/basic-dialog/collapse.gif);
164
+ }
165
+ .x-dlg-collapsed .x-dlg-collapse {
166
+ background-image:url(../images/gray/basic-dialog/expand.gif);
167
+ }
168
+ .x-dlg div.x-resizable-handle-east{
169
+ background-image:url(../images/gray/basic-dialog/e-handle.gif);
170
+ border:0 none;
171
+ }
172
+ .x-dlg div.x-resizable-handle-south{
173
+ background-image:url(../images/gray/basic-dialog/s-handle.gif);
174
+ border:0 none;
175
+ }
176
+ .x-dlg div.x-resizable-handle-west{
177
+ background-image:url(../images/gray/basic-dialog/e-handle.gif);
178
+ border:0 none;
179
+ }
180
+ .x-dlg div.x-resizable-handle-southeast{
181
+ background-image:url(../images/gray/basic-dialog/se-handle.gif);
182
+ background-position: bottom right;
183
+ width:8px;
184
+ height:8px;
185
+ border:0;
186
+ }
187
+ .x-dlg div.x-resizable-handle-southwest{
188
+ background-image:url(../images/gray/sizer/sw-handle-dark.gif);
189
+ background-position: top right;
190
+ margin-left:1px;
191
+ margin-bottom:1px;
192
+ border:0;
193
+ }
194
+ .x-dlg div.x-resizable-handle-north{
195
+ background-image:url(../images/gray/s.gif);
196
+ border:0 none;
197
+ }
198
+
199
+ /**
200
+ * Tabs
201
+ */
202
+ .x-tabs-wrap {
203
+ border-bottom:1px solid #aca899;
204
+ }
205
+ .x-tabs-strip .on .x-tabs-text {
206
+ cursor:default;
207
+ color:#333333;
208
+ }
209
+ .x-tabs-top .x-tabs-strip .on .x-tabs-right {
210
+ background: url(../images/gray/tabs/tab-sprite.gif) no-repeat right 0;
211
+ }
212
+ .x-tabs-top .x-tabs-strip .on .x-tabs-left {
213
+ background: url(../images/gray/tabs/tab-sprite.gif) no-repeat 0px -100px;
214
+ }
215
+ .x-tabs-top .x-tabs-strip .x-tabs-right {
216
+ background: url(../images/gray/tabs/tab-sprite.gif) no-repeat right -50px;
217
+ }
218
+ .x-tabs-top .x-tabs-strip .x-tabs-left {
219
+ background: url(../images/gray/tabs/tab-sprite.gif) no-repeat 0px -150px;
220
+ }
221
+ .x-tabs-strip .x-tabs-closable .close-icon{
222
+ background-image:url(../images/gray/layout/tab-close.gif);
223
+ }
224
+ .x-tabs-strip .on .close-icon{
225
+ background-image:url(../images/gray/layout/tab-close-on.gif);
226
+ }
227
+ .x-tabs-strip .x-tabs-closable .close-over{
228
+ background-image:url(../images/gray/layout/tab-close-on.gif);
229
+ }
230
+ .x-tabs-body {
231
+ border:1px solid #aca899;
232
+ border-top:0 none;
233
+ }
234
+ .x-tabs-bottom .x-tabs-wrap {
235
+ border-bottom:0 none;
236
+ padding-top:0;
237
+ border-top:1px solid #aca899;
238
+ }
239
+ .x-tabs-bottom .x-tabs-strip .x-tabs-right {
240
+ background: url(../images/gray/tabs/tab-btm-inactive-right-bg.gif) no-repeat bottom left;
241
+ }
242
+ .x-tabs-bottom .x-tabs-strip .x-tabs-left {
243
+ background: url(../images/gray/tabs/tab-btm-inactive-left-bg.gif) no-repeat bottom right;
244
+ }
245
+ .x-tabs-bottom .x-tabs-strip .on .x-tabs-right {
246
+ background: url(../images/gray/tabs/tab-btm-right-bg.gif) no-repeat bottom left;
247
+ }
248
+ .x-tabs-bottom .x-tabs-strip .on .x-tabs-left {
249
+ background: url(../images/gray/tabs/tab-btm-left-bg.gif) no-repeat bottom right;
250
+ }
251
+
252
+ .x-tabs-bottom .x-tabs-body {
253
+ border:1px solid #aca899;
254
+ border-bottom:0 none;
255
+ }
256
+
257
+ .x-layout-container .x-layout-tabs-body{
258
+ border:0 none;
259
+ }
260
+ /* QuickTips */
261
+
262
+ .x-tip .x-tip-top {
263
+ background-image: url(../images/gray/qtip/tip-sprite.gif);
264
+ }
265
+ .x-tip .x-tip-top-left {
266
+ background-image: url(../images/gray/qtip/tip-sprite.gif);
267
+ }
268
+ .x-tip .x-tip-top-right {
269
+ background-image: url(../images/gray/qtip/tip-sprite.gif);
270
+ }
271
+ .x-tip .x-tip-ft {
272
+ background-image: url(../images/gray/qtip/tip-sprite.gif);
273
+ }
274
+ .x-tip .x-tip-ft-left {
275
+ background-image: url(../images/gray/qtip/tip-sprite.gif);
276
+ }
277
+ .x-tip .x-tip-ft-right {
278
+ background-image: url(../images/gray/qtip/tip-sprite.gif);
279
+ }
280
+ .x-tip .x-tip-bd-left {
281
+ background-image: url(../images/gray/qtip/tip-sprite.gif);
282
+ }
283
+ .x-tip .x-tip-bd-right {
284
+ background-image: url(../images/gray/qtip/tip-sprite.gif);
285
+ }
286
+
287
+ /* BorderLayout */
288
+
289
+ .x-layout-container{
290
+ background-color:#f3f2e7;
291
+ }
292
+ .x-layout-collapsed{
293
+ background-color:#f3f2e7;
294
+ border:1px solid #aca899;
295
+ }
296
+ .x-layout-collapsed-over{
297
+ background-color:#fbfbef;
298
+ }
299
+ .x-layout-panel{
300
+ border:1px solid #aca899;
301
+ }
302
+ .x-layout-nested-layout .x-layout-panel {
303
+ border:0 none;
304
+ }
305
+ .x-layout-split{
306
+ background-color:#f3f2e7;
307
+ }
308
+ .x-layout-panel-hd{
309
+ background-image: url(../images/gray/layout/panel-title-light-bg.gif);
310
+ border-bottom:1px solid #aca899;
311
+ }
312
+ .x-layout-tools-button-over{
313
+ border:1px solid #aca899;
314
+ }
315
+ .x-layout-close{
316
+ background-image:url(../images/gray/layout/panel-close.gif);
317
+ }
318
+ .x-layout-stick{
319
+ background-image:url(../images/gray/layout/stick.gif);
320
+ }
321
+ .x-layout-collapse-west,.x-layout-expand-east{
322
+ background-image:url(../images/gray/layout/collapse.gif);
323
+ }
324
+ .x-layout-expand-west,.x-layout-collapse-east{
325
+ background-image:url(../images/gray/layout/expand.gif);
326
+ }
327
+ .x-layout-collapse-north,.x-layout-expand-south{
328
+ background-image:url(../images/gray/layout/ns-collapse.gif);
329
+ }
330
+ .x-layout-expand-north,.x-layout-collapse-south{
331
+ background-image:url(../images/gray/layout/ns-expand.gif);
332
+ }
333
+ .x-layout-split-h{
334
+ background-image:url(../images/gray/sizer/e-handle-dark.gif);
335
+ }
336
+ .x-layout-split-v{
337
+ background-image:url(../images/gray/sizer/s-handle-dark.gif);
338
+ }
339
+ .x-layout-panel .x-tabs-wrap{
340
+ background:url(../images/gray/layout/gradient-bg.gif);
341
+ }
342
+ .x-layout-nested-layout .x-layout-panel-north {
343
+ border-bottom:1px solid #aca899;
344
+ }
345
+ .x-layout-nested-layout .x-layout-panel-south {
346
+ border-top:1px solid #aca899;
347
+ }
348
+ .x-layout-nested-layout .x-layout-panel-east {
349
+ border-left:1px solid #aca899;
350
+ }
351
+ .x-layout-nested-layout .x-layout-panel-west {
352
+ border-right:1px solid #aca899;
353
+ }
354
+ .x-layout-panel-dragover {
355
+ border: 2px solid #aca899;
356
+ }
357
+ .x-layout-panel-proxy {
358
+ background-image: url(../images/gray/layout/gradient-bg.gif);
359
+ background-color:#f3f2e7;
360
+ border:1px dashed #aca899;
361
+ }
362
+ /** Resizable */
363
+
364
+ .x-resizable-over .x-resizable-handle-east, .x-resizable-pinned .x-resizable-handle-east{
365
+ background:url(../images/gray/sizer/e-handle.gif);
366
+ background-position: left;
367
+ }
368
+ .x-resizable-over .x-resizable-handle-east, .x-resizable-pinned .x-resizable-handle-west{
369
+ background:url(../images/gray/sizer/e-handle.gif);
370
+ background-position: left;
371
+ }
372
+ .x-resizable-over .x-resizable-handle-south, .x-resizable-pinned .x-resizable-handle-south{
373
+ background:url(../images/gray/sizer/s-handle.gif);
374
+ background-position: top;
375
+ }
376
+ .x-resizable-over .x-resizable-handle-south, .x-resizable-pinned .x-resizable-handle-north{
377
+ background:url(../images/gray/sizer/s-handle.gif);
378
+ background-position: top;
379
+ }
380
+ .x-resizable-over .x-resizable-handle-southeast, .x-resizable-pinned .x-resizable-handle-southeast{
381
+ background:url(../images/gray/sizer/se-handle.gif);
382
+ background-position: top left;
383
+ }
384
+ .x-resizable-over .x-resizable-handle-northwest,.x-resizable-pinned .x-resizable-handle-northwest{
385
+ background:url(../images/gray/sizer/nw-handle.gif);
386
+ background-position:bottom right;
387
+ }
388
+ .x-resizable-over .x-resizable-handle-northeast,.x-resizable-pinned .x-resizable-handle-northeast{
389
+ background:url(../images/gray/sizer/ne-handle.gif);
390
+ background-position: bottom left;
391
+ }
392
+ .x-resizable-over .x-resizable-handle-southwest,.x-resizable-pinned .x-resizable-handle-southwest{
393
+ background:url(../images/gray/sizer/sw-handle.gif);
394
+ background-position: top right;
395
+ }
396
+ .x-resizable-proxy{
397
+ border: 1px dashed #615e55;
398
+ }
399
+
400
+ /** Toolbar */
401
+ .x-toolbar{
402
+ border:0 none;
403
+ background: #efefe3 url(../images/gray/toolbar/gray-bg.gif) repeat-x;
404
+ padding:3px;
405
+ }
406
+ .x-toolbar .x-btn-over .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
407
+ background:url(../images/gray/toolbar/tb-btn-sprite.gif) no-repeat 0 0;
408
+ }
409
+ .x-toolbar .x-btn-over .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
410
+ background:url(../images/gray/toolbar/tb-btn-sprite.gif) no-repeat 0 -21px;
411
+ }
412
+ .x-toolbar .x-btn-over .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
413
+ background:url(../images/gray/toolbar/tb-btn-sprite.gif) repeat-x 0 -42px;
414
+ }
415
+ .x-toolbar .x-btn-over .x-btn-menu-arrow-wrap .x-btn-center button {
416
+ background-position: 0 -47px;
417
+ }
418
+ .x-paging-info {
419
+ color:#222222;
420
+ }
421
+
422
+ /* combo box */
423
+ .x-combo-list {
424
+ border:1px solid #999;
425
+ background:#dddddd;
426
+ }
427
+ .x-combo-list-hd {
428
+ color:#222;
429
+ background-image: url(../images/gray/layout/panel-title-light-bg.gif);
430
+ border-bottom:1px solid #aca899;
431
+ }
432
+ .x-resizable-pinned .x-combo-list-inner {
433
+ border-bottom:1px solid #aaa;
434
+ }
435
+ .x-combo-list .x-combo-selected{
436
+ background:#ddd !important;
437
+ border:1px solid #aaa;
438
+ }
js/extjs/resources/css/ytheme-magento.css ADDED
@@ -0,0 +1,631 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 1.0 Beta 2
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+
10
+ #loading{
11
+ position:absolute;
12
+ left:45%;
13
+ top:35%;
14
+ border:3px solid #dfd7ba;
15
+ background:url(../images/magento/loading_bg.gif) no-repeat #eae2ca;
16
+ padding:85px 15px 15px 15px;
17
+ font-size:14px;
18
+ font-weight:bold;;
19
+ color:#611B06;
20
+ width:206px;
21
+ text-align:center;
22
+ }
23
+
24
+
25
+
26
+ .ext-el-mask-msg {
27
+ border:1px solid #aaa;
28
+ background: #ddd url(../images/default/box/tb.gif) repeat-x 0 -16px;
29
+ }
30
+ .ext-el-mask-msg div {
31
+ border:1px solid #ccc;
32
+ }
33
+
34
+ /*
35
+ Tree
36
+ */
37
+ .x-tree-node { font-weight:normal; font-size:12px; list-style-type:none;}
38
+ .x-tree-node-collapsed .x-tree-node-icon{
39
+ background:transparent url(../images/magento/tree/folder.gif) no-repeat 0 50%;
40
+ }
41
+ .x-tree-node-expanded .x-tree-node-icon {
42
+ background:transparent url(../images/magento/tree/folder-open.gif) no-repeat 0 50%;
43
+ }
44
+ .x-tree-node-leaf .x-tree-node-icon{
45
+ background:transparent url(../images/magento/tree/leaf.gif) no-repeat 0 50%;
46
+ }
47
+
48
+ .x-tree-noicon .x-tree-node-icon{
49
+ width:0; height:0;
50
+ }
51
+
52
+ .x-tree-node-loading .x-tree-node-icon{
53
+ background:transparent url(../images/default/grid/loading.gif) !important;
54
+ }
55
+ .x-tree-node-loading a span{
56
+ font-style: italic;
57
+ color:#444444;
58
+ }
59
+ .x-tree-node .x-tree-selected a span { background:#f5d6c7; color:#000; }
60
+
61
+ .x-tree-lines .x-tree-elbow{
62
+ background:transparent url(../images/magento/tree/elbow.gif) no-repeat ;
63
+ }
64
+ .x-tree-lines .x-tree-elbow-plus{
65
+ background:transparent url(../images/magento/tree/elbow-plus.gif) no-repeat;
66
+ }
67
+ .x-tree-lines .x-tree-elbow-minus{
68
+ background:transparent url(../images/magento/tree/elbow-minus.gif) no-repeat;
69
+ }
70
+ .x-tree-lines .x-tree-elbow-end{
71
+ background:transparent url(../images/magento/tree/elbow-end.gif) no-repeat;
72
+ }
73
+ .x-tree-lines .x-tree-elbow-end-plus{
74
+ background:transparent url(../images/magento/tree/elbow-end-plus.gif) no-repeat;
75
+ }
76
+ .x-tree-lines .x-tree-elbow-end-minus{
77
+ background:transparent url(../images/magento/tree/elbow-end-minus.gif) no-repeat;
78
+ }
79
+ .x-tree-lines .x-tree-elbow-line{
80
+ background:transparent url(../images/magento/tree/elbow-line.gif);
81
+ }
82
+
83
+
84
+ .x-tree-no-lines .x-tree-elbow{
85
+ background:transparent;
86
+ }
87
+ .x-tree-no-lines .x-tree-elbow-plus{
88
+ background:transparent url(../images/magento/tree/elbow-plus-nl.gif) no-repeat;
89
+ }
90
+ .x-tree-no-lines .x-tree-elbow-minus{
91
+ background:transparent url(../images/magento/tree/elbow-minus-nl.gif) no-repeat;
92
+ }
93
+ .x-tree-no-lines .x-tree-elbow-end{
94
+ background:transparent;
95
+ }
96
+ .x-tree-no-lines .x-tree-elbow-end-plus{
97
+ background:transparent url(../images/magento/tree/elbow-end-plus-nl.gif) no-repeat;
98
+ }
99
+ .x-tree-no-lines .x-tree-elbow-end-minus{
100
+ background:transparent url(../images/magento/tree/elbow-end-minus-nl.gif) no-repeat;
101
+ }
102
+ .x-tree-no-lines .x-tree-elbow-line{
103
+ background:transparent;
104
+ }
105
+
106
+
107
+ /*
108
+ Menu
109
+ */
110
+ .x-menu {
111
+ border-width:0 1px 1px 1px;
112
+ border-color: #b1a992 #b1a992 #b1a992 #b1a992;
113
+ background:#faf9f4;
114
+ }
115
+ .x-menu-item-arrow{
116
+ background-image:url(../images/gray/menu/menu-parent.gif);
117
+ }
118
+ .x-menu-item-icon { width:1px; height:5px; margin-right:5px; }
119
+ .x-menu-item {
120
+ color:#48260a;
121
+ }
122
+ .x-menu-item-active {
123
+ background:#eae1c5;
124
+ border-color:#eae1c5;
125
+ }
126
+ .x-menu li.x-menu-sep-li { padding:0; }
127
+ .x-menu-sep {
128
+ margin:0;
129
+ background:#b1a992;
130
+ }
131
+
132
+ /* grid */
133
+ .x-grid { background:#fbfaf7; }
134
+ .x-grid-viewport { /*font:11px verdana, helvetica, sans-serif;*/ }
135
+ .x-grid-header{
136
+ background:none;
137
+ background:#e4ddc5;
138
+ overflow:hidden;
139
+ position:relative;
140
+ cursor:default;
141
+ width:100%;
142
+ font-weight:bold;
143
+ }
144
+ .x-grid-hd-row{
145
+ height:22px;
146
+ }
147
+ .x-grid-hd { border-top:1px solid #d2c69e; }
148
+ .x-grid-hd .x-grid-hd-inner { border-top:1px solid #f4f1e7; }
149
+ .x-grid-hd-text {
150
+ color:#333;
151
+ }
152
+ .x-grid-hd-over .x-grid-hd-text {
153
+ background: #dec4a7;
154
+ padding-bottom:1px;
155
+ border-bottom:0;
156
+ }
157
+ .x-grid-split {
158
+ top:1px;
159
+ width:6px;
160
+ height:22px;
161
+ background:url(../images/magento/grid/grid-split.gif) no-repeat 2px 0;
162
+ }
163
+
164
+ .x-grid-col {
165
+ border-right: 1px solid #d7d7d7;
166
+ border-bottom: 1px solid #d7d7d7;
167
+ }
168
+ .x-grid-hd-row td, .x-grid-row td { outline:none; ./* font:11px verdana, helvetica, sans-serif; */ }
169
+ .x-grid-hd-row td { font-weight:bold; }
170
+ .x-grid-row { background:#f4f1e7; }
171
+ .x-grid-row-alt { background:#fbfaf7; }
172
+ .x-grid-row-over td{ background:#f1f1f1; cursor:pointer; }
173
+ .x-grid-row-selected, .x-grid-locked .x-grid-row-selected {background:#f5d6c7; }
174
+ .x-grid-row-selected td, .x-grid-locked .x-grid-row-selected td {background:#f5d6c7 !important; }
175
+ .x-grid-row-selected span, .x-grid-row-selected b, .x-grid-row-selected div, .x-grid-row-selected strong, .x-grid-row-selected i { color:#000 !important; }
176
+
177
+ .x-grid-body { background:url(../images/magento/grid/grid-body-bg.gif) repeat; border-bottom:1px solid #c2b483; }
178
+ .x-grid-locked .x-grid-body td {
179
+ background: #f0efe4;
180
+ border-right: 1px solid #D6D2C2;
181
+ border-bottom: 1px solid #D6D2C2 !important;
182
+ }
183
+
184
+ .x-grid-locked .x-grid-header table{
185
+ border-right:1px solid transparent;
186
+ }
187
+ .x-grid-locked .x-grid-body table{
188
+ border-right:1px solid #c6c2b2;
189
+ }
190
+ .x-grid-topbar, .x-grid-bottombar { /* font:normal 11px verdana, helvetica, sans-serif; */ }
191
+ .x-grid-bottombar .x-toolbar{
192
+ border-right:0 none;
193
+ border-bottom:0 none;
194
+ border-top:1px solid #f1efe2;
195
+ }
196
+
197
+ .x-props-grid .x-grid-col-name{
198
+ background-color: #f1efe2;
199
+ }
200
+
201
+
202
+ .x-grid-locked td.x-grid-row-marker, .x-grid-locked .x-grid-row-selected td.x-grid-row-marker{
203
+ background: #ebeadb url(../images/gray/grid/grid-hrow.gif) repeat-x 0 bottom !important;
204
+ vertical-align:middle !important;
205
+ color:black;
206
+ padding:0;
207
+ border-top:1px solid white;
208
+ border-bottom:none !important;
209
+ border-right:1px solid #d6d2c2 !important;
210
+ text-align:center;
211
+ }
212
+ .x-grid-locked td.x-grid-row-marker div, .x-grid-locked .x-grid-row-selected td.x-grid-row-marker div{
213
+ padding:0 4px;
214
+ color:black !important;
215
+ text-align:center;
216
+ }
217
+
218
+ /**
219
+ * Basic-Dialog
220
+ */
221
+ .x-dlg-proxy {
222
+ background-image: url(../images/gray/layout/gradient-bg.gif);
223
+ background-color:#EAE8D5;
224
+ border:1px solid #b3b6b0;
225
+ }
226
+ .x-dlg-shadow{
227
+ background:#aaaaaa;
228
+ }
229
+ .x-dlg-proxy .tabset{
230
+ background:url(../images/gray/layout/gradient-bg.gif);
231
+ }
232
+ .x-dlg .x-dlg-hd {
233
+ background: url(../images/magento/basic-dialog/hd-sprite.gif) repeat-x 0 -82px;
234
+ background-color:#511c01;
235
+ }
236
+ .x-dlg .x-dlg-hd-left {
237
+ background: url(../images/magento/basic-dialog/hd-sprite.gif) no-repeat 0 -41px;
238
+ }
239
+ .x-dlg .x-dlg-hd-right {
240
+ background: url(../images/magento/basic-dialog/hd-sprite.gif) no-repeat right 0;
241
+ }
242
+ .x-dlg .x-dlg-dlg-body{
243
+ background:#faf9f4;
244
+ border:1px solid #b3b6b0;
245
+ border-top:0 none;
246
+ }
247
+ .x-dlg .x-tabs-top .x-tabs-body{
248
+ border:1px solid #b3b6b0;
249
+ border-top:0 none;
250
+ }
251
+ .x-dlg .x-tabs-bottom .x-tabs-body{
252
+ border:1px solid #b3b6b0;
253
+ border-bottom:0 none;
254
+ }
255
+ .x-layout-panel-center, .x-layout-panel-east, .x-layout-panel-south, .x-layout-panel-west {
256
+ border:1px solid #c2b483;
257
+ border-top:0;
258
+ }
259
+
260
+ .x-dlg .x-layout-container .x-tabs-body{
261
+ border:0 none;
262
+ }
263
+ .x-dlg .x-dlg-close, .x-dlg .x-dlg-collapse { width:18px; height:18px; }
264
+ .x-dlg .x-dlg-close {
265
+ background-image:url(../images/magento/basic-dialog/pop_close.gif);
266
+ }
267
+ .x-dlg .x-dlg-collapse {
268
+ background-image:url(../images/magento/basic-dialog/pop_collapse.gif);
269
+ }
270
+ .x-dlg-collapsed .x-dlg-collapse {
271
+ background-image:url(../images/magento/basic-dialog/expand.gif);
272
+ }
273
+ .x-dlg div.x-resizable-handle-east{
274
+ background-image:url(../images/gray/basic-dialog/e-handle.gif);
275
+ border:0 none;
276
+ }
277
+ .x-dlg div.x-resizable-handle-south{
278
+ background-image:url(../images/gray/basic-dialog/s-handle.gif);
279
+ border:0 none;
280
+ }
281
+ .x-dlg div.x-resizable-handle-west{
282
+ background-image:url(../images/gray/basic-dialog/e-handle.gif);
283
+ border:0 none;
284
+ }
285
+ .x-dlg div.x-resizable-handle-southeast{
286
+ background-image:url(../images/gray/basic-dialog/se-handle.gif);
287
+ background-position: bottom right;
288
+ width:8px;
289
+ height:8px;
290
+ border:0;
291
+ }
292
+ .x-dlg div.x-resizable-handle-southwest{
293
+ background-image:url(../images/gray/sizer/sw-handle-dark.gif);
294
+ background-position: top right;
295
+ margin-left:1px;
296
+ margin-bottom:1px;
297
+ border:0;
298
+ }
299
+ .x-dlg div.x-resizable-handle-north{
300
+ background-image:url(../images/gray/s.gif);
301
+ border:0 none;
302
+ }
303
+
304
+ /**
305
+ * Tabs
306
+ */
307
+ .x-tabs-wrap {
308
+ border:none;
309
+ }
310
+ .x-tabs-strip td { padding-left:6px; }
311
+ .x-tabs-strip .x-tabs-inner { padding:5px 15px 6px 15px;}
312
+ .x-tabs-strip .x-tabs-text {
313
+ color:#4a8d94;
314
+ /* font:bold 11px verdana, helvetica, sans-serif; */
315
+ }
316
+ .x-tabs-strip .on .x-tabs-text {
317
+ cursor:default;
318
+ color:#0a6680;
319
+ text-transform:capitalize;
320
+ }
321
+ .x-tabs-top .x-tabs-strip .on .x-tabs-right {
322
+ background: url(../images/magento/tabs/tab-sprite.gif) no-repeat right 0;
323
+ }
324
+ .x-tabs-top .x-tabs-strip .on .x-tabs-left {
325
+ background: url(../images/magento/tabs/tab-sprite.gif) no-repeat 0px -52px;
326
+ }
327
+ .x-tabs-top .x-tabs-strip .x-tabs-right {
328
+ background: url(../images/magento/tabs/tab-sprite.gif) no-repeat right -26px;
329
+ }
330
+ .x-tabs-top .x-tabs-strip .x-tabs-left {
331
+ background: url(../images/magento/tabs/tab-sprite.gif) no-repeat 0px -78px;
332
+ }
333
+ .x-tabs-strip .x-tabs-closable .close-icon{
334
+ background-image:url(../images/gray/layout/tab-close.gif);
335
+ }
336
+ .x-tabs-strip .on .close-icon{
337
+ background-image:url(../images/gray/layout/tab-close-on.gif);
338
+ }
339
+ .x-tabs-strip .x-tabs-closable .close-over{
340
+ background-image:url(../images/gray/layout/tab-close-on.gif);
341
+ }
342
+ .x-tabs-body {
343
+ border:1px solid #aca899;
344
+ border-top:0 none;
345
+ }
346
+ .x-layout-panel .x-tabs-body { background:#fbfaf7; }
347
+ .x-tabs-bottom .x-tabs-wrap {
348
+ border-bottom:0 none;
349
+ padding-top:0;
350
+ border-top:1px solid #aca899;
351
+ }
352
+ .x-tabs-bottom .x-tabs-strip .x-tabs-right {
353
+ background: url(../images/gray/tabs/tab-btm-inactive-right-bg.gif) no-repeat bottom left;
354
+ }
355
+ .x-tabs-bottom .x-tabs-strip .x-tabs-left {
356
+ background: url(../images/gray/tabs/tab-btm-inactive-left-bg.gif) no-repeat bottom right;
357
+ }
358
+ .x-tabs-bottom .x-tabs-strip .on .x-tabs-right {
359
+ background: url(../images/gray/tabs/tab-btm-right-bg.gif) no-repeat bottom left;
360
+ }
361
+ .x-tabs-bottom .x-tabs-strip .on .x-tabs-left {
362
+ background: url(../images/gray/tabs/tab-btm-left-bg.gif) no-repeat bottom right;
363
+ }
364
+
365
+ .x-tabs-bottom .x-tabs-body {
366
+ border:1px solid #aca899;
367
+ border-bottom:0 none;
368
+ }
369
+
370
+ /* QuickTips */
371
+
372
+ .x-tip .x-tip-top {
373
+ background-image: url(../images/gray/qtip/tip-sprite.gif);
374
+ }
375
+ .x-tip .x-tip-top-left {
376
+ background-image: url(../images/gray/qtip/tip-sprite.gif);
377
+ }
378
+ .x-tip .x-tip-top-right {
379
+ background-image: url(../images/gray/qtip/tip-sprite.gif);
380
+ }
381
+ .x-tip .x-tip-ft {
382
+ background-image: url(../images/gray/qtip/tip-sprite.gif);
383
+ }
384
+ .x-tip .x-tip-ft-left {
385
+ background-image: url(../images/gray/qtip/tip-sprite.gif);
386
+ }
387
+ .x-tip .x-tip-ft-right {
388
+ background-image: url(../images/gray/qtip/tip-sprite.gif);
389
+ }
390
+ .x-tip .x-tip-bd-left {
391
+ background-image: url(../images/gray/qtip/tip-sprite.gif);
392
+ }
393
+ .x-tip .x-tip-bd-right {
394
+ background-image: url(../images/gray/qtip/tip-sprite.gif);
395
+ }
396
+
397
+ /* BorderLayout */
398
+
399
+ .x-layout-container{
400
+ background-color:#fff;
401
+ }
402
+ .x-layout-container .x-layout-tabs-body{
403
+ border:0 none;
404
+ }
405
+ .x-layout-collapsed{
406
+ background-color:#f3f2e7;
407
+ }
408
+ .x-layout-collapsed-over{
409
+ background-color:#fbfbef;
410
+ }
411
+ .x-layout-panel{
412
+ background:#fbfaf7;
413
+ }
414
+ .x-layout-split{
415
+ background-color:#f3f2e7;
416
+ }
417
+ .x-layout-panel-hd { /* Headers such as "My tasks","Catalog" */
418
+ background:none;
419
+ background:#fbfaf7;
420
+ padding:5px 0 5px 25px;
421
+ border:none;
422
+ background-position:8px 50%;
423
+ background-repeat:no-repeat;
424
+ color:#dc4509;
425
+ font-size:12px;
426
+ font-weight:bold;
427
+ line-height:1em;
428
+ }
429
+ .x-layout-panel-hd-text, .x-layout-panel-hd-text strong {
430
+ /* font:bold 12px verdana, helvetica, sans-serif; */ }
431
+
432
+ /* section specific header icons */
433
+ .categories-tree-region .x-layout-panel-hd { background-image:url(../images/magento/layout/icon-catalog.gif); }
434
+ .products-grid-region .x-layout-panel-hd { background-image:url(../images/magento/layout/icon-category.gif); }
435
+ .product-form-region .x-layout-panel-hd { background-image:url(../images/magento/layout/icon-product.gif); }
436
+ .my-tasks-region .x-layout-panel-hd { background-image:url(../images/magento/layout/icon-my-tasks.gif); }
437
+
438
+ .x-layout-panel-hd-tools { padding:0; }
439
+ .x-layout-tools-button { padding:0; }
440
+ .x-layout-tools-button-inner { width:18px; height:18px; }
441
+ .x-layout-tools-button-over {
442
+ padding:0;
443
+ border:0;
444
+ margin:0;
445
+ }
446
+ .x-layout-close { background:url(../images/magento/basic-dialog/panel_close.gif) no-repeat 0 0; }
447
+ .x-layout-tools-button-over .x-layout-close { background:url(../images/magento/basic-dialog/panel_close.gif) no-repeat 0 -18px }
448
+ .x-layout-stick{
449
+ background-image:url(../images/gray/layout/stick.gif);
450
+ }
451
+
452
+ .x-layout-collapse-west,.x-layout-expand-east{ background-image:url(../images/magento/basic-dialog/collapse.gif);}
453
+ .x-layout-expand-west,.x-layout-collapse-east{background-image:url(../images/magento/basic-dialog/expand.gif);}
454
+ .x-layout-collapse-north,.x-layout-expand-south{ background-image:url(../images/magento/basic-dialog/ns-collapse.gif);}
455
+ .x-layout-expand-north,.x-layout-collapse-south{ background-image:url(../images/magento/basic-dialog/ns-expand.gif);}
456
+
457
+ .x-layout-tools-button-over .x-layout-collapse-west,.x-layout-tools-button-over .x-layout-expand-east{ background-image:url(../images/magento/basic-dialog/collapse-on.gif);}
458
+ .x-layout-tools-button-over .x-layout-expand-west,.x-layout-tools-button-over .x-layout-collapse-east{background-image:url(../images/magento/basic-dialog/expand-on.gif);}
459
+ .x-layout-tools-button-over .x-layout-collapse-north,.x-layout-tools-button-over .x-layout-expand-south{ background-image:url(../images/magento/basic-dialog/ns-collapse-on.gif);}
460
+ .x-layout-tools-button-over .x-layout-expand-north,.x-layout-tools-button-over .x-layout-collapse-south{ background-image:url(../images/magento/basic-dialog/ns-expand-on.gif);}
461
+
462
+ .x-layout-split-h{
463
+ background-image:url(../images/gray/sizer/e-handle-dark.gif);
464
+ }
465
+ .x-layout-split-v{
466
+ background-image:url(../images/gray/sizer/s-handle-dark.gif);
467
+ }
468
+ .x-layout-panel .x-tabs-wrap {
469
+ padding-top:10px;
470
+ background:url(../images/magento/layout/checkered-bg.gif) repeat-x 0 100%;
471
+ }
472
+ .x-layout-container .x-layout-panel-north { border:none;}
473
+ .x-layout-nested-layout .x-layout-panel-north { border-bottom:none; }
474
+ .x-layout-nested-layout .x-layout-panel-east {
475
+ border-left:1px solid #aca899;
476
+ }
477
+ .x-layout-nested-layout .x-layout-panel-south {
478
+ border-top:1px solid #aca899;
479
+ }
480
+ .x-layout-nested-layout .x-layout-panel-west { border-right:1px solid #c2b483; }
481
+
482
+ .x-layout-panel-dragover {
483
+ border: 2px solid #aca899;
484
+ }
485
+ .x-layout-panel-proxy {
486
+ background-image: url(../images/gray/layout/gradient-bg.gif);
487
+ background-color:#f3f2e7;
488
+ border:1px dashed #aca899;
489
+ }
490
+ /** Resizable */
491
+
492
+ .x-resizable-over .x-resizable-handle-east, .x-resizable-pinned .x-resizable-handle-east{
493
+ background:url(../images/gray/sizer/e-handle.gif);
494
+ background-position: left;
495
+ }
496
+ .x-resizable-over .x-resizable-handle-east, .x-resizable-pinned .x-resizable-handle-west{
497
+ background:url(../images/gray/sizer/e-handle.gif);
498
+ background-position: left;
499
+ }
500
+ .x-resizable-over .x-resizable-handle-south, .x-resizable-pinned .x-resizable-handle-south{
501
+ background:url(../images/gray/sizer/s-handle.gif);
502
+ background-position: top;
503
+ }
504
+ .x-resizable-over .x-resizable-handle-south, .x-resizable-pinned .x-resizable-handle-north{
505
+ background:url(../images/gray/sizer/s-handle.gif);
506
+ background-position: top;
507
+ }
508
+ .x-resizable-over .x-resizable-handle-southeast, .x-resizable-pinned .x-resizable-handle-southeast{
509
+ background:url(../images/gray/sizer/se-handle.gif);
510
+ background-position: top left;
511
+ }
512
+ .x-resizable-over .x-resizable-handle-northwest,.x-resizable-pinned .x-resizable-handle-northwest{
513
+ background:url(../images/gray/sizer/nw-handle.gif);
514
+ background-position:bottom right;
515
+ }
516
+ .x-resizable-over .x-resizable-handle-northeast,.x-resizable-pinned .x-resizable-handle-northeast{
517
+ background:url(../images/gray/sizer/ne-handle.gif);
518
+ background-position: bottom left;
519
+ }
520
+ .x-resizable-over .x-resizable-handle-southwest,.x-resizable-pinned .x-resizable-handle-southwest{
521
+ background:url(../images/gray/sizer/sw-handle.gif);
522
+ background-position: top right;
523
+ }
524
+ .x-resizable-proxy{
525
+ border: 1px dashed #615e55;
526
+ }
527
+
528
+ /** Toolbar */
529
+ .x-toolbar {
530
+ background:url(../images/magento/toolbar/toolbar-bg.gif) repeat-x #dbeff3;
531
+ border:none;
532
+ border-top:1px solid #b3d6dc;
533
+ padding:2px 4px;
534
+ }
535
+ .categories-tree-region .x-toolbar { padding:3px 4px; }
536
+ .x-toolbar .x-btn-over .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
537
+ background:none;
538
+ }
539
+ .x-toolbar .x-btn-over .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
540
+ background:none;
541
+ }
542
+ .x-toolbar .x-btn-over .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
543
+ background:none;
544
+ }
545
+ .x-paging-info {
546
+ color:#222222;
547
+ }
548
+ .x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button {
549
+ width:12px;
550
+ background:transparent url(../images/magento/toolbar/btn-arrow.gif) no-repeat 0 50%;
551
+ }
552
+ .x-btn-with-menu .x-btn-center em {
553
+ display:block;
554
+ background:transparent url(../images/magento/toolbar/btn-arrow.gif) no-repeat right 50%;
555
+ padding-right:10px;
556
+ }
557
+ .x-btn-text-icon .x-btn-with-menu .x-btn-center em {
558
+ display:block;
559
+ background:transparent url(../images/magento/toolbar/btn-arrow.gif) no-repeat right 50%;
560
+ padding-right:13px;
561
+ }
562
+ .x-btn-text-icon .x-btn-center .x-btn-text {padding-left:20px; }
563
+ .x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button {
564
+ width:12px;
565
+ background:transparent url(../images/magento/toolbar/btn-arrow.gif) no-repeat 0 50%;
566
+ }
567
+
568
+ /* For top menu only*/
569
+ .left-menu-toolbar .x-toolbar, .right-menu-toolbar .x-toolbar {
570
+ border:0 none;
571
+ background:#2E4D53;
572
+ padding:5px 3px 0 3px;
573
+ color:#fbfaf7;
574
+ }
575
+
576
+ .left-menu-toolbar .x-toolbar td { padding:0 2px; background:none; }
577
+ .left-menu-toolbar .x-btn { border-bottom:5px solid #2E4D53;}
578
+ .left-menu-toolbar .x-btn-over { border-bottom:5px solid #dc4509;}
579
+ .left-menu-toolbar .x-btn-menu-active { border-bottom:5px solid #dc4509;}
580
+ .left-menu-toolbar .x-btn button, .right-menu-toolbar .x-btn button { color:#fbfaf7; /* font:bold 11px verdana, helvetica, sans-serif; */}
581
+ .left-menu-toolbar .x-btn-text-icon .x-btn-center .x-btn-text, .right-menu-toolbar .x-btn-text-icon .x-btn-center .x-btn-text {padding-left:3px; }
582
+
583
+ .right-menu-toolbar { width:420px;}
584
+ .right-menu-toolbar .btn-logout .x-btn-center .x-btn-text { padding-left:20px; }
585
+
586
+
587
+
588
+ .x-toolbar .x-btn-over .x-btn-left{background:none;}
589
+ .x-toolbar .x-btn-over .x-btn-right{background:none;}
590
+ .x-toolbar .x-btn-over .x-btn-center{background:none;}
591
+
592
+ /* combo box */
593
+ .x-combo-list {
594
+ border:1px solid #efeadc;
595
+ background:#faf9f4;
596
+ }
597
+ .x-combo-list-hd {
598
+ color:#222;
599
+ background-image: url(../images/gray/layout/panel-title-light-bg.gif);
600
+ border-bottom:1px solid #aca899;
601
+ }
602
+ .x-resizable-pinned .x-combo-list-inner {
603
+ border-bottom:1px solid #aaa;
604
+ }
605
+ .x-combo-list .x-combo-selected{
606
+ background:#ddd !important;
607
+ border:1px solid #aaa;
608
+ }
609
+ .x-menu-list { border:none; }
610
+ /* form box */
611
+ .x-box-tl, .x-box-tr, .x-box-tc, .x-box-ml, .x-box-mr, .x-box-mc, .x-box-bl, .x-box-br, .x-box-bc { background:none; }
612
+ .x-box-mc fieldset { margin:2px; border:0; }
613
+ .x-box-mc fieldset legend { display:none; margin:0; padding:0; }
614
+ .x-box-mc fieldset label { text-transform:capitalize;}
615
+ .x-form-item { /*font:normal 12px verdana, helvetica, sans-serif; */ }
616
+ .x-form-text { padding:1px 2px; border:1px solid #999; background:none; background:#fff; }
617
+ .x-form-field { /* font:normal 12px verdana, helvetica, sans-serif; */}
618
+ .data-form { background:#fbfaf7; }
619
+
620
+
621
+ .address-view { background:#fbfaf7; padding:10px;}
622
+ .x-view-selected { border:none; }
623
+
624
+ input.l-tcb {
625
+ height:13px;
626
+ width:13px;
627
+ margin-left:2px
628
+ }
629
+ .ext-ie .x-tree {
630
+ position:static !important;
631
+ }
js/extjs/resources/css/ytheme-vista.css ADDED
@@ -0,0 +1,511 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Ext JS Library 1.0
3
+ * Copyright(c) 2006-2007, Ext JS, LLC.
4
+ * licensing@extjs.com
5
+ *
6
+ * http://www.extjs.com/license
7
+ */
8
+
9
+ .ext-el-mask-msg {
10
+ border:1px solid #aaa;
11
+ background: #ddd url(../images/default/box/tb.gif) repeat-x 0 -16px;
12
+ }
13
+ .ext-el-mask-msg div {
14
+ border:1px solid #ccc;
15
+ }
16
+ /*
17
+ Menu
18
+ */
19
+ .x-menu {
20
+ border-color: #999 #999 #999 #999;
21
+ background-image:url(../images/gray/menu/menu.gif);
22
+ }
23
+ .x-menu-item-arrow{
24
+ background-image:url(../images/gray/menu/menu-parent.gif);
25
+ }
26
+ .x-menu-item {
27
+ color:#222;
28
+ }
29
+ .x-menu-item-active {
30
+ background:#ddd;
31
+ border:1px solid #aaa;
32
+ }
33
+ .x-menu-sep {
34
+ background:#aaa;
35
+ }
36
+ /**
37
+ * Tabs
38
+ */
39
+ .x-tabs-wrap {
40
+ background:#4f4f4f;
41
+ border-bottom:1px solid #b3b6b0;
42
+ }
43
+ .x-tabs-strip .x-tabs-text {
44
+ color:white;
45
+ font-weight:normal;
46
+ }
47
+ .x-tabs-strip .on .x-tabs-text {
48
+ cursor:default;
49
+ color:#333333;
50
+ }
51
+ .x-tabs-top .x-tabs-strip a.x-tabs-right {
52
+ background:transparent url(../images/vista/tabs/tab-sprite.gif) no-repeat right -50px;
53
+ }
54
+ .x-tabs-top .x-tabs-strip a .x-tabs-left{
55
+ background:transparent url(../images/vista/tabs/tab-sprite.gif) no-repeat 0px -150px;
56
+ }
57
+ .x-tabs-top .x-tabs-strip .on .x-tabs-right {
58
+ background: url(../images/vista/tabs/tab-sprite.gif) no-repeat right 0;
59
+ }
60
+ .x-tabs-top .x-tabs-strip .on .x-tabs-left{
61
+ background: url(../images/vista/tabs/tab-sprite.gif) no-repeat 0px -100px;
62
+ }
63
+ .x-tabs-strip .x-tabs-closable .close-icon{
64
+ background-image:url(../images/vista/layout/tab-close.gif);
65
+ }
66
+ .x-tabs-strip .on .close-icon{
67
+ background-image:url(../images/vista/layout/tab-close-on.gif);
68
+ }
69
+ .x-tabs-strip .x-tabs-closable .close-over{
70
+ background-image:url(../images/vista/layout/tab-close-on.gif);
71
+ }
72
+ .x-tabs-body {
73
+ border:1px solid #b3b6b0;
74
+ border-top:0 none;
75
+ }
76
+
77
+ .x-tabs-bottom .x-tabs-strip {
78
+ background:#4f4f4f;
79
+ }
80
+ .x-tabs-bottom .x-tabs-strip a.x-tabs-right {
81
+ background:transparent url(../images/vista/tabs/tab-btm-inactive-right-bg.gif) no-repeat bottom right;
82
+ }
83
+ .x-tabs-bottom .x-tabs-strip a .x-tabs-left{
84
+ background:transparent url(../images/vista/tabs/tab-btm-inactive-left-bg.gif) no-repeat bottom left;
85
+ }
86
+ .x-tabs-bottom .x-tabs-wrap {
87
+ border-bottom:0 none;
88
+ padding-top:0;
89
+ border-top:1px solid #b3b6b0;
90
+ }
91
+ .x-tabs-bottom .x-tabs-strip .on .x-tabs-right {
92
+ background: url(../images/vista/tabs/tab-btm-right-bg.gif) no-repeat bottom left;
93
+ }
94
+ .x-tabs-bottom .x-tabs-strip .on .x-tabs-left {
95
+ background: url(../images/vista/tabs/tab-btm-left-bg.gif) no-repeat bottom right;
96
+ }
97
+
98
+ .x-tabs-bottom .x-tabs-body {
99
+ border:1px solid #b3b6b0;
100
+ border-bottom:0 none;
101
+ }
102
+ /**
103
+ * Basic-Dialog
104
+ */
105
+ .x-dlg-proxy {
106
+ background:#d3d6d0;
107
+ border:2px solid #b3b6b0;
108
+ }
109
+ .x-dlg-shadow{
110
+ background:#cccccc;
111
+ opacity:.3;
112
+ -moz-opacity:.3;
113
+ filter: alpha(opacity=30);
114
+ }
115
+ .x-dlg .x-dlg-hd {
116
+ background: url(../images/vista/basic-dialog/hd-sprite.gif) repeat-x 0 -82px;
117
+ background-color:#333333;
118
+ zoom:1;
119
+ }
120
+ .x-dlg .x-dlg-hd-left {
121
+ opacity:.95;-moz-opacity:.95;filter:alpha(opacity=90);
122
+ background: url(../images/vista/basic-dialog/hd-sprite.gif) no-repeat 0 -41px;
123
+ zoom:1;
124
+ }
125
+ .x-dlg .x-dlg-hd-right {
126
+ background: url(../images/vista/basic-dialog/hd-sprite.gif) no-repeat right 0;
127
+ zoom:1;
128
+ }
129
+ .x-dlg .x-dlg-dlg-body{
130
+ background:#fff;
131
+ border:0 none;
132
+ border-top:0 none;
133
+ padding:0 0px 0px;
134
+ position:absolute;
135
+ top:24px;left:0;
136
+ z-index:1;
137
+ }
138
+ .x-dlg-auto-tabs .x-dlg-dlg-body{
139
+ background:transparent;
140
+ }
141
+ .x-dlg-auto-tabs .x-tabs-top .x-tabs-wrap{
142
+ background:transparent;
143
+ }
144
+ .x-dlg .x-dlg-ft{
145
+ border-top:1px solid #b3b6b0;
146
+ background:#F0F0F0;
147
+ padding-bottom:8px;
148
+ }
149
+ .x-dlg .x-dlg-bg{
150
+ opacity:.90;-moz-opacity:.90;filter:alpha(opacity=85);
151
+ zoom:1;
152
+ }
153
+ .x-dlg .x-dlg-bg-left,.x-dlg .x-dlg-bg-center,.x-dlg .x-dlg-bg-right{
154
+ }
155
+ .x-dlg .x-dlg-bg-center {
156
+ padding: 0px 4px 4px 4px;
157
+ background:transparent url(../images/vista/basic-dialog/bg-center.gif) repeat-x bottom;
158
+ zoom:1;
159
+ }
160
+ .x-dlg .x-dlg-bg-left{
161
+ padding-left:4px;
162
+ background:transparent url(../images/vista/basic-dialog/bg-left.gif) no-repeat bottom left;
163
+ zoom:1;
164
+ }
165
+ .x-dlg .x-dlg-bg-right{
166
+ padding-right:4px;
167
+ background:transparent url(../images/vista/basic-dialog/bg-right.gif) no-repeat bottom right;
168
+ zoom:1;
169
+ }
170
+ .x-dlg .x-tabs-top .x-tabs-body{
171
+ border:0 none;
172
+ }
173
+ .x-dlg .x-tabs-bottom .x-tabs-body{
174
+ border:1px solid #b3b6b0;
175
+ border-bottom:0 none;
176
+ }
177
+ .x-dlg .x-layout-container .x-tabs-body{
178
+ border:0 none;
179
+ }
180
+ .x-dlg .x-dlg-close {
181
+ background-image:url(../images/vista/basic-dialog/close.gif);
182
+ }
183
+ .x-dlg .x-dlg-collapse {
184
+ background-image:url(../images/vista/basic-dialog/collapse.gif);
185
+ }
186
+ .x-dlg-collapsed .x-dlg-collapse {
187
+ background-image:url(../images/vista/basic-dialog/expand.gif);
188
+ }
189
+ .x-dlg div.x-resizable-handle-east{
190
+ background-image:url(../images/vista/s.gif);
191
+ border:0 none;
192
+ }
193
+ .x-dlg div.x-resizable-handle-south{
194
+ background-image:url(../images/vista/s.gif);
195
+ border:0 none;
196
+ }
197
+ .x-dlg div.x-resizable-handle-west{
198
+ background-image:url(../images/vista/s.gif);
199
+ border:0 none;
200
+ }
201
+ .x-dlg div.x-resizable-handle-southeast{
202
+ background-image:url(../images/vista/s.gif);
203
+ background-position: bottom right;
204
+ width:8px;
205
+ height:8px;
206
+ border:0;
207
+ }
208
+ .x-dlg div.x-resizable-handle-southwest{
209
+ background-image:url(../images/vista/s.gif);
210
+ background-position: top right;
211
+ margin-left:1px;
212
+ margin-bottom:1px;
213
+ border:0;
214
+ }
215
+ .x-dlg div.x-resizable-handle-north{
216
+ background-image:url(../images/vista/s.gif);
217
+ border:0 none;
218
+ }
219
+
220
+ /* QuickTips */
221
+
222
+ .x-tip .x-tip-top {
223
+ background-image: url(../images/vista/qtip/tip-sprite.gif);
224
+ }
225
+ .x-tip .x-tip-top-left {
226
+ background-image: url(../images/vista/qtip/tip-sprite.gif);
227
+ }
228
+ .x-tip .x-tip-top-right {
229
+ background-image: url(../images/vista/qtip/tip-sprite.gif);
230
+ }
231
+ .x-tip .x-tip-ft {
232
+ background-image: url(../images/vista/qtip/tip-sprite.gif);
233
+ }
234
+ .x-tip .x-tip-ft-left {
235
+ background-image: url(../images/vista/qtip/tip-sprite.gif);
236
+ }
237
+ .x-tip .x-tip-ft-right {
238
+ background-image: url(../images/vista/qtip/tip-sprite.gif);
239
+ }
240
+ .x-tip .x-tip-bd-left {
241
+ background-image: url(../images/vista/qtip/tip-sprite.gif);
242
+ }
243
+ .x-tip .x-tip-bd-right {
244
+ background-image: url(../images/vista/qtip/tip-sprite.gif);
245
+ }
246
+
247
+ .x-tip .x-tip-bd-inner {
248
+ padding:2px;
249
+ }
250
+
251
+ /* BorderLayout */
252
+ .x-layout-container{
253
+ background:#4f4f4f;
254
+ }
255
+ .x-layout-collapsed{
256
+ background-color:#9f9f9f;
257
+ border:1px solid #4c535c;
258
+ }
259
+ .x-layout-collapsed-over{
260
+ background-color:#bfbfbf;
261
+ }
262
+ .x-layout-panel{
263
+ border:1px solid #4c535c;
264
+ }
265
+ .x-layout-nested-layout .x-layout-panel {
266
+ border:0 none;
267
+ }
268
+ .x-layout-split{
269
+ background-color:#f3f2e7;
270
+ }
271
+ .x-layout-panel-hd{
272
+ background-image: url(../images/vista/layout/panel-title-bg.gif);
273
+ border-bottom:1px solid #b5bac1;
274
+ color:white;
275
+ }
276
+ .x-layout-panel-hd-text{
277
+ color:white;
278
+ }
279
+ .x-layout-tools-button-over{
280
+ border:1px solid #4c535c;
281
+ background:#9f9f9f url(../images/vista/layout/panel-title-bg.gif) repeat-x;
282
+ }
283
+ .x-layout-close{
284
+ background-image:url(../images/vista/layout/tab-close.gif);
285
+ }
286
+
287
+ .x-layout-stick{
288
+ background-image:url(../images/vista/layout/stick.gif);
289
+ }
290
+ .x-layout-collapse-west,.x-layout-expand-east{
291
+ background-image:url(../images/vista/layout/collapse.gif);
292
+ }
293
+ .x-layout-expand-west,.x-layout-collapse-east{
294
+ background-image:url(../images/vista/layout/expand.gif);
295
+ }
296
+ .x-layout-collapse-north,.x-layout-expand-south{
297
+ background-image:url(../images/vista/layout/ns-collapse.gif);
298
+ }
299
+ .x-layout-expand-north,.x-layout-collapse-south{
300
+ background-image:url(../images/vista/layout/ns-expand.gif);
301
+ }
302
+ .x-layout-split-h{
303
+ background:#9f9f9f;
304
+ }
305
+ .x-layout-split-v{
306
+ background:#9f9f9f;
307
+ }
308
+ .x-layout-panel .x-tabs-wrap{
309
+ background:#4f4f4f;
310
+ }
311
+ .x-layout-nested-layout .x-layout-panel-north {
312
+ border-bottom:1px solid #4c535c;
313
+ }
314
+ .x-layout-nested-layout .x-layout-panel-south {
315
+ border-top:1px solid #4c535c;
316
+ }
317
+ .x-layout-nested-layout .x-layout-panel-east {
318
+ border-left:1px solid #4c535c;
319
+ }
320
+ .x-layout-nested-layout .x-layout-panel-west {
321
+ border-right:1px solid #4c535c;
322
+ }
323
+ .x-layout-panel-dragover {
324
+ border: 2px solid #4c535c;
325
+ }
326
+ .x-layout-panel-proxy {
327
+ background-image: url(../images/vista/layout/gradient-bg.gif);
328
+ background-color:#f3f2e7;
329
+ border:1px dashed #4c535c;
330
+ }
331
+
332
+ .x-layout-container .x-layout-tabs-body{
333
+ border:0 none;
334
+ }
335
+ /** Resizable */
336
+
337
+ .x-resizable-over .x-resizable-handle-east, .x-resizable-pinned .x-resizable-handle-east{
338
+ background:url(../images/vista/sizer/e-handle.gif);
339
+ background-position: left;
340
+ }
341
+ .x-resizable-over .x-resizable-handle-east, .x-resizable-pinned .x-resizable-handle-west{
342
+ background:url(../images/vista/sizer/e-handle.gif);
343
+ background-position: left;
344
+ }
345
+ .x-resizable-over .x-resizable-handle-south, .x-resizable-pinned .x-resizable-handle-south{
346
+ background:url(../images/vista/sizer/s-handle.gif);
347
+ background-position: top;
348
+ }
349
+ .x-resizable-over .x-resizable-handle-south, .x-resizable-pinned .x-resizable-handle-north{
350
+ background:url(../images/vista/sizer/s-handle.gif);
351
+ background-position: top;
352
+ }
353
+ .x-resizable-over .x-resizable-handle-southeast, .x-resizable-pinned .x-resizable-handle-southeast{
354
+ background:url(../images/vista/sizer/se-handle.gif);
355
+ background-position: top left;
356
+ }
357
+ .x-resizable-over .x-resizable-handle-northwest,.x-resizable-pinned .x-resizable-handle-northwest{
358
+ background:url(../images/vista/sizer/nw-handle.gif);
359
+ background-position:bottom right;
360
+ }
361
+ .x-resizable-over .x-resizable-handle-northeast,.x-resizable-pinned .x-resizable-handle-northeast{
362
+ background:url(../images/vista/sizer/ne-handle.gif);
363
+ background-position: bottom left;
364
+ }
365
+ .x-resizable-over .x-resizable-handle-southwest,.x-resizable-pinned .x-resizable-handle-southwest{
366
+ background:url(../images/vista/sizer/sw-handle.gif);
367
+ background-position: top right;
368
+ }
369
+ .x-resizable-proxy{
370
+ border: 1px dashed #615e55;
371
+ }
372
+
373
+ /** Toolbar */
374
+ .x-toolbar{
375
+ border:0 none;
376
+ background: #efefe3 url(../images/vista/toolbar/gray-bg.gif) repeat-x;
377
+ padding:3px;
378
+ }
379
+ .x-toolbar .ytb-button-over{
380
+ border:1px solid transparent;
381
+ border-bottom:1px solid #bbbbbb;
382
+ border-top:1px solid #eeeeee;
383
+ background:#9f9f9f url(../images/vista/grid/grid-vista-hd.gif) repeat-x;
384
+ }
385
+
386
+ .x-paging-info {
387
+ color:#000;
388
+ }
389
+ /* grid */
390
+ .x-grid-topbar .x-toolbar{
391
+ border:0;
392
+ border-bottom:1px solid #555;
393
+ }
394
+ .x-grid-bottombar .x-toolbar{
395
+ border:0;
396
+ border-top:1px solid #555;
397
+ }
398
+ .x-grid-locked .x-grid-body td {
399
+ background: #fafafa;
400
+ border-right: 1px solid #e1e1e1;
401
+ border-bottom: 1px solid #e1e1e1 !important;
402
+ }
403
+ .x-grid-locked .x-grid-body td .x-grid-cell-inner {
404
+ border-top:0 none;
405
+ }
406
+ .x-grid-locked .x-grid-row-alt td{
407
+ background: #f1f1f1;
408
+ }
409
+ .x-grid-locked .x-grid-row-selected td{
410
+ color: #fff !important;
411
+ background-color: #316ac5 !important;
412
+ }
413
+ .x-grid-hd{
414
+ border-bottom:0;
415
+ background:none;
416
+ }
417
+ .x-grid-hd-row{
418
+ height:auto;
419
+ }
420
+ .x-grid-split {
421
+ background-image: url(../images/vista/grid/grid-split.gif);
422
+ }
423
+ .x-grid-header{
424
+ background: url(../images/vista/grid/grid-vista-hd.gif);
425
+ border:0 none;
426
+ border-bottom:1px solid #555;
427
+ }
428
+ .x-grid-row-alt{
429
+ background-color: #f5f5f5;
430
+ }
431
+ .x-grid-row-over td{
432
+ background-color:#eeeeee;
433
+ }
434
+ .x-grid-col {
435
+ border-right: 1px solid #eee;
436
+ border-bottom: 1px solid #eee;
437
+ }
438
+ .x-grid-header .x-grid-hd-inner {
439
+ padding-bottom: 1px;
440
+ }
441
+ .x-grid-header .x-grid-hd-text {
442
+ padding-bottom: 3px;
443
+ color:#333333;
444
+ }
445
+ .x-grid-hd-over .x-grid-hd-inner {
446
+ border-bottom: 1px solid #555;
447
+ padding-bottom: 0;
448
+ }
449
+ .x-grid-hd-over .x-grid-hd-text {
450
+ background-color: #fafafa;
451
+ border-bottom: 1px solid #555;
452
+ padding-bottom: 2px;
453
+ }
454
+ .x-grid-header .sort-asc .x-grid-hd-inner, .x-grid-header .sort-desc .x-grid-hd-inner {
455
+ border-bottom: 1px solid #555;
456
+ padding-bottom: 0;
457
+ }
458
+ .x-grid-header .sort-asc .x-grid-hd-text, .x-grid-header .sort-desc .x-grid-hd-text {
459
+ border-bottom: 1px solid #3b5a82;
460
+ padding-bottom: 2px;
461
+ }
462
+ .x-dd-drag-proxy .x-grid-hd-inner{
463
+ background: url(../images/vista/grid/grid-vista-hd.gif) repeat-x;
464
+ height:22px;
465
+ width:120px;
466
+ }
467
+ .x-props-grid .x-grid-col-name{
468
+ background-color: #eee;
469
+ }
470
+ /* toolbar */
471
+ .x-toolbar .ytb-sep{
472
+ background-image: url(../images/vista/grid/grid-split.gif);
473
+ }
474
+
475
+ .x-toolbar .x-btn-over .x-btn-left{
476
+ background:url(../images/vista/toolbar/tb-btn-sprite.gif) no-repeat 0 0px;
477
+ }
478
+ .x-toolbar .x-btn-over .x-btn-right{
479
+ background:url(../images/vista/toolbar/tb-btn-sprite.gif) no-repeat 0 -21px;
480
+ }
481
+ .x-toolbar .x-btn-over .x-btn-center{
482
+ background:url(../images/vista/toolbar/tb-btn-sprite.gif) repeat-x 0 -42px;
483
+ }
484
+
485
+ .x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
486
+ background:url(../images/vista/toolbar/tb-btn-sprite.gif) no-repeat 0 -63px;
487
+ }
488
+ .x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
489
+ background:url(../images/vista/toolbar/tb-btn-sprite.gif) no-repeat 0 -84px;
490
+ }
491
+ .x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
492
+ background:url(../images/vista/toolbar/tb-btn-sprite.gif) repeat-x 0 -105px;
493
+ }
494
+
495
+ /* combo box */
496
+ .x-combo-list {
497
+ border:1px solid #999;
498
+ background:#dddddd;
499
+ }
500
+ .x-combo-list-hd {
501
+ background-image: url(../images/vista/layout/panel-title-bg.gif);
502
+ border-bottom:1px solid #b5bac1;
503
+ color:white;
504
+ }
505
+ .x-resizable-pinned .x-combo-list-inner {
506
+ border-bottom:1px solid #aaa;
507
+ }
508
+ .x-combo-list .x-combo-selected{
509
+ background:#ddd !important;
510
+ border:1px solid #aaa;
511
+ }
js/extjs/resources/images/default/basic-dialog/btn-arrow.gif ADDED
Binary file
js/extjs/resources/images/default/basic-dialog/btn-sprite.gif ADDED
Binary file
js/extjs/resources/images/default/basic-dialog/close.gif ADDED
Binary file
js/extjs/resources/images/default/basic-dialog/collapse.gif ADDED
Binary file
js/extjs/resources/images/default/basic-dialog/e-handle.gif ADDED
Binary file
js/extjs/resources/images/default/basic-dialog/expand.gif ADDED
Binary file
js/extjs/resources/images/default/basic-dialog/hd-sprite.gif ADDED
Binary file
js/extjs/resources/images/default/basic-dialog/progress.gif ADDED
Binary file
js/extjs/resources/images/default/basic-dialog/progress2.gif ADDED
Binary file
js/extjs/resources/images/default/basic-dialog/s-handle.gif ADDED
Binary file
js/extjs/resources/images/default/basic-dialog/se-handle.gif ADDED
Binary file
js/extjs/resources/images/default/box/corners-blue.gif ADDED
Binary file
js/extjs/resources/images/default/box/corners.gif ADDED
Binary file
js/extjs/resources/images/default/box/l-blue.gif ADDED
Binary file
js/extjs/resources/images/default/box/l.gif ADDED
Binary file
js/extjs/resources/images/default/box/r-blue.gif ADDED
Binary file
js/extjs/resources/images/default/box/r.gif ADDED
Binary file
js/extjs/resources/images/default/box/tb-blue.gif ADDED
Binary file
js/extjs/resources/images/default/box/tb.gif ADDED
Binary file
js/extjs/resources/images/default/dd/drop-add.gif ADDED
Binary file
js/extjs/resources/images/default/dd/drop-no.gif ADDED
Binary file
js/extjs/resources/images/default/dd/drop-yes.gif ADDED
Binary file
js/extjs/resources/images/default/editor/tb-sprite.gif ADDED
Binary file
js/extjs/resources/images/default/form/clear-trigger.gif ADDED
Binary file
js/extjs/resources/images/default/form/date-trigger.gif ADDED
Binary file
js/extjs/resources/images/default/form/error-tip-corners.gif ADDED
Binary file
js/extjs/resources/images/default/form/exclamation.gif ADDED
Binary file
js/extjs/resources/images/default/form/search-trigger.gif ADDED
Binary file
js/extjs/resources/images/default/form/text-bg.gif ADDED
Binary file
js/extjs/resources/images/default/form/trigger-tpl.gif ADDED
Binary file
js/extjs/resources/images/default/form/trigger.gif ADDED
Binary file
js/extjs/resources/images/default/gradient-bg.gif ADDED
Binary file
js/extjs/resources/images/default/grid/Thumbs.db ADDED
Binary file
js/extjs/resources/images/default/grid/arrow-left-white.gif ADDED
Binary file
js/extjs/resources/images/default/grid/arrow-right-white.gif ADDED
Binary file
js/extjs/resources/images/default/grid/col-move-bottom.gif ADDED
Binary file
js/extjs/resources/images/default/grid/col-move-top.gif ADDED
Binary file
js/extjs/resources/images/default/grid/dirty.gif ADDED
Binary file
js/extjs/resources/images/default/grid/done.gif ADDED
Binary file
js/extjs/resources/images/default/grid/drop-no.gif ADDED
Binary file
js/extjs/resources/images/default/grid/drop-yes.gif ADDED
Binary file
js/extjs/resources/images/default/grid/footer-bg.gif ADDED
Binary file
js/extjs/resources/images/default/grid/grid-blue-hd.gif ADDED
Binary file
js/extjs/resources/images/default/grid/grid-blue-split.gif ADDED
Binary file
js/extjs/resources/images/default/grid/grid-hrow.gif ADDED
Binary file
js/extjs/resources/images/default/grid/grid-loading.gif ADDED
Binary file
js/extjs/resources/images/default/grid/grid-split.gif ADDED
Binary file
js/extjs/resources/images/default/grid/grid-vista-hd.gif ADDED
Binary file
js/extjs/resources/images/default/grid/grid3-hd-btn.gif ADDED
Binary file
js/extjs/resources/images/default/grid/grid3-hrow-over.gif ADDED
Binary file
js/extjs/resources/images/default/grid/grid3-hrow.gif ADDED
Binary file
js/extjs/resources/images/default/grid/grid3-special-col-bg.gif ADDED
Binary file
js/extjs/resources/images/default/grid/grid3-special-col-sel-bg.gif ADDED
Binary file
js/extjs/resources/images/default/grid/hd-pop.gif ADDED
Binary file
js/extjs/resources/images/default/grid/hmenu-asc.gif ADDED
Binary file
js/extjs/resources/images/default/grid/hmenu-desc.gif ADDED
Binary file
js/extjs/resources/images/default/grid/hmenu-lock.gif ADDED
Binary file
js/extjs/resources/images/default/grid/hmenu-lock.png ADDED
Binary file
js/extjs/resources/images/default/grid/hmenu-unlock.gif ADDED
Binary file
js/extjs/resources/images/default/grid/hmenu-unlock.png ADDED
Binary file
js/extjs/resources/images/default/grid/invalid_line.gif ADDED
Binary file
js/extjs/resources/images/default/grid/loading.gif ADDED
Binary file
js/extjs/resources/images/default/grid/mso-hd.gif ADDED
Binary file
js/extjs/resources/images/default/grid/nowait.gif ADDED
Binary file
js/extjs/resources/images/default/grid/page-first-disabled.gif ADDED
Binary file
js/extjs/resources/images/default/grid/page-first.gif ADDED
Binary file
js/extjs/resources/images/default/grid/page-last-disabled.gif ADDED
Binary file
js/extjs/resources/images/default/grid/page-last.gif ADDED
Binary file
js/extjs/resources/images/default/grid/page-next-disabled.gif ADDED
Binary file
js/extjs/resources/images/default/grid/page-next.gif ADDED
Binary file
js/extjs/resources/images/default/grid/page-prev-disabled.gif ADDED
Binary file
js/extjs/resources/images/default/grid/page-prev.gif ADDED
Binary file
js/extjs/resources/images/default/grid/pick-button.gif ADDED
Binary file
js/extjs/resources/images/default/grid/refresh.gif ADDED
Binary file
js/extjs/resources/images/default/grid/row-check-sprite.gif ADDED
Binary file
js/extjs/resources/images/default/grid/row-expand-sprite.gif ADDED
Binary file
js/extjs/resources/images/default/grid/row-over.gif ADDED
Binary file
js/extjs/resources/images/default/grid/row-sel.gif ADDED
Binary file
js/extjs/resources/images/default/grid/sort_asc.gif ADDED
Binary file
js/extjs/resources/images/default/grid/sort_desc.gif ADDED
Binary file
js/extjs/resources/images/default/grid/wait.gif ADDED
Binary file
js/extjs/resources/images/default/layout/collapse.gif ADDED
Binary file
js/extjs/resources/images/default/layout/expand.gif ADDED
Binary file
js/extjs/resources/images/default/layout/gradient-bg.gif ADDED
Binary file
js/extjs/resources/images/default/layout/ns-collapse.gif ADDED
Binary file
js/extjs/resources/images/default/layout/ns-expand.gif ADDED
Binary file
js/extjs/resources/images/default/layout/panel-close.gif ADDED
Binary file
js/extjs/resources/images/default/layout/panel-title-bg.gif ADDED
Binary file
js/extjs/resources/images/default/layout/panel-title-light-bg.gif ADDED
Binary file
js/extjs/resources/images/default/layout/stick.gif ADDED
Binary file
js/extjs/resources/images/default/layout/stuck.gif ADDED
Binary file
js/extjs/resources/images/default/layout/tab-close-on.gif ADDED
Binary file
js/extjs/resources/images/default/layout/tab-close.gif ADDED
Binary file
js/extjs/resources/images/default/menu/checked.gif ADDED
Binary file
js/extjs/resources/images/default/menu/group-checked.gif ADDED
Binary file
js/extjs/resources/images/default/menu/menu-parent.gif ADDED
Binary file
js/extjs/resources/images/default/menu/menu.gif ADDED
Binary file
js/extjs/resources/images/default/menu/unchecked.gif ADDED
Binary file
js/extjs/resources/images/default/panel/corners-sprite.gif ADDED
Binary file
js/extjs/resources/images/default/panel/left-right.gif ADDED
Binary file
js/extjs/resources/images/default/panel/tool-sprite-tpl.gif ADDED
Binary file
js/extjs/resources/images/default/panel/tool-sprites.gif ADDED
Binary file
js/extjs/resources/images/default/panel/top-bottom.gif ADDED
Binary file
js/extjs/resources/images/default/panel/white-corners-sprite.gif ADDED
Binary file
js/extjs/resources/images/default/panel/white-left-right.gif ADDED
Binary file
js/extjs/resources/images/default/panel/white-top-bottom.gif ADDED
Binary file
js/extjs/resources/images/default/qtip/bg.gif ADDED
Binary file
js/extjs/resources/images/default/qtip/close.gif ADDED
Binary file
js/extjs/resources/images/default/qtip/tip-sprite.gif ADDED
Binary file
js/extjs/resources/images/default/s.gif ADDED
Binary file
js/extjs/resources/images/default/shadow-c.png ADDED
Binary file
js/extjs/resources/images/default/shadow-lr.png ADDED
Binary file
js/extjs/resources/images/default/shadow.png ADDED
Binary file
js/extjs/resources/images/default/shared/calendar.gif ADDED
Binary file
js/extjs/resources/images/default/shared/glass-bg.gif ADDED
Binary file
js/extjs/resources/images/default/shared/left-btn.gif ADDED
Binary file
js/extjs/resources/images/default/shared/right-btn.gif ADDED
Binary file
js/extjs/resources/images/default/shared/warning.gif ADDED
Binary file
js/extjs/resources/images/default/sizer/e-handle-dark.gif ADDED
Binary file
js/extjs/resources/images/default/sizer/e-handle.gif ADDED
Binary file
js/extjs/resources/images/default/sizer/ne-handle-dark.gif ADDED
Binary file
js/extjs/resources/images/default/sizer/ne-handle.gif ADDED
Binary file
js/extjs/resources/images/default/sizer/nw-handle-dark.gif ADDED
Binary file
js/extjs/resources/images/default/sizer/nw-handle.gif ADDED
Binary file
js/extjs/resources/images/default/sizer/s-handle-dark.gif ADDED
Binary file
js/extjs/resources/images/default/sizer/s-handle.gif ADDED
Binary file
js/extjs/resources/images/default/sizer/se-handle-dark.gif ADDED
Binary file
js/extjs/resources/images/default/sizer/se-handle.gif ADDED
Binary file
js/extjs/resources/images/default/sizer/square.gif ADDED
Binary file
js/extjs/resources/images/default/sizer/sw-handle-dark.gif ADDED
Binary file
js/extjs/resources/images/default/sizer/sw-handle.gif ADDED
Binary file
js/extjs/resources/images/default/tabs/tab-btm-inactive-left-bg.gif ADDED
Binary file
js/extjs/resources/images/default/tabs/tab-btm-inactive-right-bg.gif ADDED
Binary file
js/extjs/resources/images/default/tabs/tab-btm-left-bg.gif ADDED
Binary file
js/extjs/resources/images/default/tabs/tab-btm-right-bg.gif ADDED
Binary file
js/extjs/resources/images/default/tabs/tab-sprite.gif ADDED
Binary file
js/extjs/resources/images/default/toolbar/btn-arrow-light.gif ADDED
Binary file
js/extjs/resources/images/default/toolbar/btn-arrow.gif ADDED
Binary file
js/extjs/resources/images/default/toolbar/btn-over-bg.gif ADDED
Binary file
js/extjs/resources/images/default/toolbar/gray-bg.gif ADDED
Binary file
js/extjs/resources/images/default/toolbar/tb-bg.gif ADDED
Binary file
js/extjs/resources/images/default/toolbar/tb-btn-sprite.gif ADDED
Binary file
js/extjs/resources/images/default/tree/drop-add.gif ADDED
Binary file
js/extjs/resources/images/default/tree/drop-between.gif ADDED
Binary file
js/extjs/resources/images/default/tree/drop-no.gif ADDED
Binary file
js/extjs/resources/images/default/tree/drop-over.gif ADDED
Binary file
js/extjs/resources/images/default/tree/drop-under.gif ADDED
Binary file
js/extjs/resources/images/default/tree/drop-yes.gif ADDED
Binary file
js/extjs/resources/images/default/tree/elbow-end-minus-nl.gif ADDED
Binary file
js/extjs/resources/images/default/tree/elbow-end-minus.gif ADDED
Binary file
js/extjs/resources/images/default/tree/elbow-end-plus-nl.gif ADDED
Binary file
js/extjs/resources/images/default/tree/elbow-end-plus.gif ADDED
Binary file
js/extjs/resources/images/default/tree/elbow-end.gif ADDED
Binary file
js/extjs/resources/images/default/tree/elbow-line.gif ADDED
Binary file
js/extjs/resources/images/default/tree/elbow-minus-nl.gif ADDED
Binary file
js/extjs/resources/images/default/tree/elbow-minus.gif ADDED
Binary file
js/extjs/resources/images/default/tree/elbow-plus-nl.gif ADDED
Binary file
js/extjs/resources/images/default/tree/elbow-plus.gif ADDED
Binary file
js/extjs/resources/images/default/tree/elbow.gif ADDED
Binary file
js/extjs/resources/images/default/tree/folder-open.gif ADDED
Binary file
js/extjs/resources/images/default/tree/folder.gif ADDED
Binary file
js/extjs/resources/images/default/tree/leaf.gif ADDED
Binary file
js/extjs/resources/images/default/tree/loading.gif ADDED
Binary file
js/extjs/resources/images/default/tree/s.gif ADDED
Binary file
js/extjs/resources/images/default/window/corners-sprite.gif ADDED
Binary file
js/extjs/resources/images/default/window/left-right.gif ADDED
Binary file
js/extjs/resources/images/default/window/top-bottom.gif ADDED
Binary file
js/extjs/resources/images/magento/basic-dialog/collapse-on.gif ADDED
Binary file
js/extjs/resources/images/magento/basic-dialog/collapse.gif ADDED
Binary file
js/extjs/resources/images/magento/basic-dialog/expand-on.gif ADDED
Binary file
js/extjs/resources/images/magento/basic-dialog/expand.gif ADDED
Binary file
js/extjs/resources/images/magento/basic-dialog/hd-sprite.gif ADDED
Binary file
js/extjs/resources/images/magento/basic-dialog/ns-collapse-on.gif ADDED
Binary file
js/extjs/resources/images/magento/basic-dialog/ns-collapse.gif ADDED
Binary file
js/extjs/resources/images/magento/basic-dialog/ns-expand-on.gif ADDED
Binary file
js/extjs/resources/images/magento/basic-dialog/ns-expand.gif ADDED
Binary file
js/extjs/resources/images/magento/basic-dialog/panel_close.gif ADDED
Binary file
js/extjs/resources/images/magento/basic-dialog/pop_close.gif ADDED
Binary file
js/extjs/resources/images/magento/basic-dialog/pop_collapse.gif ADDED
Binary file
js/extjs/resources/images/magento/grid/grid-body-bg.gif ADDED
Binary file
js/extjs/resources/images/magento/grid/grid-split.gif ADDED
Binary file
js/extjs/resources/images/magento/layout/checkered-bg.gif ADDED
Binary file
js/extjs/resources/images/magento/layout/icon-catalog.gif ADDED
Binary file
js/extjs/resources/images/magento/layout/icon-category.gif ADDED
Binary file
js/extjs/resources/images/magento/layout/icon-my-tasks.gif ADDED
Binary file
js/extjs/resources/images/magento/layout/icon-product.gif ADDED
Binary file
js/extjs/resources/images/magento/loading_bg.gif ADDED
Binary file
js/extjs/resources/images/magento/tabs/tab-sprite.gif ADDED
Binary file
js/extjs/resources/images/magento/toolbar/btn-arrow.gif ADDED
Binary file
js/extjs/resources/images/magento/toolbar/header_bg.gif ADDED
Binary file
js/extjs/resources/images/magento/toolbar/toolbar-bg.gif ADDED
Binary file
js/extjs/resources/images/magento/tree/elbow-end-minus-nl.gif ADDED
Binary file
js/extjs/resources/images/magento/tree/elbow-end-minus.gif ADDED
Binary file
js/extjs/resources/images/magento/tree/elbow-end-plus-nl.gif ADDED
Binary file
js/extjs/resources/images/magento/tree/elbow-end-plus.gif ADDED
Binary file
js/extjs/resources/images/magento/tree/elbow-end.gif ADDED
Binary file
js/extjs/resources/images/magento/tree/elbow-line.gif ADDED
Binary file
js/extjs/resources/images/magento/tree/elbow-minus-nl.gif ADDED
Binary file
js/extjs/resources/images/magento/tree/elbow-minus.gif ADDED
Binary file
js/extjs/resources/images/magento/tree/elbow-plus-nl.gif ADDED
Binary file
js/extjs/resources/images/magento/tree/elbow-plus.gif ADDED
Binary file
js/extjs/resources/images/magento/tree/elbow.gif ADDED
Binary file
js/extjs/resources/images/magento/tree/folder-open.gif ADDED
Binary file
js/extjs/resources/images/magento/tree/folder.gif ADDED
Binary file
js/extjs/resources/images/magento/tree/leaf.gif ADDED
Binary file
js/extjs/resources/images/magento/tree/s.gif ADDED
Binary file
js/flash/AC_RunActiveContent.js ADDED
@@ -0,0 +1,292 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ //v1.7
2
+ // Flash Player Version Detection
3
+ // Detect Client Browser type
4
+ // Copyright 2005-2007 Adobe Systems Incorporated. All rights reserved.
5
+ var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
6
+ var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
7
+ var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
8
+
9
+ function ControlVersion()
10
+ {
11
+ var version;
12
+ var axo;
13
+ var e;
14
+
15
+ // NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry
16
+
17
+ try {
18
+ // version will be set for 7.X or greater players
19
+ axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
20
+ version = axo.GetVariable("$version");
21
+ } catch (e) {
22
+ }
23
+
24
+ if (!version)
25
+ {
26
+ try {
27
+ // version will be set for 6.X players only
28
+ axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
29
+
30
+ // installed player is some revision of 6.0
31
+ // GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
32
+ // so we have to be careful.
33
+
34
+ // default to the first public version
35
+ version = "WIN 6,0,21,0";
36
+
37
+ // throws if AllowScripAccess does not exist (introduced in 6.0r47)
38
+ axo.AllowScriptAccess = "always";
39
+
40
+ // safe to call for 6.0r47 or greater
41
+ version = axo.GetVariable("$version");
42
+
43
+ } catch (e) {
44
+ }
45
+ }
46
+
47
+ if (!version)
48
+ {
49
+ try {
50
+ // version will be set for 4.X or 5.X player
51
+ axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
52
+ version = axo.GetVariable("$version");
53
+ } catch (e) {
54
+ }
55
+ }
56
+
57
+ if (!version)
58
+ {
59
+ try {
60
+ // version will be set for 3.X player
61
+ axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
62
+ version = "WIN 3,0,18,0";
63
+ } catch (e) {
64
+ }
65
+ }
66
+
67
+ if (!version)
68
+ {
69
+ try {
70
+ // version will be set for 2.X player
71
+ axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
72
+ version = "WIN 2,0,0,11";
73
+ } catch (e) {
74
+ version = -1;
75
+ }
76
+ }
77
+
78
+ return version;
79
+ }
80
+
81
+ // JavaScript helper required to detect Flash Player PlugIn version information
82
+ function GetSwfVer(){
83
+ // NS/Opera version >= 3 check for Flash plugin in plugin array
84
+ var flashVer = -1;
85
+
86
+ if (navigator.plugins != null && navigator.plugins.length > 0) {
87
+ if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
88
+ var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
89
+ var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
90
+ var descArray = flashDescription.split(" ");
91
+ var tempArrayMajor = descArray[2].split(".");
92
+ var versionMajor = tempArrayMajor[0];
93
+ var versionMinor = tempArrayMajor[1];
94
+ var versionRevision = descArray[3];
95
+ if (versionRevision == "") {
96
+ versionRevision = descArray[4];
97
+ }
98
+ if (versionRevision[0] == "d") {
99
+ versionRevision = versionRevision.substring(1);
100
+ } else if (versionRevision[0] == "r") {
101
+ versionRevision = versionRevision.substring(1);
102
+ if (versionRevision.indexOf("d") > 0) {
103
+ versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
104
+ }
105
+ }
106
+ var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
107
+ }
108
+ }
109
+ // MSN/WebTV 2.6 supports Flash 4
110
+ else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
111
+ // WebTV 2.5 supports Flash 3
112
+ else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
113
+ // older WebTV supports Flash 2
114
+ else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
115
+ else if ( isIE && isWin && !isOpera ) {
116
+ flashVer = ControlVersion();
117
+ }
118
+ return flashVer;
119
+ }
120
+
121
+ // When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
122
+ function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
123
+ {
124
+ versionStr = GetSwfVer();
125
+ if (versionStr == -1 ) {
126
+ return false;
127
+ } else if (versionStr != 0) {
128
+ if(isIE && isWin && !isOpera) {
129
+ // Given "WIN 2,0,0,11"
130
+ tempArray = versionStr.split(" "); // ["WIN", "2,0,0,11"]
131
+ tempString = tempArray[1]; // "2,0,0,11"
132
+ versionArray = tempString.split(","); // ['2', '0', '0', '11']
133
+ } else {
134
+ versionArray = versionStr.split(".");
135
+ }
136
+ var versionMajor = versionArray[0];
137
+ var versionMinor = versionArray[1];
138
+ var versionRevision = versionArray[2];
139
+
140
+ // is the major.revision >= requested major.revision AND the minor version >= requested minor
141
+ if (versionMajor > parseFloat(reqMajorVer)) {
142
+ return true;
143
+ } else if (versionMajor == parseFloat(reqMajorVer)) {
144
+ if (versionMinor > parseFloat(reqMinorVer))
145
+ return true;
146
+ else if (versionMinor == parseFloat(reqMinorVer)) {
147
+ if (versionRevision >= parseFloat(reqRevision))
148
+ return true;
149
+ }
150
+ }
151
+ return false;
152
+ }
153
+ }
154
+
155
+ function AC_AddExtension(src, ext)
156
+ {
157
+ if (src.indexOf('?') != -1)
158
+ return src.replace(/\?/, ext+'?');
159
+ else
160
+ return src + ext;
161
+ }
162
+
163
+ function AC_Generateobj(objAttrs, params, embedAttrs)
164
+ {
165
+ var str = '';
166
+ if (isIE && isWin && !isOpera)
167
+ {
168
+ str += '<object ';
169
+ for (var i in objAttrs)
170
+ {
171
+ str += i + '="' + objAttrs[i] + '" ';
172
+ }
173
+ str += '>';
174
+ for (var i in params)
175
+ {
176
+ str += '<param name="' + i + '" value="' + params[i] + '" /> ';
177
+ }
178
+ str += '</object>';
179
+ }
180
+ else
181
+ {
182
+ str += '<embed ';
183
+ for (var i in embedAttrs)
184
+ {
185
+ str += i + '="' + embedAttrs[i] + '" ';
186
+ }
187
+ str += '> </embed>';
188
+ }
189
+
190
+ document.write(str);
191
+ }
192
+
193
+ function AC_FL_RunContent(){
194
+ var ret =
195
+ AC_GetArgs
196
+ ( arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
197
+ , "application/x-shockwave-flash"
198
+ );
199
+ AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
200
+ }
201
+
202
+ function AC_SW_RunContent(){
203
+ var ret =
204
+ AC_GetArgs
205
+ ( arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
206
+ , null
207
+ );
208
+ AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
209
+ }
210
+
211
+ function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
212
+ var ret = new Object();
213
+ ret.embedAttrs = new Object();
214
+ ret.params = new Object();
215
+ ret.objAttrs = new Object();
216
+ for (var i=0; i < args.length; i=i+2){
217
+ var currArg = args[i].toLowerCase();
218
+
219
+ switch (currArg){
220
+ case "classid":
221
+ break;
222
+ case "pluginspage":
223
+ ret.embedAttrs[args[i]] = args[i+1];
224
+ break;
225
+ case "src":
226
+ case "movie":
227
+ args[i+1] = AC_AddExtension(args[i+1], ext);
228
+ ret.embedAttrs["src"] = args[i+1];
229
+ ret.params[srcParamName] = args[i+1];
230
+ break;
231
+ case "onafterupdate":
232
+ case "onbeforeupdate":
233
+ case "onblur":
234
+ case "oncellchange":
235
+ case "onclick":
236
+ case "ondblclick":
237
+ case "ondrag":
238
+ case "ondragend":
239
+ case "ondragenter":
240
+ case "ondragleave":
241
+ case "ondragover":
242
+ case "ondrop":
243
+ case "onfinish":
244
+ case "onfocus":
245
+ case "onhelp":
246
+ case "onmousedown":
247
+ case "onmouseup":
248
+ case "onmouseover":
249
+ case "onmousemove":
250
+ case "onmouseout":
251
+ case "onkeypress":
252
+ case "onkeydown":
253
+ case "onkeyup":
254
+ case "onload":
255
+ case "onlosecapture":
256
+ case "onpropertychange":
257
+ case "onreadystatechange":
258
+ case "onrowsdelete":
259
+ case "onrowenter":
260
+ case "onrowexit":
261
+ case "onrowsinserted":
262
+ case "onstart":
263
+ case "onscroll":
264
+ case "onbeforeeditfocus":
265
+ case "onactivate":
266
+ case "onbeforedeactivate":
267
+ case "ondeactivate":
268
+ case "type":
269
+ case "codebase":
270
+ case "id":
271
+ ret.objAttrs[args[i]] = args[i+1];
272
+ break;
273
+ case "width":
274
+ case "height":
275
+ case "align":
276
+ case "vspace":
277
+ case "hspace":
278
+ case "class":
279
+ case "title":
280
+ case "accesskey":
281
+ case "name":
282
+ case "tabindex":
283
+ ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
284
+ break;
285
+ default:
286
+ ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
287
+ }
288
+ }
289
+ ret.objAttrs["classid"] = classid;
290
+ if (mimeType) ret.embedAttrs["type"] = mimeType;
291
+ return ret;
292
+ }
js/index.php ADDED
@@ -0,0 +1,144 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Core
23
+ * @copyright Copyright (c) 2008 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Proxy script to combine and compress one or few files for JS and CSS
29
+ *
30
+ * Restricts access only to files under current script's folder
31
+ *
32
+ * @category Mage
33
+ * @package Mage_Core
34
+ * @author Magento Core Team <core@magentocommerce.com>
35
+ */
36
+
37
+ // no files specified return 404
38
+ if (empty($_GET['f'])) {
39
+ header('HTTP/1.0 404 Not Found');
40
+ echo "SYNTAX: index.php/x.js?f=dir1/file1.js,dir2/file2.js";
41
+ exit;
42
+ }
43
+
44
+ // allow web server set content type automatically
45
+ $contentType = false;
46
+
47
+ // set custom content type if specified
48
+ if (isset($_GET['c'])) {
49
+ $contentType = $_GET['c']==='auto' ? true : $_GET['c'];
50
+ }
51
+
52
+ // get files content
53
+ $files = is_array($_GET['f']) ? $_GET['f'] : explode(',', $_GET['f']);
54
+
55
+ // set allowed content-type
56
+ $contentTypeAllowed = array(
57
+ 'text/javascript',
58
+ 'text/css',
59
+ // 'image/gif',
60
+ // 'image/png',
61
+ // 'image/jpeg',
62
+ );
63
+ // set allowed file extensions
64
+ $fileExtAllowed = array(
65
+ 'js',
66
+ 'css',
67
+ // 'gif',
68
+ // 'png',
69
+ // 'js'
70
+ );
71
+
72
+ $out = '';
73
+ $lastModified = 0;
74
+ foreach ($files as $f) {
75
+ $fileRealPath = realpath($f);
76
+ // check file path (security)
77
+ if (strpos($fileRealPath, realpath(dirname(__FILE__))) !== 0) {
78
+ continue;
79
+ }
80
+
81
+ $fileExt = strtolower(pathinfo($fileRealPath, PATHINFO_EXTENSION));
82
+
83
+ // check file extension
84
+ if (empty($fileExt) || !in_array($fileExt, $fileExtAllowed)) {
85
+ continue;
86
+ }
87
+
88
+ // try automatically get content type if requested
89
+ if ($contentType === true) {
90
+ $contentTypes = array(
91
+ 'js' => 'text/javascript',
92
+ 'css' => 'text/css',
93
+ // 'gif' => 'image/gif',
94
+ // 'png' => 'image/png',
95
+ // 'jpg' => 'image/jpeg',
96
+ );
97
+ if (empty($contentTypes[$fileExt])) { // security
98
+ continue;
99
+ }
100
+ $contentType = !empty($contentTypes[$fileExt]) ? $contentTypes[$fileExt] : false;
101
+ }
102
+
103
+ // append file contents
104
+ // we must have blank line at the end of all files but if somebody forget to add it
105
+ // we need add it here
106
+ $out .= file_get_contents($fileRealPath) . "\n";
107
+ $lastModified = max($lastModified, filemtime($fileRealPath));
108
+ }
109
+
110
+ //checking if client have older copy then we have on server
111
+ if (function_exists('date_default_timezone_set')) {
112
+ date_default_timezone_set('UTC');
113
+ }
114
+ if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) >= $lastModified) {
115
+ header("HTTP/1.1 304 Not Modified");
116
+ exit;
117
+ }
118
+
119
+ // last modified is the max mtime for loaded files
120
+ header('Cache-Control: must-revalidate');
121
+ header('Last-modified: ' . gmdate('r', $lastModified));
122
+
123
+ // optional custom content type, can be emulated by index.php/x.js or x.css
124
+ if (is_string($contentType) && in_array($contentType, $contentTypeAllowed)) {
125
+ header('Content-type: '.$contentType);
126
+ }
127
+
128
+ // remove spaces, default on
129
+ if (!(isset($_GET['s']) && !$_GET['s'])) {
130
+ $out = preg_replace('#[ \t]+#', ' ', $out);
131
+ }
132
+
133
+ // use gzip or deflate, use this if not enabled in .htaccess, default on
134
+ //if (!(isset($_GET['z']) && !$_GET['z'])) {
135
+ // ini_set('zlib.output_compression', 1);
136
+ //}
137
+
138
+ // add Expires header if not disabled, default 1 year
139
+ if (!(isset($_GET['e']) && $_GET['e']==='no')) {
140
+ $time = time()+(isset($_GET['e']) ? $_GET['e'] : 365)*86400;
141
+ header('Expires: '.gmdate('r', $time));
142
+ }
143
+
144
+ echo $out;
js/jscolor/arrow.gif ADDED
Binary file
js/jscolor/cross.gif ADDED
Binary file
js/jscolor/demo.html ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <html>
2
+ <head>
3
+ <title>jscolor demo</title>
4
+ </head>
5
+ <body>
6
+
7
+ <script type="text/javascript" src="jscolor.js"></script>
8
+
9
+ Click here: <input class="color" value="66ff00">
10
+
11
+ </body>
12
+ </html>
js/jscolor/hs.png ADDED
Binary file
js/jscolor/hv.png ADDED
Binary file
js/jscolor/jscolor.js ADDED
@@ -0,0 +1,840 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * jscolor, JavaScript Color Picker
3
+ *
4
+ * @version 1.3.1
5
+ * @license GNU Lesser General Public License, http://www.gnu.org/copyleft/lesser.html
6
+ * @author Jan Odvarko, http://odvarko.cz
7
+ * @created 2008-06-15
8
+ * @updated 2010-01-23
9
+ * @link http://jscolor.com
10
+ */
11
+
12
+
13
+ var jscolor = {
14
+
15
+
16
+ dir : '', // location of jscolor directory (leave empty to autodetect)
17
+ bindClass : 'color', // class name
18
+ binding : true, // automatic binding via <input class="...">
19
+ preloading : true, // use image preloading?
20
+
21
+
22
+ install : function() {
23
+ jscolor.addEvent(window, 'load', jscolor.init);
24
+ },
25
+
26
+
27
+ init : function() {
28
+ if(jscolor.binding) {
29
+ jscolor.bind();
30
+ }
31
+ if(jscolor.preloading) {
32
+ jscolor.preload();
33
+ }
34
+ },
35
+
36
+
37
+ getDir : function() {
38
+ if(!jscolor.dir) {
39
+ var detected = jscolor.detectDir();
40
+ jscolor.dir = detected!==false ? detected : 'jscolor/';
41
+ }
42
+ return jscolor.dir;
43
+ },
44
+
45
+
46
+ detectDir : function() {
47
+ var base = location.href;
48
+
49
+ var e = document.getElementsByTagName('base');
50
+ for(var i=0; i<e.length; i+=1) {
51
+ if(e[i].href) { base = e[i].href; }
52
+ }
53
+
54
+ var e = document.getElementsByTagName('script');
55
+ for(var i=0; i<e.length; i+=1) {
56
+ if(e[i].src && /(^|\/)jscolor\.js([?#].*)?$/i.test(e[i].src)) {
57
+ var src = new jscolor.URI(e[i].src);
58
+ var srcAbs = src.toAbsolute(base);
59
+ srcAbs.path = srcAbs.path.replace(/[^\/]+$/, ''); // remove filename
60
+ srcAbs.query = null;
61
+ srcAbs.fragment = null;
62
+ return srcAbs.toString();
63
+ }
64
+ }
65
+ return false;
66
+ },
67
+
68
+
69
+ bind : function() {
70
+ var matchClass = new RegExp('(^|\\s)('+jscolor.bindClass+')\\s*(\\{[^}]*\\})?', 'i');
71
+ var e = document.getElementsByTagName('input');
72
+ for(var i=0; i<e.length; i+=1) {
73
+ var m;
74
+ if(!e[i].color && e[i].className && (m = e[i].className.match(matchClass))) {
75
+ var prop = {};
76
+ if(m[3]) {
77
+ try {
78
+ eval('prop='+m[3]);
79
+ } catch(eInvalidProp) {}
80
+ }
81
+ e[i].color = new jscolor.color(e[i], prop);
82
+ }
83
+ }
84
+ },
85
+
86
+
87
+ preload : function() {
88
+ for(var fn in jscolor.imgRequire) {
89
+ if(jscolor.imgRequire.hasOwnProperty(fn)) {
90
+ jscolor.loadImage(fn);
91
+ }
92
+ }
93
+ },
94
+
95
+
96
+ images : {
97
+ pad : [ 181, 101 ],
98
+ sld : [ 16, 101 ],
99
+ cross : [ 15, 15 ],
100
+ arrow : [ 7, 11 ]
101
+ },
102
+
103
+
104
+ imgRequire : {},
105
+ imgLoaded : {},
106
+
107
+
108
+ requireImage : function(filename) {
109
+ jscolor.imgRequire[filename] = true;
110
+ },
111
+
112
+
113
+ loadImage : function(filename) {
114
+ if(!jscolor.imgLoaded[filename]) {
115
+ jscolor.imgLoaded[filename] = new Image();
116
+ jscolor.imgLoaded[filename].src = jscolor.getDir()+filename;
117
+ }
118
+ },
119
+
120
+
121
+ fetchElement : function(mixed) {
122
+ return typeof mixed === 'string' ? document.getElementById(mixed) : mixed;
123
+ },
124
+
125
+
126
+ addEvent : function(el, evnt, func) {
127
+ if(el.addEventListener) {
128
+ el.addEventListener(evnt, func, false);
129
+ } else if(el.attachEvent) {
130
+ el.attachEvent('on'+evnt, func);
131
+ }
132
+ },
133
+
134
+
135
+ fireEvent : function(el, evnt) {
136
+ if(!el) {
137
+ return;
138
+ }
139
+ if(document.createEventObject) {
140
+ var ev = document.createEventObject();
141
+ el.fireEvent('on'+evnt, ev);
142
+ } else if(document.createEvent) {
143
+ var ev = document.createEvent('HTMLEvents');
144
+ ev.initEvent(evnt, true, true);
145
+ el.dispatchEvent(ev);
146
+ } else if(el['on'+evnt]) { // alternatively use the traditional event model (IE5)
147
+ el['on'+evnt]();
148
+ }
149
+ },
150
+
151
+
152
+ getElementPos : function(e) {
153
+ var e1=e, e2=e;
154
+ var x=0, y=0;
155
+ if(e1.offsetParent) {
156
+ do {
157
+ x += e1.offsetLeft;
158
+ y += e1.offsetTop;
159
+ } while(e1 = e1.offsetParent);
160
+ }
161
+ while((e2 = e2.parentNode) && e2.nodeName.toUpperCase() !== 'BODY') {
162
+ x -= e2.scrollLeft;
163
+ y -= e2.scrollTop;
164
+ }
165
+ return [x, y];
166
+ },
167
+
168
+
169
+ getElementSize : function(e) {
170
+ return [e.offsetWidth, e.offsetHeight];
171
+ },
172
+
173
+
174
+ getMousePos : function(e) {
175
+ if(!e) { e = window.event; }
176
+ if(typeof e.pageX === 'number') {
177
+ return [e.pageX, e.pageY];
178
+ } else if(typeof e.clientX === 'number') {
179
+ return [
180
+ e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft,
181
+ e.clientY + document.body.scrollTop + document.documentElement.scrollTop
182
+ ];
183
+ }
184
+ },
185
+
186
+
187
+ getViewPos : function() {
188
+ if(typeof window.pageYOffset === 'number') {
189
+ return [window.pageXOffset, window.pageYOffset];
190
+ } else if(document.body && (document.body.scrollLeft || document.body.scrollTop)) {
191
+ return [document.body.scrollLeft, document.body.scrollTop];
192
+ } else if(document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
193
+ return [document.documentElement.scrollLeft, document.documentElement.scrollTop];
194
+ } else {
195
+ return [0, 0];
196
+ }
197
+ },
198
+
199
+
200
+ getViewSize : function() {
201
+ if(typeof window.innerWidth === 'number') {
202
+ return [window.innerWidth, window.innerHeight];
203
+ } else if(document.body && (document.body.clientWidth || document.body.clientHeight)) {
204
+ return [document.body.clientWidth, document.body.clientHeight];
205
+ } else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
206
+ return [document.documentElement.clientWidth, document.documentElement.clientHeight];
207
+ } else {
208
+ return [0, 0];
209
+ }
210
+ },
211
+
212
+
213
+ URI : function(uri) { // See RFC3986
214
+
215
+ this.scheme = null;
216
+ this.authority = null;
217
+ this.path = '';
218
+ this.query = null;
219
+ this.fragment = null;
220
+
221
+ this.parse = function(uri) {
222
+ var m = uri.match(/^(([A-Za-z][0-9A-Za-z+.-]*)(:))?((\/\/)([^\/?#]*))?([^?#]*)((\?)([^#]*))?((#)(.*))?/);
223
+ this.scheme = m[3] ? m[2] : null;
224
+ this.authority = m[5] ? m[6] : null;
225
+ this.path = m[7];
226
+ this.query = m[9] ? m[10] : null;
227
+ this.fragment = m[12] ? m[13] : null;
228
+ return this;
229
+ };
230
+
231
+ this.toString = function() {
232
+ var result = '';
233
+ if(this.scheme !== null) { result = result + this.scheme + ':'; }
234
+ if(this.authority !== null) { result = result + '//' + this.authority; }
235
+ if(this.path !== null) { result = result + this.path; }
236
+ if(this.query !== null) { result = result + '?' + this.query; }
237
+ if(this.fragment !== null) { result = result + '#' + this.fragment; }
238
+ return result;
239
+ };
240
+
241
+ this.toAbsolute = function(base) {
242
+ var base = new jscolor.URI(base);
243
+ var r = this;
244
+ var t = new jscolor.URI;
245
+
246
+ if(base.scheme === null) { return false; }
247
+
248
+ if(r.scheme !== null && r.scheme.toLowerCase() === base.scheme.toLowerCase()) {
249
+ r.scheme = null;
250
+ }
251
+
252
+ if(r.scheme !== null) {
253
+ t.scheme = r.scheme;
254
+ t.authority = r.authority;
255
+ t.path = removeDotSegments(r.path);
256
+ t.query = r.query;
257
+ } else {
258
+ if(r.authority !== null) {
259
+ t.authority = r.authority;
260
+ t.path = removeDotSegments(r.path);
261
+ t.query = r.query;
262
+ } else {
263
+ if(r.path === '') { // TODO: == or === ?
264
+ t.path = base.path;
265
+ if(r.query !== null) {
266
+ t.query = r.query;
267
+ } else {
268
+ t.query = base.query;
269
+ }
270
+ } else {
271
+ if(r.path.substr(0,1) === '/') {
272
+ t.path = removeDotSegments(r.path);
273
+ } else {
274
+ if(base.authority !== null && base.path === '') { // TODO: == or === ?
275
+ t.path = '/'+r.path;
276
+ } else {
277
+ t.path = base.path.replace(/[^\/]+$/,'')+r.path;
278
+ }
279
+ t.path = removeDotSegments(t.path);
280
+ }
281
+ t.query = r.query;
282
+ }
283
+ t.authority = base.authority;
284
+ }
285
+ t.scheme = base.scheme;
286
+ }
287
+ t.fragment = r.fragment;
288
+
289
+ return t;
290
+ };
291
+
292
+ function removeDotSegments(path) {
293
+ var out = '';
294
+ while(path) {
295
+ if(path.substr(0,3)==='../' || path.substr(0,2)==='./') {
296
+ path = path.replace(/^\.+/,'').substr(1);
297
+ } else if(path.substr(0,3)==='/./' || path==='/.') {
298
+ path = '/'+path.substr(3);
299
+ } else if(path.substr(0,4)==='/../' || path==='/..') {
300
+ path = '/'+path.substr(4);
301
+ out = out.replace(/\/?[^\/]*$/, '');
302
+ } else if(path==='.' || path==='..') {
303
+ path = '';
304
+ } else {
305
+ var rm = path.match(/^\/?[^\/]*/)[0];
306
+ path = path.substr(rm.length);
307
+ out = out + rm;
308
+ }
309
+ }
310
+ return out;
311
+ }
312
+
313
+ if(uri) {
314
+ this.parse(uri);
315
+ }
316
+
317
+ },
318
+
319
+
320
+ /*
321
+ * Usage example:
322
+ * var myColor = new jscolor.color(myInputElement)
323
+ */
324
+
325
+ color : function(target, prop) {
326
+
327
+
328
+ this.required = true; // refuse empty values?
329
+ this.adjust = true; // adjust value to uniform notation?
330
+ this.hash = false; // prefix color with # symbol?
331
+ this.caps = true; // uppercase?
332
+ this.valueElement = target; // value holder
333
+ this.styleElement = target; // where to reflect current color
334
+ this.hsv = [0, 0, 1]; // read-only 0-6, 0-1, 0-1
335
+ this.rgb = [1, 1, 1]; // read-only 0-1, 0-1, 0-1
336
+
337
+ this.pickerOnfocus = true; // display picker on focus?
338
+ this.pickerMode = 'HSV'; // HSV | HVS
339
+ this.pickerPosition = 'bottom'; // left | right | top | bottom
340
+ this.pickerFace = 10; // px
341
+ this.pickerFaceColor = 'ThreeDFace'; // CSS color
342
+ this.pickerBorder = 1; // px
343
+ this.pickerBorderColor = 'ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight'; // CSS color
344
+ this.pickerInset = 1; // px
345
+ this.pickerInsetColor = 'ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow'; // CSS color
346
+ this.pickerZIndex = 10000;
347
+
348
+
349
+ for(var p in prop) {
350
+ if(prop.hasOwnProperty(p)) {
351
+ this[p] = prop[p];
352
+ }
353
+ }
354
+
355
+
356
+ this.hidePicker = function() {
357
+ if(isPickerOwner()) {
358
+ removePicker();
359
+ }
360
+ };
361
+
362
+
363
+ this.showPicker = function() {
364
+ if(!isPickerOwner()) {
365
+ var tp = jscolor.getElementPos(target); // target pos
366
+ var ts = jscolor.getElementSize(target); // target size
367
+ var vp = jscolor.getViewPos(); // view pos
368
+ var vs = jscolor.getViewSize(); // view size
369
+ var ps = [ // picker size
370
+ 2*this.pickerBorder + 4*this.pickerInset + 2*this.pickerFace + jscolor.images.pad[0] + 2*jscolor.images.arrow[0] + jscolor.images.sld[0],
371
+ 2*this.pickerBorder + 2*this.pickerInset + 2*this.pickerFace + jscolor.images.pad[1]
372
+ ];
373
+ var a, b, c;
374
+ switch(this.pickerPosition.toLowerCase()) {
375
+ case 'left': a=1; b=0; c=-1; break;
376
+ case 'right':a=1; b=0; c=1; break;
377
+ case 'top': a=0; b=1; c=-1; break;
378
+ default: a=0; b=1; c=1; break;
379
+ }
380
+ var l = (ts[b]+ps[b])/2;
381
+ var pp = [ // picker pos
382
+ -vp[a]+tp[a]+ps[a] > vs[a] ?
383
+ (-vp[a]+tp[a]+ts[a]/2 > vs[a]/2 && tp[a]+ts[a]-ps[a] >= 0 ? tp[a]+ts[a]-ps[a] : tp[a]) :
384
+ tp[a],
385
+ -vp[b]+tp[b]+ts[b]+ps[b]-l+l*c > vs[b] ?
386
+ (-vp[b]+tp[b]+ts[b]/2 > vs[b]/2 && tp[b]+ts[b]-l-l*c >= 0 ? tp[b]+ts[b]-l-l*c : tp[b]+ts[b]-l+l*c) :
387
+ (tp[b]+ts[b]-l+l*c >= 0 ? tp[b]+ts[b]-l+l*c : tp[b]+ts[b]-l-l*c)
388
+ ];
389
+ drawPicker(pp[a], pp[b]);
390
+ }
391
+ };
392
+
393
+
394
+ this.importColor = function() {
395
+ if(!valueElement) {
396
+ this.exportColor();
397
+ } else {
398
+ if(!this.adjust) {
399
+ if(!this.fromString(valueElement.value, leaveValue)) {
400
+ styleElement.style.backgroundColor = styleElement.jscStyle.backgroundColor;
401
+ styleElement.style.color = styleElement.jscStyle.color;
402
+ this.exportColor(leaveValue | leaveStyle);
403
+ }
404
+ } else if(!this.required && /^\s*$/.test(valueElement.value)) {
405
+ valueElement.value = '';
406
+ styleElement.style.backgroundColor = styleElement.jscStyle.backgroundColor;
407
+ styleElement.style.color = styleElement.jscStyle.color;
408
+ this.exportColor(leaveValue | leaveStyle);
409
+
410
+ } else if(this.fromString(valueElement.value)) {
411
+ // OK
412
+ } else {
413
+ this.exportColor();
414
+ }
415
+ }
416
+ };
417
+
418
+
419
+ this.exportColor = function(flags) {
420
+ if(!(flags & leaveValue) && valueElement) {
421
+ var value = this.toString();
422
+ if(this.caps) { value = value.toUpperCase(); }
423
+ if(this.hash) { value = '#'+value; }
424
+ valueElement.value = value;
425
+ }
426
+ if(!(flags & leaveStyle) && styleElement) {
427
+ styleElement.style.backgroundColor =
428
+ '#'+this.toString();
429
+ styleElement.style.color =
430
+ 0.213 * this.rgb[0] +
431
+ 0.715 * this.rgb[1] +
432
+ 0.072 * this.rgb[2]
433
+ < 0.5 ? '#FFF' : '#000';
434
+ }
435
+ if(!(flags & leavePad) && isPickerOwner()) {
436
+ redrawPad();
437
+ }
438
+ if(!(flags & leaveSld) && isPickerOwner()) {
439
+ redrawSld();
440
+ }
441
+ };
442
+
443
+
444
+ this.fromHSV = function(h, s, v, flags) { // null = don't change
445
+ h<0 && (h=0) || h>6 && (h=6);
446
+ s<0 && (s=0) || s>1 && (s=1);
447
+ v<0 && (v=0) || v>1 && (v=1);
448
+ this.rgb = HSV_RGB(
449
+ h===null ? this.hsv[0] : (this.hsv[0]=h),
450
+ s===null ? this.hsv[1] : (this.hsv[1]=s),
451
+ v===null ? this.hsv[2] : (this.hsv[2]=v)
452
+ );
453
+ this.exportColor(flags);
454
+ };
455
+
456
+
457
+ this.fromRGB = function(r, g, b, flags) { // null = don't change
458
+ r<0 && (r=0) || r>1 && (r=1);
459
+ g<0 && (g=0) || g>1 && (g=1);
460
+ b<0 && (b=0) || b>1 && (b=1);
461
+ var hsv = RGB_HSV(
462
+ r===null ? this.rgb[0] : (this.rgb[0]=r),
463
+ g===null ? this.rgb[1] : (this.rgb[1]=g),
464
+ b===null ? this.rgb[2] : (this.rgb[2]=b)
465
+ );
466
+ if(hsv[0] !== null) {
467
+ this.hsv[0] = hsv[0];
468
+ }
469
+ if(hsv[2] !== 0) {
470
+ this.hsv[1] = hsv[1];
471
+ }
472
+ this.hsv[2] = hsv[2];
473
+ this.exportColor(flags);
474
+ };
475
+
476
+
477
+ this.fromString = function(hex, flags) {
478
+ var m = hex.match(/^\W*([0-9A-F]{3}([0-9A-F]{3})?)\W*$/i);
479
+ if(!m) {
480
+ return false;
481
+ } else {
482
+ if(m[1].length === 6) { // 6-char notation
483
+ this.fromRGB(
484
+ parseInt(m[1].substr(0,2),16) / 255,
485
+ parseInt(m[1].substr(2,2),16) / 255,
486
+ parseInt(m[1].substr(4,2),16) / 255,
487
+ flags
488
+ );
489
+ } else { // 3-char notation
490
+ this.fromRGB(
491
+ parseInt(m[1].charAt(0)+m[1].charAt(0),16) / 255,
492
+ parseInt(m[1].charAt(1)+m[1].charAt(1),16) / 255,
493
+ parseInt(m[1].charAt(2)+m[1].charAt(2),16) / 255,
494
+ flags
495
+ );
496
+ }
497
+ return true;
498
+ }
499
+ };
500
+
501
+
502
+ this.toString = function() {
503
+ return (
504
+ (0x100 | Math.round(255*this.rgb[0])).toString(16).substr(1) +
505
+ (0x100 | Math.round(255*this.rgb[1])).toString(16).substr(1) +
506
+ (0x100 | Math.round(255*this.rgb[2])).toString(16).substr(1)
507
+ );
508
+ };
509
+
510
+
511
+ function RGB_HSV(r, g, b) {
512
+ var n = Math.min(Math.min(r,g),b);
513
+ var v = Math.max(Math.max(r,g),b);
514
+ var m = v - n;
515
+ if(m === 0) { return [ null, 0, v ]; }
516
+ var h = r===n ? 3+(b-g)/m : (g===n ? 5+(r-b)/m : 1+(g-r)/m);
517
+ return [ h===6?0:h, m/v, v ];
518
+ }
519
+
520
+
521
+ function HSV_RGB(h, s, v) {
522
+ if(h === null) { return [ v, v, v ]; }
523
+ var i = Math.floor(h);
524
+ var f = i%2 ? h-i : 1-(h-i);
525
+ var m = v * (1 - s);
526
+ var n = v * (1 - s*f);
527
+ switch(i) {
528
+ case 6:
529
+ case 0: return [v,n,m];
530
+ case 1: return [n,v,m];
531
+ case 2: return [m,v,n];
532
+ case 3: return [m,n,v];
533
+ case 4: return [n,m,v];
534
+ case 5: return [v,m,n];
535
+ }
536
+ }
537
+
538
+
539
+ function removePicker() {
540
+ delete jscolor.picker.owner;
541
+ document.getElementsByTagName('body')[0].removeChild(jscolor.picker.boxB);
542
+ }
543
+
544
+
545
+ function drawPicker(x, y) {
546
+ if(!jscolor.picker) {
547
+ jscolor.picker = {
548
+ box : document.createElement('div'),
549
+ boxB : document.createElement('div'),
550
+ pad : document.createElement('div'),
551
+ padB : document.createElement('div'),
552
+ padM : document.createElement('div'),
553
+ sld : document.createElement('div'),
554
+ sldB : document.createElement('div'),
555
+ sldM : document.createElement('div')
556
+ };
557
+ for(var i=0,segSize=4; i<jscolor.images.sld[1]; i+=segSize) {
558
+ var seg = document.createElement('div');
559
+ seg.style.height = segSize+'px';
560
+ seg.style.fontSize = '1px';
561
+ seg.style.lineHeight = '0';
562
+ jscolor.picker.sld.appendChild(seg);
563
+ }
564
+ jscolor.picker.sldB.appendChild(jscolor.picker.sld);
565
+ jscolor.picker.box.appendChild(jscolor.picker.sldB);
566
+ jscolor.picker.box.appendChild(jscolor.picker.sldM);
567
+ jscolor.picker.padB.appendChild(jscolor.picker.pad);
568
+ jscolor.picker.box.appendChild(jscolor.picker.padB);
569
+ jscolor.picker.box.appendChild(jscolor.picker.padM);
570
+ jscolor.picker.boxB.appendChild(jscolor.picker.box);
571
+ }
572
+
573
+ var p = jscolor.picker;
574
+
575
+ // recompute controls positions
576
+ posPad = [
577
+ x+THIS.pickerBorder+THIS.pickerFace+THIS.pickerInset,
578
+ y+THIS.pickerBorder+THIS.pickerFace+THIS.pickerInset ];
579
+ posSld = [
580
+ null,
581
+ y+THIS.pickerBorder+THIS.pickerFace+THIS.pickerInset ];
582
+
583
+ // controls interaction
584
+ p.box.onmouseup =
585
+ p.box.onmouseout = function() { target.focus(); };
586
+ p.box.onmousedown = function() { abortBlur=true; };
587
+ p.box.onmousemove = function(e) { holdPad && setPad(e); holdSld && setSld(e); };
588
+ p.padM.onmouseup =
589
+ p.padM.onmouseout = function() { if(holdPad) { holdPad=false; jscolor.fireEvent(valueElement,'change'); } };
590
+ p.padM.onmousedown = function(e) { holdPad=true; setPad(e); };
591
+ p.sldM.onmouseup =
592
+ p.sldM.onmouseout = function() { if(holdSld) { holdSld=false; jscolor.fireEvent(valueElement,'change'); } };
593
+ p.sldM.onmousedown = function(e) { holdSld=true; setSld(e); };
594
+
595
+ // picker
596
+ p.box.style.width = 4*THIS.pickerInset + 2*THIS.pickerFace + jscolor.images.pad[0] + 2*jscolor.images.arrow[0] + jscolor.images.sld[0] + 'px';
597
+ p.box.style.height = 2*THIS.pickerInset + 2*THIS.pickerFace + jscolor.images.pad[1] + 'px';
598
+
599
+ // picker border
600
+ p.boxB.style.position = 'absolute';
601
+ p.boxB.style.clear = 'both';
602
+ p.boxB.style.left = x+'px';
603
+ p.boxB.style.top = y+'px';
604
+ p.boxB.style.zIndex = THIS.pickerZIndex;
605
+ p.boxB.style.border = THIS.pickerBorder+'px solid';
606
+ p.boxB.style.borderColor = THIS.pickerBorderColor;
607
+ p.boxB.style.background = THIS.pickerFaceColor;
608
+
609
+ // pad image
610
+ p.pad.style.width = jscolor.images.pad[0]+'px';
611
+ p.pad.style.height = jscolor.images.pad[1]+'px';
612
+
613
+ // pad border
614
+ p.padB.style.position = 'absolute';
615
+ p.padB.style.left = THIS.pickerFace+'px';
616
+ p.padB.style.top = THIS.pickerFace+'px';
617
+ p.padB.style.border = THIS.pickerInset+'px solid';
618
+ p.padB.style.borderColor = THIS.pickerInsetColor;
619
+
620
+ // pad mouse area
621
+ p.padM.style.position = 'absolute';
622
+ p.padM.style.left = '0';
623
+ p.padM.style.top = '0';
624
+ p.padM.style.width = THIS.pickerFace + 2*THIS.pickerInset + jscolor.images.pad[0] + jscolor.images.arrow[0] + 'px';
625
+ p.padM.style.height = p.box.style.height;
626
+ p.padM.style.cursor = 'crosshair';
627
+
628
+ // slider image
629
+ p.sld.style.overflow = 'hidden';
630
+ p.sld.style.width = jscolor.images.sld[0]+'px';
631
+ p.sld.style.height = jscolor.images.sld[1]+'px';
632
+
633
+ // slider border
634
+ p.sldB.style.position = 'absolute';
635
+ p.sldB.style.right = THIS.pickerFace+'px';
636
+ p.sldB.style.top = THIS.pickerFace+'px';
637
+ p.sldB.style.border = THIS.pickerInset+'px solid';
638
+ p.sldB.style.borderColor = THIS.pickerInsetColor;
639
+
640
+ // slider mouse area
641
+ p.sldM.style.position = 'absolute';
642
+ p.sldM.style.right = '0';
643
+ p.sldM.style.top = '0';
644
+ p.sldM.style.width = jscolor.images.sld[0] + jscolor.images.arrow[0] + THIS.pickerFace + 2*THIS.pickerInset + 'px';
645
+ p.sldM.style.height = p.box.style.height;
646
+ try {
647
+ p.sldM.style.cursor = 'pointer';
648
+ } catch(eOldIE) {
649
+ p.sldM.style.cursor = 'hand';
650
+ }
651
+
652
+ // load images in optimal order
653
+ switch(modeID) {
654
+ case 0: var padImg = 'hs.png'; break;
655
+ case 1: var padImg = 'hv.png'; break;
656
+ }
657
+ p.padM.style.background = "url('"+jscolor.getDir()+"cross.gif') no-repeat";
658
+ p.sldM.style.background = "url('"+jscolor.getDir()+"arrow.gif') no-repeat";
659
+ p.pad.style.background = "url('"+jscolor.getDir()+padImg+"') 0 0 no-repeat";
660
+
661
+ // place pointers
662
+ redrawPad();
663
+ redrawSld();
664
+
665
+ jscolor.picker.owner = THIS;
666
+ document.getElementsByTagName('body')[0].appendChild(p.boxB);
667
+ }
668
+
669
+
670
+ function redrawPad() {
671
+ // redraw the pad pointer
672
+ switch(modeID) {
673
+ case 0: var yComponent = 1; break;
674
+ case 1: var yComponent = 2; break;
675
+ }
676
+ var x = Math.round((THIS.hsv[0]/6) * (jscolor.images.pad[0]-1));
677
+ var y = Math.round((1-THIS.hsv[yComponent]) * (jscolor.images.pad[1]-1));
678
+ jscolor.picker.padM.style.backgroundPosition =
679
+ (THIS.pickerFace+THIS.pickerInset+x - Math.floor(jscolor.images.cross[0]/2)) + 'px ' +
680
+ (THIS.pickerFace+THIS.pickerInset+y - Math.floor(jscolor.images.cross[1]/2)) + 'px';
681
+
682
+ // redraw the slider image
683
+ var seg = jscolor.picker.sld.childNodes;
684
+
685
+ switch(modeID) {
686
+ case 0:
687
+ var rgb = HSV_RGB(THIS.hsv[0], THIS.hsv[1], 1);
688
+ for(var i=0; i<seg.length; i+=1) {
689
+ seg[i].style.backgroundColor = 'rgb('+
690
+ (rgb[0]*(1-i/seg.length)*100)+'%,'+
691
+ (rgb[1]*(1-i/seg.length)*100)+'%,'+
692
+ (rgb[2]*(1-i/seg.length)*100)+'%)';
693
+ }
694
+ break;
695
+ case 1:
696
+ var rgb, s, c = [ THIS.hsv[2], 0, 0 ];
697
+ var i = Math.floor(THIS.hsv[0]);
698
+ var f = i%2 ? THIS.hsv[0]-i : 1-(THIS.hsv[0]-i);
699
+ switch(i) {
700
+ case 6:
701
+ case 0: rgb=[0,1,2]; break;
702
+ case 1: rgb=[1,0,2]; break;
703
+ case 2: rgb=[2,0,1]; break;
704
+ case 3: rgb=[2,1,0]; break;
705
+ case 4: rgb=[1,2,0]; break;
706
+ case 5: rgb=[0,2,1]; break;
707
+ }
708
+ for(var i=0; i<seg.length; i+=1) {
709
+ s = 1 - 1/(seg.length-1)*i;
710
+ c[1] = c[0] * (1 - s*f);
711
+ c[2] = c[0] * (1 - s);
712
+ seg[i].style.backgroundColor = 'rgb('+
713
+ (c[rgb[0]]*100)+'%,'+
714
+ (c[rgb[1]]*100)+'%,'+
715
+ (c[rgb[2]]*100)+'%)';
716
+ }
717
+ break;
718
+ }
719
+ }
720
+
721
+
722
+ function redrawSld() {
723
+ // redraw the slider pointer
724
+ switch(modeID) {
725
+ case 0: var yComponent = 2; break;
726
+ case 1: var yComponent = 1; break;
727
+ }
728
+ var y = Math.round((1-THIS.hsv[yComponent]) * (jscolor.images.sld[1]-1));
729
+ jscolor.picker.sldM.style.backgroundPosition =
730
+ '0 ' + (THIS.pickerFace+THIS.pickerInset+y - Math.floor(jscolor.images.arrow[1]/2)) + 'px';
731
+ }
732
+
733
+
734
+ function isPickerOwner() {
735
+ return jscolor.picker && jscolor.picker.owner === THIS;
736
+ }
737
+
738
+
739
+ function blurTarget() {
740
+ if(valueElement === target) {
741
+ THIS.importColor();
742
+ }
743
+ if(THIS.pickerOnfocus) {
744
+ THIS.hidePicker();
745
+ }
746
+ }
747
+
748
+
749
+ function blurValue() {
750
+ if(valueElement !== target) {
751
+ THIS.importColor();
752
+ }
753
+ }
754
+
755
+
756
+ function setPad(e) {
757
+ var posM = jscolor.getMousePos(e);
758
+ var x = posM[0]-posPad[0];
759
+ var y = posM[1]-posPad[1];
760
+ switch(modeID) {
761
+ case 0: THIS.fromHSV(x*(6/(jscolor.images.pad[0]-1)), 1 - y/(jscolor.images.pad[1]-1), null, leaveSld); break;
762
+ case 1: THIS.fromHSV(x*(6/(jscolor.images.pad[0]-1)), null, 1 - y/(jscolor.images.pad[1]-1), leaveSld); break;
763
+ }
764
+ }
765
+
766
+
767
+ function setSld(e) {
768
+ var posM = jscolor.getMousePos(e);
769
+ var y = posM[1]-posPad[1];
770
+ switch(modeID) {
771
+ case 0: THIS.fromHSV(null, null, 1 - y/(jscolor.images.sld[1]-1), leavePad); break;
772
+ case 1: THIS.fromHSV(null, 1 - y/(jscolor.images.sld[1]-1), null, leavePad); break;
773
+ }
774
+ }
775
+
776
+
777
+ var THIS = this;
778
+ var modeID = this.pickerMode.toLowerCase()==='hvs' ? 1 : 0;
779
+ var abortBlur = false;
780
+ var
781
+ valueElement = jscolor.fetchElement(this.valueElement),
782
+ styleElement = jscolor.fetchElement(this.styleElement);
783
+ var
784
+ holdPad = false,
785
+ holdSld = false;
786
+ var
787
+ posPad,
788
+ posSld;
789
+ var
790
+ leaveValue = 1<<0,
791
+ leaveStyle = 1<<1,
792
+ leavePad = 1<<2,
793
+ leaveSld = 1<<3;
794
+
795
+ // target
796
+ jscolor.addEvent(target, 'focus', function() {
797
+ if(THIS.pickerOnfocus) { THIS.showPicker(); }
798
+ });
799
+ jscolor.addEvent(target, 'blur', function() {
800
+ if(!abortBlur) {
801
+ window.setTimeout(function(){ abortBlur || blurTarget(); abortBlur=false; }, 0);
802
+ } else {
803
+ abortBlur = false;
804
+ }
805
+ });
806
+
807
+ // valueElement
808
+ if(valueElement) {
809
+ var updateField = function() {
810
+ THIS.fromString(valueElement.value, leaveValue);
811
+ };
812
+ jscolor.addEvent(valueElement, 'keyup', updateField);
813
+ jscolor.addEvent(valueElement, 'input', updateField);
814
+ jscolor.addEvent(valueElement, 'blur', blurValue);
815
+ valueElement.setAttribute('autocomplete', 'off');
816
+ }
817
+
818
+ // styleElement
819
+ if(styleElement) {
820
+ styleElement.jscStyle = {
821
+ backgroundColor : styleElement.style.backgroundColor,
822
+ color : styleElement.style.color
823
+ };
824
+ }
825
+
826
+ // require images
827
+ switch(modeID) {
828
+ case 0: jscolor.requireImage('hs.png'); break;
829
+ case 1: jscolor.requireImage('hv.png'); break;
830
+ }
831
+ jscolor.requireImage('cross.gif');
832
+ jscolor.requireImage('arrow.gif');
833
+
834
+ this.importColor();
835
+ }
836
+
837
+ };
838
+
839
+
840
+ jscolor.install();
js/lib/FABridge.js ADDED
@@ -0,0 +1,613 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ Copyright 2006 Adobe Systems Incorporated
3
+
4
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),
5
+ to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
6
+ and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
7
+
8
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
9
+
10
+
11
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
13
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
14
+ OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
15
+
16
+ */
17
+
18
+
19
+ /*
20
+ * The Bridge class, responsible for navigating AS instances
21
+ */
22
+ function FABridge(target,bridgeName)
23
+ {
24
+ this.target = target;
25
+ this.remoteTypeCache = {};
26
+ this.remoteInstanceCache = {};
27
+ this.remoteFunctionCache = {};
28
+ this.localFunctionCache = {};
29
+ this.bridgeID = FABridge.nextBridgeID++;
30
+ this.name = bridgeName;
31
+ this.nextLocalFuncID = 0;
32
+ FABridge.instances[this.name] = this;
33
+ FABridge.idMap[this.bridgeID] = this;
34
+
35
+ return this;
36
+ }
37
+
38
+ // type codes for packed values
39
+ FABridge.TYPE_ASINSTANCE = 1;
40
+ FABridge.TYPE_ASFUNCTION = 2;
41
+
42
+ FABridge.TYPE_JSFUNCTION = 3;
43
+ FABridge.TYPE_ANONYMOUS = 4;
44
+
45
+ FABridge.initCallbacks = {};
46
+ FABridge.userTypes = {};
47
+
48
+ FABridge.addToUserTypes = function()
49
+ {
50
+ for (var i = 0; i < arguments.length; i++)
51
+ {
52
+ FABridge.userTypes[arguments[i]] = {
53
+ 'typeName': arguments[i],
54
+ 'enriched': false
55
+ };
56
+ }
57
+ }
58
+
59
+ FABridge.argsToArray = function(args)
60
+ {
61
+ var result = [];
62
+ for (var i = 0; i < args.length; i++)
63
+ {
64
+ result[i] = args[i];
65
+ }
66
+ return result;
67
+ }
68
+
69
+ function instanceFactory(objID)
70
+ {
71
+ this.fb_instance_id = objID;
72
+ return this;
73
+ }
74
+
75
+ function FABridge__invokeJSFunction(args)
76
+ {
77
+ var funcID = args[0];
78
+ var throughArgs = args.concat();//FABridge.argsToArray(arguments);
79
+ throughArgs.shift();
80
+
81
+ var bridge = FABridge.extractBridgeFromID(funcID);
82
+ return bridge.invokeLocalFunction(funcID, throughArgs);
83
+ }
84
+
85
+ FABridge.addInitializationCallback = function(bridgeName, callback)
86
+ {
87
+ var inst = FABridge.instances[bridgeName];
88
+ if (inst != undefined)
89
+ {
90
+ callback.call(inst);
91
+ return;
92
+ }
93
+
94
+ var callbackList = FABridge.initCallbacks[bridgeName];
95
+ if(callbackList == null)
96
+ {
97
+ FABridge.initCallbacks[bridgeName] = callbackList = [];
98
+ }
99
+
100
+ callbackList.push(callback);
101
+ }
102
+
103
+ // updated for changes to SWFObject2
104
+ function FABridge__bridgeInitialized(bridgeName) {
105
+ var objects = document.getElementsByTagName("object");
106
+ var ol = objects.length;
107
+ var activeObjects = [];
108
+ if (ol > 0) {
109
+ for (var i = 0; i < ol; i++) {
110
+ if (typeof objects[i].SetVariable != "undefined") {
111
+ activeObjects[activeObjects.length] = objects[i];
112
+ }
113
+ }
114
+ }
115
+ var embeds = document.getElementsByTagName("embed");
116
+ var el = embeds.length;
117
+ var activeEmbeds = [];
118
+ if (el > 0) {
119
+ for (var j = 0; j < el; j++) {
120
+ if (typeof embeds[j].SetVariable != "undefined") {
121
+ activeEmbeds[activeEmbeds.length] = embeds[j];
122
+ }
123
+ }
124
+ }
125
+ var aol = activeObjects.length;
126
+ var ael = activeEmbeds.length;
127
+ var searchStr = "bridgeName="+ bridgeName;
128
+ if ((aol == 1 && !ael) || (aol == 1 && ael == 1)) {
129
+ FABridge.attachBridge(activeObjects[0], bridgeName);
130
+ }
131
+ else if (ael == 1 && !aol) {
132
+ FABridge.attachBridge(activeEmbeds[0], bridgeName);
133
+ }
134
+ else {
135
+ var flash_found = false;
136
+ if (aol > 1) {
137
+ for (var k = 0; k < aol; k++) {
138
+ var params = activeObjects[k].childNodes;
139
+ for (var l = 0; l < params.length; l++) {
140
+ var param = params[l];
141
+ if (param.nodeType == 1 && param.tagName.toLowerCase() == "param" && param["name"].toLowerCase() == "flashvars" && param["value"].indexOf(searchStr) >= 0) {
142
+ FABridge.attachBridge(activeObjects[k], bridgeName);
143
+ flash_found = true;
144
+ break;
145
+ }
146
+ }
147
+ if (flash_found) {
148
+ break;
149
+ }
150
+ }
151
+ }
152
+ if (!flash_found && ael > 1) {
153
+ for (var m = 0; m < ael; m++) {
154
+ var flashVars = activeEmbeds[m].attributes.getNamedItem("flashVars").nodeValue;
155
+ if (flashVars.indexOf(searchStr) >= 0) {
156
+ FABridge.attachBridge(activeEmbeds[m], bridgeName);
157
+ break;
158
+ }
159
+ }
160
+ }
161
+ }
162
+ return true;
163
+ }
164
+
165
+ // used to track multiple bridge instances, since callbacks from AS are global across the page.
166
+
167
+ FABridge.nextBridgeID = 0;
168
+ FABridge.instances = {};
169
+ FABridge.idMap = {};
170
+ FABridge.refCount = 0;
171
+
172
+ FABridge.extractBridgeFromID = function(id)
173
+ {
174
+ var bridgeID = (id >> 16);
175
+ return FABridge.idMap[bridgeID];
176
+ }
177
+
178
+ FABridge.attachBridge = function(instance, bridgeName)
179
+ {
180
+
181
+ // reuse bridge if it exists
182
+ // var newBridgeInstance = new FABridge(instance, bridgeName);
183
+
184
+ // reuse bridge if it exists
185
+ // FABridge[bridgeName] = newBridgeInstance;
186
+
187
+ if (typeof FABridge[bridgeName] == 'undefined') {
188
+ FABridge[bridgeName] = new FABridge(instance, bridgeName);
189
+ }
190
+
191
+ /* FABridge[bridgeName] = function() {
192
+ return newBridgeInstance.root();
193
+ }
194
+ */
195
+ var callbacks = FABridge.initCallbacks[bridgeName];
196
+ if (callbacks == null)
197
+ {
198
+ return;
199
+ }
200
+ for (var i = 0; i < callbacks.length; i++)
201
+ {
202
+ // callbacks[i].call(newBridgeInstance);
203
+ callbacks[i].call(FABridge[bridgeName]);
204
+ }
205
+
206
+ // reuse bridge if it exists
207
+ // delete FABridge.initCallbacks[bridgeName]
208
+ }
209
+
210
+ // some methods can't be proxied. You can use the explicit get,set, and call methods if necessary.
211
+
212
+ FABridge.blockedMethods =
213
+ {
214
+ toString: true,
215
+ get: true,
216
+ set: true,
217
+ call: true
218
+ };
219
+
220
+ FABridge.prototype =
221
+ {
222
+
223
+
224
+ // bootstrapping
225
+
226
+ root: function()
227
+ {
228
+ return this.deserialize(this.target.getRoot());
229
+ },
230
+ //clears all of the AS objects in the cache maps
231
+ releaseASObjects: function()
232
+ {
233
+ return this.target.releaseASObjects();
234
+ },
235
+ //clears a specific object in AS from the type maps
236
+ releaseNamedASObject: function(value)
237
+ {
238
+ if(typeof(value) != "object")
239
+ {
240
+ return false;
241
+ }
242
+ else
243
+ {
244
+ var ret = this.target.releaseNamedASObject(value.fb_instance_id);
245
+ return ret;
246
+ }
247
+ },
248
+ //create a new AS Object
249
+ create: function(className)
250
+ {
251
+ return this.deserialize(this.target.create(className));
252
+ },
253
+
254
+
255
+ // utilities
256
+
257
+ makeID: function(token)
258
+ {
259
+ return (this.bridgeID << 16) + token;
260
+ },
261
+
262
+
263
+ // low level access to the flash object
264
+
265
+ //get a named property from an AS object
266
+ getPropertyFromAS: function(objRef, propName)
267
+ {
268
+ if (FABridge.refCount > 0)
269
+ {
270
+ throw new Error("You are trying to call recursively into the Flash Player which is not allowed. In most cases the JavaScript setTimeout function, can be used as a workaround.");
271
+ }
272
+ else
273
+ {
274
+ FABridge.refCount++;
275
+ retVal = this.target.getPropFromAS(objRef, propName);
276
+ retVal = this.handleError(retVal);
277
+ FABridge.refCount--;
278
+ return retVal;
279
+ }
280
+ },
281
+ //set a named property on an AS object
282
+ setPropertyInAS: function(objRef,propName, value)
283
+ {
284
+ if (FABridge.refCount > 0)
285
+ {
286
+ throw new Error("You are trying to call recursively into the Flash Player which is not allowed. In most cases the JavaScript setTimeout function, can be used as a workaround.");
287
+ }
288
+ else
289
+ {
290
+ FABridge.refCount++;
291
+ retVal = this.target.setPropInAS(objRef,propName, this.serialize(value));
292
+ retVal = this.handleError(retVal);
293
+ FABridge.refCount--;
294
+ return retVal;
295
+ }
296
+ },
297
+
298
+ //call an AS function
299
+ callASFunction: function(funcID, args)
300
+ {
301
+ if (FABridge.refCount > 0)
302
+ {
303
+ throw new Error("You are trying to call recursively into the Flash Player which is not allowed. In most cases the JavaScript setTimeout function, can be used as a workaround.");
304
+ }
305
+ else
306
+ {
307
+ FABridge.refCount++;
308
+ retVal = this.target.invokeASFunction(funcID, this.serialize(args));
309
+ retVal = this.handleError(retVal);
310
+ FABridge.refCount--;
311
+ return retVal;
312
+ }
313
+ },
314
+ //call a method on an AS object
315
+ callASMethod: function(objID, funcName, args)
316
+ {
317
+ if (FABridge.refCount > 0)
318
+ {
319
+ throw new Error("You are trying to call recursively into the Flash Player which is not allowed. In most cases the JavaScript setTimeout function, can be used as a workaround.");
320
+ }
321
+ else
322
+ {
323
+ FABridge.refCount++;
324
+ args = this.serialize(args);
325
+ retVal = this.target.invokeASMethod(objID, funcName, args);
326
+ retVal = this.handleError(retVal);
327
+ FABridge.refCount--;
328
+ return retVal;
329
+ }
330
+ },
331
+
332
+ // responders to remote calls from flash
333
+
334
+ //callback from flash that executes a local JS function
335
+ //used mostly when setting js functions as callbacks on events
336
+ invokeLocalFunction: function(funcID, args)
337
+ {
338
+ var result;
339
+ var func = this.localFunctionCache[funcID];
340
+
341
+ if(func != undefined)
342
+ {
343
+ result = this.serialize(func.apply(null, this.deserialize(args)));
344
+ }
345
+
346
+ return result;
347
+ },
348
+
349
+ // Object Types and Proxies
350
+
351
+ // accepts an object reference, returns a type object matching the obj reference.
352
+ getTypeFromName: function(objTypeName)
353
+ {
354
+ return this.remoteTypeCache[objTypeName];
355
+ },
356
+ //create an AS proxy for the given object ID and type
357
+ createProxy: function(objID, typeName)
358
+ {
359
+ var objType = this.getTypeFromName(typeName);
360
+ instanceFactory.prototype = objType;
361
+ var instance = new instanceFactory(objID);
362
+ this.remoteInstanceCache[objID] = instance;
363
+ return instance;
364
+ },
365
+ //return the proxy associated with the given object ID
366
+ getProxy: function(objID)
367
+ {
368
+ return this.remoteInstanceCache[objID];
369
+ },
370
+
371
+ // accepts a type structure, returns a constructed type
372
+ addTypeDataToCache: function(typeData)
373
+ {
374
+ newType = new ASProxy(this, typeData.name);
375
+ var accessors = typeData.accessors;
376
+ for (var i = 0; i < accessors.length; i++)
377
+ {
378
+ this.addPropertyToType(newType, accessors[i]);
379
+ }
380
+
381
+ var methods = typeData.methods;
382
+ for (var i = 0; i < methods.length; i++)
383
+ {
384
+ if (FABridge.blockedMethods[methods[i]] == undefined)
385
+ {
386
+ this.addMethodToType(newType, methods[i]);
387
+ }
388
+ }
389
+
390
+
391
+ this.remoteTypeCache[newType.typeName] = newType;
392
+ return newType;
393
+ },
394
+
395
+ //add a property to a typename; used to define the properties that can be called on an AS proxied object
396
+ addPropertyToType: function(ty, propName)
397
+ {
398
+ var c = propName.charAt(0);
399
+ var setterName;
400
+ var getterName;
401
+ if(c >= "a" && c <= "z")
402
+ {
403
+ getterName = "get" + c.toUpperCase() + propName.substr(1);
404
+ setterName = "set" + c.toUpperCase() + propName.substr(1);
405
+ }
406
+ else
407
+ {
408
+ getterName = "get" + propName;
409
+ setterName = "set" + propName;
410
+ }
411
+ ty[setterName] = function(val)
412
+ {
413
+ this.bridge.setPropertyInAS(this.fb_instance_id, propName, val);
414
+ }
415
+ ty[getterName] = function()
416
+ {
417
+ return this.bridge.deserialize(this.bridge.getPropertyFromAS(this.fb_instance_id, propName));
418
+ }
419
+ },
420
+
421
+ //add a method to a typename; used to define the methods that can be callefd on an AS proxied object
422
+ addMethodToType: function(ty, methodName)
423
+ {
424
+ ty[methodName] = function()
425
+ {
426
+ return this.bridge.deserialize(this.bridge.callASMethod(this.fb_instance_id, methodName, FABridge.argsToArray(arguments)));
427
+ }
428
+ },
429
+
430
+ // Function Proxies
431
+
432
+ //returns the AS proxy for the specified function ID
433
+ getFunctionProxy: function(funcID)
434
+ {
435
+ var bridge = this;
436
+ if (this.remoteFunctionCache[funcID] == null)
437
+ {
438
+ this.remoteFunctionCache[funcID] = function()
439
+ {
440
+ bridge.callASFunction(funcID, FABridge.argsToArray(arguments));
441
+ }
442
+ }
443
+ return this.remoteFunctionCache[funcID];
444
+ },
445
+
446
+ //reutrns the ID of the given function; if it doesnt exist it is created and added to the local cache
447
+ getFunctionID: function(func)
448
+ {
449
+ if (func.__bridge_id__ == undefined)
450
+ {
451
+ func.__bridge_id__ = this.makeID(this.nextLocalFuncID++);
452
+ this.localFunctionCache[func.__bridge_id__] = func;
453
+ }
454
+ return func.__bridge_id__;
455
+ },
456
+
457
+ // serialization / deserialization
458
+
459
+ serialize: function(value)
460
+ {
461
+ var result = {};
462
+
463
+ var t = typeof(value);
464
+ //primitives are kept as such
465
+ if (t == "number" || t == "string" || t == "boolean" || t == null || t == undefined)
466
+ {
467
+ result = value;
468
+ }
469
+ else if (value instanceof Array)
470
+ {
471
+ //arrays are serializesd recursively
472
+ result = [];
473
+ for (var i = 0; i < value.length; i++)
474
+ {
475
+ result[i] = this.serialize(value[i]);
476
+ }
477
+ }
478
+ else if (t == "function")
479
+ {
480
+ //js functions are assigned an ID and stored in the local cache
481
+ result.type = FABridge.TYPE_JSFUNCTION;
482
+ result.value = this.getFunctionID(value);
483
+ }
484
+ else if (value instanceof ASProxy)
485
+ {
486
+ result.type = FABridge.TYPE_ASINSTANCE;
487
+ result.value = value.fb_instance_id;
488
+ }
489
+ else
490
+ {
491
+ result.type = FABridge.TYPE_ANONYMOUS;
492
+ result.value = value;
493
+ }
494
+
495
+ return result;
496
+ },
497
+
498
+ //on deserialization we always check the return for the specific error code that is used to marshall NPE's into JS errors
499
+ // the unpacking is done by returning the value on each pachet for objects/arrays
500
+ deserialize: function(packedValue)
501
+ {
502
+
503
+ var result;
504
+
505
+ var t = typeof(packedValue);
506
+ if (t == "number" || t == "string" || t == "boolean" || packedValue == null || packedValue == undefined)
507
+ {
508
+ result = this.handleError(packedValue);
509
+ }
510
+ else if (packedValue instanceof Array)
511
+ {
512
+ result = [];
513
+ for (var i = 0; i < packedValue.length; i++)
514
+ {
515
+ result[i] = this.deserialize(packedValue[i]);
516
+ }
517
+ }
518
+ else if (t == "object")
519
+ {
520
+ for(var i = 0; i < packedValue.newTypes.length; i++)
521
+ {
522
+ this.addTypeDataToCache(packedValue.newTypes[i]);
523
+ }
524
+ for (var aRefID in packedValue.newRefs)
525
+ {
526
+ this.createProxy(aRefID, packedValue.newRefs[aRefID]);
527
+ }
528
+ if (packedValue.type == FABridge.TYPE_PRIMITIVE)
529
+ {
530
+ result = packedValue.value;
531
+ }
532
+ else if (packedValue.type == FABridge.TYPE_ASFUNCTION)
533
+ {
534
+ result = this.getFunctionProxy(packedValue.value);
535
+ }
536
+ else if (packedValue.type == FABridge.TYPE_ASINSTANCE)
537
+ {
538
+ result = this.getProxy(packedValue.value);
539
+ }
540
+ else if (packedValue.type == FABridge.TYPE_ANONYMOUS)
541
+ {
542
+ result = packedValue.value;
543
+ }
544
+ }
545
+ return result;
546
+ },
547
+ //increases the reference count for the given object
548
+ addRef: function(obj)
549
+ {
550
+ this.target.incRef(obj.fb_instance_id);
551
+ },
552
+ //decrease the reference count for the given object and release it if needed
553
+ release:function(obj)
554
+ {
555
+ this.target.releaseRef(obj.fb_instance_id);
556
+ },
557
+
558
+ // check the given value for the components of the hard-coded error code : __FLASHERROR
559
+ // used to marshall NPE's into flash
560
+
561
+ handleError: function(value)
562
+ {
563
+ if (typeof(value)=="string" && value.indexOf("__FLASHERROR")==0)
564
+ {
565
+ var myErrorMessage = value.split("||");
566
+ if(FABridge.refCount > 0 )
567
+ {
568
+ FABridge.refCount--;
569
+ }
570
+ throw new Error(myErrorMessage[1]);
571
+ return value;
572
+ }
573
+ else
574
+ {
575
+ return value;
576
+ }
577
+ }
578
+ };
579
+
580
+ // The root ASProxy class that facades a flash object
581
+
582
+ ASProxy = function(bridge, typeName)
583
+ {
584
+ this.bridge = bridge;
585
+ this.typeName = typeName;
586
+ return this;
587
+ };
588
+ //methods available on each ASProxy object
589
+ ASProxy.prototype =
590
+ {
591
+ get: function(propName)
592
+ {
593
+ return this.bridge.deserialize(this.bridge.getPropertyFromAS(this.fb_instance_id, propName));
594
+ },
595
+
596
+ set: function(propName, value)
597
+ {
598
+ this.bridge.setPropertyInAS(this.fb_instance_id, propName, value);
599
+ },
600
+
601
+ call: function(funcName, args)
602
+ {
603
+ this.bridge.callASMethod(this.fb_instance_id, funcName, args);
604
+ },
605
+
606
+ addRef: function() {
607
+ this.bridge.addRef(this);
608
+ },
609
+
610
+ release: function() {
611
+ this.bridge.release(this);
612
+ }
613
+ };
js/lib/boxover.js ADDED
@@ -0,0 +1,372 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* --- BoxOver ---
2
+ /* --- v 2.1 17th June 2006
3
+ By Oliver Bryant with help of Matthew Tagg
4
+ http://boxover.swazz.org */
5
+
6
+ if (typeof document.attachEvent!='undefined') {
7
+ window.attachEvent('onload',init);
8
+ document.attachEvent('onmousemove',moveMouse);
9
+ document.attachEvent('onclick',checkMove); }
10
+ else {
11
+ window.addEventListener('load',init,false);
12
+ document.addEventListener('mousemove',moveMouse,false);
13
+ document.addEventListener('click',checkMove,false);
14
+ }
15
+
16
+ var oDv=document.createElement("div");
17
+ var dvHdr=document.createElement("div");
18
+ var dvBdy=document.createElement("div");
19
+ var windowlock,boxMove,fixposx,fixposy,lockX,lockY,fixx,fixy,ox,oy,boxLeft,boxRight,boxTop,boxBottom,evt,mouseX,mouseY,boxOpen,totalScrollTop,totalScrollLeft;
20
+ boxOpen=false;
21
+ ox=10;
22
+ oy=10;
23
+ lockX=0;
24
+ lockY=0;
25
+
26
+ function init() {
27
+ oDv.appendChild(dvHdr);
28
+ oDv.appendChild(dvBdy);
29
+ oDv.style.position="absolute";
30
+ oDv.style.visibility='hidden';
31
+ document.body.appendChild(oDv);
32
+ }
33
+
34
+ function defHdrStyle() {
35
+ dvHdr.innerHTML='<img style="vertical-align:middle" src="info.gif">&nbsp;&nbsp;'+dvHdr.innerHTML;
36
+ dvHdr.style.fontWeight='bold';
37
+ dvHdr.style.width='150px';
38
+ dvHdr.style.fontFamily='arial';
39
+ dvHdr.style.border='1px solid #A5CFE9';
40
+ dvHdr.style.padding='3';
41
+ dvHdr.style.fontSize='11';
42
+ dvHdr.style.color='#4B7A98';
43
+ dvHdr.style.background='#D5EBF9';
44
+ dvHdr.style.filter='alpha(opacity=85)'; // IE
45
+ dvHdr.style.opacity='0.85'; // FF
46
+ }
47
+
48
+ function defBdyStyle() {
49
+ dvBdy.style.borderBottom='1px solid #A5CFE9';
50
+ dvBdy.style.borderLeft='1px solid #A5CFE9';
51
+ dvBdy.style.borderRight='1px solid #A5CFE9';
52
+ dvBdy.style.width='150px';
53
+ dvBdy.style.fontFamily='arial';
54
+ dvBdy.style.fontSize='11';
55
+ dvBdy.style.padding='3';
56
+ dvBdy.style.color='#1B4966';
57
+ dvBdy.style.background='#FFFFFF';
58
+ dvBdy.style.filter='alpha(opacity=85)'; // IE
59
+ dvBdy.style.opacity='0.85'; // FF
60
+ }
61
+
62
+ function checkElemBO(txt) {
63
+ if (!txt || typeof(txt) != 'string') return false;
64
+ if ((txt.indexOf('header')>-1)&&(txt.indexOf('body')>-1)&&(txt.indexOf('[')>-1)&&(txt.indexOf('[')>-1))
65
+ return true;
66
+ else
67
+ return false;
68
+ }
69
+
70
+ function scanBO(curNode) {
71
+ if (checkElemBO(curNode.title)) {
72
+ curNode.boHDR=getParam('header',curNode.title);
73
+ curNode.boBDY=getParam('body',curNode.title);
74
+ curNode.boCSSBDY=getParam('cssbody',curNode.title);
75
+ curNode.boCSSHDR=getParam('cssheader',curNode.title);
76
+ curNode.IEbugfix=(getParam('hideselects',curNode.title)=='on')?true:false;
77
+ curNode.fixX=parseInt(getParam('fixedrelx',curNode.title));
78
+ curNode.fixY=parseInt(getParam('fixedrely',curNode.title));
79
+ curNode.absX=parseInt(getParam('fixedabsx',curNode.title));
80
+ curNode.absY=parseInt(getParam('fixedabsy',curNode.title));
81
+ curNode.offY=(getParam('offsety',curNode.title)!='')?parseInt(getParam('offsety',curNode.title)):10;
82
+ curNode.offX=(getParam('offsetx',curNode.title)!='')?parseInt(getParam('offsetx',curNode.title)):10;
83
+ curNode.fade=(getParam('fade',curNode.title)=='on')?true:false;
84
+ curNode.fadespeed=(getParam('fadespeed',curNode.title)!='')?getParam('fadespeed',curNode.title):0.04;
85
+ curNode.delay=(getParam('delay',curNode.title)!='')?parseInt(getParam('delay',curNode.title)):0;
86
+ if (getParam('requireclick',curNode.title)=='on') {
87
+ curNode.requireclick=true;
88
+ document.all?curNode.attachEvent('onclick',showHideBox):curNode.addEventListener('click',showHideBox,false);
89
+ document.all?curNode.attachEvent('onmouseover',hideBox):curNode.addEventListener('mouseover',hideBox,false);
90
+ }
91
+ else {// Note : if requireclick is on the stop clicks are ignored
92
+ if (getParam('doubleclickstop',curNode.title)!='off') {
93
+ document.all?curNode.attachEvent('ondblclick',pauseBox):curNode.addEventListener('dblclick',pauseBox,false);
94
+ }
95
+ if (getParam('singleclickstop',curNode.title)=='on') {
96
+ document.all?curNode.attachEvent('onclick',pauseBox):curNode.addEventListener('click',pauseBox,false);
97
+ }
98
+ }
99
+ curNode.windowLock=getParam('windowlock',curNode.title).toLowerCase()=='off'?false:true;
100
+ curNode.title='';
101
+ curNode.hasbox=1;
102
+ }
103
+ else
104
+ curNode.hasbox=2;
105
+ }
106
+
107
+
108
+ function getParam(param,list) {
109
+ var reg = new RegExp('([^a-zA-Z]' + param + '|^' + param + ')\\s*=\\s*\\[\\s*(((\\[\\[)|(\\]\\])|([^\\]\\[]))*)\\s*\\]');
110
+ var res = reg.exec(list);
111
+ var returnvar;
112
+ if(res)
113
+ return res[2].replace('[[','[').replace(']]',']');
114
+ else
115
+ return '';
116
+ }
117
+
118
+ function Left(elem){
119
+ var x=0;
120
+ if (elem.calcLeft)
121
+ return elem.calcLeft;
122
+ var oElem=elem;
123
+ while(elem){
124
+ if ((elem.currentStyle)&& (!isNaN(parseInt(elem.currentStyle.borderLeftWidth)))&&(x!=0))
125
+ x+=parseInt(elem.currentStyle.borderLeftWidth);
126
+ x+=elem.offsetLeft;
127
+ elem=elem.offsetParent;
128
+ }
129
+ oElem.calcLeft=x;
130
+ return x;
131
+ }
132
+
133
+ function Top(elem){
134
+ var x=0;
135
+ if (elem.calcTop)
136
+ return elem.calcTop;
137
+ var oElem=elem;
138
+ while(elem){
139
+ if ((elem.currentStyle)&& (!isNaN(parseInt(elem.currentStyle.borderTopWidth)))&&(x!=0))
140
+ x+=parseInt(elem.currentStyle.borderTopWidth);
141
+ x+=elem.offsetTop;
142
+ elem=elem.offsetParent;
143
+ }
144
+ oElem.calcTop=x;
145
+ return x;
146
+
147
+ }
148
+
149
+ var ah,ab;
150
+ function applyStyles() {
151
+ if(ab)
152
+ oDv.removeChild(dvBdy);
153
+ if (ah)
154
+ oDv.removeChild(dvHdr);
155
+ dvHdr=document.createElement("div");
156
+ dvBdy=document.createElement("div");
157
+ CBE.boCSSBDY?dvBdy.className=CBE.boCSSBDY:defBdyStyle();
158
+ CBE.boCSSHDR?dvHdr.className=CBE.boCSSHDR:defHdrStyle();
159
+ dvHdr.innerHTML=CBE.boHDR;
160
+ dvBdy.innerHTML=CBE.boBDY;
161
+ ah=false;
162
+ ab=false;
163
+ if (CBE.boHDR!='') {
164
+ oDv.appendChild(dvHdr);
165
+ ah=true;
166
+ }
167
+ if (CBE.boBDY!=''){
168
+ oDv.appendChild(dvBdy);
169
+ ab=true;
170
+ }
171
+ }
172
+
173
+ var CSE,iterElem,LSE,CBE,LBE, totalScrollLeft, totalScrollTop, width, height ;
174
+ var ini=false;
175
+
176
+ // Customised function for inner window dimension
177
+ function SHW() {
178
+ if (document.body && (document.body.clientWidth !=0)) {
179
+ width=document.body.clientWidth;
180
+ height=document.body.clientHeight;
181
+ }
182
+ if (document.documentElement && (document.documentElement.clientWidth!=0) && (document.body.clientWidth + 20 >= document.documentElement.clientWidth)) {
183
+ width=document.documentElement.clientWidth;
184
+ height=document.documentElement.clientHeight;
185
+ }
186
+ return [width,height];
187
+ }
188
+
189
+
190
+ var ID=null;
191
+ function moveMouse(e) {
192
+ //boxMove=true;
193
+ e?evt=e:evt=event;
194
+
195
+ CSE=evt.target?evt.target:evt.srcElement;
196
+
197
+ if (!CSE.hasbox) {
198
+ // Note we need to scan up DOM here, some elements like TR don't get triggered as srcElement
199
+ iElem=CSE;
200
+ while ((iElem.parentNode) && (!iElem.hasbox)) {
201
+ scanBO(iElem);
202
+ iElem=iElem.parentNode;
203
+ }
204
+ }
205
+
206
+ if ((CSE!=LSE)&&(!isChild(CSE,dvHdr))&&(!isChild(CSE,dvBdy))){
207
+ if (!CSE.boxItem) {
208
+ iterElem=CSE;
209
+ while ((iterElem.hasbox==2)&&(iterElem.parentNode))
210
+ iterElem=iterElem.parentNode;
211
+ CSE.boxItem=iterElem;
212
+ }
213
+ iterElem=CSE.boxItem;
214
+ if (CSE.boxItem&&(CSE.boxItem.hasbox==1)) {
215
+ LBE=CBE;
216
+ CBE=iterElem;
217
+ if (CBE!=LBE) {
218
+ applyStyles();
219
+ if (!CBE.requireclick)
220
+ if (CBE.fade) {
221
+ if (ID!=null)
222
+ clearTimeout(ID);
223
+ ID=setTimeout("fadeIn("+CBE.fadespeed+")",CBE.delay);
224
+ }
225
+ else {
226
+ if (ID!=null)
227
+ clearTimeout(ID);
228
+ COL=1;
229
+ ID=setTimeout("oDv.style.visibility='visible';ID=null;",CBE.delay);
230
+ }
231
+ if (CBE.IEbugfix) {hideSelects();}
232
+ fixposx=!isNaN(CBE.fixX)?Left(CBE)+CBE.fixX:CBE.absX;
233
+ fixposy=!isNaN(CBE.fixY)?Top(CBE)+CBE.fixY:CBE.absY;
234
+ lockX=0;
235
+ lockY=0;
236
+ boxMove=true;
237
+ ox=CBE.offX?CBE.offX:10;
238
+ oy=CBE.offY?CBE.offY:10;
239
+ }
240
+ }
241
+ else if (!isChild(CSE,dvHdr) && !isChild(CSE,dvBdy) && (boxMove)) {
242
+ // The conditional here fixes flickering between tables cells.
243
+ if ((!isChild(CBE,CSE)) || (CSE.tagName!='TABLE')) {
244
+ CBE=null;
245
+ if (ID!=null)
246
+ clearTimeout(ID);
247
+ fadeOut();
248
+ showSelects();
249
+ }
250
+ }
251
+ LSE=CSE;
252
+ }
253
+ else if (((isChild(CSE,dvHdr) || isChild(CSE,dvBdy))&&(boxMove))) {
254
+ totalScrollLeft=0;
255
+ totalScrollTop=0;
256
+
257
+ iterElem=CSE;
258
+ while(iterElem) {
259
+ if(!isNaN(parseInt(iterElem.scrollTop)))
260
+ totalScrollTop+=parseInt(iterElem.scrollTop);
261
+ if(!isNaN(parseInt(iterElem.scrollLeft)))
262
+ totalScrollLeft+=parseInt(iterElem.scrollLeft);
263
+ iterElem=iterElem.parentNode;
264
+ }
265
+ if (CBE!=null) {
266
+ boxLeft=Left(CBE)-totalScrollLeft;
267
+ boxRight=parseInt(Left(CBE)+CBE.offsetWidth)-totalScrollLeft;
268
+ boxTop=Top(CBE)-totalScrollTop;
269
+ boxBottom=parseInt(Top(CBE)+CBE.offsetHeight)-totalScrollTop;
270
+ doCheck();
271
+ }
272
+ }
273
+
274
+ if (boxMove&&CBE) {
275
+ // This added to alleviate bug in IE6 w.r.t DOCTYPE
276
+ bodyScrollTop=document.documentElement&&document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop;
277
+ bodyScrollLet=document.documentElement&&document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft;
278
+ mouseX=evt.pageX?evt.pageX-bodyScrollLet:evt.clientX-document.body.clientLeft;
279
+ mouseY=evt.pageY?evt.pageY-bodyScrollTop:evt.clientY-document.body.clientTop;
280
+ if ((CBE)&&(CBE.windowLock)) {
281
+ mouseY < -oy?lockY=-mouseY-oy:lockY=0;
282
+ mouseX < -ox?lockX=-mouseX-ox:lockX=0;
283
+ mouseY > (SHW()[1]-oDv.offsetHeight-oy)?lockY=-mouseY+SHW()[1]-oDv.offsetHeight-oy:lockY=lockY;
284
+ mouseX > (SHW()[0]-dvBdy.offsetWidth-ox)?lockX=-mouseX-ox+SHW()[0]-dvBdy.offsetWidth:lockX=lockX;
285
+ }
286
+ oDv.style.left=((fixposx)||(fixposx==0))?fixposx:bodyScrollLet+mouseX+ox+lockX+"px";
287
+ oDv.style.top=((fixposy)||(fixposy==0))?fixposy:bodyScrollTop+mouseY+oy+lockY+"px";
288
+
289
+ }
290
+ }
291
+
292
+ function doCheck() {
293
+ if ( (mouseX < boxLeft) || (mouseX >boxRight) || (mouseY < boxTop) || (mouseY > boxBottom)) {
294
+ if (!CBE.requireclick)
295
+ fadeOut();
296
+ if (CBE.IEbugfix) {showSelects();}
297
+ CBE=null;
298
+ }
299
+ }
300
+
301
+ function pauseBox(e) {
302
+ e?evt=e:evt=event;
303
+ boxMove=false;
304
+ evt.cancelBubble=true;
305
+ }
306
+
307
+ function showHideBox(e) {
308
+ oDv.style.visibility=(oDv.style.visibility!='visible')?'visible':'hidden';
309
+ }
310
+
311
+ function hideBox(e) {
312
+ oDv.style.visibility='hidden';
313
+ }
314
+
315
+ var COL=0;
316
+ var stopfade=false;
317
+ function fadeIn(fs) {
318
+ ID=null;
319
+ COL=0;
320
+ oDv.style.visibility='visible';
321
+ fadeIn2(fs);
322
+ }
323
+
324
+ function fadeIn2(fs) {
325
+ COL=COL+fs;
326
+ COL=(COL>1)?1:COL;
327
+ oDv.style.filter='alpha(opacity='+parseInt(100*COL)+')';
328
+ oDv.style.opacity=COL;
329
+ if (COL<1)
330
+ setTimeout("fadeIn2("+fs+")",20);
331
+ }
332
+
333
+
334
+ function fadeOut() {
335
+ oDv.style.visibility='hidden';
336
+
337
+ }
338
+
339
+ function isChild(s,d) {
340
+ while(s) {
341
+ if (s==d)
342
+ return true;
343
+ s=s.parentNode;
344
+ }
345
+ return false;
346
+ }
347
+
348
+ var cSrc;
349
+ function checkMove(e) {
350
+ e?evt=e:evt=event;
351
+ cSrc=evt.target?evt.target:evt.srcElement;
352
+ if ((!boxMove)&&(!isChild(cSrc,oDv))) {
353
+ fadeOut();
354
+ if (CBE&&CBE.IEbugfix) {showSelects();}
355
+ boxMove=true;
356
+ CBE=null;
357
+ }
358
+ }
359
+
360
+ function showSelects(){
361
+ var elements = document.getElementsByTagName("select");
362
+ for (i=0;i< elements.length;i++){
363
+ elements[i].style.visibility='visible';
364
+ }
365
+ }
366
+
367
+ function hideSelects(){
368
+ var elements = document.getElementsByTagName("select");
369
+ for (i=0;i< elements.length;i++){
370
+ elements[i].style.visibility='hidden';
371
+ }
372
+ }
js/lib/ccard.js ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Credit Card Validation Javascript
2
+ // copyright 12th May 2003, by Stephen Chapman, Felgall Pty Ltd
3
+
4
+ // You have permission to copy and use this javascript provided that
5
+ // the content of the script is not changed in any way.
6
+
7
+ function validateCreditCard(s) {
8
+ // remove non-numerics
9
+ var v = "0123456789";
10
+ var w = "";
11
+ for (i=0; i < s.length; i++) {
12
+ x = s.charAt(i);
13
+ if (v.indexOf(x,0) != -1)
14
+ w += x;
15
+ }
16
+ // validate number
17
+ j = w.length / 2;
18
+ k = Math.floor(j);
19
+ m = Math.ceil(j) - k;
20
+ c = 0;
21
+ for (i=0; i<k; i++) {
22
+ a = w.charAt(i*2+m) * 2;
23
+ c += a > 9 ? Math.floor(a/10 + a%10) : a;
24
+ }
25
+ for (i=0; i<k+m; i++) c += w.charAt(i*2+1-m) * 1;
26
+ return (c%10 == 0);
27
+ }
28
+
js/lib/dropdown.js ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Magento
3
+ *
4
+ * NOTICE OF LICENSE
5
+ *
6
+ * This source file is subject to the Academic Free License (AFL 3.0)
7
+ * that is bundled with this package in the file LICENSE_AFL.txt.
8
+ * It is also available through the world-wide-web at this URL:
9
+ * http://opensource.org/licenses/afl-3.0.php
10
+ * If you did not receive a copy of the license and are unable to
11
+ * obtain it through the world-wide-web, please send an email
12
+ * to license@magento.com so we can send you a copy immediately.
13
+ *
14
+ * DISCLAIMER
15
+ *
16
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
17
+ * versions in the future. If you wish to customize Magento for your
18
+ * needs please refer to http://www.magento.com for more information.
19
+ *
20
+ * @category Mage
21
+ * @package js
22
+ * @copyright Copyright (c) 2006-2014 X.commerce, Inc. (http://www.magento.com)
23
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
24
+ */
25
+ dropdown = function() {
26
+ var ele = document.getElementById("nav").getElementsByTagName("LI");
27
+ for (var i=0; i<ele.length; i++) {
28
+ ele[i].onmouseover=function() {
29
+ this.className+=" over";
30
+ }
31
+ ele[i].onmouseout=function() {
32
+ this.className=this.className.replace(new RegExp(" over\\b"), "");
33
+ }
34
+ }
35
+ }
36
+ if (window.attachEvent) window.attachEvent("onload", dropdown);
js/lib/ds-sleight.js ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Universal transparent-PNG enabler for MSIE/Win 5.5+
2
+ // http://dsandler.org
3
+ // From original code: http://www.youngpup.net/?request=/snippets/sleight.xml
4
+ // and background-image code: http://www.allinthehead.com/retro/69
5
+ // also:
6
+ // * use sizingMethod=crop to avoid scaling PNGs (who would do such a thing?)
7
+ // * only do this once, to make it compatible with CSS rollovers
8
+
9
+ if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && window.attachEvent) {
10
+ window.attachEvent("onload", enableAlphaImages);
11
+ }
12
+
13
+ function enableAlphaImages(){
14
+ var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
15
+ var itsAllGood = (rslt != null && Number(rslt[1]) >= 5.5);
16
+ if (itsAllGood) {
17
+ for (var i=0; i<document.all.length; i++){
18
+ var obj = document.all[i];
19
+ var bg = obj.currentStyle.backgroundImage;
20
+ var img = document.images[i];
21
+ if (bg && bg.match(/\.png/i) != null) {
22
+ var img = bg.substring(5,bg.length-2);
23
+ var offset = obj.style["background-position"];
24
+ obj.style.filter =
25
+ "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+img+"', sizingMethod='crop')";
26
+ obj.style.backgroundImage = "url('"+BLANK_IMG+"')";
27
+ obj.style["background-position"] = offset; // reapply
28
+ } else if (img && img.src.match(/\.png$/i) != null) {
29
+ var src = img.src;
30
+ img.style.width = img.width + "px";
31
+ img.style.height = img.height + "px";
32
+ img.style.filter =
33
+ "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+src+"', sizingMethod='crop')"
34
+ img.src = BLANK_IMG;
35
+ }
36
+ }
37
+ }
38
+ }
js/lib/flex.js ADDED
@@ -0,0 +1,427 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Magento
3
+ *
4
+ * NOTICE OF LICENSE
5
+ *
6
+ * This source file is subject to the Academic Free License (AFL 3.0)
7
+ * that is bundled with this package in the file LICENSE_AFL.txt.
8
+ * It is also available through the world-wide-web at this URL:
9
+ * http://opensource.org/licenses/afl-3.0.php
10
+ * If you did not receive a copy of the license and are unable to
11
+ * obtain it through the world-wide-web, please send an email
12
+ * to license@magento.com so we can send you a copy immediately.
13
+ *
14
+ * DISCLAIMER
15
+ *
16
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
17
+ * versions in the future. If you wish to customize Magento for your
18
+ * needs please refer to http://www.magento.com for more information.
19
+ *
20
+ * @category Mage
21
+ * @package js
22
+ * @copyright Copyright (c) 2006-2014 X.commerce, Inc. (http://www.magento.com)
23
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
24
+ */
25
+
26
+ /**
27
+ * Flex maintance object
28
+ *
29
+ *
30
+ */
31
+ Flex = {};
32
+ Flex.currentID = 0;
33
+ Flex.uniqId = function() {
34
+ return 'flexMovieUID'+( ++Flex.currentID );
35
+ };
36
+
37
+ /**
38
+ * Check flash player version for required version
39
+ *
40
+ * @param Number major
41
+ * @param Number minor
42
+ * @param Number revision
43
+ * @return Boolean
44
+ */
45
+ Flex.checkFlashPlayerVersion = function(major, minor, revision) {
46
+ var version = Flex.getFlashPlayerVersion();
47
+
48
+ if (version === false) {
49
+ return false;
50
+ }
51
+
52
+ var requestedVersion = Flex.transformVersionToFloat([major, minor, revision], 5);
53
+ var currentVersion = Flex.transformVersionToFloat(version, 5);
54
+
55
+ return requestedVersion <= currentVersion;
56
+ };
57
+
58
+ /**
59
+ * Get flash player version in internet explorer
60
+ * by creating of test ActiveXObjects
61
+ *
62
+ * @return String|Boolean
63
+ */
64
+ Flex._getFlashPlayerVersionAsActiveX = function () {
65
+ var versions = [
66
+ {'default': '7.0.0', 'code':'ShockwaveFlash.ShockwaveFlash.7', 'variable':true},
67
+ {'default': '6.0.0', 'code':'ShockwaveFlash.ShockwaveFlash.6', 'variable':true, 'acceess':true},
68
+ {'default': '3.0.0', 'code':'ShockwaveFlash.ShockwaveFlash.3', 'variable':false},
69
+ {'default': '2.0.0', 'code':'ShockwaveFlash.ShockwaveFlash', 'variable':false},
70
+ ];
71
+
72
+ var detector = function (options) {
73
+ var activeXObject = new ActiveXObject(options.code);
74
+ if (options.access && options.variable) {
75
+ activeXObject.AllowScriptAccess = 'always';
76
+ }
77
+
78
+ if (options.variable) {
79
+ return activeXObject.GetVariable('$version');
80
+ }
81
+
82
+ return options['default'];
83
+ }
84
+
85
+ var version = false;
86
+
87
+ for (var i = 0, l = versions.length; i < l; i++) {
88
+ try {
89
+ version = detector(versions[i]);
90
+ return version;
91
+ } catch (e) {}
92
+ }
93
+
94
+ return false;
95
+ };
96
+
97
+ /**
98
+ * Transforms version string like 1.0.0 to array [1,0,0]
99
+ *
100
+ * @param String|Array version
101
+ * @return Array|Boolean
102
+ */
103
+ Flex.transformVersionToArray = function (version) {
104
+ if (!Object.isString(version)) {
105
+ return false;
106
+ }
107
+
108
+ var versions = version.match(/[\d]+/g);
109
+
110
+ if (versions.length > 3) {
111
+ return versions.slice(0,3);
112
+ } else if (versions.length) {
113
+ return versions;
114
+ }
115
+
116
+
117
+
118
+ return false;
119
+ };
120
+
121
+ /**
122
+ * Transforms version string like 1.1.1 to float 1.00010001
123
+ *
124
+ * @param String|Array version
125
+ * @param Number range - percition range between version digits
126
+ * @return Array
127
+ */
128
+ Flex.transformVersionToFloat = function (version, range) {
129
+ if (Object.isString(version)) {
130
+ version = Flex.transformVersionToArray(version)
131
+ }
132
+
133
+ if (Object.isArray(version)) {
134
+ var result = 0;
135
+ for (var i =0, l=version.length; i < l; i++) {
136
+ result += parseFloat(version[i]) / Math.pow(10, range*i);
137
+ }
138
+
139
+ return result;
140
+ }
141
+
142
+ return false;
143
+ };
144
+
145
+ /**
146
+ * Return flash player version as array of 0=major, 1=minor, 2=revision
147
+ *
148
+ * @return Array|Boolean
149
+ */
150
+ Flex.getFlashPlayerVersion = function () {
151
+ if (Flex.flashPlayerVersion) {
152
+ return Flex.flashPlayerVersion;
153
+ }
154
+
155
+ var version = false;
156
+ if (navigator.plugins != null && navigator.plugins.length > 0) {
157
+ if (navigator.mimeTypes && navigator.mimeTypes.length > 0) {
158
+ if (navigator.mimeTypes['application/x-shockwave-flash'] &&
159
+ !navigator.mimeTypes['application/x-shockwave-flash'].enabledPlugin) {
160
+ return false;
161
+ }
162
+ }
163
+ var flashPlugin = navigator.plugins['Shockwave Flash'] || navigator.plugins['Shockwave Flash 2.0'];
164
+ version = Flex.transformVersionToArray(flashPlugin.description);
165
+ } else {
166
+ version = Flex.transformVersionToArray(Flex._getFlashPlayerVersionAsActiveX());
167
+ }
168
+
169
+ Flex.flashPlayerVersion = version;
170
+ return version;
171
+ };
172
+
173
+ Flex.Object = Class.create({
174
+ /**
175
+ * Initialize object from configuration, where configuration keys,
176
+ * is set of tag attributes for object or embed
177
+ *
178
+ * @example
179
+ * new Flex.Object({'src':'path/to/flashmovie.swf'});
180
+ *
181
+ * @param Object config
182
+ * @return void
183
+ */
184
+ initialize: function (config) {
185
+ this.isIE = Prototype.Browser.IE;
186
+ this.isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
187
+ this.attributes = {
188
+ quality:"high",
189
+ pluginspage: "http://www.adobe.com/go/getflashplayer",
190
+ type: "application/x-shockwave-flash",
191
+ allowScriptAccess: "always",
192
+ classid: "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
193
+ };
194
+ this.bridgeName = '';
195
+ this.bridge = false;
196
+ this.setAttributes( config );
197
+ this.applied = false;
198
+
199
+ var myTemplatesPattern = /(^|.|\r|\n)(\{(.*?)\})/;
200
+ if(this.detectFlashVersion(9, 0, 28)) {
201
+ if(this.isIE) {
202
+ this.template = new Template( '<object {objectAttributes}><param name="allowFullScreen" value="true"/>{objectParameters}</object>', myTemplatesPattern )
203
+ } else {
204
+ this.template = new Template( '<embed {embedAttributes} allowfullscreen="true" />', myTemplatesPattern );
205
+ }
206
+ } else {
207
+ this.template = new Template( 'This content requires the Adobe Flash Player. '
208
+ +' <a href=http://www.adobe.com/go/getflash/>Get Flash</a>', myTemplatesPattern );
209
+ }
210
+
211
+ this.parametersTemplate = new Template( '<param name="{name}" value="{value}" />', myTemplatesPattern );
212
+ this.attributesTemplate = new Template( ' {name}="{value}" ', myTemplatesPattern );
213
+ },
214
+ /**
215
+ * Set object attribute for generation of html tags
216
+ *
217
+ * @param Sting name
218
+ * @param Object value
219
+ * @return void
220
+ */
221
+ setAttribute : function( name, value ) {
222
+ if(!this.applied) {
223
+ this.attributes[name] = value;
224
+ }
225
+ },
226
+ /**
227
+ * Retrive object attribute value used for generation in html tags
228
+ *
229
+ * @param Sting name
230
+ * @return Object
231
+ */
232
+ getAttribute : function( name ) {
233
+ return this.attributes[name];
234
+ },
235
+ /**
236
+ * Set object attributes in one call
237
+ *
238
+ * @param Object attributesList
239
+ * @return void
240
+ */
241
+ setAttributes : function( attributesList ) {
242
+ $H(attributesList).each(function(pair){
243
+ this.setAttribute(pair.key, pair.value);
244
+ }.bind(this));
245
+ },
246
+ /**
247
+ * Retrieve all object attributes
248
+ *
249
+ * @return Object
250
+ */
251
+ getAttributes : function( ) {
252
+ return this.attributes;
253
+ },
254
+ /**
255
+ * Applies generated HTML content to specified HTML tag
256
+ *
257
+ * @param String|DOMELement container
258
+ * @return void
259
+ */
260
+ apply : function(container) {
261
+ if (!this.applied) {
262
+ this.setAttribute("id", Flex.uniqId());
263
+ this.preInitBridge();
264
+ var readyHTML = this.template.evaluate(this.generateTemplateValues());
265
+ $(container).update(readyHTML);
266
+ }
267
+ this.applied = true;
268
+ },
269
+ /**
270
+ * Applies generated HTML content to window.document
271
+ *
272
+ * @return void
273
+ */
274
+ applyWrite : function( ) {
275
+ if (!this.applied) {
276
+ this.setAttribute( "id", Flex.uniqId());
277
+ this.preInitBridge();
278
+ var readyHTML = this.template.evaluate( this.generateTemplateValues() );
279
+ document.write( readyHTML );
280
+ }
281
+ this.applied = true;
282
+ },
283
+ /**
284
+ * Preinitialize FABridge values
285
+ *
286
+ * @return void
287
+ */
288
+ preInitBridge: function () {
289
+ this.bridgeName = this.getAttribute('id') + 'bridge';
290
+ var flashVars = this.getAttribute('flashVars') || this.getAttribute('flashvars') || '';
291
+ if (flashVars != '') {
292
+ flashVars += '&';
293
+ }
294
+ flashVars += 'bridgeName=' + this.bridgeName;
295
+ this.setAttribute('flashVars', flashVars);
296
+ var scopeObj = this;
297
+ FABridge.addInitializationCallback(
298
+ this.bridgeName,
299
+ function () {
300
+ scopeObj.bridge = this.root();
301
+ scopeObj.initBridge();
302
+ }
303
+ );
304
+ },
305
+ /**
306
+ * Initialize bridge callback passed to FABridge,
307
+ * calls internal callback if it's presented
308
+ *
309
+ * @return void
310
+ */
311
+ initBridge: function() {
312
+ if(this.onBridgeInit) {
313
+ this.onBridgeInit(this.getBridge());
314
+ }
315
+ },
316
+ /**
317
+ * Retrieve FABridge instance for this object
318
+ *
319
+ * @return Object
320
+ */
321
+ getBridge : function() {
322
+ return this.bridge;
323
+ },
324
+ /**
325
+ * Generate temaplate values object for creation of flash player plugin movie HTML
326
+ *
327
+ * @return Object
328
+ */
329
+ generateTemplateValues : function() {
330
+ var attributesMap = {
331
+ embed: {
332
+ 'movie':'src',
333
+ 'id':'name',
334
+ 'flashvars': 'flashVars',
335
+ 'classid':false,
336
+ 'codebase':false
337
+ },
338
+ object: {
339
+ 'pluginspage':false,
340
+ 'src':'movie',
341
+ 'flashvars': 'flashVars',
342
+ 'type':false,
343
+ 'inline': [
344
+ 'type', 'classid', 'codebase', 'id', 'width', 'height',
345
+ 'align', 'vspace', 'hspace', 'class', 'title', 'accesskey', 'name',
346
+ 'tabindex'
347
+ ]
348
+ }
349
+ };
350
+ var embedAttributes = {};
351
+ var objectAttributes = {};
352
+ var parameters = {};
353
+ $H(this.attributes).each(function(pair) {
354
+ var attributeName = pair.key.toLowerCase();
355
+ this.attributes[pair.key] = this.escapeAttributes(pair.value);
356
+
357
+ // Retrieve mapped attribute names
358
+ var attributeNameInObject = (attributesMap.object[attributeName] ? attributesMap.object[attributeName] : attributeName);
359
+ var attributeNameInEmbed = (attributesMap.embed[attributeName] ? attributesMap.embed[attributeName] : attributeName);
360
+
361
+ if (attributesMap.object[attributeName] !== false) {
362
+ if (attributesMap.object.inline.indexOf(attributeNameInObject) !== -1) { // If it included in default object attribute
363
+ objectAttributes[attributeNameInObject] = this.attributes[pair.key];
364
+ } else { // otherwise add it to parameters tag list
365
+ parameters[attributeNameInObject] = this.attributes[pair.key];
366
+ }
367
+ }
368
+
369
+ if (attributesMap.embed[attributeName] !== false) { // If this attribute not ignored for flash in Gecko Browsers
370
+ embedAttributes[attributeNameInEmbed] = this.attributes[pair.key];
371
+ }
372
+ }.bind(this));
373
+
374
+ var result = {
375
+ objectAttributes: '',
376
+ objectParameters: '',
377
+ embedAttributes : ''
378
+ };
379
+
380
+
381
+ $H(objectAttributes).each(function(pair){
382
+ result.objectAttributes += this.attributesTemplate.evaluate({
383
+ name:pair.key,
384
+ value:pair.value
385
+ });
386
+ }.bind(this));
387
+
388
+ $H(embedAttributes).each(function(pair){
389
+ result.embedAttributes += this.attributesTemplate.evaluate({
390
+ name:pair.key,
391
+ value:pair.value
392
+ });
393
+ }.bind(this));
394
+
395
+ $H(parameters).each(function(pair){
396
+ result.objectParameters += this.parametersTemplate.evaluate({
397
+ name:pair.key,
398
+ value:pair.value
399
+ });
400
+ }.bind(this));
401
+
402
+ return result;
403
+ },
404
+ /**
405
+ * Escapes attributes for generation of valid HTML
406
+ *
407
+ * @return String
408
+ */
409
+ escapeAttributes: function (value) {
410
+ if(typeof value == 'string') {
411
+ return value.escapeHTML();
412
+ } else {
413
+ return value;
414
+ }
415
+ },
416
+ /**
417
+ * Detects needed flash player version
418
+ *
419
+ * @param Number major
420
+ * @param Number minor
421
+ * @param Number revision
422
+ * @return Boolean
423
+ */
424
+ detectFlashVersion: function (major, minor, revision) {
425
+ return Flex.checkFlashPlayerVersion(major, minor, revision);
426
+ }
427
+ });
js/lib/jquery/jquery-1.10.2.js ADDED
@@ -0,0 +1,9789 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * jQuery JavaScript Library v1.10.2
3
+ * http://jquery.com/
4
+ *
5
+ * Includes Sizzle.js
6
+ * http://sizzlejs.com/
7
+ *
8
+ * Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors
9
+ * Released under the MIT license
10
+ * http://jquery.org/license
11
+ *
12
+ * Date: 2013-07-03T13:48Z
13
+ */
14
+ (function( window, undefined ) {
15
+
16
+ // Can't do this because several apps including ASP.NET trace
17
+ // the stack via arguments.caller.callee and Firefox dies if
18
+ // you try to trace through "use strict" call chains. (#13335)
19
+ // Support: Firefox 18+
20
+ //"use strict";
21
+ var
22
+ // The deferred used on DOM ready
23
+ readyList,
24
+
25
+ // A central reference to the root jQuery(document)
26
+ rootjQuery,
27
+
28
+ // Support: IE<10
29
+ // For `typeof xmlNode.method` instead of `xmlNode.method !== undefined`
30
+ core_strundefined = typeof undefined,
31
+
32
+ // Use the correct document accordingly with window argument (sandbox)
33
+ location = window.location,
34
+ document = window.document,
35
+ docElem = document.documentElement,
36
+
37
+ // Map over jQuery in case of overwrite
38
+ _jQuery = window.jQuery,
39
+
40
+ // Map over the $ in case of overwrite
41
+ _$ = window.$,
42
+
43
+ // [[Class]] -> type pairs
44
+ class2type = {},
45
+
46
+ // List of deleted data cache ids, so we can reuse them
47
+ core_deletedIds = [],
48
+
49
+ core_version = "1.10.2",
50
+
51
+ // Save a reference to some core methods
52
+ core_concat = core_deletedIds.concat,
53
+ core_push = core_deletedIds.push,
54
+ core_slice = core_deletedIds.slice,
55
+ core_indexOf = core_deletedIds.indexOf,
56
+ core_toString = class2type.toString,
57
+ core_hasOwn = class2type.hasOwnProperty,
58
+ core_trim = core_version.trim,
59
+
60
+ // Define a local copy of jQuery
61
+ jQuery = function( selector, context ) {
62
+ // The jQuery object is actually just the init constructor 'enhanced'
63
+ return new jQuery.fn.init( selector, context, rootjQuery );
64
+ },
65
+
66
+ // Used for matching numbers
67
+ core_pnum = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
68
+
69
+ // Used for splitting on whitespace
70
+ core_rnotwhite = /\S+/g,
71
+
72
+ // Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE)
73
+ rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
74
+
75
+ // A simple way to check for HTML strings
76
+ // Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
77
+ // Strict HTML recognition (#11290: must start with <)
78
+ rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,
79
+
80
+ // Match a standalone tag
81
+ rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
82
+
83
+ // JSON RegExp
84
+ rvalidchars = /^[\],:{}\s]*$/,
85
+ rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g,
86
+ rvalidescape = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,
87
+ rvalidtokens = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,
88
+
89
+ // Matches dashed string for camelizing
90
+ rmsPrefix = /^-ms-/,
91
+ rdashAlpha = /-([\da-z])/gi,
92
+
93
+ // Used by jQuery.camelCase as callback to replace()
94
+ fcamelCase = function( all, letter ) {
95
+ return letter.toUpperCase();
96
+ },
97
+
98
+ // The ready event handler
99
+ completed = function( event ) {
100
+
101
+ // readyState === "complete" is good enough for us to call the dom ready in oldIE
102
+ if ( document.addEventListener || event.type === "load" || document.readyState === "complete" ) {
103
+ detach();
104
+ jQuery.ready();
105
+ }
106
+ },
107
+ // Clean-up method for dom ready events
108
+ detach = function() {
109
+ if ( document.addEventListener ) {
110
+ document.removeEventListener( "DOMContentLoaded", completed, false );
111
+ window.removeEventListener( "load", completed, false );
112
+
113
+ } else {
114
+ document.detachEvent( "onreadystatechange", completed );
115
+ window.detachEvent( "onload", completed );
116
+ }
117
+ };
118
+
119
+ jQuery.fn = jQuery.prototype = {
120
+ // The current version of jQuery being used
121
+ jquery: core_version,
122
+
123
+ constructor: jQuery,
124
+ init: function( selector, context, rootjQuery ) {
125
+ var match, elem;
126
+
127
+ // HANDLE: $(""), $(null), $(undefined), $(false)
128
+ if ( !selector ) {
129
+ return this;
130
+ }
131
+
132
+ // Handle HTML strings
133
+ if ( typeof selector === "string" ) {
134
+ if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) {
135
+ // Assume that strings that start and end with <> are HTML and skip the regex check
136
+ match = [ null, selector, null ];
137
+
138
+ } else {
139
+ match = rquickExpr.exec( selector );
140
+ }
141
+
142
+ // Match html or make sure no context is specified for #id
143
+ if ( match && (match[1] || !context) ) {
144
+
145
+ // HANDLE: $(html) -> $(array)
146
+ if ( match[1] ) {
147
+ context = context instanceof jQuery ? context[0] : context;
148
+
149
+ // scripts is true for back-compat
150
+ jQuery.merge( this, jQuery.parseHTML(
151
+ match[1],
152
+ context && context.nodeType ? context.ownerDocument || context : document,
153
+ true
154
+ ) );
155
+
156
+ // HANDLE: $(html, props)
157
+ if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) {
158
+ for ( match in context ) {
159
+ // Properties of context are called as methods if possible
160
+ if ( jQuery.isFunction( this[ match ] ) ) {
161
+ this[ match ]( context[ match ] );
162
+
163
+ // ...and otherwise set as attributes
164
+ } else {
165
+ this.attr( match, context[ match ] );
166
+ }
167
+ }
168
+ }
169
+
170
+ return this;
171
+
172
+ // HANDLE: $(#id)
173
+ } else {
174
+ elem = document.getElementById( match[2] );
175
+
176
+ // Check parentNode to catch when Blackberry 4.6 returns
177
+ // nodes that are no longer in the document #6963
178
+ if ( elem && elem.parentNode ) {
179
+ // Handle the case where IE and Opera return items
180
+ // by name instead of ID
181
+ if ( elem.id !== match[2] ) {
182
+ return rootjQuery.find( selector );
183
+ }
184
+
185
+ // Otherwise, we inject the element directly into the jQuery object
186
+ this.length = 1;
187
+ this[0] = elem;
188
+ }
189
+
190
+ this.context = document;
191
+ this.selector = selector;
192
+ return this;
193
+ }
194
+
195
+ // HANDLE: $(expr, $(...))
196
+ } else if ( !context || context.jquery ) {
197
+ return ( context || rootjQuery ).find( selector );
198
+
199
+ // HANDLE: $(expr, context)
200
+ // (which is just equivalent to: $(context).find(expr)
201
+ } else {
202
+ return this.constructor( context ).find( selector );
203
+ }
204
+
205
+ // HANDLE: $(DOMElement)
206
+ } else if ( selector.nodeType ) {
207
+ this.context = this[0] = selector;
208
+ this.length = 1;
209
+ return this;
210
+
211
+ // HANDLE: $(function)
212
+ // Shortcut for document ready
213
+ } else if ( jQuery.isFunction( selector ) ) {
214
+ return rootjQuery.ready( selector );
215
+ }
216
+
217
+ if ( selector.selector !== undefined ) {
218
+ this.selector = selector.selector;
219
+ this.context = selector.context;
220
+ }
221
+
222
+ return jQuery.makeArray( selector, this );
223
+ },
224
+
225
+ // Start with an empty selector
226
+ selector: "",
227
+
228
+ // The default length of a jQuery object is 0
229
+ length: 0,
230
+
231
+ toArray: function() {
232
+ return core_slice.call( this );
233
+ },
234
+
235
+ // Get the Nth element in the matched element set OR
236
+ // Get the whole matched element set as a clean array
237
+ get: function( num ) {
238
+ return num == null ?
239
+
240
+ // Return a 'clean' array
241
+ this.toArray() :
242
+
243
+ // Return just the object
244
+ ( num < 0 ? this[ this.length + num ] : this[ num ] );
245
+ },
246
+
247
+ // Take an array of elements and push it onto the stack
248
+ // (returning the new matched element set)
249
+ pushStack: function( elems ) {
250
+
251
+ // Build a new jQuery matched element set
252
+ var ret = jQuery.merge( this.constructor(), elems );
253
+
254
+ // Add the old object onto the stack (as a reference)
255
+ ret.prevObject = this;
256
+ ret.context = this.context;
257
+
258
+ // Return the newly-formed element set
259
+ return ret;
260
+ },
261
+
262
+ // Execute a callback for every element in the matched set.
263
+ // (You can seed the arguments with an array of args, but this is
264
+ // only used internally.)
265
+ each: function( callback, args ) {
266
+ return jQuery.each( this, callback, args );
267
+ },
268
+
269
+ ready: function( fn ) {
270
+ // Add the callback
271
+ jQuery.ready.promise().done( fn );
272
+
273
+ return this;
274
+ },
275
+
276
+ slice: function() {
277
+ return this.pushStack( core_slice.apply( this, arguments ) );
278
+ },
279
+
280
+ first: function() {
281
+ return this.eq( 0 );
282
+ },
283
+
284
+ last: function() {
285
+ return this.eq( -1 );
286
+ },
287
+
288
+ eq: function( i ) {
289
+ var len = this.length,
290
+ j = +i + ( i < 0 ? len : 0 );
291
+ return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] );
292
+ },
293
+
294
+ map: function( callback ) {
295
+ return this.pushStack( jQuery.map(this, function( elem, i ) {
296
+ return callback.call( elem, i, elem );
297
+ }));
298
+ },
299
+
300
+ end: function() {
301
+ return this.prevObject || this.constructor(null);
302
+ },
303
+
304
+ // For internal use only.
305
+ // Behaves like an Array's method, not like a jQuery method.
306
+ push: core_push,
307
+ sort: [].sort,
308
+ splice: [].splice
309
+ };
310
+
311
+ // Give the init function the jQuery prototype for later instantiation
312
+ jQuery.fn.init.prototype = jQuery.fn;
313
+
314
+ jQuery.extend = jQuery.fn.extend = function() {
315
+ var src, copyIsArray, copy, name, options, clone,
316
+ target = arguments[0] || {},
317
+ i = 1,
318
+ length = arguments.length,
319
+ deep = false;
320
+
321
+ // Handle a deep copy situation
322
+ if ( typeof target === "boolean" ) {
323
+ deep = target;
324
+ target = arguments[1] || {};
325
+ // skip the boolean and the target
326
+ i = 2;
327
+ }
328
+
329
+ // Handle case when target is a string or something (possible in deep copy)
330
+ if ( typeof target !== "object" && !jQuery.isFunction(target) ) {
331
+ target = {};
332
+ }
333
+
334
+ // extend jQuery itself if only one argument is passed
335
+ if ( length === i ) {
336
+ target = this;
337
+ --i;
338
+ }
339
+
340
+ for ( ; i < length; i++ ) {
341
+ // Only deal with non-null/undefined values
342
+ if ( (options = arguments[ i ]) != null ) {
343
+ // Extend the base object
344
+ for ( name in options ) {
345
+ src = target[ name ];
346
+ copy = options[ name ];
347
+
348
+ // Prevent never-ending loop
349
+ if ( target === copy ) {
350
+ continue;
351
+ }
352
+
353
+ // Recurse if we're merging plain objects or arrays
354
+ if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {
355
+ if ( copyIsArray ) {
356
+ copyIsArray = false;
357
+ clone = src && jQuery.isArray(src) ? src : [];
358
+
359
+ } else {
360
+ clone = src && jQuery.isPlainObject(src) ? src : {};
361
+ }
362
+
363
+ // Never move original objects, clone them
364
+ target[ name ] = jQuery.extend( deep, clone, copy );
365
+
366
+ // Don't bring in undefined values
367
+ } else if ( copy !== undefined ) {
368
+ target[ name ] = copy;
369
+ }
370
+ }
371
+ }
372
+ }
373
+
374
+ // Return the modified object
375
+ return target;
376
+ };
377
+
378
+ jQuery.extend({
379
+ // Unique for each copy of jQuery on the page
380
+ // Non-digits removed to match rinlinejQuery
381
+ expando: "jQuery" + ( core_version + Math.random() ).replace( /\D/g, "" ),
382
+
383
+ noConflict: function( deep ) {
384
+ if ( window.$ === jQuery ) {
385
+ window.$ = _$;
386
+ }
387
+
388
+ if ( deep && window.jQuery === jQuery ) {
389
+ window.jQuery = _jQuery;
390
+ }
391
+
392
+ return jQuery;
393
+ },
394
+
395
+ // Is the DOM ready to be used? Set to true once it occurs.
396
+ isReady: false,
397
+
398
+ // A counter to track how many items to wait for before
399
+ // the ready event fires. See #6781
400
+ readyWait: 1,
401
+
402
+ // Hold (or release) the ready event
403
+ holdReady: function( hold ) {
404
+ if ( hold ) {
405
+ jQuery.readyWait++;
406
+ } else {
407
+ jQuery.ready( true );
408
+ }
409
+ },
410
+
411
+ // Handle when the DOM is ready
412
+ ready: function( wait ) {
413
+
414
+ // Abort if there are pending holds or we're already ready
415
+ if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
416
+ return;
417
+ }
418
+
419
+ // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
420
+ if ( !document.body ) {
421
+ return setTimeout( jQuery.ready );
422
+ }
423
+
424
+ // Remember that the DOM is ready
425
+ jQuery.isReady = true;
426
+
427
+ // If a normal DOM Ready event fired, decrement, and wait if need be
428
+ if ( wait !== true && --jQuery.readyWait > 0 ) {
429
+ return;
430
+ }
431
+
432
+ // If there are functions bound, to execute
433
+ readyList.resolveWith( document, [ jQuery ] );
434
+
435
+ // Trigger any bound ready events
436
+ if ( jQuery.fn.trigger ) {
437
+ jQuery( document ).trigger("ready").off("ready");
438
+ }
439
+ },
440
+
441
+ // See test/unit/core.js for details concerning isFunction.
442
+ // Since version 1.3, DOM methods and functions like alert
443
+ // aren't supported. They return false on IE (#2968).
444
+ isFunction: function( obj ) {
445
+ return jQuery.type(obj) === "function";
446
+ },
447
+
448
+ isArray: Array.isArray || function( obj ) {
449
+ return jQuery.type(obj) === "array";
450
+ },
451
+
452
+ isWindow: function( obj ) {
453
+ /* jshint eqeqeq: false */
454
+ return obj != null && obj == obj.window;
455
+ },
456
+
457
+ isNumeric: function( obj ) {
458
+ return !isNaN( parseFloat(obj) ) && isFinite( obj );
459
+ },
460
+
461
+ type: function( obj ) {
462
+ if ( obj == null ) {
463
+ return String( obj );
464
+ }
465
+ return typeof obj === "object" || typeof obj === "function" ?
466
+ class2type[ core_toString.call(obj) ] || "object" :
467
+ typeof obj;
468
+ },
469
+
470
+ isPlainObject: function( obj ) {
471
+ var key;
472
+
473
+ // Must be an Object.
474
+ // Because of IE, we also have to check the presence of the constructor property.
475
+ // Make sure that DOM nodes and window objects don't pass through, as well
476
+ if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
477
+ return false;
478
+ }
479
+
480
+ try {
481
+ // Not own constructor property must be Object
482
+ if ( obj.constructor &&
483
+ !core_hasOwn.call(obj, "constructor") &&
484
+ !core_hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) {
485
+ return false;
486
+ }
487
+ } catch ( e ) {
488
+ // IE8,9 Will throw exceptions on certain host objects #9897
489
+ return false;
490
+ }
491
+
492
+ // Support: IE<9
493
+ // Handle iteration over inherited properties before own properties.
494
+ if ( jQuery.support.ownLast ) {
495
+ for ( key in obj ) {
496
+ return core_hasOwn.call( obj, key );
497
+ }
498
+ }
499
+
500
+ // Own properties are enumerated firstly, so to speed up,
501
+ // if last one is own, then all properties are own.
502
+ for ( key in obj ) {}
503
+
504
+ return key === undefined || core_hasOwn.call( obj, key );
505
+ },
506
+
507
+ isEmptyObject: function( obj ) {
508
+ var name;
509
+ for ( name in obj ) {
510
+ return false;
511
+ }
512
+ return true;
513
+ },
514
+
515
+ error: function( msg ) {
516
+ throw new Error( msg );
517
+ },
518
+
519
+ // data: string of html
520
+ // context (optional): If specified, the fragment will be created in this context, defaults to document
521
+ // keepScripts (optional): If true, will include scripts passed in the html string
522
+ parseHTML: function( data, context, keepScripts ) {
523
+ if ( !data || typeof data !== "string" ) {
524
+ return null;
525
+ }
526
+ if ( typeof context === "boolean" ) {
527
+ keepScripts = context;
528
+ context = false;
529
+ }
530
+ context = context || document;
531
+
532
+ var parsed = rsingleTag.exec( data ),
533
+ scripts = !keepScripts && [];
534
+
535
+ // Single tag
536
+ if ( parsed ) {
537
+ return [ context.createElement( parsed[1] ) ];
538
+ }
539
+
540
+ parsed = jQuery.buildFragment( [ data ], context, scripts );
541
+ if ( scripts ) {
542
+ jQuery( scripts ).remove();
543
+ }
544
+ return jQuery.merge( [], parsed.childNodes );
545
+ },
546
+
547
+ parseJSON: function( data ) {
548
+ // Attempt to parse using the native JSON parser first
549
+ if ( window.JSON && window.JSON.parse ) {
550
+ return window.JSON.parse( data );
551
+ }
552
+
553
+ if ( data === null ) {
554
+ return data;
555
+ }
556
+
557
+ if ( typeof data === "string" ) {
558
+
559
+ // Make sure leading/trailing whitespace is removed (IE can't handle it)
560
+ data = jQuery.trim( data );
561
+
562
+ if ( data ) {
563
+ // Make sure the incoming data is actual JSON
564
+ // Logic borrowed from http://json.org/json2.js
565
+ if ( rvalidchars.test( data.replace( rvalidescape, "@" )
566
+ .replace( rvalidtokens, "]" )
567
+ .replace( rvalidbraces, "")) ) {
568
+
569
+ return ( new Function( "return " + data ) )();
570
+ }
571
+ }
572
+ }
573
+
574
+ jQuery.error( "Invalid JSON: " + data );
575
+ },
576
+
577
+ // Cross-browser xml parsing
578
+ parseXML: function( data ) {
579
+ var xml, tmp;
580
+ if ( !data || typeof data !== "string" ) {
581
+ return null;
582
+ }
583
+ try {
584
+ if ( window.DOMParser ) { // Standard
585
+ tmp = new DOMParser();
586
+ xml = tmp.parseFromString( data , "text/xml" );
587
+ } else { // IE
588
+ xml = new ActiveXObject( "Microsoft.XMLDOM" );
589
+ xml.async = "false";
590
+ xml.loadXML( data );
591
+ }
592
+ } catch( e ) {
593
+ xml = undefined;
594
+ }
595
+ if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) {
596
+ jQuery.error( "Invalid XML: " + data );
597
+ }
598
+ return xml;
599
+ },
600
+
601
+ noop: function() {},
602
+
603
+ // Evaluates a script in a global context
604
+ // Workarounds based on findings by Jim Driscoll
605
+ // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
606
+ globalEval: function( data ) {
607
+ if ( data && jQuery.trim( data ) ) {
608
+ // We use execScript on Internet Explorer
609
+ // We use an anonymous function so that context is window
610
+ // rather than jQuery in Firefox
611
+ ( window.execScript || function( data ) {
612
+ window[ "eval" ].call( window, data );
613
+ } )( data );
614
+ }
615
+ },
616
+
617
+ // Convert dashed to camelCase; used by the css and data modules
618
+ // Microsoft forgot to hump their vendor prefix (#9572)
619
+ camelCase: function( string ) {
620
+ return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
621
+ },
622
+
623
+ nodeName: function( elem, name ) {
624
+ return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
625
+ },
626
+
627
+ // args is for internal usage only
628
+ each: function( obj, callback, args ) {
629
+ var value,
630
+ i = 0,
631
+ length = obj.length,
632
+ isArray = isArraylike( obj );
633
+
634
+ if ( args ) {
635
+ if ( isArray ) {
636
+ for ( ; i < length; i++ ) {
637
+ value = callback.apply( obj[ i ], args );
638
+
639
+ if ( value === false ) {
640
+ break;
641
+ }
642
+ }
643
+ } else {
644
+ for ( i in obj ) {
645
+ value = callback.apply( obj[ i ], args );
646
+
647
+ if ( value === false ) {
648
+ break;
649
+ }
650
+ }
651
+ }
652
+
653
+ // A special, fast, case for the most common use of each
654
+ } else {
655
+ if ( isArray ) {
656
+ for ( ; i < length; i++ ) {
657
+ value = callback.call( obj[ i ], i, obj[ i ] );
658
+
659
+ if ( value === false ) {
660
+ break;
661
+ }
662
+ }
663
+ } else {
664
+ for ( i in obj ) {
665
+ value = callback.call( obj[ i ], i, obj[ i ] );
666
+
667
+ if ( value === false ) {
668
+ break;
669
+ }
670
+ }
671
+ }
672
+ }
673
+
674
+ return obj;
675
+ },
676
+
677
+ // Use native String.trim function wherever possible
678
+ trim: core_trim && !core_trim.call("\uFEFF\xA0") ?
679
+ function( text ) {
680
+ return text == null ?
681
+ "" :
682
+ core_trim.call( text );
683
+ } :
684
+
685
+ // Otherwise use our own trimming functionality
686
+ function( text ) {
687
+ return text == null ?
688
+ "" :
689
+ ( text + "" ).replace( rtrim, "" );
690
+ },
691
+
692
+ // results is for internal usage only
693
+ makeArray: function( arr, results ) {
694
+ var ret = results || [];
695
+
696
+ if ( arr != null ) {
697
+ if ( isArraylike( Object(arr) ) ) {
698
+ jQuery.merge( ret,
699
+ typeof arr === "string" ?
700
+ [ arr ] : arr
701
+ );
702
+ } else {
703
+ core_push.call( ret, arr );
704
+ }
705
+ }
706
+
707
+ return ret;
708
+ },
709
+
710
+ inArray: function( elem, arr, i ) {
711
+ var len;
712
+
713
+ if ( arr ) {
714
+ if ( core_indexOf ) {
715
+ return core_indexOf.call( arr, elem, i );
716
+ }
717
+
718
+ len = arr.length;
719
+ i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0;
720
+
721
+ for ( ; i < len; i++ ) {
722
+ // Skip accessing in sparse arrays
723
+ if ( i in arr && arr[ i ] === elem ) {
724
+ return i;
725
+ }
726
+ }
727
+ }
728
+
729
+ return -1;
730
+ },
731
+
732
+ merge: function( first, second ) {
733
+ var l = second.length,
734
+ i = first.length,
735
+ j = 0;
736
+
737
+ if ( typeof l === "number" ) {
738
+ for ( ; j < l; j++ ) {
739
+ first[ i++ ] = second[ j ];
740
+ }
741
+ } else {
742
+ while ( second[j] !== undefined ) {
743
+ first[ i++ ] = second[ j++ ];
744
+ }
745
+ }
746
+
747
+ first.length = i;
748
+
749
+ return first;
750
+ },
751
+
752
+ grep: function( elems, callback, inv ) {
753
+ var retVal,
754
+ ret = [],
755
+ i = 0,
756
+ length = elems.length;
757
+ inv = !!inv;
758
+
759
+ // Go through the array, only saving the items
760
+ // that pass the validator function
761
+ for ( ; i < length; i++ ) {
762
+ retVal = !!callback( elems[ i ], i );
763
+ if ( inv !== retVal ) {
764
+ ret.push( elems[ i ] );
765
+ }
766
+ }
767
+
768
+ return ret;
769
+ },
770
+
771
+ // arg is for internal usage only
772
+ map: function( elems, callback, arg ) {
773
+ var value,
774
+ i = 0,
775
+ length = elems.length,
776
+ isArray = isArraylike( elems ),
777
+ ret = [];
778
+
779
+ // Go through the array, translating each of the items to their
780
+ if ( isArray ) {
781
+ for ( ; i < length; i++ ) {
782
+ value = callback( elems[ i ], i, arg );
783
+
784
+ if ( value != null ) {
785
+ ret[ ret.length ] = value;
786
+ }
787
+ }
788
+
789
+ // Go through every key on the object,
790
+ } else {
791
+ for ( i in elems ) {
792
+ value = callback( elems[ i ], i, arg );
793
+
794
+ if ( value != null ) {
795
+ ret[ ret.length ] = value;
796
+ }
797
+ }
798
+ }
799
+
800
+ // Flatten any nested arrays
801
+ return core_concat.apply( [], ret );
802
+ },
803
+
804
+ // A global GUID counter for objects
805
+ guid: 1,
806
+
807
+ // Bind a function to a context, optionally partially applying any
808
+ // arguments.
809
+ proxy: function( fn, context ) {
810
+ var args, proxy, tmp;
811
+
812
+ if ( typeof context === "string" ) {
813
+ tmp = fn[ context ];
814
+ context = fn;
815
+ fn = tmp;
816
+ }
817
+
818
+ // Quick check to determine if target is callable, in the spec
819
+ // this throws a TypeError, but we will just return undefined.
820
+ if ( !jQuery.isFunction( fn ) ) {
821
+ return undefined;
822
+ }
823
+
824
+ // Simulated bind
825
+ args = core_slice.call( arguments, 2 );
826
+ proxy = function() {
827
+ return fn.apply( context || this, args.concat( core_slice.call( arguments ) ) );
828
+ };
829
+
830
+ // Set the guid of unique handler to the same of original handler, so it can be removed
831
+ proxy.guid = fn.guid = fn.guid || jQuery.guid++;
832
+
833
+ return proxy;
834
+ },
835
+
836
+ // Multifunctional method to get and set values of a collection
837
+ // The value/s can optionally be executed if it's a function
838
+ access: function( elems, fn, key, value, chainable, emptyGet, raw ) {
839
+ var i = 0,
840
+ length = elems.length,
841
+ bulk = key == null;
842
+
843
+ // Sets many values
844
+ if ( jQuery.type( key ) === "object" ) {
845
+ chainable = true;
846
+ for ( i in key ) {
847
+ jQuery.access( elems, fn, i, key[i], true, emptyGet, raw );
848
+ }
849
+
850
+ // Sets one value
851
+ } else if ( value !== undefined ) {
852
+ chainable = true;
853
+
854
+ if ( !jQuery.isFunction( value ) ) {
855
+ raw = true;
856
+ }
857
+
858
+ if ( bulk ) {
859
+ // Bulk operations run against the entire set
860
+ if ( raw ) {
861
+ fn.call( elems, value );
862
+ fn = null;
863
+
864
+ // ...except when executing function values
865
+ } else {
866
+ bulk = fn;
867
+ fn = function( elem, key, value ) {
868
+ return bulk.call( jQuery( elem ), value );
869
+ };
870
+ }
871
+ }
872
+
873
+ if ( fn ) {
874
+ for ( ; i < length; i++ ) {
875
+ fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) );
876
+ }
877
+ }
878
+ }
879
+
880
+ return chainable ?
881
+ elems :
882
+
883
+ // Gets
884
+ bulk ?
885
+ fn.call( elems ) :
886
+ length ? fn( elems[0], key ) : emptyGet;
887
+ },
888
+
889
+ now: function() {
890
+ return ( new Date() ).getTime();
891
+ },
892
+
893
+ // A method for quickly swapping in/out CSS properties to get correct calculations.
894
+ // Note: this method belongs to the css module but it's needed here for the support module.
895
+ // If support gets modularized, this method should be moved back to the css module.
896
+ swap: function( elem, options, callback, args ) {
897
+ var ret, name,
898
+ old = {};
899
+
900
+ // Remember the old values, and insert the new ones
901
+ for ( name in options ) {
902
+ old[ name ] = elem.style[ name ];
903
+ elem.style[ name ] = options[ name ];
904
+ }
905
+
906
+ ret = callback.apply( elem, args || [] );
907
+
908
+ // Revert the old values
909
+ for ( name in options ) {
910
+ elem.style[ name ] = old[ name ];
911
+ }
912
+
913
+ return ret;
914
+ }
915
+ });
916
+
917
+ jQuery.ready.promise = function( obj ) {
918
+ if ( !readyList ) {
919
+
920
+ readyList = jQuery.Deferred();
921
+
922
+ // Catch cases where $(document).ready() is called after the browser event has already occurred.
923
+ // we once tried to use readyState "interactive" here, but it caused issues like the one
924
+ // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15
925
+ if ( document.readyState === "complete" ) {
926
+ // Handle it asynchronously to allow scripts the opportunity to delay ready
927
+ setTimeout( jQuery.ready );
928
+
929
+ // Standards-based browsers support DOMContentLoaded
930
+ } else if ( document.addEventListener ) {
931
+ // Use the handy event callback
932
+ document.addEventListener( "DOMContentLoaded", completed, false );
933
+
934
+ // A fallback to window.onload, that will always work
935
+ window.addEventListener( "load", completed, false );
936
+
937
+ // If IE event model is used
938
+ } else {
939
+ // Ensure firing before onload, maybe late but safe also for iframes
940
+ document.attachEvent( "onreadystatechange", completed );
941
+
942
+ // A fallback to window.onload, that will always work
943
+ window.attachEvent( "onload", completed );
944
+
945
+ // If IE and not a frame
946
+ // continually check to see if the document is ready
947
+ var top = false;
948
+
949
+ try {
950
+ top = window.frameElement == null && document.documentElement;
951
+ } catch(e) {}
952
+
953
+ if ( top && top.doScroll ) {
954
+ (function doScrollCheck() {
955
+ if ( !jQuery.isReady ) {
956
+
957
+ try {
958
+ // Use the trick by Diego Perini
959
+ // http://javascript.nwbox.com/IEContentLoaded/
960
+ top.doScroll("left");
961
+ } catch(e) {
962
+ return setTimeout( doScrollCheck, 50 );
963
+ }
964
+
965
+ // detach all dom ready events
966
+ detach();
967
+
968
+ // and execute any waiting functions
969
+ jQuery.ready();
970
+ }
971
+ })();
972
+ }
973
+ }
974
+ }
975
+ return readyList.promise( obj );
976
+ };
977
+
978
+ // Populate the class2type map
979
+ jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) {
980
+ class2type[ "[object " + name + "]" ] = name.toLowerCase();
981
+ });
982
+
983
+ function isArraylike( obj ) {
984
+ var length = obj.length,
985
+ type = jQuery.type( obj );
986
+
987
+ if ( jQuery.isWindow( obj ) ) {
988
+ return false;
989
+ }
990
+
991
+ if ( obj.nodeType === 1 && length ) {
992
+ return true;
993
+ }
994
+
995
+ return type === "array" || type !== "function" &&
996
+ ( length === 0 ||
997
+ typeof length === "number" && length > 0 && ( length - 1 ) in obj );
998
+ }
999
+
1000
+ // All jQuery objects should point back to these
1001
+ rootjQuery = jQuery(document);
1002
+ /*!
1003
+ * Sizzle CSS Selector Engine v1.10.2
1004
+ * http://sizzlejs.com/
1005
+ *
1006
+ * Copyright 2013 jQuery Foundation, Inc. and other contributors
1007
+ * Released under the MIT license
1008
+ * http://jquery.org/license
1009
+ *
1010
+ * Date: 2013-07-03
1011
+ */
1012
+ (function( window, undefined ) {
1013
+
1014
+ var i,
1015
+ support,
1016
+ cachedruns,
1017
+ Expr,
1018
+ getText,
1019
+ isXML,
1020
+ compile,
1021
+ outermostContext,
1022
+ sortInput,
1023
+
1024
+ // Local document vars
1025
+ setDocument,
1026
+ document,
1027
+ docElem,
1028
+ documentIsHTML,
1029
+ rbuggyQSA,
1030
+ rbuggyMatches,
1031
+ matches,
1032
+ contains,
1033
+
1034
+ // Instance-specific data
1035
+ expando = "sizzle" + -(new Date()),
1036
+ preferredDoc = window.document,
1037
+ dirruns = 0,
1038
+ done = 0,
1039
+ classCache = createCache(),
1040
+ tokenCache = createCache(),
1041
+ compilerCache = createCache(),
1042
+ hasDuplicate = false,
1043
+ sortOrder = function( a, b ) {
1044
+ if ( a === b ) {
1045
+ hasDuplicate = true;
1046
+ return 0;
1047
+ }
1048
+ return 0;
1049
+ },
1050
+
1051
+ // General-purpose constants
1052
+ strundefined = typeof undefined,
1053
+ MAX_NEGATIVE = 1 << 31,
1054
+
1055
+ // Instance methods
1056
+ hasOwn = ({}).hasOwnProperty,
1057
+ arr = [],
1058
+ pop = arr.pop,
1059
+ push_native = arr.push,
1060
+ push = arr.push,
1061
+ slice = arr.slice,
1062
+ // Use a stripped-down indexOf if we can't use a native one
1063
+ indexOf = arr.indexOf || function( elem ) {
1064
+ var i = 0,
1065
+ len = this.length;
1066
+ for ( ; i < len; i++ ) {
1067
+ if ( this[i] === elem ) {
1068
+ return i;
1069
+ }
1070
+ }
1071
+ return -1;
1072
+ },
1073
+
1074
+ booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
1075
+
1076
+ // Regular expressions
1077
+
1078
+ // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace
1079
+ whitespace = "[\\x20\\t\\r\\n\\f]",
1080
+ // http://www.w3.org/TR/css3-syntax/#characters
1081
+ characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
1082
+
1083
+ // Loosely modeled on CSS identifier characters
1084
+ // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors
1085
+ // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
1086
+ identifier = characterEncoding.replace( "w", "w#" ),
1087
+
1088
+ // Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors
1089
+ attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace +
1090
+ "*(?:([*^$|!~]?=)" + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]",
1091
+
1092
+ // Prefer arguments quoted,
1093
+ // then not containing pseudos/brackets,
1094
+ // then attribute selectors/non-parenthetical expressions,
1095
+ // then anything else
1096
+ // These preferences are here to reduce the number of selectors
1097
+ // needing tokenize in the PSEUDO preFilter
1098
+ pseudos = ":(" + characterEncoding + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + attributes.replace( 3, 8 ) + ")*)|.*)\\)|)",
1099
+
1100
+ // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
1101
+ rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
1102
+
1103
+ rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
1104
+ rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
1105
+
1106
+ rsibling = new RegExp( whitespace + "*[+~]" ),
1107
+ rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*)" + whitespace + "*\\]", "g" ),
1108
+
1109
+ rpseudo = new RegExp( pseudos ),
1110
+ ridentifier = new RegExp( "^" + identifier + "$" ),
1111
+
1112
+ matchExpr = {
1113
+ "ID": new RegExp( "^#(" + characterEncoding + ")" ),
1114
+ "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ),
1115
+ "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ),
1116
+ "ATTR": new RegExp( "^" + attributes ),
1117
+ "PSEUDO": new RegExp( "^" + pseudos ),
1118
+ "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
1119
+ "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
1120
+ "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
1121
+ "bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
1122
+ // For use in libraries implementing .is()
1123
+ // We use this for POS matching in `select`
1124
+ "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
1125
+ whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
1126
+ },
1127
+
1128
+ rnative = /^[^{]+\{\s*\[native \w/,
1129
+
1130
+ // Easily-parseable/retrievable ID or TAG or CLASS selectors
1131
+ rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
1132
+
1133
+ rinputs = /^(?:input|select|textarea|button)$/i,
1134
+ rheader = /^h\d$/i,
1135
+
1136
+ rescape = /'|\\/g,
1137
+
1138
+ // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
1139
+ runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
1140
+ funescape = function( _, escaped, escapedWhitespace ) {
1141
+ var high = "0x" + escaped - 0x10000;
1142
+ // NaN means non-codepoint
1143
+ // Support: Firefox
1144
+ // Workaround erroneous numeric interpretation of +"0x"
1145
+ return high !== high || escapedWhitespace ?
1146
+ escaped :
1147
+ // BMP codepoint
1148
+ high < 0 ?
1149
+ String.fromCharCode( high + 0x10000 ) :
1150
+ // Supplemental Plane codepoint (surrogate pair)
1151
+ String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
1152
+ };
1153
+
1154
+ // Optimize for push.apply( _, NodeList )
1155
+ try {
1156
+ push.apply(
1157
+ (arr = slice.call( preferredDoc.childNodes )),
1158
+ preferredDoc.childNodes
1159
+ );
1160
+ // Support: Android<4.0
1161
+ // Detect silently failing push.apply
1162
+ arr[ preferredDoc.childNodes.length ].nodeType;
1163
+ } catch ( e ) {
1164
+ push = { apply: arr.length ?
1165
+
1166
+ // Leverage slice if possible
1167
+ function( target, els ) {
1168
+ push_native.apply( target, slice.call(els) );
1169
+ } :
1170
+
1171
+ // Support: IE<9
1172
+ // Otherwise append directly
1173
+ function( target, els ) {
1174
+ var j = target.length,
1175
+ i = 0;
1176
+ // Can't trust NodeList.length
1177
+ while ( (target[j++] = els[i++]) ) {}
1178
+ target.length = j - 1;
1179
+ }
1180
+ };
1181
+ }
1182
+
1183
+ function Sizzle( selector, context, results, seed ) {
1184
+ var match, elem, m, nodeType,
1185
+ // QSA vars
1186
+ i, groups, old, nid, newContext, newSelector;
1187
+
1188
+ if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
1189
+ setDocument( context );
1190
+ }
1191
+
1192
+ context = context || document;
1193
+ results = results || [];
1194
+
1195
+ if ( !selector || typeof selector !== "string" ) {
1196
+ return results;
1197
+ }
1198
+
1199
+ if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) {
1200
+ return [];
1201
+ }
1202
+
1203
+ if ( documentIsHTML && !seed ) {
1204
+
1205
+ // Shortcuts
1206
+ if ( (match = rquickExpr.exec( selector )) ) {
1207
+ // Speed-up: Sizzle("#ID")
1208
+ if ( (m = match[1]) ) {
1209
+ if ( nodeType === 9 ) {
1210
+ elem = context.getElementById( m );
1211
+ // Check parentNode to catch when Blackberry 4.6 returns
1212
+ // nodes that are no longer in the document #6963
1213
+ if ( elem && elem.parentNode ) {
1214
+ // Handle the case where IE, Opera, and Webkit return items
1215
+ // by name instead of ID
1216
+ if ( elem.id === m ) {
1217
+ results.push( elem );
1218
+ return results;
1219
+ }
1220
+ } else {
1221
+ return results;
1222
+ }
1223
+ } else {
1224
+ // Context is not a document
1225
+ if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) &&
1226
+ contains( context, elem ) && elem.id === m ) {
1227
+ results.push( elem );
1228
+ return results;
1229
+ }
1230
+ }
1231
+
1232
+ // Speed-up: Sizzle("TAG")
1233
+ } else if ( match[2] ) {
1234
+ push.apply( results, context.getElementsByTagName( selector ) );
1235
+ return results;
1236
+
1237
+ // Speed-up: Sizzle(".CLASS")
1238
+ } else if ( (m = match[3]) && support.getElementsByClassName && context.getElementsByClassName ) {
1239
+ push.apply( results, context.getElementsByClassName( m ) );
1240
+ return results;
1241
+ }
1242
+ }
1243
+
1244
+ // QSA path
1245
+ if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
1246
+ nid = old = expando;
1247
+ newContext = context;
1248
+ newSelector = nodeType === 9 && selector;
1249
+
1250
+ // qSA works strangely on Element-rooted queries
1251
+ // We can work around this by specifying an extra ID on the root
1252
+ // and working up from there (Thanks to Andrew Dupont for the technique)
1253
+ // IE 8 doesn't work on object elements
1254
+ if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) {
1255
+ groups = tokenize( selector );
1256
+
1257
+ if ( (old = context.getAttribute("id")) ) {
1258
+ nid = old.replace( rescape, "\\$&" );
1259
+ } else {
1260
+ context.setAttribute( "id", nid );
1261
+ }
1262
+ nid = "[id='" + nid + "'] ";
1263
+
1264
+ i = groups.length;
1265
+ while ( i-- ) {
1266
+ groups[i] = nid + toSelector( groups[i] );
1267
+ }
1268
+ newContext = rsibling.test( selector ) && context.parentNode || context;
1269
+ newSelector = groups.join(",");
1270
+ }
1271
+
1272
+ if ( newSelector ) {
1273
+ try {
1274
+ push.apply( results,
1275
+ newContext.querySelectorAll( newSelector )
1276
+ );
1277
+ return results;
1278
+ } catch(qsaError) {
1279
+ } finally {
1280
+ if ( !old ) {
1281
+ context.removeAttribute("id");
1282
+ }
1283
+ }
1284
+ }
1285
+ }
1286
+ }
1287
+
1288
+ // All others
1289
+ return select( selector.replace( rtrim, "$1" ), context, results, seed );
1290
+ }
1291
+
1292
+ /**
1293
+ * Create key-value caches of limited size
1294
+ * @returns {Function(string, Object)} Returns the Object data after storing it on itself with
1295
+ * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
1296
+ * deleting the oldest entry
1297
+ */
1298
+ function createCache() {
1299
+ var keys = [];
1300
+
1301
+ function cache( key, value ) {
1302
+ // Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
1303
+ if ( keys.push( key += " " ) > Expr.cacheLength ) {
1304
+ // Only keep the most recent entries
1305
+ delete cache[ keys.shift() ];
1306
+ }
1307
+ return (cache[ key ] = value);
1308
+ }
1309
+ return cache;
1310
+ }
1311
+
1312
+ /**
1313
+ * Mark a function for special use by Sizzle
1314
+ * @param {Function} fn The function to mark
1315
+ */
1316
+ function markFunction( fn ) {
1317
+ fn[ expando ] = true;
1318
+ return fn;
1319
+ }
1320
+
1321
+ /**
1322
+ * Support testing using an element
1323
+ * @param {Function} fn Passed the created div and expects a boolean result
1324
+ */
1325
+ function assert( fn ) {
1326
+ var div = document.createElement("div");
1327
+
1328
+ try {
1329
+ return !!fn( div );
1330
+ } catch (e) {
1331
+ return false;
1332
+ } finally {
1333
+ // Remove from its parent by default
1334
+ if ( div.parentNode ) {
1335
+ div.parentNode.removeChild( div );
1336
+ }
1337
+ // release memory in IE
1338
+ div = null;
1339
+ }
1340
+ }
1341
+
1342
+ /**
1343
+ * Adds the same handler for all of the specified attrs
1344
+ * @param {String} attrs Pipe-separated list of attributes
1345
+ * @param {Function} handler The method that will be applied
1346
+ */
1347
+ function addHandle( attrs, handler ) {
1348
+ var arr = attrs.split("|"),
1349
+ i = attrs.length;
1350
+
1351
+ while ( i-- ) {
1352
+ Expr.attrHandle[ arr[i] ] = handler;
1353
+ }
1354
+ }
1355
+
1356
+ /**
1357
+ * Checks document order of two siblings
1358
+ * @param {Element} a
1359
+ * @param {Element} b
1360
+ * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
1361
+ */
1362
+ function siblingCheck( a, b ) {
1363
+ var cur = b && a,
1364
+ diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
1365
+ ( ~b.sourceIndex || MAX_NEGATIVE ) -
1366
+ ( ~a.sourceIndex || MAX_NEGATIVE );
1367
+
1368
+ // Use IE sourceIndex if available on both nodes
1369
+ if ( diff ) {
1370
+ return diff;
1371
+ }
1372
+
1373
+ // Check if b follows a
1374
+ if ( cur ) {
1375
+ while ( (cur = cur.nextSibling) ) {
1376
+ if ( cur === b ) {
1377
+ return -1;
1378
+ }
1379
+ }
1380
+ }
1381
+
1382
+ return a ? 1 : -1;
1383
+ }
1384
+
1385
+ /**
1386
+ * Returns a function to use in pseudos for input types
1387
+ * @param {String} type
1388
+ */
1389
+ function createInputPseudo( type ) {
1390
+ return function( elem ) {
1391
+ var name = elem.nodeName.toLowerCase();
1392
+ return name === "input" && elem.type === type;
1393
+ };
1394
+ }
1395
+
1396
+ /**
1397
+ * Returns a function to use in pseudos for buttons
1398
+ * @param {String} type
1399
+ */
1400
+ function createButtonPseudo( type ) {
1401
+ return function( elem ) {
1402
+ var name = elem.nodeName.toLowerCase();
1403
+ return (name === "input" || name === "button") && elem.type === type;
1404
+ };
1405
+ }
1406
+
1407
+ /**
1408
+ * Returns a function to use in pseudos for positionals
1409
+ * @param {Function} fn
1410
+ */
1411
+ function createPositionalPseudo( fn ) {
1412
+ return markFunction(function( argument ) {
1413
+ argument = +argument;
1414
+ return markFunction(function( seed, matches ) {
1415
+ var j,
1416
+ matchIndexes = fn( [], seed.length, argument ),
1417
+ i = matchIndexes.length;
1418
+
1419
+ // Match elements found at the specified indexes
1420
+ while ( i-- ) {
1421
+ if ( seed[ (j = matchIndexes[i]) ] ) {
1422
+ seed[j] = !(matches[j] = seed[j]);
1423
+ }
1424
+ }
1425
+ });
1426
+ });
1427
+ }
1428
+
1429
+ /**
1430
+ * Detect xml
1431
+ * @param {Element|Object} elem An element or a document
1432
+ */
1433
+ isXML = Sizzle.isXML = function( elem ) {
1434
+ // documentElement is verified for cases where it doesn't yet exist
1435
+ // (such as loading iframes in IE - #4833)
1436
+ var documentElement = elem && (elem.ownerDocument || elem).documentElement;
1437
+ return documentElement ? documentElement.nodeName !== "HTML" : false;
1438
+ };
1439
+
1440
+ // Expose support vars for convenience
1441
+ support = Sizzle.support = {};
1442
+
1443
+ /**
1444
+ * Sets document-related variables once based on the current document
1445
+ * @param {Element|Object} [doc] An element or document object to use to set the document
1446
+ * @returns {Object} Returns the current document
1447
+ */
1448
+ setDocument = Sizzle.setDocument = function( node ) {
1449
+ var doc = node ? node.ownerDocument || node : preferredDoc,
1450
+ parent = doc.defaultView;
1451
+
1452
+ // If no document and documentElement is available, return
1453
+ if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
1454
+ return document;
1455
+ }
1456
+
1457
+ // Set our document
1458
+ document = doc;
1459
+ docElem = doc.documentElement;
1460
+
1461
+ // Support tests
1462
+ documentIsHTML = !isXML( doc );
1463
+
1464
+ // Support: IE>8
1465
+ // If iframe document is assigned to "document" variable and if iframe has been reloaded,
1466
+ // IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936
1467
+ // IE6-8 do not support the defaultView property so parent will be undefined
1468
+ if ( parent && parent.attachEvent && parent !== parent.top ) {
1469
+ parent.attachEvent( "onbeforeunload", function() {
1470
+ setDocument();
1471
+ });
1472
+ }
1473
+
1474
+ /* Attributes
1475
+ ---------------------------------------------------------------------- */
1476
+
1477
+ // Support: IE<8
1478
+ // Verify that getAttribute really returns attributes and not properties (excepting IE8 booleans)
1479
+ support.attributes = assert(function( div ) {
1480
+ div.className = "i";
1481
+ return !div.getAttribute("className");
1482
+ });
1483
+
1484
+ /* getElement(s)By*
1485
+ ---------------------------------------------------------------------- */
1486
+
1487
+ // Check if getElementsByTagName("*") returns only elements
1488
+ support.getElementsByTagName = assert(function( div ) {
1489
+ div.appendChild( doc.createComment("") );
1490
+ return !div.getElementsByTagName("*").length;
1491
+ });
1492
+
1493
+ // Check if getElementsByClassName can be trusted
1494
+ support.getElementsByClassName = assert(function( div ) {
1495
+ div.innerHTML = "<div class='a'></div><div class='a i'></div>";
1496
+
1497
+ // Support: Safari<4
1498
+ // Catch class over-caching
1499
+ div.firstChild.className = "i";
1500
+ // Support: Opera<10
1501
+ // Catch gEBCN failure to find non-leading classes
1502
+ return div.getElementsByClassName("i").length === 2;
1503
+ });
1504
+
1505
+ // Support: IE<10
1506
+ // Check if getElementById returns elements by name
1507
+ // The broken getElementById methods don't pick up programatically-set names,
1508
+ // so use a roundabout getElementsByName test
1509
+ support.getById = assert(function( div ) {
1510
+ docElem.appendChild( div ).id = expando;
1511
+ return !doc.getElementsByName || !doc.getElementsByName( expando ).length;
1512
+ });
1513
+
1514
+ // ID find and filter
1515
+ if ( support.getById ) {
1516
+ Expr.find["ID"] = function( id, context ) {
1517
+ if ( typeof context.getElementById !== strundefined && documentIsHTML ) {
1518
+ var m = context.getElementById( id );
1519
+ // Check parentNode to catch when Blackberry 4.6 returns
1520
+ // nodes that are no longer in the document #6963
1521
+ return m && m.parentNode ? [m] : [];
1522
+ }
1523
+ };
1524
+ Expr.filter["ID"] = function( id ) {
1525
+ var attrId = id.replace( runescape, funescape );
1526
+ return function( elem ) {
1527
+ return elem.getAttribute("id") === attrId;
1528
+ };
1529
+ };
1530
+ } else {
1531
+ // Support: IE6/7
1532
+ // getElementById is not reliable as a find shortcut
1533
+ delete Expr.find["ID"];
1534
+
1535
+ Expr.filter["ID"] = function( id ) {
1536
+ var attrId = id.replace( runescape, funescape );
1537
+ return function( elem ) {
1538
+ var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id");
1539
+ return node && node.value === attrId;
1540
+ };
1541
+ };
1542
+ }
1543
+
1544
+ // Tag
1545
+ Expr.find["TAG"] = support.getElementsByTagName ?
1546
+ function( tag, context ) {
1547
+ if ( typeof context.getElementsByTagName !== strundefined ) {
1548
+ return context.getElementsByTagName( tag );
1549
+ }
1550
+ } :
1551
+ function( tag, context ) {
1552
+ var elem,
1553
+ tmp = [],
1554
+ i = 0,
1555
+ results = context.getElementsByTagName( tag );
1556
+
1557
+ // Filter out possible comments
1558
+ if ( tag === "*" ) {
1559
+ while ( (elem = results[i++]) ) {
1560
+ if ( elem.nodeType === 1 ) {
1561
+ tmp.push( elem );
1562
+ }
1563
+ }
1564
+
1565
+ return tmp;
1566
+ }
1567
+ return results;
1568
+ };
1569
+
1570
+ // Class
1571
+ Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
1572
+ if ( typeof context.getElementsByClassName !== strundefined && documentIsHTML ) {
1573
+ return context.getElementsByClassName( className );
1574
+ }
1575
+ };
1576
+
1577
+ /* QSA/matchesSelector
1578
+ ---------------------------------------------------------------------- */
1579
+
1580
+ // QSA and matchesSelector support
1581
+
1582
+ // matchesSelector(:active) reports false when true (IE9/Opera 11.5)
1583
+ rbuggyMatches = [];
1584
+
1585
+ // qSa(:focus) reports false when true (Chrome 21)
1586
+ // We allow this because of a bug in IE8/9 that throws an error
1587
+ // whenever `document.activeElement` is accessed on an iframe
1588
+ // So, we allow :focus to pass through QSA all the time to avoid the IE error
1589
+ // See http://bugs.jquery.com/ticket/13378
1590
+ rbuggyQSA = [];
1591
+
1592
+ if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) {
1593
+ // Build QSA regex
1594
+ // Regex strategy adopted from Diego Perini
1595
+ assert(function( div ) {
1596
+ // Select is set to empty string on purpose
1597
+ // This is to test IE's treatment of not explicitly
1598
+ // setting a boolean content attribute,
1599
+ // since its presence should be enough
1600
+ // http://bugs.jquery.com/ticket/12359
1601
+ div.innerHTML = "<select><option selected=''></option></select>";
1602
+
1603
+ // Support: IE8
1604
+ // Boolean attributes and "value" are not treated correctly
1605
+ if ( !div.querySelectorAll("[selected]").length ) {
1606
+ rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
1607
+ }
1608
+
1609
+ // Webkit/Opera - :checked should return selected option elements
1610
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
1611
+ // IE8 throws error here and will not see later tests
1612
+ if ( !div.querySelectorAll(":checked").length ) {
1613
+ rbuggyQSA.push(":checked");
1614
+ }
1615
+ });
1616
+
1617
+ assert(function( div ) {
1618
+
1619
+ // Support: Opera 10-12/IE8
1620
+ // ^= $= *= and empty values
1621
+ // Should not select anything
1622
+ // Support: Windows 8 Native Apps
1623
+ // The type attribute is restricted during .innerHTML assignment
1624
+ var input = doc.createElement("input");
1625
+ input.setAttribute( "type", "hidden" );
1626
+ div.appendChild( input ).setAttribute( "t", "" );
1627
+
1628
+ if ( div.querySelectorAll("[t^='']").length ) {
1629
+ rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
1630
+ }
1631
+
1632
+ // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
1633
+ // IE8 throws error here and will not see later tests
1634
+ if ( !div.querySelectorAll(":enabled").length ) {
1635
+ rbuggyQSA.push( ":enabled", ":disabled" );
1636
+ }
1637
+
1638
+ // Opera 10-11 does not throw on post-comma invalid pseudos
1639
+ div.querySelectorAll("*,:x");
1640
+ rbuggyQSA.push(",.*:");
1641
+ });
1642
+ }
1643
+
1644
+ if ( (support.matchesSelector = rnative.test( (matches = docElem.webkitMatchesSelector ||
1645
+ docElem.mozMatchesSelector ||
1646
+ docElem.oMatchesSelector ||
1647
+ docElem.msMatchesSelector) )) ) {
1648
+
1649
+ assert(function( div ) {
1650
+ // Check to see if it's possible to do matchesSelector
1651
+ // on a disconnected node (IE 9)
1652
+ support.disconnectedMatch = matches.call( div, "div" );
1653
+
1654
+ // This should fail with an exception
1655
+ // Gecko does not error, returns false instead
1656
+ matches.call( div, "[s!='']:x" );
1657
+ rbuggyMatches.push( "!=", pseudos );
1658
+ });
1659
+ }
1660
+
1661
+ rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
1662
+ rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
1663
+
1664
+ /* Contains
1665
+ ---------------------------------------------------------------------- */
1666
+
1667
+ // Element contains another
1668
+ // Purposefully does not implement inclusive descendent
1669
+ // As in, an element does not contain itself
1670
+ contains = rnative.test( docElem.contains ) || docElem.compareDocumentPosition ?
1671
+ function( a, b ) {
1672
+ var adown = a.nodeType === 9 ? a.documentElement : a,
1673
+ bup = b && b.parentNode;
1674
+ return a === bup || !!( bup && bup.nodeType === 1 && (
1675
+ adown.contains ?
1676
+ adown.contains( bup ) :
1677
+ a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
1678
+ ));
1679
+ } :
1680
+ function( a, b ) {
1681
+ if ( b ) {
1682
+ while ( (b = b.parentNode) ) {
1683
+ if ( b === a ) {
1684
+ return true;
1685
+ }
1686
+ }
1687
+ }
1688
+ return false;
1689
+ };
1690
+
1691
+ /* Sorting
1692
+ ---------------------------------------------------------------------- */
1693
+
1694
+ // Document order sorting
1695
+ sortOrder = docElem.compareDocumentPosition ?
1696
+ function( a, b ) {
1697
+
1698
+ // Flag for duplicate removal
1699
+ if ( a === b ) {
1700
+ hasDuplicate = true;
1701
+ return 0;
1702
+ }
1703
+
1704
+ var compare = b.compareDocumentPosition && a.compareDocumentPosition && a.compareDocumentPosition( b );
1705
+
1706
+ if ( compare ) {
1707
+ // Disconnected nodes
1708
+ if ( compare & 1 ||
1709
+ (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
1710
+
1711
+ // Choose the first element that is related to our preferred document
1712
+ if ( a === doc || contains(preferredDoc, a) ) {
1713
+ return -1;
1714
+ }
1715
+ if ( b === doc || contains(preferredDoc, b) ) {
1716
+ return 1;
1717
+ }
1718
+
1719
+ // Maintain original order
1720
+ return sortInput ?
1721
+ ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) :
1722
+ 0;
1723
+ }
1724
+
1725
+ return compare & 4 ? -1 : 1;
1726
+ }
1727
+
1728
+ // Not directly comparable, sort on existence of method
1729
+ return a.compareDocumentPosition ? -1 : 1;
1730
+ } :
1731
+ function( a, b ) {
1732
+ var cur,
1733
+ i = 0,
1734
+ aup = a.parentNode,
1735
+ bup = b.parentNode,
1736
+ ap = [ a ],
1737
+ bp = [ b ];
1738
+
1739
+ // Exit early if the nodes are identical
1740
+ if ( a === b ) {
1741
+ hasDuplicate = true;
1742
+ return 0;
1743
+
1744
+ // Parentless nodes are either documents or disconnected
1745
+ } else if ( !aup || !bup ) {
1746
+ return a === doc ? -1 :
1747
+ b === doc ? 1 :
1748
+ aup ? -1 :
1749
+ bup ? 1 :
1750
+ sortInput ?
1751
+ ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) :
1752
+ 0;
1753
+
1754
+ // If the nodes are siblings, we can do a quick check
1755
+ } else if ( aup === bup ) {
1756
+ return siblingCheck( a, b );
1757
+ }
1758
+
1759
+ // Otherwise we need full lists of their ancestors for comparison
1760
+ cur = a;
1761
+ while ( (cur = cur.parentNode) ) {
1762
+ ap.unshift( cur );
1763
+ }
1764
+ cur = b;
1765
+ while ( (cur = cur.parentNode) ) {
1766
+ bp.unshift( cur );
1767
+ }
1768
+
1769
+ // Walk down the tree looking for a discrepancy
1770
+ while ( ap[i] === bp[i] ) {
1771
+ i++;
1772
+ }
1773
+
1774
+ return i ?
1775
+ // Do a sibling check if the nodes have a common ancestor
1776
+ siblingCheck( ap[i], bp[i] ) :
1777
+
1778
+ // Otherwise nodes in our document sort first
1779
+ ap[i] === preferredDoc ? -1 :
1780
+ bp[i] === preferredDoc ? 1 :
1781
+ 0;
1782
+ };
1783
+
1784
+ return doc;
1785
+ };
1786
+
1787
+ Sizzle.matches = function( expr, elements ) {
1788
+ return Sizzle( expr, null, null, elements );
1789
+ };
1790
+
1791
+ Sizzle.matchesSelector = function( elem, expr ) {
1792
+ // Set document vars if needed
1793
+ if ( ( elem.ownerDocument || elem ) !== document ) {
1794
+ setDocument( elem );
1795
+ }
1796
+
1797
+ // Make sure that attribute selectors are quoted
1798
+ expr = expr.replace( rattributeQuotes, "='$1']" );
1799
+
1800
+ if ( support.matchesSelector && documentIsHTML &&
1801
+ ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
1802
+ ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
1803
+
1804
+ try {
1805
+ var ret = matches.call( elem, expr );
1806
+
1807
+ // IE 9's matchesSelector returns false on disconnected nodes
1808
+ if ( ret || support.disconnectedMatch ||
1809
+ // As well, disconnected nodes are said to be in a document
1810
+ // fragment in IE 9
1811
+ elem.document && elem.document.nodeType !== 11 ) {
1812
+ return ret;
1813
+ }
1814
+ } catch(e) {}
1815
+ }
1816
+
1817
+ return Sizzle( expr, document, null, [elem] ).length > 0;
1818
+ };
1819
+
1820
+ Sizzle.contains = function( context, elem ) {
1821
+ // Set document vars if needed
1822
+ if ( ( context.ownerDocument || context ) !== document ) {
1823
+ setDocument( context );
1824
+ }
1825
+ return contains( context, elem );
1826
+ };
1827
+
1828
+ Sizzle.attr = function( elem, name ) {
1829
+ // Set document vars if needed
1830
+ if ( ( elem.ownerDocument || elem ) !== document ) {
1831
+ setDocument( elem );
1832
+ }
1833
+
1834
+ var fn = Expr.attrHandle[ name.toLowerCase() ],
1835
+ // Don't get fooled by Object.prototype properties (jQuery #13807)
1836
+ val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
1837
+ fn( elem, name, !documentIsHTML ) :
1838
+ undefined;
1839
+
1840
+ return val === undefined ?
1841
+ support.attributes || !documentIsHTML ?
1842
+ elem.getAttribute( name ) :
1843
+ (val = elem.getAttributeNode(name)) && val.specified ?
1844
+ val.value :
1845
+ null :
1846
+ val;
1847
+ };
1848
+
1849
+ Sizzle.error = function( msg ) {
1850
+ throw new Error( "Syntax error, unrecognized expression: " + msg );
1851
+ };
1852
+
1853
+ /**
1854
+ * Document sorting and removing duplicates
1855
+ * @param {ArrayLike} results
1856
+ */
1857
+ Sizzle.uniqueSort = function( results ) {
1858
+ var elem,
1859
+ duplicates = [],
1860
+ j = 0,
1861
+ i = 0;
1862
+
1863
+ // Unless we *know* we can detect duplicates, assume their presence
1864
+ hasDuplicate = !support.detectDuplicates;
1865
+ sortInput = !support.sortStable && results.slice( 0 );
1866
+ results.sort( sortOrder );
1867
+
1868
+ if ( hasDuplicate ) {
1869
+ while ( (elem = results[i++]) ) {
1870
+ if ( elem === results[ i ] ) {
1871
+ j = duplicates.push( i );
1872
+ }
1873
+ }
1874
+ while ( j-- ) {
1875
+ results.splice( duplicates[ j ], 1 );
1876
+ }
1877
+ }
1878
+
1879
+ return results;
1880
+ };
1881
+
1882
+ /**
1883
+ * Utility function for retrieving the text value of an array of DOM nodes
1884
+ * @param {Array|Element} elem
1885
+ */
1886
+ getText = Sizzle.getText = function( elem ) {
1887
+ var node,
1888
+ ret = "",
1889
+ i = 0,
1890
+ nodeType = elem.nodeType;
1891
+
1892
+ if ( !nodeType ) {
1893
+ // If no nodeType, this is expected to be an array
1894
+ for ( ; (node = elem[i]); i++ ) {
1895
+ // Do not traverse comment nodes
1896
+ ret += getText( node );
1897
+ }
1898
+ } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
1899
+ // Use textContent for elements
1900
+ // innerText usage removed for consistency of new lines (see #11153)
1901
+ if ( typeof elem.textContent === "string" ) {
1902
+ return elem.textContent;
1903
+ } else {
1904
+ // Traverse its children
1905
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
1906
+ ret += getText( elem );
1907
+ }
1908
+ }
1909
+ } else if ( nodeType === 3 || nodeType === 4 ) {
1910
+ return elem.nodeValue;
1911
+ }
1912
+ // Do not include comment or processing instruction nodes
1913
+
1914
+ return ret;
1915
+ };
1916
+
1917
+ Expr = Sizzle.selectors = {
1918
+
1919
+ // Can be adjusted by the user
1920
+ cacheLength: 50,
1921
+
1922
+ createPseudo: markFunction,
1923
+
1924
+ match: matchExpr,
1925
+
1926
+ attrHandle: {},
1927
+
1928
+ find: {},
1929
+
1930
+ relative: {
1931
+ ">": { dir: "parentNode", first: true },
1932
+ " ": { dir: "parentNode" },
1933
+ "+": { dir: "previousSibling", first: true },
1934
+ "~": { dir: "previousSibling" }
1935
+ },
1936
+
1937
+ preFilter: {
1938
+ "ATTR": function( match ) {
1939
+ match[1] = match[1].replace( runescape, funescape );
1940
+
1941
+ // Move the given value to match[3] whether quoted or unquoted
1942
+ match[3] = ( match[4] || match[5] || "" ).replace( runescape, funescape );
1943
+
1944
+ if ( match[2] === "~=" ) {
1945
+ match[3] = " " + match[3] + " ";
1946
+ }
1947
+
1948
+ return match.slice( 0, 4 );
1949
+ },
1950
+
1951
+ "CHILD": function( match ) {
1952
+ /* matches from matchExpr["CHILD"]
1953
+ 1 type (only|nth|...)
1954
+ 2 what (child|of-type)
1955
+ 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
1956
+ 4 xn-component of xn+y argument ([+-]?\d*n|)
1957
+ 5 sign of xn-component
1958
+ 6 x of xn-component
1959
+ 7 sign of y-component
1960
+ 8 y of y-component
1961
+ */
1962
+ match[1] = match[1].toLowerCase();
1963
+
1964
+ if ( match[1].slice( 0, 3 ) === "nth" ) {
1965
+ // nth-* requires argument
1966
+ if ( !match[3] ) {
1967
+ Sizzle.error( match[0] );
1968
+ }
1969
+
1970
+ // numeric x and y parameters for Expr.filter.CHILD
1971
+ // remember that false/true cast respectively to 0/1
1972
+ match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
1973
+ match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
1974
+
1975
+ // other types prohibit arguments
1976
+ } else if ( match[3] ) {
1977
+ Sizzle.error( match[0] );
1978
+ }
1979
+
1980
+ return match;
1981
+ },
1982
+
1983
+ "PSEUDO": function( match ) {
1984
+ var excess,
1985
+ unquoted = !match[5] && match[2];
1986
+
1987
+ if ( matchExpr["CHILD"].test( match[0] ) ) {
1988
+ return null;
1989
+ }
1990
+
1991
+ // Accept quoted arguments as-is
1992
+ if ( match[3] && match[4] !== undefined ) {
1993
+ match[2] = match[4];
1994
+
1995
+ // Strip excess characters from unquoted arguments
1996
+ } else if ( unquoted && rpseudo.test( unquoted ) &&
1997
+ // Get excess from tokenize (recursively)
1998
+ (excess = tokenize( unquoted, true )) &&
1999
+ // advance to the next closing parenthesis
2000
+ (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
2001
+
2002
+ // excess is a negative index
2003
+ match[0] = match[0].slice( 0, excess );
2004
+ match[2] = unquoted.slice( 0, excess );
2005
+ }
2006
+
2007
+ // Return only captures needed by the pseudo filter method (type and argument)
2008
+ return match.slice( 0, 3 );
2009
+ }
2010
+ },
2011
+
2012
+ filter: {
2013
+
2014
+ "TAG": function( nodeNameSelector ) {
2015
+ var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
2016
+ return nodeNameSelector === "*" ?
2017
+ function() { return true; } :
2018
+ function( elem ) {
2019
+ return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
2020
+ };
2021
+ },
2022
+
2023
+ "CLASS": function( className ) {
2024
+ var pattern = classCache[ className + " " ];
2025
+
2026
+ return pattern ||
2027
+ (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
2028
+ classCache( className, function( elem ) {
2029
+ return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== strundefined && elem.getAttribute("class") || "" );
2030
+ });
2031
+ },
2032
+
2033
+ "ATTR": function( name, operator, check ) {
2034
+ return function( elem ) {
2035
+ var result = Sizzle.attr( elem, name );
2036
+
2037
+ if ( result == null ) {
2038
+ return operator === "!=";
2039
+ }
2040
+ if ( !operator ) {
2041
+ return true;
2042
+ }
2043
+
2044
+ result += "";
2045
+
2046
+ return operator === "=" ? result === check :
2047
+ operator === "!=" ? result !== check :
2048
+ operator === "^=" ? check && result.indexOf( check ) === 0 :
2049
+ operator === "*=" ? check && result.indexOf( check ) > -1 :
2050
+ operator === "$=" ? check && result.slice( -check.length ) === check :
2051
+ operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 :
2052
+ operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
2053
+ false;
2054
+ };
2055
+ },
2056
+
2057
+ "CHILD": function( type, what, argument, first, last ) {
2058
+ var simple = type.slice( 0, 3 ) !== "nth",
2059
+ forward = type.slice( -4 ) !== "last",
2060
+ ofType = what === "of-type";
2061
+
2062
+ return first === 1 && last === 0 ?
2063
+
2064
+ // Shortcut for :nth-*(n)
2065
+ function( elem ) {
2066
+ return !!elem.parentNode;
2067
+ } :
2068
+
2069
+ function( elem, context, xml ) {
2070
+ var cache, outerCache, node, diff, nodeIndex, start,
2071
+ dir = simple !== forward ? "nextSibling" : "previousSibling",
2072
+ parent = elem.parentNode,
2073
+ name = ofType && elem.nodeName.toLowerCase(),
2074
+ useCache = !xml && !ofType;
2075
+
2076
+ if ( parent ) {
2077
+
2078
+ // :(first|last|only)-(child|of-type)
2079
+ if ( simple ) {
2080
+ while ( dir ) {
2081
+ node = elem;
2082
+ while ( (node = node[ dir ]) ) {
2083
+ if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) {
2084
+ return false;
2085
+ }
2086
+ }
2087
+ // Reverse direction for :only-* (if we haven't yet done so)
2088
+ start = dir = type === "only" && !start && "nextSibling";
2089
+ }
2090
+ return true;
2091
+ }
2092
+
2093
+ start = [ forward ? parent.firstChild : parent.lastChild ];
2094
+
2095
+ // non-xml :nth-child(...) stores cache data on `parent`
2096
+ if ( forward && useCache ) {
2097
+ // Seek `elem` from a previously-cached index
2098
+ outerCache = parent[ expando ] || (parent[ expando ] = {});
2099
+ cache = outerCache[ type ] || [];
2100
+ nodeIndex = cache[0] === dirruns && cache[1];
2101
+ diff = cache[0] === dirruns && cache[2];
2102
+ node = nodeIndex && parent.childNodes[ nodeIndex ];
2103
+
2104
+ while ( (node = ++nodeIndex && node && node[ dir ] ||
2105
+
2106
+ // Fallback to seeking `elem` from the start
2107
+ (diff = nodeIndex = 0) || start.pop()) ) {
2108
+
2109
+ // When found, cache indexes on `parent` and break
2110
+ if ( node.nodeType === 1 && ++diff && node === elem ) {
2111
+ outerCache[ type ] = [ dirruns, nodeIndex, diff ];
2112
+ break;
2113
+ }
2114
+ }
2115
+
2116
+ // Use previously-cached element index if available
2117
+ } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) {
2118
+ diff = cache[1];
2119
+
2120
+ // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...)
2121
+ } else {
2122
+ // Use the same loop as above to seek `elem` from the start
2123
+ while ( (node = ++nodeIndex && node && node[ dir ] ||
2124
+ (diff = nodeIndex = 0) || start.pop()) ) {
2125
+
2126
+ if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) {
2127
+ // Cache the index of each encountered element
2128
+ if ( useCache ) {
2129
+ (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ];
2130
+ }
2131
+
2132
+ if ( node === elem ) {
2133
+ break;
2134
+ }
2135
+ }
2136
+ }
2137
+ }
2138
+
2139
+ // Incorporate the offset, then check against cycle size
2140
+ diff -= last;
2141
+ return diff === first || ( diff % first === 0 && diff / first >= 0 );
2142
+ }
2143
+ };
2144
+ },
2145
+
2146
+ "PSEUDO": function( pseudo, argument ) {
2147
+ // pseudo-class names are case-insensitive
2148
+ // http://www.w3.org/TR/selectors/#pseudo-classes
2149
+ // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
2150
+ // Remember that setFilters inherits from pseudos
2151
+ var args,
2152
+ fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
2153
+ Sizzle.error( "unsupported pseudo: " + pseudo );
2154
+
2155
+ // The user may use createPseudo to indicate that
2156
+ // arguments are needed to create the filter function
2157
+ // just as Sizzle does
2158
+ if ( fn[ expando ] ) {
2159
+ return fn( argument );
2160
+ }
2161
+
2162
+ // But maintain support for old signatures
2163
+ if ( fn.length > 1 ) {
2164
+ args = [ pseudo, pseudo, "", argument ];
2165
+ return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
2166
+ markFunction(function( seed, matches ) {
2167
+ var idx,
2168
+ matched = fn( seed, argument ),
2169
+ i = matched.length;
2170
+ while ( i-- ) {
2171
+ idx = indexOf.call( seed, matched[i] );
2172
+ seed[ idx ] = !( matches[ idx ] = matched[i] );
2173
+ }
2174
+ }) :
2175
+ function( elem ) {
2176
+ return fn( elem, 0, args );
2177
+ };
2178
+ }
2179
+
2180
+ return fn;
2181
+ }
2182
+ },
2183
+
2184
+ pseudos: {
2185
+ // Potentially complex pseudos
2186
+ "not": markFunction(function( selector ) {
2187
+ // Trim the selector passed to compile
2188
+ // to avoid treating leading and trailing
2189
+ // spaces as combinators
2190
+ var input = [],
2191
+ results = [],
2192
+ matcher = compile( selector.replace( rtrim, "$1" ) );
2193
+
2194
+ return matcher[ expando ] ?
2195
+ markFunction(function( seed, matches, context, xml ) {
2196
+ var elem,
2197
+ unmatched = matcher( seed, null, xml, [] ),
2198
+ i = seed.length;
2199
+
2200
+ // Match elements unmatched by `matcher`
2201
+ while ( i-- ) {
2202
+ if ( (elem = unmatched[i]) ) {
2203
+ seed[i] = !(matches[i] = elem);
2204
+ }
2205
+ }
2206
+ }) :
2207
+ function( elem, context, xml ) {
2208
+ input[0] = elem;
2209
+ matcher( input, null, xml, results );
2210
+ return !results.pop();
2211
+ };
2212
+ }),
2213
+
2214
+ "has": markFunction(function( selector ) {
2215
+ return function( elem ) {
2216
+ return Sizzle( selector, elem ).length > 0;
2217
+ };
2218
+ }),
2219
+
2220
+ "contains": markFunction(function( text ) {
2221
+ return function( elem ) {
2222
+ return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
2223
+ };
2224
+ }),
2225
+
2226
+ // "Whether an element is represented by a :lang() selector
2227
+ // is based solely on the element's language value
2228
+ // being equal to the identifier C,
2229
+ // or beginning with the identifier C immediately followed by "-".
2230
+ // The matching of C against the element's language value is performed case-insensitively.
2231
+ // The identifier C does not have to be a valid language name."
2232
+ // http://www.w3.org/TR/selectors/#lang-pseudo
2233
+ "lang": markFunction( function( lang ) {
2234
+ // lang value must be a valid identifier
2235
+ if ( !ridentifier.test(lang || "") ) {
2236
+ Sizzle.error( "unsupported lang: " + lang );
2237
+ }
2238
+ lang = lang.replace( runescape, funescape ).toLowerCase();
2239
+ return function( elem ) {
2240
+ var elemLang;
2241
+ do {
2242
+ if ( (elemLang = documentIsHTML ?
2243
+ elem.lang :
2244
+ elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
2245
+
2246
+ elemLang = elemLang.toLowerCase();
2247
+ return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
2248
+ }
2249
+ } while ( (elem = elem.parentNode) && elem.nodeType === 1 );
2250
+ return false;
2251
+ };
2252
+ }),
2253
+
2254
+ // Miscellaneous
2255
+ "target": function( elem ) {
2256
+ var hash = window.location && window.location.hash;
2257
+ return hash && hash.slice( 1 ) === elem.id;
2258
+ },
2259
+
2260
+ "root": function( elem ) {
2261
+ return elem === docElem;
2262
+ },
2263
+
2264
+ "focus": function( elem ) {
2265
+ return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
2266
+ },
2267
+
2268
+ // Boolean properties
2269
+ "enabled": function( elem ) {
2270
+ return elem.disabled === false;
2271
+ },
2272
+
2273
+ "disabled": function( elem ) {
2274
+ return elem.disabled === true;
2275
+ },
2276
+
2277
+ "checked": function( elem ) {
2278
+ // In CSS3, :checked should return both checked and selected elements
2279
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
2280
+ var nodeName = elem.nodeName.toLowerCase();
2281
+ return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
2282
+ },
2283
+
2284
+ "selected": function( elem ) {
2285
+ // Accessing this property makes selected-by-default
2286
+ // options in Safari work properly
2287
+ if ( elem.parentNode ) {
2288
+ elem.parentNode.selectedIndex;
2289
+ }
2290
+
2291
+ return elem.selected === true;
2292
+ },
2293
+
2294
+ // Contents
2295
+ "empty": function( elem ) {
2296
+ // http://www.w3.org/TR/selectors/#empty-pseudo
2297
+ // :empty is only affected by element nodes and content nodes(including text(3), cdata(4)),
2298
+ // not comment, processing instructions, or others
2299
+ // Thanks to Diego Perini for the nodeName shortcut
2300
+ // Greater than "@" means alpha characters (specifically not starting with "#" or "?")
2301
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
2302
+ if ( elem.nodeName > "@" || elem.nodeType === 3 || elem.nodeType === 4 ) {
2303
+ return false;
2304
+ }
2305
+ }
2306
+ return true;
2307
+ },
2308
+
2309
+ "parent": function( elem ) {
2310
+ return !Expr.pseudos["empty"]( elem );
2311
+ },
2312
+
2313
+ // Element/input types
2314
+ "header": function( elem ) {
2315
+ return rheader.test( elem.nodeName );
2316
+ },
2317
+
2318
+ "input": function( elem ) {
2319
+ return rinputs.test( elem.nodeName );
2320
+ },
2321
+
2322
+ "button": function( elem ) {
2323
+ var name = elem.nodeName.toLowerCase();
2324
+ return name === "input" && elem.type === "button" || name === "button";
2325
+ },
2326
+
2327
+ "text": function( elem ) {
2328
+ var attr;
2329
+ // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc)
2330
+ // use getAttribute instead to test this case
2331
+ return elem.nodeName.toLowerCase() === "input" &&
2332
+ elem.type === "text" &&
2333
+ ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === elem.type );
2334
+ },
2335
+
2336
+ // Position-in-collection
2337
+ "first": createPositionalPseudo(function() {
2338
+ return [ 0 ];
2339
+ }),
2340
+
2341
+ "last": createPositionalPseudo(function( matchIndexes, length ) {
2342
+ return [ length - 1 ];
2343
+ }),
2344
+
2345
+ "eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
2346
+ return [ argument < 0 ? argument + length : argument ];
2347
+ }),
2348
+
2349
+ "even": createPositionalPseudo(function( matchIndexes, length ) {
2350
+ var i = 0;
2351
+ for ( ; i < length; i += 2 ) {
2352
+ matchIndexes.push( i );
2353
+ }
2354
+ return matchIndexes;
2355
+ }),
2356
+
2357
+ "odd": createPositionalPseudo(function( matchIndexes, length ) {
2358
+ var i = 1;
2359
+ for ( ; i < length; i += 2 ) {
2360
+ matchIndexes.push( i );
2361
+ }
2362
+ return matchIndexes;
2363
+ }),
2364
+
2365
+ "lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
2366
+ var i = argument < 0 ? argument + length : argument;
2367
+ for ( ; --i >= 0; ) {
2368
+ matchIndexes.push( i );
2369
+ }
2370
+ return matchIndexes;
2371
+ }),
2372
+
2373
+ "gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
2374
+ var i = argument < 0 ? argument + length : argument;
2375
+ for ( ; ++i < length; ) {
2376
+ matchIndexes.push( i );
2377
+ }
2378
+ return matchIndexes;
2379
+ })
2380
+ }
2381
+ };
2382
+
2383
+ Expr.pseudos["nth"] = Expr.pseudos["eq"];
2384
+
2385
+ // Add button/input type pseudos
2386
+ for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
2387
+ Expr.pseudos[ i ] = createInputPseudo( i );
2388
+ }
2389
+ for ( i in { submit: true, reset: true } ) {
2390
+ Expr.pseudos[ i ] = createButtonPseudo( i );
2391
+ }
2392
+
2393
+ // Easy API for creating new setFilters
2394
+ function setFilters() {}
2395
+ setFilters.prototype = Expr.filters = Expr.pseudos;
2396
+ Expr.setFilters = new setFilters();
2397
+
2398
+ function tokenize( selector, parseOnly ) {
2399
+ var matched, match, tokens, type,
2400
+ soFar, groups, preFilters,
2401
+ cached = tokenCache[ selector + " " ];
2402
+
2403
+ if ( cached ) {
2404
+ return parseOnly ? 0 : cached.slice( 0 );
2405
+ }
2406
+
2407
+ soFar = selector;
2408
+ groups = [];
2409
+ preFilters = Expr.preFilter;
2410
+
2411
+ while ( soFar ) {
2412
+
2413
+ // Comma and first run
2414
+ if ( !matched || (match = rcomma.exec( soFar )) ) {
2415
+ if ( match ) {
2416
+ // Don't consume trailing commas as valid
2417
+ soFar = soFar.slice( match[0].length ) || soFar;
2418
+ }
2419
+ groups.push( tokens = [] );
2420
+ }
2421
+
2422
+ matched = false;
2423
+
2424
+ // Combinators
2425
+ if ( (match = rcombinators.exec( soFar )) ) {
2426
+ matched = match.shift();
2427
+ tokens.push({
2428
+ value: matched,
2429
+ // Cast descendant combinators to space
2430
+ type: match[0].replace( rtrim, " " )
2431
+ });
2432
+ soFar = soFar.slice( matched.length );
2433
+ }
2434
+
2435
+ // Filters
2436
+ for ( type in Expr.filter ) {
2437
+ if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
2438
+ (match = preFilters[ type ]( match ))) ) {
2439
+ matched = match.shift();
2440
+ tokens.push({
2441
+ value: matched,
2442
+ type: type,
2443
+ matches: match
2444
+ });
2445
+ soFar = soFar.slice( matched.length );
2446
+ }
2447
+ }
2448
+
2449
+ if ( !matched ) {
2450
+ break;
2451
+ }
2452
+ }
2453
+
2454
+ // Return the length of the invalid excess
2455
+ // if we're just parsing
2456
+ // Otherwise, throw an error or return tokens
2457
+ return parseOnly ?
2458
+ soFar.length :
2459
+ soFar ?
2460
+ Sizzle.error( selector ) :
2461
+ // Cache the tokens
2462
+ tokenCache( selector, groups ).slice( 0 );
2463
+ }
2464
+
2465
+ function toSelector( tokens ) {
2466
+ var i = 0,
2467
+ len = tokens.length,
2468
+ selector = "";
2469
+ for ( ; i < len; i++ ) {
2470
+ selector += tokens[i].value;
2471
+ }
2472
+ return selector;
2473
+ }
2474
+
2475
+ function addCombinator( matcher, combinator, base ) {
2476
+ var dir = combinator.dir,
2477
+ checkNonElements = base && dir === "parentNode",
2478
+ doneName = done++;
2479
+
2480
+ return combinator.first ?
2481
+ // Check against closest ancestor/preceding element
2482
+ function( elem, context, xml ) {
2483
+ while ( (elem = elem[ dir ]) ) {
2484
+ if ( elem.nodeType === 1 || checkNonElements ) {
2485
+ return matcher( elem, context, xml );
2486
+ }
2487
+ }
2488
+ } :
2489
+
2490
+ // Check against all ancestor/preceding elements
2491
+ function( elem, context, xml ) {
2492
+ var data, cache, outerCache,
2493
+ dirkey = dirruns + " " + doneName;
2494
+
2495
+ // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching
2496
+ if ( xml ) {
2497
+ while ( (elem = elem[ dir ]) ) {
2498
+ if ( elem.nodeType === 1 || checkNonElements ) {
2499
+ if ( matcher( elem, context, xml ) ) {
2500
+ return true;
2501
+ }
2502
+ }
2503
+ }
2504
+ } else {
2505
+ while ( (elem = elem[ dir ]) ) {
2506
+ if ( elem.nodeType === 1 || checkNonElements ) {
2507
+ outerCache = elem[ expando ] || (elem[ expando ] = {});
2508
+ if ( (cache = outerCache[ dir ]) && cache[0] === dirkey ) {
2509
+ if ( (data = cache[1]) === true || data === cachedruns ) {
2510
+ return data === true;
2511
+ }
2512
+ } else {
2513
+ cache = outerCache[ dir ] = [ dirkey ];
2514
+ cache[1] = matcher( elem, context, xml ) || cachedruns;
2515
+ if ( cache[1] === true ) {
2516
+ return true;
2517
+ }
2518
+ }
2519
+ }
2520
+ }
2521
+ }
2522
+ };
2523
+ }
2524
+
2525
+ function elementMatcher( matchers ) {
2526
+ return matchers.length > 1 ?
2527
+ function( elem, context, xml ) {
2528
+ var i = matchers.length;
2529
+ while ( i-- ) {
2530
+ if ( !matchers[i]( elem, context, xml ) ) {
2531
+ return false;
2532
+ }
2533
+ }
2534
+ return true;
2535
+ } :
2536
+ matchers[0];
2537
+ }
2538
+
2539
+ function condense( unmatched, map, filter, context, xml ) {
2540
+ var elem,
2541
+ newUnmatched = [],
2542
+ i = 0,
2543
+ len = unmatched.length,
2544
+ mapped = map != null;
2545
+
2546
+ for ( ; i < len; i++ ) {
2547
+ if ( (elem = unmatched[i]) ) {
2548
+ if ( !filter || filter( elem, context, xml ) ) {
2549
+ newUnmatched.push( elem );
2550
+ if ( mapped ) {
2551
+ map.push( i );
2552
+ }
2553
+ }
2554
+ }
2555
+ }
2556
+
2557
+ return newUnmatched;
2558
+ }
2559
+
2560
+ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
2561
+ if ( postFilter && !postFilter[ expando ] ) {
2562
+ postFilter = setMatcher( postFilter );
2563
+ }
2564
+ if ( postFinder && !postFinder[ expando ] ) {
2565
+ postFinder = setMatcher( postFinder, postSelector );
2566
+ }
2567
+ return markFunction(function( seed, results, context, xml ) {
2568
+ var temp, i, elem,
2569
+ preMap = [],
2570
+ postMap = [],
2571
+ preexisting = results.length,
2572
+
2573
+ // Get initial elements from seed or context
2574
+ elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
2575
+
2576
+ // Prefilter to get matcher input, preserving a map for seed-results synchronization
2577
+ matcherIn = preFilter && ( seed || !selector ) ?
2578
+ condense( elems, preMap, preFilter, context, xml ) :
2579
+ elems,
2580
+
2581
+ matcherOut = matcher ?
2582
+ // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
2583
+ postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
2584
+
2585
+ // ...intermediate processing is necessary
2586
+ [] :
2587
+
2588
+ // ...otherwise use results directly
2589
+ results :
2590
+ matcherIn;
2591
+
2592
+ // Find primary matches
2593
+ if ( matcher ) {
2594
+ matcher( matcherIn, matcherOut, context, xml );
2595
+ }
2596
+
2597
+ // Apply postFilter
2598
+ if ( postFilter ) {
2599
+ temp = condense( matcherOut, postMap );
2600
+ postFilter( temp, [], context, xml );
2601
+
2602
+ // Un-match failing elements by moving them back to matcherIn
2603
+ i = temp.length;
2604
+ while ( i-- ) {
2605
+ if ( (elem = temp[i]) ) {
2606
+ matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
2607
+ }
2608
+ }
2609
+ }
2610
+
2611
+ if ( seed ) {
2612
+ if ( postFinder || preFilter ) {
2613
+ if ( postFinder ) {
2614
+ // Get the final matcherOut by condensing this intermediate into postFinder contexts
2615
+ temp = [];
2616
+ i = matcherOut.length;
2617
+ while ( i-- ) {
2618
+ if ( (elem = matcherOut[i]) ) {
2619
+ // Restore matcherIn since elem is not yet a final match
2620
+ temp.push( (matcherIn[i] = elem) );
2621
+ }
2622
+ }
2623
+ postFinder( null, (matcherOut = []), temp, xml );
2624
+ }
2625
+
2626
+ // Move matched elements from seed to results to keep them synchronized
2627
+ i = matcherOut.length;
2628
+ while ( i-- ) {
2629
+ if ( (elem = matcherOut[i]) &&
2630
+ (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) {
2631
+
2632
+ seed[temp] = !(results[temp] = elem);
2633
+ }
2634
+ }
2635
+ }
2636
+
2637
+ // Add elements to results, through postFinder if defined
2638
+ } else {
2639
+ matcherOut = condense(
2640
+ matcherOut === results ?
2641
+ matcherOut.splice( preexisting, matcherOut.length ) :
2642
+ matcherOut
2643
+ );
2644
+ if ( postFinder ) {
2645
+ postFinder( null, results, matcherOut, xml );
2646
+ } else {
2647
+ push.apply( results, matcherOut );
2648
+ }
2649
+ }
2650
+ });
2651
+ }
2652
+
2653
+ function matcherFromTokens( tokens ) {
2654
+ var checkContext, matcher, j,
2655
+ len = tokens.length,
2656
+ leadingRelative = Expr.relative[ tokens[0].type ],
2657
+ implicitRelative = leadingRelative || Expr.relative[" "],
2658
+ i = leadingRelative ? 1 : 0,
2659
+
2660
+ // The foundational matcher ensures that elements are reachable from top-level context(s)
2661
+ matchContext = addCombinator( function( elem ) {
2662
+ return elem === checkContext;
2663
+ }, implicitRelative, true ),
2664
+ matchAnyContext = addCombinator( function( elem ) {
2665
+ return indexOf.call( checkContext, elem ) > -1;
2666
+ }, implicitRelative, true ),
2667
+ matchers = [ function( elem, context, xml ) {
2668
+ return ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
2669
+ (checkContext = context).nodeType ?
2670
+ matchContext( elem, context, xml ) :
2671
+ matchAnyContext( elem, context, xml ) );
2672
+ } ];
2673
+
2674
+ for ( ; i < len; i++ ) {
2675
+ if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
2676
+ matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
2677
+ } else {
2678
+ matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
2679
+
2680
+ // Return special upon seeing a positional matcher
2681
+ if ( matcher[ expando ] ) {
2682
+ // Find the next relative operator (if any) for proper handling
2683
+ j = ++i;
2684
+ for ( ; j < len; j++ ) {
2685
+ if ( Expr.relative[ tokens[j].type ] ) {
2686
+ break;
2687
+ }
2688
+ }
2689
+ return setMatcher(
2690
+ i > 1 && elementMatcher( matchers ),
2691
+ i > 1 && toSelector(
2692
+ // If the preceding token was a descendant combinator, insert an implicit any-element `*`
2693
+ tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
2694
+ ).replace( rtrim, "$1" ),
2695
+ matcher,
2696
+ i < j && matcherFromTokens( tokens.slice( i, j ) ),
2697
+ j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
2698
+ j < len && toSelector( tokens )
2699
+ );
2700
+ }
2701
+ matchers.push( matcher );
2702
+ }
2703
+ }
2704
+
2705
+ return elementMatcher( matchers );
2706
+ }
2707
+
2708
+ function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
2709
+ // A counter to specify which element is currently being matched
2710
+ var matcherCachedRuns = 0,
2711
+ bySet = setMatchers.length > 0,
2712
+ byElement = elementMatchers.length > 0,
2713
+ superMatcher = function( seed, context, xml, results, expandContext ) {
2714
+ var elem, j, matcher,
2715
+ setMatched = [],
2716
+ matchedCount = 0,
2717
+ i = "0",
2718
+ unmatched = seed && [],
2719
+ outermost = expandContext != null,
2720
+ contextBackup = outermostContext,
2721
+ // We must always have either seed elements or context
2722
+ elems = seed || byElement && Expr.find["TAG"]( "*", expandContext && context.parentNode || context ),
2723
+ // Use integer dirruns iff this is the outermost matcher
2724
+ dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1);
2725
+
2726
+ if ( outermost ) {
2727
+ outermostContext = context !== document && context;
2728
+ cachedruns = matcherCachedRuns;
2729
+ }
2730
+
2731
+ // Add elements passing elementMatchers directly to results
2732
+ // Keep `i` a string if there are no elements so `matchedCount` will be "00" below
2733
+ for ( ; (elem = elems[i]) != null; i++ ) {
2734
+ if ( byElement && elem ) {
2735
+ j = 0;
2736
+ while ( (matcher = elementMatchers[j++]) ) {
2737
+ if ( matcher( elem, context, xml ) ) {
2738
+ results.push( elem );
2739
+ break;
2740
+ }
2741
+ }
2742
+ if ( outermost ) {
2743
+ dirruns = dirrunsUnique;
2744
+ cachedruns = ++matcherCachedRuns;
2745
+ }
2746
+ }
2747
+
2748
+ // Track unmatched elements for set filters
2749
+ if ( bySet ) {
2750
+ // They will have gone through all possible matchers
2751
+ if ( (elem = !matcher && elem) ) {
2752
+ matchedCount--;
2753
+ }
2754
+
2755
+ // Lengthen the array for every element, matched or not
2756
+ if ( seed ) {
2757
+ unmatched.push( elem );
2758
+ }
2759
+ }
2760
+ }
2761
+
2762
+ // Apply set filters to unmatched elements
2763
+ matchedCount += i;
2764
+ if ( bySet && i !== matchedCount ) {
2765
+ j = 0;
2766
+ while ( (matcher = setMatchers[j++]) ) {
2767
+ matcher( unmatched, setMatched, context, xml );
2768
+ }
2769
+
2770
+ if ( seed ) {
2771
+ // Reintegrate element matches to eliminate the need for sorting
2772
+ if ( matchedCount > 0 ) {
2773
+ while ( i-- ) {
2774
+ if ( !(unmatched[i] || setMatched[i]) ) {
2775
+ setMatched[i] = pop.call( results );
2776
+ }
2777
+ }
2778
+ }
2779
+
2780
+ // Discard index placeholder values to get only actual matches
2781
+ setMatched = condense( setMatched );
2782
+ }
2783
+
2784
+ // Add matches to results
2785
+ push.apply( results, setMatched );
2786
+
2787
+ // Seedless set matches succeeding multiple successful matchers stipulate sorting
2788
+ if ( outermost && !seed && setMatched.length > 0 &&
2789
+ ( matchedCount + setMatchers.length ) > 1 ) {
2790
+
2791
+ Sizzle.uniqueSort( results );
2792
+ }
2793
+ }
2794
+
2795
+ // Override manipulation of globals by nested matchers
2796
+ if ( outermost ) {
2797
+ dirruns = dirrunsUnique;
2798
+ outermostContext = contextBackup;
2799
+ }
2800
+
2801
+ return unmatched;
2802
+ };
2803
+
2804
+ return bySet ?
2805
+ markFunction( superMatcher ) :
2806
+ superMatcher;
2807
+ }
2808
+
2809
+ compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) {
2810
+ var i,
2811
+ setMatchers = [],
2812
+ elementMatchers = [],
2813
+ cached = compilerCache[ selector + " " ];
2814
+
2815
+ if ( !cached ) {
2816
+ // Generate a function of recursive functions that can be used to check each element
2817
+ if ( !group ) {
2818
+ group = tokenize( selector );
2819
+ }
2820
+ i = group.length;
2821
+ while ( i-- ) {
2822
+ cached = matcherFromTokens( group[i] );
2823
+ if ( cached[ expando ] ) {
2824
+ setMatchers.push( cached );
2825
+ } else {
2826
+ elementMatchers.push( cached );
2827
+ }
2828
+ }
2829
+
2830
+ // Cache the compiled function
2831
+ cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
2832
+ }
2833
+ return cached;
2834
+ };
2835
+
2836
+ function multipleContexts( selector, contexts, results ) {
2837
+ var i = 0,
2838
+ len = contexts.length;
2839
+ for ( ; i < len; i++ ) {
2840
+ Sizzle( selector, contexts[i], results );
2841
+ }
2842
+ return results;
2843
+ }
2844
+
2845
+ function select( selector, context, results, seed ) {
2846
+ var i, tokens, token, type, find,
2847
+ match = tokenize( selector );
2848
+
2849
+ if ( !seed ) {
2850
+ // Try to minimize operations if there is only one group
2851
+ if ( match.length === 1 ) {
2852
+
2853
+ // Take a shortcut and set the context if the root selector is an ID
2854
+ tokens = match[0] = match[0].slice( 0 );
2855
+ if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
2856
+ support.getById && context.nodeType === 9 && documentIsHTML &&
2857
+ Expr.relative[ tokens[1].type ] ) {
2858
+
2859
+ context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
2860
+ if ( !context ) {
2861
+ return results;
2862
+ }
2863
+ selector = selector.slice( tokens.shift().value.length );
2864
+ }
2865
+
2866
+ // Fetch a seed set for right-to-left matching
2867
+ i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
2868
+ while ( i-- ) {
2869
+ token = tokens[i];
2870
+
2871
+ // Abort if we hit a combinator
2872
+ if ( Expr.relative[ (type = token.type) ] ) {
2873
+ break;
2874
+ }
2875
+ if ( (find = Expr.find[ type ]) ) {
2876
+ // Search, expanding context for leading sibling combinators
2877
+ if ( (seed = find(
2878
+ token.matches[0].replace( runescape, funescape ),
2879
+ rsibling.test( tokens[0].type ) && context.parentNode || context
2880
+ )) ) {
2881
+
2882
+ // If seed is empty or no tokens remain, we can return early
2883
+ tokens.splice( i, 1 );
2884
+ selector = seed.length && toSelector( tokens );
2885
+ if ( !selector ) {
2886
+ push.apply( results, seed );
2887
+ return results;
2888
+ }
2889
+
2890
+ break;
2891
+ }
2892
+ }
2893
+ }
2894
+ }
2895
+ }
2896
+
2897
+ // Compile and execute a filtering function
2898
+ // Provide `match` to avoid retokenization if we modified the selector above
2899
+ compile( selector, match )(
2900
+ seed,
2901
+ context,
2902
+ !documentIsHTML,
2903
+ results,
2904
+ rsibling.test( selector )
2905
+ );
2906
+ return results;
2907
+ }
2908
+
2909
+ // One-time assignments
2910
+
2911
+ // Sort stability
2912
+ support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
2913
+
2914
+ // Support: Chrome<14
2915
+ // Always assume duplicates if they aren't passed to the comparison function
2916
+ support.detectDuplicates = hasDuplicate;
2917
+
2918
+ // Initialize against the default document
2919
+ setDocument();
2920
+
2921
+ // Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
2922
+ // Detached nodes confoundingly follow *each other*
2923
+ support.sortDetached = assert(function( div1 ) {
2924
+ // Should return 1, but returns 4 (following)
2925
+ return div1.compareDocumentPosition( document.createElement("div") ) & 1;
2926
+ });
2927
+
2928
+ // Support: IE<8
2929
+ // Prevent attribute/property "interpolation"
2930
+ // http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
2931
+ if ( !assert(function( div ) {
2932
+ div.innerHTML = "<a href='#'></a>";
2933
+ return div.firstChild.getAttribute("href") === "#" ;
2934
+ }) ) {
2935
+ addHandle( "type|href|height|width", function( elem, name, isXML ) {
2936
+ if ( !isXML ) {
2937
+ return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
2938
+ }
2939
+ });
2940
+ }
2941
+
2942
+ // Support: IE<9
2943
+ // Use defaultValue in place of getAttribute("value")
2944
+ if ( !support.attributes || !assert(function( div ) {
2945
+ div.innerHTML = "<input/>";
2946
+ div.firstChild.setAttribute( "value", "" );
2947
+ return div.firstChild.getAttribute( "value" ) === "";
2948
+ }) ) {
2949
+ addHandle( "value", function( elem, name, isXML ) {
2950
+ if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
2951
+ return elem.defaultValue;
2952
+ }
2953
+ });
2954
+ }
2955
+
2956
+ // Support: IE<9
2957
+ // Use getAttributeNode to fetch booleans when getAttribute lies
2958
+ if ( !assert(function( div ) {
2959
+ return div.getAttribute("disabled") == null;
2960
+ }) ) {
2961
+ addHandle( booleans, function( elem, name, isXML ) {
2962
+ var val;
2963
+ if ( !isXML ) {
2964
+ return (val = elem.getAttributeNode( name )) && val.specified ?
2965
+ val.value :
2966
+ elem[ name ] === true ? name.toLowerCase() : null;
2967
+ }
2968
+ });
2969
+ }
2970
+
2971
+ jQuery.find = Sizzle;
2972
+ jQuery.expr = Sizzle.selectors;
2973
+ jQuery.expr[":"] = jQuery.expr.pseudos;
2974
+ jQuery.unique = Sizzle.uniqueSort;
2975
+ jQuery.text = Sizzle.getText;
2976
+ jQuery.isXMLDoc = Sizzle.isXML;
2977
+ jQuery.contains = Sizzle.contains;
2978
+
2979
+
2980
+ })( window );
2981
+ // String to Object options format cache
2982
+ var optionsCache = {};
2983
+
2984
+ // Convert String-formatted options into Object-formatted ones and store in cache
2985
+ function createOptions( options ) {
2986
+ var object = optionsCache[ options ] = {};
2987
+ jQuery.each( options.match( core_rnotwhite ) || [], function( _, flag ) {
2988
+ object[ flag ] = true;
2989
+ });
2990
+ return object;
2991
+ }
2992
+
2993
+ /*
2994
+ * Create a callback list using the following parameters:
2995
+ *
2996
+ * options: an optional list of space-separated options that will change how
2997
+ * the callback list behaves or a more traditional option object
2998
+ *
2999
+ * By default a callback list will act like an event callback list and can be
3000
+ * "fired" multiple times.
3001
+ *
3002
+ * Possible options:
3003
+ *
3004
+ * once: will ensure the callback list can only be fired once (like a Deferred)
3005
+ *
3006
+ * memory: will keep track of previous values and will call any callback added
3007
+ * after the list has been fired