From 6dacbe7d0b46212d8951d00832c8fdb1b15569e5 Mon Sep 17 00:00:00 2001 From: Andreas Brachold Date: Thu, 1 Jan 2009 15:21:01 +0000 Subject: * Add new, pure javascript skin JaSON (with framework extjs 2.2) --- skins/jason/autotimers.js | 341 ++++++++ skins/jason/channels.js | 69 ++ skins/jason/channelspanel.js | 365 ++++++++ skins/jason/chronicle.js | 268 ++++++ skins/jason/common.js | 546 ++++++++++++ skins/jason/extjs/adapter/ext/ext-base.js | 10 + skins/jason/extjs/ext-all.js | 162 ++++ skins/jason/extjs/ext-core.js | 19 + skins/jason/extjs/locale/ext-lang-af.js | 178 ++++ skins/jason/extjs/locale/ext-lang-bg.js | 272 ++++++ skins/jason/extjs/locale/ext-lang-ca.js | 286 +++++++ skins/jason/extjs/locale/ext-lang-cs.js | 287 +++++++ skins/jason/extjs/locale/ext-lang-da.js | 290 +++++++ skins/jason/extjs/locale/ext-lang-de.js | 301 +++++++ skins/jason/extjs/locale/ext-lang-el_GR.js | 311 +++++++ skins/jason/extjs/locale/ext-lang-en.js | 292 +++++++ skins/jason/extjs/locale/ext-lang-en_UK.js | 173 ++++ skins/jason/extjs/locale/ext-lang-es.js | 299 +++++++ skins/jason/extjs/locale/ext-lang-fa.js | 266 ++++++ skins/jason/extjs/locale/ext-lang-fr.js | 297 +++++++ skins/jason/extjs/locale/ext-lang-fr_CA.js | 170 ++++ skins/jason/extjs/locale/ext-lang-gr.js | 169 ++++ skins/jason/extjs/locale/ext-lang-he.js | 286 +++++++ skins/jason/extjs/locale/ext-lang-hr.js | 171 ++++ skins/jason/extjs/locale/ext-lang-hu.js | 297 +++++++ skins/jason/extjs/locale/ext-lang-id.js | 296 +++++++ skins/jason/extjs/locale/ext-lang-it.js | 289 +++++++ skins/jason/extjs/locale/ext-lang-ja.js | 156 ++++ skins/jason/extjs/locale/ext-lang-ko.js | 261 ++++++ skins/jason/extjs/locale/ext-lang-lt.js | 299 +++++++ skins/jason/extjs/locale/ext-lang-lv.js | 170 ++++ skins/jason/extjs/locale/ext-lang-mk.js | 170 ++++ skins/jason/extjs/locale/ext-lang-nl.js | 310 +++++++ skins/jason/extjs/locale/ext-lang-no_NB.js | 288 +++++++ skins/jason/extjs/locale/ext-lang-no_NN.js | 288 +++++++ skins/jason/extjs/locale/ext-lang-pl.js | 298 +++++++ skins/jason/extjs/locale/ext-lang-pt.js | 254 ++++++ skins/jason/extjs/locale/ext-lang-pt_BR.js | 304 +++++++ skins/jason/extjs/locale/ext-lang-ro.js | 287 +++++++ skins/jason/extjs/locale/ext-lang-ru.js | 294 +++++++ skins/jason/extjs/locale/ext-lang-sk.js | 176 ++++ skins/jason/extjs/locale/ext-lang-sl.js | 170 ++++ skins/jason/extjs/locale/ext-lang-sr.js | 173 ++++ skins/jason/extjs/locale/ext-lang-sr_RS.js | 172 ++++ skins/jason/extjs/locale/ext-lang-sv_SE.js | 172 ++++ skins/jason/extjs/locale/ext-lang-th.js | 288 +++++++ skins/jason/extjs/locale/ext-lang-tr.js | 299 +++++++ skins/jason/extjs/locale/ext-lang-ukr.js | 252 ++++++ skins/jason/extjs/locale/ext-lang-vn.js | 175 ++++ skins/jason/extjs/locale/ext-lang-zh_CN.js | 168 ++++ skins/jason/extjs/locale/ext-lang-zh_TW.js | 172 ++++ skins/jason/extjs/resources/css/README.txt | 3 + skins/jason/extjs/resources/css/borders.css | 61 ++ skins/jason/extjs/resources/css/box.css | 111 +++ skins/jason/extjs/resources/css/button.css | 161 ++++ skins/jason/extjs/resources/css/combo.css | 55 ++ skins/jason/extjs/resources/css/core.css | 314 +++++++ skins/jason/extjs/resources/css/date-picker.css | 247 ++++++ skins/jason/extjs/resources/css/dd.css | 75 ++ skins/jason/extjs/resources/css/debug.css | 37 + skins/jason/extjs/resources/css/dialog.css | 69 ++ skins/jason/extjs/resources/css/editor.css | 66 ++ skins/jason/extjs/resources/css/ext-all.css | 925 ++++++++++++++++++++ skins/jason/extjs/resources/css/form.css | 552 ++++++++++++ skins/jason/extjs/resources/css/grid.css | 554 ++++++++++++ skins/jason/extjs/resources/css/layout.css | 273 ++++++ skins/jason/extjs/resources/css/menu.css | 142 ++++ skins/jason/extjs/resources/css/panel.css | 424 ++++++++++ skins/jason/extjs/resources/css/progress.css | 43 + skins/jason/extjs/resources/css/qtips.css | 134 +++ skins/jason/extjs/resources/css/reset-min.css | 9 + skins/jason/extjs/resources/css/reset.css | 9 + skins/jason/extjs/resources/css/resizable.css | 143 ++++ skins/jason/extjs/resources/css/slider.css | 90 ++ skins/jason/extjs/resources/css/tabs.css | 358 ++++++++ skins/jason/extjs/resources/css/toolbar.css | 183 ++++ skins/jason/extjs/resources/css/tree.css | 254 ++++++ skins/jason/extjs/resources/css/window.css | 208 +++++ skins/jason/extjs/resources/css/xtheme-black.css | 678 +++++++++++++++ .../jason/extjs/resources/css/xtheme-darkgray.css | 606 +++++++++++++ skins/jason/extjs/resources/css/xtheme-default.css | 3 + skins/jason/extjs/resources/css/xtheme-gray.css | 415 +++++++++ skins/jason/extjs/resources/css/xtheme-olive.css | 624 ++++++++++++++ skins/jason/extjs/resources/css/xtheme-purple.css | 606 +++++++++++++ .../resources/images/black/button/btn-arrow.gif | Bin 0 -> 179 bytes .../resources/images/black/button/btn-sprite.gif | Bin 0 -> 622 bytes .../resources/images/black/editor/tb-sprite.gif | Bin 0 -> 1787 bytes .../resources/images/black/form/clear-trigger.gif | Bin 0 -> 1235 bytes .../resources/images/black/form/date-trigger.gif | Bin 0 -> 959 bytes .../images/black/form/error-tip-corners.gif | Bin 0 -> 4853 bytes .../resources/images/black/form/exclamation.gif | Bin 0 -> 588 bytes .../resources/images/black/form/search-trigger.gif | Bin 0 -> 1371 bytes .../extjs/resources/images/black/form/text-bg.gif | Bin 0 -> 819 bytes .../resources/images/black/form/trigger-tpl.gif | Bin 0 -> 808 bytes .../extjs/resources/images/black/form/trigger.gif | Bin 0 -> 1145 bytes .../resources/images/black/grid/grid-hrow.gif | Bin 0 -> 168 bytes .../resources/images/black/grid/grid-split.gif | Bin 0 -> 47 bytes .../resources/images/black/grid/grid3-hd-btn.gif | Bin 0 -> 474 bytes .../images/black/grid/grid3-hrow-over.gif | Bin 0 -> 56 bytes .../resources/images/black/grid/grid3-hrow.gif | Bin 0 -> 103 bytes .../images/black/grid/grid3-special-col-bg.gif | Bin 0 -> 104 bytes .../images/black/grid/grid3-special-col-sel-bg.gif | Bin 0 -> 108 bytes .../extjs/resources/images/black/grid/hd-pop.gif | Bin 0 -> 839 bytes .../resources/images/black/grid/hmenu-asc.gif | Bin 0 -> 398 bytes .../resources/images/black/grid/hmenu-desc.gif | Bin 0 -> 393 bytes .../extjs/resources/images/black/grid/row-over.gif | Bin 0 -> 823 bytes .../extjs/resources/images/black/grid/sort_asc.gif | Bin 0 -> 160 bytes .../resources/images/black/grid/sort_desc.gif | Bin 0 -> 160 bytes .../resources/images/black/menu/item-over.gif | Bin 0 -> 49 bytes .../extjs/resources/images/black/menu/menu.gif | Bin 0 -> 62 bytes .../images/black/panel/corners-sprite.gif | Bin 0 -> 783 bytes .../resources/images/black/panel/left-right.gif | Bin 0 -> 52 bytes .../resources/images/black/panel/light-hd.gif | Bin 0 -> 97 bytes .../resources/images/black/panel/tool-sprites.gif | Bin 0 -> 3454 bytes .../resources/images/black/panel/top-bottom.gif | Bin 0 -> 183 bytes .../images/black/panel/white-top-bottom.gif | Bin 0 -> 181 bytes .../jason/extjs/resources/images/black/qtip/bg.gif | Bin 0 -> 304 bytes .../extjs/resources/images/black/qtip/close.gif | Bin 0 -> 369 bytes .../resources/images/black/qtip/tip-sprite.gif | Bin 0 -> 3373 bytes skins/jason/extjs/resources/images/black/s.gif | Bin 0 -> 43 bytes .../resources/images/black/shared/glass-bg.gif | Bin 0 -> 170 bytes .../resources/images/black/shared/hd-sprite.gif | Bin 0 -> 346 bytes .../resources/images/black/shared/left-btn.gif | Bin 0 -> 106 bytes .../resources/images/black/shared/right-btn.gif | Bin 0 -> 107 bytes .../resources/images/black/tabs/left-corners.gif | Bin 0 -> 307 bytes .../resources/images/black/tabs/left-right.gif | Bin 0 -> 52 bytes .../resources/images/black/tabs/right-corners.gif | Bin 0 -> 308 bytes .../resources/images/black/tabs/scroll-left.gif | Bin 0 -> 517 bytes .../resources/images/black/tabs/scroll-right.gif | Bin 0 -> 519 bytes .../resources/images/black/tabs/scroller-bg.gif | Bin 0 -> 361 bytes .../images/black/tabs/tab-btm-inactive-left-bg.gif | Bin 0 -> 190 bytes .../black/tabs/tab-btm-inactive-right-bg.gif | Bin 0 -> 637 bytes .../images/black/tabs/tab-btm-left-bg.gif | Bin 0 -> 122 bytes .../images/black/tabs/tab-btm-right-bg.gif | Bin 0 -> 600 bytes .../resources/images/black/tabs/tab-close.gif | Bin 0 -> 199 bytes .../resources/images/black/tabs/tab-strip-bg.gif | Bin 0 -> 102 bytes .../resources/images/black/tabs/tab-strip-bg.png | Bin 0 -> 259 bytes .../images/black/tabs/tab-strip-btm-bg.gif | Bin 0 -> 96 bytes .../resources/images/black/tabs/tabs-sprite.gif | Bin 0 -> 1304 bytes .../extjs/resources/images/black/toolbar/bg.gif | Bin 0 -> 125 bytes .../images/black/toolbar/btn-arrow-light.gif | Bin 0 -> 163 bytes .../resources/images/black/toolbar/btn-arrow.gif | Bin 0 -> 218 bytes .../resources/images/black/toolbar/btn-over-bg.gif | Bin 0 -> 104 bytes .../extjs/resources/images/black/toolbar/tb-bg.gif | Bin 0 -> 82 bytes .../images/black/toolbar/tb-btn-sprite.gif | Bin 0 -> 482 bytes .../resources/images/black/window/left-corners.png | Bin 0 -> 223 bytes .../resources/images/black/window/left-right.png | Bin 0 -> 137 bytes .../images/black/window/right-corners.png | Bin 0 -> 230 bytes .../resources/images/black/window/top-bottom.png | Bin 0 -> 178 bytes .../resources/images/darkgray/button/btn-arrow.gif | Bin 0 -> 179 bytes .../images/darkgray/button/btn-sprite.gif | Bin 0 -> 581 bytes .../images/darkgray/form/clear-trigger.gif | Bin 0 -> 1220 bytes .../images/darkgray/form/date-trigger.gif | Bin 0 -> 1139 bytes .../images/darkgray/form/search-trigger.gif | Bin 0 -> 1350 bytes .../resources/images/darkgray/form/text-bg.gif | Bin 0 -> 92 bytes .../resources/images/darkgray/form/trigger-tpl.gif | Bin 0 -> 1256 bytes .../resources/images/darkgray/form/trigger.gif | Bin 0 -> 1124 bytes .../resources/images/darkgray/grid/grid-hrow.gif | Bin 0 -> 167 bytes .../resources/images/darkgray/grid/grid-split.gif | Bin 0 -> 55 bytes .../images/darkgray/grid/grid3-hd-btn.gif | Bin 0 -> 786 bytes .../images/darkgray/grid/grid3-hrow-over.gif | Bin 0 -> 73 bytes .../resources/images/darkgray/grid/grid3-hrow.gif | Bin 0 -> 103 bytes .../images/darkgray/grid/grid3-special-col-bg.gif | Bin 0 -> 837 bytes .../darkgray/grid/grid3-special-col-sel-bg.gif | Bin 0 -> 164 bytes .../resources/images/darkgray/grid/hd-pop.gif | Bin 0 -> 839 bytes .../resources/images/darkgray/grid/row-over.gif | Bin 0 -> 96 bytes .../resources/images/darkgray/menu/item-over.gif | Bin 0 -> 58 bytes .../extjs/resources/images/darkgray/menu/menu.gif | Bin 0 -> 97 bytes .../images/darkgray/panel/corners-sprite.gif | Bin 0 -> 1266 bytes .../resources/images/darkgray/panel/left-right.gif | Bin 0 -> 52 bytes .../resources/images/darkgray/panel/light-hd.gif | Bin 0 -> 104 bytes .../images/darkgray/panel/tool-sprites.gif | Bin 0 -> 4057 bytes .../resources/images/darkgray/panel/top-bottom.gif | Bin 0 -> 204 bytes .../images/darkgray/panel/white-top-bottom.gif | Bin 0 -> 867 bytes .../extjs/resources/images/darkgray/qtip/bg.gif | Bin 0 -> 537 bytes .../extjs/resources/images/darkgray/qtip/close.gif | Bin 0 -> 391 bytes .../resources/images/darkgray/qtip/tip-sprite.gif | Bin 0 -> 62814 bytes skins/jason/extjs/resources/images/darkgray/s.gif | Bin 0 -> 43 bytes .../resources/images/darkgray/shared/glass-bg.gif | Bin 0 -> 177 bytes .../resources/images/darkgray/shared/hd-sprite.gif | Bin 0 -> 342 bytes .../resources/images/darkgray/shared/left-btn.gif | Bin 0 -> 130 bytes .../resources/images/darkgray/shared/right-btn.gif | Bin 0 -> 132 bytes .../resources/images/darkgray/tabs/scroll-left.gif | Bin 0 -> 860 bytes .../images/darkgray/tabs/scroll-right.gif | Bin 0 -> 843 bytes .../resources/images/darkgray/tabs/scroller-bg.gif | Bin 0 -> 579 bytes .../darkgray/tabs/tab-btm-inactive-left-bg.gif | Bin 0 -> 203 bytes .../darkgray/tabs/tab-btm-inactive-right-bg.gif | Bin 0 -> 2802 bytes .../images/darkgray/tabs/tab-btm-left-bg.gif | Bin 0 -> 188 bytes .../images/darkgray/tabs/tab-btm-right-bg.gif | Bin 0 -> 2640 bytes .../resources/images/darkgray/tabs/tab-close.gif | Bin 0 -> 210 bytes .../images/darkgray/tabs/tab-strip-bg.gif | Bin 0 -> 152 bytes .../images/darkgray/tabs/tab-strip-bg.png | Bin 0 -> 259 bytes .../images/darkgray/tabs/tab-strip-btm-bg.gif | Bin 0 -> 99 bytes .../resources/images/darkgray/tabs/tabs-sprite.gif | Bin 0 -> 3026 bytes .../extjs/resources/images/darkgray/toolbar/bg.gif | Bin 0 -> 131 bytes .../images/darkgray/toolbar/btn-arrow-light.gif | Bin 0 -> 217 bytes .../images/darkgray/toolbar/btn-arrow.gif | Bin 0 -> 219 bytes .../images/darkgray/toolbar/btn-over-bg.gif | Bin 0 -> 169 bytes .../resources/images/darkgray/toolbar/gray-bg.gif | Bin 0 -> 102 bytes .../resources/images/darkgray/toolbar/tb-bg.gif | Bin 0 -> 119 bytes .../images/darkgray/toolbar/tb-btn-sprite.gif | Bin 0 -> 348 bytes .../images/darkgray/window/left-corners.png | Bin 0 -> 270 bytes .../images/darkgray/window/left-right.png | Bin 0 -> 144 bytes .../images/darkgray/window/right-corners.png | Bin 0 -> 281 bytes .../images/darkgray/window/top-bottom.png | Bin 0 -> 172 bytes .../resources/images/default/box/corners-blue.gif | Bin 0 -> 1010 bytes .../extjs/resources/images/default/box/corners.gif | Bin 0 -> 1005 bytes .../extjs/resources/images/default/box/l-blue.gif | Bin 0 -> 810 bytes .../jason/extjs/resources/images/default/box/l.gif | Bin 0 -> 810 bytes .../extjs/resources/images/default/box/r-blue.gif | Bin 0 -> 810 bytes .../jason/extjs/resources/images/default/box/r.gif | Bin 0 -> 810 bytes .../extjs/resources/images/default/box/tb-blue.gif | Bin 0 -> 851 bytes .../extjs/resources/images/default/box/tb.gif | Bin 0 -> 839 bytes .../resources/images/default/button/btn-arrow.gif | Bin 0 -> 870 bytes .../resources/images/default/button/btn-sprite.gif | Bin 0 -> 1341 bytes .../extjs/resources/images/default/dd/drop-add.gif | Bin 0 -> 1001 bytes .../extjs/resources/images/default/dd/drop-no.gif | Bin 0 -> 949 bytes .../extjs/resources/images/default/dd/drop-yes.gif | Bin 0 -> 1016 bytes .../resources/images/default/editor/tb-sprite.gif | Bin 0 -> 2072 bytes .../images/default/form/clear-trigger.gif | Bin 0 -> 1988 bytes .../resources/images/default/form/date-trigger.gif | Bin 0 -> 1603 bytes .../images/default/form/error-tip-corners.gif | Bin 0 -> 4183 bytes .../resources/images/default/form/exclamation.gif | Bin 0 -> 996 bytes .../images/default/form/search-trigger.gif | Bin 0 -> 2182 bytes .../resources/images/default/form/text-bg.gif | Bin 0 -> 819 bytes .../resources/images/default/form/trigger-tpl.gif | Bin 0 -> 1487 bytes .../resources/images/default/form/trigger.gif | Bin 0 -> 1816 bytes .../extjs/resources/images/default/gradient-bg.gif | Bin 0 -> 1472 bytes .../images/default/grid/arrow-left-white.gif | Bin 0 -> 825 bytes .../images/default/grid/arrow-right-white.gif | Bin 0 -> 825 bytes .../images/default/grid/col-move-bottom.gif | Bin 0 -> 868 bytes .../resources/images/default/grid/col-move-top.gif | Bin 0 -> 869 bytes .../resources/images/default/grid/columns.gif | Bin 0 -> 962 bytes .../extjs/resources/images/default/grid/dirty.gif | Bin 0 -> 832 bytes .../extjs/resources/images/default/grid/done.gif | Bin 0 -> 133 bytes .../resources/images/default/grid/drop-no.gif | Bin 0 -> 947 bytes .../resources/images/default/grid/drop-yes.gif | Bin 0 -> 860 bytes .../resources/images/default/grid/footer-bg.gif | Bin 0 -> 834 bytes .../resources/images/default/grid/grid-blue-hd.gif | Bin 0 -> 829 bytes .../images/default/grid/grid-blue-split.gif | Bin 0 -> 817 bytes .../resources/images/default/grid/grid-hrow.gif | Bin 0 -> 855 bytes .../resources/images/default/grid/grid-loading.gif | Bin 0 -> 701 bytes .../resources/images/default/grid/grid-split.gif | Bin 0 -> 817 bytes .../images/default/grid/grid-vista-hd.gif | Bin 0 -> 829 bytes .../resources/images/default/grid/grid3-hd-btn.gif | Bin 0 -> 1229 bytes .../images/default/grid/grid3-hrow-over.gif | Bin 0 -> 823 bytes .../resources/images/default/grid/grid3-hrow.gif | Bin 0 -> 836 bytes .../images/default/grid/grid3-special-col-bg.gif | Bin 0 -> 837 bytes .../default/grid/grid3-special-col-sel-bg.gif | Bin 0 -> 843 bytes .../resources/images/default/grid/group-by.gif | Bin 0 -> 917 bytes .../images/default/grid/group-expand-sprite.gif | Bin 0 -> 955 bytes .../extjs/resources/images/default/grid/hd-pop.gif | Bin 0 -> 839 bytes .../resources/images/default/grid/hmenu-asc.gif | Bin 0 -> 931 bytes .../resources/images/default/grid/hmenu-desc.gif | Bin 0 -> 930 bytes .../resources/images/default/grid/hmenu-lock.gif | Bin 0 -> 955 bytes .../resources/images/default/grid/hmenu-lock.png | Bin 0 -> 648 bytes .../resources/images/default/grid/hmenu-unlock.gif | Bin 0 -> 971 bytes .../resources/images/default/grid/hmenu-unlock.png | Bin 0 -> 697 bytes .../resources/images/default/grid/invalid_line.gif | Bin 0 -> 815 bytes .../resources/images/default/grid/loading.gif | Bin 0 -> 771 bytes .../extjs/resources/images/default/grid/mso-hd.gif | Bin 0 -> 875 bytes .../extjs/resources/images/default/grid/nowait.gif | Bin 0 -> 884 bytes .../images/default/grid/page-first-disabled.gif | Bin 0 -> 925 bytes .../resources/images/default/grid/page-first.gif | Bin 0 -> 925 bytes .../images/default/grid/page-last-disabled.gif | Bin 0 -> 923 bytes .../resources/images/default/grid/page-last.gif | Bin 0 -> 923 bytes .../images/default/grid/page-next-disabled.gif | Bin 0 -> 875 bytes .../resources/images/default/grid/page-next.gif | Bin 0 -> 875 bytes .../images/default/grid/page-prev-disabled.gif | Bin 0 -> 879 bytes .../resources/images/default/grid/page-prev.gif | Bin 0 -> 879 bytes .../resources/images/default/grid/pick-button.gif | Bin 0 -> 1036 bytes .../resources/images/default/grid/refresh.gif | Bin 0 -> 977 bytes .../images/default/grid/row-check-sprite.gif | Bin 0 -> 1083 bytes .../images/default/grid/row-expand-sprite.gif | Bin 0 -> 955 bytes .../resources/images/default/grid/row-over.gif | Bin 0 -> 823 bytes .../resources/images/default/grid/row-sel.gif | Bin 0 -> 823 bytes .../resources/images/default/grid/sort_asc.gif | Bin 0 -> 830 bytes .../resources/images/default/grid/sort_desc.gif | Bin 0 -> 833 bytes .../extjs/resources/images/default/grid/wait.gif | Bin 0 -> 1100 bytes .../resources/images/default/layout/collapse.gif | Bin 0 -> 842 bytes .../resources/images/default/layout/expand.gif | Bin 0 -> 842 bytes .../images/default/layout/gradient-bg.gif | Bin 0 -> 1472 bytes .../images/default/layout/mini-bottom.gif | Bin 0 -> 856 bytes .../resources/images/default/layout/mini-left.gif | Bin 0 -> 871 bytes .../resources/images/default/layout/mini-right.gif | Bin 0 -> 872 bytes .../resources/images/default/layout/mini-top.gif | Bin 0 -> 856 bytes .../images/default/layout/ns-collapse.gif | Bin 0 -> 842 bytes .../resources/images/default/layout/ns-expand.gif | Bin 0 -> 843 bytes .../images/default/layout/panel-close.gif | Bin 0 -> 829 bytes .../images/default/layout/panel-title-bg.gif | Bin 0 -> 838 bytes .../images/default/layout/panel-title-light-bg.gif | Bin 0 -> 835 bytes .../resources/images/default/layout/stick.gif | Bin 0 -> 874 bytes .../resources/images/default/layout/stuck.gif | Bin 0 -> 92 bytes .../images/default/layout/tab-close-on.gif | Bin 0 -> 880 bytes .../resources/images/default/layout/tab-close.gif | Bin 0 -> 859 bytes .../resources/images/default/menu/checked.gif | Bin 0 -> 959 bytes .../images/default/menu/group-checked.gif | Bin 0 -> 891 bytes .../resources/images/default/menu/item-over.gif | Bin 0 -> 820 bytes .../resources/images/default/menu/menu-parent.gif | Bin 0 -> 854 bytes .../extjs/resources/images/default/menu/menu.gif | Bin 0 -> 834 bytes .../resources/images/default/menu/unchecked.gif | Bin 0 -> 941 bytes .../images/default/panel/corners-sprite.gif | Bin 0 -> 1418 bytes .../resources/images/default/panel/left-right.gif | Bin 0 -> 815 bytes .../resources/images/default/panel/light-hd.gif | Bin 0 -> 827 bytes .../images/default/panel/tool-sprite-tpl.gif | Bin 0 -> 971 bytes .../images/default/panel/tool-sprites.gif | Bin 0 -> 4158 bytes .../images/default/panel/tools-sprites-trans.gif | Bin 0 -> 2640 bytes .../resources/images/default/panel/top-bottom.gif | Bin 0 -> 875 bytes .../resources/images/default/panel/top-bottom.png | Bin 0 -> 218 bytes .../images/default/panel/white-corners-sprite.gif | Bin 0 -> 1366 bytes .../images/default/panel/white-left-right.gif | Bin 0 -> 815 bytes .../images/default/panel/white-top-bottom.gif | Bin 0 -> 872 bytes .../images/default/progress/progress-bg.gif | Bin 0 -> 834 bytes .../extjs/resources/images/default/qtip/bg.gif | Bin 0 -> 1091 bytes .../extjs/resources/images/default/qtip/close.gif | Bin 0 -> 972 bytes .../resources/images/default/qtip/tip-sprite.gif | Bin 0 -> 4271 bytes skins/jason/extjs/resources/images/default/s.gif | Bin 0 -> 43 bytes .../extjs/resources/images/default/shadow-c.png | Bin 0 -> 118 bytes .../extjs/resources/images/default/shadow-lr.png | Bin 0 -> 135 bytes .../extjs/resources/images/default/shadow.png | Bin 0 -> 311 bytes .../images/default/shared/blue-loading.gif | Bin 0 -> 3236 bytes .../resources/images/default/shared/calendar.gif | Bin 0 -> 979 bytes .../resources/images/default/shared/glass-bg.gif | Bin 0 -> 873 bytes .../resources/images/default/shared/hd-sprite.gif | Bin 0 -> 1099 bytes .../images/default/shared/large-loading.gif | Bin 0 -> 3236 bytes .../resources/images/default/shared/left-btn.gif | Bin 0 -> 870 bytes .../images/default/shared/loading-balls.gif | Bin 0 -> 2118 bytes .../resources/images/default/shared/right-btn.gif | Bin 0 -> 871 bytes .../resources/images/default/shared/warning.gif | Bin 0 -> 960 bytes .../images/default/sizer/e-handle-dark.gif | Bin 0 -> 1062 bytes .../resources/images/default/sizer/e-handle.gif | Bin 0 -> 1586 bytes .../images/default/sizer/ne-handle-dark.gif | Bin 0 -> 839 bytes .../resources/images/default/sizer/ne-handle.gif | Bin 0 -> 854 bytes .../images/default/sizer/nw-handle-dark.gif | Bin 0 -> 839 bytes .../resources/images/default/sizer/nw-handle.gif | Bin 0 -> 853 bytes .../images/default/sizer/s-handle-dark.gif | Bin 0 -> 1060 bytes .../resources/images/default/sizer/s-handle.gif | Bin 0 -> 1318 bytes .../images/default/sizer/se-handle-dark.gif | Bin 0 -> 838 bytes .../resources/images/default/sizer/se-handle.gif | Bin 0 -> 853 bytes .../resources/images/default/sizer/square.gif | Bin 0 -> 864 bytes .../images/default/sizer/sw-handle-dark.gif | Bin 0 -> 839 bytes .../resources/images/default/sizer/sw-handle.gif | Bin 0 -> 855 bytes .../resources/images/default/slider/slider-bg.png | Bin 0 -> 300 bytes .../images/default/slider/slider-thumb.png | Bin 0 -> 933 bytes .../images/default/slider/slider-v-bg.png | Bin 0 -> 288 bytes .../images/default/slider/slider-v-thumb.png | Bin 0 -> 883 bytes .../resources/images/default/tabs/scroll-left.gif | Bin 0 -> 1295 bytes .../resources/images/default/tabs/scroll-right.gif | Bin 0 -> 1300 bytes .../resources/images/default/tabs/scroller-bg.gif | Bin 0 -> 1100 bytes .../default/tabs/tab-btm-inactive-left-bg.gif | Bin 0 -> 886 bytes .../default/tabs/tab-btm-inactive-right-bg.gif | Bin 0 -> 1386 bytes .../images/default/tabs/tab-btm-left-bg.gif | Bin 0 -> 863 bytes .../images/default/tabs/tab-btm-right-bg.gif | Bin 0 -> 1402 bytes .../resources/images/default/tabs/tab-close.gif | Bin 0 -> 896 bytes .../resources/images/default/tabs/tab-strip-bg.gif | Bin 0 -> 835 bytes .../resources/images/default/tabs/tab-strip-bg.png | Bin 0 -> 259 bytes .../images/default/tabs/tab-strip-btm-bg.gif | Bin 0 -> 826 bytes .../resources/images/default/tabs/tabs-sprite.gif | Bin 0 -> 2120 bytes .../extjs/resources/images/default/toolbar/bg.gif | Bin 0 -> 904 bytes .../images/default/toolbar/btn-arrow-light.gif | Bin 0 -> 916 bytes .../resources/images/default/toolbar/btn-arrow.gif | Bin 0 -> 919 bytes .../images/default/toolbar/btn-over-bg.gif | Bin 0 -> 837 bytes .../resources/images/default/toolbar/gray-bg.gif | Bin 0 -> 832 bytes .../resources/images/default/toolbar/tb-bg.gif | Bin 0 -> 862 bytes .../images/default/toolbar/tb-btn-sprite.gif | Bin 0 -> 1127 bytes .../extjs/resources/images/default/tree/arrows.gif | Bin 0 -> 1024 bytes .../resources/images/default/tree/drop-add.gif | Bin 0 -> 1001 bytes .../resources/images/default/tree/drop-between.gif | Bin 0 -> 907 bytes .../resources/images/default/tree/drop-no.gif | Bin 0 -> 949 bytes .../resources/images/default/tree/drop-over.gif | Bin 0 -> 911 bytes .../resources/images/default/tree/drop-under.gif | Bin 0 -> 911 bytes .../resources/images/default/tree/drop-yes.gif | Bin 0 -> 1016 bytes .../images/default/tree/elbow-end-minus-nl.gif | Bin 0 -> 898 bytes .../images/default/tree/elbow-end-minus.gif | Bin 0 -> 905 bytes .../images/default/tree/elbow-end-plus-nl.gif | Bin 0 -> 900 bytes .../images/default/tree/elbow-end-plus.gif | Bin 0 -> 907 bytes .../resources/images/default/tree/elbow-end.gif | Bin 0 -> 844 bytes .../resources/images/default/tree/elbow-line.gif | Bin 0 -> 846 bytes .../images/default/tree/elbow-minus-nl.gif | Bin 0 -> 898 bytes .../resources/images/default/tree/elbow-minus.gif | Bin 0 -> 908 bytes .../images/default/tree/elbow-plus-nl.gif | Bin 0 -> 900 bytes .../resources/images/default/tree/elbow-plus.gif | Bin 0 -> 910 bytes .../extjs/resources/images/default/tree/elbow.gif | Bin 0 -> 850 bytes .../resources/images/default/tree/folder-open.gif | Bin 0 -> 956 bytes .../extjs/resources/images/default/tree/folder.gif | Bin 0 -> 952 bytes .../extjs/resources/images/default/tree/leaf.gif | Bin 0 -> 945 bytes .../resources/images/default/tree/loading.gif | Bin 0 -> 771 bytes .../extjs/resources/images/default/tree/s.gif | Bin 0 -> 43 bytes .../resources/images/default/window/icon-error.gif | Bin 0 -> 1669 bytes .../resources/images/default/window/icon-info.gif | Bin 0 -> 1586 bytes .../images/default/window/icon-question.gif | Bin 0 -> 1607 bytes .../images/default/window/icon-warning.gif | Bin 0 -> 1483 bytes .../images/default/window/left-corners.png | Bin 0 -> 272 bytes .../resources/images/default/window/left-right.png | Bin 0 -> 135 bytes .../images/default/window/right-corners.png | Bin 0 -> 340 bytes .../resources/images/default/window/top-bottom.png | Bin 0 -> 211 bytes .../resources/images/gray/button/btn-arrow.gif | Bin 0 -> 870 bytes .../resources/images/gray/button/btn-sprite.gif | Bin 0 -> 1222 bytes .../extjs/resources/images/gray/gradient-bg.gif | Bin 0 -> 1472 bytes .../resources/images/gray/panel/corners-sprite.gif | Bin 0 -> 1402 bytes .../resources/images/gray/panel/left-right.gif | Bin 0 -> 815 bytes .../extjs/resources/images/gray/panel/light-hd.gif | Bin 0 -> 827 bytes .../images/gray/panel/tool-sprite-tpl.gif | Bin 0 -> 971 bytes .../resources/images/gray/panel/tool-sprites.gif | Bin 0 -> 4464 bytes .../images/gray/panel/tools-sprites-trans.gif | Bin 0 -> 2640 bytes .../resources/images/gray/panel/top-bottom.gif | Bin 0 -> 871 bytes .../resources/images/gray/panel/top-bottom.png | Bin 0 -> 218 bytes .../images/gray/panel/white-corners-sprite.gif | Bin 0 -> 1365 bytes .../images/gray/panel/white-left-right.gif | Bin 0 -> 815 bytes .../images/gray/panel/white-top-bottom.gif | Bin 0 -> 868 bytes .../jason/extjs/resources/images/gray/qtip/bg.gif | Bin 0 -> 1024 bytes .../extjs/resources/images/gray/qtip/close.gif | Bin 0 -> 972 bytes .../resources/images/gray/qtip/tip-sprite.gif | Bin 0 -> 4033 bytes skins/jason/extjs/resources/images/gray/s.gif | Bin 0 -> 43 bytes .../resources/images/gray/tabs/scroll-left.gif | Bin 0 -> 1260 bytes .../resources/images/gray/tabs/scroll-right.gif | Bin 0 -> 1269 bytes .../resources/images/gray/tabs/scroller-bg.gif | Bin 0 -> 1090 bytes .../images/gray/tabs/tab-btm-inactive-left-bg.gif | Bin 0 -> 881 bytes .../images/gray/tabs/tab-btm-inactive-right-bg.gif | Bin 0 -> 1383 bytes .../resources/images/gray/tabs/tab-btm-left-bg.gif | Bin 0 -> 863 bytes .../images/gray/tabs/tab-btm-right-bg.gif | Bin 0 -> 1402 bytes .../extjs/resources/images/gray/tabs/tab-close.gif | Bin 0 -> 896 bytes .../resources/images/gray/tabs/tab-strip-bg.gif | Bin 0 -> 835 bytes .../resources/images/gray/tabs/tab-strip-bg.png | Bin 0 -> 259 bytes .../images/gray/tabs/tab-strip-btm-bg.gif | Bin 0 -> 826 bytes .../resources/images/gray/tabs/tabs-sprite.gif | Bin 0 -> 2109 bytes .../extjs/resources/images/gray/toolbar/bg.gif | Bin 0 -> 854 bytes .../images/gray/toolbar/btn-arrow-light.gif | Bin 0 -> 916 bytes .../resources/images/gray/toolbar/btn-arrow.gif | Bin 0 -> 919 bytes .../resources/images/gray/toolbar/btn-over-bg.gif | Bin 0 -> 837 bytes .../resources/images/gray/toolbar/gray-bg.gif | Bin 0 -> 832 bytes .../extjs/resources/images/gray/toolbar/tb-bg.gif | Bin 0 -> 862 bytes .../images/gray/toolbar/tb-btn-sprite.gif | Bin 0 -> 1021 bytes .../resources/images/gray/window/icon-error.gif | Bin 0 -> 1669 bytes .../resources/images/gray/window/icon-info.gif | Bin 0 -> 1586 bytes .../resources/images/gray/window/icon-question.gif | Bin 0 -> 1607 bytes .../resources/images/gray/window/icon-warning.gif | Bin 0 -> 1483 bytes .../resources/images/gray/window/left-corners.png | Bin 0 -> 325 bytes .../resources/images/gray/window/left-right.png | Bin 0 -> 2815 bytes .../resources/images/gray/window/right-corners.png | Bin 0 -> 344 bytes .../resources/images/gray/window/top-bottom.png | Bin 0 -> 2860 bytes .../resources/images/olive/button/btn-arrow.gif | Bin 0 -> 179 bytes .../resources/images/olive/button/btn-sprite.gif | Bin 0 -> 635 bytes .../resources/images/olive/form/clear-trigger.gif | Bin 0 -> 1211 bytes .../resources/images/olive/form/date-trigger.gif | Bin 0 -> 944 bytes .../resources/images/olive/form/search-trigger.gif | Bin 0 -> 1356 bytes .../extjs/resources/images/olive/form/text-bg.gif | Bin 0 -> 67 bytes .../resources/images/olive/form/trigger-tpl.gif | Bin 0 -> 784 bytes .../extjs/resources/images/olive/form/trigger.gif | Bin 0 -> 1099 bytes .../resources/images/olive/grid/grid-hrow.gif | Bin 0 -> 164 bytes .../resources/images/olive/grid/grid-split.gif | Bin 0 -> 47 bytes .../resources/images/olive/grid/grid3-hd-btn.gif | Bin 0 -> 464 bytes .../images/olive/grid/grid3-hrow-over.gif | Bin 0 -> 56 bytes .../resources/images/olive/grid/grid3-hrow.gif | Bin 0 -> 74 bytes .../images/olive/grid/grid3-special-col-bg.gif | Bin 0 -> 76 bytes .../images/olive/grid/grid3-special-col-sel-bg.gif | Bin 0 -> 106 bytes .../extjs/resources/images/olive/grid/hd-pop.gif | Bin 0 -> 839 bytes .../extjs/resources/images/olive/grid/row-over.gif | Bin 0 -> 69 bytes .../resources/images/olive/menu/item-over.gif | Bin 0 -> 49 bytes .../extjs/resources/images/olive/menu/menu.gif | Bin 0 -> 62 bytes .../images/olive/panel/corners-sprite.gif | Bin 0 -> 774 bytes .../resources/images/olive/panel/left-right.gif | Bin 0 -> 52 bytes .../resources/images/olive/panel/light-hd.gif | Bin 0 -> 97 bytes .../resources/images/olive/panel/tool-sprites.gif | Bin 0 -> 3276 bytes .../resources/images/olive/panel/top-bottom.gif | Bin 0 -> 183 bytes .../images/olive/panel/white-top-bottom.gif | Bin 0 -> 181 bytes .../jason/extjs/resources/images/olive/qtip/bg.gif | Bin 0 -> 281 bytes .../extjs/resources/images/olive/qtip/close.gif | Bin 0 -> 361 bytes .../resources/images/olive/qtip/tip-sprite.gif | Bin 0 -> 3376 bytes skins/jason/extjs/resources/images/olive/s.gif | Bin 0 -> 43 bytes .../resources/images/olive/shared/glass-bg.gif | Bin 0 -> 115 bytes .../resources/images/olive/shared/hd-sprite.gif | Bin 0 -> 316 bytes .../resources/images/olive/shared/left-btn.gif | Bin 0 -> 106 bytes .../resources/images/olive/shared/right-btn.gif | Bin 0 -> 107 bytes .../resources/images/olive/tabs/scroll-left.gif | Bin 0 -> 502 bytes .../resources/images/olive/tabs/scroll-right.gif | Bin 0 -> 506 bytes .../resources/images/olive/tabs/scroller-bg.gif | Bin 0 -> 370 bytes .../images/olive/tabs/tab-btm-inactive-left-bg.gif | Bin 0 -> 190 bytes .../olive/tabs/tab-btm-inactive-right-bg.gif | Bin 0 -> 622 bytes .../images/olive/tabs/tab-btm-left-bg.gif | Bin 0 -> 122 bytes .../images/olive/tabs/tab-btm-right-bg.gif | Bin 0 -> 584 bytes .../resources/images/olive/tabs/tab-close.gif | Bin 0 -> 198 bytes .../resources/images/olive/tabs/tab-strip-bg.gif | Bin 0 -> 100 bytes .../resources/images/olive/tabs/tab-strip-bg.png | Bin 0 -> 259 bytes .../images/olive/tabs/tab-strip-btm-bg.gif | Bin 0 -> 96 bytes .../resources/images/olive/tabs/tabs-sprite.gif | Bin 0 -> 1264 bytes .../extjs/resources/images/olive/toolbar/bg.gif | Bin 0 -> 121 bytes .../images/olive/toolbar/btn-arrow-light.gif | Bin 0 -> 163 bytes .../resources/images/olive/toolbar/btn-arrow.gif | Bin 0 -> 218 bytes .../resources/images/olive/toolbar/btn-over-bg.gif | Bin 0 -> 104 bytes .../extjs/resources/images/olive/toolbar/tb-bg.gif | Bin 0 -> 80 bytes .../images/olive/toolbar/tb-btn-sprite.gif | Bin 0 -> 510 bytes .../resources/images/olive/window/left-corners.png | Bin 0 -> 255 bytes .../resources/images/olive/window/left-right.png | Bin 0 -> 144 bytes .../images/olive/window/right-corners.png | Bin 0 -> 271 bytes .../resources/images/olive/window/top-bottom.png | Bin 0 -> 181 bytes .../resources/images/purple/button/btn-arrow.gif | Bin 0 -> 179 bytes .../resources/images/purple/button/btn-sprite.gif | Bin 0 -> 614 bytes .../resources/images/purple/form/clear-trigger.gif | Bin 0 -> 1205 bytes .../resources/images/purple/form/date-trigger.gif | Bin 0 -> 970 bytes .../images/purple/form/search-trigger.gif | Bin 0 -> 1353 bytes .../extjs/resources/images/purple/form/text-bg.gif | Bin 0 -> 819 bytes .../resources/images/purple/form/trigger-tpl.gif | Bin 0 -> 855 bytes .../extjs/resources/images/purple/form/trigger.gif | Bin 0 -> 1087 bytes .../resources/images/purple/grid/grid-hrow.gif | Bin 0 -> 168 bytes .../resources/images/purple/grid/grid-split.gif | Bin 0 -> 47 bytes .../resources/images/purple/grid/grid3-hd-btn.gif | Bin 0 -> 607 bytes .../images/purple/grid/grid3-hrow-over.gif | Bin 0 -> 56 bytes .../resources/images/purple/grid/grid3-hrow.gif | Bin 0 -> 103 bytes .../images/purple/grid/grid3-special-col-bg.gif | Bin 0 -> 104 bytes .../purple/grid/grid3-special-col-sel-bg.gif | Bin 0 -> 158 bytes .../extjs/resources/images/purple/grid/hd-pop.gif | Bin 0 -> 60 bytes .../resources/images/purple/grid/row-over.gif | Bin 0 -> 94 bytes .../resources/images/purple/menu/item-over.gif | Bin 0 -> 49 bytes .../extjs/resources/images/purple/menu/menu.gif | Bin 0 -> 62 bytes .../images/purple/panel/corners-sprite.gif | Bin 0 -> 786 bytes .../resources/images/purple/panel/left-right.gif | Bin 0 -> 52 bytes .../resources/images/purple/panel/light-hd.gif | Bin 0 -> 97 bytes .../resources/images/purple/panel/tool-sprites.gif | Bin 0 -> 3246 bytes .../resources/images/purple/panel/top-bottom.gif | Bin 0 -> 183 bytes .../images/purple/panel/white-top-bottom.gif | Bin 0 -> 181 bytes .../extjs/resources/images/purple/qtip/bg.gif | Bin 0 -> 482 bytes .../extjs/resources/images/purple/qtip/close.gif | Bin 0 -> 369 bytes .../resources/images/purple/qtip/tip-sprite.gif | Bin 0 -> 3376 bytes skins/jason/extjs/resources/images/purple/s.gif | Bin 0 -> 43 bytes .../resources/images/purple/shared/glass-bg.gif | Bin 0 -> 282 bytes .../resources/images/purple/shared/hd-sprite.gif | Bin 0 -> 490 bytes .../resources/images/purple/shared/left-btn.gif | Bin 0 -> 106 bytes .../resources/images/purple/shared/right-btn.gif | Bin 0 -> 107 bytes .../resources/images/purple/tabs/scroll-left.gif | Bin 0 -> 663 bytes .../resources/images/purple/tabs/scroll-right.gif | Bin 0 -> 668 bytes .../resources/images/purple/tabs/scroller-bg.gif | Bin 0 -> 379 bytes .../purple/tabs/tab-btm-inactive-left-bg.gif | Bin 0 -> 191 bytes .../purple/tabs/tab-btm-inactive-right-bg.gif | Bin 0 -> 641 bytes .../images/purple/tabs/tab-btm-left-bg.gif | Bin 0 -> 122 bytes .../images/purple/tabs/tab-btm-right-bg.gif | Bin 0 -> 600 bytes .../resources/images/purple/tabs/tab-close.gif | Bin 0 -> 199 bytes .../resources/images/purple/tabs/tab-strip-bg.gif | Bin 0 -> 152 bytes .../resources/images/purple/tabs/tab-strip-bg.png | Bin 0 -> 259 bytes .../images/purple/tabs/tab-strip-btm-bg.gif | Bin 0 -> 96 bytes .../resources/images/purple/tabs/tabs-sprite.gif | Bin 0 -> 1478 bytes .../extjs/resources/images/purple/toolbar/bg.gif | Bin 0 -> 308 bytes .../images/purple/toolbar/btn-arrow-light.gif | Bin 0 -> 163 bytes .../resources/images/purple/toolbar/btn-arrow.gif | Bin 0 -> 218 bytes .../images/purple/toolbar/btn-over-bg.gif | Bin 0 -> 104 bytes .../resources/images/purple/toolbar/gray-bg.gif | Bin 0 -> 100 bytes .../resources/images/purple/toolbar/tb-bg.gif | Bin 0 -> 173 bytes .../images/purple/toolbar/tb-btn-sprite.gif | Bin 0 -> 514 bytes .../images/purple/window/left-corners.png | Bin 0 -> 264 bytes .../resources/images/purple/window/left-right.png | Bin 0 -> 143 bytes .../images/purple/window/right-corners.png | Bin 0 -> 274 bytes .../resources/images/purple/window/top-bottom.png | Bin 0 -> 190 bytes .../images/vista/basic-dialog/bg-center.gif | Bin 0 -> 865 bytes .../images/vista/basic-dialog/bg-left.gif | Bin 0 -> 1039 bytes .../images/vista/basic-dialog/bg-right.gif | Bin 0 -> 1039 bytes .../resources/images/vista/basic-dialog/close.gif | Bin 0 -> 350 bytes .../images/vista/basic-dialog/collapse.gif | Bin 0 -> 333 bytes .../resources/images/vista/basic-dialog/dlg-bg.gif | Bin 0 -> 27857 bytes .../images/vista/basic-dialog/e-handle.gif | Bin 0 -> 995 bytes .../resources/images/vista/basic-dialog/expand.gif | Bin 0 -> 351 bytes .../images/vista/basic-dialog/hd-sprite.gif | Bin 0 -> 462 bytes .../images/vista/basic-dialog/s-handle.gif | Bin 0 -> 992 bytes .../images/vista/basic-dialog/se-handle.gif | Bin 0 -> 833 bytes .../images/vista/basic-dialog/w-handle.gif | Bin 0 -> 817 bytes .../extjs/resources/images/vista/gradient-bg.gif | Bin 0 -> 1472 bytes .../resources/images/vista/grid/grid-split.gif | Bin 0 -> 817 bytes .../resources/images/vista/grid/grid-vista-hd.gif | Bin 0 -> 829 bytes .../resources/images/vista/layout/collapse.gif | Bin 0 -> 842 bytes .../extjs/resources/images/vista/layout/expand.gif | Bin 0 -> 842 bytes .../resources/images/vista/layout/gradient-bg.gif | Bin 0 -> 1202 bytes .../resources/images/vista/layout/ns-collapse.gif | Bin 0 -> 842 bytes .../resources/images/vista/layout/ns-expand.gif | Bin 0 -> 843 bytes .../resources/images/vista/layout/panel-close.gif | Bin 0 -> 829 bytes .../images/vista/layout/panel-title-bg.gif | Bin 0 -> 888 bytes .../images/vista/layout/panel-title-light-bg.gif | Bin 0 -> 846 bytes .../extjs/resources/images/vista/layout/stick.gif | Bin 0 -> 872 bytes .../resources/images/vista/layout/tab-close-on.gif | Bin 0 -> 880 bytes .../resources/images/vista/layout/tab-close.gif | Bin 0 -> 844 bytes .../jason/extjs/resources/images/vista/qtip/bg.gif | Bin 0 -> 1024 bytes .../resources/images/vista/qtip/tip-sprite.gif | Bin 0 -> 4183 bytes skins/jason/extjs/resources/images/vista/s.gif | Bin 0 -> 43 bytes .../resources/images/vista/sizer/e-handle-dark.gif | Bin 0 -> 1062 bytes .../resources/images/vista/sizer/e-handle.gif | Bin 0 -> 1586 bytes .../images/vista/sizer/ne-handle-dark.gif | Bin 0 -> 839 bytes .../resources/images/vista/sizer/ne-handle.gif | Bin 0 -> 854 bytes .../images/vista/sizer/nw-handle-dark.gif | Bin 0 -> 839 bytes .../resources/images/vista/sizer/nw-handle.gif | Bin 0 -> 853 bytes .../resources/images/vista/sizer/s-handle-dark.gif | Bin 0 -> 1060 bytes .../resources/images/vista/sizer/s-handle.gif | Bin 0 -> 1318 bytes .../images/vista/sizer/se-handle-dark.gif | Bin 0 -> 838 bytes .../resources/images/vista/sizer/se-handle.gif | Bin 0 -> 853 bytes .../images/vista/sizer/sw-handle-dark.gif | Bin 0 -> 839 bytes .../resources/images/vista/sizer/sw-handle.gif | Bin 0 -> 855 bytes .../images/vista/tabs/tab-btm-inactive-left-bg.gif | Bin 0 -> 879 bytes .../vista/tabs/tab-btm-inactive-right-bg.gif | Bin 0 -> 1609 bytes .../images/vista/tabs/tab-btm-left-bg.gif | Bin 0 -> 895 bytes .../images/vista/tabs/tab-btm-right-bg.gif | Bin 0 -> 1608 bytes .../resources/images/vista/tabs/tab-sprite.gif | Bin 0 -> 3150 bytes .../resources/images/vista/toolbar/gray-bg.gif | Bin 0 -> 839 bytes .../images/vista/toolbar/tb-btn-sprite.gif | Bin 0 -> 1110 bytes skins/jason/extjs/resources/resources.jsb | 699 +++++++++++++++ skins/jason/files.lst | 29 + skins/jason/form.js | 308 +++++++ skins/jason/help.js | 121 +++ skins/jason/index.tmpl | 74 ++ skins/jason/jason.css | 386 +++++++++ skins/jason/locale/lang-de.js | 203 +++++ skins/jason/main.js | 86 ++ skins/jason/menus.js | 317 +++++++ skins/jason/monitor.js | 140 +++ skins/jason/now.js | 387 +++++++++ skins/jason/pic/audio.png | Bin 0 -> 845 bytes skins/jason/pic/autotimer.png | Bin 0 -> 990 bytes skins/jason/pic/back.png | Bin 0 -> 679 bytes skins/jason/pic/backward.png | Bin 0 -> 676 bytes skins/jason/pic/bg.png | Bin 0 -> 132 bytes skins/jason/pic/blue.png | Bin 0 -> 523 bytes skins/jason/pic/channel-select.png | Bin 0 -> 811 bytes skins/jason/pic/channel-stream.png | Bin 0 -> 770 bytes skins/jason/pic/channel-switch.png | Bin 0 -> 695 bytes skins/jason/pic/channel.png | Bin 0 -> 652 bytes skins/jason/pic/chronicle.png | Bin 0 -> 807 bytes skins/jason/pic/cut.png | Bin 0 -> 810 bytes skins/jason/pic/delete.png | Bin 0 -> 441 bytes skins/jason/pic/down.png | Bin 0 -> 754 bytes skins/jason/pic/edit.png | Bin 0 -> 804 bytes skins/jason/pic/folder.png | Bin 0 -> 5348 bytes skins/jason/pic/forward.png | Bin 0 -> 697 bytes skins/jason/pic/green.png | Bin 0 -> 516 bytes skins/jason/pic/left.png | Bin 0 -> 732 bytes skins/jason/pic/logout.png | Bin 0 -> 947 bytes skins/jason/pic/loud.png | Bin 0 -> 761 bytes skins/jason/pic/menu.png | Bin 0 -> 710 bytes skins/jason/pic/monitor.png | Bin 0 -> 657 bytes skins/jason/pic/movie.png | Bin 0 -> 2980 bytes skins/jason/pic/mute.png | Bin 0 -> 810 bytes skins/jason/pic/new.png | Bin 0 -> 458 bytes skins/jason/pic/pause.png | Bin 0 -> 582 bytes skins/jason/pic/play.png | Bin 0 -> 695 bytes skins/jason/pic/playback.png | Bin 0 -> 742 bytes skins/jason/pic/preview-bottom.png | Bin 0 -> 439 bytes skins/jason/pic/preview-right.png | Bin 0 -> 464 bytes skins/jason/pic/preview.png | Bin 0 -> 398 bytes skins/jason/pic/quiet.png | Bin 0 -> 673 bytes skins/jason/pic/radio.png | Bin 0 -> 6235 bytes skins/jason/pic/record.png | Bin 0 -> 839 bytes skins/jason/pic/recover.png | Bin 0 -> 882 bytes skins/jason/pic/red.png | Bin 0 -> 521 bytes skins/jason/pic/remote.png | Bin 0 -> 767 bytes skins/jason/pic/right.png | Bin 0 -> 754 bytes skins/jason/pic/search.png | Bin 0 -> 828 bytes skins/jason/pic/setup.png | Bin 0 -> 849 bytes skins/jason/pic/stop.png | Bin 0 -> 474 bytes skins/jason/pic/timer-toggle.png | Bin 0 -> 976 bytes skins/jason/pic/timer.png | Bin 0 -> 945 bytes skins/jason/pic/unviewed.png | Bin 0 -> 502 bytes skins/jason/pic/up.png | Bin 0 -> 739 bytes skins/jason/pic/users.png | Bin 0 -> 787 bytes skins/jason/pic/vdr-logo.png | Bin 0 -> 689 bytes skins/jason/pic/video.png | Bin 0 -> 778 bytes skins/jason/pic/watch.png | Bin 0 -> 652 bytes skins/jason/pic/webcast.png | Bin 0 -> 770 bytes skins/jason/pic/xxv.png | Bin 0 -> 659 bytes skins/jason/pic/yellow.png | Bin 0 -> 490 bytes skins/jason/program.js | 283 +++++++ skins/jason/reader.js | 62 ++ skins/jason/recordings.js | 935 +++++++++++++++++++++ skins/jason/remote.js | 163 ++++ skins/jason/search.js | 305 +++++++ skins/jason/stream.js | 125 +++ skins/jason/tabpanel.js | 212 +++++ skins/jason/timers.js | 589 +++++++++++++ skins/jason/users.js | 295 +++++++ skins/jason/ux/DDView.js | 609 ++++++++++++++ skins/jason/ux/filter.js | 225 +++++ skins/jason/ux/multiselect.css | 34 + skins/jason/ux/multiselect.js | 323 +++++++ skins/jason/ux/sessionprovider.js | 20 + skins/jason/ux/tabclosemenu.js | 52 ++ skins/jason/vdr.js | 329 ++++++++ skins/jason/widgets/footer.tmpl | 0 skins/jason/widgets/start.tmpl | 0 skins/jason/widgets/table.tmpl | 10 + 683 files changed, 28059 insertions(+) create mode 100644 skins/jason/autotimers.js create mode 100644 skins/jason/channels.js create mode 100644 skins/jason/channelspanel.js create mode 100644 skins/jason/chronicle.js create mode 100644 skins/jason/common.js create mode 100644 skins/jason/extjs/adapter/ext/ext-base.js create mode 100644 skins/jason/extjs/ext-all.js create mode 100644 skins/jason/extjs/ext-core.js create mode 100644 skins/jason/extjs/locale/ext-lang-af.js create mode 100644 skins/jason/extjs/locale/ext-lang-bg.js create mode 100644 skins/jason/extjs/locale/ext-lang-ca.js create mode 100644 skins/jason/extjs/locale/ext-lang-cs.js create mode 100644 skins/jason/extjs/locale/ext-lang-da.js create mode 100644 skins/jason/extjs/locale/ext-lang-de.js create mode 100644 skins/jason/extjs/locale/ext-lang-el_GR.js create mode 100644 skins/jason/extjs/locale/ext-lang-en.js create mode 100644 skins/jason/extjs/locale/ext-lang-en_UK.js create mode 100644 skins/jason/extjs/locale/ext-lang-es.js create mode 100644 skins/jason/extjs/locale/ext-lang-fa.js create mode 100644 skins/jason/extjs/locale/ext-lang-fr.js create mode 100644 skins/jason/extjs/locale/ext-lang-fr_CA.js create mode 100644 skins/jason/extjs/locale/ext-lang-gr.js create mode 100644 skins/jason/extjs/locale/ext-lang-he.js create mode 100644 skins/jason/extjs/locale/ext-lang-hr.js create mode 100644 skins/jason/extjs/locale/ext-lang-hu.js create mode 100644 skins/jason/extjs/locale/ext-lang-id.js create mode 100644 skins/jason/extjs/locale/ext-lang-it.js create mode 100644 skins/jason/extjs/locale/ext-lang-ja.js create mode 100644 skins/jason/extjs/locale/ext-lang-ko.js create mode 100644 skins/jason/extjs/locale/ext-lang-lt.js create mode 100644 skins/jason/extjs/locale/ext-lang-lv.js create mode 100644 skins/jason/extjs/locale/ext-lang-mk.js create mode 100644 skins/jason/extjs/locale/ext-lang-nl.js create mode 100644 skins/jason/extjs/locale/ext-lang-no_NB.js create mode 100644 skins/jason/extjs/locale/ext-lang-no_NN.js create mode 100644 skins/jason/extjs/locale/ext-lang-pl.js create mode 100644 skins/jason/extjs/locale/ext-lang-pt.js create mode 100644 skins/jason/extjs/locale/ext-lang-pt_BR.js create mode 100644 skins/jason/extjs/locale/ext-lang-ro.js create mode 100644 skins/jason/extjs/locale/ext-lang-ru.js create mode 100644 skins/jason/extjs/locale/ext-lang-sk.js create mode 100644 skins/jason/extjs/locale/ext-lang-sl.js create mode 100644 skins/jason/extjs/locale/ext-lang-sr.js create mode 100644 skins/jason/extjs/locale/ext-lang-sr_RS.js create mode 100644 skins/jason/extjs/locale/ext-lang-sv_SE.js create mode 100644 skins/jason/extjs/locale/ext-lang-th.js create mode 100644 skins/jason/extjs/locale/ext-lang-tr.js create mode 100644 skins/jason/extjs/locale/ext-lang-ukr.js create mode 100644 skins/jason/extjs/locale/ext-lang-vn.js create mode 100644 skins/jason/extjs/locale/ext-lang-zh_CN.js create mode 100644 skins/jason/extjs/locale/ext-lang-zh_TW.js create mode 100644 skins/jason/extjs/resources/css/README.txt create mode 100644 skins/jason/extjs/resources/css/borders.css create mode 100644 skins/jason/extjs/resources/css/box.css create mode 100644 skins/jason/extjs/resources/css/button.css create mode 100644 skins/jason/extjs/resources/css/combo.css create mode 100644 skins/jason/extjs/resources/css/core.css create mode 100644 skins/jason/extjs/resources/css/date-picker.css create mode 100644 skins/jason/extjs/resources/css/dd.css create mode 100644 skins/jason/extjs/resources/css/debug.css create mode 100644 skins/jason/extjs/resources/css/dialog.css create mode 100644 skins/jason/extjs/resources/css/editor.css create mode 100644 skins/jason/extjs/resources/css/ext-all.css create mode 100644 skins/jason/extjs/resources/css/form.css create mode 100644 skins/jason/extjs/resources/css/grid.css create mode 100644 skins/jason/extjs/resources/css/layout.css create mode 100644 skins/jason/extjs/resources/css/menu.css create mode 100644 skins/jason/extjs/resources/css/panel.css create mode 100644 skins/jason/extjs/resources/css/progress.css create mode 100644 skins/jason/extjs/resources/css/qtips.css create mode 100644 skins/jason/extjs/resources/css/reset-min.css create mode 100644 skins/jason/extjs/resources/css/reset.css create mode 100644 skins/jason/extjs/resources/css/resizable.css create mode 100644 skins/jason/extjs/resources/css/slider.css create mode 100644 skins/jason/extjs/resources/css/tabs.css create mode 100644 skins/jason/extjs/resources/css/toolbar.css create mode 100644 skins/jason/extjs/resources/css/tree.css create mode 100644 skins/jason/extjs/resources/css/window.css create mode 100644 skins/jason/extjs/resources/css/xtheme-black.css create mode 100644 skins/jason/extjs/resources/css/xtheme-darkgray.css create mode 100644 skins/jason/extjs/resources/css/xtheme-default.css create mode 100644 skins/jason/extjs/resources/css/xtheme-gray.css create mode 100644 skins/jason/extjs/resources/css/xtheme-olive.css create mode 100644 skins/jason/extjs/resources/css/xtheme-purple.css create mode 100644 skins/jason/extjs/resources/images/black/button/btn-arrow.gif create mode 100644 skins/jason/extjs/resources/images/black/button/btn-sprite.gif create mode 100644 skins/jason/extjs/resources/images/black/editor/tb-sprite.gif create mode 100644 skins/jason/extjs/resources/images/black/form/clear-trigger.gif create mode 100644 skins/jason/extjs/resources/images/black/form/date-trigger.gif create mode 100644 skins/jason/extjs/resources/images/black/form/error-tip-corners.gif create mode 100644 skins/jason/extjs/resources/images/black/form/exclamation.gif create mode 100644 skins/jason/extjs/resources/images/black/form/search-trigger.gif create mode 100644 skins/jason/extjs/resources/images/black/form/text-bg.gif create mode 100644 skins/jason/extjs/resources/images/black/form/trigger-tpl.gif create mode 100644 skins/jason/extjs/resources/images/black/form/trigger.gif create mode 100644 skins/jason/extjs/resources/images/black/grid/grid-hrow.gif create mode 100644 skins/jason/extjs/resources/images/black/grid/grid-split.gif create mode 100644 skins/jason/extjs/resources/images/black/grid/grid3-hd-btn.gif create mode 100644 skins/jason/extjs/resources/images/black/grid/grid3-hrow-over.gif create mode 100644 skins/jason/extjs/resources/images/black/grid/grid3-hrow.gif create mode 100644 skins/jason/extjs/resources/images/black/grid/grid3-special-col-bg.gif create mode 100644 skins/jason/extjs/resources/images/black/grid/grid3-special-col-sel-bg.gif create mode 100644 skins/jason/extjs/resources/images/black/grid/hd-pop.gif create mode 100644 skins/jason/extjs/resources/images/black/grid/hmenu-asc.gif create mode 100644 skins/jason/extjs/resources/images/black/grid/hmenu-desc.gif create mode 100644 skins/jason/extjs/resources/images/black/grid/row-over.gif create mode 100644 skins/jason/extjs/resources/images/black/grid/sort_asc.gif create mode 100644 skins/jason/extjs/resources/images/black/grid/sort_desc.gif create mode 100644 skins/jason/extjs/resources/images/black/menu/item-over.gif create mode 100644 skins/jason/extjs/resources/images/black/menu/menu.gif create mode 100644 skins/jason/extjs/resources/images/black/panel/corners-sprite.gif create mode 100644 skins/jason/extjs/resources/images/black/panel/left-right.gif create mode 100644 skins/jason/extjs/resources/images/black/panel/light-hd.gif create mode 100644 skins/jason/extjs/resources/images/black/panel/tool-sprites.gif create mode 100644 skins/jason/extjs/resources/images/black/panel/top-bottom.gif create mode 100644 skins/jason/extjs/resources/images/black/panel/white-top-bottom.gif create mode 100644 skins/jason/extjs/resources/images/black/qtip/bg.gif create mode 100644 skins/jason/extjs/resources/images/black/qtip/close.gif create mode 100644 skins/jason/extjs/resources/images/black/qtip/tip-sprite.gif create mode 100644 skins/jason/extjs/resources/images/black/s.gif create mode 100644 skins/jason/extjs/resources/images/black/shared/glass-bg.gif create mode 100644 skins/jason/extjs/resources/images/black/shared/hd-sprite.gif create mode 100644 skins/jason/extjs/resources/images/black/shared/left-btn.gif create mode 100644 skins/jason/extjs/resources/images/black/shared/right-btn.gif create mode 100644 skins/jason/extjs/resources/images/black/tabs/left-corners.gif create mode 100644 skins/jason/extjs/resources/images/black/tabs/left-right.gif create mode 100644 skins/jason/extjs/resources/images/black/tabs/right-corners.gif create mode 100644 skins/jason/extjs/resources/images/black/tabs/scroll-left.gif create mode 100644 skins/jason/extjs/resources/images/black/tabs/scroll-right.gif create mode 100644 skins/jason/extjs/resources/images/black/tabs/scroller-bg.gif create mode 100644 skins/jason/extjs/resources/images/black/tabs/tab-btm-inactive-left-bg.gif create mode 100644 skins/jason/extjs/resources/images/black/tabs/tab-btm-inactive-right-bg.gif create mode 100644 skins/jason/extjs/resources/images/black/tabs/tab-btm-left-bg.gif create mode 100644 skins/jason/extjs/resources/images/black/tabs/tab-btm-right-bg.gif create mode 100644 skins/jason/extjs/resources/images/black/tabs/tab-close.gif create mode 100644 skins/jason/extjs/resources/images/black/tabs/tab-strip-bg.gif create mode 100644 skins/jason/extjs/resources/images/black/tabs/tab-strip-bg.png create mode 100644 skins/jason/extjs/resources/images/black/tabs/tab-strip-btm-bg.gif create mode 100644 skins/jason/extjs/resources/images/black/tabs/tabs-sprite.gif create mode 100644 skins/jason/extjs/resources/images/black/toolbar/bg.gif create mode 100644 skins/jason/extjs/resources/images/black/toolbar/btn-arrow-light.gif create mode 100644 skins/jason/extjs/resources/images/black/toolbar/btn-arrow.gif create mode 100644 skins/jason/extjs/resources/images/black/toolbar/btn-over-bg.gif create mode 100644 skins/jason/extjs/resources/images/black/toolbar/tb-bg.gif create mode 100644 skins/jason/extjs/resources/images/black/toolbar/tb-btn-sprite.gif create mode 100644 skins/jason/extjs/resources/images/black/window/left-corners.png create mode 100644 skins/jason/extjs/resources/images/black/window/left-right.png create mode 100644 skins/jason/extjs/resources/images/black/window/right-corners.png create mode 100644 skins/jason/extjs/resources/images/black/window/top-bottom.png create mode 100644 skins/jason/extjs/resources/images/darkgray/button/btn-arrow.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/button/btn-sprite.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/form/clear-trigger.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/form/date-trigger.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/form/search-trigger.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/form/text-bg.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/form/trigger-tpl.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/form/trigger.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/grid/grid-hrow.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/grid/grid-split.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/grid/grid3-hd-btn.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/grid/grid3-hrow-over.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/grid/grid3-hrow.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/grid/grid3-special-col-bg.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/grid/grid3-special-col-sel-bg.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/grid/hd-pop.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/grid/row-over.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/menu/item-over.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/menu/menu.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/panel/corners-sprite.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/panel/left-right.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/panel/light-hd.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/panel/tool-sprites.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/panel/top-bottom.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/panel/white-top-bottom.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/qtip/bg.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/qtip/close.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/qtip/tip-sprite.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/s.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/shared/glass-bg.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/shared/hd-sprite.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/shared/left-btn.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/shared/right-btn.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/tabs/scroll-left.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/tabs/scroll-right.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/tabs/scroller-bg.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/tabs/tab-btm-inactive-left-bg.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/tabs/tab-btm-inactive-right-bg.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/tabs/tab-btm-left-bg.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/tabs/tab-btm-right-bg.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/tabs/tab-close.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/tabs/tab-strip-bg.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/tabs/tab-strip-bg.png create mode 100644 skins/jason/extjs/resources/images/darkgray/tabs/tab-strip-btm-bg.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/tabs/tabs-sprite.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/toolbar/bg.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/toolbar/btn-arrow-light.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/toolbar/btn-arrow.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/toolbar/btn-over-bg.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/toolbar/gray-bg.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/toolbar/tb-bg.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/toolbar/tb-btn-sprite.gif create mode 100644 skins/jason/extjs/resources/images/darkgray/window/left-corners.png create mode 100644 skins/jason/extjs/resources/images/darkgray/window/left-right.png create mode 100644 skins/jason/extjs/resources/images/darkgray/window/right-corners.png create mode 100644 skins/jason/extjs/resources/images/darkgray/window/top-bottom.png create mode 100644 skins/jason/extjs/resources/images/default/box/corners-blue.gif create mode 100644 skins/jason/extjs/resources/images/default/box/corners.gif create mode 100644 skins/jason/extjs/resources/images/default/box/l-blue.gif create mode 100644 skins/jason/extjs/resources/images/default/box/l.gif create mode 100644 skins/jason/extjs/resources/images/default/box/r-blue.gif create mode 100644 skins/jason/extjs/resources/images/default/box/r.gif create mode 100644 skins/jason/extjs/resources/images/default/box/tb-blue.gif create mode 100644 skins/jason/extjs/resources/images/default/box/tb.gif create mode 100644 skins/jason/extjs/resources/images/default/button/btn-arrow.gif create mode 100644 skins/jason/extjs/resources/images/default/button/btn-sprite.gif create mode 100644 skins/jason/extjs/resources/images/default/dd/drop-add.gif create mode 100644 skins/jason/extjs/resources/images/default/dd/drop-no.gif create mode 100644 skins/jason/extjs/resources/images/default/dd/drop-yes.gif create mode 100644 skins/jason/extjs/resources/images/default/editor/tb-sprite.gif create mode 100644 skins/jason/extjs/resources/images/default/form/clear-trigger.gif create mode 100644 skins/jason/extjs/resources/images/default/form/date-trigger.gif create mode 100644 skins/jason/extjs/resources/images/default/form/error-tip-corners.gif create mode 100644 skins/jason/extjs/resources/images/default/form/exclamation.gif create mode 100644 skins/jason/extjs/resources/images/default/form/search-trigger.gif create mode 100644 skins/jason/extjs/resources/images/default/form/text-bg.gif create mode 100644 skins/jason/extjs/resources/images/default/form/trigger-tpl.gif create mode 100644 skins/jason/extjs/resources/images/default/form/trigger.gif create mode 100644 skins/jason/extjs/resources/images/default/gradient-bg.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/arrow-left-white.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/arrow-right-white.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/col-move-bottom.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/col-move-top.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/columns.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/dirty.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/done.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/drop-no.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/drop-yes.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/footer-bg.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/grid-blue-hd.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/grid-blue-split.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/grid-hrow.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/grid-loading.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/grid-split.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/grid-vista-hd.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/grid3-hd-btn.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/grid3-hrow-over.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/grid3-hrow.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/grid3-special-col-bg.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/grid3-special-col-sel-bg.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/group-by.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/group-expand-sprite.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/hd-pop.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/hmenu-asc.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/hmenu-desc.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/hmenu-lock.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/hmenu-lock.png create mode 100644 skins/jason/extjs/resources/images/default/grid/hmenu-unlock.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/hmenu-unlock.png create mode 100644 skins/jason/extjs/resources/images/default/grid/invalid_line.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/loading.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/mso-hd.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/nowait.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/page-first-disabled.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/page-first.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/page-last-disabled.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/page-last.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/page-next-disabled.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/page-next.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/page-prev-disabled.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/page-prev.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/pick-button.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/refresh.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/row-check-sprite.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/row-expand-sprite.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/row-over.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/row-sel.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/sort_asc.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/sort_desc.gif create mode 100644 skins/jason/extjs/resources/images/default/grid/wait.gif create mode 100644 skins/jason/extjs/resources/images/default/layout/collapse.gif create mode 100644 skins/jason/extjs/resources/images/default/layout/expand.gif create mode 100644 skins/jason/extjs/resources/images/default/layout/gradient-bg.gif create mode 100644 skins/jason/extjs/resources/images/default/layout/mini-bottom.gif create mode 100644 skins/jason/extjs/resources/images/default/layout/mini-left.gif create mode 100644 skins/jason/extjs/resources/images/default/layout/mini-right.gif create mode 100644 skins/jason/extjs/resources/images/default/layout/mini-top.gif create mode 100644 skins/jason/extjs/resources/images/default/layout/ns-collapse.gif create mode 100644 skins/jason/extjs/resources/images/default/layout/ns-expand.gif create mode 100644 skins/jason/extjs/resources/images/default/layout/panel-close.gif create mode 100644 skins/jason/extjs/resources/images/default/layout/panel-title-bg.gif create mode 100644 skins/jason/extjs/resources/images/default/layout/panel-title-light-bg.gif create mode 100644 skins/jason/extjs/resources/images/default/layout/stick.gif create mode 100644 skins/jason/extjs/resources/images/default/layout/stuck.gif create mode 100644 skins/jason/extjs/resources/images/default/layout/tab-close-on.gif create mode 100644 skins/jason/extjs/resources/images/default/layout/tab-close.gif create mode 100644 skins/jason/extjs/resources/images/default/menu/checked.gif create mode 100644 skins/jason/extjs/resources/images/default/menu/group-checked.gif create mode 100644 skins/jason/extjs/resources/images/default/menu/item-over.gif create mode 100644 skins/jason/extjs/resources/images/default/menu/menu-parent.gif create mode 100644 skins/jason/extjs/resources/images/default/menu/menu.gif create mode 100644 skins/jason/extjs/resources/images/default/menu/unchecked.gif create mode 100644 skins/jason/extjs/resources/images/default/panel/corners-sprite.gif create mode 100644 skins/jason/extjs/resources/images/default/panel/left-right.gif create mode 100644 skins/jason/extjs/resources/images/default/panel/light-hd.gif create mode 100644 skins/jason/extjs/resources/images/default/panel/tool-sprite-tpl.gif create mode 100644 skins/jason/extjs/resources/images/default/panel/tool-sprites.gif create mode 100644 skins/jason/extjs/resources/images/default/panel/tools-sprites-trans.gif create mode 100644 skins/jason/extjs/resources/images/default/panel/top-bottom.gif create mode 100644 skins/jason/extjs/resources/images/default/panel/top-bottom.png create mode 100644 skins/jason/extjs/resources/images/default/panel/white-corners-sprite.gif create mode 100644 skins/jason/extjs/resources/images/default/panel/white-left-right.gif create mode 100644 skins/jason/extjs/resources/images/default/panel/white-top-bottom.gif create mode 100644 skins/jason/extjs/resources/images/default/progress/progress-bg.gif create mode 100644 skins/jason/extjs/resources/images/default/qtip/bg.gif create mode 100644 skins/jason/extjs/resources/images/default/qtip/close.gif create mode 100644 skins/jason/extjs/resources/images/default/qtip/tip-sprite.gif create mode 100644 skins/jason/extjs/resources/images/default/s.gif create mode 100644 skins/jason/extjs/resources/images/default/shadow-c.png create mode 100644 skins/jason/extjs/resources/images/default/shadow-lr.png create mode 100644 skins/jason/extjs/resources/images/default/shadow.png create mode 100644 skins/jason/extjs/resources/images/default/shared/blue-loading.gif create mode 100644 skins/jason/extjs/resources/images/default/shared/calendar.gif create mode 100644 skins/jason/extjs/resources/images/default/shared/glass-bg.gif create mode 100644 skins/jason/extjs/resources/images/default/shared/hd-sprite.gif create mode 100644 skins/jason/extjs/resources/images/default/shared/large-loading.gif create mode 100644 skins/jason/extjs/resources/images/default/shared/left-btn.gif create mode 100644 skins/jason/extjs/resources/images/default/shared/loading-balls.gif create mode 100644 skins/jason/extjs/resources/images/default/shared/right-btn.gif create mode 100644 skins/jason/extjs/resources/images/default/shared/warning.gif create mode 100644 skins/jason/extjs/resources/images/default/sizer/e-handle-dark.gif create mode 100644 skins/jason/extjs/resources/images/default/sizer/e-handle.gif create mode 100644 skins/jason/extjs/resources/images/default/sizer/ne-handle-dark.gif create mode 100644 skins/jason/extjs/resources/images/default/sizer/ne-handle.gif create mode 100644 skins/jason/extjs/resources/images/default/sizer/nw-handle-dark.gif create mode 100644 skins/jason/extjs/resources/images/default/sizer/nw-handle.gif create mode 100644 skins/jason/extjs/resources/images/default/sizer/s-handle-dark.gif create mode 100644 skins/jason/extjs/resources/images/default/sizer/s-handle.gif create mode 100644 skins/jason/extjs/resources/images/default/sizer/se-handle-dark.gif create mode 100644 skins/jason/extjs/resources/images/default/sizer/se-handle.gif create mode 100644 skins/jason/extjs/resources/images/default/sizer/square.gif create mode 100644 skins/jason/extjs/resources/images/default/sizer/sw-handle-dark.gif create mode 100644 skins/jason/extjs/resources/images/default/sizer/sw-handle.gif create mode 100644 skins/jason/extjs/resources/images/default/slider/slider-bg.png create mode 100644 skins/jason/extjs/resources/images/default/slider/slider-thumb.png create mode 100644 skins/jason/extjs/resources/images/default/slider/slider-v-bg.png create mode 100644 skins/jason/extjs/resources/images/default/slider/slider-v-thumb.png create mode 100644 skins/jason/extjs/resources/images/default/tabs/scroll-left.gif create mode 100644 skins/jason/extjs/resources/images/default/tabs/scroll-right.gif create mode 100644 skins/jason/extjs/resources/images/default/tabs/scroller-bg.gif create mode 100644 skins/jason/extjs/resources/images/default/tabs/tab-btm-inactive-left-bg.gif create mode 100644 skins/jason/extjs/resources/images/default/tabs/tab-btm-inactive-right-bg.gif create mode 100644 skins/jason/extjs/resources/images/default/tabs/tab-btm-left-bg.gif create mode 100644 skins/jason/extjs/resources/images/default/tabs/tab-btm-right-bg.gif create mode 100644 skins/jason/extjs/resources/images/default/tabs/tab-close.gif create mode 100644 skins/jason/extjs/resources/images/default/tabs/tab-strip-bg.gif create mode 100644 skins/jason/extjs/resources/images/default/tabs/tab-strip-bg.png create mode 100644 skins/jason/extjs/resources/images/default/tabs/tab-strip-btm-bg.gif create mode 100644 skins/jason/extjs/resources/images/default/tabs/tabs-sprite.gif create mode 100644 skins/jason/extjs/resources/images/default/toolbar/bg.gif create mode 100644 skins/jason/extjs/resources/images/default/toolbar/btn-arrow-light.gif create mode 100644 skins/jason/extjs/resources/images/default/toolbar/btn-arrow.gif create mode 100644 skins/jason/extjs/resources/images/default/toolbar/btn-over-bg.gif create mode 100644 skins/jason/extjs/resources/images/default/toolbar/gray-bg.gif create mode 100644 skins/jason/extjs/resources/images/default/toolbar/tb-bg.gif create mode 100644 skins/jason/extjs/resources/images/default/toolbar/tb-btn-sprite.gif create mode 100644 skins/jason/extjs/resources/images/default/tree/arrows.gif create mode 100644 skins/jason/extjs/resources/images/default/tree/drop-add.gif create mode 100644 skins/jason/extjs/resources/images/default/tree/drop-between.gif create mode 100644 skins/jason/extjs/resources/images/default/tree/drop-no.gif create mode 100644 skins/jason/extjs/resources/images/default/tree/drop-over.gif create mode 100644 skins/jason/extjs/resources/images/default/tree/drop-under.gif create mode 100644 skins/jason/extjs/resources/images/default/tree/drop-yes.gif create mode 100644 skins/jason/extjs/resources/images/default/tree/elbow-end-minus-nl.gif create mode 100644 skins/jason/extjs/resources/images/default/tree/elbow-end-minus.gif create mode 100644 skins/jason/extjs/resources/images/default/tree/elbow-end-plus-nl.gif create mode 100644 skins/jason/extjs/resources/images/default/tree/elbow-end-plus.gif create mode 100644 skins/jason/extjs/resources/images/default/tree/elbow-end.gif create mode 100644 skins/jason/extjs/resources/images/default/tree/elbow-line.gif create mode 100644 skins/jason/extjs/resources/images/default/tree/elbow-minus-nl.gif create mode 100644 skins/jason/extjs/resources/images/default/tree/elbow-minus.gif create mode 100644 skins/jason/extjs/resources/images/default/tree/elbow-plus-nl.gif create mode 100644 skins/jason/extjs/resources/images/default/tree/elbow-plus.gif create mode 100644 skins/jason/extjs/resources/images/default/tree/elbow.gif create mode 100644 skins/jason/extjs/resources/images/default/tree/folder-open.gif create mode 100644 skins/jason/extjs/resources/images/default/tree/folder.gif create mode 100644 skins/jason/extjs/resources/images/default/tree/leaf.gif create mode 100644 skins/jason/extjs/resources/images/default/tree/loading.gif create mode 100644 skins/jason/extjs/resources/images/default/tree/s.gif create mode 100644 skins/jason/extjs/resources/images/default/window/icon-error.gif create mode 100644 skins/jason/extjs/resources/images/default/window/icon-info.gif create mode 100644 skins/jason/extjs/resources/images/default/window/icon-question.gif create mode 100644 skins/jason/extjs/resources/images/default/window/icon-warning.gif create mode 100644 skins/jason/extjs/resources/images/default/window/left-corners.png create mode 100644 skins/jason/extjs/resources/images/default/window/left-right.png create mode 100644 skins/jason/extjs/resources/images/default/window/right-corners.png create mode 100644 skins/jason/extjs/resources/images/default/window/top-bottom.png create mode 100644 skins/jason/extjs/resources/images/gray/button/btn-arrow.gif create mode 100644 skins/jason/extjs/resources/images/gray/button/btn-sprite.gif create mode 100644 skins/jason/extjs/resources/images/gray/gradient-bg.gif create mode 100644 skins/jason/extjs/resources/images/gray/panel/corners-sprite.gif create mode 100644 skins/jason/extjs/resources/images/gray/panel/left-right.gif create mode 100644 skins/jason/extjs/resources/images/gray/panel/light-hd.gif create mode 100644 skins/jason/extjs/resources/images/gray/panel/tool-sprite-tpl.gif create mode 100644 skins/jason/extjs/resources/images/gray/panel/tool-sprites.gif create mode 100644 skins/jason/extjs/resources/images/gray/panel/tools-sprites-trans.gif create mode 100644 skins/jason/extjs/resources/images/gray/panel/top-bottom.gif create mode 100644 skins/jason/extjs/resources/images/gray/panel/top-bottom.png create mode 100644 skins/jason/extjs/resources/images/gray/panel/white-corners-sprite.gif create mode 100644 skins/jason/extjs/resources/images/gray/panel/white-left-right.gif create mode 100644 skins/jason/extjs/resources/images/gray/panel/white-top-bottom.gif create mode 100644 skins/jason/extjs/resources/images/gray/qtip/bg.gif create mode 100644 skins/jason/extjs/resources/images/gray/qtip/close.gif create mode 100644 skins/jason/extjs/resources/images/gray/qtip/tip-sprite.gif create mode 100644 skins/jason/extjs/resources/images/gray/s.gif create mode 100644 skins/jason/extjs/resources/images/gray/tabs/scroll-left.gif create mode 100644 skins/jason/extjs/resources/images/gray/tabs/scroll-right.gif create mode 100644 skins/jason/extjs/resources/images/gray/tabs/scroller-bg.gif create mode 100644 skins/jason/extjs/resources/images/gray/tabs/tab-btm-inactive-left-bg.gif create mode 100644 skins/jason/extjs/resources/images/gray/tabs/tab-btm-inactive-right-bg.gif create mode 100644 skins/jason/extjs/resources/images/gray/tabs/tab-btm-left-bg.gif create mode 100644 skins/jason/extjs/resources/images/gray/tabs/tab-btm-right-bg.gif create mode 100644 skins/jason/extjs/resources/images/gray/tabs/tab-close.gif create mode 100644 skins/jason/extjs/resources/images/gray/tabs/tab-strip-bg.gif create mode 100644 skins/jason/extjs/resources/images/gray/tabs/tab-strip-bg.png create mode 100644 skins/jason/extjs/resources/images/gray/tabs/tab-strip-btm-bg.gif create mode 100644 skins/jason/extjs/resources/images/gray/tabs/tabs-sprite.gif create mode 100644 skins/jason/extjs/resources/images/gray/toolbar/bg.gif create mode 100644 skins/jason/extjs/resources/images/gray/toolbar/btn-arrow-light.gif create mode 100644 skins/jason/extjs/resources/images/gray/toolbar/btn-arrow.gif create mode 100644 skins/jason/extjs/resources/images/gray/toolbar/btn-over-bg.gif create mode 100644 skins/jason/extjs/resources/images/gray/toolbar/gray-bg.gif create mode 100644 skins/jason/extjs/resources/images/gray/toolbar/tb-bg.gif create mode 100644 skins/jason/extjs/resources/images/gray/toolbar/tb-btn-sprite.gif create mode 100644 skins/jason/extjs/resources/images/gray/window/icon-error.gif create mode 100644 skins/jason/extjs/resources/images/gray/window/icon-info.gif create mode 100644 skins/jason/extjs/resources/images/gray/window/icon-question.gif create mode 100644 skins/jason/extjs/resources/images/gray/window/icon-warning.gif create mode 100644 skins/jason/extjs/resources/images/gray/window/left-corners.png create mode 100644 skins/jason/extjs/resources/images/gray/window/left-right.png create mode 100644 skins/jason/extjs/resources/images/gray/window/right-corners.png create mode 100644 skins/jason/extjs/resources/images/gray/window/top-bottom.png create mode 100644 skins/jason/extjs/resources/images/olive/button/btn-arrow.gif create mode 100644 skins/jason/extjs/resources/images/olive/button/btn-sprite.gif create mode 100644 skins/jason/extjs/resources/images/olive/form/clear-trigger.gif create mode 100644 skins/jason/extjs/resources/images/olive/form/date-trigger.gif create mode 100644 skins/jason/extjs/resources/images/olive/form/search-trigger.gif create mode 100644 skins/jason/extjs/resources/images/olive/form/text-bg.gif create mode 100644 skins/jason/extjs/resources/images/olive/form/trigger-tpl.gif create mode 100644 skins/jason/extjs/resources/images/olive/form/trigger.gif create mode 100644 skins/jason/extjs/resources/images/olive/grid/grid-hrow.gif create mode 100644 skins/jason/extjs/resources/images/olive/grid/grid-split.gif create mode 100644 skins/jason/extjs/resources/images/olive/grid/grid3-hd-btn.gif create mode 100644 skins/jason/extjs/resources/images/olive/grid/grid3-hrow-over.gif create mode 100644 skins/jason/extjs/resources/images/olive/grid/grid3-hrow.gif create mode 100644 skins/jason/extjs/resources/images/olive/grid/grid3-special-col-bg.gif create mode 100644 skins/jason/extjs/resources/images/olive/grid/grid3-special-col-sel-bg.gif create mode 100644 skins/jason/extjs/resources/images/olive/grid/hd-pop.gif create mode 100644 skins/jason/extjs/resources/images/olive/grid/row-over.gif create mode 100644 skins/jason/extjs/resources/images/olive/menu/item-over.gif create mode 100644 skins/jason/extjs/resources/images/olive/menu/menu.gif create mode 100644 skins/jason/extjs/resources/images/olive/panel/corners-sprite.gif create mode 100644 skins/jason/extjs/resources/images/olive/panel/left-right.gif create mode 100644 skins/jason/extjs/resources/images/olive/panel/light-hd.gif create mode 100644 skins/jason/extjs/resources/images/olive/panel/tool-sprites.gif create mode 100644 skins/jason/extjs/resources/images/olive/panel/top-bottom.gif create mode 100644 skins/jason/extjs/resources/images/olive/panel/white-top-bottom.gif create mode 100644 skins/jason/extjs/resources/images/olive/qtip/bg.gif create mode 100644 skins/jason/extjs/resources/images/olive/qtip/close.gif create mode 100644 skins/jason/extjs/resources/images/olive/qtip/tip-sprite.gif create mode 100644 skins/jason/extjs/resources/images/olive/s.gif create mode 100644 skins/jason/extjs/resources/images/olive/shared/glass-bg.gif create mode 100644 skins/jason/extjs/resources/images/olive/shared/hd-sprite.gif create mode 100644 skins/jason/extjs/resources/images/olive/shared/left-btn.gif create mode 100644 skins/jason/extjs/resources/images/olive/shared/right-btn.gif create mode 100644 skins/jason/extjs/resources/images/olive/tabs/scroll-left.gif create mode 100644 skins/jason/extjs/resources/images/olive/tabs/scroll-right.gif create mode 100644 skins/jason/extjs/resources/images/olive/tabs/scroller-bg.gif create mode 100644 skins/jason/extjs/resources/images/olive/tabs/tab-btm-inactive-left-bg.gif create mode 100644 skins/jason/extjs/resources/images/olive/tabs/tab-btm-inactive-right-bg.gif create mode 100644 skins/jason/extjs/resources/images/olive/tabs/tab-btm-left-bg.gif create mode 100644 skins/jason/extjs/resources/images/olive/tabs/tab-btm-right-bg.gif create mode 100644 skins/jason/extjs/resources/images/olive/tabs/tab-close.gif create mode 100644 skins/jason/extjs/resources/images/olive/tabs/tab-strip-bg.gif create mode 100644 skins/jason/extjs/resources/images/olive/tabs/tab-strip-bg.png create mode 100644 skins/jason/extjs/resources/images/olive/tabs/tab-strip-btm-bg.gif create mode 100644 skins/jason/extjs/resources/images/olive/tabs/tabs-sprite.gif create mode 100644 skins/jason/extjs/resources/images/olive/toolbar/bg.gif create mode 100644 skins/jason/extjs/resources/images/olive/toolbar/btn-arrow-light.gif create mode 100644 skins/jason/extjs/resources/images/olive/toolbar/btn-arrow.gif create mode 100644 skins/jason/extjs/resources/images/olive/toolbar/btn-over-bg.gif create mode 100644 skins/jason/extjs/resources/images/olive/toolbar/tb-bg.gif create mode 100644 skins/jason/extjs/resources/images/olive/toolbar/tb-btn-sprite.gif create mode 100644 skins/jason/extjs/resources/images/olive/window/left-corners.png create mode 100644 skins/jason/extjs/resources/images/olive/window/left-right.png create mode 100644 skins/jason/extjs/resources/images/olive/window/right-corners.png create mode 100644 skins/jason/extjs/resources/images/olive/window/top-bottom.png create mode 100644 skins/jason/extjs/resources/images/purple/button/btn-arrow.gif create mode 100644 skins/jason/extjs/resources/images/purple/button/btn-sprite.gif create mode 100644 skins/jason/extjs/resources/images/purple/form/clear-trigger.gif create mode 100644 skins/jason/extjs/resources/images/purple/form/date-trigger.gif create mode 100644 skins/jason/extjs/resources/images/purple/form/search-trigger.gif create mode 100644 skins/jason/extjs/resources/images/purple/form/text-bg.gif create mode 100644 skins/jason/extjs/resources/images/purple/form/trigger-tpl.gif create mode 100644 skins/jason/extjs/resources/images/purple/form/trigger.gif create mode 100644 skins/jason/extjs/resources/images/purple/grid/grid-hrow.gif create mode 100644 skins/jason/extjs/resources/images/purple/grid/grid-split.gif create mode 100644 skins/jason/extjs/resources/images/purple/grid/grid3-hd-btn.gif create mode 100644 skins/jason/extjs/resources/images/purple/grid/grid3-hrow-over.gif create mode 100644 skins/jason/extjs/resources/images/purple/grid/grid3-hrow.gif create mode 100644 skins/jason/extjs/resources/images/purple/grid/grid3-special-col-bg.gif create mode 100644 skins/jason/extjs/resources/images/purple/grid/grid3-special-col-sel-bg.gif create mode 100644 skins/jason/extjs/resources/images/purple/grid/hd-pop.gif create mode 100644 skins/jason/extjs/resources/images/purple/grid/row-over.gif create mode 100644 skins/jason/extjs/resources/images/purple/menu/item-over.gif create mode 100644 skins/jason/extjs/resources/images/purple/menu/menu.gif create mode 100644 skins/jason/extjs/resources/images/purple/panel/corners-sprite.gif create mode 100644 skins/jason/extjs/resources/images/purple/panel/left-right.gif create mode 100644 skins/jason/extjs/resources/images/purple/panel/light-hd.gif create mode 100644 skins/jason/extjs/resources/images/purple/panel/tool-sprites.gif create mode 100644 skins/jason/extjs/resources/images/purple/panel/top-bottom.gif create mode 100644 skins/jason/extjs/resources/images/purple/panel/white-top-bottom.gif create mode 100644 skins/jason/extjs/resources/images/purple/qtip/bg.gif create mode 100644 skins/jason/extjs/resources/images/purple/qtip/close.gif create mode 100644 skins/jason/extjs/resources/images/purple/qtip/tip-sprite.gif create mode 100644 skins/jason/extjs/resources/images/purple/s.gif create mode 100644 skins/jason/extjs/resources/images/purple/shared/glass-bg.gif create mode 100644 skins/jason/extjs/resources/images/purple/shared/hd-sprite.gif create mode 100644 skins/jason/extjs/resources/images/purple/shared/left-btn.gif create mode 100644 skins/jason/extjs/resources/images/purple/shared/right-btn.gif create mode 100644 skins/jason/extjs/resources/images/purple/tabs/scroll-left.gif create mode 100644 skins/jason/extjs/resources/images/purple/tabs/scroll-right.gif create mode 100644 skins/jason/extjs/resources/images/purple/tabs/scroller-bg.gif create mode 100644 skins/jason/extjs/resources/images/purple/tabs/tab-btm-inactive-left-bg.gif create mode 100644 skins/jason/extjs/resources/images/purple/tabs/tab-btm-inactive-right-bg.gif create mode 100644 skins/jason/extjs/resources/images/purple/tabs/tab-btm-left-bg.gif create mode 100644 skins/jason/extjs/resources/images/purple/tabs/tab-btm-right-bg.gif create mode 100644 skins/jason/extjs/resources/images/purple/tabs/tab-close.gif create mode 100644 skins/jason/extjs/resources/images/purple/tabs/tab-strip-bg.gif create mode 100644 skins/jason/extjs/resources/images/purple/tabs/tab-strip-bg.png create mode 100644 skins/jason/extjs/resources/images/purple/tabs/tab-strip-btm-bg.gif create mode 100644 skins/jason/extjs/resources/images/purple/tabs/tabs-sprite.gif create mode 100644 skins/jason/extjs/resources/images/purple/toolbar/bg.gif create mode 100644 skins/jason/extjs/resources/images/purple/toolbar/btn-arrow-light.gif create mode 100644 skins/jason/extjs/resources/images/purple/toolbar/btn-arrow.gif create mode 100644 skins/jason/extjs/resources/images/purple/toolbar/btn-over-bg.gif create mode 100644 skins/jason/extjs/resources/images/purple/toolbar/gray-bg.gif create mode 100644 skins/jason/extjs/resources/images/purple/toolbar/tb-bg.gif create mode 100644 skins/jason/extjs/resources/images/purple/toolbar/tb-btn-sprite.gif create mode 100644 skins/jason/extjs/resources/images/purple/window/left-corners.png create mode 100644 skins/jason/extjs/resources/images/purple/window/left-right.png create mode 100644 skins/jason/extjs/resources/images/purple/window/right-corners.png create mode 100644 skins/jason/extjs/resources/images/purple/window/top-bottom.png create mode 100644 skins/jason/extjs/resources/images/vista/basic-dialog/bg-center.gif create mode 100644 skins/jason/extjs/resources/images/vista/basic-dialog/bg-left.gif create mode 100644 skins/jason/extjs/resources/images/vista/basic-dialog/bg-right.gif create mode 100644 skins/jason/extjs/resources/images/vista/basic-dialog/close.gif create mode 100644 skins/jason/extjs/resources/images/vista/basic-dialog/collapse.gif create mode 100644 skins/jason/extjs/resources/images/vista/basic-dialog/dlg-bg.gif create mode 100644 skins/jason/extjs/resources/images/vista/basic-dialog/e-handle.gif create mode 100644 skins/jason/extjs/resources/images/vista/basic-dialog/expand.gif create mode 100644 skins/jason/extjs/resources/images/vista/basic-dialog/hd-sprite.gif create mode 100644 skins/jason/extjs/resources/images/vista/basic-dialog/s-handle.gif create mode 100644 skins/jason/extjs/resources/images/vista/basic-dialog/se-handle.gif create mode 100644 skins/jason/extjs/resources/images/vista/basic-dialog/w-handle.gif create mode 100644 skins/jason/extjs/resources/images/vista/gradient-bg.gif create mode 100644 skins/jason/extjs/resources/images/vista/grid/grid-split.gif create mode 100644 skins/jason/extjs/resources/images/vista/grid/grid-vista-hd.gif create mode 100644 skins/jason/extjs/resources/images/vista/layout/collapse.gif create mode 100644 skins/jason/extjs/resources/images/vista/layout/expand.gif create mode 100644 skins/jason/extjs/resources/images/vista/layout/gradient-bg.gif create mode 100644 skins/jason/extjs/resources/images/vista/layout/ns-collapse.gif create mode 100644 skins/jason/extjs/resources/images/vista/layout/ns-expand.gif create mode 100644 skins/jason/extjs/resources/images/vista/layout/panel-close.gif create mode 100644 skins/jason/extjs/resources/images/vista/layout/panel-title-bg.gif create mode 100644 skins/jason/extjs/resources/images/vista/layout/panel-title-light-bg.gif create mode 100644 skins/jason/extjs/resources/images/vista/layout/stick.gif create mode 100644 skins/jason/extjs/resources/images/vista/layout/tab-close-on.gif create mode 100644 skins/jason/extjs/resources/images/vista/layout/tab-close.gif create mode 100644 skins/jason/extjs/resources/images/vista/qtip/bg.gif create mode 100644 skins/jason/extjs/resources/images/vista/qtip/tip-sprite.gif create mode 100644 skins/jason/extjs/resources/images/vista/s.gif create mode 100644 skins/jason/extjs/resources/images/vista/sizer/e-handle-dark.gif create mode 100644 skins/jason/extjs/resources/images/vista/sizer/e-handle.gif create mode 100644 skins/jason/extjs/resources/images/vista/sizer/ne-handle-dark.gif create mode 100644 skins/jason/extjs/resources/images/vista/sizer/ne-handle.gif create mode 100644 skins/jason/extjs/resources/images/vista/sizer/nw-handle-dark.gif create mode 100644 skins/jason/extjs/resources/images/vista/sizer/nw-handle.gif create mode 100644 skins/jason/extjs/resources/images/vista/sizer/s-handle-dark.gif create mode 100644 skins/jason/extjs/resources/images/vista/sizer/s-handle.gif create mode 100644 skins/jason/extjs/resources/images/vista/sizer/se-handle-dark.gif create mode 100644 skins/jason/extjs/resources/images/vista/sizer/se-handle.gif create mode 100644 skins/jason/extjs/resources/images/vista/sizer/sw-handle-dark.gif create mode 100644 skins/jason/extjs/resources/images/vista/sizer/sw-handle.gif create mode 100644 skins/jason/extjs/resources/images/vista/tabs/tab-btm-inactive-left-bg.gif create mode 100644 skins/jason/extjs/resources/images/vista/tabs/tab-btm-inactive-right-bg.gif create mode 100644 skins/jason/extjs/resources/images/vista/tabs/tab-btm-left-bg.gif create mode 100644 skins/jason/extjs/resources/images/vista/tabs/tab-btm-right-bg.gif create mode 100644 skins/jason/extjs/resources/images/vista/tabs/tab-sprite.gif create mode 100644 skins/jason/extjs/resources/images/vista/toolbar/gray-bg.gif create mode 100644 skins/jason/extjs/resources/images/vista/toolbar/tb-btn-sprite.gif create mode 100644 skins/jason/extjs/resources/resources.jsb create mode 100644 skins/jason/files.lst create mode 100644 skins/jason/form.js create mode 100644 skins/jason/help.js create mode 100644 skins/jason/index.tmpl create mode 100644 skins/jason/jason.css create mode 100644 skins/jason/locale/lang-de.js create mode 100644 skins/jason/main.js create mode 100644 skins/jason/menus.js create mode 100644 skins/jason/monitor.js create mode 100644 skins/jason/now.js create mode 100644 skins/jason/pic/audio.png create mode 100644 skins/jason/pic/autotimer.png create mode 100644 skins/jason/pic/back.png create mode 100644 skins/jason/pic/backward.png create mode 100644 skins/jason/pic/bg.png create mode 100644 skins/jason/pic/blue.png create mode 100644 skins/jason/pic/channel-select.png create mode 100644 skins/jason/pic/channel-stream.png create mode 100644 skins/jason/pic/channel-switch.png create mode 100644 skins/jason/pic/channel.png create mode 100644 skins/jason/pic/chronicle.png create mode 100644 skins/jason/pic/cut.png create mode 100644 skins/jason/pic/delete.png create mode 100644 skins/jason/pic/down.png create mode 100644 skins/jason/pic/edit.png create mode 100644 skins/jason/pic/folder.png create mode 100644 skins/jason/pic/forward.png create mode 100644 skins/jason/pic/green.png create mode 100644 skins/jason/pic/left.png create mode 100644 skins/jason/pic/logout.png create mode 100644 skins/jason/pic/loud.png create mode 100644 skins/jason/pic/menu.png create mode 100644 skins/jason/pic/monitor.png create mode 100644 skins/jason/pic/movie.png create mode 100644 skins/jason/pic/mute.png create mode 100644 skins/jason/pic/new.png create mode 100644 skins/jason/pic/pause.png create mode 100644 skins/jason/pic/play.png create mode 100644 skins/jason/pic/playback.png create mode 100644 skins/jason/pic/preview-bottom.png create mode 100644 skins/jason/pic/preview-right.png create mode 100644 skins/jason/pic/preview.png create mode 100644 skins/jason/pic/quiet.png create mode 100644 skins/jason/pic/radio.png create mode 100644 skins/jason/pic/record.png create mode 100644 skins/jason/pic/recover.png create mode 100644 skins/jason/pic/red.png create mode 100644 skins/jason/pic/remote.png create mode 100644 skins/jason/pic/right.png create mode 100644 skins/jason/pic/search.png create mode 100644 skins/jason/pic/setup.png create mode 100644 skins/jason/pic/stop.png create mode 100644 skins/jason/pic/timer-toggle.png create mode 100644 skins/jason/pic/timer.png create mode 100644 skins/jason/pic/unviewed.png create mode 100644 skins/jason/pic/up.png create mode 100644 skins/jason/pic/users.png create mode 100644 skins/jason/pic/vdr-logo.png create mode 100644 skins/jason/pic/video.png create mode 100644 skins/jason/pic/watch.png create mode 100644 skins/jason/pic/webcast.png create mode 100644 skins/jason/pic/xxv.png create mode 100644 skins/jason/pic/yellow.png create mode 100644 skins/jason/program.js create mode 100644 skins/jason/reader.js create mode 100644 skins/jason/recordings.js create mode 100644 skins/jason/remote.js create mode 100644 skins/jason/search.js create mode 100644 skins/jason/stream.js create mode 100644 skins/jason/tabpanel.js create mode 100644 skins/jason/timers.js create mode 100644 skins/jason/users.js create mode 100644 skins/jason/ux/DDView.js create mode 100644 skins/jason/ux/filter.js create mode 100644 skins/jason/ux/multiselect.css create mode 100644 skins/jason/ux/multiselect.js create mode 100644 skins/jason/ux/sessionprovider.js create mode 100644 skins/jason/ux/tabclosemenu.js create mode 100644 skins/jason/vdr.js create mode 100644 skins/jason/widgets/footer.tmpl create mode 100644 skins/jason/widgets/start.tmpl create mode 100644 skins/jason/widgets/table.tmpl diff --git a/skins/jason/autotimers.js b/skins/jason/autotimers.js new file mode 100644 index 0000000..78f3acb --- /dev/null +++ b/skins/jason/autotimers.js @@ -0,0 +1,341 @@ +/* + * jason - Javascript based skin for xxv + * Copyright(c) 2008-2009, anbr + * + * http://xxv.berlios.de/ + * + * $Id$ + */ + +Ext.xxv.autotimerStore = function() { + + // create the data store + return new Ext.data.Store({ + baseParams:{cmd:'al'} + ,autoLoad:{params:{start:0, limit:configuration.pageSize}} + ,reader: new Ext.xxv.jsonReader({ + fields: [ + {name: 'id', type: 'int'}, + {name: 'active', type: 'int', convert: function(x) { if(x == 'y'){ return 1;} else {return 0;} }}, + {name: 'title', type: 'string'}, + {name: 'channels', type: 'string'}, + {name: 'directory', type: 'string'}, + {name: 'start', type: 'string'}, + {name: 'stop', type: 'string'}, + {name: 'minlength', type: 'int'} + ] + }) + ,proxy : new Ext.data.HttpProxy({ + url: XXV.help.baseURL() + ,method: 'GET' + }) + ,sortInfo:{field:'title', direction:'ASC'} + }); +}; + +Ext.xxv.autotimerGrid = function(viewer, channels) { + this.viewer = viewer; + //Ext.apply(this, {}); // Apply config + + // create the data store + this.store = new Ext.xxv.autotimerStore(); + this.store.setDefaultSort('title', "ASC"); + + // custom columns as plugins + this.activeColumn = new Ext.grid.CheckColumn({ + header: this.szColActive + ,dataIndex: 'active' + ,width: 50 + ,bitmask: 1 + ,editable: false + ,hidden: true + }); + + this.columns = [ + { + header: this.szColSearch + ,dataIndex: 'title' + ,width: 200 + ,renderer: this.formatTitle + }, + this.activeColumn, + { header: this.szColChannels + ,dataIndex: 'channels' + ,width: 130 + },{ + header: this.szColDirectory + ,dataIndex: 'directory' + ,width: 200 + },{ + header: this.szColStart + ,dataIndex: 'start' + ,width: 50 + },{ + header: this.szColStop + ,dataIndex: 'stop' + ,width: 50 + },{ + header: this.szColMinLength + ,dataIndex: 'minlength' + ,width: 50 + } + ]; + + var cm = new Ext.grid.ColumnModel(this.columns); + cm.defaultSortable = true; + + Ext.xxv.autotimerGrid.superclass.constructor.call(this, { + region: 'center' + ,id: 'autotimer-view-grid' + ,loadMask: true + ,plugins:[this.activeColumn] + ,clicksToEdit:1 + ,cm: cm + ,sm: new Ext.grid.RowSelectionModel({ + singleSelect:false + }) + ,tbar:new Ext.PagingToolbar({ + pageSize: this.store.autoLoad.params.limit + ,store: this.store + ,displayInfo: true + ,items: [ + { + id:'an' + ,iconCls: 'new-icon' +// ,text: this.szNew + ,scope: this + ,disabled:false + ,handler: function(){ this.EditItem(null); } + } + ]}) + ,plugins:[new Ext.ux.grid.Search({ + position:'top' + ,paramNames: { + fields:'cmd' + ,all:'al' + ,cmd:'ase' + ,query:'data' + } + })] + }); + + this.store.on({ + 'load' : this.onLoad + ,'loadexception' : this.onLoadException + ,scope:this + }); + + this.on('rowcontextmenu', this.onContextClick, this); + this.on('rowdblclick', this.onEditItem, this); +}; + +Ext.extend(Ext.xxv.autotimerGrid, Ext.grid.EditorGridPanel, { + + szTitle : "Search timer" + ,szFindReRun : "Find rerun" + ,szNew : "New" + ,szEdit : "Edit" + ,szDelete : "Delete" + ,szColSearch : "Search text" + ,szColActive : "Active" + ,szColChannels : "Channels" + ,szColDirectory : "Directory" + ,szColStart : "Start" + ,szColStop : "Stop" + ,szColMinLength : "Min. Length" + ,szLoadException : "Couldn't get data about autotimer!\r\n{0}" + ,szDeleteSuccess : "Autotimer deleted successful.\r\n{0}" + ,szDeleteFailure : "Couldn't delete autotimer!\r\n{0}" + + ,stateful: true + + ,onLoadException : function( scope, o, arg, e) { + new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e); + } + ,onLoad : function( store, records, opt ) { + this.getSelectionModel().selectFirstRow(); + this.ownerCt.SetPanelTitle(this.szTitle); + } + ,onContextClick : function(grid, index, e){ + if(!this.menu){ // create context menu on first right click + this.menu = new Ext.menu.Menu({ + id:'grid-ctx', + items: [{ + id:'s' + ,text: this.szFindReRun + ,iconCls: 'find-icon' + ,scope:this + ,disabled: true + ,handler: function(){ this.viewer.searchTab(this.ctxRecord);} + },{ + id:'ae' + ,text: this.szEdit + ,iconCls: 'edit-icon' + ,scope:this + ,disabled: true + ,handler: function() { this.EditItem(this.ctxRecord); } + },{ + id:'ad' + ,text: this.szDelete + ,iconCls: 'delete-icon' + ,scope:this + ,disabled: true + ,handler: function() { this.DeleteItem(this.ctxRecord); } + } + ] + }); + this.menu.on('hide', this.onContextHide, this); + } + e.stopEvent(); + if(this.ctxRow){ + Ext.fly(this.ctxRow).removeClass('x-node-ctx'); + this.ctxRow = null; + } + this.ctxRow = this.view.getRow(index); + this.ctxRecord = this.store.getAt(index); + Ext.fly(this.ctxRow).addClass('x-node-ctx'); + + var items = this.menu.items; + if(items) { items.eachKey(function(key, f) { + if(XXV.help.cmdAllowed(key)) f.enable(); + },items); } + + this.menu.showAt(e.getXY()); + } + ,onContextHide : function(){ + if(this.ctxRow){ + Ext.fly(this.ctxRow).removeClass('x-node-ctx'); + this.ctxRow = null; + } + } + ,formatTitle: function(value, p, record) { + return String.format( + '
{0}
', + value + ); + } + /******************************************************************************/ + ,onDeleteSuccess : function( response,options ) + { + this.loadMask.hide(); + + var o = eval("("+response.responseText+")"); + + if(o && o.data && typeof(o.data) == 'string' + && o.param && o.param.state && o.param.state == 'success') { + new Ext.xxv.MessageBox().msgSuccess(this.szDeleteSuccess, o.data); + + var gsm = this.getSelectionModel(); + var sel = options.params.data.split(","); + sel.reverse(); + for(var i = 0, len = sel.length; i < len; i++){ + if(gsm.isIdSelected(sel[i])) { + if(gsm.hasPrevious()) { + gsm.selectPrevious(); + } else { + gsm.selectNext(); + } + } + var record = this.store.getById(sel[i]); + this.store.remove(record); + } + } else { + var msg = ''; + if(o && o.data && typeof(o.data) == 'string') { + msg = o.data; + } + new Ext.xxv.MessageBox().msgFailure(this.szDeleteFailure, msg); + } + } + + ,onDeleteFailure : function( response,options ) + { + this.loadMask.hide(); + new Ext.xxv.MessageBox().msgFailure(this.szDeleteFailure, response.statusText); + } + + ,DeleteItem : function( record ) { + this.stopEditing(); + this.loadMask.show(); + + var gsm = this.getSelectionModel(); + var sel = gsm.getSelections() + if(sel.length <= 0) { + gsm.selectRecords([record]); + sel.push(record); + } + var todel = ""; + for(var i = 0, len = sel.length; i < len; i++){ + if(i != 0) + todel += ','; + todel += sel[i].data.id; + } + Ext.Ajax.request({ + scope: this + ,url: XXV.help.cmdAJAX('ad') + ,timeout: 15000 + ,success: this.onDeleteSuccess + ,failure: this.onDeleteFailure + ,params:{ data: todel } + }); + } + + /******************************************************************************/ + ,EditItem : function( record ) { + this.stopEditing(); + var item; + + if(record != null) { + var gsmTimer = this.getSelectionModel(); + gsmTimer.selectRecords([record]); + + item = { + cmd: 'ae' + ,id: record.data.id + ,title: record.data.title + }; + } else { + item = { + cmd: 'an' + ,id: 0 + ,title: this.szNew + }; + } + + if(this.viewer.formwin){ + this.viewer.formwin.close(); + } + this.viewer.formwin = new Ext.xxv.Question(item,this.store); + }, + onEditItem : function(grid, index, e) { + e.stopEvent(); + if(this.ctxRow){ + Ext.fly(this.ctxRow).removeClass('x-node-ctx'); + this.ctxRow = null; + } + var record = this.store.getAt(index); + this.EditItem(record); + } +}); + +function createAutoTimerView(viewer,id) { + + viewer.gridAutoTimer = new Ext.xxv.autotimerGrid(viewer, viewer.storeChannels); + + tab = new Ext.xxv.Panel({ + id: id, + iconCls:"autotimer-icon", + closable:true, + border:false, + layout:'border', + stateful:true, + hideMode:'offsets', + items:[ + viewer.gridAutoTimer + ] + }); + + viewer.add(tab); + return tab; +} + diff --git a/skins/jason/channels.js b/skins/jason/channels.js new file mode 100644 index 0000000..3f2beb6 --- /dev/null +++ b/skins/jason/channels.js @@ -0,0 +1,69 @@ +/* + * jason - Javascript based skin for xxv + * Copyright(c) 2008-2009, anbr + * + * http://xxv.berlios.de/ + * + * $Id$ + */ + +Ext.xxv.storeChannels = function() { + return new Ext.data.Store({ + autoLoad: true, + reader: new Ext.xxv.jsonReader({ + fields: [ + {name: 'id', type: 'string'}, + {name: 'name', type: 'string'}, + {name: 'frequency', type: 'int'}, + {name: 'parameter', type: 'string'}, + {name: 'source', type: 'string'}, + {name: 'srate', type: 'string'}, + {name: 'vpid', type: 'string'}, + {name: 'apid', type: 'string'}, + {name: 'tpid', type: 'string'}, + {name: 'ca', type: 'string'}, + {name: 'sid', type: 'string'}, + {name: 'nid', type: 'string'}, + {name: 'tid', type: 'string'}, + {name: 'rid', type: 'string'}, + {name: 'group', type: 'string'}, + {name: 'position', type: 'int'}, + {name: 'grpname', type: 'string'} + ] + }), + proxy : new Ext.data.HttpProxy({ + url: XXV.help.cmdAJAX('cl') + ,method: 'GET' + }) +// sortInfo:{field:'position', direction:'ASC'} + }); + +}; + +/******************************************************************************/ +Ext.xxv.ChannelsCombo = function(config){ + Ext.apply(this, config); + if(!this.id){ + this.id = Ext.id(); + } + this.renderer = this.renderer.createDelegate(this); +}; + +Ext.xxv.ChannelsCombo.prototype ={ + init : function(grid){ +/* this.grid = grid; + this.grid.on('render', function(){ + var view = this.grid.getView(); + }, this);*/ + }, + renderer: function(value, p, record) { + + for(var i = 0, len = this.store.data.length; i < len; i++){ + var rec = this.store.getAt(i); + if(rec.data.position == value) { + return rec.data.name; + } + } + return record.data.channel; + } +}; diff --git a/skins/jason/channelspanel.js b/skins/jason/channelspanel.js new file mode 100644 index 0000000..86d4656 --- /dev/null +++ b/skins/jason/channelspanel.js @@ -0,0 +1,365 @@ +/* + * jason - Javascript based skin for xxv + * Copyright(c) 2008-2009, anbr + * + * http://xxv.berlios.de/ + * + * $Id$ + */ + +Ext.xxv.channelsPanel = function() { + + this.store = new Ext.xxv.storeChannels(); + + Ext.xxv.channelsPanel.superclass.constructor.call(this, { + id:'channel-tree', + region:'west', + split:true, + width: 225, + minSize: 175, + maxSize: 400, + collapsible: true, + margins:'5 0 5 5', + cmargins:'5 5 5 5', + rootVisible:false, + lines:false, + autoScroll:true, + root: new Ext.tree.TreeNode('items'), + collapseFirst:false, + + tbar: [ + { + id:'lst' + ,iconCls:'stream-icon' + ,tooltip: {title:this.webcastTTText,text:this.webcastText} + ,scope: this + ,disabled: true + ,handler:function(){ + var s = this.getSelectionModel().getSelectedNode(); + if(s){ + this.onWebCastChannel(s.attributes.channel); + } + } + }, + { + id:'sw' + ,iconCls:'switch-icon' + ,tooltip: {title:this.switchTTText,text:this.switchText} + ,scope: this + ,disabled: true + ,handler:function(){ + var s = this.getSelectionModel().getSelectedNode(); + if(s){ + this.onSwitchChannel(s.attributes.channel); + } + } + } + ,'-', + { + id:'ced' + ,iconCls:'edit-icon' + ,tooltip: {title:this.editTTText,text:this.editText} + ,scope: this + ,disabled: true + ,handler:function(){ + var s = this.getSelectionModel().getSelectedNode(); + if(s){ + this.EditItem(s.attributes.channel); + } + } + } + ,'->' + ,{ + id:'cl' + ,iconCls:'x-tbar-loading' + ,tooltip: this.refreshText + ,scope: this + ,handler:function(){ this.store.reload(); } + } + + ] + }); + + this.getSelectionModel().on({ + 'beforeselect' : function(sm, node){ + return node.isLeaf(); + }, + 'selectionchange' : function(sm, node){ + if(node){ + var record = this.store.getById(node.attributes.channel); + var top = Ext.getCmp('main-tabs'); + top.openProgram(record.data); + + var items = this.topToolbar.items; + if(items) { items.eachKey(function(key, f) { + if(XXV.help.cmdAllowed(key)) f.enable(); + },items); } + } + //this.getTopToolbar().items.get('delete').setDisabled(!node); + }, + scope:this + }); + + this.store.on('load', this.onLoad, this); + this.store.on('loadexception', this.onLoadException, this); + this.on('contextmenu', this.onContextMenu, this); +}; + +Ext.extend(Ext.xxv.channelsPanel, Ext.tree.TreePanel, { + + title : "Channels" + ,refreshText : "Refresh" + ,selectText : "Select channel" + ,webcastTTText : "Web cast" + ,webcastText : "Live web cast this channel" + ,switchTTText: "Switch" + ,switchText : "Switch to this channel" + ,editTTText : "Edit" + ,editText : "Edit this channel" + ,deleteText : "Delete this channel" + ,szLoadException : "Couldn't get channels data!\r\n{0}" + ,szSwitchSuccess : "Successful switch to channel.\r\n{0}" + ,szSwitchFailure : "Couldn't switch to channel!\r\n{0}" + ,szDeleteSuccess : "Channel successful deleted.\r\n{0}" + ,szDeleteFailure : "Couldn't delete channel!\r\n{0}" + ,stateful : true + + ,onContextMenu : function(node, e){ + if(!this.menu){ // create context menu on first right click + this.menu = new Ext.menu.Menu({ + items: [{ + id:'p' + ,iconCls:'select-channel-icon' + ,text:this.selectText + ,scope: this + ,disabled: true + ,handler:function(){ this.ctxNode.select(); } + } + ,'-', + { + id:'lst' + ,iconCls:'stream-icon' + ,text:this.webcastText + ,scope: this + ,disabled: true + ,handler:function(){ this.onWebCastChannel(this.ctxNode.attributes.channel); } + }, + { + id:'sw' + ,iconCls:'switch-icon' + ,text:this.switchText + ,scope: this + ,disabled: true + ,handler:function(){ this.onSwitchChannel(this.ctxNode.attributes.channel); } + } + ,'-', + { + id:'ced' + ,iconCls:'edit-icon' + ,text:this.editText + ,scope: this + ,disabled: true + ,handler:function(){ this.EditItem(this.ctxNode.attributes.channel); } + }, + { + id:'cdl' + ,iconCls:'delete-icon' + ,text:this.deleteText + ,scope: this + ,disabled: true + ,handler:function(){ this.DeleteItem(this.ctxNode.attributes.channel,this.ctxNode); } + } + ] + }); + this.menu.on('hide', this.onContextHide, this); + } + if(this.ctxNode){ + this.ctxNode.ui.removeClass('x-node-ctx'); + this.ctxNode = null; + } + if(node.isLeaf()){ + this.ctxNode = node; + this.ctxNode.ui.addClass('x-node-ctx'); + + var items = this.menu.items; + if(items) { items.eachKey(function(key, f) { + if(XXV.help.cmdAllowed(key)) f.enable(); + },items); } + + this.menu.items.get('p').setDisabled(node.isSelected()); + + this.menu.showAt(e.getXY()); + } + } + + ,onContextHide : function(){ + if(this.ctxNode){ + this.ctxNode.ui.removeClass('x-node-ctx'); + this.ctxNode = null; + } + } + + ,additem : function(attrs, inactive, preventAnim, treeitem){ + var exists = this.getNodeById(attrs.url); + if(exists){ + if(!inactive){ + exists.select(); + exists.ui.highlight(); + } + return; + } + Ext.apply(attrs, { + iconCls: 'channel-icon', + leaf:true, + cls:'channel', + id: attrs.url + }); + var node = new Ext.tree.TreeNode(attrs); + treeitem.appendChild(node); + + if(!inactive){ + if(!preventAnim){ + Ext.fly(node.ui.elNode).slideIn('l', { + callback: node.select, scope: node, duration: .4 + }); + }else{ + node.select(); + } + } + return node; + } + + // prevent the default context menu when you miss the node + ,afterRender : function(){ + Ext.xxv.channelsPanel.superclass.afterRender.call(this); + this.el.on('contextmenu', function(e){ + e.preventDefault(); + }); + } +/******************************************************************************/ + ,onLoadException : function( scope, o, arg, e) { + new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e); + } + ,onLoad : function( store, records, opt ) { + + var node,grpname; + + for(var i = this.root.childNodes.length; i > 0; i--){ + this.root.removeChild(this.root.item(i-1)); + } + + for(var i = 0, len = records.length; i < len; i++){ + if(!node || records[i].data.grpname != grpname) { + node = this.root.appendChild( + new Ext.tree.TreeNode({ + text:records[i].data.grpname, + cls:'channels-node', + expanded: (i == 0 ? true: false) + }) + ); + grpname = records[i].data.grpname; + } + this.additem({ + text: records[i].data.name, + channel: records[i].data.id +// }, (i == 0 ? false: true),(i == 0 ? false: true),node); //Select first node + }, true,true,node); + } + } +/******************************************************************************/ + ,onSwitchSuccess : function( response,options ) + { + var json = response.responseText; + var o = eval("("+json+")"); + if(!o || !o.data || typeof(o.data) != 'string') { + throw {message: "Ajax.read: Json message not found"}; + } + if(o.param && o.param.state && o.param.state == 'success') { + new Ext.xxv.MessageBox().msgSuccess(this.szSwitchSuccess, o.data); + }else { + new Ext.xxv.MessageBox().msgFailure(this.szSwitchFailure, o.data); + } + } + ,onSwitchFailure : function( response,options ) + { + new Ext.xxv.MessageBox().msgFailure(this.szSwitchFailure, response.statusText); + } + ,onSwitchChannel : function( id ) { + var record = this.store.getById(id); + + if(this.SwitchChanneltid) Ext.Ajax.abort(this.SwitchChanneltid); + this.SwitchChanneltid = Ext.Ajax.request({ + url: XXV.help.cmdAJAX('sw',{ data: record.data.id }) + ,success: this.onSwitchSuccess + ,failure: this.onSwitchFailure + ,scope: this + }); + } +/******************************************************************************/ + ,EditItem : function( id ) { + var record = this.store.getById(id); + + var item = { + cmd: 'ced' + ,id: record.data.id + ,title: record.data.name + }; + + var viewer = Ext.getCmp('main-tabs'); + if(viewer.formwin){ + viewer.formwin.close(); + } + viewer.formwin = new Ext.xxv.Question(item,this.store); + } +/******************************************************************************/ + ,onDeleteSuccess : function( response,options ) + { + var json = response.responseText; + var o = eval("("+json+")"); + if(!o || !o.data || typeof(o.data) != 'string') { + throw {message: "Ajax.read: Json message not found"}; + } + if(o.param && o.param.state && o.param.state == 'success') { + this.root.removeChild(options.node); + var record = this.store.getById(options.id); + if(record) { + this.store.remove(record); + } + new Ext.xxv.MessageBox().msgSuccess(this.szDeleteSuccess, o.data); + } else { + new Ext.xxv.MessageBox().msgFailure(this.szDeleteFailure, o.data); + } + } + ,onDeleteFailure : function( response,options ) + { + new Ext.xxv.MessageBox().msgFailure(this.szDeleteFailure, response.statusText); + } + ,DeleteItem : function( id,node ) { + var record = this.store.getById(id); + + if(this.DeleteChanneltid) Ext.Ajax.abort(this.DeleteChanneltid); + this.DeleteChanneltid = Ext.Ajax.request({ + url: XXV.help.cmdAJAX('cdl',{ data: record.data.id }) + ,node: node + ,id: record.data.id + ,success: this.onDeleteSuccess + ,failure: this.onDeleteFailure + ,scope: this + }); + } +/******************************************************************************/ + ,onWebCastChannel : function( id ) { + var record = this.store.getById(id); + var item = { + url: XXV.help.cmdHTML('lst',{ data: record.data.position, '__player':'1' }) + ,title: record.data.name + }; + + var viewer = Ext.getCmp('main-tabs'); + if(!viewer.streamwin){ + viewer.streamwin = new Ext.xxv.StreamWindow(item); + } else { + viewer.streamwin.show(item); + } + } +}); diff --git a/skins/jason/chronicle.js b/skins/jason/chronicle.js new file mode 100644 index 0000000..a989850 --- /dev/null +++ b/skins/jason/chronicle.js @@ -0,0 +1,268 @@ +/* + * jason - Javascript based skin for xxv + * Copyright(c) 2008-2009, anbr + * + * http://xxv.berlios.de/ + * + * $Id$ + */ + +Ext.xxv.chronicleStore = function() { + + // create the data store + return new Ext.data.Store({ + baseParams:{cmd:'chrl'} + ,autoLoad:{params:{start:0, limit:configuration.pageSize}} + ,reader: new Ext.xxv.jsonReader({ + fields: [ + {name: 'id', type: 'int'}, + {name: 'title', type: 'string'}, + {name: 'channels', type: 'string'}, + {name: 'day', type:'date', dateFormat:'timestamp'}, + {name: 'start', type: 'string'}, + {name: 'stop', type: 'string'} + ] + }) + ,proxy : new Ext.data.HttpProxy({ + url: XXV.help.baseURL() + ,method: 'GET' + }) + ,sortInfo:{field:'day', direction:'ASC'} + }); +}; + +Ext.xxv.chronicleGrid = function(viewer, channels) { + this.viewer = viewer; + + // create the data store + this.store = new Ext.xxv.chronicleStore(); + this.store.setDefaultSort('title', "ASC"); + + this.columns = [ + { + header: this.szColTitle + ,dataIndex: 'title' + ,width: 200 + ,renderer: this.formatTitle + }, + { header: this.szColChannel + ,dataIndex: 'channels' + ,width: 130 + },{ + header: this.szColDay + ,dataIndex: 'day' + ,width: 50 + ,renderer: Ext.util.Format.dateRenderer(this.szColDayFormat) + },{ + header: this.szColStart + ,dataIndex: 'start' + ,width: 50 + },{ + header: this.szColStop + ,dataIndex: 'stop' + ,width: 50 + } + ]; + + var cm = new Ext.grid.ColumnModel(this.columns); + cm.defaultSortable = true; + + Ext.xxv.chronicleGrid.superclass.constructor.call(this, { + region: 'center' + ,id: 'chronicle-view-grid' + ,loadMask: true + ,clicksToEdit:1 + ,cm: cm + ,sm: new Ext.grid.RowSelectionModel({ + singleSelect:false + }) + ,tbar:new Ext.PagingToolbar({ + pageSize: this.store.autoLoad.params.limit, + store: this.store, + displayInfo: true }) + ,plugins:[new Ext.ux.grid.Search({ + position:'top' + ,paramNames: { + fields:'cmd' + ,all:'chrl' + ,cmd:'chrs' + ,query:'data' + } + })] + }); + + this.store.on({ + 'load' : this.onLoad + ,'loadexception' : this.onLoadException + ,scope:this + }); + + this.on('rowcontextmenu', this.onContextClick, this); + this.on('rowdblclick', this.onEditItem, this); +}; + +Ext.extend(Ext.xxv.chronicleGrid, Ext.grid.EditorGridPanel, { + + szTitle : "Chronicle" + ,szToolTip : "Display recordings in chronological order" + ,szFindReRun : "Find rerun" + ,szDelete : "Delete" + ,szColTitle : "Title" + ,szColDay : "Day" + ,szColChannel : "Channel" + ,szColStart : "Start" + ,szColStop : "Stop" + ,szColDayFormat : "l, m/d/Y" + ,szLoadException : "Couldn't get data from chronicle!\r\n{0}" + ,szDeleteSuccess : "Data from chronicle deleted successful.\r\n{0}" + ,szDeleteFailure : "Couldn't delete data from chronicle!\r\n{0}" + + ,stateful: true + + ,onLoadException : function( scope, o, arg, e) { + new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e); + } + ,onLoad : function( store, records, opt ) { + this.getSelectionModel().selectFirstRow(); + this.ownerCt.SetPanelTitle(this.szTitle); + } + ,onContextClick : function(grid, index, e){ + if(!this.menu){ // create context menu on first right click + this.menu = new Ext.menu.Menu({ + id:'grid-ctx', + items: [{ + id:'s' + ,text: this.szFindReRun + ,iconCls: 'find-icon' + ,scope:this + ,disabled: true + ,handler: function(){ this.viewer.searchTab(this.ctxRecord);} + },{ + id:'chrd' + ,text: this.szDelete + ,iconCls: 'delete-icon' + ,scope:this + ,disabled: true + ,handler: function() { this.DeleteItem(this.ctxRecord); } + } + ] + }); + this.menu.on('hide', this.onContextHide, this); + } + e.stopEvent(); + if(this.ctxRow){ + Ext.fly(this.ctxRow).removeClass('x-node-ctx'); + this.ctxRow = null; + } + this.ctxRow = this.view.getRow(index); + this.ctxRecord = this.store.getAt(index); + Ext.fly(this.ctxRow).addClass('x-node-ctx'); + + var items = this.menu.items; + if(items) { items.eachKey(function(key, f) { + if(XXV.help.cmdAllowed(key)) f.enable(); + },items); } + + this.menu.showAt(e.getXY()); + }, + + onContextHide : function(){ + if(this.ctxRow){ + Ext.fly(this.ctxRow).removeClass('x-node-ctx'); + this.ctxRow = null; + } + }, + + formatTitle: function(value, p, record) { + return String.format( + '
{0}
', + value + ); + } + /******************************************************************************/ + ,onDeleteSuccess : function( response,options ) + { + this.loadMask.hide(); + + var o = eval("("+response.responseText+")"); + + if(o && o.data && typeof(o.data) == 'string' + && o.param && o.param.state && o.param.state == 'success') { + new Ext.xxv.MessageBox().msgSuccess(this.szDeleteSuccess, o.data); + + var gsm = this.getSelectionModel(); + var sel = options.params.data.split(","); + sel.sort(function (a, b) { return b - a; }); + for(var i = 0, len = sel.length; i < len; i++){ + if(gsm.isIdSelected(sel[i])) { + if(gsm.hasPrevious()) { + gsm.selectPrevious(); + } else { + gsm.selectNext(); + } + } + var record = this.store.getById(sel[i]); + this.store.remove(record); + } + } else { + var msg = ''; + if(o && o.data && typeof(o.data) == 'string') { + msg = o.data; + } + new Ext.xxv.MessageBox().msgFailure(this.szDeleteFailure, msg); + } + } + + ,onDeleteFailure : function( response,options ) + { + this.loadMask.hide(); + new Ext.xxv.MessageBox().msgFailure(this.szDeleteFailure, response.statusText); + } + + ,DeleteItem : function( record ) { + this.stopEditing(); + this.loadMask.show(); + + var gsm = this.getSelectionModel(); + var sel = gsm.getSelections() + if(sel.length <= 0) { + gsm.selectRecords([record]); + sel.push(record); + } + var todel = ""; + for(var i = 0, len = sel.length; i < len; i++){ + if(i != 0) + todel += ','; + todel += sel[i].data.id; + } + Ext.Ajax.request({ + scope: this + ,url: XXV.help.cmdAJAX('chrd') + ,timeout: 15000 + ,success: this.onDeleteSuccess + ,failure: this.onDeleteFailure + ,params:{ data: todel } + }); + } +}); + +function createChronicleView(viewer,id) { + + viewer.chronicleGrid = new Ext.xxv.chronicleGrid(viewer, viewer.storeChannels); + + tab = new Ext.xxv.Panel({ + id: id, + iconCls:"chronicle-icon", + closable:true, + border:false, + layout:'border', + stateful:true, + hideMode:'offsets', + items:[ viewer.chronicleGrid ] + }); + + + viewer.add(tab); + return tab; +} + diff --git a/skins/jason/common.js b/skins/jason/common.js new file mode 100644 index 0000000..74a5e65 --- /dev/null +++ b/skins/jason/common.js @@ -0,0 +1,546 @@ +/* + * jason - Javascript based skin for xxv + * Copyright(c) 2008-2009, anbr + * + * http://xxv.berlios.de/ + * + * $Id$ + */ + +Ext.grid.CheckColumn = function(config){ + this.editable = true; + Ext.apply(this, config); + if(!this.id){ + this.id = Ext.id(); + } + this.renderer = this.renderer.createDelegate(this); +}; + +Ext.grid.CheckColumn.prototype ={ + init : function(grid){ + this.grid = grid; + this.grid.on('render', function(){ + var view = this.grid.getView(); + if(this.editable) + view.mainBody.on('mousedown', this.onMouseDown, this); + }, this); + }, + + onMouseDown : function(e, t){ + if(t.className && t.className.indexOf('x-grid3-cc-'+this.id) != -1){ + e.stopEvent(); + var index = this.grid.getView().findRowIndex(t); + var record = this.grid.store.getAt(index); + var flags = record.data[this.dataIndex]; + if(flags & this.bitmask) { + flags &= ~(this.bitmask); + } else { + flags |= (this.bitmask); + } + record.set(this.dataIndex, flags); + } + }, + + renderer : function(v, p, record){ + p.css += ' x-grid3-check-col-td'; + return '
 
'; + } +}; + +Ext.namespace('Ext.xxv'); +/******************************************************************************/ +Ext.xxv.MessageBox = function(config){ + Ext.apply(this, config); + if(!this.id){ + this.id = Ext.id(); + } +}; + +Ext.xxv.MessageBox.prototype = { + + szFailure : "Failure!" + ,szSuccess : "Success!" + + ,msgFailure : function(format){ this.msg(this.szFailure,format, Array.prototype.slice.call(arguments, 1)); } + ,msgSuccess : function(format){ this.msg(this.szSuccess,format, Array.prototype.slice.call(arguments, 1)); } + ,msg : function(title,format){ + var msgCt = Ext.fly('msg-div'); + if(!msgCt){ + msgCt = Ext.DomHelper.insertFirst(document.body, {id:'msg-div'}, true); + } + msgCt.alignTo(document, 't-t'); + var s = String.format.apply(String, Array.prototype.slice.call(arguments, 1)); + var m = Ext.DomHelper.append(msgCt, {html:this.createBox(title, s)}, true); + var delay = 10; + if(title === this.szSuccess) { + delay = 2; + } + m.slideIn('t').pause(delay).ghost("t", {remove:true,scope: this,callback:this.remove}); + } + ,init : function(){ } + ,remove : function() {delete this;} + ,createBox : function(t, s){ + return ['
', + '
', + '

', t, '

', s.replace(/\r\n/g, '
'), '
', + '
', + '
'].join(''); + } + +}; + +/******************************************************************************/ +Ext.xxv.Panel = function(config){ + Ext.apply(this, config); + if(!this.id){ + this.id = Ext.id(); + } +}; +Ext.xxv.Panel = Ext.extend(Ext.Panel, { + title : "Connect ..." + ,szLoading : "Loading ..." + ,szTitle : "Xtreme eXtension for VDR" + ,LoadTitle : function(){ + this.setTitle(this.szLoading); + } + ,SetPanelTitle : function(str){ + this.setTitle(str); + this.DocumentTitle(str); + } + ,DocumentTitle : function(str){ + document.title = str + " - " + this.szTitle; + } + +}); + +/******************************************************************************/ +Ext.xxv.checkboxes = Ext.extend(Ext.form.Field, { + /** + * @cfg {String} focusClass The CSS class to use when the checkbox receives focus (defaults to undefined) + */ + focusClass : undefined, + /** + * @cfg {String} fieldClass The default CSS class for the checkbox (defaults to "x-form-field") + */ + fieldClass: "x-form-field", + /** + * @cfg {Boolean} checked True if the the checkbox should render already checked (defaults to false) + */ + checked: false, + /** + * @cfg {String/Object} autoCreate A DomHelper element spec, or true for a default element spec (defaults to + * {tag: "input", type: "checkbox", autocomplete: "off"}) + */ + defaultAutoCreate : { tag: "input", type: 'checkbox', autocomplete: "off"}, + /** + * @cfg {String} boxLabel The text that appears beside the checkbox + */ + + getId:function(){ + //if multiple items are defined use this information + if(this.items && this.items instanceof Array){ + if(this.items.length){ + var r=this.items[0]; + this.value=r.value; + this.boxLabel=r.boxLabel; + this.checked=r.checked || false; + this.readOnly=r.readOnly || false; + this.disabled=r.disabled || false; + this.tabIndex=r.tabIndex; + this.cls=r.cls; + this.listeners=r.listeners; + this.style=r.style; + this.bodyStyle=r.bodyStyle; + this.hideParent=r.hideParent; + this.hidden=r.hidden; + } + } + Ext.xxv.checkboxes.superclass.getId.call(this); + }, + + // private + initComponent : function(){ + Ext.xxv.checkboxes.superclass.initComponent.call(this); + this.addEvents( + /** + * @event change + * Fires when the checkbox value changes. + * @param {Ext.vx.checkboxes} this This checkbox + * @param {Boolean} checked The new checked value + */ + 'check' + ); + }, + + // private + onResize : function(){ + Ext.xxv.checkboxes.superclass.onResize.apply(this, arguments); + if(!this.boxLabel){ + this.el.alignTo(this.wrap, 'c-c'); + } + }, + + // private + initEvents : function(){ + Ext.xxv.checkboxes.superclass.initEvents.call(this); + this.el.on("click", this.onClick, this); + this.el.on("change", this.onClick, this); + }, + + // private + getResizeEl : function(){ + return this.wrap; + }, + + // private + getPositionEl : function(){ + return this.wrap; + }, + + /** + * Overridden and disabled. The editor element does not support standard valid/invalid marking. @hide + * @method + */ + markInvalid : Ext.emptyFn, + /** + * Overridden and disabled. The editor element does not support standard valid/invalid marking. @hide + * @method + */ + clearInvalid : Ext.emptyFn, + + // private + onRender : function(ct, position){ + Ext.xxv.checkboxes.superclass.onRender.call(this, ct, position); + this.wrap = this.el.wrap({cls: "x-form-check-wrap"}); + if(this.boxLabel){ + this.wrap.createChild({tag: 'label', htmlFor: this.el.id, cls: 'x-form-cb-label', html: this.boxLabel}); + } + if(!this.isInGroup){ + this.wrap.applyStyles({'padding-top':'2px'}); + } + if(this.checked){ + this.setChecked(true); + }else{ + this.checked = this.el.dom.checked; + } + if (this.items && this.items instanceof Array) { + this.els=new Array(); + this.els[0]=this.el; + for(var i=1;i 0){ + this.value=this.el.dom.value; + } + }, + + // private + onDestroy : function(){ + if (this.items && this.items instanceof Array) { + var cnt = this.items.length; + for(var x=1;x', + '

{title}

{period}
', + '

{subtitle} 

', + '
{day:date} {start} - {stop}
', + '', + '
', + '
', + '
', + '
', + '
', + '
', + '
', + '
{content}
' + ); + this.tpl.compile(); + + this.tplimg = new Ext.Template('{day:date} - {start} ({period})'); + this.tplimg.compile(); + + }, + + setvalue : function(data){ + + var Woerter = data.fulltitle.split("~"); + this.title = ''; + if(Woerter.length >1) { + var i = 0; + for(len = Woerter.length - 1; i < len; i++){ + if(this.title.length) { + this.title += '~'; + } + this.title += Woerter[i]; + } + this.subtitle = Woerter[i]; + } else { + this.title = data.fulltitle; + this.subtitle = ''; + } + + this.content = data.description.replace(/\r\n/g, '
'); + + this.day = data.day; + this.start = data.day.dateFormat('H:i'); + this.stop = new Date(data.day.getTime() + (data.duration * 1000)).dateFormat('H:i'); + this.tperiod = new Date(new Date().clearTime().getTime()+(data.duration * 1000)); + this.period = this.tperiod.dateFormat('H:i:s'); + + this.images = []; + var frames = data.preview.split(","); + Ext.each(frames, function(frame){ + var url = "?cmd=ri&data="+data.id+"_"+frame; + var day = new Date(data.day.getTime() + (frame * 40)); + var tperiod = new Date(new Date().clearTime().getTime()+(frame * 40)); + this.images.push( + { + src: url + ,day: day + ,start: day.dateFormat('H:i') + ,tperiod: tperiod + ,period: tperiod.dateFormat('H:i:s') + } + ); + },this); + }, + + render : function(ct, position){ + + + + + var inner= Ext.get("images-inner"); + if(!inner) { + var param = { + title: this.title, + subtitle: this.subtitle, + day: this.day, + start: this.start, + stop: this.stop, + period: this.period, + content: this.content, + cls: this.baseCls + }; + if(position){ + this.el = this.tpl.insertBefore(position, param, true); + }else{ + this.el = this.tpl.append(ct, param, true); + } + if(this.id){ + this.el.dom.id = this.id; + } + + inner= Ext.get("images-inner"); + } + var imagesWrap = Ext.get(inner.dom.firstChild); + this.divImages = Ext.get(imagesWrap.dom.firstChild); + + var size = inner.getSize(); + this.width = size.width; + this.height = size.height; + + inner.setStyle({ + height:(this.imageHeight + (2*this.wrapMarginY)) + 'px', + width:this.width+'px' + }); + + var totalImageWidth=this.imageWidth+this.imageGap; + var usableWidth=this.width-(this.wrapMarginX*2); + var maxPicsOnce=Math.floor(usableWidth/totalImageWidth); + var usedWidth=maxPicsOnce*totalImageWidth-this.imageGap; + var offsetLeft=Math.floor((usableWidth-usedWidth)/2); + this.pageSize=usedWidth+this.imageGap; + this.maxPages=Math.round(this.images.length/maxPicsOnce+.04999); + this.curPage=0; + + if (!Ext.isIE){ + offsetLeft+=this.wrapMarginX; + } + + imagesWrap.setStyle({ + position: 'absolute', + clip:'rect(0,'+(usedWidth*1)+','+(this.imageHeight)+',0)', + 'margin-top':this.wrapMarginY+'px', + width:this.width+'px', + height:this.imageHeight+'px', + 'margin-left':offsetLeft+'px' + }); + + /*this.divImages.setStyle({ + position: 'absolute' + });*/ + + Ext.each(this.images, function(image){ + + if (typeof(image)=='string'){ + image={src:image} + } + var qtip = this.tplimg.applyTemplate(image); + + thisImage = this.divImages.createChild({tag:"img", src:image.src, + 'ext:qtip':qtip, + style:{ + 'margin-right': this.imageGap+'px', + width: this.imageWidth+'px' +// height: this.imageHeight+'px' + } + }); + + thisImage.on("click", function(e, ele){ + if (!image.onSelected || !(image.onSelected.call(this, image, e, ele )===false)){ + this.fireEvent('selected', this, image, e, ele); + } + },this); + },this); + + }, + + CanShift: function(direction) { + if (!this.curPage){ + this.offsetLeft=this.divImages.getLeft(); + } + var newPage=(direction=='right' ? this.curPage+1 : this.curPage-1 ); + if (newPage<0 || newPage >= this.maxPages){ + return -1; + } + return newPage; + }, + + Shift: function(direction) { + var newPage = this.CanShift(direction); + if (newPage<0 || newPage >= this.maxPages){ + return; + } + this.curPage=newPage; + var newLocation=(this.pageSize*this.curPage)*-1+this.offsetLeft; + this.divImages.shift({ x:newLocation, duration: this.duration || .7 }); + } +}); + +Ext.reg('slide', Ext.xxv.slide); + diff --git a/skins/jason/extjs/adapter/ext/ext-base.js b/skins/jason/extjs/adapter/ext/ext-base.js new file mode 100644 index 0000000..b68f63d --- /dev/null +++ b/skins/jason/extjs/adapter/ext/ext-base.js @@ -0,0 +1,10 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +Ext={version:"2.2"};window["undefined"]=window["undefined"];Ext.apply=function(C,D,B){if(B){Ext.apply(C,B)}if(C&&D&&typeof D=="object"){for(var A in D){C[A]=D[A]}}return C};(function(){var idSeed=0;var ua=navigator.userAgent.toLowerCase();var isStrict=document.compatMode=="CSS1Compat",isOpera=ua.indexOf("opera")>-1,isSafari=(/webkit|khtml/).test(ua),isSafari3=isSafari&&ua.indexOf("webkit/5")!=-1,isIE=!isOpera&&ua.indexOf("msie")>-1,isIE7=!isOpera&&ua.indexOf("msie 7")>-1,isGecko=!isSafari&&ua.indexOf("gecko")>-1,isGecko3=!isSafari&&ua.indexOf("rv:1.9")>-1,isBorderBox=isIE&&!isStrict,isWindows=(ua.indexOf("windows")!=-1||ua.indexOf("win32")!=-1),isMac=(ua.indexOf("macintosh")!=-1||ua.indexOf("mac os x")!=-1),isAir=(ua.indexOf("adobeair")!=-1),isLinux=(ua.indexOf("linux")!=-1),isSecure=window.location.href.toLowerCase().indexOf("https")===0;if(isIE&&!isIE7){try{document.execCommand("BackgroundImageCache",false,true)}catch(e){}}Ext.apply(Ext,{isStrict:isStrict,isSecure:isSecure,isReady:false,enableGarbageCollector:true,enableListenerCollection: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 cache={};for(var b in o){var parts=b.split("@");if(parts[1]){var s=parts[0];if(!cache[s]){cache[s]=Ext.select(s)}cache[s].on(parts[1],o[b])}}cache=null},id:function(el,prefix){prefix=prefix||"ext-gen";el=Ext.getDom(el);var id=prefix+(++idSeed);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]}};var oc=Object.prototype.constructor;return function(sb,sp,overrides){if(typeof sp=="object"){overrides=sp;sp=sb;sb=overrides.constructor!=oc?overrides.constructor: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==oc){spp.constructor=sp}sb.override=function(o){Ext.override(sb,o)};sbp.override=io;Ext.override(sb,overrides);sb.extend=function(o){Ext.extend(sb,o)};return sb}}(),override:function(origclass,overrides){if(overrides){var p=origclass.prototype;for(var method in overrides){p[method]=overrides[method]}}},namespace:function(){var a=arguments,o=null,i,j,d,rt;for(i=0;i=0){L=G[P]}if(!S||!L){return false}this.doRemove(S,O,L[this.WFN],false);delete G[P][this.WFN];delete G[P][this.FN];G.splice(P,1);return true},getTarget:function(N,M){N=N.browserEvent||N;var L=N.target||N.srcElement;return this.resolveTextNode(L)},resolveTextNode:function(L){if(Ext.isSafari&&L&&3==L.nodeType){return L.parentNode}else{return L}},getPageX:function(M){M=M.browserEvent||M;var L=M.pageX;if(!L&&0!==L){L=M.clientX||0;if(Ext.isIE){L+=this.getScroll()[1]}}return L},getPageY:function(L){L=L.browserEvent||L;var M=L.pageY;if(!M&&0!==M){M=L.clientY||0;if(Ext.isIE){M+=this.getScroll()[0]}}return M},getXY:function(L){L=L.browserEvent||L;return[this.getPageX(L),this.getPageY(L)]},getRelatedTarget:function(M){M=M.browserEvent||M;var L=M.relatedTarget;if(!L){if(M.type=="mouseout"){L=M.toElement}else{if(M.type=="mouseover"){L=M.fromElement}}}return this.resolveTextNode(L)},getTime:function(N){N=N.browserEvent||N;if(!N.time){var M=new Date().getTime();try{N.time=M}catch(L){this.lastError=L;return M}}return N.time},stopEvent:function(L){this.stopPropagation(L);this.preventDefault(L)},stopPropagation:function(L){L=L.browserEvent||L;if(L.stopPropagation){L.stopPropagation()}else{L.cancelBubble=true}},preventDefault:function(L){L=L.browserEvent||L;if(L.preventDefault){L.preventDefault()}else{L.returnValue=false}},getEvent:function(M){var L=M||window.event;if(!L){var N=this.getEvent.caller;while(N){L=N.arguments[0];if(L&&Event==L.constructor){break}N=N.caller}}return L},getCharCode:function(L){L=L.browserEvent||L;return L.charCode||L.keyCode||0},_getCacheIndex:function(Q,N,P){for(var O=0,M=G.length;O0)}var Q=[];for(var M=0,L=H.length;M0){for(var Q=0,S=T.length;Q0){O=G.length;while(O){N=O-1;M=G[N];if(M){R.removeListener(M[R.EL],M[R.TYPE],M[R.FN],N)}O=O-1}M=null;R.clearCache()}R.doRemove(window,"unload",R._unload)},getScroll:function(){var L=document.documentElement,M=document.body;if(L&&(L.scrollTop||L.scrollLeft)){return[L.scrollTop,L.scrollLeft]}else{if(M){return[M.scrollTop,M.scrollLeft]}else{return[0,0]}}},doAdd:function(){if(window.addEventListener){return function(O,M,N,L){O.addEventListener(M,N,(L))}}else{if(window.attachEvent){return function(O,M,N,L){O.attachEvent("on"+M,N)}}else{return function(){}}}}(),doRemove:function(){if(window.removeEventListener){return function(O,M,N,L){O.removeEventListener(M,N,(L))}}else{if(window.detachEvent){return function(N,L,M){N.detachEvent("on"+L,M)}}else{return function(){}}}}()}}();var D=Ext.lib.Event;D.on=D.addListener;D.un=D.removeListener;if(document&&document.body){D._load()}else{D.doAdd(window,"load",D._load)}D.doAdd(window,"unload",D._unload);D._tryPreloadAttach();Ext.lib.Ajax={request:function(K,I,E,J,F){if(F){var G=F.headers;if(G){for(var H in G){if(G.hasOwnProperty(H)){this.initHeader(H,G[H],false)}}}if(F.xmlData){if(!G||!G["Content-Type"]){this.initHeader("Content-Type","text/xml",false)}K=(K?K:(F.method?F.method:"POST"));J=F.xmlData}else{if(F.jsonData){if(!G||!G["Content-Type"]){this.initHeader("Content-Type","application/json",false)}K=(K?K:(F.method?F.method:"POST"));J=typeof F.jsonData=="object"?Ext.encode(F.jsonData):F.jsonData}}}return this.asyncRequest(K,I,E,J)},serializeForm:function(F){if(typeof F=="string"){F=(document.getElementById(F)||document.forms[F])}var G,E,H,J,K="",M=false;for(var L=0;L=200&&G<300){F=this.createResponseObject(I,J.argument);if(J.success){if(!J.scope){J.success(F)}else{J.success.apply(J.scope,[F])}}}else{switch(G){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:F=this.createExceptionObject(I.tId,J.argument,(E?E:false));if(J.failure){if(!J.scope){J.failure(F)}else{J.failure.apply(J.scope,[F])}}break;default:F=this.createResponseObject(I,J.argument);if(J.failure){if(!J.scope){J.failure(F)}else{J.failure.apply(J.scope,[F])}}}}this.releaseObject(I);F=null},createResponseObject:function(E,K){var H={};var M={};try{var G=E.conn.getAllResponseHeaders();var J=G.split("\n");for(var I=0;I=this.left&&E.right<=this.right&&E.top>=this.top&&E.bottom<=this.bottom)},getArea:function(){return((this.bottom-this.top)*(this.right-this.left))},intersect:function(I){var G=Math.max(this.top,I.top);var H=Math.min(this.right,I.right);var E=Math.min(this.bottom,I.bottom);var F=Math.max(this.left,I.left);if(E>=G&&H>=F){return new Ext.lib.Region(G,H,E,F)}else{return null}},union:function(I){var G=Math.min(this.top,I.top);var H=Math.max(this.right,I.right);var E=Math.max(this.bottom,I.bottom);var F=Math.min(this.left,I.left);return new Ext.lib.Region(G,H,E,F)},constrainTo:function(E){this.top=this.top.constrain(E.top,E.bottom);this.bottom=this.bottom.constrain(E.top,E.bottom);this.left=this.left.constrain(E.left,E.right);this.right=this.right.constrain(E.left,E.right);return this},adjust:function(G,F,E,H){this.top+=G;this.left+=F;this.right+=H;this.bottom+=E;return this}};Ext.lib.Region.getRegion=function(H){var J=Ext.lib.Dom.getXY(H);var G=J[1];var I=J[0]+H.offsetWidth;var E=J[1]+H.offsetHeight;var F=J[0];return new Ext.lib.Region(G,I,E,F)};Ext.lib.Point=function(E,F){if(Ext.isArray(E)){F=E[1];E=E[0]}this.x=this.right=this.left=this[0]=E;this.y=this.top=this.bottom=this[1]=F};Ext.lib.Point.prototype=new Ext.lib.Region();Ext.lib.Anim={scroll:function(H,F,I,J,E,G){return this.run(H,F,I,J,E,G,Ext.lib.Scroll)},motion:function(H,F,I,J,E,G){return this.run(H,F,I,J,E,G,Ext.lib.Motion)},color:function(H,F,I,J,E,G){return this.run(H,F,I,J,E,G,Ext.lib.ColorAnim)},run:function(I,F,K,L,E,H,G){G=G||Ext.lib.AnimBase;if(typeof L=="string"){L=Ext.lib.Easing[L]}var J=new G(I,F,K,L);J.animateX(function(){Ext.callback(E,H)});return J}};function C(E){if(!B){B=new Ext.Element.Flyweight()}B.dom=E;return B}if(Ext.isIE){function A(){var E=Function.prototype;delete E.createSequence;delete E.defer;delete E.createDelegate;delete E.createCallback;delete E.createInterceptor;window.detachEvent("onunload",A)}window.attachEvent("onunload",A)}Ext.lib.AnimBase=function(F,E,G,H){if(F){this.init(F,E,G,H)}};Ext.lib.AnimBase.prototype={toString:function(){var E=this.getEl();var F=E.id||E.tagName;return("Anim "+F)},patterns:{noNegatives:/width|height|opacity|padding/i,offsetAttribute:/^((width|height)|(top|left))$/,defaultUnit:/width|height|top$|bottom$|left$|right$/i,offsetUnit:/\d+(em|%|en|ex|pt|in|cm|mm|pc)$/i},doMethod:function(E,G,F){return this.method(this.currentFrame,G,F-G,this.totalFrames)},setAttribute:function(E,G,F){if(this.patterns.noNegatives.test(E)){G=(G>0)?G:0}Ext.fly(this.getEl(),"_anim").setStyle(E,G+F)},getAttribute:function(E){var G=this.getEl();var I=C(G).getStyle(E);if(I!=="auto"&&!this.patterns.offsetUnit.test(I)){return parseFloat(I)}var F=this.patterns.offsetAttribute.exec(E)||[];var J=!!(F[3]);var H=!!(F[2]);if(H||(C(G).getStyle("position")=="absolute"&&J)){I=G["offset"+F[0].charAt(0).toUpperCase()+F[0].substr(1)]}else{I=0}return I},getDefaultUnit:function(E){if(this.patterns.defaultUnit.test(E)){return"px"}return""},animateX:function(G,E){var F=function(){this.onComplete.removeListener(F);if(typeof G=="function"){G.call(E||this,this)}};this.onComplete.addListener(F,this);this.animate()},setRuntimeAttribute:function(F){var K;var G;var H=this.attributes;this.runtimeAttributes[F]={};var J=function(L){return(typeof L!=="undefined")};if(!J(H[F]["to"])&&!J(H[F]["by"])){return false}K=(J(H[F]["from"]))?H[F]["from"]:this.getAttribute(F);if(J(H[F]["to"])){G=H[F]["to"]}else{if(J(H[F]["by"])){if(K.constructor==Array){G=[];for(var I=0,E=K.length;I0&&isFinite(O)){if(K.currentFrame+O>=N){O=N-(M+1)}K.currentFrame+=O}}};Ext.lib.Bezier=new function(){this.getPosition=function(I,H){var J=I.length;var G=[];for(var F=0;F0&&!Ext.isArray(O[0])){O=[O]}else{var N=[];for(P=0,R=O.length;P0){this.runtimeAttributes[S]=this.runtimeAttributes[S].concat(O)}this.runtimeAttributes[S][this.runtimeAttributes[S].length]=L}else{I.setRuntimeAttribute.call(this,S)}};var E=function(J,L){var K=Ext.lib.Dom.getXY(this.getEl());J=[J[0]-K[0]+L[0],J[1]-K[1]+L[1]];return J};var G=function(J){return(typeof J!=="undefined")}})();(function(){Ext.lib.Scroll=function(I,H,J,K){if(I){Ext.lib.Scroll.superclass.constructor.call(this,I,H,J,K)}};Ext.extend(Ext.lib.Scroll,Ext.lib.ColorAnim);var F=Ext.lib;var G=F.Scroll.superclass;var E=F.Scroll.prototype;E.toString=function(){var H=this.getEl();var I=H.id||H.tagName;return("Scroll "+I)};E.doMethod=function(H,K,I){var J=null;if(H=="scroll"){J=[this.method(this.currentFrame,K[0],I[0]-K[0],this.totalFrames),this.method(this.currentFrame,K[1],I[1]-K[1],this.totalFrames)]}else{J=G.doMethod.call(this,H,K,I)}return J};E.getAttribute=function(H){var J=null;var I=this.getEl();if(H=="scroll"){J=[I.scrollLeft,I.scrollTop]}else{J=G.getAttribute.call(this,H)}return J};E.setAttribute=function(H,K,J){var I=this.getEl();if(H=="scroll"){I.scrollLeft=K[0];I.scrollTop=K[1]}else{G.setAttribute.call(this,H,K,J)}}})()})(); diff --git a/skins/jason/extjs/ext-all.js b/skins/jason/extjs/ext-all.js new file mode 100644 index 0000000..6d86ccb --- /dev/null +++ b/skins/jason/extjs/ext-all.js @@ -0,0 +1,162 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +Ext.DomHelper=function(){var L=null;var F=/^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i;var B=/^table|tbody|tr|td$/i;var A=function(T){if(typeof T=="string"){return T}var O="";if(Ext.isArray(T)){for(var R=0,P=T.length;R"}else{O+=">";var U=T.children||T.cn;if(U){O+=A(U)}else{if(T.html){O+=T.html}}O+=""}return O};var M=function(T,O){var S;if(Ext.isArray(T)){S=document.createDocumentFragment();for(var R=0,P=T.length;R",K=""+E,H=C+"",D=""+K;var G=function(N,O,Q,P){if(!L){L=document.createElement("div")}var R;var S=null;if(N=="td"){if(O=="afterbegin"||O=="beforeend"){return }if(O=="beforebegin"){S=Q;Q=Q.parentNode}else{S=Q.nextSibling;Q=Q.parentNode}R=I(4,H,P,D)}else{if(N=="tr"){if(O=="beforebegin"){S=Q;Q=Q.parentNode;R=I(3,C,P,K)}else{if(O=="afterend"){S=Q.nextSibling;Q=Q.parentNode;R=I(3,C,P,K)}else{if(O=="afterbegin"){S=Q.firstChild}R=I(4,H,P,D)}}}else{if(N=="tbody"){if(O=="beforebegin"){S=Q;Q=Q.parentNode;R=I(2,J,P,E)}else{if(O=="afterend"){S=Q.nextSibling;Q=Q.parentNode;R=I(2,J,P,E)}else{if(O=="afterbegin"){S=Q.firstChild}R=I(3,C,P,K)}}}else{if(O=="beforebegin"||O=="afterend"){return }if(O=="afterbegin"){S=Q.firstChild}R=I(2,J,P,E)}}}Q.insertBefore(R,S);return R};return{useDom:false,markup:function(N){return A(N)},applyStyles:function(P,Q){if(Q){P=Ext.fly(P);if(typeof Q=="string"){var O=/\s?([a-z\-]*)\:\s?([^;]*);?/gi;var R;while((R=O.exec(Q))!=null){P.setStyle(R[1],R[2])}}else{if(typeof Q=="object"){for(var N in Q){P.setStyle(N,Q[N])}}else{if(typeof Q=="function"){Ext.DomHelper.applyStyles(P,Q.call())}}}}},insertHtml:function(P,R,Q){P=P.toLowerCase();if(R.insertAdjacentHTML){if(B.test(R.tagName)){var O;if(O=G(R.tagName.toLowerCase(),P,R,Q)){return O}}switch(P){case"beforebegin":R.insertAdjacentHTML("BeforeBegin",Q);return R.previousSibling;case"afterbegin":R.insertAdjacentHTML("AfterBegin",Q);return R.firstChild;case"beforeend":R.insertAdjacentHTML("BeforeEnd",Q);return R.lastChild;case"afterend":R.insertAdjacentHTML("AfterEnd",Q);return R.nextSibling}throw"Illegal insertion point -> \""+P+"\""}var N=R.ownerDocument.createRange();var S;switch(P){case"beforebegin":N.setStartBefore(R);S=N.createContextualFragment(Q);R.parentNode.insertBefore(S,R);return R.previousSibling;case"afterbegin":if(R.firstChild){N.setStartBefore(R.firstChild);S=N.createContextualFragment(Q);R.insertBefore(S,R.firstChild);return R.firstChild}else{R.innerHTML=Q;return R.firstChild}case"beforeend":if(R.lastChild){N.setStartAfter(R.lastChild);S=N.createContextualFragment(Q);R.appendChild(S);return R.lastChild}else{R.innerHTML=Q;return R.lastChild}case"afterend":N.setStartAfter(R);S=N.createContextualFragment(Q);R.parentNode.insertBefore(S,R.nextSibling);return R.nextSibling}throw"Illegal insertion point -> \""+P+"\""},insertBefore:function(N,P,O){return this.doInsert(N,P,O,"beforeBegin")},insertAfter:function(N,P,O){return this.doInsert(N,P,O,"afterEnd","nextSibling")},insertFirst:function(N,P,O){return this.doInsert(N,P,O,"afterBegin","firstChild")},doInsert:function(Q,S,R,T,P){Q=Ext.getDom(Q);var O;if(this.useDom){O=M(S,null);(P==="firstChild"?Q:Q.parentNode).insertBefore(O,P?Q[P]:Q)}else{var N=A(S);O=this.insertHtml(T,Q,N)}return R?Ext.get(O,true):O},append:function(P,R,Q){P=Ext.getDom(P);var O;if(this.useDom){O=M(R,null);P.appendChild(O)}else{var N=A(R);O=this.insertHtml("beforeEnd",P,N)}return Q?Ext.get(O,true):O},overwrite:function(N,P,O){N=Ext.getDom(N);N.innerHTML=A(P);return O?Ext.get(N.firstChild,true):N.firstChild},createTemplate:function(O){var N=A(O);return new Ext.Template(N)}}}(); +Ext.Template=function(E){var B=arguments;if(Ext.isArray(E)){E=E.join("")}else{if(B.length>1){var C=[];for(var D=0,A=B.length;D+~]\s?|\s|$)/;var tagTokenRe=/^(#)?([\w-\*]+)/;var nthRe=/(\d*)n\+?(\d*)/,nthRe2=/\D/;function child(p,index){var i=0;var n=p.firstChild;while(n){if(n.nodeType==1){if(++i==index){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 children(d){var n=d.firstChild,ni=-1;while(n){var nx=n.nextSibling;if(n.nodeType==3&&!nonSpace.test(n.nodeValue)){d.removeChild(n)}else{n.nodeIndex=++ni}n=nx}return this}function byClassName(c,a,v){if(!v){return c}var r=[],ri=-1,cn;for(var i=0,ci;ci=c[i];i++){if((" "+ci.className+" ").indexOf(v)!=-1){r[++ri]=ci}}return r}function attrValue(n,attr){if(!n.tagName&&typeof n.length!="undefined"){n=n[0]}if(!n){return null}if(attr=="for"){return n.htmlFor}if(attr=="class"||attr=="className"){return n.className}return n.getAttribute(attr)||n[attr]}function getNodes(ns,mode,tagName){var result=[],ri=-1,cs;if(!ns){return result}tagName=tagName||"*";if(typeof ns.getElementsByTagName!="undefined"){ns=[ns]}if(!mode){for(var i=0,ni;ni=ns[i];i++){cs=ni.getElementsByTagName(tagName);for(var j=0,ci;ci=cs[j];j++){result[++ri]=ci}}}else{if(mode=="/"||mode==">"){var utag=tagName.toUpperCase();for(var i=0,ni,cn;ni=ns[i];i++){cn=ni.children||ni.childNodes;for(var j=0,cj;cj=cn[j];j++){if(cj.nodeName==utag||cj.nodeName==tagName||tagName=="*"){result[++ri]=cj}}}}else{if(mode=="+"){var utag=tagName.toUpperCase();for(var i=0,n;n=ns[i];i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(n&&(n.nodeName==utag||n.nodeName==tagName||tagName=="*")){result[++ri]=n}}}else{if(mode=="~"){for(var i=0,n;n=ns[i];i++){while((n=n.nextSibling)&&(n.nodeType!=1||(tagName=="*"||n.tagName.toLowerCase()!=tagName))){}if(n){result[++ri]=n}}}}}}return result}function concat(a,b){if(b.slice){return a.concat(b)}for(var i=0,l=b.length;i1){return nodup(results)}return results},selectNode:function(path,root){return Ext.DomQuery.select(path,root)[0]},selectValue:function(path,root,defaultValue){path=path.replace(trimRe,"");if(!valueCache[path]){valueCache[path]=Ext.DomQuery.compile(path,"select")}var n=valueCache[path](root);n=n[0]?n[0]:n;var v=(n&&n.firstChild?n.firstChild.nodeValue:null);return((v===null||v===undefined||v==="")?defaultValue:v)},selectNumber:function(path,root,defaultValue){var v=Ext.DomQuery.selectValue(path,root,defaultValue||0);return parseFloat(v)},is:function(el,ss){if(typeof el=="string"){el=document.getElementById(el)}var isArray=Ext.isArray(el);var result=Ext.DomQuery.filter(isArray?el:[el],ss);return isArray?(result.length==el.length):(result.length>0)},filter:function(els,ss,nonMatches){ss=ss.replace(trimRe,"");if(!simpleCache[ss]){simpleCache[ss]=Ext.DomQuery.compile(ss,"simple")}var result=simpleCache[ss](els);return nonMatches?quickDiff(result,els):result},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},"|=":function(a,v){return a&&(a==v||a.substr(0,v.length+1)==v+"-")},"~=":function(a,v){return a&&(" "+a+" ").indexOf(" "+v+" ")!=-1}},pseudos:{"first-child":function(c){var r=[],ri=-1,n;for(var i=0,ci;ci=n=c[i];i++){while((n=n.previousSibling)&&n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},"last-child":function(c){var r=[],ri=-1,n;for(var i=0,ci;ci=n=c[i];i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},"nth-child":function(c,a){var r=[],ri=-1;var m=nthRe.exec(a=="even"&&"2n"||a=="odd"&&"2n+1"||!nthRe2.test(a)&&"n+"+a||a);var f=(m[1]||1)-0,l=m[2]-0;for(var i=0,n;n=c[i];i++){var pn=n.parentNode;if(batch!=pn._batch){var j=0;for(var cn=pn.firstChild;cn;cn=cn.nextSibling){if(cn.nodeType==1){cn.nodeIndex=++j}}pn._batch=batch}if(f==1){if(l==0||n.nodeIndex==l){r[++ri]=n}}else{if((n.nodeIndex+l)%f==0){r[++ri]=n}}}return r},"only-child":function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(!prev(ci)&&!next(ci)){r[++ri]=ci}}return r},"empty":function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var cns=ci.childNodes,j=0,cn,empty=true;while(cn=cns[j]){++j;if(cn.nodeType==1||cn.nodeType==3){empty=false;break}}if(empty){r[++ri]=ci}}return r},"contains":function(c,v){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if((ci.textContent||ci.innerText||"").indexOf(v)!=-1){r[++ri]=ci}}return r},"nodeValue":function(c,v){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(ci.firstChild&&ci.firstChild.nodeValue==v){r[++ri]=ci}}return r},"checked":function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(ci.checked==true){r[++ri]=ci}}return r},"not":function(c,ss){return Ext.DomQuery.filter(c,ss,true)},"any":function(c,selectors){var ss=selectors.split("|");var r=[],ri=-1,s;for(var i=0,ci;ci=c[i];i++){for(var j=0;s=ss[j];j++){if(Ext.DomQuery.is(ci,s)){r[++ri]=ci;break}}}return r},"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=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(s(ss,ci).length>0){r[++ri]=ci}}return r},"next":function(c,ss){var is=Ext.DomQuery.is;var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var n=next(ci);if(n&&is(n,ss)){r[++ri]=ci}}return r},"prev":function(c,ss){var is=Ext.DomQuery.is;var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var n=prev(ci);if(n&&is(n,ss)){r[++ri]=ci}}return r}}}}();Ext.query=Ext.DomQuery.select; +Ext.util.Observable=function(){if(this.listeners){this.on(this.listeners);delete this.listeners}};Ext.util.Observable.prototype={fireEvent:function(){if(this.eventsSuspended!==true){var A=this.events[arguments[0].toLowerCase()];if(typeof A=="object"){return A.fire.apply(A,Array.prototype.slice.call(arguments,1))}}return true},filterOptRe:/^(?:scope|delay|buffer|single)$/,addListener:function(A,C,B,F){if(typeof A=="object"){F=A;for(var E in F){if(this.filterOptRe.test(E)){continue}if(typeof F[E]=="function"){this.addListener(E,F[E],F.scope,F)}else{this.addListener(E,F[E].fn,F[E].scope,F[E])}}return }F=(!F||typeof F=="boolean")?{}:F;A=A.toLowerCase();var D=this.events[A]||true;if(typeof D=="boolean"){D=new Ext.util.Event(this,A);this.events[A]=D}D.addListener(C,B,F)},removeListener:function(A,C,B){var D=this.events[A.toLowerCase()];if(typeof D=="object"){D.removeListener(C,B)}},purgeListeners:function(){for(var A in this.events){if(typeof this.events[A]=="object"){this.events[A].clearListeners()}}},relayEvents:function(F,D){var E=function(G){return function(){return this.fireEvent.apply(this,Ext.combine(G,Array.prototype.slice.call(arguments,0)))}};for(var C=0,A=D.length;C0},suspendEvents:function(){this.eventsSuspended=true},resumeEvents:function(){this.eventsSuspended=false},getMethodEvent:function(G){if(!this.methodEvents){this.methodEvents={}}var F=this.methodEvents[G];if(!F){F={};this.methodEvents[G]=F;F.originalFn=this[G];F.methodName=G;F.before=[];F.after=[];var C,B,D;var E=this;var A=function(J,I,H){if((B=J.apply(I||E,H))!==undefined){if(typeof B==="object"){if(B.returnValue!==undefined){C=B.returnValue}else{C=B}if(B.cancel===true){D=true}}else{if(B===false){D=true}else{C=B}}}};this[G]=function(){C=B=undefined;D=false;var I=Array.prototype.slice.call(arguments,0);for(var J=0,H=F.before.length;J0){this.firing=true;var G=Array.prototype.slice.call(arguments,0);for(var H=0;H=33&&D<=40)||D==this.RETURN||D==this.TAB||D==this.ESC},isSpecialKey:function(){var D=this.keyCode;return(this.type=="keypress"&&this.ctrlKey)||D==9||D==13||D==40||D==27||(D==16)||(D==17)||(D>=18&&D<=20)||(D>=33&&D<=35)||(D>=36&&D<=39)||(D>=44&&D<=45)},stopPropagation:function(){if(this.browserEvent){if(this.browserEvent.type=="mousedown"){Ext.EventManager.stoppedMouseDownEvent.fire(this)}B.stopPropagation(this.browserEvent)}},getCharCode:function(){return this.charCode||this.keyCode},getKey:function(){var D=this.keyCode||this.charCode;return Ext.isSafari?(A[D]||D):D},getPageX:function(){return this.xy[0]},getPageY:function(){return this.xy[1]},getTime:function(){if(this.browserEvent){return B.getTime(this.browserEvent)}return null},getXY:function(){return this.xy},getTarget:function(E,F,D){return E?Ext.fly(this.target).findParent(E,F,D):(D?Ext.get(this.target):this.target)},getRelatedTarget:function(){if(this.browserEvent){return B.getRelatedTarget(this.browserEvent)}return null},getWheelDelta:function(){var D=this.browserEvent;var E=0;if(D.wheelDelta){E=D.wheelDelta/120}else{if(D.detail){E=-D.detail/3}}return E},hasModifier:function(){return((this.ctrlKey||this.altKey)||this.shiftKey)?true:false},within:function(E,F){var D=this[F?"getRelatedTarget":"getTarget"]();return D&&Ext.fly(E).contains(D)},getPoint:function(){return new Ext.lib.Point(this.xy[0],this.xy[1])}};return new Ext.EventObjectImpl()}(); +(function(){var D=Ext.lib.Dom;var E=Ext.lib.Event;var A=Ext.lib.Anim;var propCache={};var camelRe=/(-[a-z])/gi;var camelFn=function(m,a){return a.charAt(1).toUpperCase()};var view=document.defaultView;Ext.Element=function(element,forceNew){var dom=typeof element=="string"?document.getElementById(element):element;if(!dom){return null}var id=dom.id;if(forceNew!==true&&id&&Ext.Element.cache[id]){return Ext.Element.cache[id]}this.dom=dom;this.id=id||Ext.id(dom)};var El=Ext.Element;El.prototype={originalDisplay:"",visibilityMode:1,defaultUnit:"px",setVisibilityMode:function(visMode){this.visibilityMode=visMode;return this},enableDisplayMode:function(display){this.setVisibilityMode(El.DISPLAY);if(typeof display!="undefined"){this.originalDisplay=display}return this},findParent:function(simpleSelector,maxDepth,returnEl){var p=this.dom,b=document.body,depth=0,dq=Ext.DomQuery,stopEl;maxDepth=maxDepth||50;if(typeof maxDepth!="number"){stopEl=Ext.getDom(maxDepth);maxDepth=10}while(p&&p.nodeType==1&&depthch||tcb){c.scrollTop=b-ch}}c.scrollTop=c.scrollTop;if(hscroll!==false){if(el.offsetWidth>c.clientWidth||lcr){c.scrollLeft=r-c.clientWidth}}c.scrollLeft=c.scrollLeft}return this},scrollChildIntoView:function(child,hscroll){Ext.fly(child,"_scrollChildIntoView").scrollIntoView(this,hscroll)},autoHeight:function(animate,duration,onComplete,easing){var oldHeight=this.getHeight();this.clip();this.setHeight(1);setTimeout(function(){var height=parseInt(this.dom.scrollHeight,10);if(!animate){this.setHeight(height);this.unclip();if(typeof onComplete=="function"){onComplete()}}else{this.setHeight(oldHeight);this.setHeight(height,animate,duration,function(){this.unclip();if(typeof onComplete=="function"){onComplete()}}.createDelegate(this),easing)}}.createDelegate(this),0);return this},contains:function(el){if(!el){return false}return D.isAncestor(this.dom,el.dom?el.dom:el)},isVisible:function(deep){var vis=!(this.getStyle("visibility")=="hidden"||this.getStyle("display")=="none");if(deep!==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(selector,unique){return El.select(selector,unique,this.dom)},query:function(selector){return Ext.DomQuery.select(selector,this.dom)},child:function(selector,returnDom){var n=Ext.DomQuery.selectNode(selector,this.dom);return returnDom?n:Ext.get(n)},down:function(selector,returnDom){var n=Ext.DomQuery.selectNode(" > "+selector,this.dom);return returnDom?n:Ext.get(n)},initDD:function(group,config,overrides){var dd=new Ext.dd.DD(Ext.id(this.dom),group,config);return Ext.apply(dd,overrides)},initDDProxy:function(group,config,overrides){var dd=new Ext.dd.DDProxy(Ext.id(this.dom),group,config);return Ext.apply(dd,overrides)},initDDTarget:function(group,config,overrides){var dd=new Ext.dd.DDTarget(Ext.id(this.dom),group,config);return Ext.apply(dd,overrides)},setVisible:function(visible,animate){if(!animate||!A){if(this.visibilityMode==El.DISPLAY){this.setDisplayed(visible)}else{this.fixDisplay();this.dom.style.visibility=visible?"visible":"hidden"}}else{var dom=this.dom;var visMode=this.visibilityMode;if(visible){this.setOpacity(0.01);this.setVisible(true)}this.anim({opacity:{to:(visible?1:0)}},this.preanim(arguments,1),null,0.35,"easeIn",function(){if(!visible){if(visMode==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(animate){this.setVisible(!this.isVisible(),this.preanim(arguments,0));return this},setDisplayed:function(value){if(typeof value=="boolean"){value=value?this.originalDisplay:"none"}this.setStyle("display",value);return this},focus:function(){try{this.dom.focus()}catch(e){}return this},blur:function(){try{this.dom.blur()}catch(e){}return this},addClass:function(className){if(Ext.isArray(className)){for(var i=0,len=className.length;idw+scrollX){x=swapX?r.left-w:dw+scrollX-w}if(xdh+scrollY){y=swapY?r.top-h:dh+scrollY-h}if(yvr){x=vr-w;moved=true}if((y+h)>vb){y=vb-h;moved=true}if(x";E.onAvailable(id,function(){var hd=document.getElementsByTagName("head")[0];var re=/(?:]*)?>)((\n|\r|.)*?)(?:<\/script>)/ig;var srcRe=/\ssrc=([\'\"])(.*?)\1/i;var typeRe=/\stype=([\'\"])(.*?)\1/i;var match;while(match=re.exec(html)){var attrs=match[1];var srcMatch=attrs?attrs.match(srcRe):false;if(srcMatch&&srcMatch[2]){var s=document.createElement("script");s.src=srcMatch[2];var typeMatch=attrs.match(typeRe);if(typeMatch&&typeMatch[2]){s.type=typeMatch[2]}hd.appendChild(s)}else{if(match[2]&&match[2].length>0){if(window.execScript){window.execScript(match[2])}else{window.eval(match[2])}}}}var el=document.getElementById(id);if(el){Ext.removeNode(el)}if(typeof callback=="function"){callback()}});dom.innerHTML=html.replace(/(?:)((\n|\r|.)*?)(?:<\/script>)/ig,"");return this},load:function(){var um=this.getUpdater();um.update.apply(um,arguments);return this},getUpdater:function(){if(!this.updateManager){this.updateManager=new Ext.Updater(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(centerIn){this.alignTo(centerIn||document,"c-c");return this},isBorderBox:function(){return noBoxAdjust[this.dom.tagName.toLowerCase()]||Ext.isBorderBox},getBox:function(contentBox,local){var xy;if(!local){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(!contentBox){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(sides,onlyContentBox){return onlyContentBox&&Ext.isBorderBox?0:(this.getPadding(sides)+this.getBorderWidth(sides))},setBox:function(box,adjust,animate){var w=box.width,h=box.height;if((adjust&&!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(sides,styles){var val=0,v,w;for(var i=0,len=sides.length;i=0?w:-1*w)}}}return val},createProxy:function(config,renderTo,matchBox){config=typeof config=="object"?config:{tag:"div",cls:config};var proxy;if(renderTo){proxy=Ext.DomHelper.append(renderTo,config,true)}else{proxy=Ext.DomHelper.insertBefore(this.dom,config,true)}if(matchBox){proxy.setBox(this.getBox())}return proxy},mask:function(msg,msgCls){if(this.getStyle("position")=="static"){this.setStyle("position","relative")}if(this._maskMsg){this._maskMsg.remove()}if(this._mask){this._mask.remove()}this._mask=Ext.DomHelper.append(this.dom,{cls:"ext-el-mask"},true);this.addClass("x-masked");this._mask.setDisplayed(true);if(typeof msg=="string"){this._maskMsg=Ext.DomHelper.append(this.dom,{cls:"ext-el-mask-msg",cn:{tag:"div"}},true);var mm=this._maskMsg;mm.dom.className=msgCls?"ext-el-mask-msg "+msgCls:"ext-el-mask-msg";mm.dom.firstChild.innerHTML=msg;mm.setDisplayed(true);mm.center(this)}if(Ext.isIE&&!(Ext.isIE7&&Ext.isStrict)&&this.getStyle("height")=="auto"){this._mask.setSize(this.dom.clientWidth,this.getHeight())}return this._mask},unmask:function(){if(this._mask){if(this._maskMsg){this._maskMsg.remove();delete this._maskMsg}this._mask.remove();delete this._mask}this.removeClass("x-masked")},isMasked:function(){return this._mask&&this._mask.isVisible()},createShim:function(){var el=document.createElement("iframe");el.frameBorder="0";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(){Ext.removeNode(this.dom);delete El.cache[this.dom.id]},hover:function(overFn,outFn,scope){var preOverFn=function(e){if(!e.within(this,true)){overFn.apply(scope||this,arguments)}};var preOutFn=function(e){if(!e.within(this,true)){outFn.apply(scope||this,arguments)}};this.on("mouseover",preOverFn,this.dom);this.on("mouseout",preOutFn,this.dom);return this},addClassOnOver:function(className){this.hover(function(){Ext.fly(this,"_internal").addClass(className)},function(){Ext.fly(this,"_internal").removeClass(className)});return this},addClassOnFocus:function(className){this.on("focus",function(){Ext.fly(this,"_internal").addClass(className)},this.dom);this.on("blur",function(){Ext.fly(this,"_internal").removeClass(className)},this.dom);return this},addClassOnClick:function(className){var dom=this.dom;this.on("mousedown",function(){Ext.fly(dom,"_internal").addClass(className);var d=Ext.getDoc();var fn=function(){Ext.fly(dom,"_internal").removeClass(className);d.removeListener("mouseup",fn)};d.on("mouseup",fn)});return this},swallowEvent:function(eventName,preventDefault){var fn=function(e){e.stopPropagation();if(preventDefault){e.preventDefault()}};if(Ext.isArray(eventName)){for(var i=0,len=eventName.length;idom.clientHeight||dom.scrollWidth>dom.clientWidth},scrollTo:function(side,value,animate){var prop=side.toLowerCase()=="left"?"scrollLeft":"scrollTop";if(!animate||!A){this.dom[prop]=value}else{var to=prop=="scrollLeft"?[value,this.dom.scrollTop]:[this.dom.scrollLeft,value];this.anim({scroll:{"to":to}},this.preanim(arguments,2),"scroll")}return this},scroll:function(direction,distance,animate){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;direction=direction.toLowerCase();var scrolled=false;var a=this.preanim(arguments,2);switch(direction){case"l":case"left":if(w-l>cw){var v=Math.min(l+distance,w-cw);this.scrollTo("left",v,a);scrolled=true}break;case"r":case"right":if(l>0){var v=Math.max(l-distance,0);this.scrollTo("left",v,a);scrolled=true}break;case"t":case"top":case"up":if(t>0){var v=Math.max(t-distance,0);this.scrollTo("top",v,a);scrolled=true}break;case"b":case"bottom":case"down":if(h-t>ch){var v=Math.min(t+distance,h-ch);this.scrollTo("top",v,a);scrolled=true}break}return scrolled},translatePoints:function(x,y){if(typeof x=="object"||Ext.isArray(x)){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,t;if(Ext.isIE&&Ext.isStrict){l=doc.documentElement.scrollLeft||(doc.body.scrollLeft||0);t=doc.documentElement.scrollTop||(doc.body.scrollTop||0)}else{l=window.pageXOffset||(doc.body.scrollLeft||0);t=window.pageYOffset||(doc.body.scrollTop||0)}return{left:l,top:t}}else{return{left:d.scrollLeft,top:d.scrollTop}}},getColor:function(attr,defaultValue,prefix){var v=this.getStyle(attr);if(!v||v=="transparent"||v=="inherit"){return defaultValue}var color=typeof prefix=="undefined"?"#":prefix;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]);var s=h.toString(16);if(h<16){s="0"+s}color+=s}}else{if(v.substr(0,1)=="#"){if(v.length==4){for(var i=1;i<4;i++){var c=v.charAt(i);color+=c+c}}else{if(v.length==7){color+=v.substr(1)}}}}return(color.length>5?color.toLowerCase():defaultValue)},boxWrap:function(cls){cls=cls||"x-box";var el=Ext.get(this.insertHtml("beforeBegin",String.format("
"+El.boxMarkup+"
",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]},getTextWidth:function(text,min,max){return(Ext.util.TextMetrics.measure(this.dom,Ext.value(text,this.dom.innerHTML,true)).width).constrain(min||0,max||1000000)}};var ep=El.prototype;ep.on=ep.addListener;ep.mon=ep.addListener;ep.getUpdateManager=ep.getUpdater;ep.un=ep.removeListener;ep.autoBoxAdjust=true;El.unitPattern=/\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$/i;El.addUnits=function(v,defaultUnit){if(v===""||v=="auto"){return v}if(v===undefined){return""}if(typeof v=="number"||!El.unitPattern.test(v)){return v+(defaultUnit||"px")}return v};El.boxMarkup="
";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 docEl;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!=docEl){el.dom=document.getElementById(el.id)||el.dom;El.cache[el.id]=el}return el}else{if(el.isComposite){return el}else{if(Ext.isArray(el)){return El.select(el)}else{if(el==document){if(!docEl){var f=function(){};f.prototype=El.prototype;docEl=new f();docEl.dom=document}return docEl}}}}}}return null};El.uncache=function(el){for(var i=0,a=arguments,len=a.length;i0){F()}else{B.afterFx(D)}})};F.call(this)});return this},pause:function(C){var A=this.getFxEl();var B={};A.queueFx(B,function(){setTimeout(function(){A.afterFx(B)},C*1000)});return this},fadeIn:function(B){var A=this.getFxEl();B=B||{};A.queueFx(B,function(){this.setOpacity(0);this.fixDisplay();this.dom.style.visibility="visible";var C=B.endOpacity||1;arguments.callee.anim=this.fxanim({opacity:{to:C}},B,null,0.5,"easeOut",function(){if(C==1){this.clearOpacity()}A.afterFx(B)})});return this},fadeOut:function(B){var A=this.getFxEl();B=B||{};A.queueFx(B,function(){arguments.callee.anim=this.fxanim({opacity:{to:B.endOpacity||0}},B,null,0.5,"easeOut",function(){if(this.visibilityMode==Ext.Element.DISPLAY||B.useDisplay){this.dom.style.display="none"}else{this.dom.style.visibility="hidden"}this.clearOpacity();A.afterFx(B)})});return this},scale:function(A,B,C){this.shift(Ext.apply({},C,{width:A,height:B}));return this},shift:function(B){var A=this.getFxEl();B=B||{};A.queueFx(B,function(){var E={},D=B.width,F=B.height,C=B.x,H=B.y,G=B.opacity;if(D!==undefined){E.width={to:this.adjustWidth(D)}}if(F!==undefined){E.height={to:this.adjustHeight(F)}}if(B.left!==undefined){E.left={to:B.left}}if(B.top!==undefined){E.top={to:B.top}}if(B.right!==undefined){E.right={to:B.right}}if(B.bottom!==undefined){E.bottom={to:B.bottom}}if(C!==undefined||H!==undefined){E.points={to:[C!==undefined?C:this.getX(),H!==undefined?H:this.getY()]}}if(G!==undefined){E.opacity={to:G}}if(B.xy!==undefined){E.points={to:B.xy}}arguments.callee.anim=this.fxanim(E,B,"motion",0.35,"easeOut",function(){A.afterFx(B)})});return this},ghost:function(A,C){var B=this.getFxEl();C=C||{};B.queueFx(C,function(){A=A||"b";var H=this.getFxRestore();var E=this.getWidth(),G=this.getHeight();var F=this.dom.style;var J=function(){if(C.useDisplay){B.setDisplayed(false)}else{B.hide()}B.clearOpacity();B.setPositioning(H.pos);F.width=H.width;F.height=H.height;B.afterFx(C)};var D={opacity:{to:0},points:{}},I=D.points;switch(A.toLowerCase()){case"t":I.by=[0,-G];break;case"l":I.by=[-E,0];break;case"r":I.by=[E,0];break;case"b":I.by=[0,G];break;case"tl":I.by=[-E,-G];break;case"bl":I.by=[-E,G];break;case"br":I.by=[E,G];break;case"tr":I.by=[E,-G];break}arguments.callee.anim=this.fxanim(D,C,"motion",0.5,"easeOut",J)});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 A=this.fxQueue[0];if(A){A.call(this)}},hasActiveFx:function(){return this.fxQueue&&this.fxQueue[0]},stopFx:function(){if(this.hasActiveFx()){var A=this.fxQueue[0];if(A&&A.anim&&A.anim.isAnimated()){this.fxQueue=[A];A.anim.stop(true)}}return this},beforeFx:function(A){if(this.hasActiveFx()&&!A.concurrent){if(A.stopFx){this.stopFx();return true}return false}return true},hasFxBlock:function(){var A=this.fxQueue;return A&&A[0]&&A[0].block},queueFx:function(C,A){if(!this.fxQueue){this.fxQueue=[]}if(!this.hasFxBlock()){Ext.applyIf(C,this.fxDefaults);if(!C.concurrent){var B=this.beforeFx(C);A.block=C.block;this.fxQueue.push(A);if(B){this.nextFx()}}else{A.call(this)}}return this},fxWrap:function(F,D,C){var B;if(!D.wrap||!(B=Ext.get(D.wrap))){var A;if(D.fixPosition){A=this.getXY()}var E=document.createElement("div");E.style.visibility=C;B=Ext.get(this.dom.parentNode.insertBefore(E,this.dom));B.setPositioning(F);if(B.getStyle("position")=="static"){B.position("relative")}this.clearPositioning("auto");B.clip();B.dom.appendChild(this.dom);if(A){B.setXY(A)}}return B},fxUnwrap:function(A,C,B){this.clearPositioning();this.setPositioning(C);if(!B.wrap){A.dom.parentNode.insertBefore(this.dom,A.dom);A.remove()}},getFxRestore:function(){var A=this.dom.style;return{pos:this.getPositioning(),width:A.width,height:A.height}},afterFx:function(A){if(A.afterStyle){this.applyStyles(A.afterStyle)}if(A.afterCls){this.addClass(A.afterCls)}if(A.remove===true){this.remove()}Ext.callback(A.callback,A.scope,[this]);if(!A.concurrent){this.fxQueue.shift();this.nextFx()}},getFxEl:function(){return Ext.get(this.dom)},fxanim:function(D,E,B,F,C,A){B=B||"run";E=E||{};var G=Ext.lib.Anim[B](this.dom,D,(E.duration||F)||0.35,(E.easing||C)||"easeOut",function(){Ext.callback(A,this)},this);E.anim=G;return G}};Ext.Fx.resize=Ext.Fx.scale;Ext.apply(Ext.Element.prototype,Ext.Fx); +Ext.CompositeElement=function(A){this.elements=[];this.addElements(A)};Ext.CompositeElement.prototype={isComposite:true,addElements:function(E){if(!E){return this}if(typeof E=="string"){E=Ext.Element.selectorFunction(E)}var D=this.elements;var B=D.length-1;for(var C=0,A=E.length;C"+A.text+""}if(typeof A.scripts!="undefined"){this.loadScripts=A.scripts}if(typeof A.timeout!="undefined"){this.timeout=A.timeout}}this.showLoading();if(!D){this.defaultUrl=B}if(typeof B=="function"){B=B.call(this)}var E=Ext.apply({},{url:B,params:(typeof F=="function"&&C)?F.createDelegate(C):F,success:this.processSuccess,failure:this.processFailure,scope:this,callback:undefined,timeout:(this.timeout*1000),disableCaching:this.disableCaching,argument:{"options":A,"url":B,"form":null,"callback":G,"scope":C||window,"params":F}},A);this.transaction=Ext.Ajax.request(E)}},formUpdate:function(C,A,B,D){if(this.fireEvent("beforeupdate",this.el,C,A)!==false){if(typeof A=="function"){A=A.call(this)}C=Ext.getDom(C);this.transaction=Ext.Ajax.request({form:C,url:A,success:this.processSuccess,failure:this.processFailure,scope:this,timeout:(this.timeout*1000),argument:{"url":A,"form":C,"callback":D,"reset":B}});this.showLoading.defer(1,this)}},refresh:function(A){if(this.defaultUrl==null){return }this.update(this.defaultUrl,null,A,true)},startAutoRefresh:function(B,C,D,E,A){if(A){this.update(C||this.defaultUrl,D,E,true)}if(this.autoRefreshProcId){clearInterval(this.autoRefreshProcId)}this.autoRefreshProcId=setInterval(this.update.createDelegate(this,[C||this.defaultUrl,D,E,true]),B*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)}},processSuccess:function(A){this.transaction=null;if(A.argument.form&&A.argument.reset){try{A.argument.form.reset()}catch(B){}}if(this.loadScripts){this.renderer.render(this.el,A,this,this.updateComplete.createDelegate(this,[A]))}else{this.renderer.render(this.el,A,this);this.updateComplete(A)}},updateComplete:function(A){this.fireEvent("update",this.el,A);if(typeof A.argument.callback=="function"){A.argument.callback.call(A.argument.scope,this.el,true,A,A.argument.options)}},processFailure:function(A){this.transaction=null;this.fireEvent("failure",this.el,A);if(typeof A.argument.callback=="function"){A.argument.callback.call(A.argument.scope,this.el,false,A,A.argument.options)}},setRenderer:function(A){this.renderer=A},getRenderer:function(){return this.renderer},setDefaultUrl:function(A){this.defaultUrl=A},abort:function(){if(this.transaction){Ext.Ajax.abort(this.transaction)}},isUpdating:function(){if(this.transaction){return Ext.Ajax.isLoading(this.transaction)}return false}});Ext.Updater.defaults={timeout:30,loadScripts:false,sslBlankUrl:(Ext.SSL_SECURE_URL||"javascript:false"),disableCaching:false,showLoadIndicator:true,indicatorText:"
Loading...
"};Ext.Updater.updateElement=function(D,C,E,B){var A=Ext.get(D).getUpdater();Ext.apply(A,B);A.update(C,E,B?B.callback:null)};Ext.Updater.BasicRenderer=function(){};Ext.Updater.BasicRenderer.prototype={render:function(C,A,B,D){C.update(A.responseText,B.loadScripts,D)}};Ext.UpdateManager=Ext.Updater; +(function(){Date.formatCodeToRegex=function(character,currentGroup){var p=Date.parseCodes[character];if(p){p=Ext.type(p)=="function"?p():p;Date.parseCodes[character]=p}return p?Ext.applyIf({c:p.c?String.format(p.c,currentGroup||"{0}"):p.c},p):{g:0,c:null,s:Ext.escapeRe(character)}};var $f=Date.formatCodeToRegex;Ext.apply(Date,{parseFunctions:{count:0},parseRegexes:[],formatFunctions:{count:0},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],y2kYear:50,MILLI:"ms",SECOND:"s",MINUTE:"mi",HOUR:"h",DAY:"d",MONTH:"mo",YEAR:"y",dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNumbers:{Jan:0,Feb:1,Mar:2,Apr:3,May:4,Jun:5,Jul:6,Aug:7,Sep:8,Oct:9,Nov:10,Dec:11},getShortMonthName:function(month){return Date.monthNames[month].substring(0,3)},getShortDayName:function(day){return Date.dayNames[day].substring(0,3)},getMonthNumber:function(name){return Date.monthNumbers[name.substring(0,1).toUpperCase()+name.substring(1,3).toLowerCase()]},formatCodes:{d:"String.leftPad(this.getDate(), 2, '0')",D:"Date.getShortDayName(this.getDay())",j:"this.getDate()",l:"Date.dayNames[this.getDay()]",N:"(this.getDay() ? this.getDay() : 7)",S:"this.getSuffix()",w:"this.getDay()",z:"this.getDayOfYear()",W:"String.leftPad(this.getWeekOfYear(), 2, '0')",F:"Date.monthNames[this.getMonth()]",m:"String.leftPad(this.getMonth() + 1, 2, '0')",M:"Date.getShortMonthName(this.getMonth())",n:"(this.getMonth() + 1)",t:"this.getDaysInMonth()",L:"(this.isLeapYear() ? 1 : 0)",o:"(this.getFullYear() + (this.getWeekOfYear() == 1 && this.getMonth() > 0 ? +1 : (this.getWeekOfYear() >= 52 && this.getMonth() < 11 ? -1 : 0)))",Y:"this.getFullYear()",y:"('' + this.getFullYear()).substring(2, 4)",a:"(this.getHours() < 12 ? 'am' : 'pm')",A:"(this.getHours() < 12 ? 'AM' : 'PM')",g:"((this.getHours() % 12) ? this.getHours() % 12 : 12)",G:"this.getHours()",h:"String.leftPad((this.getHours() % 12) ? this.getHours() % 12 : 12, 2, '0')",H:"String.leftPad(this.getHours(), 2, '0')",i:"String.leftPad(this.getMinutes(), 2, '0')",s:"String.leftPad(this.getSeconds(), 2, '0')",u:"String.leftPad(this.getMilliseconds(), 3, '0')",O:"this.getGMTOffset()",P:"this.getGMTOffset(true)",T:"this.getTimezone()",Z:"(this.getTimezoneOffset() * -60)",c:function(){for(var c="Y-m-dTH:i:sP",code=[],i=0,l=c.length;i 0) {";var regex="";var special=false;var ch="";for(var i=0;i= 0 && m >= 0 && d > 0 && h >= 0 && i >= 0 && s >= 0 && ms >= 0){\n"+"v = new Date(y, m, d, h, i, s, ms);\n"+"}else if (y >= 0 && m >= 0 && d > 0 && h >= 0 && i >= 0 && s >= 0){\n"+"v = new Date(y, m, d, h, i, s);\n"+"}else if (y >= 0 && m >= 0 && d > 0 && h >= 0 && i >= 0){\n"+"v = new Date(y, m, d, h, i);\n"+"}else if (y >= 0 && m >= 0 && d > 0 && h >= 0){\n"+"v = new Date(y, m, d, h);\n"+"}else if (y >= 0 && m >= 0 && d > 0){\n"+"v = new Date(y, m, d);\n"+"}else if (y >= 0 && m >= 0){\n"+"v = new Date(y, m);\n"+"}else if (y >= 0){\n"+"v = new Date(y);\n"+"}\n}\nreturn (v && (z || o))?"+" (Ext.type(z) == 'number' ? v.add(Date.SECOND, -v.getTimezoneOffset() * 60 - z) :"+" v.add(Date.MINUTE, -v.getTimezoneOffset() + (sn == '+'? -1 : 1) * (hr * 60 + mn))) : v;\n"+"}";Date.parseRegexes[regexNum]=new RegExp("^"+regex+"$","i");eval(code)},parseCodes:{d:{g:1,c:"d = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},j:{g:1,c:"d = parseInt(results[{0}], 10);\n",s:"(\\d{1,2})"},D:function(){for(var a=[],i=0;i<7;a.push(Date.getShortDayName(i)),++i){}return{g:0,c:null,s:"(?:"+a.join("|")+")"}},l:function(){return{g:0,c:null,s:"(?:"+Date.dayNames.join("|")+")"}},N:{g:0,c:null,s:"[1-7]"},S:{g:0,c:null,s:"(?:st|nd|rd|th)"},w:{g:0,c:null,s:"[0-6]"},z:{g:0,c:null,s:"(?:\\d{1,3}"},W:{g:0,c:null,s:"(?:\\d{2})"},F:function(){return{g:1,c:"m = parseInt(Date.getMonthNumber(results[{0}]), 10);\n",s:"("+Date.monthNames.join("|")+")"}},M:function(){for(var a=[],i=0;i<12;a.push(Date.getShortMonthName(i)),++i){}return Ext.applyIf({s:"("+a.join("|")+")"},$f("F"))},m:{g:1,c:"m = parseInt(results[{0}], 10) - 1;\n",s:"(\\d{2})"},n:{g:1,c:"m = parseInt(results[{0}], 10) - 1;\n",s:"(\\d{1,2})"},t:{g:0,c:null,s:"(?:\\d{2})"},L:{g:0,c:null,s:"(?:1|0)"},o:function(){return $f("Y")},Y:{g:1,c:"y = parseInt(results[{0}], 10);\n",s:"(\\d{4})"},y:{g:1,c:"var ty = parseInt(results[{0}], 10);\n"+"y = ty > Date.y2kYear ? 1900 + ty : 2000 + ty;\n",s:"(\\d{1,2})"},a:{g:1,c:"if (results[{0}] == 'am') {\n"+"if (h == 12) { h = 0; }\n"+"} else { if (h < 12) { h += 12; }}",s:"(am|pm)"},A:{g:1,c:"if (results[{0}] == 'AM') {\n"+"if (h == 12) { h = 0; }\n"+"} else { if (h < 12) { h += 12; }}",s:"(AM|PM)"},g:function(){return $f("G")},G:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(\\d{1,2})"},h:function(){return $f("H")},H:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},i:{g:1,c:"i = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},s:{g:1,c:"s = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},u:{g:1,c:"ms = results[{0}]; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n",s:"(\\d+)"},O:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1);","var hr = o.substring(1,3)*1 + Math.floor(o.substring(3,5) / 60);","var mn = o.substring(3,5) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + String.leftPad(hr, 2, '0') + String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{4})"},P:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1);","var hr = o.substring(1,3)*1 + Math.floor(o.substring(4,6) / 60);","var mn = o.substring(4,6) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + String.leftPad(hr, 2, '0') + String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{2}:\\d{2})"},T:{g:0,c:null,s:"[A-Z]{1,4}"},Z:{g:1,c:"z = results[{0}] * 1;\n"+"z = (-43200 <= z && z <= 50400)? z : null;\n",s:"([+-]?\\d{1,5})"},c:function(){var calc=[];var arr=[$f("Y",1),$f("m",2),$f("d",3),$f("h",4),$f("i",5),$f("s",6),{c:"ms = (results[7] || '.0').substring(1); ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n"},{c:"if(results[9] == 'Z'){\no = 0;\n}else{\n"+$f("P",9).c+"\n}"}];for(var i=0,l=arr.length;i0?"-":"+")+String.leftPad(Math.abs(Math.floor(this.getTimezoneOffset()/60)),2,"0")+(A?":":"")+String.leftPad(Math.abs(this.getTimezoneOffset()%60),2,"0")},getDayOfYear:function(){var A=0;Date.daysInMonth[1]=this.isLeapYear()?29:28;for(var B=0;B28){A=Math.min(A,this.getFirstDateOfMonth().add("mo",C).getLastDateOfMonth().getDate())}D.setDate(A);D.setMonth(this.getMonth()+C);break;case Date.YEAR:D.setFullYear(this.getFullYear()+C);break}return D},between:function(C,A){var B=this.getTime();return C.getTime()<=B&&B<=A.getTime()}});Date.prototype.format=Date.prototype.dateFormat;if(Ext.isSafari){Date.brokenSetMonth=Date.prototype.setMonth;Date.prototype.setMonth=function(A){if(A<=-1){var D=Math.ceil(-A);var C=Math.ceil(D/12);var B=(D%12)?12-D%12:0;this.setFullYear(this.getFullYear()-C);return Date.brokenSetMonth.call(this,B)}else{return Date.brokenSetMonth.apply(this,arguments)}}}; +Ext.util.DelayedTask=function(E,D,A){var G=null,F,B;var C=function(){var H=new Date().getTime();if(H-B>=F){clearInterval(G);G=null;E.apply(D,A||[])}};this.delay=function(I,K,J,H){if(G&&I!=F){this.cancel()}F=I;B=new Date().getTime();E=K||E;D=J||D;A=H||A;if(!G){G=setInterval(C,F)}};this.cancel=function(){if(G){clearInterval(G);G=null}}}; +Ext.util.TaskRunner=function(E){E=E||10;var F=[],A=[];var B=0;var G=false;var D=function(){G=false;clearInterval(B);B=0};var H=function(){if(!G){G=true;B=setInterval(I,E)}};var C=function(J){A.push(J);if(J.onStop){J.onStop.apply(J.scope||J)}};var I=function(){if(A.length>0){for(var O=0,K=A.length;O1||Ext.isArray(E)){var B=arguments.length>1?arguments:E;for(var D=0,A=B.length;D=this.length){return this.add(B,C)}this.length++;this.items.splice(A,0,C);if(typeof B!="undefined"&&B!=null){this.map[B]=C}this.keys.splice(A,0,B);this.fireEvent("add",A,C,B);return C},remove:function(A){return this.removeAt(this.indexOf(A))},removeAt:function(A){if(A=0){this.length--;var C=this.items[A];this.items.splice(A,1);var B=this.keys[A];if(typeof B!="undefined"){delete this.map[B]}this.keys.splice(A,1);this.fireEvent("remove",C,B);return C}return false},removeKey:function(A){return this.removeAt(this.indexOfKey(A))},getCount:function(){return this.length},indexOf:function(A){return this.items.indexOf(A)},indexOfKey:function(A){return this.keys.indexOf(A)},item:function(A){var B=typeof this.map[A]!="undefined"?this.map[A]:this.items[A];return typeof B!="function"||this.allowFunctions?B:null},itemAt:function(A){return this.items[A]},key:function(A){return this.map[A]},contains:function(A){return this.indexOf(A)!=-1},containsKey:function(A){return typeof this.map[A]!="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(I,A,H){var C=String(A).toUpperCase()=="DESC"?-1:1;H=H||function(K,J){return K-J};var G=[],B=this.keys,F=this.items;for(var D=0,E=F.length;D=A;C--){D[D.length]=B[C]}}return D},filter:function(C,B,D,A){if(Ext.isEmpty(B,false)){return this.clone()}B=this.createValueMatcher(B,D,A);return this.filterBy(function(E){return E&&B.test(E[C])})},filterBy:function(F,E){var G=new Ext.util.MixedCollection();G.getKey=this.getKey;var B=this.keys,D=this.items;for(var C=0,A=D.length;C0){for(var C=0;Clen){return value.substr(0,len-3)+"..."}return value},undef:function(value){return value!==undefined?value:""},defaultValue:function(value,defaultValue){return value!==undefined&&value!==""?value:defaultValue},htmlEncode:function(value){return !value?value:String(value).replace(/&/g,"&").replace(/>/g,">").replace(/").replace(/</g,"<").replace(/"/g,"\"").replace(/&/g,"&")},trim:function(value){return String(value).replace(trimRe,"")},substr:function(value,start,length){return String(value).substr(start,length)},lowercase:function(value){return String(value).toLowerCase()},uppercase:function(value){return String(value).toUpperCase()},capitalize:function(value){return !value?value:value.charAt(0).toUpperCase()+value.substr(1).toLowerCase()},call:function(value,fn){if(arguments.length>2){var args=Array.prototype.slice.call(arguments,2);args.unshift(value);return eval(fn).apply(window,args)}else{return eval(fn).call(window,value)}},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);v=String(v);var ps=v.split(".");var whole=ps[0];var sub=ps[1]?"."+ps[1]:".00";var r=/(\d+)(\d{3})/;while(r.test(whole)){whole=whole.replace(r,"$1"+","+"$2")}v=whole+sub;if(v.charAt(0)=="-"){return"-$"+v.substr(1)}return"$"+v},date:function(v,format){if(!v){return""}if(!Ext.isDate(v)){v=new Date(Date.parse(v))}return v.dateFormat(format||"m/d/Y")},dateRenderer:function(format){return function(v){return Ext.util.Format.date(v,format)}},stripTagsRE:/<\/?[^>]+>/gi,stripTags:function(v){return !v?v:String(v).replace(this.stripTagsRE,"")},stripScriptsRe:/(?:)((\n|\r|.)*?)(?:<\/script>)/ig,stripScripts:function(v){return !v?v:String(v).replace(this.stripScriptsRe,"")},fileSize:function(size){if(size<1024){return size+" bytes"}else{if(size<1048576){return(Math.round(((size*10)/1024))/10)+" KB"}else{return(Math.round(((size*10)/1048576))/10)+" MB"}}},math:function(){var fns={};return function(v,a){if(!fns[a]){fns[a]=new Function("v","return v "+a+";")}return fns[a](v)}}(),nl2br:function(v){return v===undefined||v===null?"":v.replace(/\n/g,"
")}}}(); +Ext.XTemplate=function(){Ext.XTemplate.superclass.constructor.apply(this,arguments);var P=this.html;P=["",P,""].join("");var O=/]*>((?:(?=([^<]+))\2|<(?!tpl\b[^>]*>))*?)<\/tpl>/;var N=/^]*?for="(.*?)"/;var L=/^]*?if="(.*?)"/;var J=/^]*?exec="(.*?)"/;var C,B=0;var G=[];while(C=P.match(O)){var M=C[0].match(N);var K=C[0].match(L);var I=C[0].match(J);var E=null,H=null,D=null;var A=M&&M[1]?M[1]:"";if(K){E=K&&K[1]?K[1]:null;if(E){H=new Function("values","parent","xindex","xcount","with(values){ return "+(Ext.util.Format.htmlDecode(E))+"; }")}}if(I){E=I&&I[1]?I[1]:null;if(E){D=new Function("values","parent","xindex","xcount","with(values){ "+(Ext.util.Format.htmlDecode(E))+"; }")}}if(A){switch(A){case".":A=new Function("values","parent","with(values){ return values; }");break;case"..":A=new Function("values","parent","with(values){ return parent; }");break;default:A=new Function("values","parent","with(values){ return "+A+"; }")}}G.push({id:B,target:A,exec:D,test:H,body:C[1]||""});P=P.replace(C[0],"{xtpl"+B+"}");++B}for(var F=G.length-1;F>=0;--F){this.compileTpl(G[F])}this.master=G[G.length-1];this.tpls=G};Ext.extend(Ext.XTemplate,Ext.Template,{re:/\{([\w-\.\#]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\\]\s?[\d\.\+\-\*\\\(\)]+)?\}/g,codeRe:/\{\[((?:\\\]|.|\n)*?)\]\}/g,applySubTemplate:function(A,H,G,D,C){var J=this.tpls[A];if(J.test&&!J.test.call(this,H,G,D,C)){return""}if(J.exec&&J.exec.call(this,H,G,D,C)){return""}var I=J.target?J.target.call(this,H,G):H;G=J.target?H:G;if(J.target&&Ext.isArray(I)){var B=[];for(var E=0,F=I.length;E=0;--E){D[H[E].selectorText]=H[E]}}catch(G){}},getRules:function(F){if(D==null||F){D={};var H=C.styleSheets;for(var G=0,E=H.length;G=37&&A<=40){C.stopEvent()}},relay:function(C){var A=C.getKey();var B=this.keyToHandler[A];if(B&&this[B]){if(this.doRelay(C,this[B],B)!==true){C[this.defaultEventAction]()}}},doRelay:function(C,B,A){return B.call(this.scope||this,C)},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(this.forceKeyDown||Ext.isIE||Ext.isSafari3||Ext.isAir){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(this.forceKeyDown||Ext.isIE||Ext.isSafari3||Ext.isAir){this.el.un("keydown",this.relay)}else{this.el.un("keydown",this.prepareEvent);this.el.un("keypress",this.relay)}this.disabled=true}}}; +Ext.KeyMap=function(C,B,A){this.el=Ext.get(C);this.eventName=A||"keydown";this.bindings=[];if(B){this.addBinding(B)}this.enable()};Ext.KeyMap.prototype={stopEvent:false,addBinding:function(D){if(Ext.isArray(D)){for(var F=0,H=D.length;F=this.minX;D=D-C){if(!E[D]){this.xTicks[this.xTicks.length]=D;E[D]=true}}for(D=this.initPageX;D<=this.maxX;D=D+C){if(!E[D]){this.xTicks[this.xTicks.length]=D;E[D]=true}}this.xTicks.sort(this.DDM.numericSort)},setYTicks:function(F,C){this.yTicks=[];this.yTickSize=C;var E={};for(var D=this.initPageY;D>=this.minY;D=D-C){if(!E[D]){this.yTicks[this.yTicks.length]=D;E[D]=true}}for(D=this.initPageY;D<=this.maxY;D=D+C){if(!E[D]){this.yTicks[this.yTicks.length]=D;E[D]=true}}this.yTicks.sort(this.DDM.numericSort)},setXConstraint:function(E,D,C){this.leftConstraint=E;this.rightConstraint=D;this.minX=this.initPageX-E;this.maxX=this.initPageX+D;if(C){this.setXTicks(this.initPageX,C)}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(C,E,D){this.topConstraint=C;this.bottomConstraint=E;this.minY=this.initPageY-C;this.maxY=this.initPageY+E;if(D){this.setYTicks(this.initPageY,D)}this.constrainY=true},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var D=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var C=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(D,C)}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(I,F){if(!F){return I}else{if(F[0]>=I){return F[0]}else{for(var D=0,C=F.length;D=I){var H=I-F[D];var G=F[E]-I;return(G>H)?F[D]:F[E]}}return F[F.length-1]}}},toString:function(){return("DragDrop "+this.id)}}})();if(!Ext.dd.DragDropMgr){Ext.dd.DragDropMgr=function(){var A=Ext.EventManager;return{ids:{},handleIds:{},dragCurrent:null,dragOvers:{},deltaX:0,deltaY:0,preventDefault:true,stopPropagation:true,initialized:false,locked:false,init:function(){this.initialized=true},POINT:0,INTERSECT:1,mode:0,_execOnAll:function(D,C){for(var E in this.ids){for(var B in this.ids[E]){var F=this.ids[E][B];if(!this.isTypeOfDD(F)){continue}F[D].apply(F,C)}}},_onLoad:function(){this.init();A.on(document,"mouseup",this.handleMouseUp,this,true);A.on(document,"mousemove",this.handleMouseMove,this,true);A.on(window,"unload",this._onUnload,this,true);A.on(window,"resize",this._onResize,this,true)},_onResize:function(B){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(C,B){if(!this.initialized){this.init()}if(!this.ids[B]){this.ids[B]={}}this.ids[B][C.id]=C},removeDDFromGroup:function(D,B){if(!this.ids[B]){this.ids[B]={}}var C=this.ids[B];if(C&&C[D.id]){delete C[D.id]}},_remove:function(C){for(var B in C.groups){if(B&&this.ids[B][C.id]){delete this.ids[B][C.id]}}delete this.handleIds[C.id]},regHandle:function(C,B){if(!this.handleIds[C]){this.handleIds[C]={}}this.handleIds[C][B]=B},isDragDrop:function(B){return(this.getDDById(B))?true:false},getRelated:function(F,C){var E=[];for(var D in F.groups){for(j in this.ids[D]){var B=this.ids[D][j];if(!this.isTypeOfDD(B)){continue}if(!C||B.isTarget){E[E.length]=B}}}return E},isLegalTarget:function(F,E){var C=this.getRelated(F,true);for(var D=0,B=C.length;Dthis.clickPixelThresh||B>this.clickPixelThresh){this.startDrag(this.startX,this.startY)}}if(this.dragThreshMet){this.dragCurrent.b4Drag(D);this.dragCurrent.onDrag(D);if(!this.dragCurrent.moveOnly){this.fireEvents(D,false)}}this.stopEvent(D);return true},fireEvents:function(K,L){var N=this.dragCurrent;if(!N||N.isLocked()){return }var O=K.getPoint();var B=[];var E=[];var I=[];var G=[];var D=[];for(var F in this.dragOvers){var C=this.dragOvers[F];if(!this.isTypeOfDD(C)){continue}if(!this.isOverTarget(O,C,this.mode)){E.push(C)}B[F]=true;delete this.dragOvers[F]}for(var M in N.groups){if("string"!=typeof M){continue}for(F in this.ids[M]){var H=this.ids[M][F];if(!this.isTypeOfDD(H)){continue}if(H.isTarget&&!H.isLocked()&&H!=N){if(this.isOverTarget(O,H,this.mode)){if(L){G.push(H)}else{if(!B[H.id]){D.push(H)}else{I.push(H)}this.dragOvers[H.id]=H}}}}}if(this.mode){if(E.length){N.b4DragOut(K,E);N.onDragOut(K,E)}if(D.length){N.onDragEnter(K,D)}if(I.length){N.b4DragOver(K,I);N.onDragOver(K,I)}if(G.length){N.b4DragDrop(K,G);N.onDragDrop(K,G)}}else{var J=0;for(F=0,J=E.length;F2000){}else{setTimeout(B._addListeners,10);if(document&&document.body){B._timeoutCount+=1}}}},handleWasClicked:function(B,D){if(this.isHandle(D,B.id)){return true}else{var C=B.parentNode;while(C){if(this.isHandle(D,C.id)){return true}else{C=C.parentNode}}}return false}}}();Ext.dd.DDM=Ext.dd.DragDropMgr;Ext.dd.DDM._addListeners()}Ext.dd.DD=function(C,A,B){if(C){this.init(C,A,B)}};Ext.extend(Ext.dd.DD,Ext.dd.DragDrop,{scroll:true,autoOffset:function(C,B){var A=C-this.startPageX;var D=B-this.startPageY;this.setDelta(A,D)},setDelta:function(B,A){this.deltaX=B;this.deltaY=A},setDragElPos:function(C,B){var A=this.getDragEl();this.alignElWithMouse(A,C,B)},alignElWithMouse:function(C,G,F){var E=this.getTargetCoord(G,F);var B=C.dom?C:Ext.fly(C,"_dd");if(!this.deltaSetXY){var H=[E.x,E.y];B.setXY(H);var D=B.getLeft(true);var A=B.getTop(true);this.deltaSetXY=[D-E.x,A-E.y]}else{B.setLeftTop(E.x+this.deltaSetXY[0],E.y+this.deltaSetXY[1])}this.cachePosition(E.x,E.y);this.autoScroll(E.x,E.y,C.offsetHeight,C.offsetWidth);return E},cachePosition:function(B,A){if(B){this.lastPageX=B;this.lastPageY=A}else{var C=Ext.lib.Dom.getXY(this.getEl());this.lastPageX=C[0];this.lastPageY=C[1]}},autoScroll:function(J,I,E,K){if(this.scroll){var L=Ext.lib.Dom.getViewHeight();var B=Ext.lib.Dom.getViewWidth();var N=this.DDM.getScrollTop();var D=this.DDM.getScrollLeft();var H=E+I;var M=K+J;var G=(L+N-I-this.deltaY);var F=(B+D-J-this.deltaX);var C=40;var A=(document.all)?80:30;if(H>L&&G0&&I-NB&&F0&&J-Dthis.maxX){A=this.maxX}}if(this.constrainY){if(Dthis.maxY){D=this.maxY}}A=this.getTick(A,this.xTicks);D=this.getTick(D,this.yTicks);return{x:A,y:D}},applyConfig:function(){Ext.dd.DD.superclass.applyConfig.call(this);this.scroll=(this.config.scroll!==false)},b4MouseDown:function(A){this.autoOffset(A.getPageX(),A.getPageY())},b4Drag:function(A){this.setDragElPos(A.getPageX(),A.getPageY())},toString:function(){return("DD "+this.id)}});Ext.dd.DDProxy=function(C,A,B){if(C){this.init(C,A,B);this.initFrame()}};Ext.dd.DDProxy.dragElId="ygddfdiv";Ext.extend(Ext.dd.DDProxy,Ext.dd.DD,{resizeFrame:true,centerFrame:false,createFrame:function(){var B=this;var A=document.body;if(!A||!A.firstChild){setTimeout(function(){B.createFrame()},50);return }var D=this.getDragEl();if(!D){D=document.createElement("div");D.id=this.dragElId;var C=D.style;C.position="absolute";C.visibility="hidden";C.cursor="move";C.border="2px solid #aaa";C.zIndex=999;A.insertBefore(D,A.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(E,D){var C=this.getEl();var A=this.getDragEl();var B=A.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(B.width,10)/2),Math.round(parseInt(B.height,10)/2))}this.setDragElPos(E,D);Ext.fly(A).show()},_resizeProxy:function(){if(this.resizeFrame){var A=this.getEl();Ext.fly(this.getDragEl()).setSize(A.offsetWidth,A.offsetHeight)}},b4MouseDown:function(B){var A=B.getPageX();var C=B.getPageY();this.autoOffset(A,C);this.setDragElPos(A,C)},b4StartDrag:function(A,B){this.showFrame(A,B)},b4EndDrag:function(A){Ext.fly(this.getDragEl()).hide()},endDrag:function(C){var B=this.getEl();var A=this.getDragEl();A.style.visibility="";this.beforeMove();B.style.visibility="hidden";Ext.dd.DDM.moveToEl(B,A);A.style.visibility="hidden";B.style.visibility="";this.afterDrag()},beforeMove:function(){},afterDrag:function(){},toString:function(){return("DDProxy "+this.id)}});Ext.dd.DDTarget=function(C,A,B){if(C){this.initTarget(C,A,B)}};Ext.extend(Ext.dd.DDTarget,Ext.dd.DragDrop,{toString:function(){return("DDTarget "+this.id)}}); +Ext.dd.DragTracker=function(A){Ext.apply(this,A);this.addEvents("mousedown","mouseup","mousemove","dragstart","dragend","drag");this.dragRegion=new Ext.lib.Region(0,0,0,0);if(this.el){this.initEl(this.el)}};Ext.extend(Ext.dd.DragTracker,Ext.util.Observable,{active:false,tolerance:5,autoStart:false,initEl:function(A){this.el=Ext.get(A);A.on("mousedown",this.onMouseDown,this,this.delegate?{delegate:this.delegate}:undefined)},destroy:function(){this.el.un("mousedown",this.onMouseDown,this)},onMouseDown:function(C,B){if(this.fireEvent("mousedown",this,C)!==false&&this.onBeforeStart(C)!==false){this.startXY=this.lastXY=C.getXY();this.dragTarget=this.delegate?B:this.el.dom;C.preventDefault();var A=Ext.getDoc();A.on("mouseup",this.onMouseUp,this);A.on("mousemove",this.onMouseMove,this);A.on("selectstart",this.stopSelect,this);if(this.autoStart){this.timer=this.triggerStart.defer(this.autoStart===true?1000:this.autoStart,this)}}},onMouseMove:function(D,C){D.preventDefault();var B=D.getXY(),A=this.startXY;this.lastXY=B;if(!this.active){if(Math.abs(A[0]-B[0])>this.tolerance||Math.abs(A[1]-B[1])>this.tolerance){this.triggerStart()}else{return }}this.fireEvent("mousemove",this,D);this.onDrag(D);this.fireEvent("drag",this,D)},onMouseUp:function(B){var A=Ext.getDoc();A.un("mousemove",this.onMouseMove,this);A.un("mouseup",this.onMouseUp,this);A.un("selectstart",this.stopSelect,this);B.preventDefault();this.clearStart();this.active=false;delete this.elRegion;this.fireEvent("mouseup",this,B);this.onEnd(B);this.fireEvent("dragend",this,B)},triggerStart:function(A){this.clearStart();this.active=true;this.onStart(this.startXY);this.fireEvent("dragstart",this,this.startXY)},clearStart:function(){if(this.timer){clearTimeout(this.timer);delete this.timer}},stopSelect:function(A){A.stopEvent();return false},onBeforeStart:function(A){},onStart:function(A){},onDrag:function(A){},onEnd:function(A){},getDragTarget:function(){return this.dragTarget},getDragCt:function(){return this.el},getXY:function(A){return A?this.constrainModes[A].call(this,this.lastXY):this.lastXY},getOffset:function(C){var B=this.getXY(C);var A=this.startXY;return[A[0]-B[0],A[1]-B[1]]},constrainModes:{"point":function(B){if(!this.elRegion){this.elRegion=this.getDragCt().getRegion()}var A=this.dragRegion;A.left=B[0];A.top=B[1];A.right=B[0];A.bottom=B[1];A.constrainTo(this.elRegion);return[A.left,A.top]}}}); +Ext.dd.ScrollManager=function(){var C=Ext.dd.DragDropMgr;var E={};var B=null;var H={};var G=function(K){B=null;A()};var I=function(){if(C.dragCurrent){C.refreshCache(C.dragCurrent.groups)}};var D=function(){if(C.dragCurrent){var K=Ext.dd.ScrollManager;var L=H.el.ddScrollConfig?H.el.ddScrollConfig.increment:K.increment;if(!K.animate){if(H.el.scroll(H.dir,L)){I()}}else{H.el.scroll(H.dir,L,true,K.animDuration,I)}}};var A=function(){if(H.id){clearInterval(H.id)}H.id=0;H.el=null;H.dir=""};var F=function(L,K){A();H.el=L;H.dir=K;var M=(L.ddScrollConfig&&L.ddScrollConfig.frequency)?L.ddScrollConfig.frequency:Ext.dd.ScrollManager.frequency;H.id=setInterval(D,M)};var J=function(N,P){if(P||!C.dragCurrent){return }var Q=Ext.dd.ScrollManager;if(!B||B!=C.dragCurrent){B=C.dragCurrent;Q.refreshCache()}var R=Ext.lib.Event.getXY(N);var S=new Ext.lib.Point(R[0],R[1]);for(var L in E){var M=E[L],K=M._region;var O=M.ddScrollConfig?M.ddScrollConfig:Q;if(K&&K.contains(S)&&M.isScrollable()){if(K.bottom-S.y<=O.vthresh){if(H.el!=M){F(M,"down")}return }else{if(K.right-S.x<=O.hthresh){if(H.el!=M){F(M,"left")}return }else{if(S.y-K.top<=O.vthresh){if(H.el!=M){F(M,"up")}return }else{if(S.x-K.left<=O.hthresh){if(H.el!=M){F(M,"right")}return }}}}}}A()};C.fireEvents=C.fireEvents.createSequence(J,C);C.stopDrag=C.stopDrag.createSequence(G,C);return{register:function(M){if(Ext.isArray(M)){for(var L=0,K=M.length;L]+>/gi,asText:function(A){return String(A).replace(this.stripTagsRE,"")},asUCText:function(A){return String(A).toUpperCase().replace(this.stripTagsRE,"")},asUCString:function(A){return String(A).toUpperCase()},asDate:function(A){if(!A){return 0}if(Ext.isDate(A)){return A.getTime()}return Date.parse(String(A))},asFloat:function(A){var B=parseFloat(String(A).replace(/,/g,""));if(isNaN(B)){B=0}return B},asInt:function(A){var B=parseInt(String(A).replace(/,/g,""));if(isNaN(B)){B=0}return B}}; +Ext.data.Record=function(A,B){this.id=(B||B===0)?B:++Ext.data.Record.AUTO_ID;this.data=A};Ext.data.Record.create=function(E){var C=Ext.extend(Ext.data.Record,{});var D=C.prototype;D.fields=new Ext.util.MixedCollection(false,function(F){return F.name});for(var B=0,A=E.length;BG?1:(H0},isExpandable:function(){return this.attributes.expandable||this.hasChildNodes()},appendChild:function(E){var F=false;if(Ext.isArray(E)){F=E}else{if(arguments.length>1){F=arguments}}if(F){for(var D=0,A=F.length;D0){var F=D?function(){E.apply(D,arguments)}:E;C.sort(F);for(var B=0;BG+L.left){H=G-I-this.shadowOffset;E=true}if((F+D)>C+L.top){F=C-D-this.shadowOffset;E=true}if(H=J){F=J-D-5}}K=[H,F];this.storeXY(K);A.setXY.call(this,K);this.sync()}}},isVisible:function(){return this.visible},showAction:function(){this.visible=true;if(this.useDisplay===true){this.setDisplayed("")}else{if(this.lastXY){A.setXY.call(this,this.lastXY)}else{if(this.lastLT){A.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(E,D,G,H,F){if(E){this.showAction()}if(D&&E){var C=function(){this.sync(true);if(H){H()}}.createDelegate(this);A.setVisible.call(this,true,true,G,C,F)}else{if(!E){this.hideUnders(true)}var C=H;if(D){C=function(){this.hideAction();if(H){H()}}.createDelegate(this)}A.setVisible.call(this,E,D,G,C,F);if(E){this.sync(true)}else{if(!D){this.hideAction()}}}},storeXY:function(C){delete this.lastLT;this.lastXY=C},storeLeftTop:function(D,C){delete this.lastXY;this.lastLT=[D,C]},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(C){this.storeLeftTop(C,this.getTop(true));A.setLeft.apply(this,arguments);this.sync()},setTop:function(C){this.storeLeftTop(this.getLeft(true),C);A.setTop.apply(this,arguments);this.sync()},setLeftTop:function(D,C){this.storeLeftTop(D,C);A.setLeftTop.apply(this,arguments);this.sync()},setXY:function(F,D,G,H,E){this.fixDisplay();this.beforeAction();this.storeXY(F);var C=this.createCB(H);A.setXY.call(this,F,D,G,C,E);if(!D){C()}},createCB:function(D){var C=this;return function(){C.constrainXY();C.sync(true);if(D){D()}}},setX:function(C,D,F,G,E){this.setXY([C,this.getY()],D,F,G,E)},setY:function(G,C,E,F,D){this.setXY([this.getX(),G],C,E,F,D)},setSize:function(E,F,D,H,I,G){this.beforeAction();var C=this.createCB(I);A.setSize.call(this,E,F,D,H,C,G);if(!D){C()}},setWidth:function(E,D,G,H,F){this.beforeAction();var C=this.createCB(H);A.setWidth.call(this,E,D,G,C,F);if(!D){C()}},setHeight:function(E,D,G,H,F){this.beforeAction();var C=this.createCB(H);A.setHeight.call(this,E,D,G,C,F);if(!D){C()}},setBounds:function(J,H,K,D,I,F,G,E){this.beforeAction();var C=this.createCB(G);if(!I){this.storeXY([J,H]);A.setXY.call(this,[J,H]);A.setSize.call(this,K,D,I,F,C,E);C()}else{A.setBounds.call(this,J,H,K,D,I,F,C,E)}return this},setZIndex:function(C){this.zindex=C;this.setStyle("z-index",C+2);if(this.shadow){this.shadow.setZIndex(C+1)}if(this.shim){this.shim.setStyle("z-index",C)}}})})(); +Ext.Shadow=function(C){Ext.apply(this,C);if(typeof this.mode!="string"){this.mode=this.defaultMode}var D=this.offset,B={h:0};var A=Math.floor(this.offset/2);switch(this.mode.toLowerCase()){case"drop":B.w=0;B.l=B.t=D;B.t-=1;if(Ext.isIE){B.l-=this.offset+A;B.t-=this.offset+A;B.w-=A;B.h-=A;B.t+=1}break;case"sides":B.w=(D*2);B.l=-D;B.t=D-1;if(Ext.isIE){B.l-=(this.offset-A);B.t-=this.offset+A;B.l+=1;B.w-=(this.offset-A)*2;B.w-=A+1;B.h-=1}break;case"frame":B.w=B.h=(D*2);B.l=B.t=-D;B.t+=1;B.h-=2;if(Ext.isIE){B.l-=(this.offset-A);B.t-=(this.offset-A);B.l+=1;B.w-=(this.offset+A+1);B.h-=(this.offset+A);B.h+=1}break}this.adjusts=B};Ext.Shadow.prototype={offset:4,defaultMode:"drop",show:function(A){A=Ext.get(A);if(!this.el){this.el=Ext.Shadow.Pool.pull();if(this.el.dom.nextSibling!=A.dom){this.el.insertBefore(A)}}this.el.setStyle("z-index",this.zIndex||parseInt(A.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(A.getLeft(true),A.getTop(true),A.getWidth(),A.getHeight());this.el.dom.style.display="block"},isVisible:function(){return this.el?true:false},realign:function(A,M,L,D){if(!this.el){return }var I=this.adjusts,G=this.el.dom,N=G.style;var E=0;N.left=(A+I.l)+"px";N.top=(M+I.t)+"px";var K=(L+I.w),C=(D+I.h),F=K+"px",J=C+"px";if(N.width!=F||N.height!=J){N.width=F;N.height=J;if(!Ext.isIE){var H=G.childNodes;var B=Math.max(0,(K-12))+"px";H[0].childNodes[1].style.width=B;H[1].childNodes[1].style.width=B;H[2].childNodes[1].style.width=B;H[1].style.height=Math.max(0,(C-12))+"px"}}},hide:function(){if(this.el){this.el.dom.style.display="none";Ext.Shadow.Pool.push(this.el);delete this.el}},setZIndex:function(A){this.zIndex=A;if(this.el){this.el.setStyle("z-index",A)}}};Ext.Shadow.Pool=function(){var B=[];var A=Ext.isIE?"
":"
";return{pull:function(){var C=B.shift();if(!C){C=Ext.get(Ext.DomHelper.insertHtml("beforeBegin",document.body.firstChild,A));C.autoBoxAdjust=false}return C},push:function(C){B.push(C)}}}(); +Ext.BoxComponent=Ext.extend(Ext.Component,{initComponent:function(){Ext.BoxComponent.superclass.initComponent.call(this);this.addEvents("resize","move")},boxReady:false,deferHeight:false,setSize:function(B,D){if(typeof B=="object"){D=B.height;B=B.width}if(!this.boxReady){this.width=B;this.height=D;return this}if(this.lastSize&&this.lastSize.width==B&&this.lastSize.height==D){return this}this.lastSize={width:B,height:D};var C=this.adjustSize(B,D);var F=C.width,A=C.height;if(F!==undefined||A!==undefined){var E=this.getResizeEl();if(!this.deferHeight&&F!==undefined&&A!==undefined){E.setSize(F,A)}else{if(!this.deferHeight&&A!==undefined){E.setHeight(A)}else{if(F!==undefined){E.setWidth(F)}}}this.onResize(F,A,B,D);this.fireEvent("resize",this,F,A,B,D)}return this},setWidth:function(A){return this.setSize(A)},setHeight:function(A){return this.setSize(undefined,A)},getSize:function(){return this.el.getSize()},getPosition:function(A){if(A===true){return[this.el.getLeft(true),this.el.getTop(true)]}return this.xy||this.el.getXY()},getBox:function(A){var B=this.el.getSize();if(A===true){B.x=this.el.getLeft(true);B.y=this.el.getTop(true)}else{var C=this.xy||this.el.getXY();B.x=C[0];B.y=C[1]}return B},updateBox:function(A){this.setSize(A.width,A.height);this.setPagePosition(A.x,A.y);return this},getResizeEl:function(){return this.resizeEl||this.el},getPositionEl:function(){return this.positionEl||this.el},setPosition:function(A,F){if(A&&typeof A[1]=="number"){F=A[1];A=A[0]}this.x=A;this.y=F;if(!this.boxReady){return this}var B=this.adjustPosition(A,F);var E=B.x,D=B.y;var C=this.getPositionEl();if(E!==undefined||D!==undefined){if(E!==undefined&&D!==undefined){C.setLeftTop(E,D)}else{if(E!==undefined){C.setLeft(E)}else{if(D!==undefined){C.setTop(D)}}}this.onPosition(E,D);this.fireEvent("move",this,E,D)}return this},setPagePosition:function(A,C){if(A&&typeof A[1]=="number"){C=A[1];A=A[0]}this.pageX=A;this.pageY=C;if(!this.boxReady){return }if(A===undefined||C===undefined){return }var B=this.el.translatePoints(A,C);this.setPosition(B.left,B.top);return this},onRender:function(B,A){Ext.BoxComponent.superclass.onRender.call(this,B,A);if(this.resizeEl){this.resizeEl=Ext.get(this.resizeEl)}if(this.positionEl){this.positionEl=Ext.get(this.positionEl)}},afterRender:function(){Ext.BoxComponent.superclass.afterRender.call(this);this.boxReady=true;this.setSize(this.width,this.height);if(this.x||this.y){this.setPosition(this.x,this.y)}else{if(this.pageX||this.pageY){this.setPagePosition(this.pageX,this.pageY)}}},syncSize:function(){delete this.lastSize;this.setSize(this.autoWidth?undefined:this.el.getWidth(),this.autoHeight?undefined:this.el.getHeight());return this},onResize:function(D,B,A,C){},onPosition:function(A,B){},adjustSize:function(A,B){if(this.autoWidth){A="auto"}if(this.autoHeight){B="auto"}return{width:A,height:B}},adjustPosition:function(A,B){return{x:A,y:B}}});Ext.reg("box",Ext.BoxComponent); +Ext.SplitBar=function(C,E,B,D,A){this.el=Ext.get(C,true);this.el.dom.unselectable="on";this.resizingEl=Ext.get(E,true);this.orientation=B||Ext.SplitBar.HORIZONTAL;this.minSize=0;this.maxSize=2000;this.animate=false;this.useShim=false;this.shim=null;if(!A){this.proxy=Ext.SplitBar.createProxy(this.orientation)}else{this.proxy=Ext.get(A).dom}this.dd=new Ext.dd.DDProxy(this.el.dom.id,"XSplitBars",{dragElId:this.proxy.id});this.dd.b4StartDrag=this.onStartProxyDrag.createDelegate(this);this.dd.endDrag=this.onEndProxyDrag.createDelegate(this);this.dragSpecs={};this.adapter=new Ext.SplitBar.BasicLayoutAdapter();this.adapter.init(this);if(this.orientation==Ext.SplitBar.HORIZONTAL){this.placement=D||(this.el.getX()>this.resizingEl.getX()?Ext.SplitBar.LEFT:Ext.SplitBar.RIGHT);this.el.addClass("x-splitbar-h")}else{this.placement=D||(this.el.getY()>this.resizingEl.getY()?Ext.SplitBar.TOP:Ext.SplitBar.BOTTOM);this.el.addClass("x-splitbar-v")}this.addEvents("resize","moved","beforeresize","beforeapply");Ext.SplitBar.superclass.constructor.call(this)};Ext.extend(Ext.SplitBar,Ext.util.Observable,{onStartProxyDrag:function(A,E){this.fireEvent("beforeresize",this);this.overlay=Ext.DomHelper.append(document.body,{cls:"x-drag-overlay",html:" "},true);this.overlay.unselectable();this.overlay.setSize(Ext.lib.Dom.getViewWidth(true),Ext.lib.Dom.getViewHeight(true));this.overlay.show();Ext.get(this.proxy).setDisplayed("block");var C=this.adapter.getElementSize(this);this.activeMinSize=this.getMinimumSize();this.activeMaxSize=this.getMaximumSize();var D=C-this.activeMinSize;var B=Math.max(this.activeMaxSize-C,0);if(this.orientation==Ext.SplitBar.HORIZONTAL){this.dd.resetConstraints();this.dd.setXConstraint(this.placement==Ext.SplitBar.LEFT?D:B,this.placement==Ext.SplitBar.LEFT?B:D);this.dd.setYConstraint(0,0)}else{this.dd.resetConstraints();this.dd.setXConstraint(0,0);this.dd.setYConstraint(this.placement==Ext.SplitBar.TOP?D:B,this.placement==Ext.SplitBar.TOP?B:D)}this.dragSpecs.startSize=C;this.dragSpecs.startPoint=[A,E];Ext.dd.DDProxy.prototype.b4StartDrag.call(this.dd,A,E)},onEndProxyDrag:function(C){Ext.get(this.proxy).setDisplayed(false);var B=Ext.lib.Event.getXY(C);if(this.overlay){this.overlay.remove();delete this.overlay}var A;if(this.orientation==Ext.SplitBar.HORIZONTAL){A=this.dragSpecs.startSize+(this.placement==Ext.SplitBar.LEFT?B[0]-this.dragSpecs.startPoint[0]:this.dragSpecs.startPoint[0]-B[0])}else{A=this.dragSpecs.startSize+(this.placement==Ext.SplitBar.TOP?B[1]-this.dragSpecs.startPoint[1]:this.dragSpecs.startPoint[1]-B[1])}A=Math.min(Math.max(A,this.activeMinSize),this.activeMaxSize);if(A!=this.dragSpecs.startSize){if(this.fireEvent("beforeapply",this,A)!==false){this.adapter.setElementSize(this,A);this.fireEvent("moved",this,A);this.fireEvent("resize",this,A)}}},getAdapter:function(){return this.adapter},setAdapter:function(A){this.adapter=A;this.adapter.init(this)},getMinimumSize:function(){return this.minSize},setMinimumSize:function(A){this.minSize=A},getMaximumSize:function(){return this.maxSize},setMaximumSize:function(A){this.maxSize=A},setCurrentSize:function(B){var A=this.animate;this.animate=false;this.adapter.setElementSize(this,B);this.animate=A},destroy:function(A){if(this.shim){this.shim.remove()}this.dd.unreg();Ext.removeNode(this.proxy);if(A){this.el.remove()}}});Ext.SplitBar.createProxy=function(B){var C=new Ext.Element(document.createElement("div"));C.unselectable();var A="x-splitbar-proxy";C.addClass(A+" "+(B==Ext.SplitBar.HORIZONTAL?A+"-h":A+"-v"));document.body.appendChild(C.dom);return C.dom};Ext.SplitBar.BasicLayoutAdapter=function(){};Ext.SplitBar.BasicLayoutAdapter.prototype={init:function(A){},getElementSize:function(A){if(A.orientation==Ext.SplitBar.HORIZONTAL){return A.resizingEl.getWidth()}else{return A.resizingEl.getHeight()}},setElementSize:function(B,A,C){if(B.orientation==Ext.SplitBar.HORIZONTAL){if(!B.animate){B.resizingEl.setWidth(A);if(C){C(B,A)}}else{B.resizingEl.setWidth(A,true,0.1,C,"easeOut")}}else{if(!B.animate){B.resizingEl.setHeight(A);if(C){C(B,A)}}else{B.resizingEl.setHeight(A,true,0.1,C,"easeOut")}}}};Ext.SplitBar.AbsoluteLayoutAdapter=function(A){this.basic=new Ext.SplitBar.BasicLayoutAdapter();this.container=Ext.get(A)};Ext.SplitBar.AbsoluteLayoutAdapter.prototype={init:function(A){this.basic.init(A)},getElementSize:function(A){return this.basic.getElementSize(A)},setElementSize:function(B,A,C){this.basic.setElementSize(B,A,this.moveSplitter.createDelegate(this,[B]))},moveSplitter:function(A){var B=Ext.SplitBar;switch(A.placement){case B.LEFT:A.el.setX(A.resizingEl.getRight());break;case B.RIGHT:A.el.setStyle("right",(this.container.getWidth()-A.resizingEl.getLeft())+"px");break;case B.TOP:A.el.setY(A.resizingEl.getBottom());break;case B.BOTTOM:A.el.setY(A.resizingEl.getTop()-A.el.getHeight());break}}};Ext.SplitBar.VERTICAL=1;Ext.SplitBar.HORIZONTAL=2;Ext.SplitBar.LEFT=1;Ext.SplitBar.RIGHT=2;Ext.SplitBar.TOP=3;Ext.SplitBar.BOTTOM=4; +Ext.Container=Ext.extend(Ext.BoxComponent,{autoDestroy:true,defaultType:"panel",initComponent:function(){Ext.Container.superclass.initComponent.call(this);this.addEvents("afterlayout","beforeadd","beforeremove","add","remove");var A=this.items;if(A){delete this.items;if(Ext.isArray(A)){this.add.apply(this,A)}else{this.add(A)}}},initItems:function(){if(!this.items){this.items=new Ext.util.MixedCollection(false,this.getComponentId);this.getLayout()}},setLayout:function(A){if(this.layout&&this.layout!=A){this.layout.setContainer(null)}this.initItems();this.layout=A;A.setContainer(this)},render:function(){Ext.Container.superclass.render.apply(this,arguments);if(this.layout){if(typeof this.layout=="string"){this.layout=new Ext.Container.LAYOUTS[this.layout.toLowerCase()](this.layoutConfig)}this.setLayout(this.layout);if(this.activeItem!==undefined){var A=this.activeItem;delete this.activeItem;this.layout.setActiveItem(A);return }}if(!this.ownerCt){this.doLayout()}if(this.monitorResize===true){Ext.EventManager.onWindowResize(this.doLayout,this,[false])}},getLayoutTarget:function(){return this.el},getComponentId:function(A){return A.itemId||A.id},add:function(C){if(!this.items){this.initItems()}var B=arguments,A=B.length;if(A>1){for(var D=0;D2){for(var E=A-1;E>=1;--E){this.insert(D,B[E])}return }var F=this.lookupComponent(this.applyDefaults(C));if(F.ownerCt==this&&this.items.indexOf(F)0){B.setSize(A)}}});Ext.Container.LAYOUTS["fit"]=Ext.layout.FitLayout; +Ext.layout.CardLayout=Ext.extend(Ext.layout.FitLayout,{deferredRender:false,renderHidden:true,setActiveItem:function(A){A=this.container.getComponent(A);if(this.activeItem!=A){if(this.activeItem){this.activeItem.hide()}this.activeItem=A;A.show();this.layout()}},renderAll:function(A,B){if(this.deferredRender){this.renderItem(this.activeItem,undefined,B)}else{Ext.layout.CardLayout.superclass.renderAll.call(this,A,B)}}});Ext.Container.LAYOUTS["card"]=Ext.layout.CardLayout; +Ext.layout.AnchorLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,getAnchorViewSize:function(A,B){return B.dom==document.body?B.getViewSize():B.getStyleSize()},onLayout:function(F,I){Ext.layout.AnchorLayout.superclass.onLayout.call(this,F,I);var O=this.getAnchorViewSize(F,I);var M=O.width,E=O.height;if(M<20||E<20){return }var B,K;if(F.anchorSize){if(typeof F.anchorSize=="number"){B=F.anchorSize}else{B=F.anchorSize.width;K=F.anchorSize.height}}else{B=F.initialConfig.width;K=F.initialConfig.height}var H=F.items.items,G=H.length,D,J,L,C,A;for(D=0;D ");B.disableFormats=true;B.compile();Ext.layout.BorderLayout.Region.prototype.toolTemplate=B}this.collapsedEl=this.targetEl.createChild({cls:"x-layout-collapsed x-layout-collapsed-"+this.position,id:this.panel.id+"-xcollapsed"});this.collapsedEl.enableDisplayMode("block");if(this.collapseMode=="mini"){this.collapsedEl.addClass("x-layout-cmini-"+this.position);this.miniCollapsedEl=this.collapsedEl.createChild({cls:"x-layout-mini x-layout-mini-"+this.position,html:" "});this.miniCollapsedEl.addClassOnOver("x-layout-mini-over");this.collapsedEl.addClassOnOver("x-layout-collapsed-over");this.collapsedEl.on("click",this.onExpandClick,this,{stopEvent:true})}else{var A=this.toolTemplate.append(this.collapsedEl.dom,{id:"expand-"+this.position},true);A.addClassOnOver("x-tool-expand-"+this.position+"-over");A.on("click",this.onExpandClick,this,{stopEvent:true});if(this.floatable!==false){this.collapsedEl.addClassOnOver("x-layout-collapsed-over");this.collapsedEl.on("click",this.collapseClick,this)}}}return this.collapsedEl},onExpandClick:function(A){if(this.isSlid){this.afterSlideIn();this.panel.expand(false)}else{this.panel.expand()}},onCollapseClick:function(A){this.panel.collapse()},beforeCollapse:function(B,A){this.lastAnim=A;if(this.splitEl){this.splitEl.hide()}this.getCollapsedEl().show();this.panel.el.setStyle("z-index",100);this.isCollapsed=true;this.layout.layout()},onCollapse:function(A){this.panel.el.setStyle("z-index",1);if(this.lastAnim===false||this.panel.animCollapse===false){this.getCollapsedEl().dom.style.visibility="visible"}else{this.getCollapsedEl().slideIn(this.panel.slideAnchor,{duration:0.2})}this.state.collapsed=true;this.panel.saveState()},beforeExpand:function(A){var B=this.getCollapsedEl();this.el.show();if(this.position=="east"||this.position=="west"){this.panel.setSize(undefined,B.getHeight())}else{this.panel.setSize(B.getWidth(),undefined)}B.hide();B.dom.style.visibility="hidden";this.panel.el.setStyle("z-index",100)},onExpand:function(){this.isCollapsed=false;if(this.splitEl){this.splitEl.show()}this.layout.layout();this.panel.el.setStyle("z-index",1);this.state.collapsed=false;this.panel.saveState()},collapseClick:function(A){if(this.isSlid){A.stopPropagation();this.slideIn()}else{A.stopPropagation();this.slideOut()}},onHide:function(){if(this.isCollapsed){this.getCollapsedEl().hide()}else{if(this.splitEl){this.splitEl.hide()}}},onShow:function(){if(this.isCollapsed){this.getCollapsedEl().show()}else{if(this.splitEl){this.splitEl.show()}}},isVisible:function(){return !this.panel.hidden},getMargins:function(){return this.isCollapsed&&this.cmargins?this.cmargins:this.margins},getSize:function(){return this.isCollapsed?this.getCollapsedEl().getSize():this.panel.getSize()},setPanel:function(A){this.panel=A},getMinWidth:function(){return this.minWidth},getMinHeight:function(){return this.minHeight},applyLayoutCollapsed:function(A){var B=this.getCollapsedEl();B.setLeftTop(A.x,A.y);B.setSize(A.width,A.height)},applyLayout:function(A){if(this.isCollapsed){this.applyLayoutCollapsed(A)}else{this.panel.setPosition(A.x,A.y);this.panel.setSize(A.width,A.height)}},beforeSlide:function(){this.panel.beforeEffect()},afterSlide:function(){this.panel.afterEffect()},initAutoHide:function(){if(this.autoHide!==false){if(!this.autoHideHd){var A=new Ext.util.DelayedTask(this.slideIn,this);this.autoHideHd={"mouseout":function(B){if(!B.within(this.el,true)){A.delay(500)}},"mouseover":function(B){A.cancel()},scope:this}}this.el.on(this.autoHideHd)}},clearAutoHide:function(){if(this.autoHide!==false){this.el.un("mouseout",this.autoHideHd.mouseout);this.el.un("mouseover",this.autoHideHd.mouseover)}},clearMonitor:function(){Ext.getDoc().un("click",this.slideInIf,this)},slideOut:function(){if(this.isSlid||this.el.hasActiveFx()){return }this.isSlid=true;var A=this.panel.tools;if(A&&A.toggle){A.toggle.hide()}this.el.show();if(this.position=="east"||this.position=="west"){this.panel.setSize(undefined,this.collapsedEl.getHeight())}else{this.panel.setSize(this.collapsedEl.getWidth(),undefined)}this.restoreLT=[this.el.dom.style.left,this.el.dom.style.top];this.el.alignTo(this.collapsedEl,this.getCollapseAnchor());this.el.setStyle("z-index",102);if(this.animFloat!==false){this.beforeSlide();this.el.slideIn(this.getSlideAnchor(),{callback:function(){this.afterSlide();this.initAutoHide();Ext.getDoc().on("click",this.slideInIf,this)},scope:this,block:true})}else{this.initAutoHide();Ext.getDoc().on("click",this.slideInIf,this)}},afterSlideIn:function(){this.clearAutoHide();this.isSlid=false;this.clearMonitor();this.el.setStyle("z-index","");this.el.dom.style.left=this.restoreLT[0];this.el.dom.style.top=this.restoreLT[1];var A=this.panel.tools;if(A&&A.toggle){A.toggle.show()}},slideIn:function(A){if(!this.isSlid||this.el.hasActiveFx()){Ext.callback(A);return }this.isSlid=false;if(this.animFloat!==false){this.beforeSlide();this.el.slideOut(this.getSlideAnchor(),{callback:function(){this.el.hide();this.afterSlide();this.afterSlideIn();Ext.callback(A)},scope:this,block:true})}else{this.el.hide();this.afterSlideIn()}},slideInIf:function(A){if(!A.within(this.el)){this.slideIn()}},anchors:{"west":"left","east":"right","north":"top","south":"bottom"},sanchors:{"west":"l","east":"r","north":"t","south":"b"},canchors:{"west":"tl-tr","east":"tr-tl","north":"tl-bl","south":"bl-tl"},getAnchor:function(){return this.anchors[this.position]},getCollapseAnchor:function(){return this.canchors[this.position]},getSlideAnchor:function(){return this.sanchors[this.position]},getAlignAdj:function(){var A=this.cmargins;switch(this.position){case"west":return[0,0];break;case"east":return[0,0];break;case"north":return[0,0];break;case"south":return[0,0];break}},getExpandAdj:function(){var B=this.collapsedEl,A=this.cmargins;switch(this.position){case"west":return[-(A.right+B.getWidth()+A.left),0];break;case"east":return[A.right+B.getWidth()+A.left,0];break;case"north":return[0,-(A.top+A.bottom+B.getHeight())];break;case"south":return[0,A.top+A.bottom+B.getHeight()];break}}};Ext.layout.BorderLayout.SplitRegion=function(B,A,C){Ext.layout.BorderLayout.SplitRegion.superclass.constructor.call(this,B,A,C);this.applyLayout=this.applyFns[C]};Ext.extend(Ext.layout.BorderLayout.SplitRegion,Ext.layout.BorderLayout.Region,{splitTip:"Drag to resize.",collapsibleSplitTip:"Drag to resize. Double click to hide.",useSplitTips:false,splitSettings:{north:{orientation:Ext.SplitBar.VERTICAL,placement:Ext.SplitBar.TOP,maxFn:"getVMaxSize",minProp:"minHeight",maxProp:"maxHeight"},south:{orientation:Ext.SplitBar.VERTICAL,placement:Ext.SplitBar.BOTTOM,maxFn:"getVMaxSize",minProp:"minHeight",maxProp:"maxHeight"},east:{orientation:Ext.SplitBar.HORIZONTAL,placement:Ext.SplitBar.RIGHT,maxFn:"getHMaxSize",minProp:"minWidth",maxProp:"maxWidth"},west:{orientation:Ext.SplitBar.HORIZONTAL,placement:Ext.SplitBar.LEFT,maxFn:"getHMaxSize",minProp:"minWidth",maxProp:"maxWidth"}},applyFns:{west:function(C){if(this.isCollapsed){return this.applyLayoutCollapsed(C)}var D=this.splitEl.dom,B=D.style;this.panel.setPosition(C.x,C.y);var A=D.offsetWidth;B.left=(C.x+C.width-A)+"px";B.top=(C.y)+"px";B.height=Math.max(0,C.height)+"px";this.panel.setSize(C.width-A,C.height)},east:function(C){if(this.isCollapsed){return this.applyLayoutCollapsed(C)}var D=this.splitEl.dom,B=D.style;var A=D.offsetWidth;this.panel.setPosition(C.x+A,C.y);B.left=(C.x)+"px";B.top=(C.y)+"px";B.height=Math.max(0,C.height)+"px";this.panel.setSize(C.width-A,C.height)},north:function(C){if(this.isCollapsed){return this.applyLayoutCollapsed(C)}var D=this.splitEl.dom,B=D.style;var A=D.offsetHeight;this.panel.setPosition(C.x,C.y);B.left=(C.x)+"px";B.top=(C.y+C.height-A)+"px";B.width=Math.max(0,C.width)+"px";this.panel.setSize(C.width,C.height-A)},south:function(C){if(this.isCollapsed){return this.applyLayoutCollapsed(C)}var D=this.splitEl.dom,B=D.style;var A=D.offsetHeight;this.panel.setPosition(C.x,C.y+A);B.left=(C.x)+"px";B.top=(C.y)+"px";B.width=Math.max(0,C.width)+"px";this.panel.setSize(C.width,C.height-A)}},render:function(A,C){Ext.layout.BorderLayout.SplitRegion.superclass.render.call(this,A,C);var D=this.position;this.splitEl=A.createChild({cls:"x-layout-split x-layout-split-"+D,html:" ",id:this.panel.id+"-xsplit"});if(this.collapseMode=="mini"){this.miniSplitEl=this.splitEl.createChild({cls:"x-layout-mini x-layout-mini-"+D,html:" "});this.miniSplitEl.addClassOnOver("x-layout-mini-over");this.miniSplitEl.on("click",this.onCollapseClick,this,{stopEvent:true})}var B=this.splitSettings[D];this.split=new Ext.SplitBar(this.splitEl.dom,C.el,B.orientation);this.split.placement=B.placement;this.split.getMaximumSize=this[B.maxFn].createDelegate(this);this.split.minSize=this.minSize||this[B.minProp];this.split.on("beforeapply",this.onSplitMove,this);this.split.useShim=this.useShim===true;this.maxSize=this.maxSize||this[B.maxProp];if(C.hidden){this.splitEl.hide()}if(this.useSplitTips){this.splitEl.dom.title=this.collapsible?this.collapsibleSplitTip:this.splitTip}if(this.collapsible){this.splitEl.on("dblclick",this.onCollapseClick,this)}},getSize:function(){if(this.isCollapsed){return this.collapsedEl.getSize()}var A=this.panel.getSize();if(this.position=="north"||this.position=="south"){A.height+=this.splitEl.dom.offsetHeight}else{A.width+=this.splitEl.dom.offsetWidth}return A},getHMaxSize:function(){var B=this.maxSize||10000;var A=this.layout.center;return Math.min(B,(this.el.getWidth()+A.el.getWidth())-A.getMinWidth())},getVMaxSize:function(){var B=this.maxSize||10000;var A=this.layout.center;return Math.min(B,(this.el.getHeight()+A.el.getHeight())-A.getMinHeight())},onSplitMove:function(B,A){var C=this.panel.getSize();this.lastSplitSize=A;if(this.position=="north"||this.position=="south"){this.panel.setSize(C.width,A);this.state.height=A}else{this.panel.setSize(A,C.height);this.state.width=A}this.layout.layout();this.panel.saveState();return false},getSplitBar:function(){return this.split}});Ext.Container.LAYOUTS["border"]=Ext.layout.BorderLayout; +Ext.layout.FormLayout=Ext.extend(Ext.layout.AnchorLayout,{labelSeparator:":",getAnchorViewSize:function(A,B){return A.body.getStyleSize()},setContainer:function(B){Ext.layout.FormLayout.superclass.setContainer.call(this,B);if(B.labelAlign){B.addClass("x-form-label-"+B.labelAlign)}if(B.hideLabels){this.labelStyle="display:none";this.elementStyle="padding-left:0;";this.labelAdjust=0}else{this.labelSeparator=B.labelSeparator||this.labelSeparator;B.labelWidth=B.labelWidth||100;if(typeof B.labelWidth=="number"){var C=(typeof B.labelPad=="number"?B.labelPad:5);this.labelAdjust=B.labelWidth+C;this.labelStyle="width:"+B.labelWidth+"px;";this.elementStyle="padding-left:"+(B.labelWidth+C)+"px"}if(B.labelAlign=="top"){this.labelStyle="width:auto;";this.labelAdjust=0;this.elementStyle="padding-left:0;"}}if(!this.fieldTpl){var A=new Ext.Template("
","","
","
","
");A.disableFormats=true;A.compile();Ext.layout.FormLayout.prototype.fieldTpl=A}},renderItem:function(D,A,C){if(D&&!D.rendered&&D.isFormField&&D.inputType!="hidden"){var B=[D.id,D.fieldLabel,D.labelStyle||this.labelStyle||"",this.elementStyle||"",typeof D.labelSeparator=="undefined"?this.labelSeparator:D.labelSeparator,(D.itemCls||this.container.itemCls||"")+(D.hideLabel?" x-hide-label":""),D.clearCls||"x-form-clear-left"];if(typeof A=="number"){A=C.dom.childNodes[A]||null}if(A){this.fieldTpl.insertBefore(A,B)}else{this.fieldTpl.append(C,B)}D.render("x-form-el-"+D.id)}else{Ext.layout.FormLayout.superclass.renderItem.apply(this,arguments)}},adjustWidthAnchor:function(B,A){return B-(A.isFormField?(A.hideLabel?0:this.labelAdjust):0)},isValidParent:function(B,A){return true}});Ext.Container.LAYOUTS["form"]=Ext.layout.FormLayout; +Ext.layout.Accordion=Ext.extend(Ext.layout.FitLayout,{fill:true,autoWidth:true,titleCollapse:true,hideCollapseTool:false,collapseFirst:false,animate:false,sequence:false,activeOnTop:false,renderItem:function(A){if(this.animate===false){A.animCollapse=false}A.collapsible=true;if(this.autoWidth){A.autoWidth=true}if(this.titleCollapse){A.titleCollapse=true}if(this.hideCollapseTool){A.hideCollapseTool=true}if(this.collapseFirst!==undefined){A.collapseFirst=this.collapseFirst}if(!this.activeItem&&!A.collapsed){this.activeItem=A}else{if(this.activeItem){A.collapsed=true}}Ext.layout.Accordion.superclass.renderItem.apply(this,arguments);A.header.addClass("x-accordion-hd");A.on("beforeexpand",this.beforeExpand,this)},beforeExpand:function(C,B){var A=this.activeItem;if(A){if(this.sequence){delete this.activeItem;if(!A.collapsed){A.collapse({callback:function(){C.expand(B||true)},scope:this});return false}}else{A.collapse(this.animate)}}this.activeItem=C;if(this.activeOnTop){C.el.dom.parentNode.insertBefore(C.el.dom,C.el.dom.parentNode.firstChild)}this.layout()},setItemSize:function(F,E){if(this.fill&&F){var B=this.container.items.items;var D=0;for(var C=0,A=B.length;C=B)||(this.cells[C]&&this.cells[C][A])){if(B&&A>=B){C++;A=0}else{A++}}return[A,C]},renderItem:function(C,A,B){if(C&&!C.rendered){C.render(this.getNextCell(C))}},isValidParent:function(B,A){return true}});Ext.Container.LAYOUTS["table"]=Ext.layout.TableLayout; +Ext.layout.AbsoluteLayout=Ext.extend(Ext.layout.AnchorLayout,{extraCls:"x-abs-layout-item",isForm:false,setContainer:function(A){Ext.layout.AbsoluteLayout.superclass.setContainer.call(this,A);if(A.isXType("form")){this.isForm=true}},onLayout:function(A,B){if(this.isForm){A.body.position()}else{B.position()}Ext.layout.AbsoluteLayout.superclass.onLayout.call(this,A,B)},getAnchorViewSize:function(A,B){return this.isForm?A.body.getStyleSize():Ext.layout.AbsoluteLayout.superclass.getAnchorViewSize.call(this,A,B)},isValidParent:function(B,A){return this.isForm?true:Ext.layout.AbsoluteLayout.superclass.isValidParent.call(this,B,A)},adjustWidthAnchor:function(B,A){return B?B-A.getPosition(true)[0]:B},adjustHeightAnchor:function(B,A){return B?B-A.getPosition(true)[1]:B}});Ext.Container.LAYOUTS["absolute"]=Ext.layout.AbsoluteLayout; +Ext.Viewport=Ext.extend(Ext.Container,{initComponent:function(){Ext.Viewport.superclass.initComponent.call(this);document.getElementsByTagName("html")[0].className+=" x-viewport";this.el=Ext.getBody();this.el.setHeight=Ext.emptyFn;this.el.setWidth=Ext.emptyFn;this.el.setSize=Ext.emptyFn;this.el.dom.scroll="no";this.allowDomMove=false;this.autoWidth=true;this.autoHeight=true;Ext.EventManager.onWindowResize(this.fireResize,this);this.renderTo=this.el},fireResize:function(A,B){this.fireEvent("resize",this,A,B,A,B)}});Ext.reg("viewport",Ext.Viewport); +Ext.Panel=Ext.extend(Ext.Container,{baseCls:"x-panel",collapsedCls:"x-panel-collapsed",maskDisabled:true,animCollapse:Ext.enableFx,headerAsText:true,buttonAlign:"right",collapsed:false,collapseFirst:true,minButtonWidth:75,elements:"body",toolTarget:"header",collapseEl:"bwrap",slideAnchor:"t",disabledClass:"",deferHeight:true,expandDefaults:{duration:0.25},collapseDefaults:{duration:0.25},initComponent:function(){Ext.Panel.superclass.initComponent.call(this);this.addEvents("bodyresize","titlechange","collapse","expand","beforecollapse","beforeexpand","beforeclose","close","activate","deactivate");if(this.tbar){this.elements+=",tbar";if(typeof this.tbar=="object"){this.topToolbar=this.tbar}delete this.tbar}if(this.bbar){this.elements+=",bbar";if(typeof this.bbar=="object"){this.bottomToolbar=this.bbar}delete this.bbar}if(this.header===true){this.elements+=",header";delete this.header}else{if(this.title&&this.header!==false){this.elements+=",header"}}if(this.footer===true){this.elements+=",footer";delete this.footer}if(this.buttons){var C=this.buttons;this.buttons=[];for(var B=0,A=C.length;B"+this.header.dom.innerHTML+"";if(this.iconCls){this.setIconClass(this.iconCls)}}}if(this.floating){this.makeFloating(this.floating)}if(this.collapsible){this.tools=this.tools?this.tools.slice(0):[];if(!this.hideCollapseTool){this.tools[this.collapseFirst?"unshift":"push"]({id:"toggle",handler:this.toggleCollapse,scope:this})}if(this.titleCollapse&&this.header){this.header.on("click",this.toggleCollapse,this);this.header.setStyle("cursor","pointer")}}if(this.tools){var J=this.tools;this.tools={};this.addTool.apply(this,J)}else{this.tools={}}if(this.buttons&&this.buttons.length>0){var D=this.footer.createChild({cls:"x-panel-btns-ct",cn:{cls:"x-panel-btns x-panel-btns-"+this.buttonAlign,html:"
"}},null,true);var L=D.getElementsByTagName("tr")[0];for(var F=0,I=this.buttons.length;F ");F.disableFormats=true;F.compile();Ext.Panel.prototype.toolTemplate=F}for(var E=0,C=arguments,B=C.length;E0){J.sort(C);var I=J[0].manager.zseed;for(var K=0;K=0;--H){if(!D[H].hidden){B(D[H]);return }}B(null)};return{zseed:9000,register:function(H){F[H.id]=H;D.push(H);H.on("hide",A)},unregister:function(H){delete F[H.id];H.un("hide",A);D.remove(H)},get:function(H){return typeof H=="object"?H:F[H]},bringToFront:function(H){H=this.get(H);if(H!=E){H._lastAccess=new Date().getTime();G();return true}return false},sendToBack:function(H){H=this.get(H);H._lastAccess=-(new Date().getTime());G();return H},hideAll:function(){for(var H in F){if(F[H]&&typeof F[H]!="function"&&F[H].isVisible()){F[H].hide()}}},getActive:function(){return E},getBy:function(J,I){var K=[];for(var H=D.length-1;H>=0;--H){var L=D[H];if(J.call(I||L,L)!==false){K.push(L)}}return K},each:function(I,H){for(var J in F){if(F[J]&&typeof F[J]!="function"){if(I.call(H||F[J],F[J])===false){return }}}}}};Ext.WindowMgr=new Ext.WindowGroup(); +Ext.dd.PanelProxy=function(A,B){this.panel=A;this.id=this.panel.id+"-ddproxy";Ext.apply(this,B)};Ext.dd.PanelProxy.prototype={insertProxy:true,setStatus:Ext.emptyFn,reset:Ext.emptyFn,update:Ext.emptyFn,stop:Ext.emptyFn,sync:Ext.emptyFn,getEl:function(){return this.ghost},getGhost:function(){return this.ghost},getProxy:function(){return this.proxy},hide:function(){if(this.ghost){if(this.proxy){this.proxy.remove();delete this.proxy}this.panel.el.dom.style.display="";this.ghost.remove();delete this.ghost}},show:function(){if(!this.ghost){this.ghost=this.panel.createGhost(undefined,undefined,Ext.getBody());this.ghost.setXY(this.panel.el.getXY());if(this.insertProxy){this.proxy=this.panel.el.insertSibling({cls:"x-panel-dd-spacer"});this.proxy.setSize(this.panel.getSize())}this.panel.el.dom.style.display="none"}},repair:function(B,C,A){this.hide();if(typeof C=="function"){C.call(A||this)}},moveProxy:function(A,B){if(this.proxy){A.insertBefore(this.proxy.dom,B)}}};Ext.Panel.DD=function(B,A){this.panel=B;this.dragData={panel:B};this.proxy=new Ext.dd.PanelProxy(B,A);Ext.Panel.DD.superclass.constructor.call(this,B.el,A);var C=B.header;if(C){this.setHandleElId(C.id)}(C?C:this.panel.body).setStyle("cursor","move");this.scroll=false};Ext.extend(Ext.Panel.DD,Ext.dd.DragSource,{showFrame:Ext.emptyFn,startDrag:Ext.emptyFn,b4StartDrag:function(A,B){this.proxy.show()},b4MouseDown:function(B){var A=B.getPageX();var C=B.getPageY();this.autoOffset(A,C)},onInitDrag:function(A,B){this.onStartDrag(A,B);return true},createFrame:Ext.emptyFn,getDragEl:function(A){return this.proxy.ghost.dom},endDrag:function(A){this.proxy.hide();this.panel.saveState()},autoOffset:function(A,B){A-=this.startPageX;B-=this.startPageY;this.setDelta(A,B)}}); +Ext.state.Provider=function(){this.addEvents("statechange");this.state={};Ext.state.Provider.superclass.constructor.call(this)};Ext.extend(Ext.state.Provider,Ext.util.Observable,{get:function(B,A){return typeof this.state[B]=="undefined"?A:this.state[B]},clear:function(A){delete this.state[A];this.fireEvent("statechange",this,A,null)},set:function(A,B){this.state[A]=B;this.fireEvent("statechange",this,A,B)},decodeValue:function(A){var J=/^(a|n|d|b|s|o)\:(.*)$/;var C=J.exec(unescape(A));if(!C||!C[1]){return }var F=C[1];var H=C[2];switch(F){case"n":return parseFloat(H);case"d":return new Date(Date.parse(H));case"b":return(H=="1");case"a":var G=[];var I=H.split("^");for(var B=0,D=I.length;B0){if(!B){this.selected.removeClass(this.selectedClass)}this.selected.clear();this.last=false;if(!A){this.fireEvent("selectionchange",this,this.selected.elements)}}},isSelected:function(A){return this.selected.contains(this.getNode(A))},deselect:function(A){if(this.isSelected(A)){A=this.getNode(A);this.selected.removeElement(A);if(this.last==A.viewIndex){this.last=false}Ext.fly(A).removeClass(this.selectedClass);this.fireEvent("selectionchange",this,this.selected.elements)}},select:function(D,F,B){if(Ext.isArray(D)){if(!F){this.clearSelections(true)}for(var C=0,A=D.length;C=A&&D[C];C--){B.push(D[C])}}return B},indexOf:function(A){A=this.getNode(A);if(typeof A.viewIndex=="number"){return A.viewIndex}return this.all.indexOf(A)},onBeforeLoad:function(){if(this.loadingText){this.clearSelections(false,true);this.el.update("
"+this.loadingText+"
");this.all.clear()}},onDestroy:function(){Ext.DataView.superclass.onDestroy.call(this);this.setStore(null)}});Ext.reg("dataview",Ext.DataView); +Ext.ColorPalette=function(A){Ext.ColorPalette.superclass.constructor.call(this,A);this.addEvents("select");if(this.handler){this.on("select",this.handler,this.scope,true)}};Ext.extend(Ext.ColorPalette,Ext.Component,{itemCls:"x-color-palette",value:null,clickEvent:"click",ctype:"Ext.ColorPalette",allowReselect:false,colors:["000000","993300","333300","003300","003366","000080","333399","333333","800000","FF6600","808000","008000","008080","0000FF","666699","808080","FF0000","FF9900","99CC00","339966","33CCCC","3366FF","800080","969696","FF00FF","FFCC00","FFFF00","00FF00","00FFFF","00CCFF","993366","C0C0C0","FF99CC","FFCC99","FFFF99","CCFFCC","CCFFFF","99CCFF","CC99FF","FFFFFF"],onRender:function(B,A){var C=this.tpl||new Ext.XTemplate(" ");var D=document.createElement("div");D.className=this.itemCls;C.overwrite(D,this.colors);B.dom.insertBefore(D,A);this.el=Ext.get(D);this.el.on(this.clickEvent,this.handleClick,this,{delegate:"a"});if(this.clickEvent!="click"){this.el.on("click",Ext.emptyFn,this,{delegate:"a",preventDefault:true})}},afterRender:function(){Ext.ColorPalette.superclass.afterRender.call(this);if(this.value){var A=this.value;this.value=null;this.select(A)}},handleClick:function(B,A){B.preventDefault();if(!this.disabled){var C=A.className.match(/(?:^|\s)color-(.{6})(?:\s|$)/)[1];this.select(C.toUpperCase())}},select:function(A){A=A.replace("#","");if(A!=this.value||this.allowReselect){var B=this.el;if(this.value){B.child("a.color-"+this.value).removeClass("x-color-palette-sel")}B.child("a.color-"+A).addClass("x-color-palette-sel");this.value=A;this.fireEvent("select",this,A)}}});Ext.reg("colorpalette",Ext.ColorPalette); +Ext.DatePicker=Ext.extend(Ext.Component,{todayText:"Today",okText:" OK ",cancelText:"Cancel",todayTip:"{0} (Spacebar)",minText:"This date is before the minimum date",maxText:"This date is after the maximum date",format:"m/d/y",disabledDaysText:"Disabled",disabledDatesText:"Disabled",constrainToViewport:true,monthNames:Date.monthNames,dayNames:Date.dayNames,nextText:"Next Month (Control+Right)",prevText:"Previous Month (Control+Left)",monthYearText:"Choose a month (Control+Up/Down to move years)",startDay:0,showToday:true,initComponent:function(){Ext.DatePicker.superclass.initComponent.call(this);this.value=this.value?this.value.clearTime():new Date().clearTime();this.addEvents("select");if(this.handler){this.on("select",this.handler,this.scope||this)}this.initDisabledDays()},initDisabledDays:function(){if(!this.disabledDatesRE&&this.disabledDates){var A=this.disabledDates;var C="(?:";for(var B=0;B","  ",""];var E=this.dayNames;for(var D=0;D<7;D++){var G=this.startDay+D;if(G>6){G=G-7}C.push("")}C[C.length]="";for(var D=0;D<42;D++){if(D%7==0&&D!=0){C[C.length]=""}C[C.length]=""}C.push("
",E[G].substr(0,1),"
",this.showToday?"":"","
");var B=document.createElement("div");B.className="x-date-picker";B.innerHTML=C.join("");A.dom.insertBefore(B,F);this.el=Ext.get(B);this.eventEl=Ext.get(B.firstChild);new Ext.util.ClickRepeater(this.el.child("td.x-date-left a"),{handler:this.showPrevMonth,scope:this,preventDefault:true,stopDefault:true});new Ext.util.ClickRepeater(this.el.child("td.x-date-right a"),{handler:this.showNextMonth,scope:this,preventDefault:true,stopDefault:true});this.eventEl.on("mousewheel",this.handleMouseWheel,this);this.monthPicker=this.el.down("div.x-date-mp");this.monthPicker.enableDisplayMode("block");var I=new Ext.KeyNav(this.eventEl,{"left":function(J){J.ctrlKey?this.showPrevMonth():this.update(this.activeDate.add("d",-1))},"right":function(J){J.ctrlKey?this.showNextMonth():this.update(this.activeDate.add("d",1))},"up":function(J){J.ctrlKey?this.showNextYear():this.update(this.activeDate.add("d",-7))},"down":function(J){J.ctrlKey?this.showPrevYear():this.update(this.activeDate.add("d",7))},"pageUp":function(J){this.showNextMonth()},"pageDown":function(J){this.showPrevMonth()},"enter":function(J){J.stopPropagation();return true},scope:this});this.eventEl.on("click",this.handleDateClick,this,{delegate:"a.x-date-date"});this.el.unselectable();this.cells=this.el.select("table.x-date-inner tbody td");this.textNodes=this.el.query("table.x-date-inner tbody span");this.mbtn=new Ext.Button({text:" ",tooltip:this.monthYearText,renderTo:this.el.child("td.x-date-middle",true)});this.mbtn.on("click",this.showMonthPicker,this);this.mbtn.el.child(this.mbtn.menuClassTarget).addClass("x-btn-with-menu");if(this.showToday){this.todayKeyListener=this.eventEl.addKeyListener(Ext.EventObject.SPACE,this.selectToday,this);var H=(new Date()).dateFormat(this.format);this.todayBtn=new Ext.Button({renderTo:this.el.child("td.x-date-bottom",true),text:String.format(this.todayText,H),tooltip:String.format(this.todayTip,H),handler:this.selectToday,scope:this})}if(Ext.isIE){this.el.repaint()}this.update(this.value)},createMonthPicker:function(){if(!this.monthPicker.dom.firstChild){var A=[""];for(var B=0;B<6;B++){A.push("","",B==0?"":"")}A.push("","
",this.monthNames[B].substr(0,3),"",this.monthNames[B+6].substr(0,3),"
");this.monthPicker.update(A.join(""));this.monthPicker.on("click",this.onMonthClick,this);this.monthPicker.on("dblclick",this.onMonthDblClick,this);this.mpMonths=this.monthPicker.select("td.x-date-mp-month");this.mpYears=this.monthPicker.select("td.x-date-mp-year");this.mpMonths.each(function(C,D,E){E+=1;if((E%2)==0){C.dom.xmonth=5+Math.round(E*0.5)}else{C.dom.xmonth=Math.round((E-1)*0.5)}})}},showMonthPicker:function(){this.createMonthPicker();var A=this.el.getSize();this.monthPicker.setSize(A);this.monthPicker.child("table").setSize(A);this.mpSelMonth=(this.activeDate||this.value).getMonth();this.updateMPMonth(this.mpSelMonth);this.mpSelYear=(this.activeDate||this.value).getFullYear();this.updateMPYear(this.mpSelYear);this.monthPicker.slideIn("t",{duration:0.2})},updateMPYear:function(E){this.mpyear=E;var C=this.mpYears.elements;for(var B=1;B<=10;B++){var D=C[B-1],A;if((B%2)==0){A=E+Math.round(B*0.5);D.firstChild.innerHTML=A;D.xyear=A}else{A=E-(5-Math.round(B*0.5));D.firstChild.innerHTML=A;D.xyear=A}this.mpYears.item(B-1)[A==this.mpSelYear?"addClass":"removeClass"]("x-date-mp-sel")}},updateMPMonth:function(A){this.mpMonths.each(function(B,C,D){B[B.dom.xmonth==A?"addClass":"removeClass"]("x-date-mp-sel")})},selectMPMonth:function(A){},onMonthClick:function(D,B){D.stopEvent();var C=new Ext.Element(B),A;if(C.is("button.x-date-mp-cancel")){this.hideMonthPicker()}else{if(C.is("button.x-date-mp-ok")){var E=new Date(this.mpSelYear,this.mpSelMonth,(this.activeDate||this.value).getDate());if(E.getMonth()!=this.mpSelMonth){E=new Date(this.mpSelYear,this.mpSelMonth,1).getLastDateOfMonth()}this.update(E);this.hideMonthPicker()}else{if(A=C.up("td.x-date-mp-month",2)){this.mpMonths.removeClass("x-date-mp-sel");A.addClass("x-date-mp-sel");this.mpSelMonth=A.dom.xmonth}else{if(A=C.up("td.x-date-mp-year",2)){this.mpYears.removeClass("x-date-mp-sel");A.addClass("x-date-mp-sel");this.mpSelYear=A.dom.xyear}else{if(C.is("a.x-date-mp-prev")){this.updateMPYear(this.mpyear-10)}else{if(C.is("a.x-date-mp-next")){this.updateMPYear(this.mpyear+10)}}}}}}},onMonthDblClick:function(D,B){D.stopEvent();var C=new Ext.Element(B),A;if(A=C.up("td.x-date-mp-month",2)){this.update(new Date(this.mpSelYear,A.dom.xmonth,(this.activeDate||this.value).getDate()));this.hideMonthPicker()}else{if(A=C.up("td.x-date-mp-year",2)){this.update(new Date(A.dom.xyear,this.mpSelMonth,(this.activeDate||this.value).getDate()));this.hideMonthPicker()}}},hideMonthPicker:function(A){if(this.monthPicker){if(A===true){this.monthPicker.hide()}else{this.monthPicker.slideOut("t",{duration:0.2})}}},showPrevMonth:function(A){this.update(this.activeDate.add("mo",-1))},showNextMonth:function(A){this.update(this.activeDate.add("mo",1))},showPrevYear:function(){this.update(this.activeDate.add("y",-1))},showNextYear:function(){this.update(this.activeDate.add("y",1))},handleMouseWheel:function(A){var B=A.getWheelDelta();if(B>0){this.showPrevMonth();A.stopEvent()}else{if(B<0){this.showNextMonth();A.stopEvent()}}},handleDateClick:function(B,A){B.stopEvent();if(A.dateValue&&!Ext.fly(A.parentNode).hasClass("x-date-disabled")){this.setValue(new Date(A.dateValue));this.fireEvent("select",this,this.value)}},selectToday:function(){if(this.todayBtn&&!this.todayBtn.disabled){this.setValue(new Date().clearTime());this.fireEvent("select",this,this.value)}},update:function(a,U){var A=this.activeDate;this.activeDate=a;if(!U&&A&&this.el){var K=a.getTime();if(A.getMonth()==a.getMonth()&&A.getFullYear()==a.getFullYear()){this.cells.removeClass("x-date-selected");this.cells.each(function(d){if(d.dom.firstChild.dateValue==K){d.addClass("x-date-selected");setTimeout(function(){try{d.dom.firstChild.focus()}catch(f){}},50);return false}});return }}var G=a.getDaysInMonth();var L=a.getFirstDateOfMonth();var D=L.getDay()-this.startDay;if(D<=this.startDay){D+=7}var V=a.add("mo",-1);var E=V.getDaysInMonth()-D;var C=this.cells.elements;var M=this.textNodes;G+=D;var R=86400000;var X=(new Date(V.getFullYear(),V.getMonth(),E)).clearTime();var W=new Date().clearTime().getTime();var P=a.clearTime().getTime();var O=this.minDate?this.minDate.clearTime():Number.NEGATIVE_INFINITY;var S=this.maxDate?this.maxDate.clearTime():Number.POSITIVE_INFINITY;var Z=this.disabledDatesRE;var N=this.disabledDatesText;var c=this.disabledDays?this.disabledDays.join(""):false;var Y=this.disabledDaysText;var T=this.format;if(this.showToday){var I=new Date().clearTime();var B=(IS||(Z&&T&&Z.test(I.dateFormat(T)))||(c&&c.indexOf(I.getDay())!=-1));this.todayBtn.setDisabled(B);this.todayKeyListener[B?"disable":"enable"]()}var H=function(g,d){d.title="";var e=X.getTime();d.firstChild.dateValue=e;if(e==W){d.className+=" x-date-today";d.title=g.todayText}if(e==P){d.className+=" x-date-selected";setTimeout(function(){try{d.firstChild.focus()}catch(h){}},50)}if(eS){d.className=" x-date-disabled";d.title=g.maxText;return }if(c){if(c.indexOf(X.getDay())!=-1){d.title=Y;d.className=" x-date-disabled"}}if(Z&&T){var f=X.dateFormat(T);if(Z.test(f)){d.title=N.replace("%0",f);d.className=" x-date-disabled"}}};var Q=0;for(;Q","","{text}","");D.disableFormats=true;D.compile();Ext.TabPanel.prototype.itemTpl=D}this.items.each(this.initTab,this)},afterRender:function(){Ext.TabPanel.superclass.afterRender.call(this);if(this.autoTabs){this.readTabs(false)}},initEvents:function(){Ext.TabPanel.superclass.initEvents.call(this);this.on("add",this.onAdd,this);this.on("remove",this.onRemove,this);this.strip.on("mousedown",this.onStripMouseDown,this);this.strip.on("contextmenu",this.onStripContextMenu,this);if(this.enableTabScroll){this.strip.on("mousewheel",this.onWheel,this)}},findTargets:function(C){var B=null;var A=C.getTarget("li",this.strip);if(A){B=this.getComponent(A.id.split(this.idDelimiter)[1]);if(B.disabled){return{close:null,item:null,el:null}}}return{close:C.getTarget(".x-tab-strip-close",this.strip),item:B,el:A}},onStripMouseDown:function(B){if(B.button!=0){return }B.preventDefault();var A=this.findTargets(B);if(A.close){this.remove(A.item);return }if(A.item&&A.item!=this.activeTab){this.setActiveTab(A.item)}},onStripContextMenu:function(B){B.preventDefault();var A=this.findTargets(B);if(A.item){this.fireEvent("contextmenu",this,A.item,B)}},readTabs:function(D){if(D===true){this.items.each(function(G){this.remove(G)},this)}var C=this.el.query(this.autoTabSelector);for(var B=0,A=C.length;B20?C:20);if(!this.scrolling){if(!this.scrollLeft){this.createScrollers()}else{this.scrollLeft.show();this.scrollRight.show()}}this.scrolling=true;if(H>(A-C)){E.scrollLeft=A-C}else{this.scrollToTab(this.activeTab,false)}this.updateScrollButtons()}},createScrollers:function(){var C=this.stripWrap.dom.offsetHeight;var A=this.header.insertFirst({cls:"x-tab-scroller-left"});A.setHeight(C);A.addClassOnOver("x-tab-scroller-left-over");this.leftRepeater=new Ext.util.ClickRepeater(A,{interval:this.scrollRepeatInterval,handler:this.onScrollLeft,scope:this});this.scrollLeft=A;var B=this.header.insertFirst({cls:"x-tab-scroller-right"});B.setHeight(C);B.addClassOnOver("x-tab-scroller-right-over");this.rightRepeater=new Ext.util.ClickRepeater(B,{interval:this.scrollRepeatInterval,handler:this.onScrollRight,scope:this});this.scrollRight=B},getScrollWidth:function(){return this.edge.getOffsetsTo(this.stripWrap)[0]+this.getScrollPos()},getScrollPos:function(){return parseInt(this.stripWrap.dom.scrollLeft,10)||0},getScrollArea:function(){return parseInt(this.stripWrap.dom.clientWidth,10)||0},getScrollAnim:function(){return{duration:this.scrollDuration,callback:this.updateScrollButtons,scope:this}},getScrollIncrement:function(){return this.scrollIncrement||(this.resizeTabs?this.lastTabWidth+2:100)},scrollToTab:function(E,A){if(!E){return }var C=this.getTabEl(E);var G=this.getScrollPos(),D=this.getScrollArea();var F=Ext.fly(C).getOffsetsTo(this.stripWrap)[0]+G;var B=F+C.offsetWidth;if(F(G+D)){this.scrollTo(B-D,A)}}},scrollTo:function(B,A){this.stripWrap.scrollTo("left",B,A?this.getScrollAnim():false);if(!A){this.updateScrollButtons()}},onWheel:function(D){var E=D.getWheelDelta()*this.wheelIncrement*-1;D.stopEvent();var F=this.getScrollPos();var C=F+E;var A=this.getScrollWidth()-this.getScrollArea();var B=Math.max(0,Math.min(A,C));if(B!=F){this.scrollTo(B,false)}},onScrollRight:function(){var A=this.getScrollWidth()-this.getScrollArea();var C=this.getScrollPos();var B=Math.min(A,C+this.getScrollIncrement());if(B!=C){this.scrollTo(B,this.animScroll)}},onScrollLeft:function(){var B=this.getScrollPos();var A=Math.max(0,B-this.getScrollIncrement());if(A!=B){this.scrollTo(A,this.animScroll)}},updateScrollButtons:function(){var A=this.getScrollPos();this.scrollLeft[A==0?"addClass":"removeClass"]("x-tab-scroller-left-disabled");this.scrollRight[A>=(this.getScrollWidth()-this.getScrollArea())?"addClass":"removeClass"]("x-tab-scroller-right-disabled")}});Ext.reg("tabpanel",Ext.TabPanel);Ext.TabPanel.prototype.activate=Ext.TabPanel.prototype.setActiveTab;Ext.TabPanel.AccessStack=function(){var A=[];return{add:function(B){A.push(B);if(A.length>10){A.shift()}},remove:function(E){var D=[];for(var C=0,B=A.length;C","  ","")}this.template=Ext.Button.buttonTemplate}var B,E=[this.text||" ",this.type];if(A){B=this.template.insertBefore(A,E,true)}else{B=this.template.append(C,E,true)}var D=B.child(this.buttonSelector);D.on("focus",this.onFocus,this);D.on("blur",this.onBlur,this);this.initButtonEl(B,D);if(this.menu){this.el.child(this.menuClassTarget).addClass("x-btn-with-menu")}Ext.ButtonToggleMgr.register(this)},initButtonEl:function(B,C){this.el=B;B.addClass("x-btn");if(this.icon){C.setStyle("background-image","url("+this.icon+")")}if(this.iconCls){C.addClass(this.iconCls);if(!this.cls){B.addClass(this.text?"x-btn-text-icon":"x-btn-icon")}}if(this.tabIndex!==undefined){C.dom.tabIndex=this.tabIndex}if(this.tooltip){if(typeof this.tooltip=="object"){Ext.QuickTips.register(Ext.apply({target:C.id},this.tooltip))}else{C.dom[this.tooltipType]=this.tooltip}}if(this.pressed){this.el.addClass("x-btn-pressed")}if(this.handleMouseEvents){B.on("mouseover",this.onMouseOver,this);B.on("mousedown",this.onMouseDown,this)}if(this.menu){this.menu.on("show",this.onMenuShow,this);this.menu.on("hide",this.onMenuHide,this)}if(this.id){this.el.dom.id=this.el.id=this.id}if(this.repeat){var A=new Ext.util.ClickRepeater(B,typeof this.repeat=="object"?this.repeat:{});A.on("click",this.onClick,this)}B.on(this.clickEvent,this.onClick,this)},afterRender:function(){Ext.Button.superclass.afterRender.call(this);if(Ext.isIE6){this.autoWidth.defer(1,this)}else{this.autoWidth()}},setIconClass:function(A){if(this.el){this.el.child(this.buttonSelector).replaceClass(this.iconCls,A)}this.iconCls=A},beforeDestroy:function(){if(this.rendered){var A=this.el.child(this.buttonSelector);if(A){A.removeAllListeners()}}if(this.menu){Ext.destroy(this.menu)}},onDestroy:function(){if(this.rendered){Ext.ButtonToggleMgr.unregister(this)}},autoWidth:function(){if(this.el){this.el.setWidth("auto");if(Ext.isIE7&&Ext.isStrict){var A=this.el.child(this.buttonSelector);if(A&&A.getWidth()>20){A.clip();A.setWidth(Ext.util.TextMetrics.measure(A,this.text).width+A.getFrameWidth("lr"))}}if(this.minWidth){if(this.el.getWidth()","","","
 
","","","
 
");var C,F=[this.text||" ",this.type];if(A){C=B.insertBefore(A,F,true)}else{C=B.append(D,F,true)}var E=C.child(this.buttonSelector);this.initButtonEl(C,E);this.arrowBtnTable=C.child("table:last");if(this.arrowTooltip){C.child(this.arrowSelector).dom[this.tooltipType]=this.arrowTooltip}},autoWidth:function(){if(this.el){var C=this.el.child("table:first");var B=this.el.child("table:last");this.el.setWidth("auto");C.setWidth("auto");if(Ext.isIE7&&Ext.isStrict){var A=this.el.child(this.buttonSelector);if(A&&A.getWidth()>20){A.clip();A.setWidth(Ext.util.TextMetrics.measure(A,this.text).width+A.getFrameWidth("lr"))}}if(this.minWidth){if((C.getWidth()+B.getWidth())"},onRender:function(C,B){this.el=C.createChild(Ext.apply({id:this.id},this.autoCreate),B);this.tr=this.el.child("tr",true)},afterRender:function(){A.superclass.afterRender.call(this);if(this.buttons){this.add.apply(this,this.buttons);delete this.buttons}},add:function(){var C=arguments,B=C.length;for(var D=0;D"){this.addFill()}else{this.addText(E)}}}}else{if(E.tagName){this.addElement(E)}else{if(typeof E=="object"){if(E.xtype){this.addField(Ext.ComponentMgr.create(E,"button"))}else{this.addButton(E)}}}}}}}},addSeparator:function(){return this.addItem(new A.Separator())},addSpacer:function(){return this.addItem(new A.Spacer())},addFill:function(){return this.addItem(new A.Fill())},addElement:function(B){return this.addItem(new A.Item(B))},addItem:function(B){var C=this.nextBlock();this.initMenuTracking(B);B.render(C);this.items.add(B);return B},addButton:function(D){if(Ext.isArray(D)){var F=[];for(var E=0,C=D.length;E=1&C<=E.pages){this.field.dom.value=C}}}}}},beforeLoad:function(){if(this.rendered&&this.loading){this.loading.disable()}},doLoad:function(C){var B={},A=this.paramNames;B[A.start]=C;B[A.limit]=this.pageSize;if(this.fireEvent("beforechange",this,B)!==false){this.store.load({params:B})}},changePage:function(A){this.doLoad(((A-1)*this.pageSize).constrain(0,this.store.getTotalCount()))},onClick:function(E){var B=this.store;switch(E){case"first":this.doLoad(0);break;case"prev":this.doLoad(Math.max(0,this.cursor-this.pageSize));break;case"next":this.doLoad(this.cursor+this.pageSize);break;case"last":var D=B.getTotalCount();var A=D%this.pageSize;var C=A?(D-A):D-this.pageSize;this.doLoad(C);break;case"refresh":this.doLoad(this.cursor);break}},unbind:function(A){A=Ext.StoreMgr.lookup(A);A.un("beforeload",this.beforeLoad,this);A.un("load",this.onLoad,this);A.un("loadexception",this.onLoadError,this);this.store=undefined},bind:function(A){A=Ext.StoreMgr.lookup(A);A.on("beforeload",this.beforeLoad,this);A.on("load",this.onLoad,this);A.on("loadexception",this.onLoadError,this);this.store=A}});Ext.reg("paging",Ext.PagingToolbar); +Ext.Resizable=function(D,E){this.el=Ext.get(D);if(E&&E.wrap){E.resizeChild=this.el;this.el=this.el.wrap(typeof E.wrap=="object"?E.wrap:{cls:"xresizable-wrap"});this.el.id=this.el.dom.id=E.resizeChild.id+"-rzwrap";this.el.setStyle("overflow","hidden");this.el.setPositioning(E.resizeChild.getPositioning());E.resizeChild.clearPositioning();if(!E.width||!E.height){var F=E.resizeChild.getSize();this.el.setSize(F.width,F.height)}if(E.pinned&&!E.adjustments){E.adjustments="auto"}}this.proxy=this.el.createProxy({tag:"div",cls:"x-resizable-proxy",id:this.el.id+"-rzproxy"},Ext.getBody());this.proxy.unselectable();this.proxy.enableDisplayMode("block");Ext.apply(this,E);if(this.pinned){this.disableTrackOver=true;this.el.addClass("x-resizable-pinned")}var I=this.el.getStyle("position");if(I!="absolute"&&I!="fixed"){this.el.setStyle("position","relative")}if(!this.handles){this.handles="s,e,se";if(this.multiDirectional){this.handles+=",n,w"}}if(this.handles=="all"){this.handles="n s e w ne nw se sw"}var M=this.handles.split(/\s*?[,;]\s*?| /);var C=Ext.Resizable.positions;for(var H=0,J=M.length;H0){if(A>(E/2)){D=C+(E-A)}else{D=C-A}}return Math.max(B,D)},resizeElement:function(){var A=this.proxy.getBox();if(this.updateBox){this.el.setBox(A,false,this.animate,this.duration,null,this.easing)}else{this.el.setSize(A.width,A.height,this.animate,this.duration,null,this.easing)}this.updateChildSize();if(!this.dynamic){this.proxy.hide()}return A},constrain:function(B,C,A,D){if(B-CD){C=D-B}}return C},onMouseMove:function(S){if(this.enabled){try{if(this.resizeRegion&&!this.resizeRegion.contains(S.getPoint())){return }var Q=this.curSize||this.startBox;var I=this.startBox.x,H=this.startBox.y;var C=I,B=H;var J=Q.width,R=Q.height;var D=J,L=R;var K=this.minWidth,T=this.minHeight;var P=this.maxWidth,W=this.maxHeight;var F=this.widthIncrement;var A=this.heightIncrement;var U=S.getXY();var O=-(this.startPoint[0]-Math.max(this.minX,U[0]));var M=-(this.startPoint[1]-Math.max(this.minY,U[1]));var G=this.activeHandle.position;switch(G){case"east":J+=O;J=Math.min(Math.max(K,J),P);break;case"south":R+=M;R=Math.min(Math.max(T,R),W);break;case"southeast":J+=O;R+=M;J=Math.min(Math.max(K,J),P);R=Math.min(Math.max(T,R),W);break;case"north":M=this.constrain(R,M,T,W);H+=M;R-=M;break;case"west":O=this.constrain(J,O,K,P);I+=O;J-=O;break;case"northeast":J+=O;J=Math.min(Math.max(K,J),P);M=this.constrain(R,M,T,W);H+=M;R-=M;break;case"northwest":O=this.constrain(J,O,K,P);M=this.constrain(R,M,T,W);H+=M;R-=M;I+=O;J-=O;break;case"southwest":O=this.constrain(J,O,K,P);R+=M;R=Math.min(Math.max(T,R),W);I+=O;J-=O;break}var N=this.snap(J,F,K);var V=this.snap(R,A,T);if(N!=J||V!=R){switch(G){case"northeast":H-=V-R;break;case"north":H-=V-R;break;case"southwest":I-=N-J;break;case"west":I-=N-J;break;case"northwest":I-=N-J;H-=V-R;break}J=N;R=V}if(this.preserveRatio){switch(G){case"southeast":case"east":R=L*(J/D);R=Math.min(Math.max(T,R),W);J=D*(R/L);break;case"south":J=D*(R/L);J=Math.min(Math.max(K,J),P);R=L*(J/D);break;case"northeast":J=D*(R/L);J=Math.min(Math.max(K,J),P);R=L*(J/D);break;case"north":var X=J;J=D*(R/L);J=Math.min(Math.max(K,J),P);R=L*(J/D);I+=(X-J)/2;break;case"southwest":R=L*(J/D);R=Math.min(Math.max(T,R),W);var X=J;J=D*(R/L);I+=X-J;break;case"west":var E=R;R=L*(J/D);R=Math.min(Math.max(T,R),W);H+=(E-R)/2;var X=J;J=D*(R/L);I+=X-J;break;case"northwest":var X=J;var E=R;R=L*(J/D);R=Math.min(Math.max(T,R),W);J=D*(R/L);H+=E-R;I+=X-J;break}}this.proxy.setBounds(I,H,J,R);if(this.dynamic){this.resizeElement()}}catch(S){}}},handleOver:function(){if(this.enabled){this.el.addClass("x-resizable-over")}},handleOut:function(){if(!this.resizing){this.el.removeClass("x-resizable-over")}},getEl:function(){return this.el},getResizeChild:function(){return this.resizeChild},destroy:function(C){this.proxy.remove();if(this.overlay){this.overlay.removeAllListeners();this.overlay.remove()}var D=Ext.Resizable.positions;for(var A in D){if(typeof D[A]!="function"&&this[D[A]]){var B=this[D[A]];B.el.removeAllListeners();B.el.remove()}}if(C){this.el.update("");this.el.remove()}},syncHandleHeight:function(){var A=this.el.getHeight(true);if(this.west){this.west.el.setHeight(A)}if(this.east){this.east.el.setHeight(A)}}});Ext.Resizable.positions={n:"north",s:"south",e:"east",w:"west",se:"southeast",sw:"southwest",nw:"northwest",ne:"northeast"};Ext.Resizable.Handle=function(C,E,B,D){if(!this.tpl){var A=Ext.DomHelper.createTemplate({tag:"div",cls:"x-resizable-handle x-resizable-handle-{0}"});A.compile();Ext.Resizable.Handle.prototype.tpl=A}this.position=E;this.rz=C;this.el=this.tpl.append(C.el.dom,[this.position],true);this.el.unselectable();if(D){this.el.setOpacity(0)}this.el.on("mousedown",this.onMouseDown,this);if(!B){this.el.on("mouseover",this.onMouseOver,this);this.el.on("mouseout",this.onMouseOut,this)}};Ext.Resizable.Handle.prototype={afterResize:function(A){},onMouseDown:function(A){this.rz.onMouseDown(this,A)},onMouseOver:function(A){this.rz.handleOver(this,A)},onMouseOut:function(A){this.rz.handleOut(this,A)}}; +Ext.Editor=function(B,A){this.field=B;Ext.Editor.superclass.constructor.call(this,A)};Ext.extend(Ext.Editor,Ext.Component,{value:"",alignment:"c-c?",shadow:"frame",constrain:false,swallowKeys:true,completeOnEnter:false,cancelOnEsc:false,updateEl:false,initComponent:function(){Ext.Editor.superclass.initComponent.call(this);this.addEvents("beforestartedit","startedit","beforecomplete","complete","canceledit","specialkey")},onRender:function(B,A){this.el=new Ext.Layer({shadow:this.shadow,cls:"x-editor",parentEl:B,shim:this.shim,shadowOffset:4,id:this.id,constrain:this.constrain});this.el.setStyle("overflow",Ext.isGecko?"auto":"hidden");if(this.field.msgTarget!="title"){this.field.msgTarget="qtip"}this.field.inEditor=true;this.field.render(this.el);if(Ext.isGecko){this.field.el.dom.setAttribute("autocomplete","off")}this.field.on("specialkey",this.onSpecialKey,this);if(this.swallowKeys){this.field.el.swallowEvent(["keydown","keypress"])}this.field.show();this.field.on("blur",this.onBlur,this);if(this.field.grow){this.field.on("autosize",this.el.sync,this.el,{delay:1})}},onSpecialKey:function(C,B){var A=B.getKey();if(this.completeOnEnter&&A==B.ENTER){B.stopEvent();this.completeEdit()}else{if(this.cancelOnEsc&&A==B.ESC){this.cancelEdit()}else{this.fireEvent("specialkey",C,B)}}if(this.field.triggerBlur&&(A==B.ENTER||A==B.ESC||A==B.TAB)){this.field.triggerBlur()}},startEdit:function(B,C){if(this.editing){this.completeEdit()}this.boundEl=Ext.get(B);var A=C!==undefined?C:this.boundEl.dom.innerHTML;if(!this.rendered){this.render(this.parentEl||document.body)}if(this.fireEvent("beforestartedit",this,this.boundEl,A)===false){return }this.startValue=A;this.field.setValue(A);this.doAutoSize();this.el.alignTo(this.boundEl,this.alignment);this.editing=true;this.show()},doAutoSize:function(){if(this.autoSize){var A=this.boundEl.getSize();switch(this.autoSize){case"width":this.setSize(A.width,"");break;case"height":this.setSize("",A.height);break;default:this.setSize(A.width,A.height)}}},setSize:function(A,B){delete this.field.lastSize;this.field.setSize(A,B);if(this.el){if(Ext.isGecko2||Ext.isOpera){this.el.setSize(A,B)}this.el.sync()}},realign:function(){this.el.alignTo(this.boundEl,this.alignment)},completeEdit:function(A){if(!this.editing){return }var B=this.getValue();if(this.revertInvalid!==false&&!this.field.isValid()){B=this.startValue;this.cancelEdit(true)}if(String(B)===String(this.startValue)&&this.ignoreNoChange){this.editing=false;this.hide();return }if(this.fireEvent("beforecomplete",this,B,this.startValue)!==false){this.editing=false;if(this.updateEl&&this.boundEl){this.boundEl.update(B)}if(A!==true){this.hide()}this.fireEvent("complete",this,B,this.startValue)}},onShow:function(){this.el.show();if(this.hideEl!==false){this.boundEl.hide()}this.field.show();if(Ext.isIE&&!this.fixIEFocus){this.fixIEFocus=true;this.deferredFocus.defer(50,this)}else{this.field.focus()}this.fireEvent("startedit",this.boundEl,this.startValue)},deferredFocus:function(){if(this.editing){this.field.focus()}},cancelEdit:function(A){if(this.editing){var B=this.getValue();this.setValue(this.startValue);if(A!==true){this.hide()}this.fireEvent("canceledit",this,B,this.startValue)}},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()}},setValue:function(A){this.field.setValue(A)},getValue:function(){return this.field.getValue()},beforeDestroy:function(){this.field.destroy();this.field=null}});Ext.reg("editor",Ext.Editor); +Ext.MessageBox=function(){var R,B,N,Q;var G,J,P,A,K,M,H,F;var O,S,L,C="";var D=function(U){if(R.isVisible()){R.hide();Ext.callback(B.fn,B.scope||window,[U,S.dom.value],1)}};var T=function(){if(B&&B.cls){R.el.removeClass(B.cls)}K.reset()};var E=function(W,U,V){if(B&&B.closable!==false){R.hide()}if(V){V.stopEvent()}};var I=function(U){var W=0;if(!U){O["ok"].hide();O["cancel"].hide();O["yes"].hide();O["no"].hide();return W}R.footer.dom.style.display="";for(var V in O){if(typeof O[V]!="function"){if(U[V]){O[V].show();O[V].setText(typeof U[V]=="string"?U[V]:Ext.MessageBox.buttonText[V]);W+=O[V].el.getWidth()+15}else{O[V].hide()}}}return W};return{getDialog:function(U){if(!R){R=new Ext.Window({autoCreate:true,title:U,resizable:false,constrain:true,constrainHeader:true,minimizable:false,maximizable:false,stateful:false,modal:true,shim:true,buttonAlign:"center",width:400,height:100,minHeight:80,plain:true,footer:true,closable:true,close:function(){if(B&&B.buttons&&B.buttons.no&&!B.buttons.cancel){D("no")}else{D("cancel")}}});O={};var V=this.buttonText;O["ok"]=R.addButton(V["ok"],D.createCallback("ok"));O["yes"]=R.addButton(V["yes"],D.createCallback("yes"));O["no"]=R.addButton(V["no"],D.createCallback("no"));O["cancel"]=R.addButton(V["cancel"],D.createCallback("cancel"));O["ok"].hideMode=O["yes"].hideMode=O["no"].hideMode=O["cancel"].hideMode="offsets";R.render(document.body);R.getEl().addClass("x-window-dlg");N=R.mask;G=R.body.createChild({html:"

"});H=Ext.get(G.dom.firstChild);var W=G.dom.childNodes[1];J=Ext.get(W.firstChild);P=Ext.get(W.childNodes[2].firstChild);P.enableDisplayMode();P.addKeyListener([10,13],function(){if(R.isVisible()&&B&&B.buttons){if(B.buttons.ok){D("ok")}else{if(B.buttons.yes){D("yes")}}}});A=Ext.get(W.childNodes[2].childNodes[1]);A.enableDisplayMode();K=new Ext.ProgressBar({renderTo:G});G.createChild({cls:"x-clear"})}return R},updateText:function(X){if(!R.isVisible()&&!B.width){R.setSize(this.maxWidth,100)}J.update(X||" ");var V=C!=""?(H.getWidth()+H.getMargins("lr")):0;var Z=J.getWidth()+J.getMargins("lr");var W=R.getFrameWidth("lr");var Y=R.body.getFrameWidth("lr");if(Ext.isIE&&V>0){V+=3}var U=Math.max(Math.min(B.width||V+Z+W+Y,this.maxWidth),Math.max(B.minWidth||this.minWidth,L||0));if(B.prompt===true){S.setWidth(U-V-W-Y)}if(B.progress===true||B.wait===true){K.setSize(U-V-W-Y)}R.setSize(U,"auto").center();return this},updateProgress:function(V,U,W){K.updateProgress(V,U);if(W){this.updateText(W)}return this},isVisible:function(){return R&&R.isVisible()},hide:function(){if(this.isVisible()){R.hide();T()}return this},show:function(X){if(this.isVisible()){this.hide()}B=X;var Y=this.getDialog(B.title||" ");Y.setTitle(B.title||" ");var U=(B.closable!==false&&B.progress!==true&&B.wait!==true);Y.tools.close.setDisplayed(U);S=P;B.prompt=B.prompt||(B.multiline?true:false);if(B.prompt){if(B.multiline){P.hide();A.show();A.setHeight(typeof B.multiline=="number"?B.multiline:this.defaultTextHeight);S=A}else{P.show();A.hide()}}else{P.hide();A.hide()}S.dom.value=B.value||"";if(B.prompt){Y.focusEl=S}else{var W=B.buttons;var V=null;if(W&&W.ok){V=O["ok"]}else{if(W&&W.yes){V=O["yes"]}}if(V){Y.focusEl=V}}if(B.iconCls){Y.setIconClass(B.iconCls)}this.setIcon(B.icon);L=I(B.buttons);K.setVisible(B.progress===true||B.wait===true);this.updateProgress(0,B.progressText);this.updateText(B.msg);if(B.cls){Y.el.addClass(B.cls)}Y.proxyDrag=B.proxyDrag===true;Y.modal=B.modal!==false;Y.mask=B.modal!==false?N:false;if(!Y.isVisible()){document.body.appendChild(R.el.dom);Y.setAnimateTarget(B.animEl);Y.show(B.animEl)}Y.on("show",function(){if(U===true){Y.keyMap.enable()}else{Y.keyMap.disable()}},this,{single:true});if(B.wait===true){K.wait(B.waitConfig)}return this},setIcon:function(U){if(U&&U!=""){H.removeClass("x-hidden");H.replaceClass(C,U);C=U}else{H.replaceClass(C,"x-hidden");C=""}return this},progress:function(W,V,U){this.show({title:W,msg:V,buttons:false,progress:true,closable:false,minWidth:this.minProgressWidth,progressText:U});return this},wait:function(W,V,U){this.show({title:V,msg:W,buttons:false,closable:false,wait:true,modal:true,minWidth:this.minProgressWidth,waitConfig:U});return this},alert:function(X,W,V,U){this.show({title:X,msg:W,buttons:this.OK,fn:V,scope:U});return this},confirm:function(X,W,V,U){this.show({title:X,msg:W,buttons:this.YESNO,fn:V,scope:U,icon:this.QUESTION});return this},prompt:function(Z,Y,W,V,U,X){this.show({title:Z,msg:Y,buttons:this.OKCANCEL,fn:W,minWidth:250,scope:V,prompt:true,multiline:U,value:X});return this},OK:{ok:true},CANCEL:{cancel:true},OKCANCEL:{ok:true,cancel:true},YESNO:{yes:true,no:true},YESNOCANCEL:{yes:true,no:true,cancel:true},INFO:"ext-mb-info",WARNING:"ext-mb-warning",QUESTION:"ext-mb-question",ERROR:"ext-mb-error",defaultTextHeight:75,maxWidth:600,minWidth:100,minProgressWidth:250,buttonText:{ok:"OK",cancel:"Cancel",yes:"Yes",no:"No"}}}();Ext.Msg=Ext.MessageBox; +Ext.Tip=Ext.extend(Ext.Panel,{minWidth:40,maxWidth:300,shadow:"sides",defaultAlign:"tl-bl?",autoRender:true,quickShowInterval:250,frame:true,hidden:true,baseCls:"x-tip",floating:{shadow:true,shim:true,useDisplay:true,constrain:false},autoHeight:true,initComponent:function(){Ext.Tip.superclass.initComponent.call(this);if(this.closable&&!this.title){this.elements+=",header"}},afterRender:function(){Ext.Tip.superclass.afterRender.call(this);if(this.closable){this.addTool({id:"close",handler:this.hide,scope:this})}},showAt:function(A){Ext.Tip.superclass.show.call(this);if(this.measureWidth!==false&&(!this.initialConfig||typeof this.initialConfig.width!="number")){this.doAutoWidth()}if(this.constrainPosition){A=this.el.adjustForConstraints(A)}this.setPagePosition(A[0],A[1])},doAutoWidth:function(){var A=this.body.getTextWidth();if(this.title){A=Math.max(A,this.header.child("span").getTextWidth(this.title))}A+=this.getFrameWidth()+(this.closable?20:0)+this.body.getPadding("lr");this.setWidth(A.constrain(this.minWidth,this.maxWidth));if(Ext.isIE7&&!this.repainted){this.el.repaint();this.repainted=true}},showBy:function(A,B){if(!this.rendered){this.render(Ext.getBody())}this.showAt(this.el.getAlignToXY(A,B||this.defaultAlign))},initDraggable:function(){this.dd=new Ext.Tip.DD(this,typeof this.draggable=="boolean"?null:this.draggable);this.header.addClass("x-tip-draggable")}});Ext.Tip.DD=function(B,A){Ext.apply(this,A);this.tip=B;Ext.Tip.DD.superclass.constructor.call(this,B.el.id,"WindowDD-"+B.id);this.setHandleElId(B.header.id);this.scroll=false};Ext.extend(Ext.Tip.DD,Ext.dd.DD,{moveOnly:true,scroll:false,headerOffsets:[100,25],startDrag:function(){this.tip.el.disableShadow()},endDrag:function(A){this.tip.el.enableShadow(true)}}); +Ext.ToolTip=Ext.extend(Ext.Tip,{showDelay:500,hideDelay:200,dismissDelay:5000,mouseOffset:[15,18],trackMouse:false,constrainPosition:true,initComponent:function(){Ext.ToolTip.superclass.initComponent.call(this);this.lastActive=new Date();this.initTarget()},initTarget:function(){if(this.target){this.target=Ext.get(this.target);this.target.on("mouseover",this.onTargetOver,this);this.target.on("mouseout",this.onTargetOut,this);this.target.on("mousemove",this.onMouseMove,this)}},onMouseMove:function(A){this.targetXY=A.getXY();if(!this.hidden&&this.trackMouse){this.setPagePosition(this.getTargetXY())}},getTargetXY:function(){return[this.targetXY[0]+this.mouseOffset[0],this.targetXY[1]+this.mouseOffset[1]]},onTargetOver:function(A){if(this.disabled||A.within(this.target.dom,true)){return }this.clearTimer("hide");this.targetXY=A.getXY();this.delayShow()},delayShow:function(){if(this.hidden&&!this.showTimer){if(this.lastActive.getElapsed()=C){D=C-B-5}return{x:A,y:D}},onDestroy:function(){Ext.ToolTip.superclass.onDestroy.call(this);if(this.target){this.target.un("mouseover",this.onTargetOver,this);this.target.un("mouseout",this.onTargetOut,this);this.target.un("mousemove",this.onMouseMove,this)}}}); +Ext.QuickTip=Ext.extend(Ext.ToolTip,{interceptTitles:false,tagConfig:{namespace:"ext",attribute:"qtip",width:"qwidth",target:"target",title:"qtitle",hide:"hide",cls:"qclass",align:"qalign"},initComponent:function(){this.target=this.target||Ext.getDoc();this.targets=this.targets||{};Ext.QuickTip.superclass.initComponent.call(this)},register:function(D){var F=Ext.isArray(D)?D:arguments;for(var E=0,A=F.length;E0){var D=function(H,G){if(H&&G){var I=G.findChild(A,B);if(I){I.select();if(F){F(true,I)}}else{if(F){F(false,I)}}}else{if(F){F(false,I)}}};this.expandPath(C.join(this.pathSeparator),A,D)}else{this.root.select();if(F){F(true,this.root)}}},getTreeEl:function(){return this.body},onRender:function(B,A){Ext.tree.TreePanel.superclass.onRender.call(this,B,A);this.el.addClass("x-tree");this.innerCt=this.body.createChild({tag:"ul",cls:"x-tree-root-ct "+(this.useArrows?"x-tree-arrows":this.lines?"x-tree-lines":"x-tree-no-lines")})},initEvents:function(){Ext.tree.TreePanel.superclass.initEvents.call(this);if(this.containerScroll){Ext.dd.ScrollManager.register(this.body)}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)},afterRender:function(){Ext.tree.TreePanel.superclass.afterRender.call(this);this.root.render();if(!this.rootVisible){this.root.renderChildren()}},onDestroy:function(){if(this.rendered){this.body.removeAllListeners();Ext.dd.ScrollManager.unregister(this.body);if(this.dropZone){this.dropZone.unreg()}if(this.dragZone){this.dragZone.unreg()}}this.root.destroy();this.nodeHash=null;Ext.tree.TreePanel.superclass.onDestroy.call(this)}});Ext.tree.TreePanel.nodeTypes={};Ext.reg("treepanel",Ext.tree.TreePanel); +Ext.tree.TreeEventModel=function(A){this.tree=A;this.tree.on("render",this.initEvents,this)};Ext.tree.TreeEventModel.prototype={initEvents:function(){var A=this.tree.getTreeEl();A.on("click",this.delegateClick,this);if(this.tree.trackMouseOver!==false){A.on("mouseover",this.delegateOver,this);A.on("mouseout",this.delegateOut,this)}A.on("dblclick",this.delegateDblClick,this);A.on("contextmenu",this.delegateContextMenu,this)},getNode:function(B){var A;if(A=B.getTarget(".x-tree-node-el",10)){var C=Ext.fly(A,"_treeEvents").getAttributeNS("ext","tree-node-id");if(C){return this.tree.getNodeById(C)}}return null},getNodeTarget:function(B){var A=B.getTarget(".x-tree-node-icon",1);if(!A){A=B.getTarget(".x-tree-node-el",6)}return A},delegateOut:function(B,A){if(!this.beforeEvent(B)){return }if(B.getTarget(".x-tree-ec-icon",1)){var C=this.getNode(B);this.onIconOut(B,C);if(C==this.lastEcOver){delete this.lastEcOver}}if((A=this.getNodeTarget(B))&&!B.within(A,true)){this.onNodeOut(B,this.getNode(B))}},delegateOver:function(B,A){if(!this.beforeEvent(B)){return }if(this.lastEcOver){this.onIconOut(B,this.lastEcOver);delete this.lastEcOver}if(B.getTarget(".x-tree-ec-icon",1)){this.lastEcOver=this.getNode(B);this.onIconOver(B,this.lastEcOver)}if(A=this.getNodeTarget(B)){this.onNodeOver(B,this.getNode(B))}},delegateClick:function(B,A){if(!this.beforeEvent(B)){return }if(B.getTarget("input[type=checkbox]",1)){this.onCheckboxClick(B,this.getNode(B))}else{if(B.getTarget(".x-tree-ec-icon",1)){this.onIconClick(B,this.getNode(B))}else{if(this.getNodeTarget(B)){this.onNodeClick(B,this.getNode(B))}}}},delegateDblClick:function(B,A){if(this.beforeEvent(B)&&this.getNodeTarget(B)){this.onNodeDblClick(B,this.getNode(B))}},delegateContextMenu:function(B,A){if(this.beforeEvent(B)&&this.getNodeTarget(B)){this.onNodeContextMenu(B,this.getNode(B))}},onNodeClick:function(B,A){A.ui.onClick(B)},onNodeOver:function(B,A){A.ui.onOver(B)},onNodeOut:function(B,A){A.ui.onOut(B)},onIconOver:function(B,A){A.ui.addClass("x-tree-ec-over")},onIconOut:function(B,A){A.ui.removeClass("x-tree-ec-over")},onIconClick:function(B,A){A.ui.ecClick(B)},onCheckboxClick:function(B,A){A.ui.onCheckChange(B)},onNodeDblClick:function(B,A){A.ui.onDblClick(B)},onNodeContextMenu:function(B,A){A.ui.onContextMenu(B)},beforeEvent:function(A){if(this.disabled){A.stopEvent();return false}return true},disable:function(){this.disabled=true},enable:function(){this.disabled=false}}; +Ext.tree.DefaultSelectionModel=function(A){this.selNode=null;this.addEvents("selectionchange","beforeselect");Ext.apply(this,A);Ext.tree.DefaultSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.tree.DefaultSelectionModel,Ext.util.Observable,{init:function(A){this.tree=A;A.getTreeEl().on("keydown",this.onKeyDown,this);A.on("click",this.onNodeClick,this)},onNodeClick:function(A,B){this.select(A)},select:function(B){var A=this.selNode;if(A!=B&&this.fireEvent("beforeselect",this,B,A)!==false){if(A){A.ui.onSelectedChange(false)}this.selNode=B;B.ui.onSelectedChange(true);this.fireEvent("selectionchange",this,B,A)}return B},unselect:function(A){if(this.selNode==A){this.clearSelections()}},clearSelections:function(){var A=this.selNode;if(A){A.ui.onSelectedChange(false);this.selNode=null;this.fireEvent("selectionchange",this,null)}return A},getSelectedNode:function(){return this.selNode},isSelected:function(A){return this.selNode==A},selectPrevious:function(){var A=this.selNode||this.lastSelNode;if(!A){return null}var C=A.previousSibling;if(C){if(!C.isExpanded()||C.childNodes.length<1){return this.select(C)}else{var B=C.lastChild;while(B&&B.isExpanded()&&B.childNodes.length>0){B=B.lastChild}return this.select(B)}}else{if(A.parentNode&&(this.tree.rootVisible||!A.parentNode.isRoot)){return this.select(A.parentNode)}}return null},selectNext:function(){var B=this.selNode||this.lastSelNode;if(!B){return null}if(B.firstChild&&B.isExpanded()){return this.select(B.firstChild)}else{if(B.nextSibling){return this.select(B.nextSibling)}else{if(B.parentNode){var A=null;B.parentNode.bubble(function(){if(this.nextSibling){A=this.getOwnerTree().selModel.select(this.nextSibling);return false}});return A}}}return null},onKeyDown:function(C){var B=this.selNode||this.lastSelNode;var D=this;if(!B){return }var A=C.getKey();switch(A){case C.DOWN:C.stopEvent();this.selectNext();break;case C.UP:C.stopEvent();this.selectPrevious();break;case C.RIGHT:C.preventDefault();if(B.hasChildNodes()){if(!B.isExpanded()){B.expand()}else{if(B.firstChild){this.select(B.firstChild,C)}}}break;case C.LEFT:C.preventDefault();if(B.hasChildNodes()&&B.isExpanded()){B.collapse()}else{if(B.parentNode&&(this.tree.rootVisible||B.parentNode!=this.tree.getRootNode())){this.select(B.parentNode,C)}}break}}});Ext.tree.MultiSelectionModel=function(A){this.selNodes=[];this.selMap={};this.addEvents("selectionchange");Ext.apply(this,A);Ext.tree.MultiSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.tree.MultiSelectionModel,Ext.util.Observable,{init:function(A){this.tree=A;A.getTreeEl().on("keydown",this.onKeyDown,this);A.on("click",this.onNodeClick,this)},onNodeClick:function(A,B){this.select(A,B,B.ctrlKey)},select:function(A,C,B){if(B!==true){this.clearSelections(true)}if(this.isSelected(A)){this.lastSelNode=A;return A}this.selNodes.push(A);this.selMap[A.id]=A;this.lastSelNode=A;A.ui.onSelectedChange(true);this.fireEvent("selectionchange",this,this.selNodes);return A},unselect:function(B){if(this.selMap[B.id]){B.ui.onSelectedChange(false);var C=this.selNodes;var A=C.indexOf(B);if(A!=-1){this.selNodes.splice(A,1)}delete this.selMap[B.id];this.fireEvent("selectionchange",this,this.selNodes)}},clearSelections:function(B){var D=this.selNodes;if(D.length>0){for(var C=0,A=D.length;C
","",this.indentMarkup,"","","",E?("":"/>")):"","",D.text,"
","
    ",""].join("");var A;if(J!==true&&D.nextSibling&&(A=D.nextSibling.ui.getEl())){this.wrap=Ext.DomHelper.insertHtml("beforeBegin",A,C)}else{this.wrap=Ext.DomHelper.insertHtml("beforeEnd",H,C)}this.elNode=this.wrap.childNodes[0];this.ctNode=this.wrap.childNodes[1];var G=this.elNode.childNodes;this.indentNode=G[0];this.ecNode=G[1];this.iconNode=G[2];var F=3;if(E){this.checkbox=G[3];this.checkbox.defaultChecked=this.checkbox.checked;F++}this.anchor=G[F];this.textNode=G[F].firstChild},getAnchor:function(){return this.anchor},getTextEl:function(){return this.textNode},getIconEl:function(){return this.iconNode},isChecked:function(){return this.checkbox?this.checkbox.checked:false},updateExpandIcon:function(){if(this.rendered){var E=this.node,D,C;var A=E.isLast()?"x-tree-elbow-end":"x-tree-elbow";if(E.isExpandable()){if(E.expanded){A+="-minus";D="x-tree-node-collapsed";C="x-tree-node-expanded"}else{A+="-plus";D="x-tree-node-expanded";C="x-tree-node-collapsed"}if(this.wasLeaf){this.removeClass("x-tree-node-leaf");this.wasLeaf=false}if(this.c1!=D||this.c2!=C){Ext.fly(this.elNode).replaceClass(D,C);this.c1=D;this.c2=C}}else{if(!this.wasLeaf){Ext.fly(this.elNode).replaceClass("x-tree-node-expanded","x-tree-node-leaf");delete this.c1;delete this.c2;this.wasLeaf=true}}var B="x-tree-ec-icon "+A;if(this.ecc!=B){this.ecNode.className=B;this.ecc=B}}},getChildIndent:function(){if(!this.childIndent){var A=[];var B=this.node;while(B){if(!B.isRoot||(B.isRoot&&B.ownerTree.rootVisible)){if(!B.isLast()){A.unshift("")}else{A.unshift("")}}B=B.parentNode}this.childIndent=A.join("")}return this.childIndent},renderIndent:function(){if(this.rendered){var A="";var B=this.node.parentNode;if(B){A=B.ui.getChildIndent()}if(this.indentMarkup!=A){this.indentNode.innerHTML=A;this.indentMarkup=A}this.updateExpandIcon()}},destroy:function(){if(this.elNode){Ext.dd.Registry.unregister(this.elNode.id)}delete this.elNode;delete this.ctNode;delete this.indentNode;delete this.ecNode;delete this.iconNode;delete this.checkbox;delete this.anchor;delete this.textNode;Ext.removeNode(this.ctNode)}};Ext.tree.RootTreeNodeUI=Ext.extend(Ext.tree.TreeNodeUI,{render:function(){if(!this.rendered){var A=this.node.ownerTree.innerCt.dom;this.node.expanded=true;A.innerHTML="
    ";this.wrap=this.ctNode=A.firstChild}},collapse:Ext.emptyFn,expand:Ext.emptyFn}); +Ext.tree.TreeLoader=function(A){this.baseParams={};Ext.apply(this,A);this.addEvents("beforeload","load","loadexception");Ext.tree.TreeLoader.superclass.constructor.call(this)};Ext.extend(Ext.tree.TreeLoader,Ext.util.Observable,{uiProviders:{},clearOnLoad:true,load:function(A,B){if(this.clearOnLoad){while(A.firstChild){A.removeChild(A.firstChild)}}if(this.doPreload(A)){if(typeof B=="function"){B()}}else{if(this.dataUrl||this.url){this.requestData(A,B)}}},doPreload:function(D){if(D.attributes.children){if(D.childNodes.length<1){var C=D.attributes.children;D.beginUpdate();for(var B=0,A=C.length;BK){return E?-1:+1}else{return 0}}}};Ext.tree.TreeSorter.prototype={doSort:function(A){A.sort(this.sortFn)},compareNodes:function(B,A){return(B.text.toUpperCase()>A.text.toUpperCase()?1:-1)},updateSort:function(A,B){if(B.childrenRendered){this.doSort.defer(1,this,[B])}},updateSortParent:function(A){var B=A.parentNode;if(B&&B.childrenRendered){this.doSort.defer(1,this,[B])}}}; +if(Ext.dd.DropZone){Ext.tree.TreeDropZone=function(A,B){this.allowParentInsert=false;this.allowContainerDrop=false;this.appendOnly=false;Ext.tree.TreeDropZone.superclass.constructor.call(this,A.innerCt,B);this.tree=A;this.dragOverData={};this.lastInsertClass="x-tree-no-status"};Ext.extend(Ext.tree.TreeDropZone,Ext.dd.DropZone,{ddGroup:"TreeDD",expandDelay:1000,expandNode:function(A){if(A.hasChildNodes()&&!A.isExpanded()){A.expand(false,null,this.triggerCacheRefresh.createDelegate(this))}},queueExpand:function(A){this.expandProcId=this.expandNode.defer(this.expandDelay,this,[A])},cancelExpand:function(){if(this.expandProcId){clearTimeout(this.expandProcId);this.expandProcId=false}},isValidDropPoint:function(A,I,G,D,C){if(!A||!C){return false}var E=A.node;var F=C.node;if(!(E&&E.isTarget&&I)){return false}if(I=="append"&&E.allowChildren===false){return false}if((I=="above"||I=="below")&&(E.parentNode&&E.parentNode.allowChildren===false)){return false}if(F&&(E==F||F.contains(E))){return false}var B=this.dragOverData;B.tree=this.tree;B.target=E;B.data=C;B.point=I;B.source=G;B.rawEvent=D;B.dropNode=F;B.cancel=false;var H=this.tree.fireEvent("nodedragover",B);return B.cancel===false&&H!==false},getDropPoint:function(E,D,I){var J=D.node;if(J.isRoot){return J.allowChildren!==false?"append":false}var B=D.ddel;var K=Ext.lib.Dom.getY(B),G=K+B.offsetHeight;var F=Ext.lib.Event.getPageY(E);var H=J.allowChildren===false||J.isLeaf();if(this.appendOnly||J.parentNode.allowChildren===false){return H?false:"append"}var C=false;if(!this.allowParentInsert){C=J.hasChildNodes()&&J.isExpanded()}var A=(G-K)/(H?2:3);if(F>=K&&F<(K+A)){return"above"}else{if(!C&&(H||F>=G-A&&F<=G)){return"below"}else{return"append"}}},onNodeEnter:function(D,A,C,B){this.cancelExpand()},onNodeOver:function(B,G,F,E){var I=this.getDropPoint(F,B,G);var C=B.node;if(!this.expandProcId&&I=="append"&&C.hasChildNodes()&&!B.node.isExpanded()){this.queueExpand(C)}else{if(I!="append"){this.cancelExpand()}}var D=this.dropNotAllowed;if(this.isValidDropPoint(B,I,G,F,E)){if(I){var A=B.ddel;var H;if(I=="above"){D=B.node.isFirst()?"x-tree-drop-ok-above":"x-tree-drop-ok-between";H="x-tree-drag-insert-above"}else{if(I=="below"){D=B.node.isLast()?"x-tree-drop-ok-below":"x-tree-drop-ok-between";H="x-tree-drag-insert-below"}else{D="x-tree-drop-ok-append";H="x-tree-drag-append"}}if(this.lastInsertClass!=H){Ext.fly(A).replaceClass(this.lastInsertClass,H);this.lastInsertClass=H}}}return D},onNodeOut:function(D,A,C,B){this.cancelExpand();this.removeDropIndicators(D)},onNodeDrop:function(C,I,E,D){var H=this.getDropPoint(E,C,I);var F=C.node;F.ui.startDrop();if(!this.isValidDropPoint(C,H,I,E,D)){F.ui.endDrop();return false}var G=D.node||(I.getTreeNode?I.getTreeNode(D,F,H,E):null);var B={tree:this.tree,target:F,data:D,point:H,source:I,rawEvent:E,dropNode:G,cancel:!G,dropStatus:false};var A=this.tree.fireEvent("beforenodedrop",B);if(A===false||B.cancel===true||!B.dropNode){F.ui.endDrop();return B.dropStatus}F=B.target;if(H=="append"&&!F.isExpanded()){F.expand(false,null,function(){this.completeDrop(B)}.createDelegate(this))}else{this.completeDrop(B)}return true},completeDrop:function(G){var D=G.dropNode,E=G.point,C=G.target;if(!Ext.isArray(D)){D=[D]}var F;for(var B=0,A=D.length;BD.offsetLeft){E.scrollLeft=D.offsetLeft}var A=Math.min(this.maxWidth,(E.clientWidth>20?E.clientWidth:E.offsetWidth)-Math.max(0,D.offsetLeft-E.scrollLeft)-5);this.setSize(A,"")},triggerEdit:function(A,B){this.completeEdit();if(A.attributes.editable!==false){this.editNode=A;if(this.tree.autoScroll){A.ui.getEl().scrollIntoView(this.tree.body)}this.autoEditTimer=this.startEdit.defer(this.editDelay,this,[A.ui.textNode,A.text]);return false}},bindScroll:function(){this.tree.getTreeEl().on("scroll",this.cancelEdit,this)},beforeNodeClick:function(A,B){clearTimeout(this.autoEditTimer);if(this.tree.getSelectionModel().isSelected(A)){B.stopEvent();return this.triggerEdit(A)}},onNodeDblClick:function(A,B){clearTimeout(this.autoEditTimer)},updateNode:function(A,B){this.tree.getTreeEl().un("scroll",this.cancelEdit,this);this.editNode.setText(B)},onHide:function(){Ext.tree.TreeEditor.superclass.onHide.call(this);if(this.editNode){this.editNode.ui.focus.defer(50,this.editNode.ui)}},onSpecialKey:function(C,B){var A=B.getKey();if(A==B.ESC){B.stopEvent();this.cancelEdit()}else{if(A==B.ENTER&&!B.hasModifier()){B.stopEvent();this.completeEdit()}}}}); +Ext.menu.Menu=function(A){if(Ext.isArray(A)){A={items:A}}Ext.apply(this,A);this.id=this.id||Ext.id();this.addEvents("beforeshow","beforehide","show","hide","click","mouseover","mouseout","itemclick");Ext.menu.MenuMgr.register(this);Ext.menu.Menu.superclass.constructor.call(this);var B=this.items;this.items=new Ext.util.MixedCollection();if(B){this.add.apply(this,B)}};Ext.extend(Ext.menu.Menu,Ext.util.Observable,{minWidth:120,shadow:"sides",subMenuAlign:"tl-tr?",defaultAlign:"tl-bl?",allowOtherMenus:false,ignoreParentClicks:false,hidden:true,createEl:function(){return new Ext.Layer({cls:"x-menu",shadow:this.shadow,constrain:false,parentEl:this.parentEl||document.body,zindex:15000})},render:function(){if(this.el){return }var B=this.el=this.createEl();if(!this.keyNav){this.keyNav=new Ext.menu.MenuNav(this)}if(this.plain){B.addClass("x-menu-plain")}if(this.cls){B.addClass(this.cls)}this.focusEl=B.createChild({tag:"a",cls:"x-menu-focus",href:"#",onclick:"return false;",tabIndex:"-1"});var A=B.createChild({tag:"ul",cls:"x-menu-list"});A.on("click",this.onClick,this);A.on("mouseover",this.onMouseOver,this);A.on("mouseout",this.onMouseOut,this);this.items.each(function(D){var C=document.createElement("li");C.className="x-menu-list-item";A.dom.appendChild(C);D.render(C,this)},this);this.ul=A;this.autoWidth()},autoWidth:function(){var D=this.el,C=this.ul;if(!D){return }var A=this.width;if(A){D.setWidth(A)}else{if(Ext.isIE){D.setWidth(this.minWidth);var B=D.dom.offsetWidth;D.setWidth(C.getWidth()+D.getFrameWidth("lr"))}}},delayAutoWidth:function(){if(this.el){if(!this.awTask){this.awTask=new Ext.util.DelayedTask(this.autoWidth,this)}this.awTask.delay(20)}},findTargetItem:function(B){var A=B.getTarget(".x-menu-list-item",this.ul,true);if(A&&A.menuItemId){return this.items.get(A.menuItemId)}},onClick:function(B){var A;if(A=this.findTargetItem(B)){if(A.menu&&this.ignoreParentClicks){A.expandMenu()}else{A.onClick(B);this.fireEvent("click",this,A,B)}}},setActiveItem:function(A,B){if(A!=this.activeItem){if(this.activeItem){this.activeItem.deactivate()}this.activeItem=A;A.activate(B)}else{if(B){A.expandMenu()}}},tryActivate:function(F,E){var B=this.items;for(var C=F,A=B.length;C>=0&&C0){H()}})}function H(){if(D&&D.length>0){var N=D.clone();N.each(function(O){O.hide()})}}function E(N){D.remove(N);if(D.length<1){Ext.getDoc().un("mousedown",L);A=false}}function J(N){var O=D.last();K=new Date();D.add(N);if(!A){Ext.getDoc().on("mousedown",L);A=true}if(N.parentMenu){N.getEl().setZIndex(parseInt(N.parentMenu.getEl().getStyle("z-index"),10)+3);N.parentMenu.activeChild=N}else{if(O&&O.isVisible()){N.getEl().setZIndex(parseInt(O.getEl().getStyle("z-index"),10)+3)}}}function B(N){if(N.activeChild){N.activeChild.hide()}if(N.autoHideTimer){clearTimeout(N.autoHideTimer);delete N.autoHideTimer}}function G(N){var O=N.parentMenu;if(!O&&!N.allowOtherMenus){H()}else{if(O&&O.activeChild){O.activeChild.hide()}}}function L(N){if(K.getElapsed()>50&&D.length>0&&!N.getTarget(".x-menu")){H()}}function I(O,R){if(R){var Q=C[O.group];for(var P=0,N=Q.length;P{1}",this.icon||Ext.BLANK_IMAGE_URL,this.itemText||this.text,this.iconCls||"");this.el=C;Ext.menu.Item.superclass.onRender.call(this,B,A)},setText:function(A){this.text=A;if(this.rendered){this.el.update(String.format("{1}",this.icon||Ext.BLANK_IMAGE_URL,this.text,this.iconCls||""));this.parentMenu.autoWidth()}},setIconClass:function(A){var B=this.iconCls;this.iconCls=A;if(this.rendered){this.el.child("img.x-menu-item-icon").replaceClass(B,this.iconCls)}},handleClick:function(A){if(!this.href){A.stopEvent()}Ext.menu.Item.superclass.handleClick.apply(this,arguments)},activate:function(A){if(Ext.menu.Item.superclass.activate.apply(this,arguments)){this.focus();if(A){this.expandMenu()}}return true},shouldDeactivate:function(A){if(Ext.menu.Item.superclass.shouldDeactivate.call(this,A)){if(this.menu&&this.menu.isVisible()){return !this.menu.getEl().getRegion().contains(A.getPoint())}return true}return false},deactivate:function(){Ext.menu.Item.superclass.deactivate.apply(this,arguments);this.hideMenu()},expandMenu:function(A){if(!this.disabled&&this.menu){clearTimeout(this.hideTimer);delete this.hideTimer;if(!this.menu.isVisible()&&!this.showTimer){this.showTimer=this.deferExpand.defer(this.showDelay,this,[A])}else{if(this.menu.isVisible()&&A){this.menu.tryActivate(0,1)}}}},deferExpand:function(A){delete this.showTimer;this.menu.show(this.container,this.parentMenu.subMenuAlign||"tl-tr?",this.parentMenu);if(A){this.menu.tryActivate(0,1)}},hideMenu:function(){clearTimeout(this.showTimer);delete this.showTimer;if(!this.hideTimer&&this.menu&&this.menu.isVisible()){this.hideTimer=this.deferHide.defer(this.hideDelay,this)}},deferHide:function(){delete this.hideTimer;if(this.menu.over){this.parentMenu.setActiveItem(this,false)}else{this.menu.hide()}}}); +Ext.menu.CheckItem=function(A){Ext.menu.CheckItem.superclass.constructor.call(this,A);this.addEvents("beforecheckchange","checkchange");if(this.checkHandler){this.on("checkchange",this.checkHandler,this.scope)}Ext.menu.MenuMgr.registerCheckable(this)};Ext.extend(Ext.menu.CheckItem,Ext.menu.Item,{itemCls:"x-menu-item x-menu-check-item",groupClass:"x-menu-group-item",checked:false,ctype:"Ext.menu.CheckItem",onRender:function(A){Ext.menu.CheckItem.superclass.onRender.apply(this,arguments);if(this.group){this.el.addClass(this.groupClass)}if(this.checked){this.checked=false;this.setChecked(true,true)}},destroy:function(){Ext.menu.MenuMgr.unregisterCheckable(this);Ext.menu.CheckItem.superclass.destroy.apply(this,arguments)},setChecked:function(B,A){if(this.checked!=B&&this.fireEvent("beforecheckchange",this,B)!==false){if(this.container){this.container[B?"addClass":"removeClass"]("x-menu-item-checked")}this.checked=B;if(A!==true){this.fireEvent("checkchange",this,B)}}},handleClick:function(A){if(!this.disabled&&!(this.checked&&this.group)){this.setChecked(!this.checked)}Ext.menu.CheckItem.superclass.handleClick.apply(this,arguments)}}); +Ext.menu.Adapter=function(B,A){Ext.menu.Adapter.superclass.constructor.call(this,A);this.component=B};Ext.extend(Ext.menu.Adapter,Ext.menu.BaseItem,{canActivate:true,onRender:function(B,A){this.component.render(B);this.el=this.component.getEl()},activate:function(){if(this.disabled){return false}this.component.focus();this.fireEvent("activate",this);return true},deactivate:function(){this.fireEvent("deactivate",this)},disable:function(){this.component.disable();Ext.menu.Adapter.superclass.disable.call(this)},enable:function(){this.component.enable();Ext.menu.Adapter.superclass.enable.call(this)}}); +Ext.menu.DateItem=function(A){Ext.menu.DateItem.superclass.constructor.call(this,new Ext.DatePicker(A),A);this.picker=this.component;this.addEvents("select");this.picker.on("render",function(B){B.getEl().swallowEvent("click");B.container.addClass("x-menu-date-item")});this.picker.on("select",this.onSelect,this)};Ext.extend(Ext.menu.DateItem,Ext.menu.Adapter,{onSelect:function(B,A){this.fireEvent("select",this,A,B);Ext.menu.DateItem.superclass.handleClick.call(this)}}); +Ext.menu.ColorItem=function(A){Ext.menu.ColorItem.superclass.constructor.call(this,new Ext.ColorPalette(A),A);this.palette=this.component;this.relayEvents(this.palette,["select"]);if(this.selectHandler){this.on("select",this.selectHandler,this.scope)}};Ext.extend(Ext.menu.ColorItem,Ext.menu.Adapter); +Ext.menu.DateMenu=function(A){Ext.menu.DateMenu.superclass.constructor.call(this,A);this.plain=true;var B=new Ext.menu.DateItem(A);this.add(B);this.picker=B.picker;this.relayEvents(B,["select"]);this.on("beforeshow",function(){if(this.picker){this.picker.hideMonthPicker(true)}},this)};Ext.extend(Ext.menu.DateMenu,Ext.menu.Menu,{cls:"x-date-menu",beforeDestroy:function(){this.picker.destroy()}}); +Ext.menu.ColorMenu=function(A){Ext.menu.ColorMenu.superclass.constructor.call(this,A);this.plain=true;var B=new Ext.menu.ColorItem(A);this.add(B);this.palette=B.palette;this.relayEvents(B,["select"])};Ext.extend(Ext.menu.ColorMenu,Ext.menu.Menu); +Ext.form.Field=Ext.extend(Ext.BoxComponent,{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",readOnly:false,disabled:false,isFormField:true,hasFocus:false,initComponent:function(){Ext.form.Field.superclass.initComponent.call(this);this.addEvents("focus","blur","specialkey","change","invalid","valid")},getName:function(){return this.rendered&&this.el.dom.name?this.el.dom.name:(this.hiddenName||"")},onRender:function(C,A){Ext.form.Field.superclass.onRender.call(this,C,A);if(!this.el){var B=this.getAutoCreate();if(!B.name){B.name=this.name||this.id}if(this.inputType){B.type=this.inputType}this.el=C.createChild(B,A)}var D=this.el.dom.type;if(D){if(D=="password"){D="text"}this.el.addClass("x-form-"+D)}if(this.readOnly){this.el.dom.readOnly=true}if(this.tabIndex!==undefined){this.el.dom.setAttribute("tabIndex",this.tabIndex)}this.el.addClass([this.fieldClass,this.cls])},initValue:function(){if(this.value!==undefined){this.setValue(this.value)}else{if(this.el.dom.value.length>0&&this.el.dom.value!=this.emptyText){this.setValue(this.el.dom.value)}}this.originalValue=this.getValue()},isDirty:function(){if(this.disabled){return false}return String(this.getValue())!==String(this.originalValue)},afterRender:function(){Ext.form.Field.superclass.afterRender.call(this);this.initEvents();this.initValue()},fireKey:function(A){if(A.isSpecialKey()){this.fireEvent("specialkey",this,A)}},reset:function(){this.setValue(this.originalValue);this.clearInvalid()},initEvents:function(){this.el.on(Ext.isIE||Ext.isSafari3?"keydown":"keypress",this.fireKey,this);this.el.on("focus",this.onFocus,this);var A=this.inEditor&&Ext.isWindows&&Ext.isGecko?{buffer:10}:null;this.el.on("blur",this.onBlur,this,A);this.originalValue=this.getValue()},onFocus:function(){if(!Ext.isOpera&&this.focusClass){this.el.addClass(this.focusClass)}if(!this.hasFocus){this.hasFocus=true;this.startValue=this.getValue();this.fireEvent("focus",this)}},beforeBlur:Ext.emptyFn,onBlur:function(){this.beforeBlur();if(!Ext.isOpera&&this.focusClass){this.el.removeClass(this.focusClass)}this.hasFocus=false;if(this.validationEvent!==false&&this.validateOnBlur&&this.validationEvent!="blur"){this.validate()}var A=this.getValue();if(String(A)!==String(this.startValue)){this.fireEvent("change",this,A,this.startValue)}this.fireEvent("blur",this)},isValid:function(A){if(this.disabled){return true}var C=this.preventMark;this.preventMark=A===true;var B=this.validateValue(this.processValue(this.getRawValue()));this.preventMark=C;return B},validate:function(){if(this.disabled||this.validateValue(this.processValue(this.getRawValue()))){this.clearInvalid();return true}return false},processValue:function(A){return A},validateValue:function(A){return true},markInvalid:function(C){if(!this.rendered||this.preventMark){return }this.el.addClass(this.invalidClass);C=C||this.invalidText;switch(this.msgTarget){case"qtip":this.el.dom.qtip=C;this.el.dom.qclass="x-form-invalid-tip";if(Ext.QuickTips){Ext.QuickTips.enable()}break;case"title":this.el.dom.title=C;break;case"under":if(!this.errorEl){var B=this.getErrorCt();if(!B){this.el.dom.title=C;break}this.errorEl=B.createChild({cls:"x-form-invalid-msg"});this.errorEl.setWidth(B.getWidth(true)-20)}this.errorEl.update(C);Ext.form.Field.msgFx[this.msgFx].show(this.errorEl,this);break;case"side":if(!this.errorIcon){var B=this.getErrorCt();if(!B){this.el.dom.title=C;break}this.errorIcon=B.createChild({cls:"x-form-invalid-icon"})}this.alignErrorIcon();this.errorIcon.dom.qtip=C;this.errorIcon.dom.qclass="x-form-invalid-tip";this.errorIcon.show();this.on("resize",this.alignErrorIcon,this);break;default:var A=Ext.getDom(this.msgTarget);A.innerHTML=C;A.style.display=this.msgDisplay;break}this.fireEvent("invalid",this,C)},getErrorCt:function(){return this.el.findParent(".x-form-element",5,true)||this.el.findParent(".x-form-field-wrap",5,true)},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();this.un("resize",this.alignErrorIcon,this)}break;default:var A=Ext.getDom(this.msgTarget);A.innerHTML="";A.style.display="none";break}this.fireEvent("valid",this)},getRawValue:function(){var A=this.rendered?this.el.getValue():Ext.value(this.value,"");if(A===this.emptyText){A=""}return A},getValue:function(){if(!this.rendered){return this.value}var A=this.el.getValue();if(A===this.emptyText||A===undefined){A=""}return A},setRawValue:function(A){return this.el.dom.value=(A===null||A===undefined?"":A)},setValue:function(A){this.value=A;if(this.rendered){this.el.dom.value=(A===null||A===undefined?"":A);this.validate()}},adjustSize:function(A,C){var B=Ext.form.Field.superclass.adjustSize.call(this,A,C);B.width=this.adjustWidth(this.el.dom.tagName,B.width);return B},adjustWidth:function(A,B){A=A.toLowerCase();if(typeof B=="number"&&!Ext.isSafari){if(Ext.isIE&&(A=="input"||A=="textarea")){if(A=="input"&&!Ext.isStrict){return this.inEditor?B:B-3}if(A=="input"&&Ext.isStrict){return B-(Ext.isIE6?4:1)}if(A=="textarea"&&Ext.isStrict){return B-2}}else{if(Ext.isOpera&&Ext.isStrict){if(A=="input"){return B+2}if(A=="textarea"){return B-2}}}}return B}});Ext.form.MessageTargets={"qtip":{mark:function(A){this.el.dom.qtip=msg;this.el.dom.qclass="x-form-invalid-tip";if(Ext.QuickTips){Ext.QuickTips.enable()}},clear:function(A){this.el.dom.qtip=""}},"title":{mark:function(A){this.el.dom.title=msg},clear:function(A){this.el.dom.title=""}},"under":{mark:function(B){if(!this.errorEl){var A=this.getErrorCt();if(!A){this.el.dom.title=msg;return }this.errorEl=A.createChild({cls:"x-form-invalid-msg"});this.errorEl.setWidth(A.getWidth(true)-20)}this.errorEl.update(msg);Ext.form.Field.msgFx[this.msgFx].show(this.errorEl,this)},clear:function(A){if(this.errorEl){Ext.form.Field.msgFx[this.msgFx].hide(this.errorEl,this)}else{this.el.dom.title=""}}},"side":{mark:function(B){if(!this.errorIcon){var A=this.getErrorCt();if(!A){this.el.dom.title=msg;return }this.errorIcon=A.createChild({cls:"x-form-invalid-icon"})}this.alignErrorIcon();this.errorIcon.dom.qtip=msg;this.errorIcon.dom.qclass="x-form-invalid-tip";this.errorIcon.show();this.on("resize",this.alignErrorIcon,this)},clear:function(A){if(this.errorIcon){this.errorIcon.dom.qtip="";this.errorIcon.hide();this.un("resize",this.alignErrorIcon,this)}else{this.el.dom.title=""}}},"around":{mark:function(A){},clear:function(A){}}};Ext.form.Field.msgFx={normal:{show:function(A,B){A.setDisplayed("block")},hide:function(A,B){A.setDisplayed(false).update("")}},slide:{show:function(A,B){A.slideIn("t",{stopFx:true})},hide:function(A,B){A.slideOut("t",{stopFx:true,useDisplay:true})}},slideRight:{show:function(A,B){A.fixDisplay();A.alignTo(B.el,"tl-tr");A.slideIn("l",{stopFx:true})},hide:function(A,B){A.slideOut("l",{stopFx:true,useDisplay:true})}}};Ext.reg("field",Ext.form.Field); +Ext.form.TextField=Ext.extend(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",initComponent:function(){Ext.form.TextField.superclass.initComponent.call(this);this.addEvents("autosize","keydown","keyup","keypress")},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);this.el.on("mousedown",function(){if(!this.hasFocus){this.el.on("mouseup",function(A){A.preventDefault()},this,{single:true})}},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.onKeyUpBuffered,this,{buffer:50});this.el.on("click",this.autoSize,this)}if(this.enableKeyEvents){this.el.on("keyup",this.onKeyUp,this);this.el.on("keydown",this.onKeyDown,this);this.el.on("keypress",this.onKeyPress,this)}},processValue:function(A){if(this.stripCharsRe){var B=A.replace(this.stripCharsRe,"");if(B!==A){this.setRawValue(B);return B}}return A},filterValidation:function(A){if(!A.isNavKeyPress()){this.validationTask.delay(this.validationDelay)}},onKeyUpBuffered:function(A){if(!A.isNavKeyPress()){this.autoSize()}},onKeyUp:function(A){this.fireEvent("keyup",this,A)},onKeyDown:function(A){this.fireEvent("keydown",this,A)},onKeyPress:function(A){this.fireEvent("keypress",this,A)},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.el.dom.value==this.emptyText){this.setRawValue("")}this.el.removeClass(this.emptyClass)}if(this.selectOnFocus){this.el.dom.select()}},postBlur:function(){this.applyEmptyText()},filterKeys:function(B){if(B.ctrlKey){return }var A=B.getKey();if(Ext.isGecko&&(B.isNavKeyPress()||A==B.BACKSPACE||(A==B.DELETE&&B.button==-1))){return }var D=B.getCharCode(),C=String.fromCharCode(D);if(!Ext.isGecko&&B.isSpecialKey()&&!C){return }if(!this.maskRe.test(C)){B.stopEvent()}},setValue:function(A){if(this.emptyText&&this.el&&A!==undefined&&A!==null&&A!==""){this.el.removeClass(this.emptyClass)}Ext.form.TextField.superclass.setValue.apply(this,arguments);this.applyEmptyText();this.autoSize()},validateValue:function(A){if(A.length<1||A===this.emptyText){if(this.allowBlank){this.clearInvalid();return true}else{this.markInvalid(this.blankText);return false}}if(A.lengththis.maxLength){this.markInvalid(String.format(this.maxLengthText,this.maxLength));return false}if(this.vtype){var C=Ext.form.VTypes;if(!C[this.vtype](A,this)){this.markInvalid(this.vtypeText||C[this.vtype+"Text"]);return false}}if(typeof this.validator=="function"){var B=this.validator(A);if(B!==true){this.markInvalid(B);return false}}if(this.regex&&!this.regex.test(A)){this.markInvalid(this.regexText);return false}return true},selectText:function(E,A){var C=this.getRawValue();if(C.length>0){E=E===undefined?0:E;A=A===undefined?C.length:A;var D=this.el.dom;if(D.setSelectionRange){D.setSelectionRange(E,A)}else{if(D.createTextRange){var B=D.createTextRange();B.moveStart("character",E);B.moveEnd("character",A-C.length);B.select()}}}},autoSize:function(){if(!this.grow||!this.rendered){return }if(!this.metrics){this.metrics=Ext.util.TextMetrics.createInstance(this.el)}var C=this.el;var B=C.dom.value;var D=document.createElement("div");D.appendChild(document.createTextNode(B));B=D.innerHTML;D=null;B+=" ";var A=Math.min(this.growMax,Math.max(this.metrics.getWidth(B)+10,this.growMin));this.el.setWidth(A);this.fireEvent("autosize",this,A)}});Ext.reg("textfield",Ext.form.TextField); +Ext.form.TriggerField=Ext.extend(Ext.form.TextField,{defaultAutoCreate:{tag:"input",type:"text",size:"16",autocomplete:"off"},hideTrigger:false,autoSize:Ext.emptyFn,monitorTab:true,deferHeight:true,mimicing:false,onResize:function(A,B){Ext.form.TriggerField.superclass.onResize.call(this,A,B);if(typeof A=="number"){this.el.setWidth(this.adjustWidth("input",A-this.trigger.getWidth()))}this.wrap.setWidth(this.el.getWidth()+this.trigger.getWidth())},adjustSize:Ext.BoxComponent.prototype.adjustSize,getResizeEl:function(){return this.wrap},getPositionEl:function(){return this.wrap},alignErrorIcon:function(){if(this.wrap){this.errorIcon.alignTo(this.wrap,"tl-tr",[2,0])}},onRender:function(B,A){Ext.form.TriggerField.superclass.onRender.call(this,B,A);this.wrap=this.el.wrap({cls:"x-form-field-wrap"});this.trigger=this.wrap.createChild(this.triggerConfig||{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger "+this.triggerClass});if(this.hideTrigger){this.trigger.setDisplayed(false)}this.initTrigger();if(!this.width){this.wrap.setWidth(this.el.getWidth()+this.trigger.getWidth())}},afterRender:function(){Ext.form.TriggerField.superclass.afterRender.call(this);var A;if(Ext.isIE&&this.el.getY()!=(A=this.trigger.getY())){this.el.position();this.el.setY(A)}},initTrigger:function(){this.trigger.on("click",this.onTriggerClick,this,{preventDefault:true});this.trigger.addClassOnOver("x-form-trigger-over");this.trigger.addClassOnClick("x-form-trigger-click")},onDestroy:function(){if(this.trigger){this.trigger.removeAllListeners();this.trigger.remove()}if(this.wrap){this.wrap.remove()}Ext.form.TriggerField.superclass.onDestroy.call(this)},onFocus:function(){Ext.form.TriggerField.superclass.onFocus.call(this);if(!this.mimicing){this.wrap.addClass("x-trigger-wrap-focus");this.mimicing=true;Ext.get(Ext.isIE?document.body:document).on("mousedown",this.mimicBlur,this,{delay:10});if(this.monitorTab){this.el.on("keydown",this.checkTab,this)}}},checkTab:function(A){if(A.getKey()==A.TAB){this.triggerBlur()}},onBlur:function(){},mimicBlur:function(A){if(!this.wrap.contains(A.target)&&this.validateBlur(A)){this.triggerBlur()}},triggerBlur:function(){this.mimicing=false;Ext.get(Ext.isIE?document.body:document).un("mousedown",this.mimicBlur,this);if(this.monitorTab){this.el.un("keydown",this.checkTab,this)}this.beforeBlur();this.wrap.removeClass("x-trigger-wrap-focus");Ext.form.TriggerField.superclass.onBlur.call(this)},beforeBlur:Ext.emptyFn,validateBlur:function(A){return true},onDisable:function(){Ext.form.TriggerField.superclass.onDisable.call(this);if(this.wrap){this.wrap.addClass(this.disabledClass);this.el.removeClass(this.disabledClass)}},onEnable:function(){Ext.form.TriggerField.superclass.onEnable.call(this);if(this.wrap){this.wrap.removeClass(this.disabledClass)}},onShow:function(){if(this.wrap){this.wrap.dom.style.display="";this.wrap.dom.style.visibility="visible"}},onHide:function(){this.wrap.dom.style.display="none"},onTriggerClick:Ext.emptyFn});Ext.form.TwinTriggerField=Ext.extend(Ext.form.TriggerField,{initComponent:function(){Ext.form.TwinTriggerField.superclass.initComponent.call(this);this.triggerConfig={tag:"span",cls:"x-form-twin-triggers",cn:[{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger "+this.trigger1Class},{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger "+this.trigger2Class}]}},getTrigger:function(A){return this.triggers[A]},initTrigger:function(){var A=this.trigger.select(".x-form-trigger",true);this.wrap.setStyle("overflow","hidden");var B=this;A.each(function(D,F,C){D.hide=function(){var G=B.wrap.getWidth();this.dom.style.display="none";B.el.setWidth(G-B.trigger.getWidth())};D.show=function(){var G=B.wrap.getWidth();this.dom.style.display="";B.el.setWidth(G-B.trigger.getWidth())};var E="Trigger"+(C+1);if(this["hide"+E]){D.dom.style.display="none"}D.on("click",this["on"+E+"Click"],this,{preventDefault:true});D.addClassOnOver("x-form-trigger-over");D.addClassOnClick("x-form-trigger-click")},this);this.triggers=A.elements},onTrigger1Click:Ext.emptyFn,onTrigger2Click:Ext.emptyFn});Ext.reg("trigger",Ext.form.TriggerField); +Ext.form.TextArea=Ext.extend(Ext.form.TextField,{growMin:60,growMax:1000,growAppend:" \n ",growPad:0,enterIsSpecial:false,preventScrollbars:false,onRender:function(B,A){if(!this.el){this.defaultAutoCreate={tag:"textarea",style:"width:100px;height:60px;",autocomplete:"off"}}Ext.form.TextArea.superclass.onRender.call(this,B,A);if(this.grow){this.textSizeEl=Ext.DomHelper.append(document.body,{tag:"pre",cls:"x-form-grow-sizer"});if(this.preventScrollbars){this.el.setStyle("overflow","hidden")}this.el.setHeight(this.growMin)}},onDestroy:function(){if(this.textSizeEl){Ext.removeNode(this.textSizeEl)}Ext.form.TextArea.superclass.onDestroy.call(this)},fireKey:function(A){if(A.isSpecialKey()&&(this.enterIsSpecial||(A.getKey()!=A.ENTER||A.hasModifier()))){this.fireEvent("specialkey",this,A)}},onKeyUp:function(A){if(!A.isNavKeyPress()||A.getKey()==A.ENTER){this.autoSize()}Ext.form.TextArea.superclass.onKeyUp.call(this,A)},autoSize:function(){if(!this.grow||!this.textSizeEl){return }var C=this.el;var A=C.dom.value;var D=this.textSizeEl;D.innerHTML="";D.appendChild(document.createTextNode(A));A=D.innerHTML;Ext.fly(D).setWidth(this.el.getWidth());if(A.length<1){A="  "}else{if(Ext.isIE){A=A.replace(/\n/g,"

     

    ")}A+=this.growAppend}D.innerHTML=A;var B=Math.min(this.growMax,Math.max(D.offsetHeight,this.growMin)+this.growPad);if(B!=this.lastHeight){this.lastHeight=B;this.el.setHeight(B);this.fireEvent("autosize",this,B)}}});Ext.reg("textarea",Ext.form.TextArea); +Ext.form.NumberField=Ext.extend(Ext.form.TextField,{fieldClass:"x-form-field x-form-num-field",allowDecimals:true,decimalSeparator:".",decimalPrecision:2,allowNegative:true,minValue:Number.NEGATIVE_INFINITY,maxValue:Number.MAX_VALUE,minText:"The minimum value for this field is {0}",maxText:"The maximum value for this field is {0}",nanText:"{0} is not a valid number",baseChars:"0123456789",initEvents:function(){Ext.form.NumberField.superclass.initEvents.call(this);var B=this.baseChars+"";if(this.allowDecimals){B+=this.decimalSeparator}if(this.allowNegative){B+="-"}this.stripCharsRe=new RegExp("[^"+B+"]","gi");var A=function(D){var C=D.getKey();if(!Ext.isIE&&(D.isSpecialKey()||C==D.BACKSPACE||C==D.DELETE)){return }var E=D.getCharCode();if(B.indexOf(String.fromCharCode(E))===-1){D.stopEvent()}};this.el.on("keypress",A,this)},validateValue:function(B){if(!Ext.form.NumberField.superclass.validateValue.call(this,B)){return false}if(B.length<1){return true}B=String(B).replace(this.decimalSeparator,".");if(isNaN(B)){this.markInvalid(String.format(this.nanText,B));return false}var A=this.parseValue(B);if(Athis.maxValue){this.markInvalid(String.format(this.maxText,this.maxValue));return false}return true},getValue:function(){return this.fixPrecision(this.parseValue(Ext.form.NumberField.superclass.getValue.call(this)))},setValue:function(A){A=typeof A=="number"?A:parseFloat(String(A).replace(this.decimalSeparator,"."));A=isNaN(A)?"":String(A).replace(".",this.decimalSeparator);Ext.form.NumberField.superclass.setValue.call(this,A)},parseValue:function(A){A=parseFloat(String(A).replace(this.decimalSeparator,"."));return isNaN(A)?"":A},fixPrecision:function(B){var A=isNaN(B);if(!this.allowDecimals||this.decimalPrecision==-1||A||!B){return A?"":B}return parseFloat(parseFloat(B).toFixed(this.decimalPrecision))},beforeBlur:function(){var A=this.parseValue(this.getRawValue());if(A){this.setValue(this.fixPrecision(A))}}});Ext.reg("numberfield",Ext.form.NumberField); +Ext.form.DateField=Ext.extend(Ext.form.TriggerField,{format:"m/d/Y",altFormats:"m/d/Y|n/j/Y|n/j/y|m/j/y|n/d/y|m/j/Y|n/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d|Y-m-d",disabledDaysText:"Disabled",disabledDatesText:"Disabled",minText:"The date in this field must be equal to or after {0}",maxText:"The date in this field must be equal to or before {0}",invalidText:"{0} is not a valid date - it must be in the format {1}",triggerClass:"x-form-date-trigger",showToday:true,defaultAutoCreate:{tag:"input",type:"text",size:"10",autocomplete:"off"},initComponent:function(){Ext.form.DateField.superclass.initComponent.call(this);if(typeof this.minValue=="string"){this.minValue=this.parseDate(this.minValue)}if(typeof this.maxValue=="string"){this.maxValue=this.parseDate(this.maxValue)}this.ddMatch=null;this.initDisabledDays()},initDisabledDays:function(){if(this.disabledDates){var A=this.disabledDates;var C="(?:";for(var B=0;Bthis.maxValue.getTime()){this.markInvalid(String.format(this.maxText,this.formatDate(this.maxValue)));return false}if(this.disabledDays){var A=E.getDay();for(var B=0;B
    {"+this.displayField+"}
    "}this.view=new Ext.DataView({applyTo:this.innerList,tpl:this.tpl,singleSelect:true,selectedClass:this.selectedClass,itemSelector:this.itemSelector||"."+A+"-item"});this.view.on("click",this.onViewClick,this);this.bindStore(this.store,true);if(this.resizable){this.resizer=new Ext.Resizable(this.list,{pinned:true,handles:"se"});this.resizer.on("resize",function(E,C,D){this.maxHeight=D-this.handleHeight-this.list.getFrameWidth("tb")-this.assetHeight;this.listWidth=C;this.innerList.setWidth(C-this.list.getFrameWidth("lr"));this.restrictHeight()},this);this[this.pageSize?"footer":"innerList"].setStyle("margin-bottom",this.handleHeight+"px")}}},bindStore:function(A,B){if(this.store&&!B){this.store.un("beforeload",this.onBeforeLoad,this);this.store.un("load",this.onLoad,this);this.store.un("loadexception",this.collapse,this);if(!A){this.store=null;if(this.view){this.view.setStore(null)}}}if(A){this.store=Ext.StoreMgr.lookup(A);this.store.on("beforeload",this.onBeforeLoad,this);this.store.on("load",this.onLoad,this);this.store.on("loadexception",this.collapse,this);if(this.view){this.view.setStore(A)}}},initEvents:function(){Ext.form.ComboBox.superclass.initEvents.call(this);this.keyNav=new Ext.KeyNav(this.el,{"up":function(A){this.inKeyMode=true;this.selectPrev()},"down":function(A){if(!this.isExpanded()){this.onTriggerClick()}else{this.inKeyMode=true;this.selectNext()}},"enter":function(A){this.onViewClick();this.delayedCheck=true;this.unsetDelayCheck.defer(10,this)},"esc":function(A){this.collapse()},"tab":function(A){this.onViewClick(false);return true},scope:this,doRelay:function(C,B,A){if(A=="down"||this.scope.isExpanded()){return Ext.KeyNav.prototype.doRelay.apply(this,arguments)}return true},forceKeyDown:true});this.queryDelay=Math.max(this.queryDelay||10,this.mode=="local"?10:250);this.dqTask=new Ext.util.DelayedTask(this.initQuery,this);if(this.typeAhead){this.taTask=new Ext.util.DelayedTask(this.onTypeAhead,this)}if(this.editable!==false){this.el.on("keyup",this.onKeyUp,this)}if(this.forceSelection){this.on("blur",this.doForce,this)}},onDestroy:function(){if(this.view){this.view.el.removeAllListeners();this.view.el.remove();this.view.purgeListeners()}if(this.list){this.list.destroy()}this.bindStore(null);Ext.form.ComboBox.superclass.onDestroy.call(this)},unsetDelayCheck:function(){delete this.delayedCheck},fireKey:function(A){if(A.isNavKeyPress()&&!this.isExpanded()&&!this.delayedCheck){this.fireEvent("specialkey",this,A)}},onResize:function(A,B){Ext.form.ComboBox.superclass.onResize.apply(this,arguments);if(this.list&&this.listWidth===undefined){var C=Math.max(A,this.minListWidth);this.list.setWidth(C);this.innerList.setWidth(C-this.list.getFrameWidth("lr"))}},onEnable:function(){Ext.form.ComboBox.superclass.onEnable.apply(this,arguments);if(this.hiddenField){this.hiddenField.disabled=false}},onDisable:function(){Ext.form.ComboBox.superclass.onDisable.apply(this,arguments);if(this.hiddenField){this.hiddenField.disabled=true}},setEditable:function(A){if(A==this.editable){return }this.editable=A;if(!A){this.el.dom.setAttribute("readOnly",true);this.el.on("mousedown",this.onTriggerClick,this);this.el.addClass("x-combo-noedit")}else{this.el.dom.setAttribute("readOnly",false);this.el.un("mousedown",this.onTriggerClick,this);this.el.removeClass("x-combo-noedit")}},onBeforeLoad:function(){if(!this.hasFocus){return }this.innerList.update(this.loadingText?"
    "+this.loadingText+"
    ":"");this.restrictHeight();this.selectedIndex=-1},onLoad:function(){if(!this.hasFocus){return }if(this.store.getCount()>0){this.expand();this.restrictHeight();if(this.lastQuery==this.allQuery){if(this.editable){this.el.dom.select()}if(!this.selectByValue(this.value,true)){this.select(0,true)}}else{this.selectNext();if(this.typeAhead&&this.lastKey!=Ext.EventObject.BACKSPACE&&this.lastKey!=Ext.EventObject.DELETE){this.taTask.delay(this.typeAheadDelay)}}}else{this.onEmptyResults()}},onTypeAhead:function(){if(this.store.getCount()>0){var B=this.store.getAt(0);var C=B.data[this.displayField];var A=C.length;var D=this.getRawValue().length;if(D!=A){this.setRawValue(C);this.selectText(D,C.length)}}},onSelect:function(A,B){if(this.fireEvent("beforeselect",this,A,B)!==false){this.setValue(A.data[this.valueField||this.displayField]);this.collapse();this.fireEvent("select",this,A,B)}},getValue:function(){if(this.valueField){return typeof this.value!="undefined"?this.value:""}else{return Ext.form.ComboBox.superclass.getValue.call(this)}},clearValue:function(){if(this.hiddenField){this.hiddenField.value=""}this.setRawValue("");this.lastSelectionText="";this.applyEmptyText();this.value=""},setValue:function(A){var C=A;if(this.valueField){var B=this.findRecord(this.valueField,A);if(B){C=B.data[this.displayField]}else{if(this.valueNotFoundText!==undefined){C=this.valueNotFoundText}}}this.lastSelectionText=C;if(this.hiddenField){this.hiddenField.value=A}Ext.form.ComboBox.superclass.setValue.call(this,C);this.value=A},findRecord:function(C,B){var A;if(this.store.getCount()>0){this.store.each(function(D){if(D.data[C]==B){A=D;return false}})}return A},onViewMove:function(B,A){this.inKeyMode=false},onViewOver:function(D,B){if(this.inKeyMode){return }var C=this.view.findItemFromChild(B);if(C){var A=this.view.indexOf(C);this.select(A,false)}},onViewClick:function(B){var A=this.view.getSelectedIndexes()[0];var C=this.store.getAt(A);if(C){this.onSelect(C,A)}if(B!==false){this.el.focus()}},restrictHeight:function(){this.innerList.dom.style.height="";var B=this.innerList.dom;var E=this.list.getFrameWidth("tb")+(this.resizable?this.handleHeight:0)+this.assetHeight;var C=Math.max(B.clientHeight,B.offsetHeight,B.scrollHeight);var A=this.getPosition()[1]-Ext.getBody().getScroll().top;var F=Ext.lib.Dom.getViewHeight()-A-this.getSize().height;var D=Math.max(A,F,this.minHeight||0)-this.list.shadowOffset-E-5;C=Math.min(C,D,this.maxHeight);this.innerList.setHeight(C);this.list.beginUpdate();this.list.setHeight(C+E);this.list.alignTo(this.wrap,this.listAlign);this.list.endUpdate()},onEmptyResults:function(){this.collapse()},isExpanded:function(){return this.list&&this.list.isVisible()},selectByValue:function(A,C){if(A!==undefined&&A!==null){var B=this.findRecord(this.valueField||this.displayField,A);if(B){this.select(this.store.indexOf(B),C);return true}}return false},select:function(A,C){this.selectedIndex=A;this.view.select(A);if(C!==false){var B=this.view.getNode(A);if(B){this.innerList.scrollChildIntoView(B,false)}}},selectNext:function(){var A=this.store.getCount();if(A>0){if(this.selectedIndex==-1){this.select(0)}else{if(this.selectedIndex0){if(this.selectedIndex==-1){this.select(0)}else{if(this.selectedIndex!=0){this.select(this.selectedIndex-1)}}}},onKeyUp:function(A){if(this.editable!==false&&!A.isSpecialKey()){this.lastKey=A.getKey();this.dqTask.delay(this.queryDelay)}},validateBlur:function(){return !this.list||!this.list.isVisible()},initQuery:function(){this.doQuery(this.getRawValue())},doForce:function(){if(this.el.dom.value.length>0){this.el.dom.value=this.lastSelectionText===undefined?"":this.lastSelectionText;this.applyEmptyText()}},doQuery:function(C,B){if(C===undefined||C===null){C=""}var A={query:C,forceAll:B,combo:this,cancel:false};if(this.fireEvent("beforequery",A)===false||A.cancel){return false}C=A.query;B=A.forceAll;if(B===true||(C.length>=this.minChars)){if(this.lastQuery!==C){this.lastQuery=C;if(this.mode=="local"){this.selectedIndex=-1;if(B){this.store.clearFilter()}else{this.store.filter(this.displayField,C)}this.onLoad()}else{this.store.baseParams[this.queryParam]=C;this.store.load({params:this.getParams(C)});this.expand()}}else{this.selectedIndex=-1;this.onLoad()}}},getParams:function(A){var B={};if(this.pageSize){B.start=0;B.limit=this.pageSize}return B},collapse:function(){if(!this.isExpanded()){return }this.list.hide();Ext.getDoc().un("mousewheel",this.collapseIf,this);Ext.getDoc().un("mousedown",this.collapseIf,this);this.fireEvent("collapse",this)},collapseIf:function(A){if(!A.within(this.wrap)&&!A.within(this.list)){this.collapse()}},expand:function(){if(this.isExpanded()||!this.hasFocus){return }this.list.alignTo(this.wrap,this.listAlign);this.list.show();this.innerList.setOverflow("auto");Ext.getDoc().on("mousewheel",this.collapseIf,this);Ext.getDoc().on("mousedown",this.collapseIf,this);this.fireEvent("expand",this)},onTriggerClick:function(){if(this.disabled){return }if(this.isExpanded()){this.collapse();this.el.focus()}else{this.onFocus({});if(this.triggerAction=="all"){this.doQuery(this.allQuery,true)}else{this.doQuery(this.getRawValue())}this.el.focus()}}});Ext.reg("combo",Ext.form.ComboBox); +Ext.form.Checkbox=Ext.extend(Ext.form.Field,{checkedCls:"x-form-check-checked",focusCls:"x-form-check-focus",overCls:"x-form-check-over",mouseDownCls:"x-form-check-down",tabIndex:0,checked:false,defaultAutoCreate:{tag:"input",type:"checkbox",autocomplete:"off"},baseCls:"x-form-check",initComponent:function(){Ext.form.Checkbox.superclass.initComponent.call(this);this.addEvents("check")},initEvents:function(){Ext.form.Checkbox.superclass.initEvents.call(this);this.initCheckEvents()},initCheckEvents:function(){this.innerWrap.removeAllListeners();this.innerWrap.addClassOnOver(this.overCls);this.innerWrap.addClassOnClick(this.mouseDownCls);this.innerWrap.on("click",this.onClick,this);this.innerWrap.on("keyup",this.onKeyUp,this)},onRender:function(B,A){Ext.form.Checkbox.superclass.onRender.call(this,B,A);if(this.inputValue!==undefined){this.el.dom.value=this.inputValue}this.el.addClass("x-hidden");this.innerWrap=this.el.wrap({tabIndex:this.tabIndex,cls:this.baseCls+"-wrap-inner"});this.wrap=this.innerWrap.wrap({cls:this.baseCls+"-wrap"});if(this.boxLabel){this.labelEl=this.innerWrap.createChild({tag:"label",htmlFor:this.el.id,cls:"x-form-cb-label",html:this.boxLabel})}this.imageEl=this.innerWrap.createChild({tag:"img",src:Ext.BLANK_IMAGE_URL,cls:this.baseCls},this.el);if(this.checked){this.setValue(true)}else{this.checked=this.el.dom.checked}this.originalValue=this.checked},onDestroy:function(){if(this.rendered){Ext.destroy(this.imageEl,this.labelEl,this.innerWrap,this.wrap)}Ext.form.Checkbox.superclass.onDestroy.call(this)},onFocus:function(A){Ext.form.Checkbox.superclass.onFocus.call(this,A);this.el.addClass(this.focusCls)},onBlur:function(A){Ext.form.Checkbox.superclass.onBlur.call(this,A);this.el.removeClass(this.focusCls)},onResize:function(){Ext.form.Checkbox.superclass.onResize.apply(this,arguments);if(!this.boxLabel&&!this.fieldLabel){this.el.alignTo(this.wrap,"c-c")}},onKeyUp:function(A){if(A.getKey()==Ext.EventObject.SPACE){this.onClick(A)}},onClick:function(A){if(!this.disabled&&!this.readOnly){this.toggleValue()}A.stopEvent()},onEnable:function(){Ext.form.Checkbox.superclass.onEnable.call(this);this.initCheckEvents()},onDisable:function(){Ext.form.Checkbox.superclass.onDisable.call(this);this.innerWrap.removeAllListeners()},toggleValue:function(){this.setValue(!this.checked)},getResizeEl:function(){if(!this.resizeEl){this.resizeEl=Ext.isSafari?this.wrap:(this.wrap.up(".x-form-element",5)||this.wrap)}return this.resizeEl},getPositionEl:function(){return this.wrap},getActionEl:function(){return this.wrap},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn,initValue:Ext.emptyFn,getValue:function(){if(this.rendered){return this.el.dom.checked}return false},setValue:function(A){var B=this.checked;this.checked=(A===true||A==="true"||A=="1"||String(A).toLowerCase()=="on");if(this.el&&this.el.dom){this.el.dom.checked=this.checked;this.el.dom.defaultChecked=this.checked}this.wrap[this.checked?"addClass":"removeClass"](this.checkedCls);if(B!=this.checked){this.fireEvent("check",this,this.checked);if(this.handler){this.handler.call(this.scope||this,this,this.checked)}}}});Ext.reg("checkbox",Ext.form.Checkbox); +Ext.form.CheckboxGroup=Ext.extend(Ext.form.Field,{columns:"auto",vertical:false,allowBlank:true,blankText:"You must select at least one item in this group",defaultType:"checkbox",groupCls:"x-form-check-group",onRender:function(H,F){if(!this.el){var M={cls:this.groupCls,layout:"column",border:false,renderTo:H};var A={defaultType:this.defaultType,layout:"form",border:false,defaults:{hideLabel:true,anchor:"100%"}};if(this.items[0].items){Ext.apply(M,{layoutConfig:{columns:this.items.length},defaults:this.defaults,items:this.items});for(var E=0,J=this.items.length;E0&&E%O==0){L++}if(this.items[E].fieldLabel){this.items[E].hideLabel=false}K[L].items.push(this.items[E])}}else{for(var E=0,J=this.items.length;E":">"),C,"")}return D.join("")},createToolbar:function(D){var A=Ext.QuickTips&&Ext.QuickTips.isEnabled();function C(G,E,F){return{itemId:G,cls:"x-btn-icon x-edit-"+G,enableToggle:E!==false,scope:D,handler:F||D.relayBtnCmd,clickEvent:"mousedown",tooltip:A?D.buttonTips[G]||undefined:undefined,tabIndex:-1}}var B=new Ext.Toolbar({renderTo:this.wrap.dom.firstChild});B.el.on("click",function(E){E.preventDefault()});if(this.enableFont&&!Ext.isSafari2){this.fontSelect=B.el.createChild({tag:"select",cls:"x-font-select",html:this.createFontOptions()});this.fontSelect.on("change",function(){var E=this.fontSelect.dom.value;this.relayCmd("fontname",E);this.deferFocus()},this);B.add(this.fontSelect.dom,"-")}if(this.enableFormat){B.add(C("bold"),C("italic"),C("underline"))}if(this.enableFontSize){B.add("-",C("increasefontsize",false,this.adjustFont),C("decreasefontsize",false,this.adjustFont))}if(this.enableColors){B.add("-",{itemId:"forecolor",cls:"x-btn-icon x-edit-forecolor",clickEvent:"mousedown",tooltip:A?D.buttonTips["forecolor"]||undefined:undefined,tabIndex:-1,menu:new Ext.menu.ColorMenu({allowReselect:true,focus:Ext.emptyFn,value:"000000",plain:true,selectHandler:function(F,E){this.execCmd("forecolor",Ext.isSafari||Ext.isIE?"#"+E:E);this.deferFocus()},scope:this,clickEvent:"mousedown"})},{itemId:"backcolor",cls:"x-btn-icon x-edit-backcolor",clickEvent:"mousedown",tooltip:A?D.buttonTips["backcolor"]||undefined:undefined,tabIndex:-1,menu:new Ext.menu.ColorMenu({focus:Ext.emptyFn,value:"FFFFFF",plain:true,allowReselect:true,selectHandler:function(F,E){if(Ext.isGecko){this.execCmd("useCSS",false);this.execCmd("hilitecolor",E);this.execCmd("useCSS",true);this.deferFocus()}else{this.execCmd(Ext.isOpera?"hilitecolor":"backcolor",Ext.isSafari||Ext.isIE?"#"+E:E);this.deferFocus()}},scope:this,clickEvent:"mousedown"})})}if(this.enableAlignments){B.add("-",C("justifyleft"),C("justifycenter"),C("justifyright"))}if(!Ext.isSafari2){if(this.enableLinks){B.add("-",C("createlink",false,this.createLink))}if(this.enableLists){B.add("-",C("insertorderedlist"),C("insertunorderedlist"))}if(this.enableSourceEdit){B.add("-",C("sourceedit",true,function(E){this.toggleSourceEdit(E.pressed)}))}}this.tb=B},getDocMarkup:function(){return""},getEditorBody:function(){return this.doc.body||this.doc.documentElement},getDoc:function(){return Ext.isIE?this.getWin().document:(this.iframe.contentDocument||this.getWin().document)},getWin:function(){return Ext.isIE?this.iframe.contentWindow:window.frames[this.iframe.name]},onRender:function(B,A){Ext.form.HtmlEditor.superclass.onRender.call(this,B,A);this.el.dom.style.border="0 none";this.el.dom.setAttribute("tabIndex",-1);this.el.addClass("x-hidden");if(Ext.isIE){this.el.applyStyles("margin-top:-1px;margin-bottom:-1px;")}this.wrap=this.el.wrap({cls:"x-html-editor-wrap",cn:{cls:"x-html-editor-tb"}});this.createToolbar(this);this.tb.items.each(function(E){if(E.itemId!="sourceedit"){E.disable()}});var C=document.createElement("iframe");C.name=Ext.id();C.frameBorder="0";C.src=Ext.isIE?Ext.SSL_SECURE_URL:"javascript:;";this.wrap.dom.appendChild(C);this.iframe=C;this.initFrame();if(this.autoMonitorDesignMode!==false){this.monitorTask=Ext.TaskMgr.start({run:this.checkDesignMode,scope:this,interval:100})}if(!this.width){var D=this.el.getSize();this.setSize(D.width,this.height||D.height)}},initFrame:function(){this.doc=this.getDoc();this.win=this.getWin();this.doc.open();this.doc.write(this.getDocMarkup());this.doc.close();var A={run:function(){if(this.doc.body||this.doc.readyState=="complete"){Ext.TaskMgr.stop(A);this.doc.designMode="on";this.initEditor.defer(10,this)}},interval:10,duration:10000,scope:this};Ext.TaskMgr.start(A)},checkDesignMode:function(){if(this.wrap&&this.wrap.dom.offsetWidth){var A=this.getDoc();if(!A){return }if(!A.editorInitialized||String(A.designMode).toLowerCase()!="on"){this.initFrame()}}},onResize:function(B,C){Ext.form.HtmlEditor.superclass.onResize.apply(this,arguments);if(this.el&&this.iframe){if(typeof B=="number"){var D=B-this.wrap.getFrameWidth("lr");this.el.setWidth(this.adjustWidth("textarea",D));this.iframe.style.width=D+"px"}if(typeof C=="number"){var A=C-this.wrap.getFrameWidth("tb")-this.tb.el.getHeight();this.el.setHeight(this.adjustWidth("textarea",A));this.iframe.style.height=A+"px";if(this.doc){this.getEditorBody().style.height=(A-(this.iframePad*2))+"px"}}}},toggleSourceEdit:function(A){if(A===undefined){A=!this.sourceEditMode}this.sourceEditMode=A===true;var C=this.tb.items.get("sourceedit");if(C.pressed!==this.sourceEditMode){C.toggle(this.sourceEditMode);return }if(this.sourceEditMode){this.tb.items.each(function(D){if(D.itemId!="sourceedit"){D.disable()}});this.syncValue();this.iframe.className="x-hidden";this.el.removeClass("x-hidden");this.el.dom.removeAttribute("tabIndex");this.el.focus()}else{if(this.initialized){this.tb.items.each(function(D){D.enable()})}this.pushValue();this.iframe.className="";this.el.addClass("x-hidden");this.el.dom.setAttribute("tabIndex",-1);this.deferFocus()}var B=this.lastSize;if(B){delete this.lastSize;this.setSize(B)}this.fireEvent("editmodechange",this,this.sourceEditMode)},createLink:function(){var A=prompt(this.createLinkText,this.defaultLinkValue);if(A&&A!="http:/"+"/"){this.relayCmd("createlink",A)}},adjustSize:Ext.BoxComponent.prototype.adjustSize,getResizeEl:function(){return this.wrap},getPositionEl:function(){return this.wrap},initEvents:function(){this.originalValue=this.getValue()},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn,setValue:function(A){Ext.form.HtmlEditor.superclass.setValue.call(this,A);this.pushValue()},cleanHtml:function(A){A=String(A);if(A.length>5){if(Ext.isSafari){A=A.replace(/\sclass="(?:Apple-style-span|khtml-block-placeholder)"/gi,"")}}if(A==" "){A=""}return A},syncValue:function(){if(this.initialized){var D=this.getEditorBody();var C=D.innerHTML;if(Ext.isSafari){var B=D.getAttribute("style");var A=B.match(/text-align:(.*?);/i);if(A&&A[1]){C="
    "+C+"
    "}}C=this.cleanHtml(C);if(this.fireEvent("beforesync",this,C)!==false){this.el.dom.value=C;this.fireEvent("sync",this,C)}}},pushValue:function(){if(this.initialized){var A=this.el.dom.value;if(!this.activated&&A.length<1){A=" "}if(this.fireEvent("beforepush",this,A)!==false){this.getEditorBody().innerHTML=A;this.fireEvent("push",this,A)}}},deferFocus:function(){this.focus.defer(10,this)},focus:function(){if(this.win&&!this.sourceEditMode){this.win.focus()}else{this.el.focus()}},initEditor:function(){var B=this.getEditorBody();var A=this.el.getStyles("font-size","font-family","background-image","background-repeat");A["background-attachment"]="fixed";B.bgProperties="fixed";Ext.DomHelper.applyStyles(B,A);if(this.doc){try{Ext.EventManager.removeAll(this.doc)}catch(C){}}this.doc=this.getDoc();Ext.EventManager.on(this.doc,{"mousedown":this.onEditorEvent,"dblclick":this.onEditorEvent,"click":this.onEditorEvent,"keyup":this.onEditorEvent,buffer:100,scope:this});if(Ext.isGecko){Ext.EventManager.on(this.doc,"keypress",this.applyCommand,this)}if(Ext.isIE||Ext.isSafari||Ext.isOpera){Ext.EventManager.on(this.doc,"keydown",this.fixKeys,this)}this.initialized=true;this.fireEvent("initialize",this);this.doc.editorInitialized=true;this.pushValue()},onDestroy:function(){if(this.monitorTask){Ext.TaskMgr.stop(this.monitorTask)}if(this.rendered){this.tb.items.each(function(A){if(A.menu){A.menu.removeAll();if(A.menu.el){A.menu.el.destroy()}}A.destroy()});this.wrap.dom.innerHTML="";this.wrap.remove()}},onFirstFocus:function(){this.activated=true;this.tb.items.each(function(D){D.enable()});if(Ext.isGecko){this.win.focus();var A=this.win.getSelection();if(!A.focusNode||A.focusNode.nodeType!=3){var B=A.getRangeAt(0);B.selectNodeContents(this.getEditorBody());B.collapse(true);this.deferFocus()}try{this.execCmd("useCSS",true);this.execCmd("styleWithCSS",false)}catch(C){}}this.fireEvent("activate",this)},adjustFont:function(B){var C=B.itemId=="increasefontsize"?1:-1;var A=parseInt(this.doc.queryCommandValue("FontSize")||2,10);if(Ext.isSafari3||Ext.isAir){if(A<=10){A=1+C}else{if(A<=13){A=2+C}else{if(A<=16){A=3+C}else{if(A<=18){A=4+C}else{if(A<=24){A=5+C}else{A=6+C}}}}}A=A.constrain(1,6)}else{if(Ext.isSafari){C*=2}A=Math.max(1,A+C)+(Ext.isSafari?"px":0)}this.execCmd("FontSize",A)},onEditorEvent:function(A){this.updateToolbar()},updateToolbar:function(){if(!this.activated){this.onFirstFocus();return }var B=this.tb.items.map,C=this.doc;if(this.enableFont&&!Ext.isSafari2){var A=(this.doc.queryCommandValue("FontName")||this.defaultFont).toLowerCase();if(A!=this.fontSelect.dom.value){this.fontSelect.dom.value=A}}if(this.enableFormat){B.bold.toggle(C.queryCommandState("bold"));B.italic.toggle(C.queryCommandState("italic"));B.underline.toggle(C.queryCommandState("underline"))}if(this.enableAlignments){B.justifyleft.toggle(C.queryCommandState("justifyleft"));B.justifycenter.toggle(C.queryCommandState("justifycenter"));B.justifyright.toggle(C.queryCommandState("justifyright"))}if(!Ext.isSafari2&&this.enableLists){B.insertorderedlist.toggle(C.queryCommandState("insertorderedlist"));B.insertunorderedlist.toggle(C.queryCommandState("insertunorderedlist"))}Ext.menu.MenuMgr.hideAll();this.syncValue()},relayBtnCmd:function(A){this.relayCmd(A.itemId)},relayCmd:function(B,A){(function(){this.focus();this.execCmd(B,A);this.updateToolbar()}).defer(10,this)},execCmd:function(B,A){this.doc.execCommand(B,false,A===undefined?null:A);this.syncValue()},applyCommand:function(B){if(B.ctrlKey){var C=B.getCharCode(),A;if(C>0){C=String.fromCharCode(C);switch(C){case"b":A="bold";break;case"i":A="italic";break;case"u":A="underline";break}if(A){this.win.focus();this.execCmd(A);this.deferFocus();B.preventDefault()}}}},insertAtCursor:function(B){if(!this.activated){return }if(Ext.isIE){this.win.focus();var A=this.doc.selection.createRange();if(A){A.collapse(true);A.pasteHTML(B);this.syncValue();this.deferFocus()}}else{if(Ext.isGecko||Ext.isOpera){this.win.focus();this.execCmd("InsertHTML",B);this.deferFocus()}else{if(Ext.isSafari){this.execCmd("InsertText",B);this.deferFocus()}}}},fixKeys:function(){if(Ext.isIE){return function(D){var A=D.getKey(),B;if(A==D.TAB){D.stopEvent();B=this.doc.selection.createRange();if(B){B.collapse(true);B.pasteHTML("    ");this.deferFocus()}}else{if(A==D.ENTER){B=this.doc.selection.createRange();if(B){var C=B.parentElement();if(!C||C.tagName.toLowerCase()!="li"){D.stopEvent();B.pasteHTML("
    ");B.collapse(false);B.select()}}}}}}else{if(Ext.isOpera){return function(B){var A=B.getKey();if(A==B.TAB){B.stopEvent();this.win.focus();this.execCmd("InsertHTML","    ");this.deferFocus()}}}else{if(Ext.isSafari){return function(B){var A=B.getKey();if(A==B.TAB){B.stopEvent();this.execCmd("InsertText","\t");this.deferFocus()}}}}}}(),getToolbar:function(){return this.tb},buttonTips:{bold:{title:"Bold (Ctrl+B)",text:"Make the selected text bold.",cls:"x-html-editor-tip"},italic:{title:"Italic (Ctrl+I)",text:"Make the selected text italic.",cls:"x-html-editor-tip"},underline:{title:"Underline (Ctrl+U)",text:"Underline the selected text.",cls:"x-html-editor-tip"},increasefontsize:{title:"Grow Text",text:"Increase the font size.",cls:"x-html-editor-tip"},decreasefontsize:{title:"Shrink Text",text:"Decrease the font size.",cls:"x-html-editor-tip"},backcolor:{title:"Text Highlight Color",text:"Change the background color of the selected text.",cls:"x-html-editor-tip"},forecolor:{title:"Font Color",text:"Change the color of the selected text.",cls:"x-html-editor-tip"},justifyleft:{title:"Align Text Left",text:"Align text to the left.",cls:"x-html-editor-tip"},justifycenter:{title:"Center Text",text:"Center text in the editor.",cls:"x-html-editor-tip"},justifyright:{title:"Align Text Right",text:"Align text to the right.",cls:"x-html-editor-tip"},insertunorderedlist:{title:"Bullet List",text:"Start a bulleted list.",cls:"x-html-editor-tip"},insertorderedlist:{title:"Numbered List",text:"Start a numbered list.",cls:"x-html-editor-tip"},createlink:{title:"Hyperlink",text:"Make the selected text a hyperlink.",cls:"x-html-editor-tip"},sourceedit:{title:"Source Edit",text:"Switch to source editing mode.",cls:"x-html-editor-tip"}}});Ext.reg("htmleditor",Ext.form.HtmlEditor); +Ext.form.TimeField=Ext.extend(Ext.form.ComboBox,{minValue:null,maxValue:null,minText:"The time in this field must be equal to or after {0}",maxText:"The time in this field must be equal to or before {0}",invalidText:"{0} is not a valid time",format:"g:i A",altFormats:"g:ia|g:iA|g:i a|g:i A|h:i|g:i|H:i|ga|ha|gA|h a|g a|g A|gi|hi|gia|hia|g|H",increment:15,mode:"local",triggerAction:"all",typeAhead:false,initDate:"1/1/2008",initComponent:function(){Ext.form.TimeField.superclass.initComponent.call(this);if(typeof this.minValue=="string"){this.minValue=this.parseDate(this.minValue)}if(typeof this.maxValue=="string"){this.maxValue=this.parseDate(this.maxValue)}if(!this.store){var B=this.parseDate(this.minValue);if(!B){B=new Date(this.initDate).clearTime()}var A=this.parseDate(this.maxValue);if(!A){A=new Date(this.initDate).clearTime().add("mi",(24*60)-1)}var C=[];while(B<=A){C.push([B.dateFormat(this.format)]);B=B.add("mi",this.increment)}this.store=new Ext.data.SimpleStore({fields:["text"],data:C});this.displayField="text"}},getValue:function(){var A=Ext.form.TimeField.superclass.getValue.call(this);return this.formatDate(this.parseDate(A))||""},setValue:function(A){Ext.form.TimeField.superclass.setValue.call(this,this.formatDate(this.parseDate(A)))},validateValue:Ext.form.DateField.prototype.validateValue,parseDate:Ext.form.DateField.prototype.parseDate,formatDate:Ext.form.DateField.prototype.formatDate,beforeBlur:function(){var A=this.parseDate(this.getRawValue());if(A){this.setValue(A.dateFormat(this.format))}}});Ext.reg("timefield",Ext.form.TimeField); +Ext.form.Label=Ext.extend(Ext.BoxComponent,{onRender:function(B,A){if(!this.el){this.el=document.createElement("label");this.el.id=this.getId();this.el.innerHTML=this.text?Ext.util.Format.htmlEncode(this.text):(this.html||"");if(this.forId){this.el.setAttribute("htmlFor",this.forId)}}Ext.form.Label.superclass.onRender.call(this,B,A)},setText:function(A,B){this.text=A;if(this.rendered){this.el.dom.innerHTML=B!==false?Ext.util.Format.htmlEncode(A):A}return this}});Ext.reg("label",Ext.form.Label); +Ext.form.Action=function(B,A){this.form=B;this.options=A||{}};Ext.form.Action.CLIENT_INVALID="client";Ext.form.Action.SERVER_INVALID="server";Ext.form.Action.CONNECT_FAILURE="connect";Ext.form.Action.LOAD_FAILURE="load";Ext.form.Action.prototype={type:"default",run:function(A){},success:function(A){},handleResponse:function(A){},failure:function(A){this.response=A;this.failureType=Ext.form.Action.CONNECT_FAILURE;this.form.afterAction(this,false)},processResponse:function(A){this.response=A;if(!A.responseText){return true}this.result=this.handleResponse(A);return this.result},getUrl:function(C){var A=this.options.url||this.form.url||this.form.el.dom.action;if(C){var B=this.getParams();if(B){A+=(A.indexOf("?")!=-1?"&":"?")+B}}return A},getMethod:function(){return(this.options.method||this.form.method||this.form.el.dom.method||"POST").toUpperCase()},getParams:function(){var A=this.form.baseParams;var B=this.options.params;if(B){if(typeof B=="object"){B=Ext.urlEncode(Ext.applyIf(B,A))}else{if(typeof B=="string"&&A){B+="&"+Ext.urlEncode(A)}}}else{if(A){B=Ext.urlEncode(A)}}return B},createCallback:function(A){var A=A||{};return{success:this.success,failure:this.failure,scope:this,timeout:(A.timeout*1000)||(this.form.timeout*1000),upload:this.form.fileUpload?this.success:undefined}}};Ext.form.Action.Submit=function(B,A){Ext.form.Action.Submit.superclass.constructor.call(this,B,A)};Ext.extend(Ext.form.Action.Submit,Ext.form.Action,{type:"submit",run:function(){var B=this.options;var C=this.getMethod();var A=C=="GET";if(B.clientValidation===false||this.form.isValid()){Ext.Ajax.request(Ext.apply(this.createCallback(B),{form:this.form.el.dom,url:this.getUrl(A),method:C,headers:B.headers,params:!A?this.getParams():null,isUpload:this.form.fileUpload}))}else{if(B.clientValidation!==false){this.failureType=Ext.form.Action.CLIENT_INVALID;this.form.afterAction(this,false)}}},success:function(B){var A=this.processResponse(B);if(A===true||A.success){this.form.afterAction(this,true);return }if(A.errors){this.form.markInvalid(A.errors);this.failureType=Ext.form.Action.SERVER_INVALID}this.form.afterAction(this,false)},handleResponse:function(C){if(this.form.errorReader){var B=this.form.errorReader.read(C);var F=[];if(B.records){for(var D=0,A=B.records.length;D=0){if(!D){C=F-1}D=false;while(C>=0){if(E.call(I||this,J,C,H)===true){return[J,C]}C--}J--}}else{if(C>=F){J++;D=false}while(J","
    ","
    {header}
    ","
    {body}
    ","
    ","
     
    ","
     
    ","")}if(!C.header){C.header=new Ext.Template("","{cells}","
    ")}if(!C.hcell){C.hcell=new Ext.Template("
    ",this.grid.enableHdMenu?"":"","{value}","
    ")}if(!C.body){C.body=new Ext.Template("{rows}")}if(!C.row){C.row=new Ext.Template("
    ","{cells}",(this.enableRowBody?"":""),"
    {body}
    ")}if(!C.cell){C.cell=new Ext.Template("","
    {value}
    ","")}for(var A in C){var B=C[A];if(B&&typeof B.compile=="function"&&!B.compiled){B.disableFormats=true;B.compile()}}this.templates=C;this.colRe=new RegExp("x-grid3-td-([^\\s]+)","")},fly:function(A){if(!this._flyweight){this._flyweight=new Ext.Element.Flyweight(document.body)}this._flyweight.dom=A;return this._flyweight},getEditorParent:function(A){return this.scroller.dom},initElements:function(){var C=Ext.Element;var B=this.grid.getGridEl().dom.firstChild;var A=B.childNodes;this.el=new C(B);this.mainWrap=new C(A[0]);this.mainHd=new C(this.mainWrap.dom.firstChild);if(this.grid.hideHeaders){this.mainHd.setDisplayed(false)}this.innerHd=this.mainHd.dom.firstChild;this.scroller=new C(this.mainWrap.dom.childNodes[1]);if(this.forceFit){this.scroller.setStyle("overflow-x","hidden")}this.mainBody=new C(this.scroller.dom.firstChild);this.focusEl=new C(this.scroller.dom.childNodes[1]);this.focusEl.swallowEvent("click",true);this.resizeMarker=new C(A[1]);this.resizeProxy=new C(A[2])},getRows:function(){return this.hasRows()?this.mainBody.dom.childNodes:[]},findCell:function(A){if(!A){return false}return this.fly(A).findParent(this.cellSelector,this.cellSelectorDepth)},findCellIndex:function(C,B){var A=this.findCell(C);if(A&&(!B||this.fly(A).hasClass(B))){return this.getCellIndex(A)}return false},getCellIndex:function(B){if(B){var A=B.className.match(this.colRe);if(A&&A[1]){return this.cm.getIndexById(A[1])}}return false},findHeaderCell:function(B){var A=this.findCell(B);return A&&this.fly(A).hasClass(this.hdCls)?A:null},findHeaderIndex:function(A){return this.findCellIndex(A,this.hdCls)},findRow:function(A){if(!A){return false}return this.fly(A).findParent(this.rowSelector,this.rowSelectorDepth)},findRowIndex:function(A){var B=this.findRow(A);return B?B.rowIndex:false},getRow:function(A){return this.getRows()[A]},getCell:function(B,A){return this.getRow(B).getElementsByTagName("td")[A]},getHeaderCell:function(A){return this.mainHd.dom.getElementsByTagName("td")[A]},addRowClass:function(C,A){var B=this.getRow(C);if(B){this.fly(B).addClass(A)}},removeRowClass:function(C,A){var B=this.getRow(C);if(B){this.fly(B).removeClass(A)}},removeRow:function(A){Ext.removeNode(this.getRow(A));this.focusRow(A)},removeRows:function(C,A){var B=this.mainBody.dom;for(var D=C;D<=A;D++){Ext.removeNode(B.childNodes[C])}this.focusRow(C)},getScrollState:function(){var A=this.scroller.dom;return{left:A.scrollLeft,top:A.scrollTop}},restoreScroll:function(A){var B=this.scroller.dom;B.scrollLeft=A.left;B.scrollTop=A.top},scrollToTop:function(){this.scroller.dom.scrollTop=0;this.scroller.dom.scrollLeft=0},syncScroll:function(){this.syncHeaderScroll();var A=this.scroller.dom;this.grid.fireEvent("bodyscroll",A.scrollLeft,A.scrollTop)},syncHeaderScroll:function(){var A=this.scroller.dom;this.innerHd.scrollLeft=A.scrollLeft;this.innerHd.scrollLeft=A.scrollLeft},updateSortIcon:function(B,A){var D=this.sortClasses;var C=this.mainHd.select("td").removeClass(D);C.item(B).addClass(D[A=="DESC"?1:0])},updateAllColumnWidths:function(){var D=this.getTotalWidth();var H=this.cm.getColumnCount();var F=[];for(var B=0;B=this.ds.getCount()){return }E=(E!==undefined?E:0);var I=this.getRow(P),F;if(!(D===false&&E===0)){while(this.cm.isHidden(E)){E++}F=this.getCell(P,E)}if(!I){return }var L=this.scroller.dom;var O=0;var C=I,M=this.el.dom;while(C&&C!=M){O+=C.offsetTop;C=C.offsetParent}O-=this.mainHd.dom.offsetHeight;var N=O+I.offsetHeight;var A=L.clientHeight;var M=parseInt(L.scrollTop,10);var K=M+A;if(OK){L.scrollTop=N-A}}if(D!==false){var J=parseInt(F.offsetLeft,10);var H=J+F.offsetWidth;var G=parseInt(L.scrollLeft,10);var B=G+L.clientWidth;if(JB){L.scrollLeft=H-L.clientWidth}}}return F?Ext.fly(F).getXY():[L.scrollLeft+this.el.getX(),Ext.fly(I).getY()]},insertRows:function(A,F,C,E){if(!E&&F===0&&C>=A.getCount()-1){this.refresh()}else{if(!E){this.fireEvent("beforerowsinserted",this,F,C)}var B=this.renderRows(F,C);var D=this.getRow(F);if(D){Ext.DomHelper.insertHtml("beforeBegin",D,B)}else{Ext.DomHelper.insertHtml("beforeEnd",this.mainBody.dom,B)}if(!E){this.fireEvent("rowsinserted",this,F,C);this.processRows(F)}}this.focusRow(F)},deleteRows:function(A,C,B){if(A.getRowCount()<1){this.refresh()}else{this.fireEvent("beforerowsdeleted",this,C,B);this.removeRows(C,B);this.processRows(C);this.fireEvent("rowsdeleted",this,C,B)}},getColumnStyle:function(A,C){var B=!C?(this.cm.config[A].css||""):"";B+="width:"+this.getColumnWidth(A)+";";if(this.cm.isHidden(A)){B+="display:none;"}var D=this.cm.config[A].align;if(D){B+="text-align:"+D+";"}return B},getColumnWidth:function(B){var A=this.cm.getColumnWidth(B);if(typeof A=="number"){return(Ext.isBorderBox?A:(A-this.borderWidth>0?A-this.borderWidth:0))+"px"}return A},getTotalWidth:function(){return this.cm.getTotalWidth()+"px"},fitColumns:function(D,G,E){var F=this.cm,S,L,O;var R=F.getTotalWidth(false);var J=this.grid.getGridEl().getWidth(true)-this.scrollOffset;if(J<20){return }var B=J-R;if(B===0){return false}var A=F.getColumnCount(true);var P=A-(typeof E=="number"?1:0);if(P===0){P=1;E=undefined}var K=F.getColumnCount();var I=[];var N=0;var M=0;var H;for(O=0;OJ){var Q=P!=A?E:N;F.setColumnWidth(Q,Math.max(1,F.getColumnWidth(Q)-(R-J)),true)}if(D!==true){this.updateAllColumnWidths()}return true},autoExpand:function(B){var G=this.grid,A=this.cm;if(!this.userResized&&G.autoExpandColumn){var D=A.getTotalWidth(false);var H=this.grid.getGridEl().getWidth(true)-this.scrollOffset;if(D!=H){var F=A.getIndexById(G.autoExpandColumn);var E=A.getColumnWidth(F);var C=Math.min(Math.max(((H-D)+E),G.autoExpandMin),G.autoExpandMax);if(C!=E){A.setColumnWidth(F,C,true);if(B!==true){this.updateColumnWidth(F,C)}}}}},getColumnData:function(){var D=[],A=this.cm,E=A.getColumnCount();for(var C=0;C"+this.emptyText+"")}},updateHeaderSortState:function(){var B=this.ds.getSortState();if(!B){return }if(!this.sortState||(this.sortState.field!=B.field||this.sortState.direction!=B.direction)){this.grid.fireEvent("sortchange",this.grid,B)}this.sortState=B;var C=this.cm.findColumnIndex(B.field);if(C!=-1){var A=B.direction;this.updateSortIcon(C,A)}},destroy:function(){if(this.colMenu){this.colMenu.removeAll();Ext.menu.MenuMgr.unregister(this.colMenu);this.colMenu.getEl().remove();delete this.colMenu}if(this.hmenu){this.hmenu.removeAll();Ext.menu.MenuMgr.unregister(this.hmenu);this.hmenu.getEl().remove();delete this.hmenu}if(this.grid.enableColumnMove){var C=Ext.dd.DDM.ids["gridHeader"+this.grid.getGridEl().id];if(C){for(var A in C){if(!C[A].config.isTarget&&C[A].dragElId){var B=C[A].dragElId;C[A].unreg();Ext.get(B).remove()}else{if(C[A].config.isTarget){C[A].proxyTop.remove();C[A].proxyBottom.remove();C[A].unreg()}}if(Ext.dd.DDM.locationCache[A]){delete Ext.dd.DDM.locationCache[A]}}delete Ext.dd.DDM.ids["gridHeader"+this.grid.getGridEl().id]}}Ext.destroy(this.resizeMarker,this.resizeProxy);if(this.dragZone){this.dragZone.unreg()}this.initData(null,null);Ext.EventManager.removeResizeListener(this.onWindowResize,this)},onDenyColumnHide:function(){},render:function(){if(this.autoFill){this.fitColumns(true,true)}else{if(this.forceFit){this.fitColumns(true,false)}else{if(this.grid.autoExpandColumn){this.autoExpand(true)}}}this.renderUI()},initData:function(B,A){if(this.ds){this.ds.un("load",this.onLoad,this);this.ds.un("datachanged",this.onDataChange,this);this.ds.un("add",this.onAdd,this);this.ds.un("remove",this.onRemove,this);this.ds.un("update",this.onUpdate,this);this.ds.un("clear",this.onClear,this)}if(B){B.on("load",this.onLoad,this);B.on("datachanged",this.onDataChange,this);B.on("add",this.onAdd,this);B.on("remove",this.onRemove,this);B.on("update",this.onUpdate,this);B.on("clear",this.onClear,this)}this.ds=B;if(this.cm){this.cm.un("configchange",this.onColConfigChange,this);this.cm.un("widthchange",this.onColWidthChange,this);this.cm.un("headerchange",this.onHeaderChange,this);this.cm.un("hiddenchange",this.onHiddenChange,this);this.cm.un("columnmoved",this.onColumnMove,this);this.cm.un("columnlockchange",this.onColumnLock,this)}if(A){delete this.lastViewWidth;A.on("configchange",this.onColConfigChange,this);A.on("widthchange",this.onColWidthChange,this);A.on("headerchange",this.onHeaderChange,this);A.on("hiddenchange",this.onHiddenChange,this);A.on("columnmoved",this.onColumnMove,this);A.on("columnlockchange",this.onColumnLock,this)}this.cm=A},onDataChange:function(){this.refresh();this.updateHeaderSortState()},onClear:function(){this.refresh()},onUpdate:function(B,A){this.refreshRow(A)},onAdd:function(C,A,B){this.insertRows(C,B,B+(A.length-1))},onRemove:function(D,A,B,C){if(C!==true){this.fireEvent("beforerowremoved",this,B,A)}this.removeRow(B);if(C!==true){this.processRows(B);this.applyEmptyText();this.fireEvent("rowremoved",this,B,A)}},onLoad:function(){this.scrollToTop()},onColWidthChange:function(A,B,C){this.updateColumnWidth(B,C)},onHeaderChange:function(A,B,C){this.updateHeaders()},onHiddenChange:function(A,B,C){this.updateColumnHidden(B,C)},onColumnMove:function(A,D,B){this.indexMap=null;var C=this.getScrollState();this.refresh(true);this.restoreScroll(C);this.afterMove(B)},onColConfigChange:function(){delete this.lastViewWidth;this.indexMap=null;this.refresh(true)},initUI:function(A){A.on("headerclick",this.onHeaderClick,this);if(A.trackMouseOver){A.on("mouseover",this.onRowOver,this);A.on("mouseout",this.onRowOut,this)}},initEvents:function(){},onHeaderClick:function(B,A){if(this.headersDisabled||!this.cm.isSortable(A)){return }B.stopEditing(true);B.store.sort(this.cm.getDataIndex(A))},onRowOver:function(B,A){var C;if((C=this.findRowIndex(A))!==false){this.addRowClass(C,"x-grid3-row-over")}},onRowOut:function(B,A){var C;if((C=this.findRowIndex(A))!==false&&C!==this.findRowIndex(B.getRelatedTarget())){this.removeRowClass(C,"x-grid3-row-over")}},handleWheel:function(A){A.stopPropagation()},onRowSelect:function(A){this.addRowClass(A,"x-grid3-row-selected")},onRowDeselect:function(A){this.removeRowClass(A,"x-grid3-row-selected")},onCellSelect:function(C,B){var A=this.getCell(C,B);if(A){this.fly(A).addClass("x-grid3-cell-selected")}},onCellDeselect:function(C,B){var A=this.getCell(C,B);if(A){this.fly(A).removeClass("x-grid3-cell-selected")}},onColumnSplitterMoved:function(C,B){this.userResized=true;var A=this.grid.colModel;A.setColumnWidth(C,B,true);if(this.forceFit){this.fitColumns(true,false,C);this.updateAllColumnWidths()}else{this.updateColumnWidth(C,B)}this.grid.fireEvent("columnresize",C,B)},handleHdMenuClick:function(C){var B=this.hdCtxIndex;var A=this.cm,D=this.ds;switch(C.id){case"asc":D.sort(A.getDataIndex(B),"ASC");break;case"desc":D.sort(A.getDataIndex(B),"DESC");break;default:B=A.getIndexById(C.id.substr(4));if(B!=-1){if(C.checked&&A.getColumnsBy(this.isHideableColumn,this).length<=1){this.onDenyColumnHide();return false}A.setHidden(B,C.checked)}}return true},isHideableColumn:function(A){return !A.hidden&&!A.fixed},beforeColMenuShow:function(){var A=this.cm,C=A.getColumnCount();this.colMenu.removeAll();for(var B=0;B","
    ",this.groupTextTpl,"
    ","
    ")}this.startGroup.compile();this.endGroup="
    "},findGroup:function(A){return Ext.fly(A).up(".x-grid-group",this.mainBody.dom)},getGroups:function(){return this.hasRows()?this.mainBody.dom.childNodes:[]},onAdd:function(){if(this.enableGrouping&&!this.ignoreAdd){var A=this.getScrollState();this.refresh();this.restoreScroll(A)}else{if(!this.enableGrouping){Ext.grid.GroupingView.superclass.onAdd.apply(this,arguments)}}},onRemove:function(E,A,B,D){Ext.grid.GroupingView.superclass.onRemove.apply(this,arguments);var C=document.getElementById(A._groupId);if(C&&C.childNodes[1].childNodes.length<1){Ext.removeNode(C)}this.applyEmptyText()},refreshRow:function(A){if(this.ds.getCount()==1){this.refresh()}else{this.isUpdating=true;Ext.grid.GroupingView.superclass.refreshRow.apply(this,arguments);this.isUpdating=false}},beforeMenuShow:function(){var C=this.getGroupField();var B=this.hmenu.items.get("groupBy");if(B){B.setDisabled(this.cm.config[this.hdCtxIndex].groupable===false)}var A=this.hmenu.items.get("showGroups");if(A){A.setDisabled(!C&&this.cm.config[this.hdCtxIndex].groupable===false);A.setChecked(!!C,true)}},renderUI:function(){Ext.grid.GroupingView.superclass.renderUI.call(this);this.mainBody.on("mousedown",this.interceptMouse,this);if(this.enableGroupingMenu&&this.hmenu){this.hmenu.add("-",{id:"groupBy",text:this.groupByText,handler:this.onGroupByClick,scope:this,iconCls:"x-group-by-icon"});if(this.enableNoGroups){this.hmenu.add({id:"showGroups",text:this.showGroupsText,checked:true,checkHandler:this.onShowGroupsClick,scope:this})}this.hmenu.on("beforeshow",this.beforeMenuShow,this)}},onGroupByClick:function(){this.grid.store.groupBy(this.cm.getDataIndex(this.hdCtxIndex));this.beforeMenuShow()},onShowGroupsClick:function(A,B){if(B){this.onGroupByClick()}else{this.grid.store.clearGrouping()}},toggleGroup:function(C,B){this.grid.stopEditing(true);C=Ext.getDom(C);var A=Ext.fly(C);B=B!==undefined?B:A.hasClass("x-grid-group-collapsed");this.state[A.dom.id]=B;A[B?"removeClass":"addClass"]("x-grid-group-collapsed")},toggleAllGroups:function(C){var B=this.getGroups();for(var D=0,A=B.length;D=0&&this.config[A].resizable!==false&&this.config[A].fixed!==true},setHidden:function(A,B){var C=this.config[A];if(C.hidden!==B){C.hidden=B;this.totalWidth=null;this.fireEvent("hiddenchange",this,A,B)}},setEditor:function(A,B){this.config[A].editor=B}});Ext.grid.ColumnModel.defaultRenderer=function(A){if(typeof A=="string"&&A.length<1){return" "}return A};Ext.grid.DefaultColumnModel=Ext.grid.ColumnModel; +Ext.grid.AbstractSelectionModel=function(){this.locked=false;Ext.grid.AbstractSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.grid.AbstractSelectionModel,Ext.util.Observable,{init:function(A){this.grid=A;this.initEvents()},lock:function(){this.locked=true},unlock:function(){this.locked=false},isLocked:function(){return this.locked}}); +Ext.grid.RowSelectionModel=function(A){Ext.apply(this,A);this.selections=new Ext.util.MixedCollection(false,function(B){return B.id});this.last=false;this.lastActive=false;this.addEvents("selectionchange","beforerowselect","rowselect","rowdeselect");Ext.grid.RowSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.grid.RowSelectionModel,Ext.grid.AbstractSelectionModel,{singleSelect:false,initEvents:function(){if(!this.grid.enableDragDrop&&!this.grid.enableDrag){this.grid.on("rowmousedown",this.handleMouseDown,this)}else{this.grid.on("rowclick",function(B,D,C){if(C.button===0&&!C.shiftKey&&!C.ctrlKey){this.selectRow(D,false);B.view.focusRow(D)}},this)}this.rowNav=new Ext.KeyNav(this.grid.getGridEl(),{"up":function(C){if(!C.shiftKey){this.selectPrevious(C.shiftKey)}else{if(this.last!==false&&this.lastActive!==false){var B=this.last;this.selectRange(this.last,this.lastActive-1);this.grid.getView().focusRow(this.lastActive);if(B!==false){this.last=B}}else{this.selectFirstRow()}}},"down":function(C){if(!C.shiftKey){this.selectNext(C.shiftKey)}else{if(this.last!==false&&this.lastActive!==false){var B=this.last;this.selectRange(this.last,this.lastActive+1);this.grid.getView().focusRow(this.lastActive);if(B!==false){this.last=B}}else{this.selectFirstRow()}}},scope:this});var A=this.grid.view;A.on("refresh",this.onRefresh,this);A.on("rowupdated",this.onRowUpdated,this);A.on("rowremoved",this.onRemove,this)},onRefresh:function(){var F=this.grid.store,B;var D=this.getSelections();this.clearSelections(true);for(var C=0,A=D.length;C0},isSelected:function(A){var B=typeof A=="number"?this.grid.store.getAt(A):A;return(B&&this.selections.key(B.id)?true:false)},isIdSelected:function(A){return(this.selections.key(A)?true:false)},handleMouseDown:function(D,F,E){if(E.button!==0||this.isLocked()){return }var A=this.grid.getView();if(E.shiftKey&&this.last!==false){var C=this.last;this.selectRange(C,F,E.ctrlKey);this.last=C;A.focusRow(F)}else{var B=this.isSelected(F);if(E.ctrlKey&&B){this.deselectRow(F)}else{if(!B||this.getCount()>1){this.selectRow(F,E.ctrlKey||E.shiftKey);A.focusRow(F)}}}},selectRows:function(C,D){if(!D){this.clearSelections()}for(var B=0,A=C.length;B=A;C--){this.selectRow(C,true)}}},deselectRange:function(C,B,A){if(this.locked){return }for(var D=C;D<=B;D++){this.deselectRow(D,A)}},selectRow:function(B,D,A){if(this.locked||(B<0||B>=this.grid.store.getCount())||this.isSelected(B)){return }var C=this.grid.store.getAt(B);if(C&&this.fireEvent("beforerowselect",this,B,D,C)!==false){if(!D||this.singleSelect){this.clearSelections()}this.selections.add(C);this.last=this.lastActive=B;if(!A){this.grid.getView().onRowSelect(B)}this.fireEvent("rowselect",this,B,C);this.fireEvent("selectionchange",this)}},deselectRow:function(B,A){if(this.locked){return }if(this.last==B){this.last=false}if(this.lastActive==B){this.lastActive=false}var C=this.grid.store.getAt(B);if(C){this.selections.remove(C);if(!A){this.grid.getView().onRowDeselect(B)}this.fireEvent("rowdeselect",this,B,C);this.fireEvent("selectionchange",this)}},restoreLast:function(){if(this._last){this.last=this._last}},acceptsNav:function(C,B,A){return !A.isHidden(B)&&A.isCellEditable(B,C)},onEditorKey:function(F,E){var C=E.getKey(),G,D=this.grid,B=D.activeEditor;var A=E.shiftKey;if(C==E.TAB){E.stopEvent();B.completeEdit();if(A){G=D.walkCells(B.row,B.col-1,-1,this.acceptsNav,this)}else{G=D.walkCells(B.row,B.col+1,1,this.acceptsNav,this)}}else{if(C==E.ENTER){E.stopEvent();B.completeEdit();if(this.moveEditorOnEnter!==false){if(A){G=D.walkCells(B.row-1,B.col,-1,this.acceptsNav,this)}else{G=D.walkCells(B.row+1,B.col,1,this.acceptsNav,this)}}}else{if(C==E.ESC){B.cancelEdit()}}}if(G){D.startEditing(G[0],G[1])}}}); +Ext.grid.CellSelectionModel=function(A){Ext.apply(this,A);this.selection=null;this.addEvents("beforecellselect","cellselect","selectionchange");Ext.grid.CellSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.grid.CellSelectionModel,Ext.grid.AbstractSelectionModel,{initEvents:function(){this.grid.on("cellmousedown",this.handleMouseDown,this);this.grid.getGridEl().on(Ext.isIE||Ext.isSafari3?"keydown":"keypress",this.handleKeyDown,this);var A=this.grid.view;A.on("refresh",this.onViewChange,this);A.on("rowupdated",this.onRowUpdated,this);A.on("beforerowremoved",this.clearSelections,this);A.on("beforerowsinserted",this.clearSelections,this);if(this.grid.isEditor){this.grid.on("beforeedit",this.beforeEdit,this)}},beforeEdit:function(A){this.select(A.row,A.column,false,true,A.record)},onRowUpdated:function(A,B,C){if(this.selection&&this.selection.record==C){A.onCellSelect(B,this.selection.cell[1])}},onViewChange:function(){this.clearSelections(true)},getSelectedCell:function(){return this.selection?this.selection.cell:null},clearSelections:function(B){var A=this.selection;if(A){if(B!==true){this.grid.view.onCellDeselect(A.cell[0],A.cell[1])}this.selection=null;this.fireEvent("selectionchange",this,null)}},hasSelection:function(){return this.selection?true:false},handleMouseDown:function(B,D,A,C){if(C.button!==0||this.isLocked()){return }this.select(D,A)},select:function(F,C,B,E,D){if(this.fireEvent("beforecellselect",this,F,C)!==false){this.clearSelections();D=D||this.grid.store.getAt(F);this.selection={record:D,cell:[F,C]};if(!B){var A=this.grid.getView();A.onCellSelect(F,C);if(E!==true){A.focusCell(F,C)}}this.fireEvent("cellselect",this,F,C);this.fireEvent("selectionchange",this,this.selection)}},isSelectable:function(C,B,A){return !A.isHidden(B)},handleKeyDown:function(F){if(!F.isNavKeyPress()){return }var E=this.grid,J=this.selection;if(!J){F.stopEvent();var I=E.walkCells(0,0,1,this.isSelectable,this);if(I){this.select(I[0],I[1])}return }var B=this;var H=function(M,K,L){return E.walkCells(M,K,L,B.isSelectable,B)};var C=F.getKey(),A=J.cell[0],G=J.cell[1];var D;switch(C){case F.TAB:if(F.shiftKey){D=H(A,G-1,-1)}else{D=H(A,G+1,1)}break;case F.DOWN:D=H(A+1,G,1);break;case F.UP:D=H(A-1,G,-1);break;case F.RIGHT:D=H(A,G+1,1);break;case F.LEFT:D=H(A,G-1,-1);break;case F.ENTER:if(E.isEditor&&!E.editing){E.startEditing(A,G);F.stopEvent();return }break}if(D){this.select(D[0],D[1]);F.stopEvent()}},acceptsNav:function(C,B,A){return !A.isHidden(B)&&A.isCellEditable(B,C)},onEditorKey:function(E,D){var B=D.getKey(),F,C=this.grid,A=C.activeEditor;if(B==D.TAB){if(D.shiftKey){F=C.walkCells(A.row,A.col-1,-1,this.acceptsNav,this)}else{F=C.walkCells(A.row,A.col+1,1,this.acceptsNav,this)}D.stopEvent()}else{if(B==D.ENTER){A.completeEdit();D.stopEvent()}else{if(B==D.ESC){D.stopEvent();A.cancelEdit()}}}if(F){C.startEditing(F[0],F[1])}}}); +Ext.grid.EditorGridPanel=Ext.extend(Ext.grid.GridPanel,{clicksToEdit:2,isEditor:true,detectEdit:false,autoEncode:false,trackMouseOver:false,initComponent:function(){Ext.grid.EditorGridPanel.superclass.initComponent.call(this);if(!this.selModel){this.selModel=new Ext.grid.CellSelectionModel()}this.activeEditor=null;this.addEvents("beforeedit","afteredit","validateedit")},initEvents:function(){Ext.grid.EditorGridPanel.superclass.initEvents.call(this);this.on("bodyscroll",this.stopEditing,this,[true]);if(this.clicksToEdit==1){this.on("cellclick",this.onCellDblClick,this)}else{if(this.clicksToEdit=="auto"&&this.view.mainBody){this.view.mainBody.on("mousedown",this.onAutoEditClick,this)}this.on("celldblclick",this.onCellDblClick,this)}this.getGridEl().addClass("xedit-grid")},onCellDblClick:function(B,C,A){this.startEditing(C,A)},onAutoEditClick:function(C,B){if(C.button!==0){return }var E=this.view.findRowIndex(B);var A=this.view.findCellIndex(B);if(E!==false&&A!==false){this.stopEditing();if(this.selModel.getSelectedCell){var D=this.selModel.getSelectedCell();if(D&&D.cell[0]===E&&D.cell[1]===A){this.startEditing(E,A)}}else{if(this.selModel.isSelected(E)){this.startEditing(E,A)}}}},onEditComplete:function(B,D,A){this.editing=false;this.activeEditor=null;B.un("specialkey",this.selModel.onEditorKey,this.selModel);var C=B.record;var F=this.colModel.getDataIndex(B.col);D=this.postEditValue(D,A,C,F);if(String(D)!==String(A)){var E={grid:this,record:C,field:F,originalValue:A,value:D,row:B.row,column:B.col,cancel:false};if(this.fireEvent("validateedit",E)!==false&&!E.cancel){C.set(F,E.value);delete E.cancel;this.fireEvent("afteredit",E)}}this.view.focusCell(B.row,B.col)},startEditing:function(F,B){this.stopEditing();if(this.colModel.isCellEditable(B,F)){this.view.ensureVisible(F,B,true);var C=this.store.getAt(F);var E=this.colModel.getDataIndex(B);var D={grid:this,record:C,field:E,value:C.data[E],row:F,column:B,cancel:false};if(this.fireEvent("beforeedit",D)!==false&&!D.cancel){this.editing=true;var A=this.colModel.getCellEditor(B,F);if(!A.rendered){A.render(this.view.getEditorParent(A))}(function(){A.row=F;A.col=B;A.record=C;A.on("complete",this.onEditComplete,this,{single:true});A.on("specialkey",this.selModel.onEditorKey,this.selModel);this.activeEditor=A;var G=this.preEditValue(C,E);A.startEdit(this.view.getCell(F,B).firstChild,G)}).defer(50,this)}}},preEditValue:function(A,C){var B=A.data[C];return this.autoEncode&&typeof B=="string"?Ext.util.Format.htmlDecode(B):B},postEditValue:function(C,A,B,D){return this.autoEncode&&typeof C=="string"?Ext.util.Format.htmlEncode(C):C},stopEditing:function(A){if(this.activeEditor){this.activeEditor[A===true?"cancelEdit":"completeEdit"]()}this.activeEditor=null},onDestroy:function(){if(this.rendered){var C=this.colModel.config;for(var B=0,A=C.length;B ",width:20,sortable:false,menuDisabled:true,fixed:true,dataIndex:"",id:"checker",initEvents:function(){Ext.grid.CheckboxSelectionModel.superclass.initEvents.call(this);this.grid.on("render",function(){var A=this.grid.getView();A.mainBody.on("mousedown",this.onMouseDown,this);Ext.fly(A.innerHd).on("mousedown",this.onHdMouseDown,this)},this)},onMouseDown:function(C,B){if(C.button===0&&B.className=="x-grid3-row-checker"){C.stopEvent();var D=C.getTarget(".x-grid3-row");if(D){var A=D.rowIndex;if(this.isSelected(A)){this.deselectRow(A)}else{this.selectRow(A,true)}}}},onHdMouseDown:function(C,A){if(A.className=="x-grid3-hd-checker"){C.stopEvent();var B=Ext.fly(A.parentNode);var D=B.hasClass("x-grid3-hd-checker-on");if(D){B.removeClass("x-grid3-hd-checker-on");this.clearSelections()}else{B.addClass("x-grid3-hd-checker-on");this.selectAll()}}},renderer:function(B,C,A){return"
     
    "}}); +Ext.LoadMask=function(C,B){this.el=Ext.get(C);Ext.apply(this,B);if(this.store){this.store.on("beforeload",this.onBeforeLoad,this);this.store.on("load",this.onLoad,this);this.store.on("loadexception",this.onLoad,this);this.removeMask=Ext.value(this.removeMask,false)}else{var A=this.el.getUpdater();A.showLoadIndicator=false;A.on("beforeupdate",this.onBeforeLoad,this);A.on("update",this.onLoad,this);A.on("failure",this.onLoad,this);this.removeMask=Ext.value(this.removeMask,true)}};Ext.LoadMask.prototype={msg:"Loading...",msgCls:"x-mask-loading",disabled:false,disable:function(){this.disabled=true},enable:function(){this.disabled=false},onLoad:function(){this.el.unmask(this.removeMask)},onBeforeLoad:function(){if(!this.disabled){this.el.mask(this.msg,this.msgCls)}},show:function(){this.onBeforeLoad()},hide:function(){this.onLoad()},destroy:function(){if(this.store){this.store.un("beforeload",this.onBeforeLoad,this);this.store.un("load",this.onLoad,this);this.store.un("loadexception",this.onLoad,this)}else{var A=this.el.getUpdater();A.un("beforeupdate",this.onBeforeLoad,this);A.un("update",this.onLoad,this);A.un("failure",this.onLoad,this)}}}; +Ext.ProgressBar=Ext.extend(Ext.BoxComponent,{baseCls:"x-progress",waitTimer:null,initComponent:function(){Ext.ProgressBar.superclass.initComponent.call(this);this.addEvents("update")},onRender:function(D,A){Ext.ProgressBar.superclass.onRender.call(this,D,A);var C=new Ext.Template("
    ","
    ","
    ","
    ","
     
    ","
    ","
    ","
    ","
     
    ","
    ","
    ","
    ");if(A){this.el=C.insertBefore(A,{cls:this.baseCls},true)}else{this.el=C.append(D,{cls:this.baseCls},true)}if(this.id){this.el.dom.id=this.id}var B=this.el.dom.firstChild;this.progressBar=Ext.get(B.firstChild);if(this.textEl){this.textEl=Ext.get(this.textEl);delete this.textTopEl}else{this.textTopEl=Ext.get(this.progressBar.dom.firstChild);var E=Ext.get(B.childNodes[1]);this.textTopEl.setStyle("z-index",99).addClass("x-hidden");this.textEl=new Ext.CompositeElement([this.textTopEl.dom.firstChild,E.dom.firstChild]);this.textEl.setWidth(B.offsetWidth)}this.progressBar.setHeight(B.offsetHeight)},afterRender:function(){Ext.ProgressBar.superclass.afterRender.call(this);if(this.value){this.updateProgress(this.value,this.text)}else{this.updateText(this.text)}},updateProgress:function(B,C){this.value=B||0;if(C){this.updateText(C)}if(this.rendered){var A=Math.floor(B*this.el.dom.firstChild.offsetWidth);this.progressBar.setWidth(A);if(this.textTopEl){this.textTopEl.removeClass("x-hidden").setWidth(A)}}this.fireEvent("update",this,B,C);return this},wait:function(B){if(!this.waitTimer){var A=this;B=B||{};this.updateText(B.text);this.waitTimer=Ext.TaskMgr.start({run:function(C){var D=B.increment||10;this.updateProgress(((((C+D)%D)+1)*(100/D))*0.01)},interval:B.interval||1000,duration:B.duration,onStop:function(){if(B.fn){B.fn.apply(B.scope||this)}this.reset()},scope:A})}return this},isWaiting:function(){return this.waitTimer!=null},updateText:function(A){this.text=A||" ";if(this.rendered){this.textEl.update(this.text)}return this},syncProgressBar:function(){if(this.value){this.updateProgress(this.value,this.text)}return this},setSize:function(A,C){Ext.ProgressBar.superclass.setSize.call(this,A,C);if(this.textTopEl){var B=this.el.dom.firstChild;this.textEl.setSize(B.offsetWidth,B.offsetHeight)}this.syncProgressBar();return this},reset:function(A){this.updateProgress(0);if(this.textTopEl){this.textTopEl.addClass("x-hidden")}if(this.waitTimer){this.waitTimer.onStop=null;Ext.TaskMgr.stop(this.waitTimer);this.waitTimer=null}if(A===true){this.hide()}return this}});Ext.reg("progress",Ext.ProgressBar); +Ext.Slider=Ext.extend(Ext.BoxComponent,{vertical:false,minValue:0,maxValue:100,keyIncrement:1,increment:0,clickRange:[5,15],clickToChange:true,animate:true,dragging:false,initComponent:function(){if(this.value===undefined){this.value=this.minValue}Ext.Slider.superclass.initComponent.call(this);this.keyIncrement=Math.max(this.increment,this.keyIncrement);this.addEvents("beforechange","change","changecomplete","dragstart","drag","dragend");if(this.vertical){Ext.apply(this,Ext.Slider.Vertical)}},onRender:function(){this.autoEl={cls:"x-slider "+(this.vertical?"x-slider-vert":"x-slider-horz"),cn:{cls:"x-slider-end",cn:{cls:"x-slider-inner",cn:[{cls:"x-slider-thumb"},{tag:"a",cls:"x-slider-focus",href:"#",tabIndex:"-1",hidefocus:"on"}]}}};Ext.Slider.superclass.onRender.apply(this,arguments);this.endEl=this.el.first();this.innerEl=this.endEl.first();this.thumb=this.innerEl.first();this.halfThumb=(this.vertical?this.thumb.getHeight():this.thumb.getWidth())/2;this.focusEl=this.thumb.next();this.initEvents()},initEvents:function(){this.thumb.addClassOnOver("x-slider-thumb-over");this.mon(this.el,"mousedown",this.onMouseDown,this);this.mon(this.el,"keydown",this.onKeyDown,this);this.focusEl.swallowEvent("click",true);this.tracker=new Ext.dd.DragTracker({onBeforeStart:this.onBeforeDragStart.createDelegate(this),onStart:this.onDragStart.createDelegate(this),onDrag:this.onDrag.createDelegate(this),onEnd:this.onDragEnd.createDelegate(this),tolerance:3,autoStart:300});this.tracker.initEl(this.thumb);this.on("beforedestroy",this.tracker.destroy,this.tracker)},onMouseDown:function(B){if(this.disabled){return }if(this.clickToChange&&B.target!=this.thumb.dom){var A=this.innerEl.translatePoints(B.getXY());this.onClickChange(A)}this.focus()},onClickChange:function(A){if(A.top>this.clickRange[0]&&A.top0){if(A>(C/2)){D=B+(C-A)}else{D=B-A}}return D.constrain(this.minValue,this.maxValue)},afterRender:function(){Ext.Slider.superclass.afterRender.apply(this,arguments);if(this.value!==undefined){var A=this.normalizeValue(this.value);if(A!==this.value){delete this.value;this.setValue(A,false)}else{this.moveThumb(this.translateValue(A),false)}}},getRatio:function(){var A=this.innerEl.getWidth();var B=this.maxValue-this.minValue;return B==0?A:(A/B)},normalizeValue:function(A){if(typeof A!="number"){A=parseInt(A)}A=Math.round(A);A=this.doSnap(A);A=A.constrain(this.minValue,this.maxValue);return A},setValue:function(B,A,C){B=this.normalizeValue(B);if(B!==this.value&&this.fireEvent("beforechange",this,B,this.value)!==false){this.value=B;this.moveThumb(this.translateValue(B),A!==false);this.fireEvent("change",this,B);if(C){this.fireEvent("changecomplete",this,B)}}},translateValue:function(A){var B=this.getRatio();return(A*B)-(this.minValue*B)-this.halfThumb},reverseValue:function(B){var A=this.getRatio();return(B+this.halfThumb+(this.minValue*A))/A},moveThumb:function(B,A){if(!A||this.animate===false){this.thumb.setLeft(B)}else{this.thumb.shift({left:B,stopFx:true,duration:0.35})}},focus:function(){this.focusEl.focus(10)},onBeforeDragStart:function(A){return !this.disabled},onDragStart:function(A){this.thumb.addClass("x-slider-thumb-drag");this.dragging=true;this.dragStartValue=this.value;this.fireEvent("dragstart",this,A)},onDrag:function(A){var B=this.innerEl.translatePoints(this.tracker.getXY());this.setValue(Math.round(this.reverseValue(B.left)),false);this.fireEvent("drag",this,A)},onDragEnd:function(A){this.thumb.removeClass("x-slider-thumb-drag");this.dragging=false;this.fireEvent("dragend",this,A);if(this.dragStartValue!=this.value){this.fireEvent("changecomplete",this,this.value)}},onResize:function(A,B){this.innerEl.setWidth(A-(this.el.getPadding("l")+this.endEl.getPadding("r")));this.syncThumb()},syncThumb:function(){if(this.rendered){this.moveThumb(this.translateValue(this.value))}},getValue:function(){return this.value}});Ext.reg("slider",Ext.Slider);Ext.Slider.Vertical={onResize:function(A,B){this.innerEl.setHeight(B-(this.el.getPadding("t")+this.endEl.getPadding("b")));this.syncThumb()},getRatio:function(){var B=this.innerEl.getHeight();var A=this.maxValue-this.minValue;return B/A},moveThumb:function(B,A){if(!A||this.animate===false){this.thumb.setBottom(B)}else{this.thumb.shift({bottom:B,stopFx:true,duration:0.35})}},onDrag:function(B){var C=this.innerEl.translatePoints(this.tracker.getXY());var A=this.innerEl.getHeight()-C.top;this.setValue(Math.round(A/this.getRatio()),false);this.fireEvent("drag",this,B)},onClickChange:function(B){if(B.left>this.clickRange[0]&&B.left0){this.statusEl.addClass(A);this.currIconCls=A}}else{this.currIconCls=A}return this},showBusy:function(A){if(typeof A=="string"){A={text:A}}A=Ext.applyIf(A||{},{text:this.busyText,iconCls:this.busyIconCls});return this.setStatus(A)}});Ext.reg("statusbar",Ext.StatusBar); +Ext.History=(function(){var E,C;var J=false;var D;function F(){var K=top.location.href,L=K.indexOf("#");return L>=0?K.substr(L+1):null}function A(){C.value=D}function G(K){D=K;Ext.History.fireEvent("change",K)}function H(L){var K=["
    ",L,"
    "].join("");try{var N=E.contentWindow.document;N.open();N.write(K);N.close();return true}catch(M){return false}}function B(){if(!E.contentWindow||!E.contentWindow.document){setTimeout(B,10);return }var N=E.contentWindow.document;var L=N.getElementById("state");var K=L?L.innerText:null;var M=F();setInterval(function(){N=E.contentWindow.document;L=N.getElementById("state");var P=L?L.innerText:null;var O=F();if(P!==K){K=P;G(K);top.location.hash=K;M=K;A()}else{if(O!==M){M=O;H(O)}}},50);J=true;Ext.History.fireEvent("ready",Ext.History)}function I(){D=C.value;if(Ext.isIE){B()}else{var K=F();setInterval(function(){var L=F();if(L!==K){K=L;G(K);A()}},50);J=true;Ext.History.fireEvent("ready",Ext.History)}}return{fieldId:"x-history-field",iframeId:"x-history-frame",events:{},init:function(L,K){if(J){Ext.callback(L,K,[this]);return }if(!Ext.isReady){Ext.onReady(function(){Ext.History.init(L,K)});return }C=Ext.getDom(Ext.History.fieldId);if(Ext.isIE){E=Ext.getDom(Ext.History.iframeId)}this.addEvents("ready","change");if(L){this.on("ready",L,K,{single:true})}I()},add:function(K,L){if(L!==false){if(this.getToken()==K){return true}}if(Ext.isIE){return H(K)}else{top.location.hash=K;return true}},back:function(){history.go(-1)},forward:function(){history.go(1)},getToken:function(){return J?D:F()}}})();Ext.apply(Ext.History,new Ext.util.Observable()); diff --git a/skins/jason/extjs/ext-core.js b/skins/jason/extjs/ext-core.js new file mode 100644 index 0000000..aa36cfb --- /dev/null +++ b/skins/jason/extjs/ext-core.js @@ -0,0 +1,19 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +Ext.DomHelper=function(){var L=null;var F=/^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i;var B=/^table|tbody|tr|td$/i;var A=function(T){if(typeof T=="string"){return T}var O="";if(Ext.isArray(T)){for(var R=0,P=T.length;R"}else{O+=">";var U=T.children||T.cn;if(U){O+=A(U)}else{if(T.html){O+=T.html}}O+=""}return O};var M=function(T,O){var S;if(Ext.isArray(T)){S=document.createDocumentFragment();for(var R=0,P=T.length;R",K=""+E,H=C+"",D=""+K;var G=function(N,O,Q,P){if(!L){L=document.createElement("div")}var R;var S=null;if(N=="td"){if(O=="afterbegin"||O=="beforeend"){return }if(O=="beforebegin"){S=Q;Q=Q.parentNode}else{S=Q.nextSibling;Q=Q.parentNode}R=I(4,H,P,D)}else{if(N=="tr"){if(O=="beforebegin"){S=Q;Q=Q.parentNode;R=I(3,C,P,K)}else{if(O=="afterend"){S=Q.nextSibling;Q=Q.parentNode;R=I(3,C,P,K)}else{if(O=="afterbegin"){S=Q.firstChild}R=I(4,H,P,D)}}}else{if(N=="tbody"){if(O=="beforebegin"){S=Q;Q=Q.parentNode;R=I(2,J,P,E)}else{if(O=="afterend"){S=Q.nextSibling;Q=Q.parentNode;R=I(2,J,P,E)}else{if(O=="afterbegin"){S=Q.firstChild}R=I(3,C,P,K)}}}else{if(O=="beforebegin"||O=="afterend"){return }if(O=="afterbegin"){S=Q.firstChild}R=I(2,J,P,E)}}}Q.insertBefore(R,S);return R};return{useDom:false,markup:function(N){return A(N)},applyStyles:function(P,Q){if(Q){P=Ext.fly(P);if(typeof Q=="string"){var O=/\s?([a-z\-]*)\:\s?([^;]*);?/gi;var R;while((R=O.exec(Q))!=null){P.setStyle(R[1],R[2])}}else{if(typeof Q=="object"){for(var N in Q){P.setStyle(N,Q[N])}}else{if(typeof Q=="function"){Ext.DomHelper.applyStyles(P,Q.call())}}}}},insertHtml:function(P,R,Q){P=P.toLowerCase();if(R.insertAdjacentHTML){if(B.test(R.tagName)){var O;if(O=G(R.tagName.toLowerCase(),P,R,Q)){return O}}switch(P){case"beforebegin":R.insertAdjacentHTML("BeforeBegin",Q);return R.previousSibling;case"afterbegin":R.insertAdjacentHTML("AfterBegin",Q);return R.firstChild;case"beforeend":R.insertAdjacentHTML("BeforeEnd",Q);return R.lastChild;case"afterend":R.insertAdjacentHTML("AfterEnd",Q);return R.nextSibling}throw"Illegal insertion point -> \""+P+"\""}var N=R.ownerDocument.createRange();var S;switch(P){case"beforebegin":N.setStartBefore(R);S=N.createContextualFragment(Q);R.parentNode.insertBefore(S,R);return R.previousSibling;case"afterbegin":if(R.firstChild){N.setStartBefore(R.firstChild);S=N.createContextualFragment(Q);R.insertBefore(S,R.firstChild);return R.firstChild}else{R.innerHTML=Q;return R.firstChild}case"beforeend":if(R.lastChild){N.setStartAfter(R.lastChild);S=N.createContextualFragment(Q);R.appendChild(S);return R.lastChild}else{R.innerHTML=Q;return R.lastChild}case"afterend":N.setStartAfter(R);S=N.createContextualFragment(Q);R.parentNode.insertBefore(S,R.nextSibling);return R.nextSibling}throw"Illegal insertion point -> \""+P+"\""},insertBefore:function(N,P,O){return this.doInsert(N,P,O,"beforeBegin")},insertAfter:function(N,P,O){return this.doInsert(N,P,O,"afterEnd","nextSibling")},insertFirst:function(N,P,O){return this.doInsert(N,P,O,"afterBegin","firstChild")},doInsert:function(Q,S,R,T,P){Q=Ext.getDom(Q);var O;if(this.useDom){O=M(S,null);(P==="firstChild"?Q:Q.parentNode).insertBefore(O,P?Q[P]:Q)}else{var N=A(S);O=this.insertHtml(T,Q,N)}return R?Ext.get(O,true):O},append:function(P,R,Q){P=Ext.getDom(P);var O;if(this.useDom){O=M(R,null);P.appendChild(O)}else{var N=A(R);O=this.insertHtml("beforeEnd",P,N)}return Q?Ext.get(O,true):O},overwrite:function(N,P,O){N=Ext.getDom(N);N.innerHTML=A(P);return O?Ext.get(N.firstChild,true):N.firstChild},createTemplate:function(O){var N=A(O);return new Ext.Template(N)}}}(); +Ext.Template=function(E){var B=arguments;if(Ext.isArray(E)){E=E.join("")}else{if(B.length>1){var C=[];for(var D=0,A=B.length;D+~]\s?|\s|$)/;var tagTokenRe=/^(#)?([\w-\*]+)/;var nthRe=/(\d*)n\+?(\d*)/,nthRe2=/\D/;function child(p,index){var i=0;var n=p.firstChild;while(n){if(n.nodeType==1){if(++i==index){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 children(d){var n=d.firstChild,ni=-1;while(n){var nx=n.nextSibling;if(n.nodeType==3&&!nonSpace.test(n.nodeValue)){d.removeChild(n)}else{n.nodeIndex=++ni}n=nx}return this}function byClassName(c,a,v){if(!v){return c}var r=[],ri=-1,cn;for(var i=0,ci;ci=c[i];i++){if((" "+ci.className+" ").indexOf(v)!=-1){r[++ri]=ci}}return r}function attrValue(n,attr){if(!n.tagName&&typeof n.length!="undefined"){n=n[0]}if(!n){return null}if(attr=="for"){return n.htmlFor}if(attr=="class"||attr=="className"){return n.className}return n.getAttribute(attr)||n[attr]}function getNodes(ns,mode,tagName){var result=[],ri=-1,cs;if(!ns){return result}tagName=tagName||"*";if(typeof ns.getElementsByTagName!="undefined"){ns=[ns]}if(!mode){for(var i=0,ni;ni=ns[i];i++){cs=ni.getElementsByTagName(tagName);for(var j=0,ci;ci=cs[j];j++){result[++ri]=ci}}}else{if(mode=="/"||mode==">"){var utag=tagName.toUpperCase();for(var i=0,ni,cn;ni=ns[i];i++){cn=ni.children||ni.childNodes;for(var j=0,cj;cj=cn[j];j++){if(cj.nodeName==utag||cj.nodeName==tagName||tagName=="*"){result[++ri]=cj}}}}else{if(mode=="+"){var utag=tagName.toUpperCase();for(var i=0,n;n=ns[i];i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(n&&(n.nodeName==utag||n.nodeName==tagName||tagName=="*")){result[++ri]=n}}}else{if(mode=="~"){for(var i=0,n;n=ns[i];i++){while((n=n.nextSibling)&&(n.nodeType!=1||(tagName=="*"||n.tagName.toLowerCase()!=tagName))){}if(n){result[++ri]=n}}}}}}return result}function concat(a,b){if(b.slice){return a.concat(b)}for(var i=0,l=b.length;i1){return nodup(results)}return results},selectNode:function(path,root){return Ext.DomQuery.select(path,root)[0]},selectValue:function(path,root,defaultValue){path=path.replace(trimRe,"");if(!valueCache[path]){valueCache[path]=Ext.DomQuery.compile(path,"select")}var n=valueCache[path](root);n=n[0]?n[0]:n;var v=(n&&n.firstChild?n.firstChild.nodeValue:null);return((v===null||v===undefined||v==="")?defaultValue:v)},selectNumber:function(path,root,defaultValue){var v=Ext.DomQuery.selectValue(path,root,defaultValue||0);return parseFloat(v)},is:function(el,ss){if(typeof el=="string"){el=document.getElementById(el)}var isArray=Ext.isArray(el);var result=Ext.DomQuery.filter(isArray?el:[el],ss);return isArray?(result.length==el.length):(result.length>0)},filter:function(els,ss,nonMatches){ss=ss.replace(trimRe,"");if(!simpleCache[ss]){simpleCache[ss]=Ext.DomQuery.compile(ss,"simple")}var result=simpleCache[ss](els);return nonMatches?quickDiff(result,els):result},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},"|=":function(a,v){return a&&(a==v||a.substr(0,v.length+1)==v+"-")},"~=":function(a,v){return a&&(" "+a+" ").indexOf(" "+v+" ")!=-1}},pseudos:{"first-child":function(c){var r=[],ri=-1,n;for(var i=0,ci;ci=n=c[i];i++){while((n=n.previousSibling)&&n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},"last-child":function(c){var r=[],ri=-1,n;for(var i=0,ci;ci=n=c[i];i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},"nth-child":function(c,a){var r=[],ri=-1;var m=nthRe.exec(a=="even"&&"2n"||a=="odd"&&"2n+1"||!nthRe2.test(a)&&"n+"+a||a);var f=(m[1]||1)-0,l=m[2]-0;for(var i=0,n;n=c[i];i++){var pn=n.parentNode;if(batch!=pn._batch){var j=0;for(var cn=pn.firstChild;cn;cn=cn.nextSibling){if(cn.nodeType==1){cn.nodeIndex=++j}}pn._batch=batch}if(f==1){if(l==0||n.nodeIndex==l){r[++ri]=n}}else{if((n.nodeIndex+l)%f==0){r[++ri]=n}}}return r},"only-child":function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(!prev(ci)&&!next(ci)){r[++ri]=ci}}return r},"empty":function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var cns=ci.childNodes,j=0,cn,empty=true;while(cn=cns[j]){++j;if(cn.nodeType==1||cn.nodeType==3){empty=false;break}}if(empty){r[++ri]=ci}}return r},"contains":function(c,v){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if((ci.textContent||ci.innerText||"").indexOf(v)!=-1){r[++ri]=ci}}return r},"nodeValue":function(c,v){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(ci.firstChild&&ci.firstChild.nodeValue==v){r[++ri]=ci}}return r},"checked":function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(ci.checked==true){r[++ri]=ci}}return r},"not":function(c,ss){return Ext.DomQuery.filter(c,ss,true)},"any":function(c,selectors){var ss=selectors.split("|");var r=[],ri=-1,s;for(var i=0,ci;ci=c[i];i++){for(var j=0;s=ss[j];j++){if(Ext.DomQuery.is(ci,s)){r[++ri]=ci;break}}}return r},"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=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(s(ss,ci).length>0){r[++ri]=ci}}return r},"next":function(c,ss){var is=Ext.DomQuery.is;var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var n=next(ci);if(n&&is(n,ss)){r[++ri]=ci}}return r},"prev":function(c,ss){var is=Ext.DomQuery.is;var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var n=prev(ci);if(n&&is(n,ss)){r[++ri]=ci}}return r}}}}();Ext.query=Ext.DomQuery.select; +Ext.util.Observable=function(){if(this.listeners){this.on(this.listeners);delete this.listeners}};Ext.util.Observable.prototype={fireEvent:function(){if(this.eventsSuspended!==true){var A=this.events[arguments[0].toLowerCase()];if(typeof A=="object"){return A.fire.apply(A,Array.prototype.slice.call(arguments,1))}}return true},filterOptRe:/^(?:scope|delay|buffer|single)$/,addListener:function(A,C,B,F){if(typeof A=="object"){F=A;for(var E in F){if(this.filterOptRe.test(E)){continue}if(typeof F[E]=="function"){this.addListener(E,F[E],F.scope,F)}else{this.addListener(E,F[E].fn,F[E].scope,F[E])}}return }F=(!F||typeof F=="boolean")?{}:F;A=A.toLowerCase();var D=this.events[A]||true;if(typeof D=="boolean"){D=new Ext.util.Event(this,A);this.events[A]=D}D.addListener(C,B,F)},removeListener:function(A,C,B){var D=this.events[A.toLowerCase()];if(typeof D=="object"){D.removeListener(C,B)}},purgeListeners:function(){for(var A in this.events){if(typeof this.events[A]=="object"){this.events[A].clearListeners()}}},relayEvents:function(F,D){var E=function(G){return function(){return this.fireEvent.apply(this,Ext.combine(G,Array.prototype.slice.call(arguments,0)))}};for(var C=0,A=D.length;C0},suspendEvents:function(){this.eventsSuspended=true},resumeEvents:function(){this.eventsSuspended=false},getMethodEvent:function(G){if(!this.methodEvents){this.methodEvents={}}var F=this.methodEvents[G];if(!F){F={};this.methodEvents[G]=F;F.originalFn=this[G];F.methodName=G;F.before=[];F.after=[];var C,B,D;var E=this;var A=function(J,I,H){if((B=J.apply(I||E,H))!==undefined){if(typeof B==="object"){if(B.returnValue!==undefined){C=B.returnValue}else{C=B}if(B.cancel===true){D=true}}else{if(B===false){D=true}else{C=B}}}};this[G]=function(){C=B=undefined;D=false;var I=Array.prototype.slice.call(arguments,0);for(var J=0,H=F.before.length;J0){this.firing=true;var G=Array.prototype.slice.call(arguments,0);for(var H=0;H=33&&D<=40)||D==this.RETURN||D==this.TAB||D==this.ESC},isSpecialKey:function(){var D=this.keyCode;return(this.type=="keypress"&&this.ctrlKey)||D==9||D==13||D==40||D==27||(D==16)||(D==17)||(D>=18&&D<=20)||(D>=33&&D<=35)||(D>=36&&D<=39)||(D>=44&&D<=45)},stopPropagation:function(){if(this.browserEvent){if(this.browserEvent.type=="mousedown"){Ext.EventManager.stoppedMouseDownEvent.fire(this)}B.stopPropagation(this.browserEvent)}},getCharCode:function(){return this.charCode||this.keyCode},getKey:function(){var D=this.keyCode||this.charCode;return Ext.isSafari?(A[D]||D):D},getPageX:function(){return this.xy[0]},getPageY:function(){return this.xy[1]},getTime:function(){if(this.browserEvent){return B.getTime(this.browserEvent)}return null},getXY:function(){return this.xy},getTarget:function(E,F,D){return E?Ext.fly(this.target).findParent(E,F,D):(D?Ext.get(this.target):this.target)},getRelatedTarget:function(){if(this.browserEvent){return B.getRelatedTarget(this.browserEvent)}return null},getWheelDelta:function(){var D=this.browserEvent;var E=0;if(D.wheelDelta){E=D.wheelDelta/120}else{if(D.detail){E=-D.detail/3}}return E},hasModifier:function(){return((this.ctrlKey||this.altKey)||this.shiftKey)?true:false},within:function(E,F){var D=this[F?"getRelatedTarget":"getTarget"]();return D&&Ext.fly(E).contains(D)},getPoint:function(){return new Ext.lib.Point(this.xy[0],this.xy[1])}};return new Ext.EventObjectImpl()}(); +(function(){var D=Ext.lib.Dom;var E=Ext.lib.Event;var A=Ext.lib.Anim;var propCache={};var camelRe=/(-[a-z])/gi;var camelFn=function(m,a){return a.charAt(1).toUpperCase()};var view=document.defaultView;Ext.Element=function(element,forceNew){var dom=typeof element=="string"?document.getElementById(element):element;if(!dom){return null}var id=dom.id;if(forceNew!==true&&id&&Ext.Element.cache[id]){return Ext.Element.cache[id]}this.dom=dom;this.id=id||Ext.id(dom)};var El=Ext.Element;El.prototype={originalDisplay:"",visibilityMode:1,defaultUnit:"px",setVisibilityMode:function(visMode){this.visibilityMode=visMode;return this},enableDisplayMode:function(display){this.setVisibilityMode(El.DISPLAY);if(typeof display!="undefined"){this.originalDisplay=display}return this},findParent:function(simpleSelector,maxDepth,returnEl){var p=this.dom,b=document.body,depth=0,dq=Ext.DomQuery,stopEl;maxDepth=maxDepth||50;if(typeof maxDepth!="number"){stopEl=Ext.getDom(maxDepth);maxDepth=10}while(p&&p.nodeType==1&&depthch||tcb){c.scrollTop=b-ch}}c.scrollTop=c.scrollTop;if(hscroll!==false){if(el.offsetWidth>c.clientWidth||lcr){c.scrollLeft=r-c.clientWidth}}c.scrollLeft=c.scrollLeft}return this},scrollChildIntoView:function(child,hscroll){Ext.fly(child,"_scrollChildIntoView").scrollIntoView(this,hscroll)},autoHeight:function(animate,duration,onComplete,easing){var oldHeight=this.getHeight();this.clip();this.setHeight(1);setTimeout(function(){var height=parseInt(this.dom.scrollHeight,10);if(!animate){this.setHeight(height);this.unclip();if(typeof onComplete=="function"){onComplete()}}else{this.setHeight(oldHeight);this.setHeight(height,animate,duration,function(){this.unclip();if(typeof onComplete=="function"){onComplete()}}.createDelegate(this),easing)}}.createDelegate(this),0);return this},contains:function(el){if(!el){return false}return D.isAncestor(this.dom,el.dom?el.dom:el)},isVisible:function(deep){var vis=!(this.getStyle("visibility")=="hidden"||this.getStyle("display")=="none");if(deep!==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(selector,unique){return El.select(selector,unique,this.dom)},query:function(selector){return Ext.DomQuery.select(selector,this.dom)},child:function(selector,returnDom){var n=Ext.DomQuery.selectNode(selector,this.dom);return returnDom?n:Ext.get(n)},down:function(selector,returnDom){var n=Ext.DomQuery.selectNode(" > "+selector,this.dom);return returnDom?n:Ext.get(n)},initDD:function(group,config,overrides){var dd=new Ext.dd.DD(Ext.id(this.dom),group,config);return Ext.apply(dd,overrides)},initDDProxy:function(group,config,overrides){var dd=new Ext.dd.DDProxy(Ext.id(this.dom),group,config);return Ext.apply(dd,overrides)},initDDTarget:function(group,config,overrides){var dd=new Ext.dd.DDTarget(Ext.id(this.dom),group,config);return Ext.apply(dd,overrides)},setVisible:function(visible,animate){if(!animate||!A){if(this.visibilityMode==El.DISPLAY){this.setDisplayed(visible)}else{this.fixDisplay();this.dom.style.visibility=visible?"visible":"hidden"}}else{var dom=this.dom;var visMode=this.visibilityMode;if(visible){this.setOpacity(0.01);this.setVisible(true)}this.anim({opacity:{to:(visible?1:0)}},this.preanim(arguments,1),null,0.35,"easeIn",function(){if(!visible){if(visMode==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(animate){this.setVisible(!this.isVisible(),this.preanim(arguments,0));return this},setDisplayed:function(value){if(typeof value=="boolean"){value=value?this.originalDisplay:"none"}this.setStyle("display",value);return this},focus:function(){try{this.dom.focus()}catch(e){}return this},blur:function(){try{this.dom.blur()}catch(e){}return this},addClass:function(className){if(Ext.isArray(className)){for(var i=0,len=className.length;idw+scrollX){x=swapX?r.left-w:dw+scrollX-w}if(xdh+scrollY){y=swapY?r.top-h:dh+scrollY-h}if(yvr){x=vr-w;moved=true}if((y+h)>vb){y=vb-h;moved=true}if(x";E.onAvailable(id,function(){var hd=document.getElementsByTagName("head")[0];var re=/(?:]*)?>)((\n|\r|.)*?)(?:<\/script>)/ig;var srcRe=/\ssrc=([\'\"])(.*?)\1/i;var typeRe=/\stype=([\'\"])(.*?)\1/i;var match;while(match=re.exec(html)){var attrs=match[1];var srcMatch=attrs?attrs.match(srcRe):false;if(srcMatch&&srcMatch[2]){var s=document.createElement("script");s.src=srcMatch[2];var typeMatch=attrs.match(typeRe);if(typeMatch&&typeMatch[2]){s.type=typeMatch[2]}hd.appendChild(s)}else{if(match[2]&&match[2].length>0){if(window.execScript){window.execScript(match[2])}else{window.eval(match[2])}}}}var el=document.getElementById(id);if(el){Ext.removeNode(el)}if(typeof callback=="function"){callback()}});dom.innerHTML=html.replace(/(?:)((\n|\r|.)*?)(?:<\/script>)/ig,"");return this},load:function(){var um=this.getUpdater();um.update.apply(um,arguments);return this},getUpdater:function(){if(!this.updateManager){this.updateManager=new Ext.Updater(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(centerIn){this.alignTo(centerIn||document,"c-c");return this},isBorderBox:function(){return noBoxAdjust[this.dom.tagName.toLowerCase()]||Ext.isBorderBox},getBox:function(contentBox,local){var xy;if(!local){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(!contentBox){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(sides,onlyContentBox){return onlyContentBox&&Ext.isBorderBox?0:(this.getPadding(sides)+this.getBorderWidth(sides))},setBox:function(box,adjust,animate){var w=box.width,h=box.height;if((adjust&&!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(sides,styles){var val=0,v,w;for(var i=0,len=sides.length;i=0?w:-1*w)}}}return val},createProxy:function(config,renderTo,matchBox){config=typeof config=="object"?config:{tag:"div",cls:config};var proxy;if(renderTo){proxy=Ext.DomHelper.append(renderTo,config,true)}else{proxy=Ext.DomHelper.insertBefore(this.dom,config,true)}if(matchBox){proxy.setBox(this.getBox())}return proxy},mask:function(msg,msgCls){if(this.getStyle("position")=="static"){this.setStyle("position","relative")}if(this._maskMsg){this._maskMsg.remove()}if(this._mask){this._mask.remove()}this._mask=Ext.DomHelper.append(this.dom,{cls:"ext-el-mask"},true);this.addClass("x-masked");this._mask.setDisplayed(true);if(typeof msg=="string"){this._maskMsg=Ext.DomHelper.append(this.dom,{cls:"ext-el-mask-msg",cn:{tag:"div"}},true);var mm=this._maskMsg;mm.dom.className=msgCls?"ext-el-mask-msg "+msgCls:"ext-el-mask-msg";mm.dom.firstChild.innerHTML=msg;mm.setDisplayed(true);mm.center(this)}if(Ext.isIE&&!(Ext.isIE7&&Ext.isStrict)&&this.getStyle("height")=="auto"){this._mask.setSize(this.dom.clientWidth,this.getHeight())}return this._mask},unmask:function(){if(this._mask){if(this._maskMsg){this._maskMsg.remove();delete this._maskMsg}this._mask.remove();delete this._mask}this.removeClass("x-masked")},isMasked:function(){return this._mask&&this._mask.isVisible()},createShim:function(){var el=document.createElement("iframe");el.frameBorder="0";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(){Ext.removeNode(this.dom);delete El.cache[this.dom.id]},hover:function(overFn,outFn,scope){var preOverFn=function(e){if(!e.within(this,true)){overFn.apply(scope||this,arguments)}};var preOutFn=function(e){if(!e.within(this,true)){outFn.apply(scope||this,arguments)}};this.on("mouseover",preOverFn,this.dom);this.on("mouseout",preOutFn,this.dom);return this},addClassOnOver:function(className){this.hover(function(){Ext.fly(this,"_internal").addClass(className)},function(){Ext.fly(this,"_internal").removeClass(className)});return this},addClassOnFocus:function(className){this.on("focus",function(){Ext.fly(this,"_internal").addClass(className)},this.dom);this.on("blur",function(){Ext.fly(this,"_internal").removeClass(className)},this.dom);return this},addClassOnClick:function(className){var dom=this.dom;this.on("mousedown",function(){Ext.fly(dom,"_internal").addClass(className);var d=Ext.getDoc();var fn=function(){Ext.fly(dom,"_internal").removeClass(className);d.removeListener("mouseup",fn)};d.on("mouseup",fn)});return this},swallowEvent:function(eventName,preventDefault){var fn=function(e){e.stopPropagation();if(preventDefault){e.preventDefault()}};if(Ext.isArray(eventName)){for(var i=0,len=eventName.length;idom.clientHeight||dom.scrollWidth>dom.clientWidth},scrollTo:function(side,value,animate){var prop=side.toLowerCase()=="left"?"scrollLeft":"scrollTop";if(!animate||!A){this.dom[prop]=value}else{var to=prop=="scrollLeft"?[value,this.dom.scrollTop]:[this.dom.scrollLeft,value];this.anim({scroll:{"to":to}},this.preanim(arguments,2),"scroll")}return this},scroll:function(direction,distance,animate){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;direction=direction.toLowerCase();var scrolled=false;var a=this.preanim(arguments,2);switch(direction){case"l":case"left":if(w-l>cw){var v=Math.min(l+distance,w-cw);this.scrollTo("left",v,a);scrolled=true}break;case"r":case"right":if(l>0){var v=Math.max(l-distance,0);this.scrollTo("left",v,a);scrolled=true}break;case"t":case"top":case"up":if(t>0){var v=Math.max(t-distance,0);this.scrollTo("top",v,a);scrolled=true}break;case"b":case"bottom":case"down":if(h-t>ch){var v=Math.min(t+distance,h-ch);this.scrollTo("top",v,a);scrolled=true}break}return scrolled},translatePoints:function(x,y){if(typeof x=="object"||Ext.isArray(x)){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,t;if(Ext.isIE&&Ext.isStrict){l=doc.documentElement.scrollLeft||(doc.body.scrollLeft||0);t=doc.documentElement.scrollTop||(doc.body.scrollTop||0)}else{l=window.pageXOffset||(doc.body.scrollLeft||0);t=window.pageYOffset||(doc.body.scrollTop||0)}return{left:l,top:t}}else{return{left:d.scrollLeft,top:d.scrollTop}}},getColor:function(attr,defaultValue,prefix){var v=this.getStyle(attr);if(!v||v=="transparent"||v=="inherit"){return defaultValue}var color=typeof prefix=="undefined"?"#":prefix;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]);var s=h.toString(16);if(h<16){s="0"+s}color+=s}}else{if(v.substr(0,1)=="#"){if(v.length==4){for(var i=1;i<4;i++){var c=v.charAt(i);color+=c+c}}else{if(v.length==7){color+=v.substr(1)}}}}return(color.length>5?color.toLowerCase():defaultValue)},boxWrap:function(cls){cls=cls||"x-box";var el=Ext.get(this.insertHtml("beforeBegin",String.format("
    "+El.boxMarkup+"
    ",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]},getTextWidth:function(text,min,max){return(Ext.util.TextMetrics.measure(this.dom,Ext.value(text,this.dom.innerHTML,true)).width).constrain(min||0,max||1000000)}};var ep=El.prototype;ep.on=ep.addListener;ep.mon=ep.addListener;ep.getUpdateManager=ep.getUpdater;ep.un=ep.removeListener;ep.autoBoxAdjust=true;El.unitPattern=/\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$/i;El.addUnits=function(v,defaultUnit){if(v===""||v=="auto"){return v}if(v===undefined){return""}if(typeof v=="number"||!El.unitPattern.test(v)){return v+(defaultUnit||"px")}return v};El.boxMarkup="
    ";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 docEl;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!=docEl){el.dom=document.getElementById(el.id)||el.dom;El.cache[el.id]=el}return el}else{if(el.isComposite){return el}else{if(Ext.isArray(el)){return El.select(el)}else{if(el==document){if(!docEl){var f=function(){};f.prototype=El.prototype;docEl=new f();docEl.dom=document}return docEl}}}}}}return null};El.uncache=function(el){for(var i=0,a=arguments,len=a.length;i0){F()}else{B.afterFx(D)}})};F.call(this)});return this},pause:function(C){var A=this.getFxEl();var B={};A.queueFx(B,function(){setTimeout(function(){A.afterFx(B)},C*1000)});return this},fadeIn:function(B){var A=this.getFxEl();B=B||{};A.queueFx(B,function(){this.setOpacity(0);this.fixDisplay();this.dom.style.visibility="visible";var C=B.endOpacity||1;arguments.callee.anim=this.fxanim({opacity:{to:C}},B,null,0.5,"easeOut",function(){if(C==1){this.clearOpacity()}A.afterFx(B)})});return this},fadeOut:function(B){var A=this.getFxEl();B=B||{};A.queueFx(B,function(){arguments.callee.anim=this.fxanim({opacity:{to:B.endOpacity||0}},B,null,0.5,"easeOut",function(){if(this.visibilityMode==Ext.Element.DISPLAY||B.useDisplay){this.dom.style.display="none"}else{this.dom.style.visibility="hidden"}this.clearOpacity();A.afterFx(B)})});return this},scale:function(A,B,C){this.shift(Ext.apply({},C,{width:A,height:B}));return this},shift:function(B){var A=this.getFxEl();B=B||{};A.queueFx(B,function(){var E={},D=B.width,F=B.height,C=B.x,H=B.y,G=B.opacity;if(D!==undefined){E.width={to:this.adjustWidth(D)}}if(F!==undefined){E.height={to:this.adjustHeight(F)}}if(B.left!==undefined){E.left={to:B.left}}if(B.top!==undefined){E.top={to:B.top}}if(B.right!==undefined){E.right={to:B.right}}if(B.bottom!==undefined){E.bottom={to:B.bottom}}if(C!==undefined||H!==undefined){E.points={to:[C!==undefined?C:this.getX(),H!==undefined?H:this.getY()]}}if(G!==undefined){E.opacity={to:G}}if(B.xy!==undefined){E.points={to:B.xy}}arguments.callee.anim=this.fxanim(E,B,"motion",0.35,"easeOut",function(){A.afterFx(B)})});return this},ghost:function(A,C){var B=this.getFxEl();C=C||{};B.queueFx(C,function(){A=A||"b";var H=this.getFxRestore();var E=this.getWidth(),G=this.getHeight();var F=this.dom.style;var J=function(){if(C.useDisplay){B.setDisplayed(false)}else{B.hide()}B.clearOpacity();B.setPositioning(H.pos);F.width=H.width;F.height=H.height;B.afterFx(C)};var D={opacity:{to:0},points:{}},I=D.points;switch(A.toLowerCase()){case"t":I.by=[0,-G];break;case"l":I.by=[-E,0];break;case"r":I.by=[E,0];break;case"b":I.by=[0,G];break;case"tl":I.by=[-E,-G];break;case"bl":I.by=[-E,G];break;case"br":I.by=[E,G];break;case"tr":I.by=[E,-G];break}arguments.callee.anim=this.fxanim(D,C,"motion",0.5,"easeOut",J)});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 A=this.fxQueue[0];if(A){A.call(this)}},hasActiveFx:function(){return this.fxQueue&&this.fxQueue[0]},stopFx:function(){if(this.hasActiveFx()){var A=this.fxQueue[0];if(A&&A.anim&&A.anim.isAnimated()){this.fxQueue=[A];A.anim.stop(true)}}return this},beforeFx:function(A){if(this.hasActiveFx()&&!A.concurrent){if(A.stopFx){this.stopFx();return true}return false}return true},hasFxBlock:function(){var A=this.fxQueue;return A&&A[0]&&A[0].block},queueFx:function(C,A){if(!this.fxQueue){this.fxQueue=[]}if(!this.hasFxBlock()){Ext.applyIf(C,this.fxDefaults);if(!C.concurrent){var B=this.beforeFx(C);A.block=C.block;this.fxQueue.push(A);if(B){this.nextFx()}}else{A.call(this)}}return this},fxWrap:function(F,D,C){var B;if(!D.wrap||!(B=Ext.get(D.wrap))){var A;if(D.fixPosition){A=this.getXY()}var E=document.createElement("div");E.style.visibility=C;B=Ext.get(this.dom.parentNode.insertBefore(E,this.dom));B.setPositioning(F);if(B.getStyle("position")=="static"){B.position("relative")}this.clearPositioning("auto");B.clip();B.dom.appendChild(this.dom);if(A){B.setXY(A)}}return B},fxUnwrap:function(A,C,B){this.clearPositioning();this.setPositioning(C);if(!B.wrap){A.dom.parentNode.insertBefore(this.dom,A.dom);A.remove()}},getFxRestore:function(){var A=this.dom.style;return{pos:this.getPositioning(),width:A.width,height:A.height}},afterFx:function(A){if(A.afterStyle){this.applyStyles(A.afterStyle)}if(A.afterCls){this.addClass(A.afterCls)}if(A.remove===true){this.remove()}Ext.callback(A.callback,A.scope,[this]);if(!A.concurrent){this.fxQueue.shift();this.nextFx()}},getFxEl:function(){return Ext.get(this.dom)},fxanim:function(D,E,B,F,C,A){B=B||"run";E=E||{};var G=Ext.lib.Anim[B](this.dom,D,(E.duration||F)||0.35,(E.easing||C)||"easeOut",function(){Ext.callback(A,this)},this);E.anim=G;return G}};Ext.Fx.resize=Ext.Fx.scale;Ext.apply(Ext.Element.prototype,Ext.Fx); +Ext.CompositeElement=function(A){this.elements=[];this.addElements(A)};Ext.CompositeElement.prototype={isComposite:true,addElements:function(E){if(!E){return this}if(typeof E=="string"){E=Ext.Element.selectorFunction(E)}var D=this.elements;var B=D.length-1;for(var C=0,A=E.length;C"+A.text+""}if(typeof A.scripts!="undefined"){this.loadScripts=A.scripts}if(typeof A.timeout!="undefined"){this.timeout=A.timeout}}this.showLoading();if(!D){this.defaultUrl=B}if(typeof B=="function"){B=B.call(this)}var E=Ext.apply({},{url:B,params:(typeof F=="function"&&C)?F.createDelegate(C):F,success:this.processSuccess,failure:this.processFailure,scope:this,callback:undefined,timeout:(this.timeout*1000),disableCaching:this.disableCaching,argument:{"options":A,"url":B,"form":null,"callback":G,"scope":C||window,"params":F}},A);this.transaction=Ext.Ajax.request(E)}},formUpdate:function(C,A,B,D){if(this.fireEvent("beforeupdate",this.el,C,A)!==false){if(typeof A=="function"){A=A.call(this)}C=Ext.getDom(C);this.transaction=Ext.Ajax.request({form:C,url:A,success:this.processSuccess,failure:this.processFailure,scope:this,timeout:(this.timeout*1000),argument:{"url":A,"form":C,"callback":D,"reset":B}});this.showLoading.defer(1,this)}},refresh:function(A){if(this.defaultUrl==null){return }this.update(this.defaultUrl,null,A,true)},startAutoRefresh:function(B,C,D,E,A){if(A){this.update(C||this.defaultUrl,D,E,true)}if(this.autoRefreshProcId){clearInterval(this.autoRefreshProcId)}this.autoRefreshProcId=setInterval(this.update.createDelegate(this,[C||this.defaultUrl,D,E,true]),B*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)}},processSuccess:function(A){this.transaction=null;if(A.argument.form&&A.argument.reset){try{A.argument.form.reset()}catch(B){}}if(this.loadScripts){this.renderer.render(this.el,A,this,this.updateComplete.createDelegate(this,[A]))}else{this.renderer.render(this.el,A,this);this.updateComplete(A)}},updateComplete:function(A){this.fireEvent("update",this.el,A);if(typeof A.argument.callback=="function"){A.argument.callback.call(A.argument.scope,this.el,true,A,A.argument.options)}},processFailure:function(A){this.transaction=null;this.fireEvent("failure",this.el,A);if(typeof A.argument.callback=="function"){A.argument.callback.call(A.argument.scope,this.el,false,A,A.argument.options)}},setRenderer:function(A){this.renderer=A},getRenderer:function(){return this.renderer},setDefaultUrl:function(A){this.defaultUrl=A},abort:function(){if(this.transaction){Ext.Ajax.abort(this.transaction)}},isUpdating:function(){if(this.transaction){return Ext.Ajax.isLoading(this.transaction)}return false}});Ext.Updater.defaults={timeout:30,loadScripts:false,sslBlankUrl:(Ext.SSL_SECURE_URL||"javascript:false"),disableCaching:false,showLoadIndicator:true,indicatorText:"
    Loading...
    "};Ext.Updater.updateElement=function(D,C,E,B){var A=Ext.get(D).getUpdater();Ext.apply(A,B);A.update(C,E,B?B.callback:null)};Ext.Updater.BasicRenderer=function(){};Ext.Updater.BasicRenderer.prototype={render:function(C,A,B,D){C.update(A.responseText,B.loadScripts,D)}};Ext.UpdateManager=Ext.Updater; +Ext.util.DelayedTask=function(E,D,A){var G=null,F,B;var C=function(){var H=new Date().getTime();if(H-B>=F){clearInterval(G);G=null;E.apply(D,A||[])}};this.delay=function(I,K,J,H){if(G&&I!=F){this.cancel()}F=I;B=new Date().getTime();E=K||E;D=J||D;A=H||A;if(!G){G=setInterval(C,F)}};this.cancel=function(){if(G){clearInterval(G);G=null}}}; diff --git a/skins/jason/extjs/locale/ext-lang-af.js b/skins/jason/extjs/locale/ext-lang-af.js new file mode 100644 index 0000000..cafc287 --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-af.js @@ -0,0 +1,178 @@ +/* + * List compiled by mystix on the extjs.com forums. + * Thank you Mystix! + * + * Afrikaans Translations + * by Thys Meintjes (20 July 2007) + */ + +/* Ext Core translations */ +Ext.UpdateManager.defaults.indicatorText = '
    Besig om te laai...
    '; + +/* Ext single string translations */ +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} geselekteerde ry(e)"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Maak die oortjie toe"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "Die waarde in hierdie veld is foutief"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "Besig om te laai..."; +} + +/* Javascript month and days translations */ +Date.monthNames = [ + "Januarie", + "Februarie", + "Maart", + "April", + "Mei", + "Junie", + "Julie", + "Augustus", + "September", + "Oktober", + "November", + "Desember" +]; + +Date.dayNames = [ + "Sondag", + "Maandag", + "Dinsdag", + "Woensdag", + "Donderdag", + "Vrydag", + "Saterdag" +]; + +/* Ext components translations */ +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "OK", + cancel : "Kanselleer", + yes : "Ja", + no : "Nee" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d-m-y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "Vandag", + minText : "Hierdie datum is vroër as die minimum datum", + maxText : "Hierdie dataum is later as die maximum datum", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Volgende Maand (Beheer+Regs)', + prevText : 'Vorige Maand (Beheer+Links)', + monthYearText : "Kies 'n maand (Beheer+Op/Af volgende/vorige jaar)", + todayTip : "{0} (Spasie)", + format : "d-m-y", + startDay : 0 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Bladsy", + afterPageText : "van {0}", + firstText : "Eerste Bladsy", + prevText : "Vorige Bladsy", + nextText : "Volgende Bladsy", + lastText : "Laatste Bladsy", + refreshText : "Verfris", + displayMsg : "Wys {0} - {1} van {2}", + emptyMsg : 'Geen data om te wys nie' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "Die minimum lengte van die veld is {0}", + maxLengthText : "Die maximum lengte van die veld is {0}", + blankText : "Die veld is verpligtend", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "Die minimum waarde vir die veld is {0}", + maxText : "Die maximum waarde vir die veld is {0}", + nanText : "{0} is nie 'n geldige waarde nie" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "Afgeskakel", + disabledDatesText : "Afgeskakel", + minText : "Die datum in hierdie veld moet na {0} wees", + maxText : "Die datum in hierdie veld moet voor {0} wees", + invalidText : "{0} is nie 'n geldige datum nie - datumformaat is {1}", + format : "d/m/y", + altFormats : "d/m/Y|d-m-y|d-m-Y|d/m|d-m|dm|dmy|dmY|d|Y-m-d" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "Besig om te laai...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : "Hierdie veld moet 'n e-pos adres wees met die formaat 'gebruiker@domein.za'", + urlText : "Hierdie veld moet 'n URL wees me die formaat 'http:/'+'/www.domein.za'", + alphaText : 'Die veld mag alleenlik letters en _ bevat', + alphanumText : 'Die veld mag alleenlik letters, syfers en _ bevat' + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Sorteer Oplopend", + sortDescText : "Sorteer Aflopend", + lockText : "Vries Kolom", + unlockText : "Ontvries Kolom", + columnsText : "Kolomme" + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Naam", + valueText : "Waarde", + dateFormat : "Y-m-j" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Trek om grootte aan te pas.", + collapsibleSplitTip : "Trek om grootte aan te pas. Dubbel-klik om weg te steek." + }); +} \ No newline at end of file diff --git a/skins/jason/extjs/locale/ext-lang-bg.js b/skins/jason/extjs/locale/ext-lang-bg.js new file mode 100644 index 0000000..29d80b2 --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-bg.js @@ -0,0 +1,272 @@ +/** + * Bulgarian Translation + * + * By Георги КоÑтадинов, Калгари, Канада + * 10 October 2007 + * By Nedko Penev + * 26 October 2007 + * + * (utf-8 encoding) + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Зареждане...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} избрани колони"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Затвори таб"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "Ðевалидна ÑтойноÑÑ‚ на полето"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "Зареждане..."; +} + +Date.monthNames = [ + "Януари", + "Февруари", + "Март", + "Ðприл", + "Май", + "Юни", + "Юли", + "ÐвгуÑÑ‚", + "Септември", + "Октомври", + "Ðоември", + "Декември" +]; + +Date.monthNumbers = { + Jan : 0, + Feb : 1, + Mar : 2, + Apr : 3, + May : 4, + Jun : 5, + Jul : 6, + Aug : 7, + Sep : 8, + Oct : 9, + Nov : 10, + Dec : 11 +}; + +Date.dayNames = [ + "ÐеделÑ", + "Понеделник", + "Вторник", + "СрÑда", + "Четвъртък", + "Петък", + "Събота" +]; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "OK", + cancel : "Отмени", + yes : "Да", + no : "Ðе" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d.m.Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "ДнеÑ", + minText : "Тази дата е преди минималната", + maxText : "Тази дата е Ñлед макÑималната", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Следващ меÑец (Control+Right)', + prevText : 'Предишен меÑец (Control+Left)', + monthYearText : 'Избери меÑец (Control+Up/Down за премеÑтване по години)', + todayTip : "{0} (Spacebar)", + format : "d.m.y", + okText : " OK ", + cancelText : "Отмени", + startDay : 1 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Страница", + afterPageText : "от {0}", + firstText : "Първа Ñтраница", + prevText : "Предишна Ñтраница", + nextText : "Следваща Ñтраница", + lastText : "ПоÑледна Ñтраница", + refreshText : "Презареди", + displayMsg : "Показвайки {0} - {1} от {2}", + emptyMsg : 'ÐÑма данни за показване' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "Минималната дължина на това поле е {0}", + maxLengthText : "МакÑималната дължина на това поле е {0}", + blankText : "Това поле е задължително", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "Минималната ÑтойноÑÑ‚ за това поле е {0}", + maxText : "МакÑималната ÑтойноÑÑ‚ за това поле е {0}", + nanText : "{0} не е валидно чиÑло" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "ÐедоÑтъпен", + disabledDatesText : "ÐедоÑтъпен", + minText : "Датата в това поле трÑбва да е Ñлед {0}", + maxText : "Датата в това поле трÑбва да е преди {0}", + invalidText : "{0} не е валидна дата - трÑбва да бъде във формат {1}", + format : "d.m.y", + altFormats : "d.m.y|d/m/Y|d-m-y|d-m-Y|d/m|d-m|dm|dmy|dmY|d|Y-m-d" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "Зареждане...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'Това поле трÑбва да бъде емейл във формат "user@domain.com"', + urlText : 'Това поле трÑбва да бъде URL във формат "http:/'+'/www.domain.com"', + alphaText : 'Това поле трÑбва да Ñъдържа Ñамо букви и _', + alphanumText : 'Това поле трÑбва да Ñъдържа Ñамо букви, цифри и _' + }); +} + +if(Ext.form.HtmlEditor){ + Ext.apply(Ext.form.HtmlEditor.prototype, { + createLinkText : 'МолÑ, въведете URL за връзката:', + buttonTips : { + bold : { + title: 'Bold (Ctrl+B)', + text: 'УдебелÑва Ð¸Ð·Ð±Ñ€Ð°Ð½Ð¸Ñ Ñ‚ÐµÐºÑÑ‚.', + cls: 'x-html-editor-tip' + }, + italic : { + title: 'Italic (Ctrl+I)', + text: 'Прави Ð¸Ð·Ð±Ñ€Ð°Ð½Ð¸Ñ Ñ‚ÐµÐºÑÑ‚ курÑив.', + cls: 'x-html-editor-tip' + }, + underline : { + title: 'Underline (Ctrl+U)', + text: 'Подчертава Ð¸Ð·Ð±Ñ€Ð°Ð½Ð¸Ñ Ñ‚ÐµÐºÑÑ‚.', + cls: 'x-html-editor-tip' + }, + increasefontsize : { + title: 'Уголеми текÑта', + text: 'УголемÑва размера на шрифта.', + cls: 'x-html-editor-tip' + }, + decreasefontsize : { + title: 'Ðамали текÑта', + text: 'ÐамалÑва размера на шрифта.', + cls: 'x-html-editor-tip' + }, + backcolor : { + title: 'ЦвÑÑ‚ на Ð¼Ð°Ñ€ÐºÐ¸Ñ€Ð°Ð½Ð¸Ñ Ñ‚ÐµÐºÑÑ‚', + text: 'ÐŸÑ€Ð¾Ð¼ÐµÐ½Ñ Ñ„Ð¾Ð½Ð¾Ð²Ð¸Ñ Ñ†Ð²ÑÑ‚ на Ð¸Ð·Ð±Ñ€Ð°Ð½Ð¸Ñ Ñ‚ÐµÐºÑÑ‚.', + cls: 'x-html-editor-tip' + }, + forecolor : { + title: 'ЦвÑÑ‚ на шрифта', + text: 'ÐŸÑ€Ð¾Ð¼ÐµÐ½Ñ Ñ†Ð²ÐµÑ‚Ð° на Ð¸Ð·Ð±Ñ€Ð°Ð½Ð¸Ñ Ñ‚ÐµÐºÑÑ‚.', + cls: 'x-html-editor-tip' + }, + justifyleft : { + title: 'ЛÑво подравнÑване', + text: 'ПодравнÑва текÑта на лÑво.', + cls: 'x-html-editor-tip' + }, + justifycenter : { + title: 'Центриране', + text: 'Центрира текÑта.', + cls: 'x-html-editor-tip' + }, + justifyright : { + title: 'ДÑÑно подравнÑване', + text: 'ПодравнÑва текÑта на дÑÑно.', + cls: 'x-html-editor-tip' + }, + insertunorderedlist : { + title: 'Ðеномериран ÑпиÑък', + text: 'Започва неномериран ÑпиÑък.', + cls: 'x-html-editor-tip' + }, + insertorderedlist : { + title: 'Ðомериран ÑпиÑък', + text: 'Започва номериран ÑпиÑък.', + cls: 'x-html-editor-tip' + }, + createlink : { + title: 'Хипервръзка', + text: 'Превръща Ð¸Ð·Ð±Ñ€Ð°Ð½Ð¸Ñ Ñ‚ÐµÐºÑÑ‚ в хипервръзка.', + cls: 'x-html-editor-tip' + }, + sourceedit : { + title: 'Редактиране на кода', + text: 'Преминаване в режим на редактиране на кода.', + cls: 'x-html-editor-tip' + } + } + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Подреди в нараÑтващ ред", + sortDescText : "Подреди в намалÑващ ред", + lockText : "Заключи колона", + unlockText : "Отключи колона", + columnsText : "Колони" + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Име", + valueText : "СтойноÑÑ‚", + dateFormat : "d.m.Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Влачете Ñ Ð¼Ð¸ÑˆÐºÐ°Ñ‚Ð° за да промените размера.", + collapsibleSplitTip : "Влачете Ñ Ð¼Ð¸ÑˆÐºÐ°Ñ‚Ð° за да промените размера. Чукнете два пъти за да Ñкриете." + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-ca.js b/skins/jason/extjs/locale/ext-lang-ca.js new file mode 100644 index 0000000..1d9842d --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-ca.js @@ -0,0 +1,286 @@ +/** + * Catalonian Translation by halkon_polako 6-12-2007 + * December correction halkon_polako 11-12-2007 + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Carregant...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} fila(es) seleccionada(es)"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Tancar aquesta pestanya"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "El valor d'aquest camp és invàlid"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "Carregant..."; +} + +Date.monthNames = [ + "Gener", + "Febrer", + "Març", + "Abril", + "Maig", + "Juny", + "Juliol", + "Agost", + "Setembre", + "Octubre", + "Novembre", + "Desembre" +]; + +Date.getShortMonthName = function(month) { + return Date.monthNames[month].substring(0, 3); +}; + +Date.monthNumbers = { + Gen : 0, + Feb : 1, + Mar : 2, + Abr : 3, + Mai : 4, + Jun : 5, + Jul : 6, + Ago : 7, + Set : 8, + Oct : 9, + Nov : 10, + Dec : 11 +}; + +Date.getMonthNumber = function(name) { + return Date.monthNumbers[name.substring(0, 1).toUpperCase() + name.substring(1, 3).toLowerCase()]; +}; + +Date.dayNames = [ + "Diumenge", + "Dilluns", + "Dimarts", + "Dimecres", + "Dijous", + "Divendres", + "Dissabte" +]; + +Date.getShortDayName = function(day) { + return Date.dayNames[day].substring(0, 3); +}; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "Acceptar", + cancel : "Cancel·lar", + yes : "Sí", + no : "No" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d/m/Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "Avui", + minText : "Aquesta data és anterior a la data mínima", + maxText : "Aquesta data és posterior a la data màxima", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Mes Següent (Control+Fletxa Dreta)', + prevText : 'Mes Anterior (Control+Fletxa Esquerra)', + monthYearText : 'Seleccioni un mes (Control+Fletxa a Dalt o Abaix per canviar els anys)', + todayTip : "{0} (Barra d'espai)", + format : "d/m/Y", + okText : " Acceptar ", + cancelText : "Cancel·lar", + startDay : 1 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Pàgina", + afterPageText : "de {0}", + firstText : "Primera Pàgina", + prevText : "Pàgina Anterior", + nextText : "Pàgina Següent", + lastText : "Darrera Pàgina", + refreshText : "Refrescar", + displayMsg : "Mostrant {0} - {1} de {2}", + emptyMsg : 'Sense dades per mostrar' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "El tamany mínim per aquest camp és {0}", + maxLengthText : "El tamany màxim per aquest camp és {0}", + blankText : "Aquest camp és obligatori", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "El valor mínim per aquest camp és {0}", + maxText : "El valor màxim per aquest camp és {0}", + nanText : "{0} no és un nombre vàlid" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "Deshabilitat", + disabledDatesText : "Deshabilitat", + minText : "La data en aquest camp ha de ser posterior a {0}", + maxText : "La data en aquest camp ha de ser inferior a {0}", + invalidText : "{0} no és una data vàlida - ha de tenir el format {1}", + format : "d/m/Y", + altFormats : "d/m/Y|d-m-y|d-m-Y|d/m|d-m|dm|dmy|dmY|d|Y-m-d" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "Carregant...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'Aquest camp ha de ser una adreça de e-mail amb el format "user@domain.com"', + urlText : 'Aquest camp ha de ser una URL amb el format "http:/'+'/www.domain.com"', + alphaText : 'Aquest camp només pot contenir lletres i _', + alphanumText : 'Aquest camp només por contenir lletres, nombres i _' + }); +} + +if(Ext.form.HtmlEditor){ + Ext.apply(Ext.form.HtmlEditor.prototype, { + createLinkText : 'Si us plau, tecleixi la URL per l\'enllaç:', + buttonTips : { + bold : { + title: 'Negreta (Ctrl+B)', + text: 'Posa el text seleccionat en negreta.', + cls: 'x-html-editor-tip' + }, + italic : { + title: 'Itàlica (Ctrl+I)', + text: 'Posa el text seleccionat en itàlica.', + cls: 'x-html-editor-tip' + }, + underline : { + title: 'Subratllat (Ctrl+U)', + text: 'Subratlla el text seleccionat.', + cls: 'x-html-editor-tip' + }, + increasefontsize : { + title: 'Augmentar Text', + text: 'Augmenta el tamany de la font de text.', + cls: 'x-html-editor-tip' + }, + decreasefontsize : { + title: 'Disminuir Text', + text: 'Disminueix el tamany de la font de text.', + cls: 'x-html-editor-tip' + }, + backcolor : { + title: 'Color de fons', + text: 'Canvia el color de fons del text seleccionat.', + cls: 'x-html-editor-tip' + }, + forecolor : { + title: 'Color de la font de text', + text: 'Canvia el color del text seleccionat.', + cls: 'x-html-editor-tip' + }, + justifyleft : { + title: 'Alinear a la esquerra', + text: 'Alinea el text a la esquerra.', + cls: 'x-html-editor-tip' + }, + justifycenter : { + title: 'Centrar el text', + text: 'Centra el text a l\'editor', + cls: 'x-html-editor-tip' + }, + justifyright : { + title: 'Alinear a la dreta', + text: 'Alinea el text a la dreta.', + cls: 'x-html-editor-tip' + }, + insertunorderedlist : { + title: 'Llista amb vinyetes', + text: 'Comença una llista amb vinyetes.', + cls: 'x-html-editor-tip' + }, + insertorderedlist : { + title: 'Llista numerada', + text: 'Comença una llista numerada.', + cls: 'x-html-editor-tip' + }, + createlink : { + title: 'Enllaç', + text: 'Transforma el text seleccionat en un enllaç.', + cls: 'x-html-editor-tip' + }, + sourceedit : { + title: 'Editar Codi', + text: 'Canvia al mode d\'edició de codi.', + cls: 'x-html-editor-tip' + } + } + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Ordenació Ascendent", + sortDescText : "Ordenació Descendent", + lockText : "Bloquejar Columna", + unlockText : "Desbloquejar Columna", + columnsText : "Columnes" + }); +} + +if(Ext.grid.GroupingView){ + Ext.apply(Ext.grid.GroupingView.prototype, { + emptyGroupText : '(Buit)', + groupByText : 'Agrupar Per Aquest Camp', + showGroupsText : 'Mostrar en Grups' + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Nom", + valueText : "Valor", + dateFormat : "d/m/Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Cliqueu i arrossegueu per canviar el tamany del panell.", + collapsibleSplitTip : "Cliqueu i arrossegueu per canviar el tamany del panell. Doble clic per ocultar-ho." + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-cs.js b/skins/jason/extjs/locale/ext-lang-cs.js new file mode 100644 index 0000000..2d20d86 --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-cs.js @@ -0,0 +1,287 @@ +/** + * Czech Translations + * Translated by Tomáš KorÄák (72) + * 2008/02/08 18:02, Ext-2.0.1 + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Prosím Äekejte...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} vybraných řádků"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Zavřít záložku"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "Hodnota v tomto poli je neplatná"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "Prosím Äekejte..."; +} + +Date.monthNames = [ + "Leden", + "Únor", + "BÅ™ezen", + "Duben", + "KvÄ›ten", + "ÄŒerven", + "ÄŒervenec", + "Srpen", + "Září", + "Říjen", + "Listopad", + "Prosinec" +]; + +Date.getShortMonthName = function(month) { + return Date.monthNames[month].substring(0, 3); +}; + +Date.monthNumbers = { + Jan : 0, + Feb : 1, + Mar : 2, + Apr : 3, + May : 4, + Jun : 5, + Jul : 6, + Aug : 7, + Sep : 8, + Oct : 9, + Nov : 10, + Dec : 11 +}; + +Date.getMonthNumber = function(name) { + return Date.monthNumbers[name.substring(0, 1).toUpperCase() + name.substring(1, 3).toLowerCase()]; +}; + +Date.dayNames = [ + "NedÄ›le", + "PondÄ›lí", + "Úterý", + "StÅ™eda", + "ÄŒtvrtek", + "Pátek", + "Sobota" +]; + +Date.getShortDayName = function(day) { + return Date.dayNames[day].substring(0, 3); +}; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "OK", + cancel : "Storno", + yes : "Ano", + no : "Ne" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d.m.Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "Dnes", + minText : "Datum nesmí být starší než je minimální", + maxText : "Datum nesmí být dřívÄ›jší než je maximální", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Následující mÄ›síc (Control+Right)', + prevText : 'PÅ™edcházející mÄ›síc (Control+Left)', + monthYearText : 'Zvolte mÄ›síc (ke zmÄ›nÄ› let použijte Control+Up/Down)', + todayTip : "{0} (Spacebar)", + format : "d.m.Y", + okText : " OK ", + cancelText : "Storno", + startDay : 1 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Strana", + afterPageText : "z {0}", + firstText : "První strana", + prevText : "PÅ™echázející strana", + nextText : "Následující strana", + lastText : "Poslední strana", + refreshText : "Aktualizovat", + displayMsg : "Zobrazeno {0} - {1} z celkových {2}", + emptyMsg : 'Žádné záznamy nebyly nalezeny' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "Pole nesmí mít ménÄ› {0} znaků", + maxLengthText : "Pole nesmí být delší než {0} znaků", + blankText : "This field is required", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "Hodnota v tomto poli nesmí být menší než {0}", + maxText : "Hodnota v tomto poli nesmí být vÄ›tší než {0}", + nanText : "{0} není platné Äíslo" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "Neaktivní", + disabledDatesText : "Neaktivní", + minText : "Datum v tomto poli nesmí být starší než {0}", + maxText : "Datum v tomto poli nesmí být novÄ›jší než {0}", + invalidText : "{0} není platným datem - zkontrolujte zda-li je ve formátu {1}", + format : "d.m.Y", + altFormats : "d/m/Y|d-m-y|d-m-Y|d/m|d-m|dm|dmy|dmY|d|Y-m-d" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "Prosím Äekejte...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'V tomto poli může být vyplnÄ›na pouze emailová adresa ve formátu "uživatel@doména.cz"', + urlText : 'V tomto poli může být vyplnÄ›na pouze URL (adresa internetové stránky) ve formátu "http:/'+'/www.doména.cz"', + alphaText : 'Toto pole může obsahovat pouze písmena abecedy a znak _', + alphanumText : 'Toto pole může obsahovat pouze písmena abecedy, Äísla a znak _' + }); +} + +if(Ext.form.HtmlEditor){ + Ext.apply(Ext.form.HtmlEditor.prototype, { + createLinkText : 'Zadejte URL adresu odkazu:', + buttonTips : { + bold : { + title: 'TuÄné (Ctrl+B)', + text: 'OznaÄí vybraný text tuÄnÄ›.', + cls: 'x-html-editor-tip' + }, + italic : { + title: 'Kurzíva (Ctrl+I)', + text: 'OznaÄí vybraný text kurzívou.', + cls: 'x-html-editor-tip' + }, + underline : { + title: 'Podtržení (Ctrl+U)', + text: 'Podtrhne vybraný text.', + cls: 'x-html-editor-tip' + }, + increasefontsize : { + title: 'ZvÄ›tÅ¡it písmo', + text: 'ZvÄ›tší velikost písma.', + cls: 'x-html-editor-tip' + }, + decreasefontsize : { + title: 'Zúžit písmo', + text: 'Zmenší velikost písma.', + cls: 'x-html-editor-tip' + }, + backcolor : { + title: 'Barva zvýraznÄ›ní textu', + text: 'OznaÄí vybraný text tak, aby vypadal jako oznaÄený zvýrazňovaÄem.', + cls: 'x-html-editor-tip' + }, + forecolor : { + title: 'Barva písma', + text: 'ZmÄ›ní barvu textu.', + cls: 'x-html-editor-tip' + }, + justifyleft : { + title: 'Zarovnat text vlevo', + text: 'Zarovná text doleva.', + cls: 'x-html-editor-tip' + }, + justifycenter : { + title: 'Zarovnat na stÅ™ed', + text: 'Zarovná text na stÅ™ed.', + cls: 'x-html-editor-tip' + }, + justifyright : { + title: 'Zarovnat text vpravo', + text: 'Zarovná text doprava.', + cls: 'x-html-editor-tip' + }, + insertunorderedlist : { + title: 'Odrážky', + text: 'ZaÄne seznam s odrážkami.', + cls: 'x-html-editor-tip' + }, + insertorderedlist : { + title: 'Číslování', + text: 'ZaÄne Äíslovaný seznam.', + cls: 'x-html-editor-tip' + }, + createlink : { + title: 'Internetový odkaz', + text: 'Z vybraného textu vytvoří internetový odkaz.', + cls: 'x-html-editor-tip' + }, + sourceedit : { + title: 'Zdrojový kód', + text: 'PÅ™epne do módu úpravy zdrojového kódu.', + cls: 'x-html-editor-tip' + } + } + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Řadit vzestupnÄ›", + sortDescText : "Řadit sestupnÄ›", + lockText : "Ukotvit sloupec", + unlockText : "Uvolnit sloupec", + columnsText : "Sloupce" + }); +} + +if(Ext.grid.GroupingView){ + Ext.apply(Ext.grid.GroupingView.prototype, { + emptyGroupText : '(Žádná data)', + groupByText : 'Seskupit dle tohoto pole', + showGroupsText : 'Zobrazit ve skupinÄ›' + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Název", + valueText : "Hodnota", + dateFormat : "j.m.Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Tahem zmÄ›nit velikost.", + collapsibleSplitTip : "Tahem zmÄ›nit velikost. Dvojklikem skrýt." + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-da.js b/skins/jason/extjs/locale/ext-lang-da.js new file mode 100644 index 0000000..b8bd959 --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-da.js @@ -0,0 +1,290 @@ +/* + * Danish translation + * By JohnF + * 04-09-2007, 05:28 AM + * + * Extended and modified by Karl Krukow, + * December, 2007. + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Henter...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} markerede rækker"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Luk denne fane"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "Værdien i dette felt er ugyldig"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "Henter..."; +} + +Date.monthNames = [ + "januar", + "februar", + "marts", + "april", + "maj", + "juni", + "juli", + "august", + "september", + "oktober", + "november", + "december" +]; + +Date.getShortMonthName = function(month) { + return Date.monthNames[month].substring(0, 3); +}; + +Date.monthNumbers = { + Jan : 0, + Feb : 1, + Mar : 2, + Apr : 3, + May : 4, + Jun : 5, + Jul : 6, + Aug : 7, + Sep : 8, + Oct : 9, + Nov : 10, + Dec : 11 +}; + +Date.getMonthNumber = function(name) { + return Date.monthNumbers[name.substring(0, 1).toUpperCase() + name.substring(1, 3).toLowerCase()]; +}; + +Date.dayNames = [ + "søndag", + "mandag", + "tirsdag", + "onsdag", + "torsdag", + "fredag", + "lørdag" +]; + +Date.getShortDayName = function(day) { + return Date.dayNames[day].substring(0, 3); +}; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "OK", + cancel : "Fortryd", + yes : "Ja", + no : "Nej" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d/m/Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "I dag", + minText : "Denne dato er før den tidligst tilladte", + maxText : "Denne dato er senere end den senest tilladte", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Næste mÃ¥ned (Ctrl + højre piltast)', + prevText : 'Forrige mÃ¥ned (Ctrl + venstre piltast)', + monthYearText : 'Vælg en mÃ¥ned (Ctrl + op/ned pil for at ændre Ã¥rstal)', + todayTip : "{0} (mellemrum)", + format : "d/m/y", + okText : " OK ", + cancelText : "Cancel", + startDay : 1 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Side", + afterPageText : "af {0}", + firstText : "Første side", + prevText : "Forrige side", + nextText : "Næste side", + lastText : "Sidste side", + refreshText : "Opfrisk", + displayMsg : "Viser {0} - {1} af {2}", + emptyMsg : 'Der er ingen data at vise' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "Minimum længden for dette felt er {0}", + maxLengthText : "Maksimum længden for dette felt er {0}", + blankText : "Dette felt skal udfyldes", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "Mindste-værdien for dette felt er {0}", + maxText : "Maksimum-værdien for dette felt er {0}", + nanText : "{0} er ikke et tilladt nummer" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "Inaktiveret", + disabledDatesText : "Inaktiveret", + minText : "Datoen i dette felt skal være efter {0}", + maxText : "Datoen i dette felt skal være før {0}", + invalidText : "{0} er ikke en tilladt dato - datoer skal angives i formatet {1}", + format : "d/m/y", + altFormats : "d/m/Y|d-m-y|d-m-Y|d/m|d-m|dm|dmy|dmY|d|Y-m-d" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "Henter...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'Dette felt skal være en email adresse i formatet "xxx@yyy.zzz"', + urlText : 'Dette felt skal være en URL i formatet "http:/'+'/xxx.yyy"', + alphaText : 'Dette felt kan kun indeholde bogstaver og "_" (understregning)', + alphanumText : 'Dette felt kan kun indeholde bogstaver, tal og "_" (understregning)' + }); +} + +if(Ext.form.HtmlEditor){ + Ext.apply(Ext.form.HtmlEditor.prototype, { + createLinkText : 'Indtast URL:', + buttonTips : { + bold : { + title: 'Fed (Ctrl+B)', //Can I change this to Ctrl+F? + text: 'Formater det markerede tekst med fed.', + cls: 'x-html-editor-tip' + }, + italic : { + title: 'Kursiv (Ctrl+I)',//Ctrl+K + text: 'Formater det markerede tekst med kursiv.', + cls: 'x-html-editor-tip' + }, + underline : { + title: 'Understreg (Ctrl+U)', + text: 'Understreg det markerede tekst.', + cls: 'x-html-editor-tip' + }, + increasefontsize : { + title: 'Forstør tekst', + text: 'Forøg fontstørrelsen.', + cls: 'x-html-editor-tip' + }, + decreasefontsize : { + title: 'Formindsk tekst', + text: 'Formindsk fontstørrelsen.', + cls: 'x-html-editor-tip' + }, + backcolor : { + title: 'Farve for tekstfremhævelse', + text: 'Skift baggrundsfarve for det markerede tekst.', + cls: 'x-html-editor-tip' + }, + forecolor : { + title: 'Skriftfarve', + text: 'Skift skriftfarve for det markerede tekst.', + cls: 'x-html-editor-tip' + }, + justifyleft : { + title: 'Juster venstre', + text: 'Venstrestil tekst.', + cls: 'x-html-editor-tip' + }, + justifycenter : { + title: 'Centreret', + text: 'Centrer tekst.', + cls: 'x-html-editor-tip' + }, + justifyright : { + title: 'Juster højre', + text: 'Højrestil tekst.', + cls: 'x-html-editor-tip' + }, + insertunorderedlist : { + title: 'Punktopstilling', + text: 'PÃ¥begynd punktopstilling.', + cls: 'x-html-editor-tip' + }, + insertorderedlist : { + title: 'Nummereret opstilling', + text: 'PÃ¥begynd nummereret opstilling.', + cls: 'x-html-editor-tip' + }, + createlink : { + title: 'Hyperlink', + text: 'Lav det markerede test til et hyperlink.', + cls: 'x-html-editor-tip' + }, + sourceedit : { + title: 'Kildetekstredigering', + text: 'Skift til redigering af kildetekst.', + cls: 'x-html-editor-tip' + } + } + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Sortér stigende", + sortDescText : "Sortér faldende", + lockText : "LÃ¥s kolonne", + unlockText : "Fjern lÃ¥s fra kolonne", + columnsText : "Kolonner" + }); +} + +if(Ext.grid.GroupingView){ + Ext.apply(Ext.grid.GroupingView.prototype, { + emptyGroupText : '(Ingen)', + groupByText : 'Gruppér efter dette felt', + showGroupsText : 'Vis i grupper' //should this be sort in groups? + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Navn", + valueText : "Værdi", + dateFormat : "j/m/Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Træk for at ændre størrelsen.", + collapsibleSplitTip : "Træk for at ændre størrelsen. Dobbelt-klik for at skjule." + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-de.js b/skins/jason/extjs/locale/ext-lang-de.js new file mode 100644 index 0000000..9f4db89 --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-de.js @@ -0,0 +1,301 @@ +/* + * German translation + * By schmidetzki and humpdi + * 04-07-2007 + * Updated by wm003 10-31-2007 + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Übertrage Daten ...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} Zeile(n) ausgewählt"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Diesen Tab schließen"; +} + +if(Ext.form.BasicForm){ + Ext.form.BasicForm.prototype.waitTitle = "Bitte warten..."; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "Der Wert des Feldes ist nicht korrekt"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "Übertrage Daten..."; +} + +Date.monthNames = [ + "Januar", + "Februar", + "März", + "April", + "Mai", + "Juni", + "Juli", + "August", + "September", + "Oktober", + "November", + "Dezember" +]; + +Date.getShortMonthName = function(month) { + return Date.monthNames[month].substring(0, 3); +}; + +Date.monthNumbers = { + Jan : 0, + Feb : 1, + Mar : 2, + Apr : 3, + May : 4, + Jun : 5, + Jul : 6, + Aug : 7, + Sep : 8, + Oct : 9, + Nov : 10, + Dec : 11 +}; + +Date.getMonthNumber = function(name) { + return Date.monthNumbers[name.substring(0, 1).toUpperCase() + name.substring(1, 3).toLowerCase()]; +}; + +Date.dayNames = [ + "Sonntag", + "Montag", + "Dienstag", + "Mittwoch", + "Donnerstag", + "Freitag", + "Samstag" +]; + +Date.getShortDayName = function(day) { + return Date.dayNames[day].substring(0, 3); +}; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "OK", + cancel : "Abbrechen", + yes : "Ja", + no : "Nein" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d.m.Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "Heute", + minText : "Dieses Datum liegt von dem erstmöglichen Datum", + maxText : "Dieses Datum liegt nach dem letztmöglichen Datum", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : "Nächster Monat (Strg/Control + Rechts)", + prevText : "Vorheriger Monat (Strg/Control + Links)", + monthYearText : "Monat auswählen (Strg/Control + Hoch/Runter, um ein Jahr auszuwählen)", + todayTip : "Heute ({0}) (Leertaste)", + format : "d.m.Y", + okText : " OK ", + cancelText : "Abbrechen", + startDay : 1 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Seite", + afterPageText : "von {0}", + firstText : "Erste Seite", + prevText : "vorherige Seite", + nextText : "nächste Seite", + lastText : "letzte Seite", + refreshText : "Aktualisieren", + displayMsg : "Anzeige Eintrag {0} - {1} von {2}", + emptyMsg : "Keine Daten vorhanden" + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "Bitte geben Sie mindestens {0} Zeichen ein", + maxLengthText : "Bitte geben Sie maximal {0} Zeichen ein", + blankText : "Dieses Feld darf nicht leer sein", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "Der Mindestwert für dieses Feld ist {0}", + maxText : "Der Maximalwert für dieses Feld ist {0}", + nanText : "{0} ist keine Zahl" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "nicht erlaubt", + disabledDatesText : "nicht erlaubt", + minText : "Das Datum in diesem Feld muß nach dem {0} liegen", + maxText : "Das Datum in diesem Feld muß vor dem {0} liegen", + invalidText : "{0} ist kein valides Datum - es muß im Format {1} eingegeben werden", + format : "d.m.Y", + altFormats : "d.m.Y|d/m/Y|d-m-y|d-m-Y|d/m|d-m|dm|dmy|dmY|d|Y-m-d" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "Lade Daten ...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'Dieses Feld sollte eine E-Mail-Adresse enthalten. Format: "user@domain.com"', + urlText : 'Dieses Feld sollte eine URL enthalten. Format: "http:/'+'/www.domain.com"', + alphaText : 'Dieses Feld darf nur Buchstaben enthalten und _', + alphanumText : 'Dieses Feld darf nur Buchstaben und Zahlen enthalten und _' + }); +} + +if(Ext.form.HtmlEditor){ + Ext.apply(Ext.form.HtmlEditor.prototype, { + createLinkText : 'Bitte geben Sie die URL für den Link ein:', + buttonTips : { + bold : { + title: 'Fett (Ctrl+B)', + text: 'Erstellt den ausgewählten Text in Fettschrift.', + cls: 'x-html-editor-tip' + }, + italic : { + title: 'Kursiv (Ctrl+I)', + text: 'Erstellt den ausgewählten Text in Schrägschrift.', + cls: 'x-html-editor-tip' + }, + underline : { + title: 'Unterstrichen (Ctrl+U)', + text: 'Unterstreicht den ausgewählten Text.', + cls: 'x-html-editor-tip' + }, + increasefontsize : { + title: 'Text vergößern', + text: 'Erhöht die Schriftgröße.', + cls: 'x-html-editor-tip' + }, + decreasefontsize : { + title: 'Text verkleinern', + text: 'Verringert die Schriftgröße.', + cls: 'x-html-editor-tip' + }, + backcolor : { + title: 'Text farblich hervorheben', + text: 'Hintergrundfarbe des ausgewählten Textes ändern.', + cls: 'x-html-editor-tip' + }, + forecolor : { + title: 'Schriftfarbe', + text: 'Farbe des ausgewählten Textes ändern.', + cls: 'x-html-editor-tip' + }, + justifyleft : { + title: 'Linksbündig', + text: 'Setzt den Text linksbündig.', + cls: 'x-html-editor-tip' + }, + justifycenter : { + title: 'Zentrieren', + text: 'Zentriert den Text in Editor.', + cls: 'x-html-editor-tip' + }, + justifyright : { + title: 'Rechtsbündig', + text: 'Setzt den Text rechtsbündig.', + cls: 'x-html-editor-tip' + }, + insertunorderedlist : { + title: 'Aufzählungsliste', + text: 'Beginnt eine Aufzählungsliste mit Spiegelstrichen.', + cls: 'x-html-editor-tip' + }, + insertorderedlist : { + title: 'Numerierte Liste', + text: 'Beginnt eine numerierte Liste.', + cls: 'x-html-editor-tip' + }, + createlink : { + title: 'Hyperlink', + text: 'Erstellt einen Hyperlink aus dem ausgewählten text.', + cls: 'x-html-editor-tip' + }, + sourceedit : { + title: 'Source bearbeiten', + text: 'Zur Bearbeitung des Quelltextes wechseln.', + cls: 'x-html-editor-tip' + } + } + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Aufsteigend sortieren", + sortDescText : "Absteigend sortieren", + lockText : "Spalte sperren", + unlockText : "Spalte freigeben (entsperren)", + columnsText : "Spalten" + }); +} + +if(Ext.grid.GroupingView){ + Ext.apply(Ext.grid.GroupingView.prototype, { + emptyGroupText : '(Keine)', + groupByText : 'Dieses Feld gruppieren', + showGroupsText : 'In Gruppen anzeigen' + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Name", + valueText : "Wert", + dateFormat : "d.m.Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Ziehen, um Größe zu ändern.", + collapsibleSplitTip : "Ziehen, um Größe zu ändern. Doppelklick um Panel auszublenden." + }); +} + +if(Ext.form.TimeField){ + Ext.apply(Ext.form.TimeField.prototype, { + minText : "Die Zeit muss gleich oder nach {0} liegen", + maxText : "Die Zeit muss gleich oder vor {0} liegen", + invalidText : "{0} ist keine gültige Zeit", + format : "H:i" + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-el_GR.js b/skins/jason/extjs/locale/ext-lang-el_GR.js new file mode 100644 index 0000000..9eb35d4 --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-el_GR.js @@ -0,0 +1,311 @@ +/* + * Ext JS Library 2.1 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +/** + * Greek translation + * By thesilentman (utf8 encoding) + * 27 Apr 2008 + * + * Changes since previous (second) Version: + * + added Date.shortMonthNames + * + added Date.getShortMonthName + * + added Date.monthNumbers + * + added Ext.grid.GroupingView + */ + +Ext.UpdateManager.defaults.indicatorText = '
    ΜεταφόÏτωση δεδομένων...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} Επιλεγμένες σειÏές"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Κλείστε το tab"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "Το πεÏιεχόμενο του πεδίου δεν είναι αποδεκτό"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "ΜεταφόÏτωση δεδομένων..."; +} + +Date.monthNames = [ + "ΙανουάÏιος", + "ΦεβÏουάÏιος", + "ΜάÏτιος", + "ΑπÏίλιος", + "Μάιος", + "ΙοÏνιος", + "ΙοÏλιος", + "ΑÏγουστος", + "ΣεπτέμβÏιος", + "ΟκτώβÏιος", + "ÎοέμβÏιος", + "ΔεκέμβÏιος" +]; + +Date.shortMonthNames = [ + "Ιαν", + "Φεβ", + "ΜάÏ", + "ΑπÏ", + "Μάι", + "ΙοÏ", + "ΙοÏ", + "ΑÏγ", + "Σεπ", + "Οκτ", + "Îοέ", + "Δεκ" +]; + +Date.getShortMonthName = function(month) { + return Date.monthNames[month].substring(0, 3); +}; + +Date.monthNumbers = { + Jan : 0, + Feb : 1, + Mar : 2, + Apr : 3, + May : 4, + Jun : 5, + Jul : 6, + Aug : 7, + Sep : 8, + Oct : 9, + Nov : 10, + Dec : 11 +}; + +Date.getMonthNumber = function(name) { + return Date.monthNumbers[name.substring(0, 1).toUpperCase() + name.substring(1, 3).toLowerCase()]; +}; + + +Date.dayNames = [ + "ΚυÏιακή", + "ΔευτέÏα", + "ΤÏίτη", + "ΤετάÏτη", + "Πέμπτη", + "ΠαÏασκευή", + "Σάββατο" +]; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "OK", + cancel : "ΆκυÏο", + yes : "Îαι", + no : "Όχι" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d/m/Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "ΣήμεÏα", + minText : "Η ΗμεÏομηνία είναι Ï€ÏογενέστεÏη από την παλαιότεÏη αποδεκτή", + maxText : "Η ΗμεÏομηνία είναι μεταγενέστεÏη από την νεότεÏη αποδεκτή", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Επόμενος Μήνας (Control+Δεξί Βέλος)', + prevText : 'ΠÏοηγοÏμενος Μήνας (Control + ΑÏιστεÏÏŒ Βέλος)', + monthYearText : 'Επιλογή Μηνός (Control + Επάνω/Κάτω Βέλος για μεταβολή ετών)', + todayTip : "{0} (ΠΛήκτÏο Διαστήματος)", + format : "d/m/y" + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Σελίδα", + afterPageText : "από {0}", + firstText : "ΠÏώτη Σελίδα", + prevText : "ΠÏοηγοÏμενη Σελίδα", + nextText : "Επόμενη Σελίδα", + lastText : "Τελευταία Σελίδα", + refreshText : "Ανανέωση", + displayMsg : "Εμφάνιση {0} - {1} από {2}", + emptyMsg : 'Δεν υπάÏχουν δεδομένα' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "Το μικÏότεÏο αποδεκτό μήκος για το πεδίο είναι {0}", + maxLengthText : "Το μεγαλÏτεÏο αποδεκτό μήκος για το πεδίο είναι {0}", + blankText : "Το πεδίο είναι υποχÏεωτικό", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "Η μικÏότεÏη τιμή του πεδίου είναι {0}", + maxText : "Η μεγαλÏτεÏη τιμή του πεδίου είναι {0}", + nanText : "{0} δεν είναι αποδεκτός αÏιθμός" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "ΑνενεÏγό", + disabledDatesText : "ΑνενεÏγό", + minText : "Η ημεÏομηνία Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… πεδίου Ï€Ïέπει να είναι μετά την {0}", + maxText : "Η ημεÏομηνία Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… πεδίου Ï€Ïέπει να είναι Ï€Ïιν την {0}", + invalidText : "{0} δεν είναι έγκυÏη ημεÏομηνία - Ï€Ïέπει να είναι στη μοÏφή {1}", + format : "d/m/y" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "ΜεταφόÏτωση δεδομένων...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'Το πεδίο δέχεται μόνο διευθÏνσεις Email σε μοÏφή "user@domain.com"', + urlText : 'Το πεδίο δέχεται μόνο URL σε μοÏφή "http:/'+'/www.domain.com"', + alphaText : 'Το πεδίο δέχεται μόνο χαÏακτήÏες και _', + alphanumText : 'Το πεδίο δέχεται μόνο χαÏακτήÏες, αÏιθμοÏÏ‚ και _' + }); +} + +if(Ext.form.HtmlEditor){ + Ext.apply(Ext.form.HtmlEditor.prototype, { + createLinkText : 'Δώστε τη διεÏθυνση (URL) για το σÏνδεσμο (link):', + buttonTips : { + bold : { + title: 'Έντονα (Ctrl+B)', + text: 'Κάνετε το Ï€Ïοεπιλεγμένο κείμενο έντονο.', + cls: 'x-html-editor-tip' + }, + italic : { + title: 'Πλάγια (Ctrl+I)', + text: 'Κάνετε το Ï€Ïοεπιλεγμένο κείμενο πλάγιο.', + cls: 'x-html-editor-tip' + }, + underline : { + title: 'ΥπογÏάμμιση (Ctrl+U)', + text: 'ΥπογÏαμμίζετε το Ï€Ïοεπιλεγμένο κείμενο.', + cls: 'x-html-editor-tip' + }, + increasefontsize : { + title: 'Μεγέθυνση κειμένου', + text: 'Μεγαλώνετε τη γÏαμματοσειÏά.', + cls: 'x-html-editor-tip' + }, + decreasefontsize : { + title: 'ΣμίκÏυνση κειμένου', + text: 'ΜικÏαίνετε τη γÏαμματοσειÏά.', + cls: 'x-html-editor-tip' + }, + backcolor : { + title: 'ΧÏώμα Φόντου Κειμένου', + text: 'Αλλάζετε το χÏώμα στο φόντο του Ï€Ïοεπιλεγμένου κειμένου.', + cls: 'x-html-editor-tip' + }, + forecolor : { + title: 'ΧÏώμα ΓÏαμματοσειÏάς', + text: 'Αλλάζετε το χÏώμα στη γÏαμματοσειÏά του Ï€Ïοεπιλεγμένου κειμένου.', + cls: 'x-html-editor-tip' + }, + justifyleft : { + title: 'ΑÏιστεÏή Στοίχιση Κειμένου', + text: 'Στοιχίζετε το κείμενο στα αÏιστεÏά.', + cls: 'x-html-editor-tip' + }, + justifycenter : { + title: 'ΚεντÏάÏισμα Κειμένου', + text: 'Στοιχίζετε το κείμενο στο κέντÏο.', + cls: 'x-html-editor-tip' + }, + justifyright : { + title: 'Δεξιά Στοίχιση Κειμένου', + text: 'Στοιχίζετε το κείμενο στα δεξιά.', + cls: 'x-html-editor-tip' + }, + insertunorderedlist : { + title: 'Εισαγωγή Λίστας Κουκίδων', + text: 'Ξεκινήστε μια λίστα με κουκίδες.', + cls: 'x-html-editor-tip' + }, + insertorderedlist : { + title: 'Εισαγωγή Λίστας ΑÏίθμησης', + text: 'Ξεκινήστε μια λίστα με αÏίθμηση.', + cls: 'x-html-editor-tip' + }, + createlink : { + title: 'Hyperlink', + text: 'ΜετατÏέπετε το Ï€Ïοεπιλεγμένο κείμενο σε Link.', + cls: 'x-html-editor-tip' + }, + sourceedit : { + title: 'ΕπεξεÏγασία Κώδικα', + text: 'Μεταβαίνετε στη λειτουÏγία επεξεÏγασίας κώδικα.', + cls: 'x-html-editor-tip' + } + } + }); +} + + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "ΑÏξουσα ταξινόμηση", + sortDescText : "Φθίνουσα ταξινόμηση", + lockText : "Κλείδωμα στήλης", + unlockText : "Ξεκλείδωμα στήλης", + columnsText : "Στήλες" + }); +} + +if(Ext.grid.GroupingView){ + Ext.apply(Ext.grid.GroupingView.prototype, { + emptyGroupText : '(Καμμία)', + groupByText : 'Ομαδοποίηση βάσει Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… πεδίου', + showGroupsText : 'Îα εμφανίζεται στις ομάδες' + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Όνομα", + valueText : "ΠεÏιεχόμενο", + dateFormat : "m/d/Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "ΣÏÏετε για αλλαγή μεγέθους.", + collapsibleSplitTip : "ΣÏÏετε για αλλαγή μεγέθους. Διπλό κλικ για απόκÏυψη." + }); +} + diff --git a/skins/jason/extjs/locale/ext-lang-en.js b/skins/jason/extjs/locale/ext-lang-en.js new file mode 100644 index 0000000..a817f8a --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-en.js @@ -0,0 +1,292 @@ +/** + * List compiled by mystix on the extjs.com forums. + * Thank you Mystix! + * + * English Translations + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Loading...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} selected row(s)"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Close this tab"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "Loading..."; +} + +Date.monthNames = [ + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December" +]; + +Date.getShortMonthName = function(month) { + return Date.monthNames[month].substring(0, 3); +}; + +Date.monthNumbers = { + Jan : 0, + Feb : 1, + Mar : 2, + Apr : 3, + May : 4, + Jun : 5, + Jul : 6, + Aug : 7, + Sep : 8, + Oct : 9, + Nov : 10, + Dec : 11 +}; + +Date.getMonthNumber = function(name) { + return Date.monthNumbers[name.substring(0, 1).toUpperCase() + name.substring(1, 3).toLowerCase()]; +}; + +Date.dayNames = [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" +]; + +Date.getShortDayName = function(day) { + return Date.dayNames[day].substring(0, 3); +}; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "OK", + cancel : "Cancel", + yes : "Yes", + no : "No" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "m/d/Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "Today", + minText : "This date is before the minimum date", + maxText : "This date is after the maximum date", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Next Month (Control+Right)', + prevText : 'Previous Month (Control+Left)', + monthYearText : 'Choose a month (Control+Up/Down to move years)', + todayTip : "{0} (Spacebar)", + format : "m/d/y", + okText : " OK ", + cancelText : "Cancel", + startDay : 0 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Page", + afterPageText : "of {0}", + firstText : "First Page", + prevText : "Previous Page", + nextText : "Next Page", + lastText : "Last Page", + refreshText : "Refresh", + displayMsg : "Displaying {0} - {1} of {2}", + emptyMsg : 'No data to display' + }); +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "The value in this field is invalid"; +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "The minimum length for this field is {0}", + maxLengthText : "The maximum length for this field is {0}", + blankText : "This field is required", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "The minimum value for this field is {0}", + maxText : "The maximum value for this field is {0}", + nanText : "{0} is not a valid number" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "Disabled", + disabledDatesText : "Disabled", + minText : "The date in this field must be after {0}", + maxText : "The date in this field must be before {0}", + invalidText : "{0} is not a valid date - it must be in the format {1}", + format : "m/d/y", + altFormats : "m/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d|Y-m-d" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "Loading...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'This field should be an e-mail address in the format "user@domain.com"', + urlText : 'This field should be a URL in the format "http:/'+'/www.domain.com"', + alphaText : 'This field should only contain letters and _', + alphanumText : 'This field should only contain letters, numbers and _' + }); +} + +if(Ext.form.HtmlEditor){ + Ext.apply(Ext.form.HtmlEditor.prototype, { + createLinkText : 'Please enter the URL for the link:', + buttonTips : { + bold : { + title: 'Bold (Ctrl+B)', + text: 'Make the selected text bold.', + cls: 'x-html-editor-tip' + }, + italic : { + title: 'Italic (Ctrl+I)', + text: 'Make the selected text italic.', + cls: 'x-html-editor-tip' + }, + underline : { + title: 'Underline (Ctrl+U)', + text: 'Underline the selected text.', + cls: 'x-html-editor-tip' + }, + increasefontsize : { + title: 'Grow Text', + text: 'Increase the font size.', + cls: 'x-html-editor-tip' + }, + decreasefontsize : { + title: 'Shrink Text', + text: 'Decrease the font size.', + cls: 'x-html-editor-tip' + }, + backcolor : { + title: 'Text Highlight Color', + text: 'Change the background color of the selected text.', + cls: 'x-html-editor-tip' + }, + forecolor : { + title: 'Font Color', + text: 'Change the color of the selected text.', + cls: 'x-html-editor-tip' + }, + justifyleft : { + title: 'Align Text Left', + text: 'Align text to the left.', + cls: 'x-html-editor-tip' + }, + justifycenter : { + title: 'Center Text', + text: 'Center text in the editor.', + cls: 'x-html-editor-tip' + }, + justifyright : { + title: 'Align Text Right', + text: 'Align text to the right.', + cls: 'x-html-editor-tip' + }, + insertunorderedlist : { + title: 'Bullet List', + text: 'Start a bulleted list.', + cls: 'x-html-editor-tip' + }, + insertorderedlist : { + title: 'Numbered List', + text: 'Start a numbered list.', + cls: 'x-html-editor-tip' + }, + createlink : { + title: 'Hyperlink', + text: 'Make the selected text a hyperlink.', + cls: 'x-html-editor-tip' + }, + sourceedit : { + title: 'Source Edit', + text: 'Switch to source editing mode.', + cls: 'x-html-editor-tip' + } + } + }); +} + +if(Ext.form.BasicForm){ + Ext.form.BasicForm.prototype.waitTitle = "Please wait..."; +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Sort Ascending", + sortDescText : "Sort Descending", + lockText : "Lock Column", + unlockText : "Unlock Column", + columnsText : "Columns" + }); +} + +if(Ext.grid.GroupingView){ + Ext.apply(Ext.grid.GroupingView.prototype, { + emptyGroupText : '(None)', + groupByText : 'Group By This Field', + showGroupsText : 'Show in Groups' + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Name", + valueText : "Value", + dateFormat : "m/j/Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Drag to resize.", + collapsibleSplitTip : "Drag to resize. Double click to hide." + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-en_UK.js b/skins/jason/extjs/locale/ext-lang-en_UK.js new file mode 100644 index 0000000..0d44c0c --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-en_UK.js @@ -0,0 +1,173 @@ +/** + * List compiled by mystix on the extjs.com forums. + * Thank you Mystix! + * + * English (UK) Translations + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Loading...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} selected row(s)"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Close this tab"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "The value in this field is invalid"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "Loading..."; +} + +Date.monthNames = [ + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December" +]; + +Date.dayNames = [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" +]; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "OK", + cancel : "Cancel", + yes : "Yes", + no : "No" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d/m/Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "Today", + minText : "This date is before the minimum date", + maxText : "This date is after the maximum date", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Next Month (Control+Right)', + prevText : 'Previous Month (Control+Left)', + monthYearText : 'Choose a month (Control+Up/Down to move years)', + todayTip : "{0} (Spacebar)", + format : "d/m/y" + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Page", + afterPageText : "of {0}", + firstText : "First Page", + prevText : "Previous Page", + nextText : "Next Page", + lastText : "Last Page", + refreshText : "Refresh", + displayMsg : "Displaying {0} - {1} of {2}", + emptyMsg : 'No data to display' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "The minimum length for this field is {0}", + maxLengthText : "The maximum length for this field is {0}", + blankText : "This field is required", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "The minimum value for this field is {0}", + maxText : "The maximum value for this field is {0}", + nanText : "{0} is not a valid number" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "Disabled", + disabledDatesText : "Disabled", + minText : "The date in this field must be after {0}", + maxText : "The date in this field must be before {0}", + invalidText : "{0} is not a valid date - it must be in the format {1}", + format : "d/m/y", + altFormats : "d/m/Y|d-m-y|d-m-Y|d/m|d-m|dm|dmy|dmY|d|Y-m-d" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "Loading...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'This field should be an e-mail address in the format "user@domain.com"', + urlText : 'This field should be a URL in the format "http:/'+'/www.domain.com"', + alphaText : 'This field should only contain letters and _', + alphanumText : 'This field should only contain letters, numbers and _' + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Sort Ascending", + sortDescText : "Sort Descending", + lockText : "Lock Column", + unlockText : "Unlock Column", + columnsText : "Columns" + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Name", + valueText : "Value", + dateFormat : "j/m/Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Drag to resize.", + collapsibleSplitTip : "Drag to resize. Double click to hide." + }); +} + diff --git a/skins/jason/extjs/locale/ext-lang-es.js b/skins/jason/extjs/locale/ext-lang-es.js new file mode 100644 index 0000000..7bdc5b0 --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-es.js @@ -0,0 +1,299 @@ +/* + * Spanish/Latin American Translation by genius551v 04-08-2007 + * Revised by efege, 2007-04-15. + * Revised by Rafaga2k 10-01-2007 (mm/dd/yyyy) + * Revised by FeDe 12-13-2007 (mm/dd/yyyy) + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Cargando...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} fila(s) seleccionada(s)"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Cerrar esta pestaña"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "El valor en este campo es inválido"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "Cargando..."; +} + + +Date.monthNames = [ + "Enero", + "Febrero", + "Marzo", + "Abril", + "Mayo", + "Junio", + "Julio", + "Agosto", + "Septiembre", + "Octubre", + "Noviembre", + "Diciembre" +]; + +Date.getShortMonthName = function(month) { + return Date.monthNames[month].substring(0, 3); +}; + +Date.monthNumbers = { + Ene : 0, + Feb : 1, + Mar : 2, + Abr : 3, + May : 4, + Jun : 5, + Jul : 6, + Ago : 7, + Sep : 8, + Oct : 9, + Nov : 10, + Dic : 11 +}; + +Date.getMonthNumber = function(name) { + return Date.monthNumbers[name.substring(0, 1).toUpperCase() + name.substring(1, 3).toLowerCase()]; +}; + +Date.dayNames = [ + "Domingo", + "Lunes", + "Martes", + "Miércoles", + "Jueves", + "Viernes", + "Sábado" +]; + +Date.getShortDayName = function(day) { + if (day==3) return "Mié"; + if (day==6) return "Sáb"; + return Date.dayNames[day].substring(0, 3); +}; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "Aceptar", + cancel : "Cancelar", + yes : "Sí", + no : "No" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d/m/Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "Hoy", + minText : "Esta fecha es anterior a la fecha mínima", + maxText : "Esta fecha es posterior a la fecha máxima", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Mes Siguiente (Control+Right)', + prevText : 'Mes Anterior (Control+Left)', + monthYearText : 'Seleccione un mes (Control+Up/Down para desplazar el año)', + todayTip : "{0} (Barra espaciadora)", + format : "d/m/Y", + okText : " Ok ", + cancelText : "Cancelar", + startDay : 1 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Página", + afterPageText : "de {0}", + firstText : "Primera página", + prevText : "Página anterior", + nextText : "Página siguiente", + lastText : "Última página", + refreshText : "Actualizar", + displayMsg : "Mostrando {0} - {1} de {2}", + emptyMsg : 'Sin datos para mostrar' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "El tamaño mínimo para este campo es de {0}", + maxLengthText : "El tamaño máximo para este campo es de {0}", + blankText : "Este campo es obligatorio", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "El valor mínimo para este campo es de {0}", + maxText : "El valor máximo para este campo es de {0}", + nanText : "{0} no es un número válido" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "Deshabilitado", + disabledDatesText : "Deshabilitado", + minText : "La fecha para este campo debe ser posterior a {0}", + maxText : "La fecha para este campo debe ser anterior a {0}", + invalidText : "{0} no es una fecha válida - debe tener el formato {1}", + format : "d/m/Y", + altFormats : "d/m/Y|d-m-y|d-m-Y|d/m|d-m|dm|dmy|dmY|d|Y-m-d" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "Cargando...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.HtmlEditor){ + Ext.apply(Ext.form.HtmlEditor.prototype, { + createLinkText : "Por favor proporcione la URL para el enlace:", + buttonTips : { + insertimage:{ + title:'Imagen', + text:'Inserta una imagen en la posición actual', + cls:'x-html-editor-tip' + }, + bold : { + title: 'Negritas (Ctrl+B)', + text: 'Transforma el texto seleccionado en Negritas.', + cls: 'x-html-editor-tip' + }, + italic : { + title: 'Itálica (Ctrl+I)', + text: 'Transforma el texto seleccionado en Itálicas.', + cls: 'x-html-editor-tip' + }, + underline : { + title: 'Subrayado (Ctrl+U)', + text: 'Subraya el texto seleccionado.', + cls: 'x-html-editor-tip' + }, + increasefontsize : { + title: 'Aumentar la fuente', + text: 'Aumenta el tamaño de la fuente', + cls: 'x-html-editor-tip' + }, + decreasefontsize : { + title: 'Reducir la fuente', + text: 'Reduce el tamaño de la fuente.', + cls: 'x-html-editor-tip' + }, + backcolor : { + title: 'Color de fondo', + text: 'Modifica el color de fondo del texto seleccionado.', + cls: 'x-html-editor-tip' + }, + forecolor : { + title: 'Color de la fuente', + text: 'Modifica el color del texto seleccionado.', + cls: 'x-html-editor-tip' + }, + justifyleft : { + title: 'Alinear a la izquierda', + text: 'Alinea el texto a la izquierda.', + cls: 'x-html-editor-tip' + }, + justifycenter : { + title: 'Centrar', + text: 'Centrar el texto.', + cls: 'x-html-editor-tip' + }, + justifyright : { + title: 'Alinear a la derecha', + text: 'Alinea el texto a la derecha.', + cls: 'x-html-editor-tip' + }, + insertunorderedlist : { + title: 'Lista de viñetas', + text: 'Inicia una lista con viñetas.', + cls: 'x-html-editor-tip' + }, + insertorderedlist : { + title: 'Lista numerada', + text: 'Inicia una lista numerada.', + cls: 'x-html-editor-tip' + }, + createlink : { + title: 'Enlace', + text: 'Inserta un enlace de hipertexto.', + cls: 'x-html-editor-tip' + }, + sourceedit : { + title: 'Código Fuente', + text: 'Pasar al modo de edición de código fuente.', + cls: 'x-html-editor-tip' + } + } + }); +} + + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'Este campo debe ser una dirección de correo electrónico con el formato "usuario@dominio.com"', + urlText : 'Este campo debe ser una URL con el formato "http:/'+'/www.dominio.com"', + alphaText : 'Este campo sólo debe contener letras y _', + alphanumText : 'Este campo sólo debe contener letras, números y _' + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Ordenar en forma ascendente", + sortDescText : "Ordenar en forma descendente", + lockText : "Bloquear Columna", + unlockText : "Desbloquear Columna", + columnsText : "Columnas" + }); +} + + +if(Ext.grid.GroupingView){ + Ext.apply(Ext.grid.GroupingView.prototype, { + emptyGroupText : '(Ninguno)', + groupByText : 'Agrupar por este campo', + showGroupsText : 'Mostrar en grupos' + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Nombre", + valueText : "Valor", + dateFormat : "j/m/Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Arrastre para redimensionar.", + collapsibleSplitTip : "Arrastre para redimensionar. Doble clic para ocultar." + }); +} + diff --git a/skins/jason/extjs/locale/ext-lang-fa.js b/skins/jason/extjs/locale/ext-lang-fa.js new file mode 100644 index 0000000..f046f15 --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-fa.js @@ -0,0 +1,266 @@ +/* + * Farsi (Persian) translation + * By Mohaqa + * 03-10-2007, 06:23 PM + */ + +Ext.UpdateManager.defaults.indicatorText = '
    در حال بارگذاری ...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} رکورد انتخاب شده"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "بستن"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "مقدار Ùیلد صحیح نیست"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "در حال بارگذاری ..."; +} + +Date.monthNames = [ + "ژانویه", + "Ùوریه", + "مارس", + "آپریل", + "Ù…ÛŒ", + "ژوئن", + "جولای", + "آگوست", + "سپتامبر", + "اکتبر", + "نوامبر", + "دسامبر" +]; + +Date.monthNumbers = { + Jan : 0, + Feb : 1, + Mar : 2, + Apr : 3, + May : 4, + Jun : 5, + Jul : 6, + Aug : 7, + Sep : 8, + Oct : 9, + Nov : 10, + Dec : 11 +}; + +Date.dayNames = [ + "یکشنبه", + "دوشنبه", + "سه شنبه", + "چهارشنبه", + "پنجشنبه", + "جمعه", + "شنبه" +]; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "تایید", + cancel : "بازگشت", + yes : "بله", + no : "خیر" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "Y/m/d"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "امروز", + minText : "این تاریخ قبل از محدوده مجاز است", + maxText : "این تاریخ پس از محدوده مجاز است", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'ماه بعد (Control + Right)', + prevText : 'ماه قبل (Control+Left)', + monthYearText : 'یک ماه را انتخاب کنید (Control+Up/Down برای انتقال در سال)', + todayTip : "{0} (Spacebar)", + format : "y/m/d", + okText : " OK ", + cancelText : "Cancel", + startDay : 0 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "ØµÙØ­Ù‡", + afterPageText : "از {0}", + firstText : "ØµÙØ­Ù‡ اول", + prevText : "ØµÙØ­Ù‡ قبل", + nextText : "ØµÙØ­Ù‡ بعد", + lastText : "ØµÙØ­Ù‡ آخر", + refreshText : "بازخوانی", + displayMsg : "نمایش {0} - {1} of {2}", + emptyMsg : 'داده ای برای نمایش وجود ندارد' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "حداقل طول این Ùیلد برابر است با {0}", + maxLengthText : "حداکثر طول این Ùیلد برابر است با {0}", + blankText : "این Ùیلد باید مقداری داشته باشد", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "حداقل مقدار این Ùیلد برابر است با {0}", + maxText : "حداکثر مقدار این Ùیلد برابر است با {0}", + nanText : "{0} یک عدد نیست" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "ØºÛŒØ±ÙØ¹Ø§Ù„", + disabledDatesText : "ØºÛŒØ±ÙØ¹Ø§Ù„", + minText : "تاریخ باید پس از {0} باشد", + maxText : "تاریخ باید پس از {0} باشد", + invalidText : "{0} تاریخ صحیحی نیست - ÙØ±Ù…ت صحیح {1}", + format : "y/m/d" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "در حال بارگذاری ...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'مقدار این Ùیلد باید یک ایمیل با این ÙØ±Ù…ت باشد "user@domain.com"', + urlText : 'مقدار این آدرس باید یک آدرس سایت با این ÙØ±Ù…ت باشد "http:/'+'/www.domain.com"', + alphaText : 'مقدار این Ùیلد باید Ùقط از Ø­Ø±ÙˆÙ Ø§Ù„ÙØ¨Ø§ Ùˆ _ تشکیل شده باشد ', + alphanumText : 'مقدار این Ùیلد باید Ùقط از Ø­Ø±ÙˆÙ Ø§Ù„ÙØ¨Ø§ØŒ اعداد Ùˆ _ تشکیل شده باشد' + }); +} + +if(Ext.form.HtmlEditor){ + Ext.apply(Ext.form.HtmlEditor.prototype, { + createLinkText : 'Ù„Ø·ÙØ§ آدرس لینک را وارد کنید:', + buttonTips : { + bold : { + title: 'تیره (Ctrl+B)', + text: 'متن انتخاب شده را تیره Ù…ÛŒ کند.', + cls: 'x-html-editor-tip' + }, + italic : { + title: 'ایتالیک (Ctrl+I)', + text: 'متن انتخاب شده را ایتالیک Ù…ÛŒ کند.', + cls: 'x-html-editor-tip' + }, + underline : { + title: 'زیرخط (Ctrl+U)', + text: 'زیر هر نوشته یک خط نمایش Ù…ÛŒ دهد.', + cls: 'x-html-editor-tip' + }, + increasefontsize : { + title: 'Ø§ÙØ²Ø§ÛŒØ´ اندازه', + text: 'اندازه Ùونت را Ø§ÙØ²Ø§ÛŒØ´ Ù…ÛŒ دهد.', + cls: 'x-html-editor-tip' + }, + decreasefontsize : { + title: 'کاهش اندازه', + text: 'اندازه متن را کاهش Ù…ÛŒ دهد.', + cls: 'x-html-editor-tip' + }, + backcolor : { + title: 'رنگ زمینه متن', + text: 'برای تغییر رنگ زمینه متن Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù…ÛŒ شود.', + cls: 'x-html-editor-tip' + }, + forecolor : { + title: 'رنگ قلم', + text: 'رنگ قلم متن را تغییر Ù…ÛŒ دهد.', + cls: 'x-html-editor-tip' + }, + justifyleft : { + title: 'چیدن متن از سمت Ú†Ù¾', + text: 'متن از سمت Ú†Ù¾ چیده شده Ù…ÛŒ شود.', + cls: 'x-html-editor-tip' + }, + justifycenter : { + title: 'متن در وسط ', + text: 'نمایش متن در قسمت وسط ØµÙØ­Ù‡ Ùˆ رعابت سمت Ú†Ù¾ Ùˆ راست.', + cls: 'x-html-editor-tip' + }, + justifyright : { + title: 'چیدن متن از سمت راست', + text: 'متن از سمت راست پیده خواهد شد.', + cls: 'x-html-editor-tip' + }, + insertunorderedlist : { + title: 'لیست همراه با علامت', + text: 'یک لیست جدید ایجاد Ù…ÛŒ کند.', + cls: 'x-html-editor-tip' + }, + insertorderedlist : { + title: 'لیست عددی', + text: 'یک لیست عددی ایجاد Ù…ÛŒ کند. ', + cls: 'x-html-editor-tip' + }, + createlink : { + title: 'لینک', + text: 'متن انتخاب شده را به لینک تبدیل کنید.', + cls: 'x-html-editor-tip' + }, + sourceedit : { + title: 'ویرایش سورس', + text: 'Ø±ÙØªÙ† به حالت ویرایش سورس.', + cls: 'x-html-editor-tip' + } + } + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "مرتب سازی Ø§ÙØ²Ø§ÛŒØ´ÛŒ", + sortDescText : "مرتب سازی کاهشی", + lockText : "Ù‚ÙÙ„ ستون ها", + unlockText : "بازکردن ستون ها", + columnsText : "ستون ها" + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "نام", + valueText : "مقدار", + dateFormat : "Y/m/d" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "درگ برای تغییر اندازه.", + collapsibleSplitTip : "برای تغییر اندازه درگ کنید." + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-fr.js b/skins/jason/extjs/locale/ext-lang-fr.js new file mode 100644 index 0000000..44534f8 --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-fr.js @@ -0,0 +1,297 @@ +/* + * France (France) translation + * By Thylia + * 09-11-2007, 02:22 PM + */ + +Ext.UpdateManager.defaults.indicatorText = '
    En cours de chargement...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} ligne(s) sélectionnée(s)"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Fermer cet onglet"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "La valeur de ce champ est invalide"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "En cours de chargement..."; +} + +Date.monthNames = [ + "Janvier", + "Février", + "Mars", + "Avril", + "Mai", + "Juin", + "Juillet", + "Août", + "Septembre", + "Octobre", + "Novembre", + "Décembre" +]; + +Date.getShortMonthName = function(month) { + return Date.monthNames[month].substring(0, 3); +}; + +Date.monthNumbers = { + Jan : 0, + Feb : 1, + Mar : 2, + Apr : 3, + May : 4, + Jun : 5, + Jul : 6, + Aug : 7, + Sep : 8, + Oct : 9, + Nov : 10, + Dec : 11 +}; + +Date.getMonthNumber = function(name) { + return Date.monthNumbers[name.substring(0, 1).toUpperCase() + name.substring(1, 3).toLowerCase()]; +}; + +Date.dayNames = [ + "Dimanche", + "Lundi", + "Mardi", + "Mercredi", + "Jeudi", + "Vendredi", + "Samedi" +]; + +Date.getShortDayName = function(day) { + return Date.dayNames[day].substring(0, 3); +}; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "OK", + cancel : "Annuler", + yes : "Oui", + no : "Non" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d/m/Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "Aujourd'hui", + minText : "Cette date est antérieure à la date minimum", + maxText : "Cette date est postérieure à la date maximum", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Mois suivant (CTRL+Flèche droite)', + prevText : "Mois précédent (CTRL+Flèche gauche)", + monthYearText : "Choisissez un mois (CTRL+Flèche haut ou bas pour changer d'année.)", + todayTip : "{0} (Barre d'espace)", + okText : " OK ", + cancelText : "Annuler", + format : "d/m/y", + startDay : 1 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Page", + afterPageText : "sur {0}", + firstText : "Première page", + prevText : "Page précédente", + nextText : "Page suivante", + lastText : "Dernière page", + refreshText : "Actualiser la page", + displayMsg : "Page courante {0} - {1} sur {2}", + emptyMsg : 'Aucune donnée à afficher' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "La longueur minimum de ce champ est de {0} caractères", + maxLengthText : "La longueur maximum de ce champ est de {0} caractères", + blankText : "Ce champ est obligatoire", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "La valeur minimum de ce champ doit être de {0}", + maxText : "La valeur maximum de ce champ doit être de {0}", + nanText : "{0} n'est pas un nombre valide" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "Désactivé", + disabledDatesText : "Désactivé", + minText : "La date de ce champ ne peut être antérieure au {0}", + maxText : "La date de ce champ ne peut être postérieure au {0}", + invalidText : "{0} n'est pas une date valide - elle doit être au format suivant: {1}", + format : "d/m/y", + altFormats : "d/m/Y|d-m-y|d-m-Y|d/m|d-m|dm|dmy|dmY|d|Y-m-d" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "En cours de chargement...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'Ce champ doit contenir une adresse email au format: "usager@domaine.com"', + urlText : 'Ce champ doit contenir une URL au format suivant: "http:/'+'/www.domaine.com"', + alphaText : 'Ce champ ne peut contenir que des lettres et le caractère souligné (_)', + alphanumText : 'Ce champ ne peut contenir que des caractères alphanumériques ainsi que le caractère souligné (_)' + }); +} + +if(Ext.form.HtmlEditor){ + Ext.apply(Ext.form.HtmlEditor.prototype, { + createLinkText : "Veuillez entrer l'URL pour ce lien:", + buttonTips : { + bold : { + title: 'Gras (Ctrl+B)', + text: 'Met le texte sélectionné en gras.', + cls: 'x-html-editor-tip' + }, + italic : { + title: 'Italique (Ctrl+I)', + text: 'Met le texte sélectionné en italique.', + cls: 'x-html-editor-tip' + }, + underline : { + title: 'Souligné (Ctrl+U)', + text: 'Souligne le texte sélectionné.', + cls: 'x-html-editor-tip' + }, + increasefontsize : { + title: 'Agrandir la police', + text: 'Augmente la taille de la police.', + cls: 'x-html-editor-tip' + }, + decreasefontsize : { + title: 'Réduire la police', + text: 'Réduit la taille de la police.', + cls: 'x-html-editor-tip' + }, + backcolor : { + title: 'Couleur de surbrillance', + text: 'Modifie la couleur de fond du texte sélectionné.', + cls: 'x-html-editor-tip' + }, + forecolor : { + title: 'Couleur de police', + text: 'Modifie la couleur du texte sélectionné.', + cls: 'x-html-editor-tip' + }, + justifyleft : { + title: 'Aligner à gauche', + text: 'Aligne le texte à gauche.', + cls: 'x-html-editor-tip' + }, + justifycenter : { + title: 'Centrer', + text: 'Centre le texte.', + cls: 'x-html-editor-tip' + }, + justifyright : { + title: 'Aligner à droite', + text: 'Aligner le texte à droite.', + cls: 'x-html-editor-tip' + }, + insertunorderedlist : { + title: 'Liste à puce', + text: 'Démarre une liste à puce.', + cls: 'x-html-editor-tip' + }, + insertorderedlist : { + title: 'Liste numérotée', + text: 'Démarre une liste numérotée.', + cls: 'x-html-editor-tip' + }, + createlink : { + title: 'Lien hypertexte', + text: 'Transforme en lien hypertexte.', + cls: 'x-html-editor-tip' + }, + sourceedit : { + title: 'Code source', + text: 'Basculer en mode édition du code source.', + cls: 'x-html-editor-tip' + } + } + }); +} + +if(Ext.form.TimeField){ + Ext.apply(Ext.form.TimeField.prototype, { + minText : "L'heure de ce champ ne peut être antérieure au {0}", + maxText : "L'heure de ce champ ne peut être postérieure au {0}", + invalidText : "{0} n'est pas une heure valide", + format : "H:i", + altFormats : "g:ia|g:iA|g:i a|g:i A|h:i|g:i|H:i|ga|h a|g a|g A|gi|hi|Hi|gia|hia|g|H" + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Tri croissant", + sortDescText : "Tri décroissant", + lockText : "Verrouiller la colonne", + unlockText : "Déverrouiller la colonne", + columnsText : "Colonnes" + }); +} + +if(Ext.grid.GroupingView){ + Ext.apply(Ext.grid.GroupingView.prototype, { + emptyGroupText : '(Aucun)', + groupByText : 'Grouper par ce champ', + showGroupsText : 'Afficher par groupes' + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Propriété", + valueText : "Valeur", + dateFormat : "d/m/Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Cliquer et glisser pour redimensionner le panneau.", + collapsibleSplitTip : "Cliquer et glisser pour redimensionner le panneau. Double-cliquer pour le cacher." + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-fr_CA.js b/skins/jason/extjs/locale/ext-lang-fr_CA.js new file mode 100644 index 0000000..28c9075 --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-fr_CA.js @@ -0,0 +1,170 @@ +/* + * France (Canadian) translation + * By BernardChhun + * 04-08-2007, 03:07 AM + */ + +Ext.UpdateManager.defaults.indicatorText = '
    En cours de chargement...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} ligne(s) sélectionné(s)"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Fermer cette onglet"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "La valeur de ce champ est invalide"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "En cours de chargement..."; +} + +Date.monthNames = [ + "Janvier", + "Février", + "Mars", + "Avril", + "Mai", + "Juin", + "Juillet", + "Août", + "Septembre", + "Octobre", + "Novembre", + "Décembre" +]; + +Date.dayNames = [ + "Dimanche", + "Lundi", + "Mardi", + "Mercredi", + "Jeudi", + "Vendredi", + "Samedi" +]; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "OK", + cancel : "Annuler", + yes : "Oui", + no : "Non" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d/m/Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "Aujourd'hui", + minText : "Cette date est plus petite que la date minimum", + maxText : "Cette date est plus grande que la date maximum", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Prochain mois (CTRL+Fléche droite)', + prevText : 'Mois précédent (CTRL+Fléche gauche)', + monthYearText : 'Choissisez un mois (CTRL+Fléche haut ou bas pour changer d\'année.)', + todayTip : "{0} (Barre d'espace)", + format : "d/m/y" + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Page", + afterPageText : "de {0}", + firstText : "Première page", + prevText : "Page précédente", + nextText : "Prochaine page", + lastText : "Dernière page", + refreshText : "Recharger la page", + displayMsg : "Page courante {0} - {1} de {2}", + emptyMsg : 'Aucune donnée à afficher' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "La longueur minimum de ce champ est de {0} caractères", + maxLengthText : "La longueur maximum de ce champ est de {0} caractères", + blankText : "Ce champ est obligatoire", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "La valeur minimum de ce champ doit être de {0}", + maxText : "La valeur maximum de ce champ doit être de {0}", + nanText : "{0} n'est pas un nombre valide" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "Désactivé", + disabledDatesText : "Désactivé", + minText : "La date de ce champ doit être avant le {0}", + maxText : "La date de ce champ doit être après le {0}", + invalidText : "{0} n'est pas une date valide - il doit être au format suivant: {1}", + format : "d/m/y" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "En cours de chargement...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'Ce champ doit contenir un courriel et doit être sous ce format: "usager@domaine.com"', + urlText : 'Ce champ doit contenir une URL sous le format suivant: "http:/'+'/www.domaine.com"', + alphaText : 'Ce champ ne peut contenir que des lettres et le caractère souligné (_)', + alphanumText : 'Ce champ ne peut contenir que des caractères alphanumériques ainsi que le caractère souligné (_)' + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Tri ascendant", + sortDescText : "Tri descendant", + lockText : "Verrouillé la colonne", + unlockText : "Déverrouillé la colonne", + columnsText : "Colonnes" + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Propriété", + valueText : "Valeur", + dateFormat : "d/m/Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Cliquer et glisser pour redimensionner le panneau.", + collapsibleSplitTip : "Cliquer et glisser pour redimensionner le panneau. Double-cliquer pour cacher le panneau." + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-gr.js b/skins/jason/extjs/locale/ext-lang-gr.js new file mode 100644 index 0000000..20e0206 --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-gr.js @@ -0,0 +1,169 @@ +/** + * Greek (Old Version) Translations by Vagelis + * 03-June-2007 + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Öüñôùóç...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} åðéëåãìÃíç(åò) ãñáììÞ(Ãò)"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Êëåßóôå áõôÞ ôçí êáñôÃëá"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "Ç ôéìÞ óôï ðåäßï äåí åßíáé Ããêõñç"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "Öüñôùóç..."; +} + +Date.monthNames = [ + "ÉáíïõÜñéïò", + "ÖåâñïõÜñéïò", + "ÌÜñôéïò", + "Ãðñßëéïò", + "ÌÜéïò", + "Éïýíéïò", + "Éïýëéïò", + "Ãýãïõóôïò", + "ÓåðôÃìâñéïò", + "Ãêôþâñéïò", + "ÃïÃìâñéïò", + "ÄåêÃìâñéïò" +]; + +Date.dayNames = [ + "ÊõñéáêÞ", + "ÄåõôÃñá", + "Ôñßôç", + "ÔåôÜñôç", + "ÃÃìðôç", + "ÃáñáóêåõÞ", + "ÓÜââáôï" +]; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "ÅíôÜîåé", + cancel : "Ãêýñùóç", + yes : "Ãáé", + no : "¼÷é" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "ì/ç/Ã…"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "ÓÞìåñá", + minText : "Ç çìåñïìçíßá áõôÞ åßíáé ðñéí ôçí ìéêñüôåñç çìåñïìçíßá", + maxText : "Ç çìåñïìçíßá áõôÞ åßíáé ìåôÜ ôçí ìåãáëýôåñç çìåñïìçíßá", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Åðüìåíïò ÌÞíáò (Control+Right)', + prevText : 'Ãñïçãïýìåíïò ÌÞíáò (Control+Left)', + monthYearText : 'ÅðéëÃîôå ÌÞíá (Control+Up/Down ãéá ìåôáêßíçóç óôá Ãôç)', + todayTip : "{0} (Spacebar)", + format : "ì/ç/Ã…" + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Óåëßäá", + afterPageText : "áðü {0}", + firstText : "Ãñþôç óåëßäá", + prevText : "Ãñïçãïýìåíç óåëßäá", + nextText : "Åðüìåíç óåëßäá", + lastText : "Ôåëåõôáßá óåëßäá", + refreshText : "ÃíáíÃùóç", + displayMsg : "ÅìöÜíéóç {0} - {1} áðü {2}", + emptyMsg : 'Äåí âñÃèçêáí åããñáöÃò ãéá åìöÜíéóç' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "Ôï åëÜ÷éóôï ìÃãåèïò ãéá áõôü ôï ðåäßï åßíáé {0}", + maxLengthText : "Ôï ìÃãéóôï ìÃãåèïò ãéá áõôü ôï ðåäßï åßíáé {0}", + blankText : "Ôï ðåäßï áõôü åßíáé õðï÷ñåùôïêü", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "Ç åëÜ÷éóôç ôéìÞ ãéá áõôü ôï ðåäßï åßíáé {0}", + maxText : "Ç ìÃãéóôç ôéìÞ ãéá áõôü ôï ðåäßï åßíáé {0}", + nanText : "{0} äåí åßíáé Ããêõñïò áñéèìüò" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "ÃðåíåñãïðïéçìÃíï", + disabledDatesText : "ÃðåíåñãïðïéçìÃíï", + minText : "Ç çìåñïìçíßá ó' áõôü ôï ðåäßï ðñÃðåé íá åßíáé ìåôÜ áðü {0}", + maxText : "Ç çìåñïìçíßá ó' áõôü ôï ðåäßï ðñÃðåé íá åßíáé ðñéí áðü {0}", + invalidText : "{0} äåí åßíáé Ããêõñç çìåñïìçíßá - ðñÃðåé íá åßíáé ôçò ìïñöÞò {1}", + format : "ì/ç/Ã…" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "Öüñôùóç...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'Ãõôü ôï ðåäßï ðñÃðåé íá åßíáé e-mail address ôçò ìïñöÞò "user@domain.com"', + urlText : 'Ãõôü ôï ðåäßï ðñÃðåé íá åßíáé ìéá äéåýèõíóç URL ôçò ìïñöÞò "http:/'+'/www.domain.com"', + alphaText : 'Ãõôü ôï ðåäßï ðñÃðåé íá ðåñéÃ÷åé ãñÜììáôá êáé _', + alphanumText : 'Ãõôü ôï ðåäßï ðñÃðåé íá ðåñéÃ÷åé ãñÜììáôá, áñéèìïýò êáé _' + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Ãýîïõóá Ôáîéíüìçóç", + sortDescText : "Öèßíïõóá Ôáîéíüìçóç", + lockText : "Êëåßäùìá óôÞëçò", + unlockText : "Îåêëåßäùìá óôÞëçò", + columnsText : "ÓôÞëåò" + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "¼íïìá", + valueText : "ÔéìÞ", + dateFormat : "ì/ç/Ã…" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Óýñåôå ãéá áëëáãÞ ìåãÃèïõò.", + collapsibleSplitTip : "Óýñåôå ãéá áëëáãÞ ìåãÃèïõò. Double click ãéá áðüêñõøç." + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-he.js b/skins/jason/extjs/locale/ext-lang-he.js new file mode 100644 index 0000000..7ba46b8 --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-he.js @@ -0,0 +1,286 @@ +/** + * Hebrew Translations + * By spartacus (from forums) 06-12-2007 + */ + +Ext.UpdateManager.defaults.indicatorText = '
    ...èåòï
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "ùåøåú ðáçøåú {0}"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "ñâåø ìùåðéú"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "äòøê áùãä æä ùâåé"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "...èåòï"; +} + +Date.monthNames = [ + "éðåàø", + "ôáøåàø", + "îøõ", + "àôøéì", + "îàé", + "éåðé", + "éåìé", + "àåâåñè", + "ñôèîáø", + "àå÷èåáø", + "ðåáîáø", + "ãöîáø" +]; + +Date.getShortMonthName = function(month) { + return Date.monthNames[month].substring(0, 3); +}; + +Date.monthNumbers = { + Jan : 0, + Feb : 1, + Mar : 2, + Apr : 3, + May : 4, + Jun : 5, + Jul : 6, + Aug : 7, + Sep : 8, + Oct : 9, + Nov : 10, + Dec : 11 +}; + +Date.getMonthNumber = function(name) { + return Date.monthNumbers[name.substring(0, 1).toUpperCase() + name.substring(1, 3).toLowerCase()]; +}; + +Date.dayNames = [ + "à", + "á", + "â", + "ã", + "ä", + "å", + "ù" +]; + +Date.getShortDayName = function(day) { + return Date.dayNames[day].substring(0, 3); +}; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "àéùåø", + cancel : "áéèåì", + yes : "ëï", + no : "ìà" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d/m/Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "äéåí", + minText : ".úàøéê æä çì ÷åãí ìúàøéê ääúçìúé ùð÷áò", + maxText : ".úàøéê æä çì ìàçø äúàøéê äñåôé ùð÷áò", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : '(Control+Right) äçåãù äáà', + prevText : '(Control+Left) äçåãù ä÷åãí', + monthYearText : '(ìáçéøú ùðä Control+Up/Down) áçø çåãù', + todayTip : "î÷ù øååç) {0})", + format : "d/m/Y", + okText : " àéùåø ", + cancelText : "áéèåì", + startDay : 0 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "òîåã", + afterPageText : "{0} îúåê", + firstText : "òîåã øàùåï", + prevText : "òîåã ÷åãí", + nextText : "òîåã äáà", + lastText : "òîåã àçøåï", + refreshText : "øòðï", + displayMsg : "îöéâ {0} - {1} îúåê {2}", + emptyMsg : 'àéï îéãò ìäöâä' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "{0} äàåøê äîéðéîàìé ìùãä æä äåà", + maxLengthText : "{0} äàåøê äîéøáé ìùãä æä äåà", + blankText : "ùãä æä äëøçé", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "{0} äòøê äîéðéîàìé ìùãä æä äåà", + maxText : "{0} äòøê äîéøáé ìùãä æä äåà", + nanText : "äåà ìà îñôø {0}" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "îðåèøì", + disabledDatesText : "îðåèøì", + minText : "{0} äúàøéê áùãä æä çééá ìäéåú ìàçø", + maxText : "{0} äúàøéê áùãä æä çééá ìäéåú ìôðé", + invalidText : "{1} äåà ìà úàøéê ú÷ðé - çééá ìäéåú áôåøîè {0}", + format : "m/d/y", + altFormats : "m/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d|Y-m-d" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "...èåòï", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : '"user@domain.com" ùãä æä öøéê ìäéåú ëúåáú ãåàø àì÷èøåðé áôåøîè', + urlText : '"http:/'+'/www.domain.com" ùãä æä öøéê ìäéåú ëúåáú àéðèøðè áôåøîè', + alphaText : '_ùãä æä éëåì ìäëéì ø÷ àåúéåú å', + alphanumText : '_ùãä æä éëåì ìäëéì ø÷ àåúéåú, îñôøéí å' + }); +} + +if(Ext.form.HtmlEditor){ + Ext.apply(Ext.form.HtmlEditor.prototype, { + createLinkText : ':àðà ä÷ìã àú ëúåáú äàéðèøðè òáåø ä÷éùåø', + buttonTips : { + bold : { + title: '(Ctrl+B) îåãâù', + text: '.äãâù àú äè÷ñè äðáçø', + cls: 'x-html-editor-tip' + }, + italic : { + title: '(Ctrl+I) ðèåé', + text: '.äèä àú äè÷ñè äðáçø', + cls: 'x-html-editor-tip' + }, + underline : { + title: '(Ctrl+U) ÷å úçúé', + text: '.äåñó ÷ï úçúé òáåø äè÷ñè äðáçø', + cls: 'x-html-editor-tip' + }, + increasefontsize : { + title: 'äâãì è÷ñè', + text: '.äâãì âåôï òáåø äè÷ñè äðáçø', + cls: 'x-html-editor-tip' + }, + decreasefontsize : { + title: 'ä÷èï è÷ñè', + text: '.ä÷èï âåôï òáåø äè÷ñè äðáçø', + cls: 'x-html-editor-tip' + }, + backcolor : { + title: 'öáò ø÷ò ìè÷ñè', + text: '.ùðä àú öáò äø÷ò òáåø äè÷ñè äðáçø', + cls: 'x-html-editor-tip' + }, + forecolor : { + title: 'öáò âåôï', + text: '.ùðä àú öáò äâåôï òáåø äè÷ñè äðáçø', + cls: 'x-html-editor-tip' + }, + justifyleft : { + title: 'éùåø ìùîàì', + text: '.éùø ùîàìä àú äè÷ñè äðáçø', + cls: 'x-html-editor-tip' + }, + justifycenter : { + title: 'éùåø ìîøëæ', + text: '.éùø ìîøëæ àú äè÷ñè äðáçø', + cls: 'x-html-editor-tip' + }, + justifyright : { + title: 'éùåø ìéîéï', + text: '.éùø éîéðä àú äè÷ñè äðáçø', + cls: 'x-html-editor-tip' + }, + insertunorderedlist : { + title: 'øùéîú ð÷åãåú', + text: '.äúçì øùéîú ð÷åãåú', + cls: 'x-html-editor-tip' + }, + insertorderedlist : { + title: 'øùéîä îîåñôøú', + text: '.äúçì øùéîä îîåñôøú', + cls: 'x-html-editor-tip' + }, + createlink : { + title: '÷éùåø', + text: '.äôåê àú äè÷ñè äðáçø ì÷éùåø', + cls: 'x-html-editor-tip' + }, + sourceedit : { + title: 'òøéëú ÷åã î÷åø', + text: '.äöâ ÷åã î÷åø', + cls: 'x-html-editor-tip' + } + } + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "îééï áñãø òåìä", + sortDescText : "îééï áñãø éåøã", + lockText : "ðòì òîåãä", + unlockText : "ùçøø òîåãä", + columnsText : "òîåãåú" + }); +} + +if(Ext.grid.GroupingView){ + Ext.apply(Ext.grid.GroupingView.prototype, { + emptyGroupText : '(øé÷)', + groupByText : 'äöâ á÷áåöåú ìôé ùãä æä', + showGroupsText : 'äöâ á÷áåöåú' + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "ùí", + valueText : "òøê", + dateFormat : "m/j/Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : ".îùåê ìùéðåé âåãì", + collapsibleSplitTip : ".îùåê ìùéðåé âåãì. ìçéöä ëôåìä ìäñúøä" + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-hr.js b/skins/jason/extjs/locale/ext-lang-hr.js new file mode 100644 index 0000000..184b00b --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-hr.js @@ -0,0 +1,171 @@ +/* + * Croatian translation + * By Ylodi (utf8 encoding) + * 8 May 2007 + */ + +Ext.UpdateManager.defaults.indicatorText = '
    UÄitavanje...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} odabranih redova"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Zatvori ovaj tab"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "Unesena vrijednost u ovom polju je neispravna"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "UÄitavanje..."; +} + +Date.monthNames = [ + "SijeÄanj", + "VeljaÄa", + "Ožujak", + "Travanj", + "Svibanj", + "Lipanj", + "Srpanj", + "Kolovoz", + "Rujan", + "Listopad", + "Studeni", + "Prosinac" +]; + +Date.dayNames = [ + "Nedjelja", + "Ponedjeljak", + "Utorak", + "Srijeda", + "ÄŒetvrtak", + "Petak", + "Subota" +]; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "U redu", + cancel : "Odustani", + yes : "Da", + no : "Ne" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d.m.Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "Danas", + minText : "Taj datum je prije najmanjeg datuma", + maxText : "Taj datum je poslije najvećeg datuma", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Slijedeći mjesec (Control+Desno)', + prevText : 'Prethodni mjesec (Control+Lijevo)', + monthYearText : 'Odaberite mjesec (Control+Gore/Dolje za promjenu godine)', + todayTip : "{0} (Razmaknica)", + format : "d.m.y", + startDay : 1 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Stranica", + afterPageText : "od {0}", + firstText : "Prva stranica", + prevText : "Prethodna stranica", + nextText : "Slijedeća stranica", + lastText : "Posljednja stranica", + refreshText : "Obnovi", + displayMsg : "Prikazujem {0} - {1} od {2}", + emptyMsg : 'Nema podataka za prikaz' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "Minimalna dužina za ovo polje je {0}", + maxLengthText : "Maksimalna dužina za ovo polje je {0}", + blankText : "Ovo polje je obavezno", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "Minimalna vrijednost za ovo polje je {0}", + maxText : "Maksimalna vrijednost za ovo polje je {0}", + nanText : "{0} nije ispravan broj" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "Neaktivno", + disabledDatesText : "Neaktivno", + minText : "Datum u ovom polje mora biti poslije {0}", + maxText : "Datum u ovom polju mora biti prije {0}", + invalidText : "{0} nije ispravan datum - mora biti u obliku {1}", + format : "d.m.y" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "UÄitavanje...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'Ovdje možete unijeti samo e-mail adresu u obliku "korisnik@domena.com"', + urlText : 'Ovdje možete unijeti samo URL u obliku "http:/'+'/www.domena.com"', + alphaText : 'Ovo polje može sadržavati samo slova i znak _', + alphanumText : 'Ovo polje može sadržavati samo slova, brojeve i znak _' + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Sortiraj rastućim redoslijedom", + sortDescText : "Sortiraj padajućim redoslijedom", + lockText : "ZakljuÄaj stupac", + unlockText : "OtkljuÄaj stupac", + columnsText : "Stupci" + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Naziv", + valueText : "Vrijednost", + dateFormat : "d.m.Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Povuci za promjenu veliÄine.", + collapsibleSplitTip : "Povuci za promjenu veliÄine. Dvostruki klik za skrivanje." + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-hu.js b/skins/jason/extjs/locale/ext-lang-hu.js new file mode 100644 index 0000000..6909222 --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-hu.js @@ -0,0 +1,297 @@ +/* + * Ext JS Library 2.1 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +/** + * List compiled by mystix on the extjs.com forums. + * Thank you Mystix! + * + * Hungarian Translations (utf-8 encoded) + * by Amon (27 Apr 2008) + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Betöltés...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} kiválasztott sor"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Fül bezárása"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "Hibás érték!"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "Betöltés..."; +} + +Date.monthNames = [ + "Január", + "Február", + "Március", + "Ãprilis", + "Május", + "Június", + "Július", + "Augusztus", + "Szeptember", + "Október", + "November", + "December" +]; + +Date.getShortMonthName = function(month) { + return Date.monthNames[month].substring(0, 3); +}; + +Date.monthNumbers = { + 'Jan' : 0, + 'Feb' : 1, + 'Már' : 2, + 'ÃÂpr' : 3, + 'Máj' : 4, + 'Jún' : 5, + 'Júl' : 6, + 'Aug' : 7, + 'Sze' : 8, + 'Okt' : 9, + 'Nov' : 10, + 'Dec' : 11 +}; + +Date.getMonthNumber = function(name) { + return Date.monthNumbers[name.substring(0, 1).toUpperCase() + name.substring(1, 3).toLowerCase()]; +}; + +Date.dayNames = [ + "Vasárnap", + "HétfÅ‘", + "Kedd", + "Szerda", + "Csütörtök", + "Péntek", + "Szombat" +]; + +Date.getShortDayName = function(day) { + return Date.dayNames[day].substring(0, 3); +}; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "OK", + cancel : "Mégsem", + yes : "Igen", + no : "Nem" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "Y m d"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "Mai nap", + minText : "A dátum korábbi a megengedettnél", + maxText : "A dátum késÅ‘bbi a megengedettnél", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Köv. hónap (CTRL+Jobbra)', + prevText : 'ElÅ‘zÅ‘ hónap (CTRL+Balra)', + monthYearText : 'Válassz hónapot (Évválasztás: CTRL+Fel/Le)', + todayTip : "{0} (Szóköz)", + format : "y-m-d", + okText : " OK ", + cancelText : "Mégsem", + startDay : 0 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Oldal", + afterPageText : "a {0}-ból/bÅ‘l", + firstText : "ElsÅ‘ oldal", + prevText : "ElÅ‘zÅ‘ oldal", + nextText : "KövetkezÅ‘ oldal", + lastText : "Utolsó oldal", + refreshText : "Frissítés", + displayMsg : "{0} - {1} sorok láthatók a {2}-ból/bÅ‘l", + emptyMsg : 'Nincs megjeleníthetÅ‘ adat' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "A mezÅ‘ tartalma legalább {0} hosszú kell legyen", + maxLengthText : "A mezÅ‘ tartalma legfeljebb {0} hosszú lehet", + blankText : "KötelezÅ‘en kitöltendÅ‘ mezÅ‘", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "A mezÅ‘ tartalma nem lehet kissebb, mint {0}", + maxText : "A mezÅ‘ tartalma nem lehet nagyobb, mint {0}", + nanText : "{0} nem szám" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "Nem választható", + disabledDatesText : "Nem választható", + minText : "A dátum nem lehet korábbi, mint {0}", + maxText : "A dátum nem lehet késÅ‘bbi, mint {0}", + invalidText : "{0} nem megfelelÅ‘ dátum - a helyes formátum: {1}", + format : "Y m d", + altFormats : "Y-m-d|y-m-d|y/m/d|m/d|m-d|md|ymd|Ymd|d" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "Betöltés...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'A mezÅ‘ email címet tartalmazhat, melynek formátuma "felhasználó@szolgáltató.hu"', + urlText : 'A mezÅ‘ webcímet tartalmazhat, melynek formátuma "http:/'+'/www.weboldal.hu"', + alphaText : 'A mezÅ‘ csak betűket és aláhúzást (_) tartalmazhat', + alphanumText : 'A mezÅ‘ csak betűket, számokat és aláhúzást (_) tartalmazhat' + }); +} + +if(Ext.form.HtmlEditor){ + Ext.apply(Ext.form.HtmlEditor.prototype, { + createLinkText : 'Add meg a webcímet:', + buttonTips : { + bold : { + title: 'Félkövér (Ctrl+B)', + text: 'Félkövérré teszi a kijelölt szöveget.', + cls: 'x-html-editor-tip' + }, + italic : { + title: 'DÅ‘lt (Ctrl+I)', + text: 'DÅ‘lté teszi a kijelölt szöveget.', + cls: 'x-html-editor-tip' + }, + underline : { + title: 'Aláhúzás (Ctrl+U)', + text: 'Aláhúzza a kijelölt szöveget.', + cls: 'x-html-editor-tip' + }, + increasefontsize : { + title: 'Szöveg nagyítás', + text: 'Növeli a szövegméretet.', + cls: 'x-html-editor-tip' + }, + decreasefontsize : { + title: 'Szöveg kicsinyítés', + text: 'Csökkenti a szövegméretet.', + cls: 'x-html-editor-tip' + }, + backcolor : { + title: 'Háttérszín', + text: 'A kijelölt szöveg háttérszínét módosítja.', + cls: 'x-html-editor-tip' + }, + forecolor : { + title: 'Szövegszín', + text: 'A kijelölt szöveg színét módosítja.', + cls: 'x-html-editor-tip' + }, + justifyleft : { + title: 'Balra zárt', + text: 'Balra zárja a szöveget.', + cls: 'x-html-editor-tip' + }, + justifycenter : { + title: 'Középre zárt', + text: 'Középre zárja a szöveget.', + cls: 'x-html-editor-tip' + }, + justifyright : { + title: 'Jobbra zárt', + text: 'Jobbra zárja a szöveget.', + cls: 'x-html-editor-tip' + }, + insertunorderedlist : { + title: 'Felsorolás', + text: 'Felsorolást kezd.', + cls: 'x-html-editor-tip' + }, + insertorderedlist : { + title: 'Számozás', + text: 'Számozott listát kezd.', + cls: 'x-html-editor-tip' + }, + createlink : { + title: 'Hiperlink', + text: 'A kijelölt szöveget linkké teszi.', + cls: 'x-html-editor-tip' + }, + sourceedit : { + title: 'Forrás nézet', + text: 'Forrás nézetbe kapcsol.', + cls: 'x-html-editor-tip' + } + } + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "NövekvÅ‘ rendezés", + sortDescText : "CsökkenÅ‘ rendezés", + lockText : "Oszlop zárolás", + unlockText : "Oszlop feloldás", + columnsText : "Oszlopok" + }); +} + +if(Ext.grid.GroupingView){ + Ext.apply(Ext.grid.GroupingView.prototype, { + emptyGroupText : '(Nincs)', + groupByText : 'Oszlop szerint csoportosítás', + showGroupsText : 'Csoportos nézet' + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Név", + valueText : "Érték", + dateFormat : "Y m j" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Ãtméretezés húzásra.", + collapsibleSplitTip : "Ãtméretezés húzásra. Eltüntetés duplaklikk." + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-id.js b/skins/jason/extjs/locale/ext-lang-id.js new file mode 100644 index 0000000..fb23831 --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-id.js @@ -0,0 +1,296 @@ +/** + * Pedoman translasi: + * http://id.wikisource.org/wiki/Panduan_Pembakuan_Istilah,_Pelaksanaan_Instruksi_Presiden_Nomor_2_Tahun_2001_Tentang_Penggunaan_Komputer_Dengan_Aplikasi_Komputer_Berbahasa_Indonesia + *Original source: http://vlsm.org/etc/baku-0.txt + * by Farid GS + * farid [at] pulen.net + * 10:13 04 Desember 2007 + * Indonesian Translations + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Pemuatan...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} selected row(s)"; + Ext.grid.GridPanel.prototype.ddText = "{0} baris terpilih"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Close this tab"; + Ext.TabPanelItem.prototype.closeText = "Tutup tab ini"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "The value in this field is invalid"; + Ext.form.Field.prototype.invalidText = "Isian belum benar"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "Loading..."; + Ext.LoadMask.prototype.msg = "Pemuatan..."; +} + +Date.monthNames = [ + "Januari", + "Februari", + "Maret", + "April", + "Mei", + "Juni", + "Juli", + "Agustus", + "September", + "Oktober", + "November", + "Desember" +]; + +Date.getShortMonthName = function(month) { + return Date.monthNames[month].substring(0, 3); +}; + +Date.monthNumbers = { + Jan : 0, + Feb : 1, + Mar : 2, + Apr : 3, + Mei : 4, + Jun : 5, + Jul : 6, + Agu : 7, + Sep : 8, + Okt : 9, + Nov : 10, + Des : 11 +}; + +Date.getMonthNumber = function(name) { + return Date.monthNumbers[name.substring(0, 1).toUpperCase() + name.substring(1, 3).toLowerCase()]; +}; + +Date.dayNames = [ + "Minggu", + "Senin", + "Selasa", + "Rabu", + "Kamis", + "Jumat", + "Sabtu" +]; + +Date.getShortDayName = function(day) { + return Date.dayNames[day].substring(0, 3); +}; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "OK", + cancel : "Batal", + yes : "Ya", + no : "Tidak" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d/m/Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "Hari ini", + minText : "Tanggal ini sebelum batas tanggal minimal", + maxText : "Tanggal ini setelah batas tanggal maksimal", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Bulan Berikut (Kontrol+Kanan)', + prevText : 'Bulan Sebelum (Kontrol+Kiri)', + monthYearText : 'Pilih bulan (Kontrol+Atas/Bawah untuk pindah tahun)', + todayTip : "{0} (Spacebar)", + format : "d/m/y", + okText : " OK ", + cancelText : "Batal", + startDay : 1 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Hal", + afterPageText : "dari {0}", + firstText : "Hal. Pertama", + prevText : "Hal. Sebelum", + nextText : "Hal. Berikut", + lastText : "Hal. Akhir", + refreshText : "Segarkan", + displayMsg : "Menampilkan {0} - {1} dari {2}", + emptyMsg : 'Data tidak ditemukan' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "Panjang minimal untuk field ini adalah {0}", + maxLengthText : "Panjang maksimal untuk field ini adalah {0}", + blankText : "Field ini wajib diisi", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "Nilai minimal untuk field ini adalah {0}", + maxText : "Nilai maksimal untuk field ini adalah {0}", + nanText : "{0} bukan angka" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "Disfungsi", + disabledDatesText : "Disfungsi", + minText : "Tanggal dalam field ini harus setelah {0}", + maxText : "Tanggal dalam field ini harus sebelum {0}", + invalidText : "{0} tanggal salah - Harus dalam format {1}", + format : "d/m/y", + //altFormats : "m/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d|Y-m-d" + altFormats : "d/m/Y|d-m-y|d-m-Y|m/d|m-d|md|mdy|mdY|d|Y-m-d" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "Pemuatan...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'Field ini harus dalam format email seperti "user@domain.com"', + urlText : 'Field ini harus dalam format URL seperti "http:/'+'/www.domain.com"', + alphaText : 'Field ini harus terdiri dari huruf dan _', + alphanumText : 'Field ini haris terdiri dari huruf, angka dan _' + }); +} + +if(Ext.form.HtmlEditor){ + Ext.apply(Ext.form.HtmlEditor.prototype, { + createLinkText : 'Silakan masukkan URL untuk tautan:', + buttonTips : { + bold : { + title: 'Tebal (Ctrl+B)', + text: 'Buat tebal teks terpilih', + cls: 'x-html-editor-tip' + }, + italic : { + title: 'Miring (CTRL+I)', + text: 'Buat miring teks terpilih', + cls: 'x-html-editor-tip' + }, + underline : { + title: 'Garisbawah (CTRl+U)', + text: 'Garisbawahi teks terpilih', + cls: 'x-html-editor-tip' + }, + increasefontsize : { + title: 'Perbesar teks', + text: 'Perbesar ukuran fonta', + cls: 'x-html-editor-tip' + }, + decreasefontsize : { + title: 'Perkecil teks', + text: 'Perkecil ukuran fonta', + cls: 'x-html-editor-tip' + }, + backcolor : { + title: 'Sorot Warna Teks', + text: 'Ubah warna latar teks terpilih', + cls: 'x-html-editor-tip' + }, + forecolor : { + title: 'Warna Fonta', + text: 'Ubah warna teks terpilih', + cls: 'x-html-editor-tip' + }, + justifyleft : { + title: 'Rata Kiri', + text: 'Ratakan teks ke kiri', + cls: 'x-html-editor-tip' + }, + justifycenter : { + title: 'Rata Tengah', + text: 'Ratakan teks ke tengah editor', + cls: 'x-html-editor-tip' + }, + justifyright : { + title: 'Rata Kanan', + text: 'Ratakan teks ke kanan', + cls: 'x-html-editor-tip' + }, + insertunorderedlist : { + title: 'Daftar Bulet', + text: 'Membuat daftar berbasis bulet', + cls: 'x-html-editor-tip' + }, + insertorderedlist : { + title: 'Daftar Angka', + text: 'Membuat daftar berbasis angka', + cls: 'x-html-editor-tip' + }, + createlink : { + title: 'Hipertaut', + text: 'Buat teks terpilih sebagai Hipertaut', + cls: 'x-html-editor-tip' + }, + sourceedit : { + title: 'Edit Kode Sumber', + text: 'Pindah dalam mode kode sumber', + cls: 'x-html-editor-tip' + } + } + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Urut Naik", + sortDescText : "Urut Turun", + lockText : "Kancing Kolom", + unlockText : "Lepas Kunci Kolom", + columnsText : "Kolom" + }); +} + +if(Ext.grid.GroupingView){ + Ext.apply(Ext.grid.GroupingView.prototype, { + emptyGroupText : '(Kosong)', + groupByText : 'Kelompokkan Berdasar Field Ini', + showGroupsText : 'Tampil Dalam Kelompok' + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Nama", + valueText : "Nilai", + dateFormat : "d/m/Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Seret untuk ubah ukuran.", + collapsibleSplitTip : "Seret untuk ubah ukuran, Dobel klik untuk sembunyikan." + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-it.js b/skins/jason/extjs/locale/ext-lang-it.js new file mode 100644 index 0000000..2af9060 --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-it.js @@ -0,0 +1,289 @@ +/* + * Italian translation + * By eric_void + * 04-10-2007, 11:25 AM + * Updated by Federico Grilli 21/12/2007 + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Caricamento in corso...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} righe selezionate"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Chiudi pannello"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "Valore non valido"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "Caricamento in corso..."; +} + +Date.monthNames = [ + "Gennaio", + "Febbraio", + "Marzo", + "Aprile", + "Maggio", + "Giugno", + "Luglio", + "Agosto", + "Settembre", + "Ottobre", + "Novembre", + "Dicembre" +]; + +Date.getShortMonthName = function(month) { + return Date.monthNames[month].substring(0, 3); +}; + +Date.monthNumbers = { + Jan : 0, + Feb : 1, + Mar : 2, + Apr : 3, + May : 4, + Jun : 5, + Jul : 6, + Aug : 7, + Sep : 8, + Oct : 9, + Nov : 10, + Dec : 11 +}; + +Date.getMonthNumber = function(name) { + return Date.monthNumbers[name.substring(0, 1).toUpperCase() + name.substring(1, 3).toLowerCase()]; +}; + +Date.dayNames = [ + "Domenica", + "Luned\u00EC", + "Marted\u00EC", + "Mercoled\u00EC", + "Gioved\u00EC", + "Venerd\u00EC", + "Sabato" +]; + +Date.getShortDayName = function(day) { + return Date.dayNames[day].substring(0, 3); +}; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "OK", + cancel : "Annulla", + yes : "S\u00EC", + no : "No" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d/m/Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "Oggi", + minText : "Data precedente alla data minima", + maxText : "Data successiva alla data massima", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Mese successivo (Ctrl+Destra)', + prevText : 'Mese precedente (Ctrl+Sinistra)', + monthYearText : 'Scegli un mese (Ctrl+Su/Giu per cambiare anno)', + todayTip : "{0} (Barra spaziatrice)", + format : "d/m/y", + cancelText : "Annulla", + okText : " OK ", + startDay : 1 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Pagina", + afterPageText : "di {0}", + firstText : "Prima pagina", + prevText : "Pagina precedente", + nextText : "Pagina successiva", + lastText : "Ultima pagina", + refreshText : "Aggiorna", + displayMsg : "Record {0} - {1} di {2}", + emptyMsg : 'Nessun dato da mostrare' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "La lunghezza minima \u00E8 {0}", + maxLengthText : "La lunghezza massima \u00E8 {0}", + blankText : "Campo obbligatorio", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "Il valore minimo \u00E8 {0}", + maxText : "Il valore massimo \u00E8 {0}", + nanText : "{0} non \u00E8 un valore numerico corretto" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "Disabilitato", + disabledDatesText : "Disabilitato", + minText : "La data deve essere successiva al {0}", + maxText : "La data deve essere precedente al {0}", + invalidText : "{0} non \u00E8 una data valida. Deve essere nel formato {1}", + format : "d/m/y", + altFormats : "d/m/Y|d-m-y|d-m-Y|d/m|d-m|dm|dmy|dmY|d|Y-m-d" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "Caricamento in corso...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'Il campo deve essere un indirizzo e-mail nel formato "user@domain.com"', + urlText : 'Il campo deve essere un indirizzo web nel formato "http:/'+'/www.domain.com"', + alphaText : 'Il campo deve contenere solo lettere e _', + alphanumText : 'Il campo deve contenere solo lettere, numeri e _' + }); +} + +if(Ext.form.HtmlEditor){ + Ext.apply(Ext.form.HtmlEditor.prototype, { + createLinkText : 'Inserire un URL per il link:', + buttonTips : { + bold : { + title: 'Grassetto (Ctrl+B)', + text: 'Rende il testo selezionato in grassetto.', + cls: 'x-html-editor-tip' + }, + italic : { + title: 'Corsivo (Ctrl+I)', + text: 'Rende il testo selezionato in corsivo.', + cls: 'x-html-editor-tip' + }, + underline : { + title: 'Sottolinea (Ctrl+U)', + text: 'Sottolinea il testo selezionato.', + cls: 'x-html-editor-tip' + }, + increasefontsize : { + title: 'Ingrandisci testo', + text: 'Aumenta la dimensione del carattere.', + cls: 'x-html-editor-tip' + }, + decreasefontsize : { + title: 'Rimpicciolisci testo', + text: 'Diminuisce la dimensione del carattere.', + cls: 'x-html-editor-tip' + }, + backcolor : { + title: 'Colore evidenziatore testo', + text: 'Modifica il colore di sfondo del testo selezionato.', + cls: 'x-html-editor-tip' + }, + forecolor : { + title: 'Colore carattere', + text: 'Modifica il colore del testo selezionato.', + cls: 'x-html-editor-tip' + }, + justifyleft : { + title: 'Allinea a sinistra', + text: 'Allinea il testo a sinistra.', + cls: 'x-html-editor-tip' + }, + justifycenter : { + title: 'Centra', + text: 'Centra il testo.', + cls: 'x-html-editor-tip' + }, + justifyright : { + title: 'Allinea a destra', + text: 'Allinea il testo a destra.', + cls: 'x-html-editor-tip' + }, + insertunorderedlist : { + title: 'Elenco puntato', + text: 'Elenco puntato.', + cls: 'x-html-editor-tip' + }, + insertorderedlist : { + title: 'Elenco numerato', + text: 'Elenco numerato.', + cls: 'x-html-editor-tip' + }, + createlink : { + title: 'Collegamento', + text: 'Trasforma il testo selezionato in un collegamanto.', + cls: 'x-html-editor-tip' + }, + sourceedit : { + title: 'Sorgente', + text: 'Passa alla modalit\u00E0 editing del sorgente.', + cls: 'x-html-editor-tip' + } + } + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Ordinamento crescente", + sortDescText : "Ordinamento decrescente", + lockText : "Blocca colonna", + unlockText : "Sblocca colonna", + columnsText : "Colonne" + }); +} + +if(Ext.grid.GroupingView){ + Ext.apply(Ext.grid.GroupingView.prototype, { + emptyGroupText : '(Nessun dato)', + groupByText : 'Raggruppa per questo campo', + showGroupsText : 'Mostra nei gruppi' + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Nome", + valueText : "Valore", + dateFormat : "j/m/Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Trascina per cambiare dimensioni.", + collapsibleSplitTip : "Trascina per cambiare dimensioni. Doppio click per nascondere." + }); +} + diff --git a/skins/jason/extjs/locale/ext-lang-ja.js b/skins/jason/extjs/locale/ext-lang-ja.js new file mode 100644 index 0000000..f0f7a2b --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-ja.js @@ -0,0 +1,156 @@ +/* + * Japanese translation + * By tyama + * 04-08-2007, 05:49 AM + */ + +Ext.UpdateManager.defaults.indicatorText = '
    読ã¿è¾¼ã¿ä¸­...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} è¡Œé¸æŠž"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "ã“ã®ã‚¿ãƒ–ã‚’é–‰ã˜ã‚‹"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "フィールドã®å€¤ãŒä¸æ­£ã§ã™ã€‚"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "読ã¿è¾¼ã¿ä¸­..."; +} + +Date.monthNames = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月','11月','12月']; + +Date.dayNames = [ + "æ—¥", + "月", + "ç«", + "æ°´", + "木", + "金", + "土"]; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "OK", + cancel : "キャンセル", + yes : "ã¯ã„", + no : "ã„ã„ãˆ" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "Y/m/d"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "今日", + minText : "é¸æŠžã—ãŸæ—¥ä»˜ã¯æœ€å°å€¤ä»¥ä¸‹ã§ã™ã€‚", + maxText : "é¸æŠžã—ãŸæ—¥ä»˜ã¯æœ€å¤§å€¤ä»¥ä¸Šã§ã™ã€‚", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : '次月㸠(コントロール+å³)', + prevText : '剿œˆã¸ (コントロール+å·¦)', + monthYearText : 'æœˆé¸æŠž (コントロール+上/下ã§å¹´ç§»å‹•)', + todayTip : "{0} (スペースキー)", + format : "Y/m/d" + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "ページ", + afterPageText : "/ {0}", + firstText : "最åˆã®ãƒšãƒ¼ã‚¸", + prevText : "å‰ã®ãƒšãƒ¼ã‚¸", + nextText : "次ã®ãƒšãƒ¼ã‚¸", + lastText : "最後ã®ãƒšãƒ¼ã‚¸", + refreshText : "æ›´æ–°", + displayMsg : "{2} 件中 {0} - {1} を表示", + emptyMsg : '表示ã™ã‚‹ãƒ‡ãƒ¼ã‚¿ãŒã‚りã¾ã›ã‚“。' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "ã“ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®æœ€å°å€¤ã¯ {0} ã§ã™ã€‚", + maxLengthText : "ã“ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®æœ€å¤§å€¤ã¯ {0} ã§ã™ã€‚", + blankText : "必須項目ã§ã™ã€‚", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "ã“ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®æœ€å°å€¤ã¯ {0} ã§ã™ã€‚", + maxText : "ã“ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®æœ€å¤§å€¤ã¯ {0} ã§ã™ã€‚", + nanText : "{0} ã¯æ•°å€¤ã§ã¯ã‚りã¾ã›ã‚“。" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "無効", + disabledDatesText : "無効", + minText : "ã“ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®æ—¥ä»˜ã¯ã€ {0} 以é™ã®æ—¥ä»˜ã«è¨­å®šã—ã¦ãã ã•ã„。", + maxText : "ã“ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®æ—¥ä»˜ã¯ã€ {0} 以å‰ã®æ—¥ä»˜ã«è¨­å®šã—ã¦ãã ã•ã„。", + invalidText : "{0} ã¯é–“é•ã£ãŸæ—¥ä»˜å…¥åŠ›ã§ã™ã€‚ - 入力形å¼ã¯ã€Œ{1}ã€ã§ã™ã€‚", + format : "Y/m/d" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "読ã¿è¾¼ã¿ä¸­...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'メールアドレスを"user@domain.com"ã®å½¢å¼ã§å…¥åŠ›ã—ã¦ãã ã•ã„。', + urlText : 'URLã‚’"http:/'+'/www.domain.com"ã®å½¢å¼ã§å…¥åŠ›ã—ã¦ãã ã•ã„。', + alphaText : 'åŠè§’英字ã¨"_"ã®ã¿ã§ã™ã€‚', + alphanumText : 'åŠè§’英数ã¨"_"ã®ã¿ã§ã™ã€‚' + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "昇順", + sortDescText : "é™é †", + lockText : "カラムロック", + unlockText : "カラムロック解除", + columnsText : "Columns" + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "åç§°", + valueText : "値", + dateFormat : "Y/m/d" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "ドラッグã™ã‚‹ã¨ãƒªã‚µã‚¤ã‚ºã§ãã¾ã™ã€‚", + collapsibleSplitTip : "ドラッグã§ãƒªã‚µã‚¤ã‚ºã€‚ ダブルクリックã§éš ã™ã€‚" + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-ko.js b/skins/jason/extjs/locale/ext-lang-ko.js new file mode 100644 index 0000000..0895d8a --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-ko.js @@ -0,0 +1,261 @@ +/** + * Korean Translations By nicetip + * 05 September 2007 + * Modify by techbug / 25 February 2008 + */ + +Ext.UpdateManager.defaults.indicatorText = '
    로딩중...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} 개가 ì„ íƒë˜ì—ˆìŠµë‹ˆë‹¤."; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "닫기"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "올바른 ê°’ì´ ì•„ë‹™ë‹ˆë‹¤."; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "로딩중..."; +} + +Date.monthNames = [ + "1ì›”", + "2ì›”", + "3ì›”", + "4ì›”", + "5ì›”", + "6ì›”", + "7ì›”", + "8ì›”", + "9ì›”", + "10ì›”", + "11ì›”", + "12ì›”" +]; + +Date.dayNames = [ + "ì¼", + "ì›”", + "í™”", + "수", + "목", + "금", + "토" +]; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "확ì¸", + cancel : "취소", + yes : "예", + no : "아니오" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "m/d/Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "오늘", + minText : "최소 날짜범위를 넘었습니다.", + maxText : "최대 날짜범위를 넘었습니다.", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : '다ìŒë‹¬(컨트롤키+오른쪽 화살표)', + prevText : 'ì´ì „달 (컨트롤키+왼족 화살표)', + monthYearText : 'ì›”ì„ ì„ íƒí•´ì£¼ì„¸ìš”. (컨트롤키+위/아래 화살표)', + todayTip : "{0} (스페ì´ìŠ¤ë°”)", + format : "m/d/y", + okText : "확ì¸", + cancelText : "취소", + startDay : 0 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "페ì´ì§€", + afterPageText : "/ {0}", + firstText : "첫 페ì´ì§€", + prevText : "ì´ì „ 페ì´ì§€", + nextText : "ë‹¤ìŒ íŽ˜ì´ì§€", + lastText : "마지막 페ì´ì§€", + refreshText : "새로고침", + displayMsg : "ì „ì²´ {2} 중 {0} - {1}", + emptyMsg : '표시할 ë°ì´í„°ê°€ 없습니다.' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "최소길ì´ëŠ” {0}입니다.", + maxLengthText : "최대길ì´ëŠ” {0}입니다.", + blankText : "ê°’ì„ ìž…ë ¥í•´ì£¼ì„¸ìš”.", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "ìµœì†Œê°’ì€ {0}입니다.", + maxText : "ìµœëŒ€ê°’ì€ {0}입니다.", + nanText : "{0}는 올바른 숫ìžê°€ 아닙니다." + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "비활성", + disabledDatesText : "비활성", + minText : "{0}ì¼ ì´í›„여야 합니다.", + maxText : "{0}ì¼ ì´ì „ì´ì–´ì•¼ 합니다.", + invalidText : "{0}는 올바른 날짜형ì‹ì´ 아닙니다. - 다ìŒê³¼ ê°™ì€ í˜•ì‹ì´ì–´ì•¼ 합니다. {1}", + format : "m/d/y" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "로딩중...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'ì´ë©”ì¼ ì£¼ì†Œ 형ì‹ì— 맞게 입력해야합니다. (예: "user@domain.com")', + urlText : 'URL 형ì‹ì— 맞게 입력해야합니다. (예: "http:/'+'/www.domain.com")', + alphaText : 'ì˜ë¬¸, 밑줄(_)ë§Œ 입력할 수 있습니다.', + alphanumText : 'ì˜ë¬¸, 숫ìž, 밑줄(_)ë§Œ 입력할 수 있습니다.' + }); +} + +if(Ext.form.HtmlEditor){ + Ext.apply(Ext.form.HtmlEditor.prototype, { + createLinkText : 'URLì„ ìž…ë ¥í•´ì£¼ì„¸ìš”:', + buttonTips : { + bold : { + title: '굵게 (Ctrl+B)', + text: 'ì„ íƒí•œ í…스트를 굵게 표시합니다.', + cls: 'x-html-editor-tip' + }, + italic : { + title: '기울임꼴 (Ctrl+I)', + text: 'ì„ íƒí•œ í…스트를 기울임꼴로 표시합니다.', + cls: 'x-html-editor-tip' + }, + underline : { + title: '밑줄 (Ctrl+U)', + text: 'ì„ íƒí•œ í…ìŠ¤íŠ¸ì— ë°‘ì¤„ì„ í‘œì‹œí•©ë‹ˆë‹¤.', + cls: 'x-html-editor-tip' + }, + increasefontsize : { + title: '글꼴í¬ê¸° 늘림', + text: '글꼴 í¬ê¸°ë¥¼ í¬ê²Œ 합니다.', + cls: 'x-html-editor-tip' + }, + decreasefontsize : { + title: '글꼴í¬ê¸° 줄임', + text: '글꼴 í¬ê¸°ë¥¼ 작게 합니다.', + cls: 'x-html-editor-tip' + }, + backcolor : { + title: 'í…스트 ê°•ì¡° 색', + text: 'ì„ íƒí•œ í…ìŠ¤íŠ¸ì˜ ë°°ê²½ìƒ‰ì„ ë³€ê²½í•©ë‹ˆë‹¤.', + cls: 'x-html-editor-tip' + }, + forecolor : { + title: '글꼴색', + text: 'ì„ íƒí•œ í…ìŠ¤íŠ¸ì˜ ìƒ‰ì„ ë³€ê²½í•©ë‹ˆë‹¤.', + cls: 'x-html-editor-tip' + }, + justifyleft : { + title: 'í…스트 왼쪽 맞춤', + text: 'ì™¼ìª½ì— í…스트를 맞춥니다.', + cls: 'x-html-editor-tip' + }, + justifycenter : { + title: 'ê°€ìš´ë° ë§žì¶¤', + text: '가운ë°ì— í…스트를 맞춥니다.', + cls: 'x-html-editor-tip' + }, + justifyright : { + title: 'í…스트 오른쪽 맞춤', + text: 'ì˜¤ë¥¸ìª½ì— í…스트를 맞춥니다.', + cls: 'x-html-editor-tip' + }, + insertunorderedlist : { + title: '글머리 기호', + text: '글머리 기호 목ë¡ì„ 시작합니다.', + cls: 'x-html-editor-tip' + }, + insertorderedlist : { + title: '번호 매기기', + text: '번호 매기기 목ë¡ì„ 시작합니다.', + cls: 'x-html-editor-tip' + }, + createlink : { + title: '하ì´í¼ë§í¬', + text: 'ì„ íƒí•œ í…ìŠ¤íŠ¸ì— í•˜ì´í¼ë§í¬ë¥¼ 만듭니다.', + cls: 'x-html-editor-tip' + }, + sourceedit : { + title: '소스편집', + text: '소스편집 모드로 변환합니다.', + cls: 'x-html-editor-tip' + } + } + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "오름차순 ì •ë ¬", + sortDescText : "내림차순 ì •ë ¬", + lockText : "칼럼 잠금", + unlockText : "칼럼 잠금해제", + columnsText : "칼럼 목ë¡" + }); +} + +if(Ext.grid.GroupingView){ + Ext.apply(Ext.grid.GroupingView.prototype, { + emptyGroupText : '(None)', + groupByText : '현재 필드로 그룹핑합니다.', + showGroupsText : '그룹으로 보여주기' + + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "항목", + valueText : "ê°’", + dateFormat : "m/j/Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "í¬ê¸°ë³€ê²½ì„ 위해 드래그하세요.", + collapsibleSplitTip : "í¬ê¸°ë³€ê²½ì„ 위해 드래그, 숨기기 위해 ë”블í´ë¦­ 하세요." + }); +} + diff --git a/skins/jason/extjs/locale/ext-lang-lt.js b/skins/jason/extjs/locale/ext-lang-lt.js new file mode 100644 index 0000000..e28071b --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-lt.js @@ -0,0 +1,299 @@ +/** + * Lithuanian Translations (UTF-8) + * By Vladas Saulis, October 18, 2007 + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Kraunasi...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} pažymÄ—ta"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Uždaryti Å¡iÄ… užsklandÄ…"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "Å io lauko reikÅ¡mÄ— neteisinga"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "Kraunasi..."; +} + +Date.monthNames = [ + "Saulis", + "Vasaris", + "Kovas", + "Balandis", + "Gegužė", + "Birželis", + "Liepa", + "RugpjÅ«tis", + "RugsÄ—jis", + "Spalis", + "Lapkritis", + "Gruodis" +]; + +Date.getShortMonthName = function(month) { + return [ + "Sau", + "Vas", + "Kov", + "Bal", + "Geg", + "Bir", + "Lie", + "Rgp", + "Rgs", + "Spa", + "Lap", + "Grd" + ]; +}; + +Date.monthNumbers = { + Jan : 0, + Feb : 1, + Mar : 2, + Apr : 3, + May : 4, + Jun : 5, + Jul : 6, + Aug : 7, + Sep : 8, + Oct : 9, + Nov : 10, + Dec : 11 +}; + +Date.getMonthNumber = function(name) { + return Date.monthNumbers[name.substring(0, 1).toUpperCase() + name.substring(1, 3).toLowerCase()]; +}; + +Date.dayNames = [ + "Pirmadienis", + "Antradienis", + "TreÄiadienis", + "Ketvirtadienis", + "Penktadienis", + "Å eÅ¡tadienis", + "Sekmadienis" +]; + +Date.getShortDayName = function(day) { + return Date.dayNames[day].substring(0, 3); +}; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "Gerai", + cancel : "Atsisakyti", + yes : "Taip", + no : "Ne" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "Y-m-d"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "Å iandien", + minText : "Å i data yra mažesnÄ— už leistinÄ…", + maxText : "Å i data yra didesnÄ— už leistinÄ…", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Next Month (Control+Right)', + prevText : 'Previous Month (Control+Left)', + monthYearText : 'Choose a month (Control+Up/Down perÄ—jimui tarp metų)', + todayTip : "{0} (Spacebar)", + format : "y-m-d", + okText : " Gerai ", + cancelText : "Atsisaktyi", + startDay : 1 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Puslapis", + afterPageText : "iÅ¡ {0}", + firstText : "Pirmas puslapis", + prevText : "Ankstesnis pusl.", + nextText : "Kitas puslapis", + lastText : "Pakutinis pusl.", + refreshText : "Atnaujinti", + displayMsg : "Rodomi įraÅ¡ai {0} - {1} iÅ¡ {2}", + emptyMsg : 'NÄ—ra duomenų' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "Minimalus Å¡io lauko ilgis yra {0}", + maxLengthText : "Maksimalus Å¡io lauko ilgis yra {0}", + blankText : "Å is laukas yra reikalingas", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "Minimalus Å¡io lauko ilgis yra {0}", + maxText : "Maksimalus Å¡io lauko ilgis yra {0}", + nanText : "{0} yra neleistina reikÅ¡mÄ—" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "Neprieinama", + disabledDatesText : "Neprieinama", + minText : "Å iame lauke data turi bÅ«ti didesnÄ— už {0}", + maxText : "Å iame lauke data turi bÅ«ti mažesnÄ—Ä— už {0}", + invalidText : "{0} yra neteisinga data - ji turi bÅ«ti įvesta formatu {1}", + format : "y-m-d", + altFormats : "y-m-d|y/m/d|Y-m-d|m/d|m-d|md|ymd|Ymd|d|Y-m-d" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "Kraunasi...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'Å iame lauke turi bÅ«ti el.paÅ¡to adresas formatu "user@domain.com"', + urlText : 'Å iame lauke turi bÅ«ti nuoroda (URL) formatu "http:/'+'/www.domain.com"', + alphaText : 'Å iame lauke gali bÅ«ti tik raidÄ—s ir ženklas "_"', + alphanumText : 'Å iame lauke gali bÅ«ti tik raidÄ—s, skaiÄiai ir ženklas "_"' + }); +} + +if(Ext.form.HtmlEditor){ + Ext.apply(Ext.form.HtmlEditor.prototype, { + createLinkText : 'Ä®veskite URL Å¡iai nuorodai:', + buttonTips : { + bold : { + title: 'Bold (Ctrl+B)', + text: 'Teksto paryÅ¡kinimas.', + cls: 'x-html-editor-tip' + }, + italic : { + title: 'Italic (Ctrl+I)', + text: 'Kursyvinis tekstas.', + cls: 'x-html-editor-tip' + }, + underline : { + title: 'Underline (Ctrl+U)', + text: 'Teksto pabraukimas.', + cls: 'x-html-editor-tip' + }, + increasefontsize : { + title: 'Padidinti Å¡riftÄ…', + text: 'Padidinti Å¡rifto dydį.', + cls: 'x-html-editor-tip' + }, + decreasefontsize : { + title: 'Sumažinti Å¡riftÄ…', + text: 'Sumažinti Å¡rifto dydį.', + cls: 'x-html-editor-tip' + }, + backcolor : { + title: 'Nuspalvinti teksto fonÄ…', + text: 'Pakeisti teksto fono spalvÄ….', + cls: 'x-html-editor-tip' + }, + forecolor : { + title: 'Teksto spalva', + text: 'Pakeisti pažymÄ—to teksto spalvÄ….', + cls: 'x-html-editor-tip' + }, + justifyleft : { + title: 'IÅ¡lyginti kairen', + text: 'IÅ¡lyginti tekstÄ… į kairÄ™.', + cls: 'x-html-editor-tip' + }, + justifycenter : { + title: 'Centruoti tekstÄ…', + text: 'Centruoti tektÄ… redaktoriaus lange.', + cls: 'x-html-editor-tip' + }, + justifyright : { + title: 'IÅ¡lyginti deÅ¡inÄ—n', + text: 'IÅ¡lyginti tekstÄ… į deÅ¡inÄ™.', + cls: 'x-html-editor-tip' + }, + insertunorderedlist : { + title: 'Paprastas sÄ…raÅ¡as', + text: 'PradÄ—ti neorganizuotÄ… sÄ…rašą.', + cls: 'x-html-editor-tip' + }, + insertorderedlist : { + title: 'Numeruotas sÄ…raÅ¡as', + text: 'PradÄ—ti numeruotÄ… sÄ…rašą.', + cls: 'x-html-editor-tip' + }, + createlink : { + title: 'Nuoroda', + text: 'Padaryti pažymÄ—ta tekstÄ… nuoroda.', + cls: 'x-html-editor-tip' + }, + sourceedit : { + title: 'IÅ¡eities tekstas', + text: 'Persijungti į iÅ¡eities teksto koregavimo režimÄ….', + cls: 'x-html-editor-tip' + } + } + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Rūšiuoti didÄ—janÄia tvarka", + sortDescText : "Rūšiuoti mažėjanÄia tvarka", + lockText : "Užfiksuoti stulpelį", + unlockText : "Atlaisvinti stulpelį", + columnsText : "Stulpeliai" + }); +} + +if(Ext.grid.GroupingView){ + Ext.apply(Ext.grid.GroupingView.prototype, { + emptyGroupText : '(NÄ—ra)', + groupByText : 'Grupuoti pagal šį laukÄ…', + showGroupsText : 'Rodyti grupÄ—se' + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Pavadinimas", + valueText : "ReikÅ¡mÄ—", + dateFormat : "Y-m-d" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Patraukite juostelÄ™.", + collapsibleSplitTip : "Patraukite juostelÄ™ arba Paspauskite dvigubai kad paslÄ—pti." + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-lv.js b/skins/jason/extjs/locale/ext-lang-lv.js new file mode 100644 index 0000000..8a20559 --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-lv.js @@ -0,0 +1,170 @@ +/** + * Latvian Translations + * By salix 17 April 2007 + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Notiek ielÄde...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} iezÄ«mÄ“tu rindu"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Aizver Å¡o zÄ«mni"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "VÄ“rtÄ«ba Å¡ajÄ laukÄ nav pareiza"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "IelÄdÄ“..."; +} + +Date.monthNames = [ + "JanvÄris", + "FebruÄris", + "Marts", + "AprÄ«lis", + "Maijs", + "JÅ«nijs", + "JÅ«lijs", + "Augusts", + "Septembris", + "Oktobris", + "Novembris", + "Decembris" +]; + +Date.dayNames = [ + "SvÄ“tdiena", + "Pirmdiena", + "Otrdiena", + "TreÅ¡diena", + "Ceturtdiena", + "Piektdiena", + "Sestdiena" +]; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "Labi", + cancel : "Atcelt", + yes : "JÄ", + no : "NÄ“" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d.m.Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "Å odiena", + minText : "NorÄdÄ«tais datums ir mazÄks par minimÄlo datumu", + maxText : "NorÄdÄ«tais datums ir lielÄks par maksimÄlo datumu", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'NÄkamais mÄ“nesis (Control+pa labi)', + prevText : 'Iepriekšējais mÄ“nesis (Control+pa kreisi)', + monthYearText : 'MÄ“neÅ¡a izvÄ“le (Control+uz augÅ¡u/uz leju lai pÄrslÄ“gtu gadus)', + todayTip : "{0} (TukÅ¡umzÄ«me)", + format : "d.m.Y", + startDay : 1 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Lapa", + afterPageText : "no {0}", + firstText : "PirmÄ lapa", + prevText : "iepriekšējÄ lapa", + nextText : "NÄkamÄ lapa", + lastText : "PÄ“dÄ“jÄ lapa", + refreshText : "AtsvaidzinÄt", + displayMsg : "RÄda no {0} lÄ«dz {1} ierakstiem, kopÄ {2}", + emptyMsg : 'Nav datu, ko parÄdÄ«t' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "MinimÄlais garums Å¡im laukam ir {0}", + maxLengthText : "MaksimÄlais garums Å¡im laukam ir {0}", + blankText : "Å is ir obligÄts lauks", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "MinimÄlais garums Å¡im laukam ir {0}", + maxText : "MaksimÄlais garums Å¡im laukam ir {0}", + nanText : "{0} nav pareizs skaitlis" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "AtspÄ“jots", + disabledDatesText : "AtspÄ“jots", + minText : "Datumam Å¡ajÄ laukÄ jÄbÅ«t lielÄkam kÄ {0}", + maxText : "Datumam Å¡ajÄ laukÄ jÄbÅ«t mazÄkam kÄ {0}", + invalidText : "{0} nav pareizs datums - tam jÄbÅ«t Å¡ÄdÄ formÄtÄ: {1}", + format : "d.m.Y" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "IelÄdÄ“...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'Å ajÄ laukÄ jÄieraksta e-pasta adrese formÄtÄ "lietotÄs@domÄ“ns.lv"', + urlText : 'Å ajÄ laukÄ jÄieraksta URL formÄtÄ "http:/'+'/www.domÄ“ns.lv"', + alphaText : 'Å is lauks drÄ«kst saturÄ“t tikai burtus un _ zÄ«mi', + alphanumText : 'Å is lauks drÄ«kst saturÄ“t tikai burtus, ciparus un _ zÄ«mi' + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "KÄrtot pieaugoÅ¡Ä secÄ«bÄ", + sortDescText : "KÄrtot dilstoÅ¡Ä secÄ«bÄ", + lockText : "NoslÄ“gt kolonnu", + unlockText : "AtslÄ“gt kolonnu", + columnsText : "Kolonnas" + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Nosaukums", + valueText : "VÄ“rtÄ«ba", + dateFormat : "j.m.Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Velc, lai mainÄ«tu izmÄ“ru.", + collapsibleSplitTip : "Velc, lai mainÄ«tu izmÄ“ru. Dubultklikšķis noslÄ“pj apgabalu." + }); +} \ No newline at end of file diff --git a/skins/jason/extjs/locale/ext-lang-mk.js b/skins/jason/extjs/locale/ext-lang-mk.js new file mode 100644 index 0000000..8ce282e --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-mk.js @@ -0,0 +1,170 @@ +/* + * Macedonia translation + * By PetarD petar.dimitrijevic@vorteksed.com.mk (utf8 encoding) + * 23 April 2007 + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Вчитувам...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} избрани редици"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Затвори tab"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "ВредноÑта во ова поле е невалидна"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "Вчитувам..."; +} + +Date.monthNames = [ + "Јануари", + "Февруари", + "Март", + "Ðприл", + "Мај", + "Јуни", + "Јули", + "ÐвгуÑÑ‚", + "Септември", + "Октомври", + "Ðоември", + "Декември" +]; + +Date.dayNames = [ + "Ðедела", + "Понеделник", + "Вторник", + "Среда", + "Четврток", + "Петок", + "Сабота" +]; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "Потврди", + cancel : "Поништи", + yes : "Да", + no : "Ðе" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d.m.y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "ДенеÑка", + minText : "Овој датум е пред најмалиот датум", + maxText : "Овој датум е пред најголемиот датум", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Следен меÑец (Control+Стрелка деÑно)', + prevText : 'Претходен меÑец (Control+Стрелка лево)', + monthYearText : 'Изберете меÑец (Control+Стрелка горе/Стрелка деÑно за менување година)', + todayTip : "{0} (Spacebar)", + format : "d.m.y" + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Страница", + afterPageText : "од {0}", + firstText : "Прва Страница", + prevText : "Претходна Страница", + nextText : "Следна Страница", + lastText : "ПоÑледна Страница", + refreshText : "ОÑвежи", + displayMsg : "Прикажувам {0} - {1} од {2}", + emptyMsg : 'Ðема податоци за приказ' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "Минималната должина за ова поле е {0}", + maxLengthText : "МакÑималната должина за ова поле е {0}", + blankText : "Податоците во ова поле Ñе потребни", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "Минималната вредноÑÑ‚ за ова поле е {0}", + maxText : "МакÑималната вредноÑÑ‚ за ова поле е {0}", + nanText : "{0} не е валиден број" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "Ðеактивно", + disabledDatesText : "Ðеактивно", + minText : "Датумот во ова поле мора да биде пред {0}", + maxText : "Датумот во ова поле мора да биде по {0}", + invalidText : "{0} не е валиден датум - мора да биде во формат {1}", + format : "d.m.y" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "Вчитувам...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'Ова поле треба да биде e-mail адреÑа во формат "user@domain.com"', + urlText : 'Ова поле треба да биде URL во формат "http:/'+'/www.domain.com"', + alphaText : 'Ова поле треба да Ñодржи Ñамо букви и _', + alphanumText : 'Ова поле треба да Ñодржи Ñамо букви, бројки и _' + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Сортирај РаÑтечки", + sortDescText : "Сортирај Опаѓачки", + lockText : "Заклучи Колона", + unlockText : "Отклучи колона", + columnsText : "Колони" + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Име", + valueText : "ВредноÑÑ‚", + dateFormat : "m.d.Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Повлечете за менување на големината.", + collapsibleSplitTip : "Повлечете за менување на големината. Дупли клик за криење." + }); +} \ No newline at end of file diff --git a/skins/jason/extjs/locale/ext-lang-nl.js b/skins/jason/extjs/locale/ext-lang-nl.js new file mode 100644 index 0000000..bb3ac28 --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-nl.js @@ -0,0 +1,310 @@ +/* + * List compiled by mystix on the extjs.com forums. + * Thank you Mystix! + * + * Dutch Translations + * by Ido Sebastiaan Bas van Oostveen (12 Oct 2007) + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Bezig met laden...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ''; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = '{0} geselecteerde rij(en)'; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = 'Sluit dit tabblad'; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = 'Bezig met laden...'; +} + +Date.monthNames = [ + 'januari', + 'februari', + 'maart', + 'april', + 'mei', + 'juni', + 'juli', + 'augustus', + 'september', + 'oktober', + 'november', + 'december' +]; + +Date.getShortMonthName = function(month) { + if (month == 2) { + return 'mrt'; + } + return Date.monthNames[month].substring(0, 3); +}; + +Date.monthNumbers = { + jan: 0, + feb: 1, + maa: 2, + apr: 3, + mei: 4, + jun: 5, + jul: 6, + aug: 7, + sep: 8, + okt: 9, + nov: 10, + dec: 11 +}; + +Date.getMonthNumber = function(name) { + var sname = name.substring(0, 3).toLowerCase(); + if (sname == 'mrt') { + return 2; + } + return Date.monthNumbers[sname]; +}; + +Date.dayNames = [ + 'zondag', + 'maandag', + 'dinsdag', + 'woensdag', + 'donderdag', + 'vrijdag', + 'zaterdag' +]; + +Date.getShortDayName = function(day) { + return Date.dayNames[day].substring(0, 3); +}; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok: 'OK', + cancel: 'Annuleren', + yes: 'Ja', + no: 'Nee' + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if (!v) return ''; + if (!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || 'j-m-y'); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText: 'Vandaag', + minText: 'Deze datum is eerder dan de minimale datum', + maxText: 'Deze datum is later dan de maximale datum', + disabledDaysText: '', + disabledDatesText: '', + monthNames: Date.monthNames, + dayNames: Date.dayNames, + nextText: 'Volgende maand (Ctrl+rechts)', + prevText: 'Vorige maand (Ctrl+links)', + monthYearText: 'Kies een maand (Ctrl+omhoog/omlaag volgend/vorig jaar)', + todayTip: '{0} (spatie)', + format: 'j-m-y', + okText: ' OK ', + cancelText: 'Annuleren', + startDay: 1 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText: 'Pagina', + afterPageText: 'van {0}', + firstText: 'Eerste pagina', + prevText: 'Vorige pagina', + nextText: 'Volgende pagina', + lastText: 'Laatste pagina', + refreshText: 'Ververs', + displayMsg: 'Getoond {0} - {1} van {2}', + emptyMsg: 'Geen gegevens om weer te geven' + }); +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = 'De waarde van dit veld is ongeldig'; +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText: 'De minimale lengte van dit veld is {0}', + maxLengthText: 'De maximale lengte van dit veld is {0}', + blankText: 'Dit veld is verplicht', + regexText: '', + emptyText: null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText: 'De minimale waarde van dit veld is {0}', + maxText: 'De maximale waarde van dit veld is {0}', + nanText: '{0} is geen geldig getal' + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText: 'Uitgeschakeld', + disabledDatesText: 'Uitgeschakeld', + minText: 'De datum in dit veld moet na {0} liggen', + maxText: 'De datum in dit veld moet voor {0} liggen', + invalidText: '{0} is geen geldige datum - formaat voor datum is {1}', + format: 'j-m-y', + altFormats: 'd/m/Y|d-m-y|d-m-Y|d/m|d-m|dm|dmy|dmY|d|Y-m-d' + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText: 'Bezig met laden...', + valueNotFoundText: undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText: 'Dit veld moet een e-mail adres bevatten in het formaat "gebruiker@domein.nl"', + urlText: 'Dit veld moet een URL bevatten in het formaat "http:/'+'/www.domein.nl"', + alphaText: 'Dit veld mag alleen letters en _ bevatten', + alphanumText: 'Dit veld mag alleen letters, cijfers en _ bevatten' + }); +} + +if(Ext.form.HtmlEditor){ + Ext.apply(Ext.form.HtmlEditor.prototype, { + createLinkText: 'Vul hier de URL voor de hyperlink in:', + buttonTips: { + bold: { + title: 'Vet (Ctrl+B)', + text: 'Maak de geselecteerde tekst vet.', + cls: 'x-html-editor-tip' + }, + italic: { + title: 'Cursief (Ctrl+I)', + text: 'Maak de geselecteerde tekst cursief.', + cls: 'x-html-editor-tip' + }, + underline: { + title: 'Onderstrepen (Ctrl+U)', + text: 'Onderstreep de geselecteerde tekst.', + cls: 'x-html-editor-tip' + }, + increasefontsize: { + title: 'Tekst vergroten', + text: 'Vergroot het lettertype.', + cls: 'x-html-editor-tip' + }, + decreasefontsize: { + title: 'Tekst verkleinen', + text: 'Verklein het lettertype.', + cls: 'x-html-editor-tip' + }, + backcolor: { + title: 'Tekst achtergrondkleur', + text: 'Verander de achtergrondkleur van de geselecteerde tekst.', + cls: 'x-html-editor-tip' + }, + forecolor: { + title: 'Tekst kleur', + text: 'Verander de kleur van de geselecteerde tekst.', + cls: 'x-html-editor-tip' + }, + justifyleft: { + title: 'Tekst links uitlijnen', + text: 'Lijn de tekst links uit.', + cls: 'x-html-editor-tip' + }, + justifycenter: { + title: 'Tekst centreren', + text: 'Centreer de tekst.', + cls: 'x-html-editor-tip' + }, + justifyright: { + title: 'Tekst rechts uitlijnen', + text: 'Lijn de tekst rechts uit.', + cls: 'x-html-editor-tip' + }, + insertunorderedlist: { + title: 'Opsommingstekens', + text: 'Begin een ongenummerde lijst.', + cls: 'x-html-editor-tip' + }, + insertorderedlist: { + title: 'Genummerde lijst', + text: 'Begin een genummerde lijst.', + cls: 'x-html-editor-tip' + }, + createlink: { + title: 'Hyperlink', + text: 'Maak van de geselecteerde tekst een hyperlink.', + cls: 'x-html-editor-tip' + }, + sourceedit: { + title: 'Bron aanpassen', + text: 'Schakel modus over naar bron aanpassen.', + cls: 'x-html-editor-tip' + } + } + }); +} + +if(Ext.form.BasicForm){ + Ext.form.BasicForm.prototype.waitTitle = "Even wachten a.u.b..."; +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText: 'Sorteer oplopend', + sortDescText: 'Sorteer aflopend', + lockText: 'Kolom vastzetten', + unlockText: 'Kolom vrijgeven', + columnsText: 'Kolommen' + }); +} + +if(Ext.grid.GroupingView){ + Ext.apply(Ext.grid.GroupingView.prototype, { + emptyGroupText: '(Geen)', + groupByText: 'Dit veld groeperen', + showGroupsText: 'Toon in groepen' + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText: 'Naam', + valueText: 'Waarde', + dateFormat: 'j-m-Y' + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip: 'Sleep om grootte aan te passen.', + collapsibleSplitTip: 'Sleep om grootte aan te passen. Dubbel klikken om te verbergen.' + }); +} + +if(Ext.form.TimeField){ + Ext.apply(Ext.form.TimeField.prototype, { + minText: 'De tijd in dit veld moet op of na {0} liggen', + maxText: 'De tijd in dit veld moet op of voor {0} liggen', + invalidText: '{0} is geen geldig tijdstip', + format: 'G:i', + altFormats: 'g:ia|g:iA|g:i a|g:i A|h:i|g:i|H:i|ga|ha|gA|h a|g a|g A|gi|hi|gia|hia|g|H' + }); +} \ No newline at end of file diff --git a/skins/jason/extjs/locale/ext-lang-no_NB.js b/skins/jason/extjs/locale/ext-lang-no_NB.js new file mode 100644 index 0000000..0c413b3 --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-no_NB.js @@ -0,0 +1,288 @@ +/** + * + * Norwegian translation (BokmÃ¥l: no-NB) + * By Tore Kjørsvik 21-January-2008 + * + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Laster...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} markert(e) rad(er)"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Lukk denne fanen"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "Verdien i dette feltet er ugyldig"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "Laster..."; +} + +Date.monthNames = [ + "Januar", + "Februar", + "Mars", + "April", + "Mai", + "Juni", + "Juli", + "August", + "September", + "Oktober", + "November", + "Desember" +]; + +Date.getShortMonthName = function(month) { + return Date.monthNames[month].substring(0, 3); +}; + +Date.monthNumbers = { + Jan : 0, + Feb : 1, + Mar : 2, + Apr : 3, + Mai : 4, + Jun : 5, + Jul : 6, + Aug : 7, + Sep : 8, + Okt : 9, + Nov : 10, + Des : 11 +}; + +Date.getMonthNumber = function(name) { + return Date.monthNumbers[name.substring(0, 1).toUpperCase() + name.substring(1, 3).toLowerCase()]; +}; + +Date.dayNames = [ + "Søndag", + "Mandag", + "Tirsdag", + "Onsdag", + "Torsdag", + "Fredag", + "Lørdag" +]; + +Date.getShortDayName = function(day) { + return Date.dayNames[day].substring(0, 3); +}; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "OK", + cancel : "Avbryt", + yes : "Ja", + no : "Nei" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d.m.Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "I dag", + minText : "Denne datoen er før tidligste tillatte dato", + maxText : "Denne datoen er etter seneste tillatte dato", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Neste mÃ¥ned (Control+Pil Høyre)', + prevText : 'Forrige mÃ¥ned (Control+Pil Venstre)', + monthYearText : 'Velg en mÃ¥ned (Control+Pil Opp/Ned for Ã¥ skifte Ã¥r)', + todayTip : "{0} (Mellomrom)", + format : "d.m.y", + okText : " OK ", + cancelText : "Avbryt", + startDay : 1 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Side", + afterPageText : "av {0}", + firstText : "Første side", + prevText : "Forrige side", + nextText : "Neste side", + lastText : "Siste side", + refreshText : "Oppdater", + displayMsg : "Viser {0} - {1} av {2}", + emptyMsg : 'Ingen data Ã¥ vise' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "Den minste lengden for dette feltet er {0}", + maxLengthText : "Den største lengden for dette feltet er {0}", + blankText : "Dette feltet er pÃ¥krevd", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "Den minste verdien for dette feltet er {0}", + maxText : "Den største verdien for dette feltet er {0}", + nanText : "{0} er ikke et gyldig nummer" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "Deaktivert", + disabledDatesText : "Deaktivert", + minText : "Datoen i dette feltet mÃ¥ være etter {0}", + maxText : "Datoen i dette feltet mÃ¥ være før {0}", + invalidText : "{0} er ikke en gyldig dato - den mÃ¥ være pÃ¥ formatet {1}", + format : "d.m.y", + altFormats : "d.m.Y|d/m/y|d/m/Y|d-m-y|d-m-Y|d.m|d/m|d-m|dm|dmy|dmY|Y-m-d|d" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "Laster...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'Dette feltet skal være en epost adresse pÃ¥ formatet "bruker@domene.no"', + urlText : 'Dette feltet skal være en link (URL) pÃ¥ formatet "http:/'+'/www.domene.no"', + alphaText : 'Dette feltet skal kun inneholde bokstaver og _', + alphanumText : 'Dette feltet skal kun inneholde bokstaver, tall og _' + }); +} + +if(Ext.form.HtmlEditor){ + Ext.apply(Ext.form.HtmlEditor.prototype, { + createLinkText : 'Vennligst skriv inn URL for lenken:', + buttonTips : { + bold : { + title: 'Fet (Ctrl+B)', + text: 'Gjør den valgte teksten fet.', + cls: 'x-html-editor-tip' + }, + italic : { + title: 'Kursiv (Ctrl+I)', + text: 'Gjør den valgte teksten kursiv.', + cls: 'x-html-editor-tip' + }, + underline : { + title: 'Understrek (Ctrl+U)', + text: 'Understrek den valgte teksten.', + cls: 'x-html-editor-tip' + }, + increasefontsize : { + title: 'Forstørr tekst', + text: 'Gjør fontstørrelse større.', + cls: 'x-html-editor-tip' + }, + decreasefontsize : { + title: 'Forminsk tekst', + text: 'Gjør fontstørrelse mindre.', + cls: 'x-html-editor-tip' + }, + backcolor : { + title: 'Tekst markeringsfarge', + text: 'Endre bakgrunnsfarge til den valgte teksten.', + cls: 'x-html-editor-tip' + }, + forecolor : { + title: 'Font farge', + text: 'Endre farge pÃ¥ den valgte teksten.', + cls: 'x-html-editor-tip' + }, + justifyleft : { + title: 'Venstrejuster tekst', + text: 'Venstrejuster teksten.', + cls: 'x-html-editor-tip' + }, + justifycenter : { + title: 'Sentrer tekst', + text: 'Sentrer teksten.', + cls: 'x-html-editor-tip' + }, + justifyright : { + title: 'Høyrejuster tekst', + text: 'Høyrejuster teksten.', + cls: 'x-html-editor-tip' + }, + insertunorderedlist : { + title: 'Punktliste', + text: 'Start en punktliste.', + cls: 'x-html-editor-tip' + }, + insertorderedlist : { + title: 'Nummerert liste', + text: 'Start en nummerert liste.', + cls: 'x-html-editor-tip' + }, + createlink : { + title: 'Lenke', + text: 'Gjør den valgte teksten til en lenke.', + cls: 'x-html-editor-tip' + }, + sourceedit : { + title: 'Rediger kilde', + text: 'Bytt til kilderedigeringsvisning.', + cls: 'x-html-editor-tip' + } + } + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Sorter stigende", + sortDescText : "Sorter synkende", + lockText : "LÃ¥s kolonne", + unlockText : "LÃ¥s opp kolonne", + columnsText : "Kolonner" + }); +} + +if(Ext.grid.GroupingView){ + Ext.apply(Ext.grid.GroupingView.prototype, { + emptyGroupText : '(Ingen)', + groupByText : 'Grupper etter dette feltet', + showGroupsText : 'Vis i grupper' + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Navn", + valueText : "Verdi", + dateFormat : "d.m.Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Dra for Ã¥ endre størrelse.", + collapsibleSplitTip : "Dra for Ã¥ endre størrelse. Dobbelklikk for Ã¥ skjule." + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-no_NN.js b/skins/jason/extjs/locale/ext-lang-no_NN.js new file mode 100644 index 0000000..54c684e --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-no_NN.js @@ -0,0 +1,288 @@ +/** + * + * Norwegian translation (Nynorsk: no-NN) + * By Tore Kjørsvik 21-January-2008 + * + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Lastar...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} markert(e) rad(er)"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Lukk denne fana"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "Verdien i dette feltet er ugyldig"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "Lastar..."; +} + +Date.monthNames = [ + "Januar", + "Februar", + "Mars", + "April", + "Mai", + "Juni", + "Juli", + "August", + "September", + "Oktober", + "November", + "Desember" +]; + +Date.getShortMonthName = function(month) { + return Date.monthNames[month].substring(0, 3); +}; + +Date.monthNumbers = { + Jan : 0, + Feb : 1, + Mar : 2, + Apr : 3, + Mai : 4, + Jun : 5, + Jul : 6, + Aug : 7, + Sep : 8, + Okt : 9, + Nov : 10, + Des : 11 +}; + +Date.getMonthNumber = function(name) { + return Date.monthNumbers[name.substring(0, 1).toUpperCase() + name.substring(1, 3).toLowerCase()]; +}; + +Date.dayNames = [ + "Søndag", + "MÃ¥ndag", + "Tysdag", + "Onsdag", + "Torsdag", + "Fredag", + "Laurdag" +]; + +Date.getShortDayName = function(day) { + return Date.dayNames[day].substring(0, 3); +}; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "OK", + cancel : "Avbryt", + yes : "Ja", + no : "Nei" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d.m.Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "I dag", + minText : "Denne datoen er før tidlegaste tillatne dato", + maxText : "Denne datoen er etter seinaste tillatne dato", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Neste mÃ¥nad (Control+Pil Høgre)', + prevText : 'Førre mÃ¥nad (Control+Pil Venstre)', + monthYearText : 'Velj ein mÃ¥nad (Control+Pil Opp/Ned for Ã¥ skifte Ã¥r)', + todayTip : "{0} (Mellomrom)", + format : "d.m.y", + okText : " OK ", + cancelText : "Avbryt", + startDay : 1 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Side", + afterPageText : "av {0}", + firstText : "Første sida", + prevText : "Førre sida", + nextText : "Neste sida", + lastText : "Siste sida", + refreshText : "Oppdater", + displayMsg : "Viser {0} - {1} av {2}", + emptyMsg : 'Ingen data Ã¥ vise' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "Den minste lengda for dette feltet er {0}", + maxLengthText : "Den største lengda for dette feltet er {0}", + blankText : "Dette feltet er pÃ¥kravd", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "Den minste verdien for dette feltet er {0}", + maxText : "Den største verdien for dette feltet er {0}", + nanText : "{0} er ikkje eit gyldig nummer" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "Deaktivert", + disabledDatesText : "Deaktivert", + minText : "Datoen i dette feltet mÃ¥ vere etter {0}", + maxText : "Datoen i dette feltet mÃ¥ vere før {0}", + invalidText : "{0} er ikkje ein gyldig dato - han mÃ¥ vere pÃ¥ formatet {1}", + format : "d.m.y", + altFormats : "d.m.Y|d/m/y|d/m/Y|d-m-y|d-m-Y|d.m|d/m|d-m|dm|dmy|dmY|Y-m-d|d" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "Lastar...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'Dette feltet skal vere ei epost adresse pÃ¥ formatet "bruker@domene.no"', + urlText : 'Dette feltet skal vere ein link (URL) pÃ¥ formatet "http:/'+'/www.domene.no"', + alphaText : 'Dette feltet skal berre innehalde bokstavar og _', + alphanumText : 'Dette feltet skal berre innehalde bokstavar, tal og _' + }); +} + +if(Ext.form.HtmlEditor){ + Ext.apply(Ext.form.HtmlEditor.prototype, { + createLinkText : 'Ver venleg og skriv inn URL for lenken:', + buttonTips : { + bold : { + title: 'Feit (Ctrl+B)', + text: 'Gjer den valde teksten feit.', + cls: 'x-html-editor-tip' + }, + italic : { + title: 'Kursiv (Ctrl+I)', + text: 'Gjer den valde teksten kursiv.', + cls: 'x-html-editor-tip' + }, + underline : { + title: 'Understrek (Ctrl+U)', + text: 'Understrek den valde teksten.', + cls: 'x-html-editor-tip' + }, + increasefontsize : { + title: 'Forstørr tekst', + text: 'Gjer fontstorleik større.', + cls: 'x-html-editor-tip' + }, + decreasefontsize : { + title: 'Forminsk tekst', + text: 'Gjer fontstorleik mindre.', + cls: 'x-html-editor-tip' + }, + backcolor : { + title: 'Tekst markeringsfarge', + text: 'Endre bakgrunnsfarge til den valde teksten.', + cls: 'x-html-editor-tip' + }, + forecolor : { + title: 'Font farge', + text: 'Endre farge pÃ¥ den valde teksten.', + cls: 'x-html-editor-tip' + }, + justifyleft : { + title: 'Venstrejuster tekst', + text: 'Venstrejuster teksten.', + cls: 'x-html-editor-tip' + }, + justifycenter : { + title: 'Sentrer tekst', + text: 'Sentrer teksten.', + cls: 'x-html-editor-tip' + }, + justifyright : { + title: 'Høgrejuster tekst', + text: 'Høgrejuster teksten.', + cls: 'x-html-editor-tip' + }, + insertunorderedlist : { + title: 'Punktliste', + text: 'Start ei punktliste.', + cls: 'x-html-editor-tip' + }, + insertorderedlist : { + title: 'Nummerert liste', + text: 'Start ei nummerert liste.', + cls: 'x-html-editor-tip' + }, + createlink : { + title: 'Lenke', + text: 'Gjer den valde teksten til ei lenke.', + cls: 'x-html-editor-tip' + }, + sourceedit : { + title: 'Rediger kjelde', + text: 'Bytt til kjelderedigeringsvising.', + cls: 'x-html-editor-tip' + } + } + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Sorter stigande", + sortDescText : "Sorter fallande", + lockText : "LÃ¥s kolonne", + unlockText : "LÃ¥s opp kolonne", + columnsText : "Kolonner" + }); +} + +if(Ext.grid.GroupingView){ + Ext.apply(Ext.grid.GroupingView.prototype, { + emptyGroupText : '(Ingen)', + groupByText : 'Grupper etter dette feltet', + showGroupsText : 'Vis i grupper' + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Namn", + valueText : "Verdi", + dateFormat : "d.m.Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Dra for Ã¥ endre storleik.", + collapsibleSplitTip : "Dra for Ã¥ endre storleik. Dobbelklikk for Ã¥ skjule." + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-pl.js b/skins/jason/extjs/locale/ext-lang-pl.js new file mode 100644 index 0000000..f33449e --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-pl.js @@ -0,0 +1,298 @@ +/** + * Polish Translations + * By vbert 17-April-2007 + * Updated by mmar 16-November-2007 + * Encoding: utf-8 + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Wczytywanie danych...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} wybrano wiersze(y)"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Zamknij zakÅ‚adkÄ™"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "Wartość tego pola jest niewÅ‚aÅ›ciwa"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "Wczytywanie danych..."; +} + +Date.monthNames = [ + "StyczeÅ„", + "Luty", + "Marzec", + "KwiecieÅ„", + "Maj", + "Czerwiec", + "Lipiec", + "SierpieÅ„", + "WrzesieÅ„", + "Październik", + "Listopad", + "GrudzieÅ„" +]; + +Date.getShortMonthName = function(month) { + return Date.monthNames[month].substring(0, 3); +}; + +Date.monthNumbers = { + Sty : 0, + Lut : 1, + Mar : 2, + Kwi : 3, + Maj : 4, + Cze : 5, + Lip : 6, + Sie : 7, + Wrz : 8, + Paź : 9, + Lis : 10, + Gru : 11 +}; + +Date.getMonthNumber = function(name) { + return Date.monthNumbers[name.substring(0, 1).toUpperCase() + name.substring(1, 3).toLowerCase()]; +}; + +Date.dayNames = [ + "Niedziela", + "PoniedziaÅ‚ek", + "Wtorek", + "Åšroda", + "Czwartek", + "PiÄ…tek", + "Sobota" +]; + +Date.getShortDayName = function(day) { + switch(day) { + case 0: return 'ndz'; + case 1: return 'pon'; + case 2: return 'wt'; + case 3: return 'Å›r'; + case 4: return 'czw'; + case 5: return 'pt'; + case 6: return 'sob'; + default: return ''; + } +}; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "OK", + cancel : "Anuluj", + yes : "Tak", + no : "Nie" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "Y-m-d"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + startDay : 1, + todayText : "Dzisiaj", + minText : "Data jest wczeÅ›niejsza od daty minimalnej", + maxText : "Data jest późniejsza od daty maksymalnej", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : "NastÄ™pny miesiÄ…c (Control+StrzaÅ‚kaWPrawo)", + prevText : "Poprzedni miesiÄ…c (Control+StrzaÅ‚kaWLewo)", + monthYearText : "Wybierz miesiÄ…c (Control+Up/Down aby zmienić rok)", + todayTip : "{0} (Spacja)", + format : "Y-m-d", + okText : " OK ", + cancelText : "Anuluj", + startDay : 1 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Strona", + afterPageText : "z {0}", + firstText : "Pierwsza strona", + prevText : "Poprzednia strona", + nextText : "NastÄ™pna strona", + lastText : "Ostatnia strona", + refreshText : "OdÅ›wież", + displayMsg : "WyÅ›wietlono {0} - {1} z {2}", + emptyMsg : "Brak danych do wyÅ›wietlenia" + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "Minimalna ilość znaków dla tego pola to {0}", + maxLengthText : "Maksymalna ilość znaków dla tego pola to {0}", + blankText : "To pole jest wymagane", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "Minimalna wartość dla tego pola to {0}", + maxText : "Maksymalna wartość dla tego pola to {0}", + nanText : "{0} to nie jest wÅ‚aÅ›ciwa wartość" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "Wyłączony", + disabledDatesText : "Wyłączony", + minText : "Data w tym polu musi być późniejsza od {0}", + maxText : "Data w tym polu musi być wczeÅ›niejsza od {0}", + invalidText : "{0} to nie jest prawidÅ‚owa data - prawidÅ‚owy format daty {1}", + format : "Y-m-d", + altFormats : "m/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d|Y-m-d" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "WczytujÄ™...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'To pole wymaga podania adresu e-mail w formacie: "nazwa@domena.pl"', + urlText : 'To pole wymaga podania adresu strony www w formacie: "http:/'+'/www.domena.pl"', + alphaText : 'To pole wymaga podania tylko liter i _', + alphanumText : 'To pole wymaga podania tylko liter, cyfr i _' + }); +} + +if(Ext.form.HtmlEditor){ + Ext.apply(Ext.form.HtmlEditor.prototype, { + createLinkText : 'Wprowadź adres URL strony:', + buttonTips : { + bold : { + title: 'Pogrubienie (Ctrl+B)', + text: 'Ustaw styl zaznaczonego tekstu na pogrubiony.', + cls: 'x-html-editor-tip' + }, + italic : { + title: 'Kursywa (Ctrl+I)', + text: 'Ustaw styl zaznaczonego tekstu na kursywÄ™.', + cls: 'x-html-editor-tip' + }, + underline : { + title: 'PodkreÅ›lenie (Ctrl+U)', + text: 'PodkreÅ›l zaznaczony tekst.', + cls: 'x-html-editor-tip' + }, + increasefontsize : { + title: 'ZwiÄ™ksz czcionkÄ™', + text: 'ZwiÄ™ksz rozmiar czcionki.', + cls: 'x-html-editor-tip' + }, + decreasefontsize : { + title: 'Zmniejsz czcionkÄ™', + text: 'Zmniejsz rozmiar czcionki.', + cls: 'x-html-editor-tip' + }, + backcolor : { + title: 'Wyróżnienie', + text: 'ZmieÅ„ kolor wyróżnienia zaznaczonego tekstu.', + cls: 'x-html-editor-tip' + }, + forecolor : { + title: 'Kolor czcionki', + text: 'ZmieÅ„ kolor zaznaczonego tekstu.', + cls: 'x-html-editor-tip' + }, + justifyleft : { + title: 'Do lewej', + text: 'Wyrównaj tekst do lewej.', + cls: 'x-html-editor-tip' + }, + justifycenter : { + title: 'WyÅ›rodkuj', + text: 'Wyrównaj tekst do Å›rodka.', + cls: 'x-html-editor-tip' + }, + justifyright : { + title: 'Do prawej', + text: 'Wyrównaj tekst do prawej.', + cls: 'x-html-editor-tip' + }, + insertunorderedlist : { + title: 'Lista wypunktowana', + text: 'Rozpocznij listÄ™ wypunktowanÄ….', + cls: 'x-html-editor-tip' + }, + insertorderedlist : { + title: 'Lista numerowana', + text: 'Rozpocznij listÄ™ numerowanÄ….', + cls: 'x-html-editor-tip' + }, + createlink : { + title: 'Hiperłącze', + text: 'Przekształć zaznaczony tekst w hiperłącze.', + cls: 'x-html-editor-tip' + }, + sourceedit : { + title: 'Edycja źródÅ‚a', + text: 'Przełącz w tryb edycji źródÅ‚a.', + cls: 'x-html-editor-tip' + } + } + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Sortuj rosnÄ…co", + sortDescText : "Sortuj malejÄ…co", + lockText : "Zablokuj kolumnÄ™", + unlockText : "Odblokuj kolumnÄ™", + columnsText : "Kolumny" + }); +} + +if(Ext.grid.GroupingView){ + Ext.apply(Ext.grid.GroupingView.prototype, { + emptyGroupText : '(None)', + groupByText : 'Grupuj po tym polu', + showGroupsText : 'Pokaż w grupach' + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Nazwa", + valueText : "Wartość", + dateFormat : "Y-m-d" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "PrzeciÄ…gnij aby zmienić rozmiar.", + collapsibleSplitTip : "PrzeciÄ…gnij aby zmienić rozmiar. Kliknij dwukrotnie aby ukryć." + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-pt.js b/skins/jason/extjs/locale/ext-lang-pt.js new file mode 100644 index 0000000..c96b885 --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-pt.js @@ -0,0 +1,254 @@ +/* + * Portuguese/Brazil Translation by Weber Souza + * 08 April 2007 + * Updated by Allan Brazute Alves (EthraZa) + * 06 September 2007 + * Adapted to European Portuguese by Helder Batista (hbatista) + * 31 January 2008 + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Carregando...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} linha(s) seleccionada(s)"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Fechar"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "O valor para este campo é inválido"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "Carregando..."; +} + +Date.monthNames = [ + "Janeiro", + "Fevereiro", + "Março", + "Abril", + "Maio", + "Junho", + "Julho", + "Agosto", + "Setembro", + "Outubro", + "Novembro", + "Dezembro" +]; + +Date.dayNames = [ + "Domingo", + "Segunda", + "Terça", + "Quarta", + "Quinta", + "Sexta", + "Sábado" +]; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "OK", + cancel : "Cancelar", + yes : "Sim", + no : "Não" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d/m/Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "Hoje", + minText : "Esta data é anterior à menor data", + maxText : "Esta data é posterior à maior data", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Próximo Mês (Control+Direita)', + prevText : 'Mês Anterior (Control+Esquerda)', + monthYearText : 'Escolha um Mês (Control+Cima/Baixo para mover entre os anos)', + todayTip : "{0} (Espaço)", + format : "d/m/Y", + okText : " OK ", + cancelText : "Cancelar", + startDay : 0 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Página", + afterPageText : "de {0}", + firstText : "Primeira Página", + prevText : "Página Anterior", + nextText : "Próxima Página", + lastText : "Última Página", + refreshText : "Atualizar", + displayMsg : "{0} à {1} de {2} registo(s)", + emptyMsg : 'Sem registos para exibir' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "O tamanho mínimo para este campo é {0}", + maxLengthText : "O tamanho máximo para este campo é {0}", + blankText : "Este campo é obrigatório.", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "O valor mínimo para este campo é {0}", + maxText : "O valor máximo para este campo é {0}", + nanText : "{0} não é um número válido" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "Desabilitado", + disabledDatesText : "Desabilitado", + minText : "A data deste campo deve ser posterior a {0}", + maxText : "A data deste campo deve ser anterior a {0}", + invalidText : "{0} não é uma data válida - deve ser usado o formato {1}", + format : "d/m/Y" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "Carregando...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'Este campo deve ser um endereço de e-mail válido, no formato "utilizador@dominio.com"', + urlText : 'Este campo deve ser um URL no formato "http:/'+'/www.dominio.com"', + alphaText : 'Este campo deve conter apenas letras e _', + alphanumText : 'Este campo deve conter apenas letras, números e _' + }); +} + +if(Ext.form.HtmlEditor){ + Ext.apply(Ext.form.HtmlEditor.prototype, { + createLinkText : 'Por favor, entre com o URL do link:', + buttonTips : { + bold : { + title: 'Negrito (Ctrl+B)', + text: 'Deixa o texto seleccionado em negrito.', + cls: 'x-html-editor-tip' + }, + italic : { + title: 'Italico (Ctrl+I)', + text: 'Deixa o texto seleccionado em italico.', + cls: 'x-html-editor-tip' + }, + underline : { + title: 'Sublinhado (Ctrl+U)', + text: 'Sublinha o texto seleccionado.', + cls: 'x-html-editor-tip' + }, + increasefontsize : { + title: 'Aumentar Texto', + text: 'Aumenta o tamanho da fonte.', + cls: 'x-html-editor-tip' + }, + decreasefontsize : { + title: 'Diminuir Texto', + text: 'Diminui o tamanho da fonte.', + cls: 'x-html-editor-tip' + }, + backcolor : { + title: 'Cor de Fundo', + text: 'Muda a cor do fundo do texto seleccionado.', + cls: 'x-html-editor-tip' + }, + forecolor : { + title: 'Cor da Fonte', + text: 'Muda a cor do texto seleccionado.', + cls: 'x-html-editor-tip' + }, + justifyleft : { + title: 'Alinhar à Esquerda', + text: 'Alinha o texto à esquerda.', + cls: 'x-html-editor-tip' + }, + justifycenter : { + title: 'Centrar Texto', + text: 'Centra o texto no editor.', + cls: 'x-html-editor-tip' + }, + justifyright : { + title: 'Alinhar à Direita', + text: 'Alinha o texto à direita.', + cls: 'x-html-editor-tip' + }, + insertunorderedlist : { + title: 'Lista com Marcadores', + text: 'Inicia uma lista com marcadores.', + cls: 'x-html-editor-tip' + }, + insertorderedlist : { + title: 'Lista Numerada', + text: 'Inicia uma lista numerada.', + cls: 'x-html-editor-tip' + }, + createlink : { + title: 'Hyperligação', + text: 'Transforma o texto selecionado num hyperlink.', + cls: 'x-html-editor-tip' + }, + sourceedit : { + title: 'Editar Fonte', + text: 'Troca para o modo de edição de código fonte.', + cls: 'x-html-editor-tip' + } + } + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Ordem Ascendente", + sortDescText : "Ordem Descendente", + lockText : "Bloquear Coluna", + unlockText : "Desbloquear Coluna", + columnsText : "Colunas" + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Nome", + valueText : "Valor", + dateFormat : "d/m/Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Arraste para redimensionar.", + collapsibleSplitTip : "Arraste para redimensionar. Duplo clique para esconder." + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-pt_BR.js b/skins/jason/extjs/locale/ext-lang-pt_BR.js new file mode 100644 index 0000000..ccb22df --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-pt_BR.js @@ -0,0 +1,304 @@ +/* + * Ext JS Library 2.1 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +/** + * Portuguese/Brazil Translation by Weber Souza + * 08 April 2007 + * Updated by Allan Brazute Alves (EthraZa) + * 06 September 2007 + * Updated by Leonardo Lima + * 05 March 2008 + * Updated by Juliano Tarini (jtarini) + * 22 April 2008 + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Carregando...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} linha(s) selecionada(s)"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Fechar"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "O valor para este campo é inválido"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "Carregando..."; +} + +Date.monthNames = [ + "Janeiro", + "Fevereiro", + "Março", + "Abril", + "Maio", + "Junho", + "Julho", + "Agosto", + "Setembro", + "Outubro", + "Novembro", + "Dezembro" +]; + +Date.getShortMonthName = function(month) { + return Date.monthNames[month].substring(0, 3); +}; + +Date.monthNumbers = { + Jan : 0, + Fev : 1, + Mar : 2, + Abr : 3, + Mai : 4, + Jun : 5, + Jul : 6, + Ago : 7, + Set : 8, + Out : 9, + Nov : 10, + Dez : 11 +}; + +Date.getMonthNumber = function(name) { + return Date.monthNumbers[name.substring(0, 1).toUpperCase() + name.substring(1, 3).toLowerCase()]; +}; + +Date.dayNames = [ + "Domingo", + "Segunda", + "Terça", + "Quarta", + "Quinta", + "Sexta", + "Sábado" +]; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "OK", + cancel : "Cancelar", + yes : "Sim", + no : "Não" + }; +} + +if (Ext.util.Format) { + Ext.util.Format.date = function(v, format){ + if (!v) return ""; + if (!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d/m/Y"); + }; + Ext.util.Format.brMoney = 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); + v = String(v); + var ps = v.split('.'); + var whole = ps[0]; + var sub = ps[1] ? '.' + ps[1] : '.00'; + var r = /(\d+)(\d{3})/; + while (r.test(whole)) { + whole = whole.replace(r, '$1' + '.' + '$2'); + } + v = whole + sub; + if (v.charAt(0) == '-') { + return '- R$ ' + v.substr(1); + } + return "R$ " + v; + } +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "Hoje", + minText : "Esta data é anterior a menor data", + maxText : "Esta data é posterior a maior data", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Próximo Mês (Control+Direita)', + prevText : 'Mês Anterior (Control+Esquerda)', + monthYearText : 'Escolha um Mês (Control+Cima/Baixo para mover entre os anos)', + todayTip : "{0} (Espaço)", + format : "d/m/Y", + okText : " OK ", + cancelText : "Cancelar", + startDay : 0 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Página", + afterPageText : "de {0}", + firstText : "Primeira Página", + prevText : "Página Anterior", + nextText : "Próxima Página", + lastText : "Última Página", + refreshText : "Atualizar", + displayMsg : "{0} à {1} de {2} registro(s)", + emptyMsg : 'Sem registros para exibir' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "O tamanho mínimo para este campo é {0}", + maxLengthText : "O tamanho máximo para este campo é {0}", + blankText : "Este campo é obrigatório.", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "O valor mínimo para este campo é {0}", + maxText : "O valor máximo para este campo é {0}", + nanText : "{0} não é um número válido" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "Desabilitado", + disabledDatesText : "Desabilitado", + minText : "A data deste campo deve ser posterior a {0}", + maxText : "A data deste campo deve ser anterior a {0}", + invalidText : "{0} não é uma data válida - deve ser informado no formato {1}", + format : "d/m/Y" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "Carregando...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'Este campo deve ser um endereço de e-mail válido, no formado "usuario@dominio.com.br"', + urlText : 'Este campo deve ser uma URL no formato "http:/'+'/www.dominio.com.br"', + alphaText : 'Este campo deve conter apenas letras e _', + alphanumText : 'Este campo deve conter apenas letras, números e _' + }); +} + +if(Ext.form.HtmlEditor){ + Ext.apply(Ext.form.HtmlEditor.prototype, { + createLinkText : 'Porfavor, entre com a URL do link:', + buttonTips : { + bold : { + title: 'Negrito (Ctrl+B)', + text: 'Deixa o texto selecionado em negrito.', + cls: 'x-html-editor-tip' + }, + italic : { + title: 'Italico (Ctrl+I)', + text: 'Deixa o texto selecionado em italico.', + cls: 'x-html-editor-tip' + }, + underline : { + title: 'Sublinhado (Ctrl+U)', + text: 'Sublinha o texto selecionado.', + cls: 'x-html-editor-tip' + }, + increasefontsize : { + title: 'Aumentar Texto', + text: 'Aumenta o tamanho da fonte.', + cls: 'x-html-editor-tip' + }, + decreasefontsize : { + title: 'Diminuir Texto', + text: 'Diminui o tamanho da fonte.', + cls: 'x-html-editor-tip' + }, + backcolor : { + title: 'Cor de Fundo', + text: 'Muda a cor do fundo do texto selecionado.', + cls: 'x-html-editor-tip' + }, + forecolor : { + title: 'Cor da Fonte', + text: 'Muda a cor do texto selecionado.', + cls: 'x-html-editor-tip' + }, + justifyleft : { + title: 'Alinhar à Esquerda', + text: 'Alinha o texto à esquerda.', + cls: 'x-html-editor-tip' + }, + justifycenter : { + title: 'Centralizar Texto', + text: 'Centraliza o texto no editor.', + cls: 'x-html-editor-tip' + }, + justifyright : { + title: 'Alinhar à Direita', + text: 'Alinha o texto à direita.', + cls: 'x-html-editor-tip' + }, + insertunorderedlist : { + title: 'Lista com Marcadores', + text: 'Inicia uma lista com marcadores.', + cls: 'x-html-editor-tip' + }, + insertorderedlist : { + title: 'Lista Numerada', + text: 'Inicia uma lista numerada.', + cls: 'x-html-editor-tip' + }, + createlink : { + title: 'Hyperligação', + text: 'Transforma o texto selecionado em um hyperlink.', + cls: 'x-html-editor-tip' + }, + sourceedit : { + title: 'Editar Fonte', + text: 'Troca para o modo de edição de código fonte.', + cls: 'x-html-editor-tip' + } + } + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Ordem Ascendente", + sortDescText : "Ordem Descendente", + lockText : "Bloquear Coluna", + unlockText : "Desbloquear Coluna", + columnsText : "Colunas" + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Nome", + valueText : "Valor", + dateFormat : "d/m/Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Arraste para redimensionar.", + collapsibleSplitTip : "Arraste para redimensionar. Duplo clique para esconder." + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-ro.js b/skins/jason/extjs/locale/ext-lang-ro.js new file mode 100644 index 0000000..7fbd4fb --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-ro.js @@ -0,0 +1,287 @@ +/** + * Romanian translations for ExtJS 2.1 + * First released by Lucian Lature on 2007-04-24 + * Changed locale for Romania (date formats) as suggested by keypoint + * on ExtJS forums: http://www.extjs.com/forum/showthread.php?p=129524#post129524 + * Removed some useless parts + * Changed by: Emil Cazamir, 2008-04-24 + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Încărcare...
    '; + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} rând(uri) selectate"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "ÃŽnchide acest tab"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "Valoarea acestui câmp este invalidă"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "ÃŽncărcare..."; +} + +Date.monthNames = [ + "Ianuarie", + "Februarie", + "Martie", + "Aprilie", + "Mai", + "Iunie", + "Iulie", + "August", + "Septembrie", + "Octombrie", + "Noiembrie", + "Decembrie" +]; + +Date.getShortMonthName = function(month) { + return Date.monthNames[month].substring(0, 3); +}; + +Date.monthNumbers = { + Ian : 0, + Feb : 1, + Mar : 2, + Apr : 3, + Mai : 4, + Iun : 5, + Iul : 6, + Aug : 7, + Sep : 8, + Oct : 9, + Nov : 10, + Dec : 11 +}; + +Date.getMonthNumber = function(name) { + return Date.monthNumbers[name.substring(0, 1).toUpperCase() + name.substring(1, 3).toLowerCase()]; +}; + +Date.dayNames = [ + "Duminică", + "Luni", + "MarÅ£i", + "Miercuri", + "Joi", + "Vineri", + "Sâmbătă" +]; + +Date.getShortDayName = function(day) { + return Date.dayNames[day].substring(0, 3); +}; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "OK", + cancel : "Renunţă", + yes : "Da", + no : "Nu" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d.m.Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "Astăzi", + minText : "Această dată este anterioară datei minime", + maxText : "Această dată este ulterioară datei maxime", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Luna următoare (Control+Dreapta)', + prevText : 'Luna precedentă (Control+Stânga)', + monthYearText : 'Alege o lună (Control+Sus/Jos pentru a parcurge anii)', + todayTip : "{0} (Bara spaÈ›iu)", + format : "d.m.Y", + okText : " OK ", + cancelText : "Renunță", + startDay : 0 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Pagina", + afterPageText : "din {0}", + firstText : "Prima pagină", + prevText : "Pagina anterioară", + nextText : "Pagina următoare", + lastText : "Ultima pagină", + refreshText : "ÃŽmprospătează", + displayMsg : "AfiÈ™are înregistrări {0} - {1} din {2}", + emptyMsg : 'Nu sunt date de afiÈ™at' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "Lungimea minimă pentru acest câmp este de {0}", + maxLengthText : "Lungimea maximă pentru acest câmp este {0}", + blankText : "Acest câmp este obligatoriu", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "Valoarea minimă permisă a acestui câmp este {0}", + maxText : "Valaorea maximă permisă a acestui câmp este {0}", + nanText : "{0} nu este un număr valid" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "Indisponibil", + disabledDatesText : "Indisponibil", + minText : "Data din această casetă trebuie să fie după {0}", + maxText : "Data din această casetă trebuie să fie inainte de {0}", + invalidText : "{0} nu este o dată validă, trebuie să fie în formatul {1}", + format : "d.m.Y", + altFormats : "d-m-Y|d.m.y|d-m-y|d.m|d-m|dm|d|Y-m-d" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "ÃŽncărcare...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'Acest câmp trebuie să conÅ£ină o adresă de e-mail în formatul "user@domeniu.com"', + urlText : 'Acest câmp trebuie să conÅ£ină o adresă URL în formatul "http:/'+'/www.domeniu.com"', + alphaText : 'Acest câmp trebuie să conÅ£ină doar litere ÅŸi _', + alphanumText : 'Acest câmp trebuie să conÅ£ină doar litere, cifre ÅŸi _' + }); +} + +if(Ext.form.HtmlEditor){ + Ext.apply(Ext.form.HtmlEditor.prototype, { + createLinkText : 'Vă rugăm introduceti un URL pentru această legătură web:', + buttonTips : { + bold : { + title: 'ÃŽngroÅŸat (Ctrl+B)', + text: 'ÃŽngroÅŸati caracterele textului selectat.', + cls: 'x-html-editor-tip' + }, + italic : { + title: 'ÃŽnclinat (Ctrl+I)', + text: 'ÃŽnclinaÅ£i caracterele textului selectat.', + cls: 'x-html-editor-tip' + }, + underline : { + title: 'Subliniat (Ctrl+U)', + text: 'SubliniaÅ£i caracterele textului selectat.', + cls: 'x-html-editor-tip' + }, + increasefontsize : { + title: 'Mărit', + text: 'MăreÅŸte dimensiunea fontului.', + cls: 'x-html-editor-tip' + }, + decreasefontsize : { + title: 'MicÅŸorat', + text: 'MicÅŸorează dimensiunea textului.', + cls: 'x-html-editor-tip' + }, + backcolor : { + title: 'Culoarea fundalului', + text: 'Schimbă culoarea fundalului pentru textul selectat.', + cls: 'x-html-editor-tip' + }, + forecolor : { + title: 'Culoarea textului', + text: 'Schimbă culoarea textului selectat.', + cls: 'x-html-editor-tip' + }, + justifyleft : { + title: 'Aliniat la stânga', + text: 'Aliniază textul la stânga.', + cls: 'x-html-editor-tip' + }, + justifycenter : { + title: 'Centrat', + text: 'Centrează textul în editor.', + cls: 'x-html-editor-tip' + }, + justifyright : { + title: 'Aliniat la dreapta', + text: 'Aliniază textul la dreapta.', + cls: 'x-html-editor-tip' + }, + insertunorderedlist : { + title: 'Listă cu puncte', + text: 'Inserează listă cu puncte.', + cls: 'x-html-editor-tip' + }, + insertorderedlist : { + title: 'Listă numerotată', + text: 'Inserează o listă numerotată.', + cls: 'x-html-editor-tip' + }, + createlink : { + title: 'Legătură web', + text: 'Transformă textul selectat în legătură web.', + cls: 'x-html-editor-tip' + }, + sourceedit : { + title: 'Editare sursă', + text: 'Schimbă pe modul de editare al codului HTML.', + cls: 'x-html-editor-tip' + } + } + }); +} + + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Sortare ascendentă", + sortDescText : "Sortare descendentă", + lockText : "Blochează coloana", + unlockText : "Deblochează coloana", + columnsText : "Coloane" + }); +} + +if(Ext.grid.GroupingView){ + Ext.apply(Ext.grid.GroupingView.prototype, { + emptyGroupText : '(Fără)', + groupByText : 'Grupează după această coloană', + showGroupsText : 'AfiÈ™ează grupat' + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Nume", + valueText : "Valoare", + dateFormat : "d.m.Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Trage pentru redimensionare.", + collapsibleSplitTip : "Trage pentru redimensionare. Dublu-click pentru ascundere." + }); +} \ No newline at end of file diff --git a/skins/jason/extjs/locale/ext-lang-ru.js b/skins/jason/extjs/locale/ext-lang-ru.js new file mode 100644 index 0000000..172a10f --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-ru.js @@ -0,0 +1,294 @@ +/* + * Russian translation + * By ZooKeeper (utf-8 encoding) + * 6 November 2007 + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Идет загрузка...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} выбранных Ñтрок"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Закрыть Ñту вкладку"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "Значение в Ñтом поле неверное"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "Загрузка..."; +} + +Date.monthNames = [ + "Январь", + "Февраль", + "Март", + "Ðпрель", + "Май", + "Июнь", + "Июль", + "ÐвгуÑÑ‚", + "СентÑбрь", + "ОктÑбрь", + "ÐоÑбрь", + "Декабрь" +]; + +Date.getShortMonthName = function(month) { + return Date.monthNames[month].substring(0, 3); +}; + +Date.monthNumbers = { + Jan : 0, + Feb : 1, + Mar : 2, + Apr : 3, + May : 4, + Jun : 5, + Jul : 6, + Aug : 7, + Sep : 8, + Oct : 9, + Nov : 10, + Dec : 11 +}; + +Date.getMonthNumber = function(name) { + return Date.monthNumbers[name.substring(0, 1).toUpperCase() + name.substring(1, 3).toLowerCase()]; +}; + +Date.dayNames = [ + "ВоÑкреÑенье", + "Понедельник", + "Вторник", + "Среда", + "Четверг", + "ПÑтница", + "Суббота" +]; + +Date.getShortDayName = function(day) { + return Date.dayNames[day].substring(0, 3); +}; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "OK", + cancel : "Отмена", + yes : "Да", + no : "Ðет" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d.m.Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "СегоднÑ", + minText : "Эта дата раньше минимальной даты", + maxText : "Эта дата позже макÑимальной даты", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Следующий меÑÑц (Control+Вправо)', + prevText : 'Предыдущий меÑÑц (Control+Влево)', + monthYearText : 'Выбор меÑÑца (Control+Вверх/Вниз Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° года)', + todayTip : "{0} (Пробел)", + format : "d.m.y", + okText : " OK ", + cancelText : "Отмена", + startDay : 1 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Страница", + afterPageText : "из {0}", + firstText : "ÐŸÐµÑ€Ð²Ð°Ñ Ñтраница", + prevText : "ÐŸÑ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ñтраница", + nextText : "Ð¡Ð»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ Ñтраница", + lastText : "ПоÑледнÑÑ Ñтраница", + refreshText : "Обновить", + displayMsg : "ОтображаютÑÑ Ð·Ð°Ð¿Ð¸Ñи Ñ {0} по {1}, вÑего {2}", + emptyMsg : 'Ðет данных Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "ÐœÐ¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° Ñтого Ð¿Ð¾Ð»Ñ {0}", + maxLengthText : "МакÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° Ñтого Ð¿Ð¾Ð»Ñ {0}", + blankText : "Это поле обÑзательно Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "Значение Ñтого Ð¿Ð¾Ð»Ñ Ð½Ðµ может быть меньше {0}", + maxText : "Значение Ñтого Ð¿Ð¾Ð»Ñ Ð½Ðµ может быть больше {0}", + nanText : "{0} не ÑвлÑетÑÑ Ñ‡Ð¸Ñлом" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "Ðе доÑтупно", + disabledDatesText : "Ðе доÑтупно", + minText : "Дата в Ñтом поле должна быть позде {0}", + maxText : "Дата в Ñтом поле должна быть раньше {0}", + invalidText : "{0} не ÑвлÑетÑÑ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ð¹ датой - дата должна быть указана в формате {1}", + format : "d.m.y", + altFormats : "d.m.y|d/m/Y|d-m-y|d-m-Y|d/m|d-m|dm|dmy|dmY|d|Y-m-d" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "Загрузка...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'Это поле должно Ñодержать Ð°Ð´Ñ€ÐµÑ Ñлектронной почты в формате "user@domain.com"', + urlText : 'Это поле должно Ñодержать URL в формате "http:/'+'/www.domain.com"', + alphaText : 'Это поле должно Ñодержать только латинÑкие буквы и Ñимвол Ð¿Ð¾Ð´Ñ‡ÐµÑ€ÐºÐ¸Ð²Ð°Ð½Ð¸Ñ "_"', + alphanumText : 'Это поле должно Ñодержать только латинÑкие буквы, цифры и Ñимвол Ð¿Ð¾Ð´Ñ‡ÐµÑ€ÐºÐ¸Ð²Ð°Ð½Ð¸Ñ "_"' + }); +} + +if(Ext.form.HtmlEditor){ + Ext.apply(Ext.form.HtmlEditor.prototype, { + createLinkText : 'ПожалуйÑта введите адреÑ:', + buttonTips : { + bold : { + title: 'Полужирный (Ctrl+B)', + text: 'Применение полужирного Ð½Ð°Ñ‡ÐµÑ€Ñ‚Ð°Ð½Ð¸Ñ Ðº выделенному текÑту.', + cls: 'x-html-editor-tip' + }, + italic : { + title: 'КурÑив (Ctrl+I)', + text: 'Применение курÑивного Ð½Ð°Ñ‡ÐµÑ€Ñ‚Ð°Ð½Ð¸Ñ Ðº выделенному текÑту.', + cls: 'x-html-editor-tip' + }, + underline : { + title: 'Подчёркнутый (Ctrl+U)', + text: 'Подчёркивание выделенного текÑта.', + cls: 'x-html-editor-tip' + }, + increasefontsize : { + title: 'Увеличить размер', + text: 'Увеличение размера шрифта.', + cls: 'x-html-editor-tip' + }, + decreasefontsize : { + title: 'Уменьшить размер', + text: 'Уменьшение размера шрифта.', + cls: 'x-html-editor-tip' + }, + backcolor : { + title: 'Заливка', + text: 'Изменение цвета фона Ð´Ð»Ñ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð½Ð¾Ð³Ð¾ текÑта или абзаца.', + cls: 'x-html-editor-tip' + }, + forecolor : { + title: 'Цвет текÑта', + text: 'Измение цвета текÑта.', + cls: 'x-html-editor-tip' + }, + justifyleft : { + title: 'ВыровнÑть текÑÑ‚ по левому краю', + text: 'Выровнивание текÑта по левому краю.', + cls: 'x-html-editor-tip' + }, + justifycenter : { + title: 'По центру', + text: 'Выровнивание текÑта по центру.', + cls: 'x-html-editor-tip' + }, + justifyright : { + title: 'ВыровнÑть текÑÑ‚ по правому краю', + text: 'Выровнивание текÑта по правому краю.', + cls: 'x-html-editor-tip' + }, + insertunorderedlist : { + title: 'Маркеры', + text: 'Ðачать маркированный ÑпиÑок.', + cls: 'x-html-editor-tip' + }, + insertorderedlist : { + title: 'ÐумерациÑ', + text: 'Ðачать нумернованный ÑпиÑок.', + cls: 'x-html-editor-tip' + }, + createlink : { + title: 'Ð’Ñтавить гиперÑÑылку', + text: 'Создание ÑÑылки из выделенного текÑта.', + cls: 'x-html-editor-tip' + }, + sourceedit : { + title: 'ИÑходный код', + text: 'ПереключитьÑÑ Ð½Ð° иÑходный код.', + cls: 'x-html-editor-tip' + } + } + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Сортировать по возраÑтанию", + sortDescText : "Сортировать по убыванию", + lockText : "Закрепить Ñтолбец", + unlockText : "СнÑть закрепление Ñтолбца", + columnsText : "Столбцы" + }); +} + +if(Ext.grid.GroupingView){ + Ext.apply(Ext.grid.GroupingView.prototype, { + emptyGroupText : '(ПуÑто)', + groupByText : 'Группировать по Ñтому полю', + showGroupsText : 'Отображать по группам' + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Ðазвание", + valueText : "Значение", + dateFormat : "d.m.Y" + }); +} + +if(Ext.SplitLayoutRegion){ + Ext.apply(Ext.SplitLayoutRegion.prototype, { + splitTip : "ТÑните Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð°.", + collapsibleSplitTip : "ТÑните Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð°. Двойной щелчок ÑпрÑчет панель." + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "ТÑните Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð°.", + collapsibleSplitTip : "ТÑните Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð°. Двойной щелчок ÑпрÑчет панель." + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-sk.js b/skins/jason/extjs/locale/ext-lang-sk.js new file mode 100644 index 0000000..af35120 --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-sk.js @@ -0,0 +1,176 @@ +/** + * List compiled by mystix on the extjs.com forums. + * Thank you Mystix! + */ + + /* Slovak Translation by Michal Thomka + * 14 April 2007 + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Nahrávam...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} oznaÄených riadkov"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "ZavrieÅ¥ túto záložku"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "Hodnota v tomto poli je nesprávna"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "Nahrávam..."; +} + +Date.monthNames = [ + "Január", + "Február", + "Marec", + "Apríl", + "Máj", + "Jún", + "Júl", + "August", + "September", + "Október", + "November", + "December" +]; + +Date.dayNames = [ + "Nedeľa", + "Pondelok", + "Utorok", + "Streda", + "Å tvrtok", + "Piatok", + "Sobota" +]; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "OK", + cancel : "ZruÅ¡iÅ¥", + yes : "Ãno", + no : "Nie" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d.m.Y"); + }; +} + + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "Dnes", + minText : "Tento dátum je menší ako minimálny možný dátum", + maxText : "Tento dátum je väÄší ako maximálny možný dátum", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'ÄŽalší Mesiac (Control+Doprava)', + prevText : 'Predch. Mesiac (Control+Doľava)', + monthYearText : 'Vyberte Mesiac (Control+Hore/Dole pre posun rokov)', + todayTip : "{0} (Medzerník)", + format : "d.m.Y" + }); +} + + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Strana", + afterPageText : "z {0}", + firstText : "Prvá Strana", + prevText : "Predch. Strana", + nextText : "ÄŽalÅ¡ia Strana", + lastText : "Posledná strana", + refreshText : "ObnoviÅ¥", + displayMsg : "Zobrazujem {0} - {1} z {2}", + emptyMsg : 'ÂŽiadne dáta' + }); +} + + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "Minimálna dĺžka pre toto pole je {0}", + maxLengthText : "Maximálna dĺžka pre toto pole je {0}", + blankText : "Toto pole je povinné", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "Minimálna hodnota pre toto pole je {0}", + maxText : "Maximálna hodnota pre toto pole je {0}", + nanText : "{0} je nesprávne Äíslo" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "Zablokované", + disabledDatesText : "Zablokované", + minText : "Dátum v tomto poli musí byÅ¥ až po {0}", + maxText : "Dátum v tomto poli musí byÅ¥ pred {0}", + invalidText : "{0} nie je správny dátum - musí byÅ¥ vo formáte {1}", + format : "d.m.Y" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "Nahrávam...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'Toto pole musí byÅ¥ e-mailová adresa vo formáte "user@domain.com"', + urlText : 'Toto pole musí byÅ¥ URL vo formáte "http:/'+'/www.domain.com"', + alphaText : 'Toto pole može obsahovaÅ¥ iba písmená a znak _', + alphanumText : 'Toto pole može obsahovaÅ¥ iba písmená, Äísla a znak _' + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "ZoradiÅ¥ vzostupne", + sortDescText : "ZoradiÅ¥ zostupne", + lockText : "Zamknúť stľpec", + unlockText : "Odomknúť stľpec", + columnsText : "Stľpce" + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Názov", + valueText : "Hodnota", + dateFormat : "d.m.Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Potiahnite pre zmenu rozmeru", + collapsibleSplitTip : "Potiahnite pre zmenu rozmeru. Dvojklikom schováte." + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-sl.js b/skins/jason/extjs/locale/ext-lang-sl.js new file mode 100644 index 0000000..d2d2d6b --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-sl.js @@ -0,0 +1,170 @@ +/** + * Slovenian translation by Matjaž (UTF-8 encoding) + * 25 April 2007 + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Nalagam...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} izbranih vrstic"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Zapri zavihek"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "Neveljavna vrednost"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "Nalagam..."; +} + +Date.monthNames = [ + "Januar", + "Februar", + "Marec", + "April", + "Maj", + "Junij", + "Julij", + "Avgust", + "September", + "Oktober", + "November", + "December" +]; + +Date.dayNames = [ + "Nedelja", + "Ponedeljek", + "Torek", + "Sreda", + "ÄŒetrtek", + "Petek", + "Sobota" +]; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "V redu", + cancel : "PrekliÄi", + yes : "Da", + no : "Ne" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d.m.Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "Danes", + minText : "Navedeni datum je pred spodnjim datumom", + maxText : "Navedeni datum je za zgornjim datumom", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Naslednji mesec (Control+Desno)', + prevText : 'PrejÅ¡nji mesec (Control+Levo)', + monthYearText : 'Izberite mesec (Control+Gor/Dol za premik let)', + todayTip : "{0} (Preslednica)", + format : "d.m.y", + startDay : 1 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Stran", + afterPageText : "od {0}", + firstText : "Prva stran", + prevText : "PrejÅ¡nja stran", + nextText : "Naslednja stran", + lastText : "Zadnja stran", + refreshText : "Osveži", + displayMsg : "Prikazujem {0} - {1} od {2}", + emptyMsg : 'Ni podatkov za prikaz' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "Minimalna dolžina tega polja je {0}", + maxLengthText : "Maksimalna dolžina tega polja je {0}", + blankText : "To polje je obvezno", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "Minimalna vrednost tega polja je {0}", + maxText : "Maksimalna vrednost tega polja je {0}", + nanText : "{0} ni veljavna Å¡tevilka" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "OnemogoÄen", + disabledDatesText : "OnemogoÄen", + minText : "Datum mora biti po {0}", + maxText : "Datum mora biti pred {0}", + invalidText : "{0} ni veljaven datum - mora biti v tem formatu {1}", + format : "d.m.y" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "Nalagam...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'To polje je e-mail naslov formata "ime@domena.si"', + urlText : 'To polje je URL naslov formata "http:/'+'/www.domena.si"', + alphaText : 'To polje lahko vsebuje samo Ärke in _', + alphanumText : 'To polje lahko vsebuje samo Ärke, Å¡tevilke in _' + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Sortiraj naraÅ¡ÄajoÄe", + sortDescText : "Sortiraj padajoÄe", + lockText : "Zakleni stolpec", + unlockText : "Odkleni stolpec", + columnsText : "Stolpci" + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Ime", + valueText : "Vrednost", + dateFormat : "j.m.Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Potegni za razÅ¡iritev.", + collapsibleSplitTip : "Potegni za razÅ¡iritev. Dvojni klik, Äe želite skriti." + }); +} \ No newline at end of file diff --git a/skins/jason/extjs/locale/ext-lang-sr.js b/skins/jason/extjs/locale/ext-lang-sr.js new file mode 100644 index 0000000..2795f1a --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-sr.js @@ -0,0 +1,173 @@ +/* + * Serbian Latin Translation + * by Atila Hajnal (latin, utf8 encoding) + * sr + * 14 Sep 2007 + */ + +Ext.UpdateManager.defaults.indicatorText = '
    UÄitavam...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = "Ne postoji ni jedan slog"; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} izabranih redova"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Zatvori оvu »karticu«"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "UneÅ¡ena vrednost nije pravilna"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "UÄitavam..."; +} + +Date.monthNames = [ + "Januar", + "Februar", + "Mart", + "April", + "Мај", + "Jun", + "Јul", + "Avgust", + "Septembar", + "Oktobar", + "Novembar", + "Decembar" +]; + +Date.dayNames = [ + "Nedelja", + "Ponedeljak", + "Utorak", + "Sreda", + "ÄŒetvrtak", + "Petak", + "Subota" +]; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "U redu", + cancel : "Odustani", + yes : "Da", + no : "Ne" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d.m.Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "Danas", + minText : "Datum је ispred najmanjeg dozvoljenog datuma", + maxText : "Datum је nakon najvećeg dozvoljenog datuma", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Sledeći mesec (Control+Desno)', + prevText : 'Prethodni mesec (Control+Levo)', + monthYearText : 'Izaberite mesec (Control+Gore/Dole za izbor godine)', + todayTip : "{0} (Razmaknica)", + format : "d.m.y", + startDay : 1 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Strana", + afterPageText : "od {0}", + firstText : "Prva strana", + prevText : "Prethodna strana", + nextText : "Sledeća strana", + lastText : "Poslednja strana", + refreshText : "Osveži", + displayMsg : "Prikazana {0} - {1} od {2}", + emptyMsg : 'Nemam Å¡ta prikazati' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "Minimalna dužina ovog polja је {0}", + maxLengthText : "Maksimalna dužina ovog polja је {0}", + blankText : "Polje је obavezno", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "Minimalna vrednost u polju је {0}", + maxText : "Maksimalna vrednost u polju је {0}", + nanText : "{0} nije pravilan broj" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "Pasivno", + disabledDatesText : "Pasivno", + minText : "Datum u ovom polju mora biti nakon {0}", + maxText : "Datum u ovom polju mora biti pre {0}", + invalidText : "{0} nije pravilan datum - zahtevani oblik je {1}", + format : "d.m.y", + altFormats : "d.m.y|d/m/Y|d-m-y|d-m-Y|d/m|d-m|dm|dmy|dmY|d|Y-m-d" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "UÄitavam...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'Ovo polje prihavata e-mail adresu iskljuÄivo u obliku "korisnik@domen.com"', + urlText : 'Ovo polje prihavata URL adresu iskljuÄivo u obliku "http:/'+'/www.domen.com"', + alphaText : 'Ovo polje može sadržati iskljuÄivo slova i znak _', + alphanumText : 'Ovo polje može sadržati Ñамо slova, brojeve i znak _' + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Rastući redosled", + sortDescText : "Opadajući redosled", + lockText : "ZakljuÄaj kolonu", + unlockText : "OtkljuÄaj kolonu", + columnsText : "Kolone" + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Naziv", + valueText : "Vrednost", + dateFormat : "d.m.Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Povući za izmenu veliÄine.", + collapsibleSplitTip : "Povući za izmenu veliÄine. Dvostruku klik za sakrivanje." + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-sr_RS.js b/skins/jason/extjs/locale/ext-lang-sr_RS.js new file mode 100644 index 0000000..6a2fef6 --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-sr_RS.js @@ -0,0 +1,172 @@ +/* + * Serbian Cyrillic Translation + * by ÄŒolovic Vladan (cyrillic, utf8 encoding) + * sr_RS (ex: sr_CS, sr_YU) + * 12 May 2007 + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Учитавам...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} изабраних редова"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Затвори ову »картицу«"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "Унешена вредноÑÑ‚ није правилна"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "Учитавам..."; +} + +Date.monthNames = [ + "Јануар", + "Фебруар", + "Март", + "Ðприл", + "Мај", + "Јун", + "Јул", + "ÐвгуÑÑ‚", + "Септембар", + "Октобар", + "Ðовембар", + "Децембар" +]; + +Date.dayNames = [ + "Ðедеља", + "Понедељак", + "Уторак", + "Среда", + "Четвртак", + "Петак", + "Субота" +]; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "У реду", + cancel : "ОдуÑтани", + yes : "Да", + no : "Ðе" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d.m.Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "ДанаÑ", + minText : "Датум је иÑпред најмањег дозвољеног датума", + maxText : "Датум је након највећег дозвољеног датума", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Следећи меÑец (Control+ДеÑно)', + prevText : 'Претходни меÑец (Control+Лево)', + monthYearText : 'Изаберите меÑец (Control+Горе/Доле за избор године)', + todayTip : "{0} (Размакница)", + format : "d.m.y", + startDay : 1 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Страна", + afterPageText : "од {0}", + firstText : "Прва Ñтрана", + prevText : "Претходна Ñтрана", + nextText : "Следећа Ñтрана", + lastText : "ПоÑледња Ñтрана", + refreshText : "ОÑвежи", + displayMsg : "Приказана {0} - {1} од {2}", + emptyMsg : 'Ðемам шта приказати' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "Минимална дужина овог поља је {0}", + maxLengthText : "МакÑимална дужина овог поља је {0}", + blankText : "Поље је обавезно", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "Минимална вредноÑÑ‚ у пољу је {0}", + maxText : "МакÑимална вредноÑÑ‚ у пољу је {0}", + nanText : "{0} није правилан број" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "ПаÑивно", + disabledDatesText : "ПаÑивно", + minText : "Датум у овом пољу мора бити након {0}", + maxText : "Датум у овом пољу мора бити пре {0}", + invalidText : "{0} није правилан датум - захтевани облик је {1}", + format : "d.m.y" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "Учитавам...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'Ово поље прихвата e-mail адреÑу иÑкључиво у облику "korisnik@domen.com"', + urlText : 'Ово поље прихвата URL адреÑу иÑкључиво у облику "http:/'+'/www.domen.com"', + alphaText : 'Ово поље може Ñадржати иÑкључиво Ñлова и знак _', + alphanumText : 'Ово поље може Ñадржати Ñамо Ñлова, бројеве и знак _' + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "РаÑтући редоÑлед", + sortDescText : "Опадајући редоÑлед", + lockText : "Закључај колону", + unlockText : "Откључај колону", + columnsText : "Колоне" + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Ðазив", + valueText : "ВредноÑÑ‚", + dateFormat : "d.m.Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Повући за измену величине.", + collapsibleSplitTip : "Повући за измену величине. ДвоÑтруки клик за Ñакривање." + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-sv_SE.js b/skins/jason/extjs/locale/ext-lang-sv_SE.js new file mode 100644 index 0000000..e1949db --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-sv_SE.js @@ -0,0 +1,172 @@ +/** + * Swedish translation (utf8-encoding) + * By Erik Andersson, Monator Technologies + * 24 April 2007 + * Changed by Cariad, 29 July 2007 + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Laddar...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} markerade rad(er)"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Stäng denna flik"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "Värdet i detta fält är inte tillåtet"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "Laddar..."; +} + +Date.monthNames = [ + "januari", + "februari", + "mars", + "april", + "maj", + "juni", + "juli", + "augusti", + "september", + "oktober", + "november", + "december" +]; + +Date.dayNames = [ + "söndag", + "måndag", + "tisdag", + "onsdag", + "torsdag", + "fredag", + "lördag" +]; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "OK", + cancel : "Avbryt", + yes : "Ja", + no : "Nej" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "Y-m-d"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "Idag", + minText : "Detta datum inträffar före det tidigast tillåtna", + maxText : "Detta datum inträffar efter det senast tillåtna", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Nästa månad (Ctrl + högerpil)', + prevText : 'Föregående månad (Ctrl + vänsterpil)', + monthYearText : 'Välj en månad (Ctrl + uppåtpil/neråtpil för att ändra årtal)', + todayTip : "{0} (mellanslag)", + format : "Y-m-d", + startDay : 1 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Sida", + afterPageText : "av {0}", + firstText : "Första sidan", + prevText : "Föregående sida", + nextText : "Nästa sida", + lastText : "Sista sidan", + refreshText : "Uppdatera", + displayMsg : "Visar {0} - {1} av {2}", + emptyMsg : 'Det finns ingen data att visa' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "Minsta tillåtna längd för detta fält är {0}", + maxLengthText : "Största tillåtna längd för detta fält är {0}", + blankText : "Detta fält är obligatoriskt", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "Minsta tillåtna värde för detta fält är {0}", + maxText : "Största tillåtna värde för detta fält är {0}", + nanText : "{0} är inte ett tillåtet nummer" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "Inaktiverad", + disabledDatesText : "Inaktiverad", + minText : "Datumet i detta fält måste inträffa efter {0}", + maxText : "Datumet i detta fält måste inträffa före {0}", + invalidText : "{0} är inte ett tillåtet datum - datum ska anges i formatet {1}", + format : "Y-m-d" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "Laddar...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'Detta fält ska innehålla en e-post adress i formatet "användare@domän.se"', + urlText : 'Detta fält ska innehålla en länk (URL) i formatet "http:/'+'/www.domän.se"', + alphaText : 'Detta fält får bara innehålla bokstäver och "_"', + alphanumText : 'Detta fält får bara innehålla bokstäver, nummer och "_"' + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Sortera stigande", + sortDescText : "Sortera fallande", + lockText : "Lås kolumn", + unlockText : "Lås upp kolumn", + columnsText : "Kolumner" + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Namn", + valueText : "Värde", + dateFormat : "Y-m-d" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Dra för att ändra storleken.", + collapsibleSplitTip : "Dra för att ändra storleken. Dubbelklicka för att gömma." + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-th.js b/skins/jason/extjs/locale/ext-lang-th.js new file mode 100644 index 0000000..e0007e1 --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-th.js @@ -0,0 +1,288 @@ +/** + * List compiled by KillerNay on the extjs.com forums. + * Thank you KillerNay! + * + * Thailand Translations + */ + +Ext.UpdateManager.defaults.indicatorText = '
    ¡ÓÅѧâËÅŽ...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} àÅ×ááÅéÇ·Ñé§ËÃŽá¶Ç"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "»ÔŽá·çº¹Õé"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "€èҢçªèç¹ÕéäÃè¶Ù¡µéç"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "¡ÓÅѧâËÅŽ..."; +} + +Date.monthNames = [ + "áÃÒ€Ã", + "¡ØÃŸÒӟѹžì", + "ÃÕ¹Ò€Ã", + "àÃÉÒ¹", + "ŸÄÉÀÒ€Ã", + "ÃԶعÒ¹", + "¡Ä¡¯Ò€Ã", + "ÊÔ§ËÒ€Ã", + "¡Ñ¹ÂÒ¹", + "µØÅÒ€Ã", + "ŸÄÈšÔ¡Ò¹", + "žÑ¹ÇÒ€Ã" +]; + +Date.getShortMonthName = function(month) { + return Date.monthNames[month].substring(0, 3); +}; + +Date.monthNumbers = { + "À" : 0, + "¡Ÿ" : 1, + "ÃÕ€" : 2, + "àÃÂ" : 3, + "Ÿ€" : 4, + "ÃÔÂ" : 5, + "¡€" : 6, + "Ê€" : 7, + "¡Â" : 8, + "µ€" : 9, + "ŸÂ" : 10, + "ž€" : 11 +}; + +Date.getMonthNumber = function(name) { + return Date.monthNumbers[name.substring(0, 1).toUpperCase() + name.substring(1, 3).toLowerCase()]; +}; + +Date.dayNames = [ + "ÃÒ·ÔµÂì", + "šÑ¹·Ãì", + "Ãѧ€ÒÃ", + "ŸØ×ž", + "ŸÄËÑʺŽÕ", + "ÈØ¡Ãì", + "àÊÒÃì" +]; + +Date.getShortDayName = function(day) { + return Date.dayNames[day].substring(0, 3); +}; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "µ¡Å§", + cancel : "¡àÅÔ¡", + yes : "ãªè", + no : "äÃèãªè" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "m/d/Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "Çѹ¹Õé", + minText : "This date is before the minimum date", + maxText : "This date is after the maximum date", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'àŽ×ù¶ÑŽä» (Control+Right)', + prevText : 'àŽ×ù¡èù˹éÒ (Control+Left)', + monthYearText : 'àÅ×áàŽ×ù (Control+Up/Down to move years)', + todayTip : "{0} (Spacebar)", + format : "m/d/y", + okText : " ÂµÂ¡Ã…§ ", + cancelText : "¡àÅÔ¡", + startDay : 0 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "˹éÒ", + afterPageText : "of {0}", + firstText : "˹éÒáá", + prevText : "¡èù˹éÒ", + nextText : "¶ÑŽä»", + lastText : "˹éÒÊØŽ·éÒÂ", + refreshText : "ÃÕà¿Ãª", + displayMsg : "¡ÓÅѧáÊŽ§ {0} - {1} šÒ¡ {2}", + emptyMsg : 'äÃèÃÕ¢éÃÃÙÅáÊŽ§' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "The minimum length for this field is {0}", + maxLengthText : "The maximum length for this field is {0}", + blankText : "This field is required", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "The minimum value for this field is {0}", + maxText : "The maximum value for this field is {0}", + nanText : "{0} is not a valid number" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "»ÔŽ", + disabledDatesText : "»ÔŽ", + minText : "The date in this field must be after {0}", + maxText : "The date in this field must be before {0}", + invalidText : "{0} is not a valid date - it must be in the format {1}", + format : "m/d/y", + altFormats : "m/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d|Y-m-d" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "¡ÓÅѧâËÅŽ...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'This field should be an e-mail address in the format "user@domain.com"', + urlText : 'This field should be a URL in the format "http:/'+'/www.domain.com"', + alphaText : 'This field should only contain letters and _', + alphanumText : 'This field should only contain letters, numbers and _' + }); +} + +if(Ext.form.HtmlEditor){ + Ext.apply(Ext.form.HtmlEditor.prototype, { + createLinkText : 'Please enter the URL for the link:', + buttonTips : { + bold : { + title: 'Bold (Ctrl+B)', + text: 'Make the selected text bold.', + cls: 'x-html-editor-tip' + }, + italic : { + title: 'Italic (Ctrl+I)', + text: 'Make the selected text italic.', + cls: 'x-html-editor-tip' + }, + underline : { + title: 'Underline (Ctrl+U)', + text: 'Underline the selected text.', + cls: 'x-html-editor-tip' + }, + increasefontsize : { + title: 'Grow Text', + text: 'Increase the font size.', + cls: 'x-html-editor-tip' + }, + decreasefontsize : { + title: 'Shrink Text', + text: 'Decrease the font size.', + cls: 'x-html-editor-tip' + }, + backcolor : { + title: 'Text Highlight Color', + text: 'Change the background color of the selected text.', + cls: 'x-html-editor-tip' + }, + forecolor : { + title: 'Font Color', + text: 'Change the color of the selected text.', + cls: 'x-html-editor-tip' + }, + justifyleft : { + title: 'Align Text Left', + text: 'Align text to the left.', + cls: 'x-html-editor-tip' + }, + justifycenter : { + title: 'Center Text', + text: 'Center text in the editor.', + cls: 'x-html-editor-tip' + }, + justifyright : { + title: 'Align Text Right', + text: 'Align text to the right.', + cls: 'x-html-editor-tip' + }, + insertunorderedlist : { + title: 'Bullet List', + text: 'Start a bulleted list.', + cls: 'x-html-editor-tip' + }, + insertorderedlist : { + title: 'Numbered List', + text: 'Start a numbered list.', + cls: 'x-html-editor-tip' + }, + createlink : { + title: 'Hyperlink', + text: 'Make the selected text a hyperlink.', + cls: 'x-html-editor-tip' + }, + sourceedit : { + title: 'Source Edit', + text: 'Switch to source editing mode.', + cls: 'x-html-editor-tip' + } + } + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Sort Ascending", + sortDescText : "Sort Descending", + lockText : "Lock Column", + unlockText : "Unlock Column", + columnsText : "Columns" + }); +} + +if(Ext.grid.GroupingView){ + Ext.apply(Ext.grid.GroupingView.prototype, { + emptyGroupText : '(None)', + groupByText : 'Group By This Field', + showGroupsText : 'Show in Groups' + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Name", + valueText : "Value", + dateFormat : "m/j/Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Drag to resize.", + collapsibleSplitTip : "Drag to resize. Double click to hide." + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-tr.js b/skins/jason/extjs/locale/ext-lang-tr.js new file mode 100644 index 0000000..183b1c2 --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-tr.js @@ -0,0 +1,299 @@ +/** + * List compiled by mystix on the extjs.com forums. + * Thank you Mystix! + * + * Turkish translation by Alper YAZGAN + * 2008-01-24 , 10:29 AM +*/ + +Ext.UpdateManager.defaults.indicatorText = '
    Yükleniyor ...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "Åžeçili satır sayısı : {0}"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Sekmeyi kapat"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "Bu alandaki deÄŸer geçersiz"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "Yükleniyor ..."; +} + +Date.monthNames = [ + "Ocak", + "Åžubat", + "Mart", + "Nisan", + "Mayıs", + "Haziran", + "Temmuz", + "AÄŸustos", + "Eylül", + "Ekim", + "Kasım", + "Aralık" +]; + +Date.getShortMonthName = function(month) { + return Date.monthNames[month].substring(0, 3); +}; + +Date.monthNumbers = { + Jan : 0, + Feb : 1, + Mar : 2, + Apr : 3, + May : 4, + Jun : 5, + Jul : 6, + Aug : 7, + Sep : 8, + Oct : 9, + Nov : 10, + Dec : 11 +}; + +Date.getMonthNumber = function(name) { + return Date.monthNumbers[name.substring(0, 1).toUpperCase() + name.substring(1, 3).toLowerCase()]; +}; + +Date.dayNames = [ + "Pazar", + "Pazartesi", + "Salı", + "ÇarÅŸamba", + "PerÅŸembe", + "Cuma", + "Cumartesi" +]; + +Date.shortDayNames = [ + "Paz", + "Pzt", + "Sal", + "ÇrÅŸ", + "PrÅŸ", + "Cum", + "Cmt" +]; + +Date.getShortDayName = function(day) { + return Date.shortDayNames[day]; +}; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "Tamam", + cancel : "İptal", + yes : "Evet", + no : "Hayır" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d/m/Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "Bugün", + minText : "Bu tarih izin verilen en küçük tarihten daha önce", + maxText : "Bu tarih izin verilen en büyük tarihten daha sonra", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Gelecek Ay (Control+Right)', + prevText : 'Önceki Ay (Control+Left)', + monthYearText : 'Bir ay ÅŸeçiniz (Yılı artırmak/azaltmak için Control+Up/Down)', + todayTip : "{0} (BoÅŸluk TuÅŸu - Spacebar)", + format : "d/m/Y", + okText : " Tamam ", + cancelText : "İptal", + startDay : 1 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Sayfa", + afterPageText : " / {0}", + firstText : "İlk Sayfa", + prevText : "Önceki Sayfa", + nextText : "Sonraki Sayfa", + lastText : "Son Sayfa", + refreshText : "Yenile", + displayMsg : "Gösterilen {0} - {1} / {2}", + emptyMsg : 'Gösterilebilecek veri yok' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "Girilen verinin uzunluÄŸu en az {0} olabilir", + maxLengthText : "Girilen verinin uzunluÄŸu en fazla {0} olabilir", + blankText : "Bu alan boÅŸ bırakılamaz", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "En az {0} girilebilir", + maxText : "En çok {0} girilebilir", + nanText : "{0} geçersiz bir sayıdır" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "Disabled", + disabledDatesText : "Disabled", + minText : "Bu tarih, {0} tarihinden daha sonra olmalıdır", + maxText : "Bu tarih, {0} tarihinden daha önce olmalıdır", + invalidText : "{0} geçersiz bir tarihdir - tarih formatı {1} ÅŸeklinde olmalıdır", + format : "d/m/Y", + altFormats : "d.m.y|d.m.Y|d/m/y|d-m-Y|d-m-y|d.m|d/m|d-m|dm|dmY|dmy|d|Y.m.d|Y-m-d|Y/m/d" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "Yükleniyor ...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'Bu alan "user@domain.com" ÅŸeklinde elektronik posta formatında olmalıdır', + urlText : 'Bu alan "http://www.domain.com" ÅŸeklinde URL adres formatında olmalıdır', + alphaText : 'Bu alan sadece harf ve _ içermeli', + alphanumText : 'Bu alan sadece harf, sayı ve _ içermeli' + }); +} + +if(Ext.form.HtmlEditor){ + Ext.apply(Ext.form.HtmlEditor.prototype, { + createLinkText : 'Lütfen bu baÄŸlantı için gerekli URL adresini giriniz:', + buttonTips : { + bold : { + title: 'Kalın(Bold) (Ctrl+B)', + text: 'Åžeçili yazıyı kalın yapar.', + cls: 'x-html-editor-tip' + }, + italic : { + title: 'İtalik(Italic) (Ctrl+I)', + text: 'Åžeçili yazıyı italik yapar.', + cls: 'x-html-editor-tip' + }, + underline : { + title: 'Alt Çizgi(Underline) (Ctrl+U)', + text: 'Åžeçili yazının altını çizer.', + cls: 'x-html-editor-tip' + }, + increasefontsize : { + title: 'Fontu büyült', + text: 'Yazı fontunu büyütür.', + cls: 'x-html-editor-tip' + }, + decreasefontsize : { + title: 'Fontu küçült', + text: 'Yazı fontunu küçültür.', + cls: 'x-html-editor-tip' + }, + backcolor : { + title: 'Arka Plan Rengi', + text: 'Seçili yazının arka plan rengini deÄŸiÅŸtir.', + cls: 'x-html-editor-tip' + }, + forecolor : { + title: 'Yazı Rengi', + text: 'Seçili yazının rengini deÄŸiÅŸtir.', + cls: 'x-html-editor-tip' + }, + justifyleft : { + title: 'Sola Daya', + text: 'Yazıyı sola daya.', + cls: 'x-html-editor-tip' + }, + justifycenter : { + title: 'Ortala', + text: 'Yazıyı editörde ortala.', + cls: 'x-html-editor-tip' + }, + justifyright : { + title: 'SaÄŸa daya', + text: 'Yazıyı saÄŸa daya.', + cls: 'x-html-editor-tip' + }, + insertunorderedlist : { + title: 'Noktalı Liste', + text: 'Noktalı listeye baÅŸla.', + cls: 'x-html-editor-tip' + }, + insertorderedlist : { + title: 'Numaralı Liste', + text: 'Numaralı lisyeye baÅŸla.', + cls: 'x-html-editor-tip' + }, + createlink : { + title: 'Web Adresi(Hyperlink)', + text: 'Seçili yazıyı web adresi(hyperlink) yap.', + cls: 'x-html-editor-tip' + }, + sourceedit : { + title: 'Kaynak kodu Düzenleme', + text: 'Kaynak kodu düzenleme moduna geç.', + cls: 'x-html-editor-tip' + } + } + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Artan sırada sırala", + sortDescText : "Azalan sırada sırala", + lockText : "Kolonu kilitle", + unlockText : "Kolon kilidini kaldır", + columnsText : "Kolonlar" + }); +} + +if(Ext.grid.GroupingView){ + Ext.apply(Ext.grid.GroupingView.prototype, { + emptyGroupText : '(Yok)', + groupByText : 'Bu Alana Göre Grupla', + showGroupsText : 'Gruplar Halinde Göster' + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Ad", + valueText : "DeÄŸer", + dateFormat : "d/m/Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Yeniden boyutlandırmak için sürükle.", + collapsibleSplitTip : "Yeniden boyutlandırmak için sürükle. Saklamak için çift tıkla." + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-ukr.js b/skins/jason/extjs/locale/ext-lang-ukr.js new file mode 100644 index 0000000..97a322e --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-ukr.js @@ -0,0 +1,252 @@ +/* + * Ukrainian translation + * By zlatko (utf-8 encoding) + * 3 October 2007 + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Триває завантаженнÑ...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} вибраних Ñтрічок"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Закрити цю вкладку"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñƒ цьому полі невірне"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "ЗавантаженнÑ..."; +} + +Date.monthNames = [ + "Січень", + "Лютий", + "Березень", + "Квітень", + "Травень", + "Червень", + "Липень", + "Серпень", + "ВереÑень", + "Жовтень", + "ЛиÑтопад", + "Грудень" +]; + +Date.dayNames = [ + "ÐеділÑ", + "Понеділок", + "Вівторок", + "Середа", + "Четвер", + "ПÑтницÑ", + "Субота" +]; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "OK", + cancel : "Відміна", + yes : "Так", + no : "ÐÑ–" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d.m.Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "Сьогодні", + minText : "Ð¦Ñ Ð´Ð°Ñ‚Ð° менше мінімальної дати", + maxText : "Ð¦Ñ Ð´Ð°Ñ‚Ð° більше макÑимальної дати", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'ÐаÑтупний міÑÑць (Control+Вправо)', + prevText : 'Попередній міÑÑць (Control+Вліво)', + monthYearText : 'Вибір міÑÑÑ†Ñ (Control+Вверх/Вниз Ð´Ð»Ñ Ð²Ð¸Ð±Ð¾Ñ€Ñƒ року)', + todayTip : "{0} (Пробіл)", + format : "d.m.y", + okText : " OK ", + cancelText : "Відміна", + startDay : 1 + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Сторінка", + afterPageText : "з {0}", + firstText : "Перша Ñторінка", + prevText : "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ Ñторінка", + nextText : "ÐаÑтупна Ñторінка", + lastText : "ОÑÑ‚Ð°Ð½Ð½Ñ Ñторінка", + refreshText : "Обновити", + displayMsg : "ВідображаютьÑÑ Ð·Ð°Ð¿Ð¸Ñи з {0} по {1}, вÑього {2}", + emptyMsg : 'Дані Ð´Ð»Ñ Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ñутні' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "Мінімальна довжина цього Ð¿Ð¾Ð»Ñ {0}", + maxLengthText : "МакÑимальна довжина цього Ð¿Ð¾Ð»Ñ {0}", + blankText : "Це поле Ñ” обов’Ñзковим Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ Ð¿Ð¾Ð»Ñ Ð½Ðµ може бути менше {0}", + maxText : "Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ Ð¿Ð¾Ð»Ñ Ð½Ðµ може бути більше {0}", + nanText : "{0} не ÑвлÑєтьÑÑ Ñ‡Ð¸Ñлом" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "Ðе доÑтупно", + disabledDatesText : "Ðе доÑтупно", + minText : "Дата в цьому полі повинна бути більше {0}", + maxText : "Дата в цьому полі повинна бути менше {0}", + invalidText : "{0} неправильна дата - дата повинна бути вказана у форматі {1}", + format : "d.m.y" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "ЗавантаженнÑ...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'Це поле повинно міÑтити адреÑу електронної почти у форматі "user@domain.com"', + urlText : 'Це поле повинно міÑтити URL у форматі "http:/'+'/www.domain.com"', + alphaText : 'Це поле повинно міÑтити виключно латинÑькі літери та Ñимвол підкреÑÐ»ÐµÐ½Ð½Ñ "_"', + alphanumText : 'Це поле повинно міÑтити виключно латинÑькі літери, цифри та Ñимвол підкреÑÐ»ÐµÐ½Ð½Ñ "_"' + }); +} + +if(Ext.form.HtmlEditor){ + Ext.apply(Ext.form.HtmlEditor.prototype, { + createLinkText : 'Будь-лаÑка введіть адреÑу:', + buttonTips : { + bold : { + title: 'Ðапівжирний (Ctrl+B)', + text: 'ЗаÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð°Ð¿Ñ–Ð²Ð¶Ð¸Ñ€Ð½Ð¾Ð³Ð¾ до виділеного текÑту.', + cls: 'x-html-editor-tip' + }, + italic : { + title: 'КурÑив (Ctrl+I)', + text: ' ЗаÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ ÐºÑƒÑ€Ñиву до виділеного текÑту.', + cls: 'x-html-editor-tip' + }, + underline : { + title: 'ПідкреÑлений (Ctrl+U)', + text: ' ЗаÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ–Ð´ÐºÑ€ÐµÑÐ»ÐµÐ½Ð½Ñ Ð´Ð¾ виділенного текÑту.', + cls: 'x-html-editor-tip' + }, + increasefontsize : { + title: 'Збільшити розмір', + text: 'Ð—Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ шрифта.', + cls: 'x-html-editor-tip' + }, + decreasefontsize : { + title: 'Зменшити розмір', + text: 'Ð—Ð¼ÐµÐ½ÑˆÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ шрифта.', + cls: 'x-html-editor-tip' + }, + backcolor : { + title: 'Заливка', + text: 'Зміна кольору фону Ð´Ð»Ñ Ð²Ð¸Ð´Ñ–Ð»ÐµÐ½Ð¾Ð³Ð¾ текÑту або абзацу.', + cls: 'x-html-editor-tip' + }, + forecolor : { + title: 'Колір текÑту', + text: 'Зміна кольору текÑту.', + cls: 'x-html-editor-tip' + }, + justifyleft : { + title: 'ВирівнÑти текÑÑ‚ по лівій границі', + text: 'Ð’Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ Ñ‚ÐµÐºÑту по лівій границі.', + cls: 'x-html-editor-tip' + }, + justifycenter : { + title: 'ВирівнÑти текÑÑ‚ по центру', + text: 'Ð’Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ Ñ‚ÐµÐºÑту по центру.', + cls: 'x-html-editor-tip' + }, + justifyright : { + title: 'ВирівнÑти текÑÑ‚ по правій границі', + text: 'Ð’Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ Ñ‚ÐµÐºÑту по правій границі.', + cls: 'x-html-editor-tip' + }, + insertunorderedlist : { + title: 'Маркери', + text: 'Почати маркований ÑпиÑок.', + cls: 'x-html-editor-tip' + }, + insertorderedlist : { + title: 'ÐумераціÑ', + text: 'Почати нумернований ÑпиÑок.', + cls: 'x-html-editor-tip' + }, + createlink : { + title: 'Ð’Ñтавити гіперпоÑиланнÑ', + text: 'Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿Ð¾ÑÐ¸Ð»Ð°Ð½Ð½Ñ Ñ–Ð· виділеного текÑту.', + cls: 'x-html-editor-tip' + }, + sourceedit : { + title: 'Вихідний код', + text: 'ПереключитиÑÑŒ на вихідний код.', + cls: 'x-html-editor-tip' + } + } + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Сортувати по зроÑтанню", + sortDescText : "Сортувати по Ñпаданню", + lockText : "Закріпити колонку", + unlockText : "ЗнÑти Ð·Ð°ÐºÑ€Ñ–Ð¿Ð»ÐµÐ½Ð½Ñ ÐºÐ¾Ð»Ð¾Ð½ÐºÐ¸", + columnsText : "Колонки" + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Ðазва", + valueText : "ЗначеннÑ", + dateFormat : "j.m.Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "ТÑгніть Ð´Ð»Ñ Ð·Ð¼Ñ–Ð½Ð¸ розміру.", + collapsibleSplitTip : "ТÑгніть Ð´Ð»Ñ Ð·Ð¼Ñ–Ð½Ð¸ розміру. Подвійний клік Ñховає панель." + }); +} + diff --git a/skins/jason/extjs/locale/ext-lang-vn.js b/skins/jason/extjs/locale/ext-lang-vn.js new file mode 100644 index 0000000..f48a58e --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-vn.js @@ -0,0 +1,175 @@ +/** + * List compiled by mystix on the extjs.com forums. + * Thank you Mystix! + */ + +/** + * Vietnamese translation + * By bpmtri + * 12-April-2007 04:06PM + */ + +Ext.UpdateManager.defaults.indicatorText = '
    Äang tải...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} dòng được chá»n"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "Äóng thẻ này"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "Giá trị cá»§a ô này không hợp lệ."; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "Äang tải..."; +} + +Date.monthNames = [ + "Tháng 1", + "Tháng 2", + "Tháng 3", + "Tháng 4", + "Tháng 5", + "Tháng 6", + "Tháng 7", + "Tháng 8", + "Tháng 9", + "Tháng 10", + "Tháng 11", + "Tháng 12" +]; + +Date.dayNames = [ + "Chá»§ nhật", + "Thứ hai", + "Thứ ba", + "Thứ tư", + "Thứ năm", + "Thứ sáu", + "Thứ bảy" +]; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "Äồng ý", + cancel : "Há»§y bá»", + yes : "Có", + no : "Không" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "d/m/Y"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "Hôm nay", + minText : "Ngày này nhá» hÆ¡n ngày nhá» nhất", + maxText : "Ngày này lá»›n hÆ¡n ngày lá»›n nhất", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : 'Tháng sau (Control+Right)', + prevText : 'Tháng trước (Control+Left)', + monthYearText : 'Chá»n má»™t tháng (Control+Up/Down để thay đổi năm)', + todayTip : "{0} (Spacebar - Phím trắng)", + format : "d/m/y" + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "Trang", + afterPageText : "of {0}", + firstText : "Trang đầu", + prevText : "Trang trước", + nextText : "Trang sau", + lastText : "Trang cuối", + refreshText : "Tải lại", + displayMsg : "Hiển thị {0} - {1} cá»§a {2}", + emptyMsg : 'Không có dữ liệu để hiển thị' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "Chiá»u dài tối thiểu cá»§a ô này là {0}", + maxLengthText : "Chiá»u dài tối Ä‘a cá»§a ô này là {0}", + blankText : "Ô này cần phải nhập giá trị", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "Giá trị nhá» nhất cá»§a ô này là {0}", + maxText : "Giá trị lá»›n nhất cá»§a ô này là {0}", + nanText : "{0} hông phải là má»™t số hợp lệ" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "Vô hiệu", + disabledDatesText : "Vô hiệu", + minText : "Ngày nhập trong ô này phải sau ngày {0}", + maxText : "Ngày nhập trong ô này phải trước ngày {0}", + invalidText : "{0} không phải là má»™t ngày hợp lệ - phải có dạng {1}", + format : "d/m/y" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "Äang tải...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : 'Giá trị cá»§a ô này phải là má»™t địa chỉ email có dạng như "ten@abc.com"', + urlText : 'Giá trị cá»§a ô này phải là má»™t địa chỉ web(URL) hợp lệ, có dạng như "http:/'+'/www.domain.com"', + alphaText : 'Ô này chỉ được nhập các kí tá»± và gạch dưới(_)', + alphanumText : 'Ô này chỉ được nhập các kí tá»±, số và gạch dưới(_)' + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "Tăng dần", + sortDescText : "Giảm dần", + lockText : "Khóa cá»™t", + unlockText : "Bá» khóa cá»™t", + columnsText : "Các cá»™t" + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "Tên", + valueText : "Giá trị", + dateFormat : "j/m/Y" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "Kéo giữ chuá»™t để thay đổi kích thước.", + collapsibleSplitTip : "Kéo giữ chuá»™t để thay đổi kích thước. Nhấp đúp để ẩn Ä‘i." + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-zh_CN.js b/skins/jason/extjs/locale/ext-lang-zh_CN.js new file mode 100644 index 0000000..5a71c45 --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-zh_CN.js @@ -0,0 +1,168 @@ +/* + * Simplified Chinese translation + * By DavidHu + * 09 April 2007 + */ + +Ext.UpdateManager.defaults.indicatorText = '
    加载中...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "{0} 选择行"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "关闭"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "è¾“å…¥å€¼éžæ³•"; +} + +Date.monthNames = [ + "一月", + "二月", + "三月", + "四月", + "五月", + "六月", + "七月", + "八月", + "乿œˆ", + "åæœˆ", + "å一月", + "å二月" +]; + +Date.dayNames = [ + "æ—¥", + "一", + "二", + "三", + "å››", + "五", + "å…­" +]; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "确定", + cancel : "å–æ¶ˆ", + yes : "是", + no : "å¦" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "yå¹´m月dæ—¥"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "今天", + minText : "æ—¥æœŸåœ¨æœ€å°æ—¥æœŸä¹‹å‰", + maxText : "日期在最大日期之åŽ", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : '下月 (Control+Right)', + prevText : '上月 (Control+Left)', + monthYearText : '选择一个月 (Control+Up/Down æ¥æ”¹å˜å¹´)', + todayTip : "{0} (空格键选择)", + format : "yå¹´m月dæ—¥", + okText : "确定", + cancelText : "å–æ¶ˆ" + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "页", + afterPageText : "页共 {0} 页", + firstText : "第一页", + prevText : "å‰ä¸€é¡µ", + nextText : "下一页", + lastText : "最åŽé¡µ", + refreshText : "刷新", + displayMsg : "显示 {0} - {1},共 {2} æ¡", + emptyMsg : '没有数æ®éœ€è¦æ˜¾ç¤º' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "该输入项的最å°é•¿åº¦æ˜¯ {0}", + maxLengthText : "该输入项的最大长度是 {0}", + blankText : "该输入项为必输项", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "该输入项的最å°å€¼æ˜¯ {0}", + maxText : "该输入项的最大值是 {0}", + nanText : "{0} 䏿˜¯æœ‰æ•ˆæ•°å€¼" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "ç¦ç”¨", + disabledDatesText : "ç¦ç”¨", + minText : "该输入项的日期必须在 {0} 之åŽ", + maxText : "该输入项的日期必须在 {0} 之å‰", + invalidText : "{0} 是无效的日期 - å¿…é¡»ç¬¦åˆæ ¼å¼ï¼š {1}", + format : "yå¹´m月dæ—¥" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "加载...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : '该输入项必须是电å­é‚®ä»¶åœ°å€ï¼Œæ ¼å¼å¦‚: "user@domain.com"', + urlText : '该输入项必须是URL地å€ï¼Œæ ¼å¼å¦‚: "http:/'+'/www.domain.com"', + alphaText : '该输入项åªèƒ½åŒ…å«å­—符和_', + alphanumText : '该输入项åªèƒ½åŒ…å«å­—符,æ•°å­—å’Œ_' + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "æ­£åº", + sortDescText : "逆åº", + lockText : "é”列", + unlockText : "è§£é”列", + columnsText : "列" + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "åç§°", + valueText : "值", + dateFormat : "yå¹´m月dæ—¥" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "æ‹–åŠ¨æ¥æ”¹å˜å°ºå¯¸.", + collapsibleSplitTip : "æ‹–åŠ¨æ¥æ”¹å˜å°ºå¯¸. åŒå‡»éšè—." + }); +} diff --git a/skins/jason/extjs/locale/ext-lang-zh_TW.js b/skins/jason/extjs/locale/ext-lang-zh_TW.js new file mode 100644 index 0000000..d50d4b4 --- /dev/null +++ b/skins/jason/extjs/locale/ext-lang-zh_TW.js @@ -0,0 +1,172 @@ +/* + * Traditional Chinese translation + * By hata1234 + * 09 April 2007 + */ + +Ext.UpdateManager.defaults.indicatorText = '
    讀å–中...
    '; + +if(Ext.View){ + Ext.View.prototype.emptyText = ""; +} + +if(Ext.grid.GridPanel){ + Ext.grid.GridPanel.prototype.ddText = "鏿“‡äº† {0} 行"; +} + +if(Ext.TabPanelItem){ + Ext.TabPanelItem.prototype.closeText = "關閉此標籤"; +} + +if(Ext.form.Field){ + Ext.form.Field.prototype.invalidText = "數值ä¸ç¬¦åˆæ¬„ä½è¦å®š"; +} + +if(Ext.LoadMask){ + Ext.LoadMask.prototype.msg = "讀å–中..."; +} + +Date.monthNames = [ + "一月", + "二月", + "三月", + "四月", + "五月", + "六月", + "七月", + "八月", + "乿œˆ", + "åæœˆ", + "å一月", + "å二月" +]; + +Date.dayNames = [ + "æ—¥", + "一", + "二", + "三", + "å››", + "五", + "å…­" +]; + +if(Ext.MessageBox){ + Ext.MessageBox.buttonText = { + ok : "確定", + cancel : "å–æ¶ˆ", + yes : "是", + no : "å¦" + }; +} + +if(Ext.util.Format){ + Ext.util.Format.date = function(v, format){ + if(!v) return ""; + if(!(v instanceof Date)) v = new Date(Date.parse(v)); + return v.dateFormat(format || "Y/m/d"); + }; +} + +if(Ext.DatePicker){ + Ext.apply(Ext.DatePicker.prototype, { + todayText : "今天", + minText : "日期必須大於最å°å®¹è¨±æ—¥æœŸ", + maxText : "æ—¥æœŸå¿…é ˆå°æ–¼æœ€å¤§å®¹è¨±æ—¥æœŸ", + disabledDaysText : "", + disabledDatesText : "", + monthNames : Date.monthNames, + dayNames : Date.dayNames, + nextText : "下個月 (Ctrl+峿–¹å‘éµ)", + prevText : "上個月 (Ctrl+左方å‘éµ)", + monthYearText : "鏿“‡æœˆä»½ (Ctrl+上/下方å‘éµé¸æ“‡å¹´ä»½)", + todayTip : "{0} (空白éµ)", + format : "y/m/d", + okText : "确定", + cancelText : "å–æ¶ˆ" + }); +} + +if(Ext.PagingToolbar){ + Ext.apply(Ext.PagingToolbar.prototype, { + beforePageText : "第", + afterPageText : "é ï¼Œå…±{0}é ", + firstText : "第一é ", + prevText : "上一é ", + nextText : "下一é ", + lastText : "最後é ", + refreshText : "釿–°æ•´ç†", + displayMsg : "顯示{0} - {1}é ,å…±{2}é ", + emptyMsg : '沒有任何資料' + }); +} + +if(Ext.form.TextField){ + Ext.apply(Ext.form.TextField.prototype, { + minLengthText : "æ­¤æ¬„ä½æœ€å°‘è¦è¼¸å…¥ {0} 個字", + maxLengthText : "æ­¤æ¬„ä½æœ€å¤šè¼¸å…¥ {0} 個字", + blankText : "此欄ä½ç‚ºå¿…å¡«", + regexText : "", + emptyText : null + }); +} + +if(Ext.form.NumberField){ + Ext.apply(Ext.form.NumberField.prototype, { + minText : "此欄ä½ä¹‹æ•¸å€¼å¿…須大於 {0}", + maxText : "此欄ä½ä¹‹æ•¸å€¼å¿…é ˆå°æ–¼ {0}", + nanText : "{0} 䏿˜¯åˆæ³•的數字" + }); +} + +if(Ext.form.DateField){ + Ext.apply(Ext.form.DateField.prototype, { + disabledDaysText : "無法使用", + disabledDatesText : "無法使用", + minText : "此欄ä½ä¹‹æ—¥æœŸå¿…須在 {0} 之後", + maxText : "此欄ä½ä¹‹æ—¥æœŸå¿…須在 {0} 之å‰", + invalidText : "{0} 䏿˜¯æ­£ç¢ºçš„æ—¥æœŸæ ¼å¼ - å¿…é ˆåƒæ˜¯ 「 {1} 〠這樣的格å¼", + format : "Y/m/d" + }); +} + +if(Ext.form.ComboBox){ + Ext.apply(Ext.form.ComboBox.prototype, { + loadingText : "讀å–中 ...", + valueNotFoundText : undefined + }); +} + +if(Ext.form.VTypes){ + Ext.apply(Ext.form.VTypes, { + emailText : '此欄ä½å¿…é ˆè¼¸å…¥åƒ "user@domain.com" 之E-Mailæ ¼å¼', + urlText : '此欄ä½å¿…é ˆè¼¸å…¥åƒ "http:/'+'/www.domain.com" ä¹‹ç¶²å€æ ¼å¼', + alphaText : '此欄ä½åƒ…能輸入åŠå½¢è‹±æ–‡å­—æ¯åŠåº•ç·š( _ )符號', + alphanumText : '此欄ä½åƒ…能輸入åŠå½¢è‹±æ–‡å­—æ¯ã€æ•¸å­—åŠåº•ç·š( _ )符號' + }); +} + +if(Ext.grid.GridView){ + Ext.apply(Ext.grid.GridView.prototype, { + sortAscText : "æ­£å‘æŽ’åº", + sortDescText : "å呿ޒåº", + lockText : "鎖定欄ä½", + unlockText : "解開欄ä½éŽ–å®š", + columnsText : "欄ä½" + }); +} + +if(Ext.grid.PropertyColumnModel){ + Ext.apply(Ext.grid.PropertyColumnModel.prototype, { + nameText : "å稱", + valueText : "數值", + dateFormat : "Y/m/d" + }); +} + +if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ + Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { + splitTip : "拖曳縮放大å°.", + collapsibleSplitTip : "拖曳縮放大å°. 滑鼠雙擊隱è—." + }); +} diff --git a/skins/jason/extjs/resources/css/README.txt b/skins/jason/extjs/resources/css/README.txt new file mode 100644 index 0000000..e476a5a --- /dev/null +++ b/skins/jason/extjs/resources/css/README.txt @@ -0,0 +1,3 @@ +2006-11-21 jvs: +ext-all.css contains all of the other css files combined and stripped of comments (except themes). + diff --git a/skins/jason/extjs/resources/css/borders.css b/skins/jason/extjs/resources/css/borders.css new file mode 100644 index 0000000..1a4b732 --- /dev/null +++ b/skins/jason/extjs/resources/css/borders.css @@ -0,0 +1,61 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +.x-panel-noborder .x-panel-body-noborder { + border-width:0; +} + +.x-panel-noborder .x-panel-header-noborder { + border-width:0; + border-bottom:1px solid #99bbe8; +} + +.x-panel-noborder .x-panel-tbar-noborder .x-toolbar { + border-width:0; + border-bottom:1px solid #99bbe8; +} + +.x-panel-noborder .x-panel-bbar-noborder .x-toolbar { + border-width:0; + border-top:1px solid #99bbe8; +} + +.x-window-noborder .x-window-mc { + border-width:0; +} + +.x-window-plain .x-window-body-noborder { + border-width:0; +} + +.x-tab-panel-noborder .x-tab-panel-body-noborder { + border-width:0; +} + +.x-tab-panel-noborder .x-tab-panel-header-noborder { + border-top-width:0; + border-left-width:0; + border-right-width:0; +} + +.x-tab-panel-noborder .x-tab-panel-footer-noborder { + border-bottom-width:0; + border-left-width:0; + border-right-width:0; +} + + +.x-tab-panel-bbar-noborder .x-toolbar { + border-width:0; + border-top:1px solid #99bbe8; +} + +.x-tab-panel-tbar-noborder .x-toolbar { + border-width:0; + border-bottom:1px solid #99bbe8; +} \ No newline at end of file diff --git a/skins/jason/extjs/resources/css/box.css b/skins/jason/extjs/resources/css/box.css new file mode 100644 index 0000000..da2c0f3 --- /dev/null +++ b/skins/jason/extjs/resources/css/box.css @@ -0,0 +1,111 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +/* + Creates rounded, raised boxes like on the Ext website - the markup isn't pretty: +
    +
    +
    +

    YOUR TITLE HERE (optional)

    +
    YOUR CONTENT HERE
    +
    +
    +
    + */ + +.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 4px 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); +} \ No newline at end of file diff --git a/skins/jason/extjs/resources/css/button.css b/skins/jason/extjs/resources/css/button.css new file mode 100644 index 0000000..a6ed705 --- /dev/null +++ b/skins/jason/extjs/resources/css/button.css @@ -0,0 +1,161 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +.x-btn{ + font:normal 11px tahoma, verdana, helvetica; + cursor:pointer; + white-space: nowrap; +} +.x-btn button{ + border:0 none; + background:transparent; + font:normal 11px tahoma,verdana,helvetica; + padding-left:3px; + padding-right:3px; + cursor:pointer; + margin:0; + overflow:visible; + width:auto; + -moz-outline:0 none; + outline:0 none; +} +* html .ext-ie .x-btn button { + width:1px; +} +.ext-gecko .x-btn button { + padding-left:0; + padding-right:0; +} +.ext-ie .x-btn button { + padding-top:2px; +} +/* + Predefined css class for buttons with only icon. Add this class (x-btn-icon) and a class with a background-image + to your button for a button with just an icon. + e.g. + .my-class .x-btn-text { background-image: url(foo.gif); } + */ + +.x-btn-icon .x-btn-center .x-btn-text{ + background-position: center; + background-repeat: no-repeat; + height: 16px; + width: 16px; + cursor:pointer; + white-space: nowrap; + padding:0; +} +.x-btn-icon .x-btn-center{ + padding:1px; +} +.x-btn em { + font-style:normal; + font-weight:normal; +} +/* + Button class for icon and text. Add this class (x-btn-text-icon) and a class with a background-image + to your button for both text and icon. +*/ + +.x-btn-text-icon .x-btn-center .x-btn-text{ + background-position: 0 2px; + background-repeat: no-repeat; + padding-left:18px; + padding-top:3px; + padding-bottom:2px; + padding-right:0; +} +.ext-gecko3 .x-btn-text-icon .x-btn-center .x-btn-text { + padding-top:2px; +} +.x-btn-left, .x-btn-right{ + font-size:1px; + line-height:1px; +} +.x-btn-left{ + width:3px; + height:21px; + background:url(../images/default/button/btn-sprite.gif) no-repeat 0 0; +} +.x-btn-right{ + width:3px; + height:21px; + background:url(../images/default/button/btn-sprite.gif) no-repeat 0 -21px; +} +.x-btn-left i, .x-btn-right i{ + display:block; + width:3px; + overflow:hidden; + font-size:1px; + line-height:1px; +} +.x-btn-center{ + background:url(../images/default/button/btn-sprite.gif) repeat-x 0 -42px; + vertical-align: middle; + text-align:center; + padding:0 5px; + cursor:pointer; + white-space:nowrap; +} +.x-btn-over .x-btn-left{ + background-position:0 -63px; +} +.x-btn-over .x-btn-right{ + background-position:0 -84px; +} +.x-btn-over .x-btn-center{ + background-position:0 -105px; +} +.x-btn-click .x-btn-center, .x-btn-menu-active .x-btn-center{ + background-position:0 -126px; +} +.x-btn-disabled *{ + color:gray !important; + cursor:default !important; +} +.x-btn-menu-text-wrap .x-btn-center { + padding:0 3px; +} +.ext-gecko .x-btn-menu-text-wrap .x-btn-center { + padding:0 1px; +} +.x-btn-menu-arrow-wrap .x-btn-center { + padding:0; +} +.x-btn-menu-arrow-wrap .x-btn-center button { + width:12px !important; + height:21px; + padding:0 !important; + display:block; + background:transparent url(../images/default/button/btn-arrow.gif) no-repeat left 3px; +} +.x-btn-with-menu .x-btn-center { + padding-right:2px !important; +} +.x-btn-with-menu .x-btn-center em { + display:block; + background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat right 0; + padding-right:10px; +} + +.x-btn-text-icon .x-btn-with-menu .x-btn-center em { + display:block; + background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat right 3px; + padding-right:10px; +} + +/* Toggle button styles */ +.x-btn-pressed .x-btn-left{ + background: url(../images/default/button/btn-sprite.gif) no-repeat 0 -63px; +} +.x-btn-pressed .x-btn-right{ + background: url(../images/default/button/btn-sprite.gif) no-repeat 0 -84px; +} +.x-btn-pressed .x-btn-center{ + background: url(../images/default/button/btn-sprite.gif) repeat-x 0 -126px; +} \ No newline at end of file diff --git a/skins/jason/extjs/resources/css/combo.css b/skins/jason/extjs/resources/css/combo.css new file mode 100644 index 0000000..c81536e --- /dev/null +++ b/skins/jason/extjs/resources/css/combo.css @@ -0,0 +1,55 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +.x-combo-list { + border:1px solid #98c0f4; + background:#ddecfe; + zoom:1; + overflow:hidden; +} +.x-combo-list-inner { + overflow:auto; + background:white; + position:relative; /* for calculating scroll offsets */ + 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{ + border:1px dotted #a3bae9 !important; + background:#DFE8F6; + cursor:pointer; +} +.x-combo-noedit{ + cursor:pointer; +} +.x-combo-list .x-toolbar { + border-top:1px solid #98c0f4; + border-bottom:0 none; +} + +.x-combo-list-small .x-combo-list-item { + font:normal 11px tahoma, arial, helvetica, sans-serif; +} \ No newline at end of file diff --git a/skins/jason/extjs/resources/css/core.css b/skins/jason/extjs/resources/css/core.css new file mode 100644 index 0000000..9c7da94 --- /dev/null +++ b/skins/jason/extjs/resources/css/core.css @@ -0,0 +1,314 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +.ext-el-mask { + z-index: 20000; + position: absolute; + top:0; + left:0; + -moz-opacity: 0.5; + opacity: .50; + filter: alpha(opacity=50); + background-color: #CCC; + width: 100%; + height: 100%; + zoom: 1; +} +.ext-el-mask-msg { + z-index: 20001; + position: absolute; + top: 0; + left: 0; + border:1px solid #6593cf; + background: #c3daf9 url(../images/default/box/tb-blue.gif) repeat-x 0 -16px; + padding:2px; +} +.ext-el-mask-msg div { + padding:5px 10px 5px 10px; + background: #eee; + border:1px solid #a3bad9; + color:#222; + font:normal 11px tahoma, arial, helvetica, sans-serif; + cursor:wait; +} + +.ext-shim { + position:absolute; + visibility:hidden; + left:0; + top:0; + overflow:hidden; +} +.ext-ie .ext-shim { + filter: alpha(opacity=0); +} +.ext-ie6 .ext-shim { + margin-left: 5px; + margin-top: 3px; +} + +.x-mask-loading div { + padding:5px 10px 5px 25px; + background: #fbfbfb url( '../images/default/grid/loading.gif' ) no-repeat 5px 5px; + line-height: 16px; +} +/* class for hiding elements without using display:none */ +.x-hidden, .x-hide-offsets { + position:absolute; + left:-10000px; + top:-10000px; + visibility:hidden; +} +.x-hide-display { + display:none !important; +} + +.x-hide-visibility { + visibility:hidden !important; +} + +.x-masked { + overflow: hidden !important; +} + +.x-masked select, .x-masked object, .x-masked embed { + visibility: hidden; +} + +.x-layer { + visibility: hidden; +} + +.x-unselectable, .x-unselectable * { + -moz-user-select: none; + -khtml-user-select: none; +} + +.x-repaint { + zoom: 1; + background-color: transparent; + -moz-outline: none; +} + +.x-item-disabled { + color: gray; + cursor: default; + opacity: .6; + -moz-opacity: .6; + filter: alpha(opacity=60); +} + +.x-item-disabled * { + color: gray !important; + cursor: default !important; +} + +.x-splitbar-proxy { + position: absolute; + visibility: hidden; + z-index: 20001; + background: #aaa; + zoom: 1; + line-height: 1px; + font-size: 1px; + overflow: hidden; +} + +.x-splitbar-h, .x-splitbar-proxy-h { + cursor: e-resize; + cursor: col-resize; +} + +.x-splitbar-v, .x-splitbar-proxy-v { + cursor: s-resize; + cursor: row-resize; +} + +.x-color-palette { + width: 150px; + height: 92px; + cursor: pointer; +} + +.x-color-palette a { + border: 1px solid #fff; + float: left; + padding: 2px; + text-decoration: none; + -moz-outline: 0 none; + outline: 0 none; + cursor: pointer; +} + +.x-color-palette a:hover, .x-color-palette a.x-color-palette-sel { + border: 1px solid #8BB8F3; + background: #deecfd; +} + +.x-color-palette em { + display: block; + border: 1px solid #ACA899; +} + +.x-color-palette em span { + cursor: pointer; + display: block; + height: 10px; + line-height: 10px; + width: 10px; +} + +.x-ie-shadow { + display: none; + position: absolute; + overflow: hidden; + left:0; + top:0; + background:#777; + zoom:1; +} + +.x-shadow { + display: none; + position: absolute; + overflow: hidden; + left:0; + top:0; +} + +.x-shadow * { + overflow: hidden; +} + +.x-shadow * { + padding: 0; + border: 0; + margin: 0; + clear: none; + zoom: 1; +} + +/* top bottom */ +.x-shadow .xstc, .x-shadow .xsbc { + height: 6px; + float: left; +} + +/* corners */ +.x-shadow .xstl, .x-shadow .xstr, .x-shadow .xsbl, .x-shadow .xsbr { + width: 6px; + height: 6px; + float: left; +} + +/* sides */ +.x-shadow .xsc { + width: 100%; +} + +.x-shadow .xsml, .x-shadow .xsmr { + width: 6px; + float: left; + height: 100%; +} + +.x-shadow .xsmc { + float: left; + height: 100%; + background: transparent url( ../images/default/shadow-c.png ); +} + +.x-shadow .xst, .x-shadow .xsb { + height: 6px; + overflow: hidden; + width: 100%; +} + +.x-shadow .xsml { + background: transparent url( ../images/default/shadow-lr.png ) repeat-y 0 0; +} + +.x-shadow .xsmr { + background: transparent url( ../images/default/shadow-lr.png ) repeat-y -6px 0; +} + +.x-shadow .xstl { + background: transparent url( ../images/default/shadow.png ) no-repeat 0 0; +} + +.x-shadow .xstc { + background: transparent url( ../images/default/shadow.png ) repeat-x 0 -30px; +} + +.x-shadow .xstr { + background: transparent url( ../images/default/shadow.png ) repeat-x 0 -18px; +} + +.x-shadow .xsbl { + background: transparent url( ../images/default/shadow.png ) no-repeat 0 -12px; +} + +.x-shadow .xsbc { + background: transparent url( ../images/default/shadow.png ) repeat-x 0 -36px; +} + +.x-shadow .xsbr { + background: transparent url( ../images/default/shadow.png ) repeat-x 0 -6px; +} + +.loading-indicator { + font-size: 11px; + background-image: url(../images/default/grid/loading.gif); + background-repeat: no-repeat; + background-position: left; + padding-left: 20px; + line-height: 16px; + margin: 3px; +} + +.x-text-resize { + position: absolute; + left: -1000px; + top: -1000px; + visibility: hidden; + zoom: 1; +} + +.x-drag-overlay { + width: 100%; + height: 100%; + display: none; + position: absolute; + left: 0; + top: 0; + background-image:url(../images/default/s.gif); + z-index: 20000; +} + +.x-clear { + clear:both; + height:0; + overflow:hidden; + line-height:0; + font-size:0; +} + + +.x-spotlight { + z-index: 8999; + position: absolute; + top:0; + left:0; + -moz-opacity: 0.5; + opacity: .50; + filter: alpha(opacity=50); + background-color: #CCC; + width:0; + height:0; + zoom: 1; +} diff --git a/skins/jason/extjs/resources/css/date-picker.css b/skins/jason/extjs/resources/css/date-picker.css new file mode 100644 index 0000000..5fb6229 --- /dev/null +++ b/skins/jason/extjs/resources/css/date-picker.css @@ -0,0 +1,247 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +.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/shared/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; + width:130px; /* FF3 */ +} +.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; +} \ No newline at end of file diff --git a/skins/jason/extjs/resources/css/dd.css b/skins/jason/extjs/resources/css/dd.css new file mode 100644 index 0000000..ef7440a --- /dev/null +++ b/skins/jason/extjs/resources/css/dd.css @@ -0,0 +1,75 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +.x-dd-drag-proxy{ + position:absolute; + left:0;top:0; + visibility:hidden; + z-index:15000; +} +.x-dd-drag-ghost{ + color: black; + font: normal 11px arial, helvetica, sans-serif; + -moz-opacity: 0.85; + opacity:.85; + filter: alpha(opacity=85); + border-top:1px solid #dddddd; + border-left:1px solid #dddddd; + border-right:1px solid #bbbbbb; + border-bottom:1px solid #bbbbbb; + padding:3px; + padding-left:20px; + background-color:white; + white-space:nowrap; +} +.x-dd-drag-repair .x-dd-drag-ghost{ + -moz-opacity: 0.4; + opacity:.4; + filter: alpha(opacity=40); + border:0 none; + padding:0; + background-color:transparent; +} +.x-dd-drag-repair .x-dd-drop-icon{ + visibility:hidden; +} +.x-dd-drop-icon{ + position:absolute; + top:3px; + left:3px; + display:block; + width:16px; + height:16px; + background-color:transparent; + background-position: center; + background-repeat: no-repeat; + z-index:1; +} +.x-dd-drop-nodrop .x-dd-drop-icon{ + background-image: url(../images/default/dd/drop-no.gif); +} +.x-dd-drop-ok .x-dd-drop-icon{ + background-image: url(../images/default/dd/drop-yes.gif); +} +.x-dd-drop-ok-add .x-dd-drop-icon{ + background-image: url(../images/default/dd/drop-add.gif); +} + + +.x-view-selector { + position:absolute; + left:0; + top:0; + width:0; + background:#c3daf9; + border:1px dotted #3399bb; + opacity: .5; + -moz-opacity: .5; + filter:alpha(opacity=50); + zoom:1; +} \ No newline at end of file diff --git a/skins/jason/extjs/resources/css/debug.css b/skins/jason/extjs/resources/css/debug.css new file mode 100644 index 0000000..308378a --- /dev/null +++ b/skins/jason/extjs/resources/css/debug.css @@ -0,0 +1,37 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +#x-debug-browser .x-tree .x-tree-node a span { + color:#222297; + font-size:11px; + padding-top:2px; + font-family:"monotype","courier new",sans-serif; + 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 .x-tool-toggle { + background-position:0 -75px; +} +#x-debug-browser .x-tool-toggle-over { + background-position:-15px -75px; +} +#x-debug-browser.x-panel-collapsed .x-tool-toggle { + background-position:0 -60px; +} +#x-debug-browser.x-panel-collapsed .x-tool-toggle-over { + background-position:-15px -60px; +} \ No newline at end of file diff --git a/skins/jason/extjs/resources/css/dialog.css b/skins/jason/extjs/resources/css/dialog.css new file mode 100644 index 0000000..06977f2 --- /dev/null +++ b/skins/jason/extjs/resources/css/dialog.css @@ -0,0 +1,69 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +.x-window-dlg .x-window-body { + border:0 none !important; + padding:5px 10px; + overflow:hidden !important; +} +.x-window-dlg .x-window-mc { + border:0 none !important; +} +.x-window-dlg .ext-mb-text, +.x-window-dlg .x-window-header-text { + font-size:12px; +} +.x-window-dlg .ext-mb-input { + margin-top:4px; + width:95%; +} +.x-window-dlg .ext-mb-textarea { + margin-top:4px; + font:normal 12px tahoma,arial,helvetica,sans-serif; +} +.x-window-dlg .x-progress-wrap { + margin-top:4px; +} +.ext-ie .x-window-dlg .x-progress-wrap { + margin-top:6px; +} +.x-window-dlg .x-msg-box-wait { + background: transparent url(../images/default/grid/loading.gif) no-repeat left; + display:block; + width:300px; + padding-left:18px; + line-height:18px; +} +.x-window-dlg .ext-mb-icon { + float:left; + width:47px; + height:32px; +} +.x-window-dlg .ext-mb-icon { + float:left; + width:47px; + height:32px; +} +.ext-ie .x-window-dlg .ext-mb-icon { + width:44px; /* 3px IE margin issue */ +} +.x-window-dlg .ext-mb-info { + background:transparent url(../images/default/window/icon-info.gif) no-repeat top left; +} +.x-window-dlg .ext-mb-warning { + background:transparent url(../images/default/window/icon-warning.gif) no-repeat top left; +} +.x-window-dlg .ext-mb-question { + background:transparent url(../images/default/window/icon-question.gif) no-repeat top left; +} +.x-window-dlg .ext-mb-error { + background:transparent url(../images/default/window/icon-error.gif) no-repeat top left; +} +.ext-gecko2 .ext-mb-fix-cursor { + overflow:auto; +} \ No newline at end of file diff --git a/skins/jason/extjs/resources/css/editor.css b/skins/jason/extjs/resources/css/editor.css new file mode 100644 index 0000000..c381429 --- /dev/null +++ b/skins/jason/extjs/resources/css/editor.css @@ -0,0 +1,66 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +.x-html-editor-wrap { + border:1px solid #a9bfd3; + background:white; +} +.x-html-editor-tb .x-btn-text { + background:transparent url(../images/default/editor/tb-sprite.gif) no-repeat; +} +.x-html-editor-tb .x-edit-bold .x-btn-text { + background-position:0 0; +} +.x-html-editor-tb .x-edit-italic .x-btn-text { + background-position:-16px 0; +} +.x-html-editor-tb .x-edit-underline .x-btn-text { + background-position:-32px 0; +} +.x-html-editor-tb .x-edit-forecolor .x-btn-text { + background-position:-160px 0; +} +.x-html-editor-tb .x-edit-backcolor .x-btn-text { + background-position:-176px 0; +} +.x-html-editor-tb .x-edit-justifyleft .x-btn-text { + background-position:-112px 0; +} +.x-html-editor-tb .x-edit-justifycenter .x-btn-text { + background-position:-128px 0; +} +.x-html-editor-tb .x-edit-justifyright .x-btn-text { + background-position:-144px 0; +} +.x-html-editor-tb .x-edit-insertorderedlist .x-btn-text { + background-position:-80px 0; +} +.x-html-editor-tb .x-edit-insertunorderedlist .x-btn-text { + background-position:-96px 0; +} +.x-html-editor-tb .x-edit-increasefontsize .x-btn-text { + background-position:-48px 0; +} +.x-html-editor-tb .x-edit-decreasefontsize .x-btn-text { + background-position:-64px 0; +} +.x-html-editor-tb .x-edit-sourceedit .x-btn-text { + background-position:-192px 0; +} +.x-html-editor-tb .x-edit-createlink .x-btn-text { + background-position:-208px 0; +} + +.x-html-editor-tip .x-tip-bd .x-tip-bd-inner { + padding:5px; + padding-bottom:1px; +} + +.x-html-editor-tb .x-toolbar { + position:static !important; +} \ No newline at end of file diff --git a/skins/jason/extjs/resources/css/ext-all.css b/skins/jason/extjs/resources/css/ext-all.css new file mode 100644 index 0000000..5f87f8f --- /dev/null +++ b/skins/jason/extjs/resources/css/ext-all.css @@ -0,0 +1,925 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +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:'';} + +.ext-el-mask{z-index:20000;position:absolute;top:0;left:0;-moz-opacity:0.5;opacity:.50;filter:alpha(opacity=50);background-color:#CCC;width:100%;height:100%;zoom:1;} +.ext-el-mask-msg{z-index:20001;position:absolute;top:0;left:0;border:1px solid #6593cf;background:#c3daf9 url(../images/default/box/tb-blue.gif) repeat-x 0 -16px;padding:2px;} +.ext-el-mask-msg div{padding:5px 10px 5px 10px;background:#eee;border:1px solid #a3bad9;color:#222;font:normal 11px tahoma,arial,helvetica,sans-serif;cursor:wait;} +.ext-shim{position:absolute;visibility:hidden;left:0;top:0;overflow:hidden;} +.ext-ie .ext-shim{filter:alpha(opacity=0);} +.ext-ie6 .ext-shim{margin-left:5px;margin-top:3px;} +.x-mask-loading div{padding:5px 10px 5px 25px;background:#fbfbfb url( '../images/default/grid/loading.gif' ) no-repeat 5px 5px;line-height:16px;} +.x-hidden,.x-hide-offsets{position:absolute;left:-10000px;top:-10000px;visibility:hidden;} +.x-hide-display{display:none!important;} +.x-hide-visibility{visibility:hidden!important;} +.x-masked{overflow:hidden!important;} +.x-masked select,.x-masked object,.x-masked embed{visibility:hidden;} +.x-layer{visibility:hidden;} +.x-unselectable,.x-unselectable *{-moz-user-select:none;-khtml-user-select:none;} +.x-repaint{zoom:1;background-color:transparent;-moz-outline:none;} +.x-item-disabled{color:gray;cursor:default;opacity:.6;-moz-opacity:.6;filter:alpha(opacity=60);} +.x-item-disabled *{color:gray!important;cursor:default!important;} +.x-splitbar-proxy{position:absolute;visibility:hidden;z-index:20001;background:#aaa;zoom:1;line-height:1px;font-size:1px;overflow:hidden;} +.x-splitbar-h,.x-splitbar-proxy-h{cursor:e-resize;cursor:col-resize;} +.x-splitbar-v,.x-splitbar-proxy-v{cursor:s-resize;cursor:row-resize;} +.x-color-palette{width:150px;height:92px;cursor:pointer;} +.x-color-palette a{border:1px solid #fff;float:left;padding:2px;text-decoration:none;-moz-outline:0 none;outline:0 none;cursor:pointer;} +.x-color-palette a:hover,.x-color-palette a.x-color-palette-sel{border:1px solid #8BB8F3;background:#deecfd;} +.x-color-palette em{display:block;border:1px solid #ACA899;} +.x-color-palette em span{cursor:pointer;display:block;height:10px;line-height:10px;width:10px;} +.x-ie-shadow{display:none;position:absolute;overflow:hidden;left:0;top:0;background:#777;zoom:1;} +.x-shadow{display:none;position:absolute;overflow:hidden;left:0;top:0;} +.x-shadow *{overflow:hidden;} +.x-shadow *{padding:0;border:0;margin:0;clear:none;zoom:1;} +.x-shadow .xstc,.x-shadow .xsbc{height:6px;float:left;} +.x-shadow .xstl,.x-shadow .xstr,.x-shadow .xsbl,.x-shadow .xsbr{width:6px;height:6px;float:left;} +.x-shadow .xsc{width:100%;} +.x-shadow .xsml,.x-shadow .xsmr{width:6px;float:left;height:100%;} +.x-shadow .xsmc{float:left;height:100%;background:transparent url( ../images/default/shadow-c.png );} +.x-shadow .xst,.x-shadow .xsb{height:6px;overflow:hidden;width:100%;} +.x-shadow .xsml{background:transparent url( ../images/default/shadow-lr.png ) repeat-y 0 0;} +.x-shadow .xsmr{background:transparent url( ../images/default/shadow-lr.png ) repeat-y -6px 0;} +.x-shadow .xstl{background:transparent url( ../images/default/shadow.png ) no-repeat 0 0;} +.x-shadow .xstc{background:transparent url( ../images/default/shadow.png ) repeat-x 0 -30px;} +.x-shadow .xstr{background:transparent url( ../images/default/shadow.png ) repeat-x 0 -18px;} +.x-shadow .xsbl{background:transparent url( ../images/default/shadow.png ) no-repeat 0 -12px;} +.x-shadow .xsbc{background:transparent url( ../images/default/shadow.png ) repeat-x 0 -36px;} +.x-shadow .xsbr{background:transparent url( ../images/default/shadow.png ) repeat-x 0 -6px;} +.loading-indicator{font-size:11px;background-image:url(../images/default/grid/loading.gif);background-repeat:no-repeat;background-position:left;padding-left:20px;line-height:16px;margin:3px;} +.x-text-resize{position:absolute;left:-1000px;top:-1000px;visibility:hidden;zoom:1;} +.x-drag-overlay{width:100%;height:100%;display:none;position:absolute;left:0;top:0;background-image:url(../images/default/s.gif);z-index:20000;} +.x-clear{clear:both;height:0;overflow:hidden;line-height:0;font-size:0;} +.x-spotlight{z-index:8999;position:absolute;top:0;left:0;-moz-opacity:0.5;opacity:.50;filter:alpha(opacity=50);background-color:#CCC;width:0;height:0;zoom:1;} + +.x-tab-panel{overflow:hidden;} +.x-tab-panel-header,.x-tab-panel-footer{background:#deecfd;border:1px solid #8db2e3;overflow:hidden;zoom:1;} +.x-tab-panel-header{border:1px solid #8db2e3;padding-bottom:2px;} +.x-tab-panel-footer{border:1px solid #8db2e3;padding-top:2px;} +.x-tab-strip-wrap{width:100%;overflow:hidden;position:relative;zoom:1;} +ul.x-tab-strip{display:block;width:5000px;zoom:1;} +ul.x-tab-strip-top{padding-top:1px;background:url(../images/default/tabs/tab-strip-bg.gif) #cedff5 repeat-x bottom;border-bottom:1px solid #8db2e3;} +ul.x-tab-strip-bottom{padding-bottom:1px;background:url(../images/default/tabs/tab-strip-btm-bg.gif) #cedff5 repeat-x top;border-top:1px solid #8db2e3;border-bottom:0 none;} +.x-tab-panel-header-plain .x-tab-strip-top{background:transparent!important;padding-top:0!important;} +.x-tab-panel-header-plain{background:transparent!important;border-width:0!important;padding-bottom:0!important;} +.x-tab-panel-header-plain .x-tab-strip-spacer,.x-tab-panel-footer-plain .x-tab-strip-spacer{border:1px solid #8db2e3;height:2px;background:#deecfd;font-size:1px;line-height:1px;} +.x-tab-panel-header-plain .x-tab-strip-spacer{border-top:0 none;} +.x-tab-panel-footer-plain .x-tab-strip-spacer{border-bottom:0 none;} +.x-tab-panel-footer-plain .x-tab-strip-bottom{background:transparent!important;padding-bottom:0!important;} +.x-tab-panel-footer-plain{background:transparent!important;border-width:0!important;padding-top:0!important;} +.ext-border-box .x-tab-panel-header-plain .x-tab-strip-spacer,.ext-border-box .x-tab-panel-footer-plain .x-tab-strip-spacer{height:3px;} +ul.x-tab-strip li{float:left;margin-left:2px;} +ul.x-tab-strip li.x-tab-edge{float:left;margin:0!important;padding:0!important;border:0 none!important;font-size:1px!important;line-height:1px!important;overflow:hidden;zoom:1;background:transparent!important;width:1px;} +.x-tab-strip a,.x-tab-strip span,.x-tab-strip em{display:block;} +.x-tab-strip a{text-decoration:none!important;-moz-outline:none;outline:none;cursor:pointer;} +.x-tab-strip-inner{overflow:hidden;text-overflow:ellipsis;} +.x-tab-strip span.x-tab-strip-text{font:normal 11px tahoma,arial,helvetica;color:#416aa3;white-space:nowrap;cursor:pointer;padding:4px 0;} +.x-tab-strip-top .x-tab-with-icon .x-tab-right{padding-left:6px;} +.x-tab-strip .x-tab-with-icon span.x-tab-strip-text{padding-left:20px;background-position:0 3px;background-repeat:no-repeat;} +.x-tab-strip-over span.x-tab-strip-text{color:#15428b;} +.x-tab-strip-active,.x-tab-strip-active a.x-tab-right{cursor:default;} +.x-tab-strip-active span.x-tab-strip-text{cursor:default;color:#15428b;font-weight:bold;} +.x-tab-strip-disabled .x-tabs-text{cursor:default;color:#aaa;} +.x-tab-panel-body{overflow:hidden;} +.x-tab-panel-bwrap{overflow:hidden;} +.ext-ie .x-tab-strip .x-tab-right{position:relative;} +.x-tab-strip-top .x-tab-strip-active .x-tab-right{margin-bottom:-1px;} +.x-tab-strip-top .x-tab-strip-active .x-tab-right span.x-tab-strip-text{padding-bottom:5px;} +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right{margin-top:-1px;} +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right span.x-tab-strip-text{padding-top:5px;} +.x-tab-strip-top .x-tab-right{background:transparent url(../images/default/tabs/tabs-sprite.gif) no-repeat 0 -51px;padding-left:10px;} +.x-tab-strip-top .x-tab-left{background:transparent url(../images/default/tabs/tabs-sprite.gif) no-repeat right -351px;padding-right:10px;} +.x-tab-strip-top .x-tab-strip-inner{background:transparent url(../images/default/tabs/tabs-sprite.gif) repeat-x 0 -201px;} +.x-tab-strip-top .x-tab-strip-over .x-tab-right{background-position:0 -101px;} +.x-tab-strip-top .x-tab-strip-over .x-tab-left{background-position:right -401px;} +.x-tab-strip-top .x-tab-strip-over .x-tab-strip-inner{background-position:0 -251px;} +.x-tab-strip-top .x-tab-strip-active .x-tab-right{background-position:0 0;} +.x-tab-strip-top .x-tab-strip-active .x-tab-left{background-position:right -301px;} +.x-tab-strip-top .x-tab-strip-active .x-tab-strip-inner{background-position:0 -151px;} +.x-tab-strip-bottom .x-tab-right{background:url(../images/default/tabs/tab-btm-inactive-right-bg.gif) no-repeat bottom right;} +.x-tab-strip-bottom .x-tab-left{background:url(../images/default/tabs/tab-btm-inactive-left-bg.gif) no-repeat bottom left;} +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right{background:url(../images/default/tabs/tab-btm-right-bg.gif) no-repeat bottom left;} +.x-tab-strip-bottom .x-tab-strip-active .x-tab-left{background:url(../images/default/tabs/tab-btm-left-bg.gif) no-repeat bottom right;} +.x-tab-strip-bottom .x-tab-left{padding:0 10px;} +.x-tab-strip-bottom .x-tab-right{padding:0;} +.x-tab-strip .x-tab-strip-close{display:none;} +.x-tab-strip-closable{position:relative;} +.x-tab-strip-closable .x-tab-left{padding-right:19px;} +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close{background-image:url(../images/default/tabs/tab-close.gif);opacity:.6;-moz-opacity:.6;background-repeat:no-repeat;display:block;width:11px;height:11px;position:absolute;top:3px;right:3px;cursor:pointer;z-index:2;} +.x-tab-strip .x-tab-strip-active a.x-tab-strip-close{opacity:.8;-moz-opacity:.8;} +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{background-image:url(../images/default/tabs/tab-close.gif);opacity:1;-moz-opacity:1;} +.x-tab-panel-body{border:1px solid #8db2e3;background:#fff;} +.x-tab-panel-body-top{border-top:0 none;} +.x-tab-panel-body-bottom{border-bottom:0 none;} +.x-tab-scroller-left{background:transparent url(../images/default/tabs/scroll-left.gif) no-repeat -18px 0;border-bottom:1px solid #8db2e3;width:18px;position:absolute;left:0;top:0;z-index:10;cursor:pointer;} +.x-tab-scroller-left-over{background-position:0 0;} +.x-tab-scroller-left-disabled{background-position:-18px 0;opacity:.5;-moz-opacity:.5;filter:alpha(opacity=50);cursor:default;} +.x-tab-scroller-right{background:transparent url(../images/default/tabs/scroll-right.gif) no-repeat 0 0;border-bottom:1px solid #8db2e3;width:18px;position:absolute;right:0;top:0;z-index:10;cursor:pointer;} +.x-tab-scroller-right-over{background-position:-18px 0;} +.x-tab-scroller-right-disabled{background-position:0 0;opacity:.5;-moz-opacity:.5;filter:alpha(opacity=50);cursor:default;} +.x-tab-scrolling .x-tab-strip-wrap{margin-left:18px;margin-right:18px;} +.x-tab-scrolling{position:relative;} +.x-tab-panel-bbar .x-toolbar{border:1px solid #99bbe8;border-top:0 none;overflow:hidden;padding:2px;} +.x-tab-panel-tbar .x-toolbar{border:1px solid #99bbe8;border-top:0 none;overflow:hidden;padding:2px;} + + .x-form-field{margin: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;} +textarea.x-form-field{padding:2px 3px;} +.x-form-text{height:22px;line-height:18px;vertical-align:middle;} +.ext-ie .x-form-text{margin:-1px 0;height:22px;line-height:18px;} +.ext-ie textarea.x-form-field{margin:-1px 0;} +.ext-strict .x-form-text{height:18px;} +.ext-safari .x-form-text{height:20px;padding:0 3px;} +.ext-safari.ext-mac textarea.x-form-field{margin-bottom:-2px;} +.ext-gecko .x-form-text{padding-top:2px;padding-bottom:0;} +textarea{resize:none;} +.x-form-select-one{height:20px;line-height:18px;vertical-align:middle;background-color:#fff;border:1px solid #B5B8C8;} +.x-form-check-group,.x-form-radio-group{margin-bottom:0;} +.x-form-check-group .x-form-invalid .x-panel-body,.x-form-radio-group .x-form-invalid .x-panel-body{background-color:transparent;} +.x-form-check-wrap,.x-form-radio-wrap{padding:3px 0 0 0;line-height:18px;} +.x-form-check-group .x-form-check-wrap,.x-form-radio-group .x-form-radio-wrap{height:18px;} +.ext-ie .x-form-check-group .x-form-check-wrap,.ext-ie .x-form-radio-group .x-form-radio-wrap{height:21px;} +.ext-ie .x-form-check-wrap input,.ext-ie .x-form-radio-wrap input{width:15px;height:15px;} +.x-form-check,.x-form-radio{height:13px;width:13px;vertical-align:bottom;} +.x-form-radio{margin-bottom:3px;} +.x-form-check,.ext-ie .x-form-radio{margin-bottom:2px;} +.x-form-check-wrap-inner,.x-form-radio-wrap-inner{display:inline;padding:3px 0 0 0;} +.x-form-check{background:url('../images/default/form/checkbox.gif') no-repeat 0 0;} +.x-form-radio{background:url('../images/default/form/radio.gif') no-repeat 0 0;} +.x-form-check-focus .x-form-check,.x-form-check-over .x-form-check,.x-form-check-focus .x-form-radio,.x-form-check-over .x-form-radio{background-position:-13px 0;} +.x-form-check-down .x-form-check,.x-form-check-down .x-form-radio{background-position:-26px 0;} +.x-form-check-checked .x-form-check-focus .x-form-check,.x-form-check-checked .x-form-check-over .x-form-check{background-position:-13px -13px;} +.x-form-check-checked .x-form-check-down .x-form-check{background-position:-26px -13px;} +.x-form-check-checked .x-form-check,.x-form-check-checked .x-form-radio{background-position:0 -13px;} +.x-form-check-group-label{border-bottom:1px solid #99BBE8;color:#15428B;margin-bottom:5px;padding-left:3px!important;float:none!important;} +.x-form-field-wrap{position:relative;zoom:1;white-space:nowrap;} +.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:21px;} +.x-form-field-wrap .x-form-date-trigger{background-image:url(../images/default/form/date-trigger.gif);cursor:pointer;} +.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-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:#fee;border:1px solid #ff7870;} +.x-editor{visibility:hidden;padding:0;margin:0;} +.x-editor .x-form-check-wrap,.x-editor .x-form-radio-wrap{background:#fff;padding:3px;} +.x-editor .x-form-checkbox{height:13px;} +.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;zoom:1;} +.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:#e00;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-left label{text-align:left;} +.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-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-fieldset{border:1px solid #B5B8C8;padding:10px;margin-bottom:10px;display:block;} +.x-fieldset legend{font:bold 11px tahoma,arial,helvetica,sans-serif;color:#15428b;} +.ext-ie .x-fieldset legend{margin-bottom:10px;} +.ext-ie .x-fieldset{padding-top:0;padding-bottom:10px;} +.x-fieldset legend .x-tool-toggle{margin-right:3px;margin-left:0;float:left!important;} +.x-fieldset legend input{margin-right:3px;float:left!important;height:13px;width:13px;} +fieldset.x-panel-collapsed{padding-bottom:0!important;border-width:1px 0 0 0!important;} +fieldset.x-panel-collapsed .x-fieldset-bwrap{visibility:hidden;position:absolute;left:-1000px;top:-1000px;} +.ext-ie .x-fieldset-bwrap{zoom:1;} +.ext-ie td .x-form-text{position:relative;top:-1px;} +.x-fieldset-noborder{border:0 none transparent;} +.x-fieldset-noborder legend{margin-left:-3px;} +.ext-ie .x-fieldset-noborder legend{position:relative;margin-bottom:23px;} +.ext-ie .x-fieldset-noborder legend span{position:absolute;left:-5px;} +.ext-gecko .x-window-body .x-form-item{-moz-outline:none;overflow:auto;} +.ext-gecko .x-form-item{-moz-outline:none;} +.x-hide-label label.x-form-item-label{display:none;} +.x-hide-label .x-form-element{padding-left:0!important;} +.x-fieldset{overflow:hidden;} +.x-fieldset-bwrap{overflow:hidden;zoom:1;} +.x-fieldset-body{overflow:hidden;} + +.x-btn{font:normal 11px tahoma,verdana,helvetica;cursor:pointer;white-space:nowrap;} +.x-btn button{border:0 none;background:transparent;font:normal 11px tahoma,verdana,helvetica;padding-left:3px;padding-right:3px;cursor:pointer;margin:0;overflow:visible;width:auto;-moz-outline:0 none;outline:0 none;} +* html .ext-ie .x-btn button{width:1px;} +.ext-gecko .x-btn button{padding-left:0;padding-right:0;} +.ext-ie .x-btn button{padding-top:2px;} +.x-btn-icon .x-btn-center .x-btn-text{background-position:center;background-repeat:no-repeat;height:16px;width:16px;cursor:pointer;white-space:nowrap;padding:0;} +.x-btn-icon .x-btn-center{padding:1px;} +.x-btn em{font-style:normal;font-weight:normal;} +.x-btn-text-icon .x-btn-center .x-btn-text{background-position:0 2px;background-repeat:no-repeat;padding-left:18px;padding-top:3px;padding-bottom:2px;padding-right:0;} +.ext-gecko3 .x-btn-text-icon .x-btn-center .x-btn-text{padding-top:2px;} +.x-btn-left,.x-btn-right{font-size:1px;line-height:1px;} +.x-btn-left{width:3px;height:21px;background:url(../images/default/button/btn-sprite.gif) no-repeat 0 0;} +.x-btn-right{width:3px;height:21px;background:url(../images/default/button/btn-sprite.gif) no-repeat 0 -21px;} +.x-btn-left i,.x-btn-right i{display:block;width:3px;overflow:hidden;font-size:1px;line-height:1px;} +.x-btn-center{background:url(../images/default/button/btn-sprite.gif) repeat-x 0 -42px;vertical-align:middle;text-align:center;padding:0 5px;cursor:pointer;white-space:nowrap;} +.x-btn-over .x-btn-left{background-position:0 -63px;} +.x-btn-over .x-btn-right{background-position:0 -84px;} +.x-btn-over .x-btn-center{background-position:0 -105px;} +.x-btn-click .x-btn-center,.x-btn-menu-active .x-btn-center{background-position:0 -126px;} +.x-btn-disabled *{color:gray!important;cursor:default!important;} +.x-btn-menu-text-wrap .x-btn-center{padding:0 3px;} +.ext-gecko .x-btn-menu-text-wrap .x-btn-center{padding:0 1px;} +.x-btn-menu-arrow-wrap .x-btn-center{padding:0;} +.x-btn-menu-arrow-wrap .x-btn-center button{width:12px!important;height:21px;padding:0!important;display:block;background:transparent url(../images/default/button/btn-arrow.gif) no-repeat left 3px;} +.x-btn-with-menu .x-btn-center{padding-right:2px!important;} +.x-btn-with-menu .x-btn-center em{display:block;background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat right 0;padding-right:10px;} +.x-btn-text-icon .x-btn-with-menu .x-btn-center em{display:block;background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat right 3px;padding-right:10px;} +.x-btn-pressed .x-btn-left{background:url(../images/default/button/btn-sprite.gif) no-repeat 0 -63px;} +.x-btn-pressed .x-btn-right{background:url(../images/default/button/btn-sprite.gif) no-repeat 0 -84px;} +.x-btn-pressed .x-btn-center{background:url(../images/default/button/btn-sprite.gif) repeat-x 0 -126px;} + +.x-toolbar{border-color:#a9bfd3;border-style:solid;border-width:0 0 1px 0;display:block;padding:2px;background:#d0def0 url(../images/default/toolbar/bg.gif) repeat-x top left;position:relative;zoom:1;} +.x-toolbar .x-item-disabled .x-btn-icon{opacity:.35;-moz-opacity:.35;filter:alpha(opacity=35);} +.x-toolbar td{vertical-align:middle;} +.mso .x-toolbar,.x-grid-mso .x-toolbar{border:0 none;background:url(../images/default/grid/mso-hd.gif);} +.x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label{white-space:nowrap;font:normal 11px tahoma,arial,helvetica,sans-serif;} +.x-toolbar .x-item-disabled{color:gray;cursor:default;opacity:.6;-moz-opacity:.6;filter:alpha(opacity=60);} +.x-toolbar .x-item-disabled *{color:gray;cursor:default;} +.x-toolbar .x-btn-left{background:none;} +.x-toolbar .x-btn-right{background:none;} +.x-toolbar .x-btn-center{background:none;padding:0;} +.x-toolbar .x-btn-menu-text-wrap .x-btn-center button{padding-right:2px;} +.ext-gecko .x-toolbar .x-btn-menu-text-wrap .x-btn-center button{padding-right:0;} +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button{padding:0 2px;} +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button{width:12px;background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat 0 3px;} +.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button{width:12px;background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat 0 3px;} +.x-toolbar .x-btn-over .x-btn-menu-arrow-wrap .x-btn-center button{background-position:0 -47px;} +.x-toolbar .x-btn-over .x-btn-left{background:url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 0;} +.x-toolbar .x-btn-over .x-btn-right{background:url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -21px;} +.x-toolbar .x-btn-over .x-btn-center{background:url(../images/default/toolbar/tb-btn-sprite.gif) repeat-x 0 -42px;} +.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{background:url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -63px;} +.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{background:url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -84px;} +.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{background:url(../images/default/toolbar/tb-btn-sprite.gif) repeat-x 0 -105px;} +.x-toolbar .x-btn-with-menu .x-btn-center em{padding-right:8px;} +.x-toolbar .ytb-text{padding:2px;} +.x-toolbar .ytb-sep{background-image:url(../images/default/grid/grid-blue-split.gif);background-position:center;background-repeat:no-repeat;display:block;font-size:1px;height:16px;width:4px;overflow:hidden;cursor:default;margin:0 2px 0;border:0;} +.x-toolbar .ytb-spacer{width:2px;} +.x-tbar-page-number{width:24px;height:14px;} +.x-tbar-page-first{background-image:url(../images/default/grid/page-first.gif)!important;} +.x-tbar-loading{background-image:url(../images/default/grid/refresh.gif)!important;} +.x-tbar-page-last{background-image:url(../images/default/grid/page-last.gif)!important;} +.x-tbar-page-next{background-image:url(../images/default/grid/page-next.gif)!important;} +.x-tbar-page-prev{background-image:url(../images/default/grid/page-prev.gif)!important;} +.x-item-disabled .x-tbar-loading{background-image:url(../images/default/grid/loading.gif)!important;} +.x-item-disabled .x-tbar-page-first{background-image:url(../images/default/grid/page-first-disabled.gif)!important;} +.x-item-disabled .x-tbar-page-last{background-image:url(../images/default/grid/page-last-disabled.gif)!important;} +.x-item-disabled .x-tbar-page-next{background-image:url(../images/default/grid/page-next-disabled.gif)!important;} +.x-item-disabled .x-tbar-page-prev{background-image:url(../images/default/grid/page-prev-disabled.gif)!important;} +.x-paging-info{position:absolute;top:5px;right:8px;color:#444;} +.x-statusbar .x-status-text{height:21px;line-height:21px;padding:0 4px;cursor:default;} +.x-statusbar .x-status-busy{padding-left:25px;background:transparent url(../images/default/grid/loading.gif) no-repeat 3px 3px;} +.x-statusbar .x-status-text-panel{border-top:1px solid #99BBE8;border-right:1px solid #fff;border-bottom:1px solid #fff;border-left:1px solid #99BBE8;padding:2px 8px 2px 5px;} + +.x-resizable-handle{position:absolute;z-index:100;font-size:1px;line-height:6px;overflow:hidden;background:white;filter:alpha(opacity=0);opacity:0;zoom:1;} +.x-resizable-handle-east{width:6px;cursor:e-resize;right:0;top:0;height:100%;} +.ext-ie .x-resizable-handle-east{margin-right:-1px;} +.x-resizable-handle-south{width:100%;cursor:s-resize;left:0;bottom:0;height:6px;} +.ext-ie .x-resizable-handle-south{margin-bottom:-1px;} +.x-resizable-handle-west{width:6px;cursor:w-resize;left:0;top:0;height:100%;} +.x-resizable-handle-north{width:100%;cursor:n-resize;left:0;top:0;height:6px;} +.x-resizable-handle-southeast{width:6px;cursor:se-resize;right:0;bottom:0;height:6px;z-index:101;} +.x-resizable-handle-northwest{width:6px;cursor:nw-resize;left:0;top:0;height:6px;z-index:101;} +.x-resizable-handle-northeast{width:6px;cursor:ne-resize;right:0;top:0;height:6px;z-index:101;} +.x-resizable-handle-southwest{width:6px;cursor:sw-resize;left:0;bottom:0;height:6px;z-index:101;} +.x-resizable-over .x-resizable-handle,.x-resizable-pinned .x-resizable-handle{filter:alpha(opacity=100);opacity:1;} +.x-resizable-over .x-resizable-handle-east,.x-resizable-pinned .x-resizable-handle-east{background:url(../images/default/sizer/e-handle.gif);background-position:left;} +.x-resizable-over .x-resizable-handle-west,.x-resizable-pinned .x-resizable-handle-west{background:url(../images/default/sizer/e-handle.gif);background-position:left;} +.x-resizable-over .x-resizable-handle-south,.x-resizable-pinned .x-resizable-handle-south{background:url(../images/default/sizer/s-handle.gif);background-position:top;} +.x-resizable-over .x-resizable-handle-north,.x-resizable-pinned .x-resizable-handle-north{background:url(../images/default/sizer/s-handle.gif);background-position:top;} +.x-resizable-over .x-resizable-handle-southeast,.x-resizable-pinned .x-resizable-handle-southeast{background:url(../images/default/sizer/se-handle.gif);background-position:top left;} +.x-resizable-over .x-resizable-handle-northwest,.x-resizable-pinned .x-resizable-handle-northwest{background:url(../images/default/sizer/nw-handle.gif);background-position:bottom right;} +.x-resizable-over .x-resizable-handle-northeast,.x-resizable-pinned .x-resizable-handle-northeast{background:url(../images/default/sizer/ne-handle.gif);background-position:bottom left;} +.x-resizable-over .x-resizable-handle-southwest,.x-resizable-pinned .x-resizable-handle-southwest{background:url(../images/default/sizer/sw-handle.gif);background-position:top right;} +.x-resizable-proxy{border:1px dashed #3b5a82;position:absolute;overflow:hidden;display:none;left:0;top:0;z-index:50000;} +.x-resizable-overlay{width:100%;height:100%;display:none;position:absolute;left:0;top:0;background:white;z-index:200000;-moz-opacity:0;opacity:0;filter:alpha(opacity=0);} + + .x-grid3{position:relative;overflow:hidden;background-color:#fff;} +.x-grid-panel .x-panel-body{overflow:hidden!important;} +.x-grid-panel .x-panel-mc .x-panel-body{border:1px solid #99bbe8;} +.x-grid3 table{table-layout:fixed;} +.x-grid3-viewport{overflow:hidden;} +.x-grid3-hd-row td,.x-grid3-row td,.x-grid3-summary-row td{font:normal 11px arial,tahoma,helvetica,sans-serif;-moz-outline:none;-moz-user-focus:normal;} +.x-grid3-row td,.x-grid3-summary-row td{line-height:13px;vertical-align:top;padding-left:1px;padding-right:1px;-moz-user-select:none;} +.x-grid3-hd-row td{line-height:15px;vertical-align:middle;border-left:1px solid #eee;border-right:1px solid #d0d0d0;} +.x-grid3-hd-row .x-grid3-marker-hd{padding:3px;} +.x-grid3-row .x-grid3-marker{padding:3px;} +.x-grid3-cell-inner,.x-grid3-hd-inner{overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;padding:3px 3px 3px 5px;white-space:nowrap;} +.x-grid3-hd-inner{position:relative;cursor:inherit;padding:4px 3px 4px 5px;} +.x-grid3-row-body{white-space:normal;} +.x-grid3-body-cell{-moz-outline:0 none;outline:0 none;} +.ext-ie .x-grid3-cell-inner,.ext-ie .x-grid3-hd-inner{width:100%;} +.ext-strict .x-grid3-cell-inner,.ext-strict .x-grid3-hd-inner{width:auto;} +.x-grid-row-loading{background:#fff url(../images/default/shared/loading-balls.gif) no-repeat center center;} +.x-grid-page{overflow:hidden;} +.x-grid3-row{cursor:default;border:1px solid #ededed;border-top-color:#fff;width:100%;} +.x-grid3-row-alt{background-color:#fafafa;} +.x-grid3-row-over{border:1px solid #ddd;background:#efefef url(../images/default/grid/row-over.gif) repeat-x left top;} +.x-grid3-resize-proxy{width:1px;left:0;background-color:#777;cursor:e-resize;cursor:col-resize;position:absolute;top:0;height:100px;overflow:hidden;visibility:hidden;border:0 none;z-index:7;} +.x-grid3-resize-marker{width:1px;left:0;background-color:#777;position:absolute;top:0;height:100px;overflow:hidden;visibility:hidden;border:0 none;z-index:7;} +.x-grid3-focus{position:absolute;left:0;top:0;width:1px;height:1px;line-height:1px;font-size:1px;-moz-outline:0 none;outline:0 none;-moz-user-select:text;-khtml-user-select:text;} +.x-grid3-header{background:#f9f9f9 url(../images/default/grid/grid3-hrow.gif) repeat-x 0 bottom;cursor:default;zoom:1;padding:1px 0 0 0;} +.x-grid3-header-pop{border-left:1px solid #d0d0d0;float:right;clear:none;} +.x-grid3-header-pop-inner{border-left:1px solid #eee;width:14px;height:19px;background:transparent url(../images/default/grid/hd-pop.gif) no-repeat center center;} +.ext-ie .x-grid3-header-pop-inner{width:15px;} +.ext-strict .x-grid3-header-pop-inner{width:14px;} +.x-grid3-header-inner{overflow:hidden;zoom:1;float:left;} +.x-grid3-header-offset{padding-left:1px;width:10000px;} +td.x-grid3-hd-over,td.sort-desc,td.sort-asc,td.x-grid3-hd-menu-open{border-left:1px solid #aaccf6;border-right:1px solid #aaccf6;} +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{background:#ebf3fd url(../images/default/grid/grid3-hrow-over.gif) repeat-x left bottom;} +.x-grid3-sort-icon{background-repeat:no-repeat;display:none;height:4px;width:13px;margin-left:3px;vertical-align:middle;} +.sort-asc .x-grid3-sort-icon{background-image:url(../images/default/grid/sort_asc.gif);display:inline;} +.sort-desc .x-grid3-sort-icon{background-image:url(../images/default/grid/sort_desc.gif);display:inline;} +.ext-strict .ext-ie .x-grid3-header-inner{position:relative;} +.ext-strict .ext-ie6 .x-grid3-hd{position:relative;} +.ext-strict .ext-ie6 .x-grid3-hd-inner{position:static;} +.x-grid3-body{zoom:1;} +.x-grid3-scroller{overflow:auto;zoom:1;position:relative;} +.x-grid3-cell-text,.x-grid3-hd-text{display:block;padding:3px 5px 3px 5px;-moz-user-select:none;-khtml-user-select:none;color:black;} +.x-grid3-split{background-image:url(../images/default/grid/grid-split.gif);background-position:center;background-repeat:no-repeat;cursor:e-resize;cursor:col-resize;display:block;font-size:1px;height:16px;overflow:hidden;position:absolute;top:2px;width:6px;z-index:3;} +.x-grid3-hd-text{color:#15428b;} +.x-dd-drag-proxy .x-grid3-hd-inner{background:#ebf3fd url(../images/default/grid/grid3-hrow-over.gif) repeat-x left bottom;width:120px;padding:3px;border:1px solid #aaccf6;overflow:hidden;} +.col-move-top,.col-move-bottom{width:9px;height:9px;position:absolute;top:0;line-height:1px;font-size:1px;overflow:hidden;visibility:hidden;z-index:20000;} +.col-move-top{background:transparent url(../images/default/grid/col-move-top.gif) no-repeat left top;} +.col-move-bottom{background:transparent url(../images/default/grid/col-move-bottom.gif) no-repeat left top;} +.x-grid3-row-selected{background:#DFE8F6!important;border:1px dotted #a3bae9;} +.x-grid3-cell-selected{background-color:#B8CFEE!important;color:black;} +.x-grid3-cell-selected span{color:black!important;} +.x-grid3-cell-selected .x-grid3-cell-text{color:black;} +.x-grid3-locked td.x-grid3-row-marker,.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{background:#ebeadb url(../images/default/grid/grid-hrow.gif) repeat-x 0 bottom!important;vertical-align:middle!important;color:black;padding:0;border-top:1px solid white;border-bottom:none!important;border-right:1px solid #6fa0df!important;text-align:center;} +.x-grid3-locked td.x-grid3-row-marker div,.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker div{padding:0 4px;color:#15428b!important;text-align:center;} +.x-grid3-dirty-cell{background:transparent url(../images/default/grid/dirty.gif) no-repeat 0 0;} +.x-grid3-topbar,.x-grid3-bottombar{font:normal 11px arial,tahoma,helvetica,sans-serif;overflow:hidden;display:none;zoom:1;position:relative;} +.x-grid3-topbar .x-toolbar{border-right:0 none;} +.x-grid3-bottombar .x-toolbar{border-right:0 none;border-bottom:0 none;border-top:1px solid #a9bfd3;} +.x-props-grid .x-grid3-cell{padding:1px;} +.x-props-grid .x-grid3-td-name .x-grid3-cell-inner{background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y -16px!important;padding-left:12px;color:black!important;} +.x-props-grid .x-grid3-body .x-grid3-td-name{padding:1px;padding-right:0;background:white!important;border:0 none;border-right:1px solid #eee;} +.xg-hmenu-sort-asc .x-menu-item-icon{background-image:url(../images/default/grid/hmenu-asc.gif);} +.xg-hmenu-sort-desc .x-menu-item-icon{background-image:url(../images/default/grid/hmenu-desc.gif);} +.xg-hmenu-lock .x-menu-item-icon{background-image:url(../images/default/grid/hmenu-lock.gif);} +.xg-hmenu-unlock .x-menu-item-icon{background-image:url(../images/default/grid/hmenu-unlock.gif);} +.x-grid3-col-dd{border:0 none;padding:0;background:transparent;} +.x-dd-drag-ghost .x-grid3-dd-wrap{padding:1px 3px 3px 1px;} +.x-grid3-hd{-moz-user-select:none;} +.x-grid3-hd-btn{display:none;position:absolute;width:14px;background:#c3daf9 url(../images/default/grid/grid3-hd-btn.gif) no-repeat left center;right:0;top:0;z-index:2;cursor:pointer;} +.x-grid3-hd-over .x-grid3-hd-btn,.x-grid3-hd-menu-open .x-grid3-hd-btn{display:block;} +a.x-grid3-hd-btn:hover{background-position:-14px center;} +.x-grid3-body .x-grid3-td-expander{background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y right;} +.x-grid3-body .x-grid3-td-expander .x-grid3-cell-inner{padding:0!important;height:100%;} +.x-grid3-row-expander{width:100%;height:18px;background-position:4px 2px;background-repeat:no-repeat;background-color:transparent;background-image:url(../images/default/grid/row-expand-sprite.gif);} +.x-grid3-row-collapsed .x-grid3-row-expander{background-position:4px 2px;} +.x-grid3-row-expanded .x-grid3-row-expander{background-position:-21px 2px;} +.x-grid3-row-collapsed .x-grid3-row-body{display:none!important;} +.x-grid3-row-expanded .x-grid3-row-body{display:block!important;} +.x-grid3-body .x-grid3-td-checker{background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y right;} +.x-grid3-body .x-grid3-td-checker .x-grid3-cell-inner,.x-grid3-header .x-grid3-td-checker .x-grid3-hd-inner{padding:0!important;height:100%;} +.x-grid3-row-checker,.x-grid3-hd-checker{width:100%;height:18px;background-position:2px 2px;background-repeat:no-repeat;background-color:transparent;background-image:url(../images/default/grid/row-check-sprite.gif);} +.x-grid3-row .x-grid3-row-checker{background-position:2px 2px;} +.x-grid3-row-selected .x-grid3-row-checker,.x-grid3-hd-checker-on .x-grid3-hd-checker{background-position:-23px 2px;} +.x-grid3-hd-checker{background-position:2px 3px;} +.x-grid3-hd-checker-on .x-grid3-hd-checker{background-position:-23px 3px;} +.x-grid3-body .x-grid3-td-numberer{background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y right;} +.x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner{padding:3px 5px 0 0!important;text-align:right;color:#444;} +.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer,.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander{background:transparent url(../images/default/grid/grid3-special-col-sel-bg.gif) repeat-y right;} +.x-grid3-body .x-grid3-check-col-td .x-grid3-cell-inner{padding:1px 0 0 0!important;} +.x-grid3-check-col{width:100%;height:16px;background-position:center center;background-repeat:no-repeat;background-color:transparent;background-image:url(../images/default/menu/unchecked.gif);} +.x-grid3-check-col-on{width:100%;height:16px;background-position:center center;background-repeat:no-repeat;background-color:transparent;background-image:url(../images/default/menu/checked.gif);} +.x-grid-group,.x-grid-group-body,.x-grid-group-hd{zoom:1;} +.x-grid-group-hd{border-bottom:2px solid #99bbe8;cursor:pointer;padding-top:6px;} +.x-grid-group-hd div{background:transparent url(../images/default/grid/group-expand-sprite.gif) no-repeat 3px -47px;padding:4px 4px 4px 17px;color:#3764a0;font:bold 11px tahoma,arial,helvetica,sans-serif;} +.x-grid-group-collapsed .x-grid-group-hd div{background-position:3px 3px;} +.x-grid-group-collapsed .x-grid-group-body{display:none;} +.x-group-by-icon{background-image:url(../images/default/grid/group-by.gif);} +.x-cols-icon{background-image:url(../images/default/grid/columns.gif);} +.x-show-groups-icon{background-image:url(../images/default/grid/group-by.gif);} +.ext-ie .x-grid3 .x-editor .x-form-text{position:relative;top:-1px;} +.ext-ie .x-props-grid .x-editor .x-form-text{position:static;top:0;} +.x-grid-empty{padding:10px;color:gray;font:normal 11px tahoma,arial,helvetica,sans-serif;} +.ext-ie7 .x-grid-panel .x-panel-bbar{position:relative;} + +.x-dd-drag-proxy{position:absolute;left:0;top:0;visibility:hidden;z-index:15000;} +.x-dd-drag-ghost{color:black;font:normal 11px arial,helvetica,sans-serif;-moz-opacity:0.85;opacity:.85;filter:alpha(opacity=85);border-top:1px solid #ddd;border-left:1px solid #ddd;border-right:1px solid #bbb;border-bottom:1px solid #bbb;padding:3px;padding-left:20px;background-color:white;white-space:nowrap;} +.x-dd-drag-repair .x-dd-drag-ghost{-moz-opacity:0.4;opacity:.4;filter:alpha(opacity=40);border:0 none;padding:0;background-color:transparent;} +.x-dd-drag-repair .x-dd-drop-icon{visibility:hidden;} +.x-dd-drop-icon{position:absolute;top:3px;left:3px;display:block;width:16px;height:16px;background-color:transparent;background-position:center;background-repeat:no-repeat;z-index:1;} +.x-dd-drop-nodrop .x-dd-drop-icon{background-image:url(../images/default/dd/drop-no.gif);} +.x-dd-drop-ok .x-dd-drop-icon{background-image:url(../images/default/dd/drop-yes.gif);} +.x-dd-drop-ok-add .x-dd-drop-icon{background-image:url(../images/default/dd/drop-add.gif);} +.x-view-selector{position:absolute;left:0;top:0;width:0;background:#c3daf9;border:1px dotted #39b;opacity:.5;-moz-opacity:.5;filter:alpha(opacity=50);zoom:1;} + +.x-tree .x-panel-body{background-color:#fff;} +.ext-strict .ext-ie .x-tree .x-panel-bwrap{position:relative;overflow:hidden;} +.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{border:0 none;height:18px;margin:0;padding:0;vertical-align:top;width:16px;background-repeat:no-repeat;} +.x-tree-node-collapsed .x-tree-node-icon,.x-tree-node-expanded .x-tree-node-icon,.x-tree-node-leaf .x-tree-node-icon{border:0 none;height:18px;margin:0;padding:0;vertical-align:top;width:16px;background-position:center;background-repeat:no-repeat;} +.ext-ie .x-tree-node-indent img,.ext-ie .x-tree-node-icon,.ext-ie .x-tree-ec-icon{vertical-align:middle!important;} +.x-tree-node-expanded .x-tree-node-icon{background-image:url(../images/default/tree/folder-open.gif);} +.x-tree-node-leaf .x-tree-node-icon{background-image:url(../images/default/tree/leaf.gif);} +.x-tree-node-collapsed .x-tree-node-icon{background-image:url(../images/default/tree/folder.gif);} +.ext-ie input.x-tree-node-cb{width:15px;height:15px;} +input.x-tree-node-cb{margin-left:1px;} +.ext-ie input.x-tree-node-cb{margin-left:0;} +.x-tree-noicon .x-tree-node-icon{width:0;height:0;} +.x-tree-node-loading .x-tree-node-icon{background-image:url(../images/default/tree/loading.gif)!important;} +.x-tree-node-loading a span{font-style:italic;color:#444;} +.ext-ie .x-tree-node-el input{width:15px;height:15px;} +.x-tree-lines .x-tree-elbow{background-image:url(../images/default/tree/elbow.gif);} +.x-tree-lines .x-tree-elbow-plus{background-image:url(../images/default/tree/elbow-plus.gif);} +.x-tree-lines .x-tree-elbow-minus{background-image:url(../images/default/tree/elbow-minus.gif);} +.x-tree-lines .x-tree-elbow-end{background-image:url(../images/default/tree/elbow-end.gif);} +.x-tree-lines .x-tree-elbow-end-plus{background-image:url(../images/default/tree/elbow-end-plus.gif);} +.x-tree-lines .x-tree-elbow-end-minus{background-image:url(../images/default/tree/elbow-end-minus.gif);} +.x-tree-lines .x-tree-elbow-line{background-image:url(../images/default/tree/elbow-line.gif);} +.x-tree-no-lines .x-tree-elbow{background:transparent;} +.x-tree-no-lines .x-tree-elbow-plus{background-image:url(../images/default/tree/elbow-plus-nl.gif);} +.x-tree-no-lines .x-tree-elbow-minus{background-image:url(../images/default/tree/elbow-minus-nl.gif);} +.x-tree-no-lines .x-tree-elbow-end{background:transparent;} +.x-tree-no-lines .x-tree-elbow-end-plus{background-image:url(../images/default/tree/elbow-end-plus-nl.gif);} +.x-tree-no-lines .x-tree-elbow-end-minus{background-image:url(../images/default/tree/elbow-end-minus-nl.gif);} +.x-tree-no-lines .x-tree-elbow-line{background:transparent;} +.x-tree-arrows .x-tree-elbow{background:transparent;} +.x-tree-arrows .x-tree-elbow-plus{background:transparent url(../images/default/tree/arrows.gif) no-repeat 0 0;} +.x-tree-arrows .x-tree-elbow-minus{background:transparent url(../images/default/tree/arrows.gif) no-repeat -16px 0;} +.x-tree-arrows .x-tree-elbow-end{background:transparent;} +.x-tree-arrows .x-tree-elbow-end-plus{background:transparent url(../images/default/tree/arrows.gif) no-repeat 0 0;} +.x-tree-arrows .x-tree-elbow-end-minus{background:transparent url(../images/default/tree/arrows.gif) no-repeat -16px 0;} +.x-tree-arrows .x-tree-elbow-line{background:transparent;} +.x-tree-arrows .x-tree-ec-over .x-tree-elbow-plus{background-position:-32px 0;} +.x-tree-arrows .x-tree-ec-over .x-tree-elbow-minus{background-position:-48px 0;} +.x-tree-arrows .x-tree-ec-over .x-tree-elbow-end-plus{background-position:-32px 0;} +.x-tree-arrows .x-tree-ec-over .x-tree-elbow-end-minus{background-position:-48px 0;} +.x-tree-elbow-plus,.x-tree-elbow-minus,.x-tree-elbow-end-plus,.x-tree-elbow-end-minus{cursor:pointer;} +.ext-ie ul.x-tree-node-ct{font-size:0;line-height:0;zoom:1;} +.x-tree-node{color:black;font:normal 11px arial,tahoma,helvetica,sans-serif;white-space:nowrap;} +.x-tree-node-el{line-height:18px;cursor:pointer;} +.x-tree-node a,.x-dd-drag-ghost a{text-decoration:none;color:black;-khtml-user-select:none;-moz-user-select:none;-kthml-user-focus:normal;-moz-user-focus:normal;-moz-outline:0 none;outline:0 none;} +.x-tree-node a span,.x-dd-drag-ghost a span{text-decoration:none;color:black;padding:1px 3px 1px 2px;} +.x-tree-node .x-tree-node-disabled a span{color:gray!important;} +.x-tree-node .x-tree-node-disabled .x-tree-node-icon{-moz-opacity:0.5;opacity:.5;filter:alpha(opacity=50);} +.x-tree-node .x-tree-node-inline-icon{background:transparent;} +.x-tree-node a:hover,.x-dd-drag-ghost a:hover{text-decoration:none;} +.x-tree-node div.x-tree-drag-insert-below{border-bottom:1px dotted #36c;} +.x-tree-node div.x-tree-drag-insert-above{border-top:1px dotted #36c;} +.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below{border-bottom:0 none;} +.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above{border-top:0 none;} +.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a{border-bottom:2px solid #36c;} +.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a{border-top:2px solid #36c;} +.x-tree-node .x-tree-drag-append a span{background:#ddd;border:1px dotted gray;} +.x-tree-node .x-tree-node-over{background-color:#eee;} +.x-tree-node .x-tree-selected{background-color:#d9e8fb;} +.x-dd-drag-ghost .x-tree-node-indent,.x-dd-drag-ghost .x-tree-ec-icon{display:none!important;} +.x-tree-drop-ok-append .x-dd-drop-icon{background-image:url(../images/default/tree/drop-add.gif);} +.x-tree-drop-ok-above .x-dd-drop-icon{background-image:url(../images/default/tree/drop-over.gif);} +.x-tree-drop-ok-below .x-dd-drop-icon{background-image:url(../images/default/tree/drop-under.gif);} +.x-tree-drop-ok-between .x-dd-drop-icon{background-image:url(../images/default/tree/drop-between.gif);} +.x-tree-root-ct{zoom:1;} + +.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/shared/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;width:130px;} +.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:#aaa;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:#eee;color:#bbb;} +.x-date-mmenu{background:#eee!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:#36c #005 #005 #36c;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-tip{position:absolute;top:0;left:0;visibility:hidden;z-index:20000;border:0 none;} +.x-tip .x-tip-close{background-image:url(../images/default/qtip/close.gif);height:15px;float:right;width:15px;margin:0 0 2px 2px;cursor:pointer;display:none;} +.x-tip .x-tip-tc{background:transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -62px;padding-top:3px;overflow:hidden;zoom:1;} +.x-tip .x-tip-tl{background:transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 0;padding-left:6px;overflow:hidden;zoom:1;} +.x-tip .x-tip-tr{background:transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right 0;padding-right:6px;overflow:hidden;zoom:1;} +.x-tip .x-tip-bc{background:transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -121px;height:3px;overflow:hidden;} +.x-tip .x-tip-bl{background:transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -59px;padding-left:6px;zoom:1;} +.x-tip .x-tip-br{background:transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right -59px;padding-right:6px;zoom:1;} +.x-tip .x-tip-mc{border:0 none;font:normal 11px tahoma,arial,helvetica,sans-serif;} +.x-tip .x-tip-ml{background:#fff url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -124px;padding-left:6px;zoom:1;} +.x-tip .x-tip-mr{background:transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right -124px;padding-right:6px;zoom:1;} +.ext-ie .x-tip .x-tip-header,.ext-ie .x-tip .x-tip-tc{font-size:0;line-height:0;} +.x-tip .x-tip-header-text{font:bold 11px tahoma,arial,helvetica,sans-serif;padding:0;margin:0 0 2px 0;color:#444;} +.x-tip .x-tip-body{font:normal 11px tahoma,arial,helvetica,sans-serif;margin:0!important;line-height:14px;color:#444;padding:0;} +.x-tip .x-tip-body .loading-indicator{margin:0;} +.x-tip-draggable .x-tip-header,.x-tip-draggable .x-tip-header-text{cursor:move;} +.x-form-invalid-tip .x-tip-tc{background:url(../images/default/form/error-tip-corners.gif) repeat-x 0 -12px;padding-top:6px;} +.x-form-invalid-tip .x-tip-tl{background-image:url(../images/default/form/error-tip-corners.gif);} +.x-form-invalid-tip .x-tip-tr{background-image:url(../images/default/form/error-tip-corners.gif);} +.x-form-invalid-tip .x-tip-bc{background:url(../images/default/form/error-tip-corners.gif) repeat-x 0 -18px;height:6px;} +.x-form-invalid-tip .x-tip-bl{background:url(../images/default/form/error-tip-corners.gif) no-repeat 0 -6px;} +.x-form-invalid-tip .x-tip-br{background:url(../images/default/form/error-tip-corners.gif) no-repeat right -6px;} +.x-form-invalid-tip .x-tip-ml{background-image:url(../images/default/form/error-tip-corners.gif);} +.x-form-invalid-tip .x-tip-mr{background-image:url(../images/default/form/error-tip-corners.gif);} +.x-form-invalid-tip .x-tip-body{padding:2px;} +.x-form-invalid-tip .x-tip-body{padding-left:24px;background:transparent url(../images/default/form/exclamation.gif) no-repeat 2px 2px;} + +.x-menu{border:1px solid #718bb7;z-index:15000;zoom:1;background:#f0f0f0 url(../images/default/menu/menu.gif) repeat-y;padding:2px;} +.x-menu a{text-decoration:none!important;} +.ext-ie .x-menu{zoom:1;overflow:hidden;} +.x-menu-list{background:transparent;border:0 none;} +.x-menu li{line-height:100%;} +.x-menu li.x-menu-sep-li{font-size:1px;line-height:1px;} +.x-menu-list-item{font:normal 11px tahoma,arial,sans-serif;white-space:nowrap;-moz-user-select:none;-khtml-user-select:none;display:block;padding:1px;} +.x-menu-item-arrow{background:transparent url(../images/default/menu/menu-parent.gif) no-repeat right;} +.x-menu-sep{display:block;font-size:1px;line-height:1px;margin:2px 3px;background-color:#e0e0e0;border-bottom:1px solid #fff;overflow:hidden;} +.x-menu-focus{position:absolute;left:-1px;top:-1px;width:1px;height:1px;line-height:1px;font-size:1px;-moz-outline:0 none;outline:0 none;-moz-user-select:text;-khtml-user-select:text;overflow:hidden;display:block;} +.x-menu a.x-menu-item{display:block;line-height:16px;padding:3px 21px 3px 3px;white-space:nowrap;text-decoration:none;color:#222;-moz-outline:0 none;outline:0 none;cursor:pointer;} +.x-menu-item-active{background:#ebf3fd url(../images/default/menu/item-over.gif) repeat-x left bottom;border:1px solid #aaccf6;padding:0;} +.x-menu-item-active a.x-menu-item{color:#233d6d;} +.x-menu-item-icon{border:0 none;height:16px;padding:0;vertical-align:top;width:16px;margin:0 8px 0 0;background-position:center;} +.x-menu-check-item .x-menu-item-icon{background:transparent url(../images/default/menu/unchecked.gif) no-repeat center;} +.x-menu-item-checked .x-menu-item-icon{background-image:url(../images/default/menu/checked.gif);} +.x-menu-group-item .x-menu-item-icon{background:transparent;} +.x-menu-item-checked .x-menu-group-item .x-menu-item-icon{background:transparent url(../images/default/menu/group-checked.gif) no-repeat center;} +.x-menu-plain{background:#fff!important;} +.x-menu-date-item{padding:0;} +.x-menu .x-color-palette,.x-menu .x-date-picker{margin-left:26px;margin-right:4px;} +.x-menu .x-date-picker{border:1px solid #a3bad9;margin-top:2px;margin-bottom:2px;} +.x-menu-plain .x-color-palette,.x-menu-plain .x-date-picker{margin:0;border:0 none;} +.x-date-menu{padding:0!important;} +.x-cycle-menu .x-menu-item-checked{border:1px dotted #a3bae9!important;background:#DFE8F6;padding:0;} + + .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 4px 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:11px;padding-top:2px;font-family:"monotype","courier new",sans-serif;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 .x-tool-toggle{background-position:0 -75px;} +#x-debug-browser .x-tool-toggle-over{background-position:-15px -75px;} +#x-debug-browser.x-panel-collapsed .x-tool-toggle{background-position:0 -60px;} +#x-debug-browser.x-panel-collapsed .x-tool-toggle-over{background-position:-15px -60px;} + +.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{border:1px dotted #a3bae9!important;background:#DFE8F6;cursor:pointer;} +.x-combo-noedit{cursor:pointer;} +.x-combo-list .x-toolbar{border-top:1px solid #98c0f4;border-bottom:0 none;} +.x-combo-list-small .x-combo-list-item{font:normal 11px tahoma,arial,helvetica,sans-serif;} + +.x-panel{border-style:solid;border-color:#99bbe8;border-width:0;} +.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;line-height:15px;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;position:relative;} +.x-panel-bbar .x-toolbar{border:1px solid #99bbe8;border-top:0 none;overflow:hidden;padding:2px;} +.x-panel-tbar .x-toolbar{border:1px solid #99bbe8;border-top:0 none;overflow:hidden;padding:2px;} +.x-panel-tbar-noheader .x-toolbar,.x-panel-mc .x-panel-tbar .x-toolbar{border-top:1px solid #99bbe8;border-bottom:0 none;} +.x-panel-body-noheader,.x-panel-mc .x-panel-body{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/top-bottom.gif) repeat-x 0 0;overflow:hidden;} +.ext-strict .ext-ie7 .x-panel-tc{overflow:visible;} +.x-panel-tl{background:transparent url(../images/default/panel/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/corners-sprite.gif) no-repeat right 0;zoom:1;padding-right:6px;} +.x-panel-bc{background:transparent url(../images/default/panel/top-bottom.gif) repeat-x 0 bottom;zoom:1;} +.x-panel-bc .x-panel-footer{zoom:1;} +.x-panel-bl{background:transparent url(../images/default/panel/corners-sprite.gif) no-repeat 0 bottom;padding-left:6px;zoom:1;} +.x-panel-br{background:transparent url(../images/default/panel/corners-sprite.gif) no-repeat right bottom;padding-right:6px;zoom:1;} +.x-panel-mc{border:0 none;padding:0;margin:0;font:normal 11px tahoma,arial,helvetica,sans-serif;padding-top:6px;background:#dfe8f6;} +.x-panel-mc .x-panel-body{background:transparent;border:0 none;} +.x-panel-ml{background:#fff url(../images/default/panel/left-right.gif) repeat-y 0 0;padding-left:6px;zoom:1;} +.x-panel-mr{background:transparent url(../images/default/panel/left-right.gif) repeat-y right 0;padding-right:6px;zoom:1;} +.x-panel-bc .x-panel-footer{padding-bottom:6px;} +.x-panel-nofooter .x-panel-bc,.x-panel-nofooter .x-window-bc{height:6px;font-size:0;line-height:0;} +.x-panel-bwrap{overflow:hidden;zoom:1;left:0;top:0;} +.x-panel-body{overflow:hidden;zoom:1;} +.x-panel-collapsed .x-resizable-handle{display:none;} +.ext-gecko .x-panel-animated div{overflow:hidden!important;} +.x-plain-body{overflow:hidden;} +.x-plain-bbar .x-toolbar{overflow:hidden;padding:2px;} +.x-plain-tbar .x-toolbar{overflow:hidden;padding:2px;} +.x-plain-bwrap{overflow:hidden;zoom:1;} +.x-plain{overflow:hidden;} +.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-tool-minus{background-position:0 -255px;} +.x-tool-minus-over{background-position:-15px -255px;} +.x-tool-plus{background-position:0 -240px;} +.x-tool-plus-over{background-position:-15px -240px;} +.x-tool-search{background-position:0 -270px;} +.x-tool-search-over{background-position:-15px -270px;} +.x-tool-save{background-position:0 -285px;} +.x-tool-save-over{background-position:-15px -285px;} +.x-tool-help{background-position:0 -300px;} +.x-tool-help-over{background-position:-15px -300px;} +.x-tool-print{background-position:0 -315px;} +.x-tool-print-over{background-position:-15px -315px;} +.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 #99bbe8;border-top:0 none;display:block;} +.x-panel-ghost *{cursor:move!important;} +.x-panel-dd-spacer{border:2px dashed #99bbe8;} +.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-window{zoom:1;} +.x-window .x-resizable-handle{opacity:0;-moz-opacity:0;filter:alpha(opacity=0);} +.x-window-proxy{background:#C7DFFC;border:1px solid #99bbe8;z-index:12000;overflow:hidden;position:absolute;left:0;top:0;display:none;opacity:.5;-moz-opacity:.5;filter:alpha(opacity=50);} +.x-window-header{overflow:hidden;zoom:1;} +.x-window-bwrap{z-index:1;position:relative;zoom:1;left:0;top:0;} +.x-window-tl .x-window-header{color:#15428b;font:bold 11px tahoma,arial,verdana,sans-serif;padding:5px 0 4px 0;} +.x-window-header-text{cursor:pointer;} +.x-window-tc{background:transparent url(../images/default/window/top-bottom.png) repeat-x 0 0;overflow:hidden;zoom:1;} +.x-window-tl{background:transparent url(../images/default/window/left-corners.png) no-repeat 0 0;padding-left:6px;zoom:1;z-index:1;position:relative;} +.x-window-tr{background:transparent url(../images/default/window/right-corners.png) no-repeat right 0;padding-right:6px;} +.x-window-bc{background:transparent url(../images/default/window/top-bottom.png) repeat-x 0 bottom;zoom:1;} +.x-window-bc .x-window-footer{padding-bottom:6px;zoom:1;font-size:0;line-height:0;} +.x-window-bl{background:transparent url(../images/default/window/left-corners.png) no-repeat 0 bottom;padding-left:6px;zoom:1;} +.x-window-br{background:transparent url(../images/default/window/right-corners.png) no-repeat right bottom;padding-right:6px;zoom:1;} +.x-window-mc{border:1px solid #99bbe8;padding:0;margin:0;font:normal 11px tahoma,arial,helvetica,sans-serif;background:#dfe8f6;} +.x-window-ml{background:transparent url(../images/default/window/left-right.png) repeat-y 0 0;padding-left:6px;zoom:1;} +.x-window-mr{background:transparent url(../images/default/window/left-right.png) repeat-y right 0;padding-right:6px;zoom:1;} +.x-window-body{overflow:hidden;} +.x-window-bwrap{overflow:hidden;} +.x-window-maximized .x-window-bl,.x-window-maximized .x-window-br,.x-window-maximized .x-window-ml,.x-window-maximized .x-window-mr,.x-window-maximized .x-window-tl,.x-window-maximized .x-window-tr{padding:0;} +.x-window-maximized .x-window-footer{padding-bottom:0;} +.x-window-maximized .x-window-tc{padding-left:3px;padding-right:3px;background-color:white;} +.x-window-maximized .x-window-mc{border-left:0 none;border-right:0 none;} +.x-window-tbar .x-toolbar,.x-window-bbar .x-toolbar{border-left:0 none;border-right:0 none;} +.x-window-bbar .x-toolbar{border-top:1px solid #99bbe8;border-bottom:0 none;} +.x-window-draggable,.x-window-draggable .x-window-header-text{cursor:move;} +.x-window-maximized .x-window-draggable,.x-window-maximized .x-window-draggable .x-window-header-text{cursor:default;} +.x-window-body{background:transparent;} +.x-panel-ghost .x-window-tl{border-bottom:1px solid #99bbe8;} +.x-panel-collapsed .x-window-tl{border-bottom:1px solid #84a0c4;} +.x-window-maximized-ct{overflow:hidden;} +.x-window-maximized .x-resizable-handle{display:none;} +.x-window-sizing-ghost ul{border:0 none!important;} +.x-dlg-focus{-moz-outline:0 none;outline:0 none;width:0;height:0;overflow:hidden;position:absolute;top:0;left:0;} +.x-dlg-mask{z-index:10000;display:none;position:absolute;top:0;left:0;-moz-opacity:0.5;opacity:.50;filter:alpha(opacity=50);background-color:#CCC;} +body.ext-ie6.x-body-masked select{visibility:hidden;} +body.ext-ie6.x-body-masked .x-window select{visibility:visible;} +.x-window-plain .x-window-mc{background:#CAD9EC;border-right:1px solid #DFE8F6;border-bottom:1px solid #DFE8F6;border-top:1px solid #a3bae9;border-left:1px solid #a3bae9;} +.x-window-plain .x-window-body{border-left:1px solid #DFE8F6;border-top:1px solid #DFE8F6;border-bottom:1px solid #a3bae9;border-right:1px solid #a3bae9;background:transparent!important;} +body.x-body-masked .x-window-plain .x-window-mc{background:#C7D6E9;} + +.x-html-editor-wrap{border:1px solid #a9bfd3;background:white;} +.x-html-editor-tb .x-btn-text{background:transparent url(../images/default/editor/tb-sprite.gif) no-repeat;} +.x-html-editor-tb .x-edit-bold .x-btn-text{background-position:0 0;} +.x-html-editor-tb .x-edit-italic .x-btn-text{background-position:-16px 0;} +.x-html-editor-tb .x-edit-underline .x-btn-text{background-position:-32px 0;} +.x-html-editor-tb .x-edit-forecolor .x-btn-text{background-position:-160px 0;} +.x-html-editor-tb .x-edit-backcolor .x-btn-text{background-position:-176px 0;} +.x-html-editor-tb .x-edit-justifyleft .x-btn-text{background-position:-112px 0;} +.x-html-editor-tb .x-edit-justifycenter .x-btn-text{background-position:-128px 0;} +.x-html-editor-tb .x-edit-justifyright .x-btn-text{background-position:-144px 0;} +.x-html-editor-tb .x-edit-insertorderedlist .x-btn-text{background-position:-80px 0;} +.x-html-editor-tb .x-edit-insertunorderedlist .x-btn-text{background-position:-96px 0;} +.x-html-editor-tb .x-edit-increasefontsize .x-btn-text{background-position:-48px 0;} +.x-html-editor-tb .x-edit-decreasefontsize .x-btn-text{background-position:-64px 0;} +.x-html-editor-tb .x-edit-sourceedit .x-btn-text{background-position:-192px 0;} +.x-html-editor-tb .x-edit-createlink .x-btn-text{background-position:-208px 0;} +.x-html-editor-tip .x-tip-bd .x-tip-bd-inner{padding:5px;padding-bottom:1px;} +.x-html-editor-tb .x-toolbar{position:static!important;} + +.x-panel-noborder .x-panel-body-noborder{border-width:0;} +.x-panel-noborder .x-panel-header-noborder{border-width:0;border-bottom:1px solid #99bbe8;} +.x-panel-noborder .x-panel-tbar-noborder .x-toolbar{border-width:0;border-bottom:1px solid #99bbe8;} +.x-panel-noborder .x-panel-bbar-noborder .x-toolbar{border-width:0;border-top:1px solid #99bbe8;} +.x-window-noborder .x-window-mc{border-width:0;} +.x-window-plain .x-window-body-noborder{border-width:0;} +.x-tab-panel-noborder .x-tab-panel-body-noborder{border-width:0;} +.x-tab-panel-noborder .x-tab-panel-header-noborder{border-top-width:0;border-left-width:0;border-right-width:0;} +.x-tab-panel-noborder .x-tab-panel-footer-noborder{border-bottom-width:0;border-left-width:0;border-right-width:0;} +.x-tab-panel-bbar-noborder .x-toolbar{border-width:0;border-top:1px solid #99bbe8;} +.x-tab-panel-tbar-noborder .x-toolbar{border-width:0;border-bottom:1px solid #99bbe8;} + +.x-border-layout-ct{background:#dfe8f6;} +.x-border-panel{position:absolute;left:0;top:0;} +.x-tool-collapse-south{background-position:0 -195px;} +.x-tool-collapse-south-over{background-position:-15px -195px;} +.x-tool-collapse-north{background-position:0 -210px;} +.x-tool-collapse-north-over{background-position:-15px -210px;} +.x-tool-collapse-west{background-position:0 -180px;} +.x-tool-collapse-west-over{background-position:-15px -180px;} +.x-tool-collapse-east{background-position:0 -165px;} +.x-tool-collapse-east-over{background-position:-15px -165px;} +.x-tool-expand-south{background-position:0 -210px;} +.x-tool-expand-south-over{background-position:-15px -210px;} +.x-tool-expand-north{background-position:0 -195px;} +.x-tool-expand-north-over{background-position:-15px -195px;} +.x-tool-expand-west{background-position:0 -165px;} +.x-tool-expand-west-over{background-position:-15px -165px;} +.x-tool-expand-east{background-position:0 -180px;} +.x-tool-expand-east-over{background-position:-15px -180px;} +.x-tool-expand-north,.x-tool-expand-south{float:right;margin:3px;} +.x-tool-expand-east,.x-tool-expand-west{float:none;margin:3px auto;} +.x-accordion-hd .x-tool-toggle{background-position:0 -255px;} +.x-accordion-hd .x-tool-toggle-over{background-position:-15px -255px;} +.x-panel-collapsed .x-accordion-hd .x-tool-toggle{background-position:0 -240px;} +.x-panel-collapsed .x-accordion-hd .x-tool-toggle-over{background-position:-15px -240px;} +.x-accordion-hd{color:#222;padding-top:4px;padding-bottom:3px;border-top:0 none;font-weight:normal;background:transparent url(../images/default/panel/light-hd.gif) repeat-x 0 -9px;} +.x-layout-collapsed{position:absolute;left:-10000px;top:-10000px;visibility:hidden;background-color:#d2e0f2;width:20px;height:20px;overflow:hidden;border:1px solid #98c0f4;z-index:20;} +.ext-border-box .x-layout-collapsed{width:22px;height:22px;} +.x-layout-collapsed-over{cursor:pointer;background-color:#d9e8fb;} +.x-layout-collapsed-west .x-layout-collapsed-tools,.x-layout-collapsed-east .x-layout-collapsed-tools{position:absolute;top:0;left:0;width:20px;height:20px;} +.x-layout-split{position:absolute;height:5px;width:5px;line-height:1px;font-size:1px;z-index:3;background-color:transparent;} +.ext-strict .ext-ie6 .x-layout-split{background-color:#fff!important;filter:alpha(opacity=1);} +.x-layout-split-h{background-image:url(../images/default/s.gif);background-position:left;} +.x-layout-split-v{background-image:url(../images/default/s.gif);background-position:top;} +.x-column-layout-ct{overflow:hidden;zoom:1;} +.x-column{float:left;padding:0;margin:0;overflow:hidden;zoom:1;} +.x-layout-mini{position:absolute;top:0;left:0;display:block;width:5px;height:35px;cursor:pointer;opacity:.5;-moz-opacity:.5;filter:alpha(opacity=50);} +.x-layout-mini-over,.x-layout-collapsed-over .x-layout-mini{opacity:1;-moz-opacity:1;filter:none;} +.x-layout-split-west .x-layout-mini{top:48%;background-image:url(../images/default/layout/mini-left.gif);} +.x-layout-split-east .x-layout-mini{top:48%;background-image:url(../images/default/layout/mini-right.gif);} +.x-layout-split-north .x-layout-mini{left:48%;height:5px;width:35px;background-image:url(../images/default/layout/mini-top.gif);} +.x-layout-split-south .x-layout-mini{left:48%;height:5px;width:35px;background-image:url(../images/default/layout/mini-bottom.gif);} +.x-layout-cmini-west .x-layout-mini{top:48%;background-image:url(../images/default/layout/mini-right.gif);} +.x-layout-cmini-east .x-layout-mini{top:48%;background-image:url(../images/default/layout/mini-left.gif);} +.x-layout-cmini-north .x-layout-mini{left:48%;height:5px;width:35px;background-image:url(../images/default/layout/mini-bottom.gif);} +.x-layout-cmini-south .x-layout-mini{left:48%;height:5px;width:35px;background-image:url(../images/default/layout/mini-top.gif);} +.x-layout-cmini-west,.x-layout-cmini-east{border:0 none;width:5px!important;padding:0;background:transparent;} +.x-layout-cmini-north,.x-layout-cmini-south{border:0 none;height:5px!important;padding:0;background:transparent;} +.x-viewport,.x-viewport body{margin:0;padding:0;border:0 none;overflow:hidden;height:100%;} +.x-abs-layout-item{position:absolute;left:0;top:0;} +.ext-ie input.x-abs-layout-item,.ext-ie textarea.x-abs-layout-item{margin:0;} + +.x-progress-wrap{border:1px solid #6593cf;overflow:hidden;} +.x-progress-inner{height:18px;background:#e0e8f3 url(../images/default/qtip/bg.gif) repeat-x;position:relative;} +.x-progress-bar{height:18px;float:left;width:0;background:#9CBFEE url( ../images/default/progress/progress-bg.gif ) repeat-x left center;border-top:1px solid #D1E4FD;border-bottom:1px solid #7FA9E4;border-right:1px solid #7FA9E4;} +.x-progress-text{font-size:11px;font-weight:bold;color:#fff;padding:1px 5px;overflow:hidden;position:absolute;left:0;text-align:center;} +.x-progress-text-back{color:#396095;line-height:16px;} +.ext-ie .x-progress-text-back{line-height:15px;} + +.x-window-dlg .x-window-body{border:0 none!important;padding:5px 10px;overflow:hidden!important;} +.x-window-dlg .x-window-mc{border:0 none!important;} +.x-window-dlg .ext-mb-text,.x-window-dlg .x-window-header-text{font-size:12px;} +.x-window-dlg .ext-mb-input{margin-top:4px;width:95%;} +.x-window-dlg .ext-mb-textarea{margin-top:4px;font:normal 12px tahoma,arial,helvetica,sans-serif;} +.x-window-dlg .x-progress-wrap{margin-top:4px;} +.ext-ie .x-window-dlg .x-progress-wrap{margin-top:6px;} +.x-window-dlg .x-msg-box-wait{background:transparent url(../images/default/grid/loading.gif) no-repeat left;display:block;width:300px;padding-left:18px;line-height:18px;} +.x-window-dlg .ext-mb-icon{float:left;width:47px;height:32px;} +.x-window-dlg .ext-mb-icon{float:left;width:47px;height:32px;} +.ext-ie .x-window-dlg .ext-mb-icon{width:44px;} +.x-window-dlg .ext-mb-info{background:transparent url(../images/default/window/icon-info.gif) no-repeat top left;} +.x-window-dlg .ext-mb-warning{background:transparent url(../images/default/window/icon-warning.gif) no-repeat top left;} +.x-window-dlg .ext-mb-question{background:transparent url(../images/default/window/icon-question.gif) no-repeat top left;} +.x-window-dlg .ext-mb-error{background:transparent url(../images/default/window/icon-error.gif) no-repeat top left;} +.ext-gecko2 .ext-mb-fix-cursor{overflow:auto;} + + .x-slider{zoom:1;} +.x-slider-inner{position:relative;left:0;top:0;overflow:visible;zoom:1;} +.x-slider-focus{position:absolute;left:0;top:0;width:1px;height:1px;line-height:1px;font-size:1px;-moz-outline:0 none;outline:0 none;-moz-user-select:text;-khtml-user-select:text;} +.x-slider-horz{padding-left:7px;background:transparent url(../images/default/slider/slider-bg.png) no-repeat 0 -22px;} +.x-slider-horz .x-slider-end{padding-right:7px;zoom:1;background:transparent url(../images/default/slider/slider-bg.png) no-repeat right -44px;} +.x-slider-horz .x-slider-inner{background:transparent url(../images/default/slider/slider-bg.png) repeat-x 0 0;height:22px;} +.x-slider-horz .x-slider-thumb{width:14px;height:15px;position:absolute;left:0;top:3px;background:transparent url(../images/default/slider/slider-thumb.png) no-repeat 0 0;} +.x-slider-horz .x-slider-thumb-over{background-position:-14px -15px;} +.x-slider-horz .x-slider-thumb-drag{background-position:-28px -30px;} +.x-slider-vert{padding-top:7px;background:transparent url(../images/default/slider/slider-v-bg.png) no-repeat -44px 0;width:22px;} +.x-slider-vert .x-slider-end{padding-bottom:7px;zoom:1;background:transparent url(../images/default/slider/slider-v-bg.png) no-repeat -22px bottom;} +.x-slider-vert .x-slider-inner{background:transparent url(../images/default/slider/slider-v-bg.png) repeat-y 0 0;} +.x-slider-vert .x-slider-thumb{width:15px;height:14px;position:absolute;left:3px;bottom:0;background:transparent url(../images/default/slider/slider-v-thumb.png) no-repeat 0 0;} +.x-slider-vert .x-slider-thumb-over{background-position:-15px -14px;} +.x-slider-vert .x-slider-thumb-drag{background-position:-30px -28px;} + diff --git a/skins/jason/extjs/resources/css/form.css b/skins/jason/extjs/resources/css/form.css new file mode 100644 index 0000000..02a8312 --- /dev/null +++ b/skins/jason/extjs/resources/css/form.css @@ -0,0 +1,552 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +/* all fields */ +.x-form-field{ + margin: 0 0 0 0; + font:normal 12px tahoma, arial, helvetica, sans-serif; +} + +/* ---- text fields ---- */ +.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; +} +textarea.x-form-field { + padding:2px 3px; +} +.x-form-text { + height:22px; + line-height:18px; + vertical-align:middle; +} +.ext-ie .x-form-text { + margin:-1px 0; /* ie bogus margin bug */ + height:22px; /* ie quirks */ + line-height:18px; +} +.ext-ie textarea.x-form-field { + margin:-1px 0; /* ie bogus margin bug */ +} +.ext-strict .x-form-text { + height:18px; +} +.ext-safari .x-form-text { + height:20px; /* safari always same size */ + padding:0 3px; /* remove extra top/bottom padding */ +} +.ext-safari.ext-mac textarea.x-form-field { + margin-bottom:-2px; /* another bogus margin bug, safari/mac only */ +} +.ext-gecko .x-form-text { + padding-top:2px; /* FF won't center the text vertically */ + padding-bottom:0; +} +textarea { + resize: none; /* Disable browser resizable textarea */ +} + +/* select boxes */ + +.x-form-select-one { + height:20px; + line-height:18px; + vertical-align:middle; + background-color:#fff; /* opera */ + border: 1px solid #B5B8C8; +} + +/* multi select boxes */ + +/* --- TODO --- */ + +/* checkboxes / radios */ +.x-form-check-group, .x-form-radio-group { + margin-bottom: 0; +} +.x-form-check-group .x-form-invalid .x-panel-body, +.x-form-radio-group .x-form-invalid .x-panel-body { + background-color: transparent; +} +.x-form-check-wrap, .x-form-radio-wrap { + padding: 3px 0 0 0; + line-height:18px; +} +.x-form-check-group .x-form-check-wrap, +.x-form-radio-group .x-form-radio-wrap { + height: 18px; +} +.ext-ie .x-form-check-group .x-form-check-wrap, +.ext-ie .x-form-radio-group .x-form-radio-wrap { + height: 21px; +} +.ext-ie .x-form-check-wrap input, +.ext-ie .x-form-radio-wrap input { + width:15px; + height:15px; +} +.x-form-check, .x-form-radio { + height: 13px; + width: 13px; + vertical-align: bottom; +} +.x-form-radio { + margin-bottom: 3px; +} +.x-form-check, .ext-ie .x-form-radio { + margin-bottom: 2px; +} +.x-form-check-wrap-inner, .x-form-radio-wrap-inner { + display: inline; + padding: 3px 0 0 0; +} +.x-form-check { + background: url('../images/default/form/checkbox.gif') no-repeat 0 0; +} +.x-form-radio { + background: url('../images/default/form/radio.gif') no-repeat 0 0; +} +.x-form-check-focus .x-form-check, .x-form-check-over .x-form-check, +.x-form-check-focus .x-form-radio, .x-form-check-over .x-form-radio { + background-position: -13px 0; +} +.x-form-check-down .x-form-check, +.x-form-check-down .x-form-radio { + background-position:-26px 0; +} +.x-form-check-checked .x-form-check-focus .x-form-check, +.x-form-check-checked .x-form-check-over .x-form-check { + background-position:-13px -13px; +} +.x-form-check-checked .x-form-check-down .x-form-check { + background-position:-26px -13px; +} +.x-form-check-checked .x-form-check, +.x-form-check-checked .x-form-radio { + background-position:0 -13px; +} +.x-form-check-group-label { + border-bottom: 1px solid #99BBE8; + color: #15428B; + margin-bottom: 5px; + padding-left: 3px !important; + float: none !important; +} + +/* wrapped fields and triggers */ + +.x-form-field-wrap { + position:relative; + zoom:1; + white-space: nowrap; +} +.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:21px; /* safari doesn't allow height adjustments to the fields, so adjust trigger */ +} + +.x-form-field-wrap .x-form-date-trigger{ + background-image: url(../images/default/form/date-trigger.gif); + cursor:pointer; +} +.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; +} + +/* field focus style */ +.x-form-focus, textarea.x-form-focus{ + border: 1px solid #7eadd9; +} + +/* invalid fields */ +.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; +} + +/* editors */ +.x-editor { + visibility:hidden; + padding:0; + margin:0; +} +.x-editor .x-form-check-wrap, +.x-editor .x-form-radio-wrap { + background:#fff; + padding:3px; +} +.x-editor .x-form-checkbox { + height:13px; +} +/* If you override the default field font above, you would need to change this font as well */ +.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; +} +/* Form Items CSS */ + +.x-form-item { + font:normal 12px tahoma, arial, helvetica, sans-serif; + display:block; + margin-bottom:4px; + zoom:1; +} + +.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-left label { + text-align:left; +} + +.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-empty-field { + color:gray; +} +/* Editor small font for grid, toolbar and tree */ +.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; /* ie bogus margin bug */ + margin-bottom:-1px !important; + height:20px !important; /* ie quirks */ + line-height:16px !important; +} +.ext-strict .x-small-editor .x-form-text { + height:16px !important; +} + +.ext-safari .x-small-editor .x-form-field { + /* safari text field will not size so needs bigger font */ + 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; +} + +/* buttons */ +.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; /*ie*/ +} +.x-form .x-form-btns-ct .x-form-btns-center table{ + margin:0 auto; /*everyone else*/ +} +.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; +} + +/* fieldsets */ +.x-fieldset { + border:1px solid #B5B8C8; + padding:10px; + margin-bottom:10px; + display:block; /* preserve margins in IE */ +} +.x-fieldset legend { + font:bold 11px tahoma, arial, helvetica, sans-serif; + color:#15428b; +} +.ext-ie .x-fieldset legend { + margin-bottom:10px; +} +.ext-ie .x-fieldset { + padding-top: 0; + padding-bottom:10px; +} +.x-fieldset legend .x-tool-toggle { + margin-right:3px; + margin-left:0; + float:left !important; +} +.x-fieldset legend input { + margin-right:3px; + float:left !important; + height:13px; + width:13px; +} +fieldset.x-panel-collapsed { + padding-bottom:0 !important; + border-width: 1px 0 0 0 !important; +} +fieldset.x-panel-collapsed .x-fieldset-bwrap { + visibility:hidden; + position:absolute; + left:-1000px; + top:-1000px; +} +.ext-ie .x-fieldset-bwrap { + zoom:1; +} +.ext-ie td .x-form-text { + position:relative; + top:-1px; +} +.x-fieldset-noborder { + border:0px none transparent; +} +.x-fieldset-noborder legend { + margin-left:-3px; +} +/* IE legend positioing bug */ +.ext-ie .x-fieldset-noborder legend { + position: relative; + margin-bottom:23px; +} +.ext-ie .x-fieldset-noborder legend span { + position: absolute; + left:-5px; +} + +.ext-gecko .x-window-body .x-form-item { + -moz-outline: none; + overflow: auto; +} + +.ext-gecko .x-form-item { + -moz-outline: none; +} + +.x-hide-label label.x-form-item-label { + display:none; +} +.x-hide-label .x-form-element { + padding-left: 0 !important; +} + +.x-fieldset { + overflow:hidden; +} + +.x-fieldset-bwrap { + overflow:hidden; + zoom:1; +} + +.x-fieldset-body { + overflow:hidden; +} \ No newline at end of file diff --git a/skins/jason/extjs/resources/css/grid.css b/skins/jason/extjs/resources/css/grid.css new file mode 100644 index 0000000..a2dae88 --- /dev/null +++ b/skins/jason/extjs/resources/css/grid.css @@ -0,0 +1,554 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +/* Grid3 styles */ +.x-grid3 { + position:relative; + overflow:hidden; + background-color:#fff; +} + +.x-grid-panel .x-panel-body { + overflow:hidden !important; +} + +.x-grid-panel .x-panel-mc .x-panel-body { + border:1px solid #99bbe8; +} + +.x-grid3 table { + table-layout:fixed; +} +.x-grid3-viewport{ + overflow:hidden; +} +.x-grid3-hd-row td, .x-grid3-row td, .x-grid3-summary-row td{ + font:normal 11px arial, tahoma, helvetica, sans-serif; + -moz-outline: none; + -moz-user-focus: normal; +} +.x-grid3-row td, .x-grid3-summary-row td { + line-height:13px; + vertical-align: top; + padding-left:1px; + padding-right:1px; + -moz-user-select: none; +} +.x-grid3-hd-row td { + line-height:15px; + vertical-align:middle; + border-left:1px solid #eee; + border-right:1px solid #d0d0d0; +} + +.x-grid3-hd-row .x-grid3-marker-hd { + padding:3px; +} + +.x-grid3-row .x-grid3-marker { + padding:3px; +} + +.x-grid3-cell-inner, .x-grid3-hd-inner{ + overflow:hidden; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + padding:3px 3px 3px 5px; + white-space: nowrap; +} + +.x-grid3-hd-inner { + position:relative; + cursor:inherit; + padding:4px 3px 4px 5px; +} + +.x-grid3-row-body { + white-space:normal; +} + +.x-grid3-body-cell { + -moz-outline:0 none; + outline:0 none; +} +/* IE Quirks to clip */ +.ext-ie .x-grid3-cell-inner, .ext-ie .x-grid3-hd-inner{ + width:100%; +} +/* reverse above in strict mode */ +.ext-strict .x-grid3-cell-inner, .ext-strict .x-grid3-hd-inner{ + width:auto; +} + +.x-grid3-col { + +} + +.x-grid-row-loading { + background: #fff url(../images/default/shared/loading-balls.gif) no-repeat center center; +} +.x-grid-page { + overflow:hidden; +} +.x-grid3-row { + cursor: default; + border:1px solid #ededed; + border-top-color:#fff; + /*border-bottom: 1px solid #ededed;*/ + width:100%; +} +.x-grid3-row-alt{ + background-color:#fafafa; +} + +.x-grid3-row-over { + border:1px solid #dddddd; + background: #efefef url(../images/default/grid/row-over.gif) repeat-x left top; +} + +.x-grid3-resize-proxy { + width:1px; + left:0; + background-color:#777; + cursor: e-resize; + cursor: col-resize; + position:absolute; + top:0; + height:100px; + overflow:hidden; + visibility:hidden; + border:0 none; + z-index:7; +} +.x-grid3-resize-marker { + width:1px; + left:0; + background-color:#777; + position:absolute; + top:0; + height:100px; + overflow:hidden; + visibility:hidden; + border:0 none; + z-index:7; +} +.x-grid3-focus { + position:absolute; + left:0; + top:0; + width:1px; + height:1px; + line-height:1px; + font-size:1px; + -moz-outline:0 none; + outline:0 none; + -moz-user-select: text; + -khtml-user-select: text; +} + +/* header styles */ +.x-grid3-header{ + background: #f9f9f9 url(../images/default/grid/grid3-hrow.gif) repeat-x 0 bottom; + cursor:default; + zoom:1; + padding:1px 0 0 0; +} + +.x-grid3-header-pop { + border-left:1px solid #d0d0d0; + float:right; + clear:none; +} +.x-grid3-header-pop-inner { + border-left:1px solid #eee; + width:14px; + height:19px; + background: transparent url(../images/default/grid/hd-pop.gif) no-repeat center center; +} +.ext-ie .x-grid3-header-pop-inner { + width:15px; +} +.ext-strict .x-grid3-header-pop-inner { + width:14px; +} +.x-grid3-header-inner { + overflow:hidden; + zoom:1; + float:left; +} +.x-grid3-header-offset { + padding-left:1px; + width:10000px; +} + +td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open { + border-left:1px solid #aaccf6; + border-right:1px solid #aaccf6; +} +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 { + background: #ebf3fd url(../images/default/grid/grid3-hrow-over.gif) repeat-x left bottom; + +} +.x-grid3-sort-icon{ + background-repeat: no-repeat; + display: none; + height: 4px; + width: 13px; + margin-left:3px; + vertical-align: middle; +} +.sort-asc .x-grid3-sort-icon { + background-image: url(../images/default/grid/sort_asc.gif); + display: inline; +} +.sort-desc .x-grid3-sort-icon { + background-image: url(../images/default/grid/sort_desc.gif); + display: inline; +} + +/* Header position fixes for IE strict mode */ +.ext-strict .ext-ie .x-grid3-header-inner{position:relative;} +.ext-strict .ext-ie6 .x-grid3-hd{position:relative;} +.ext-strict .ext-ie6 .x-grid3-hd-inner{position:static;} + +/* Body Styles */ +.x-grid3-body { + zoom:1; +} +.x-grid3-scroller { + overflow:auto; + zoom:1; + position:relative; +} +.x-grid3-cell-text, .x-grid3-hd-text { + display: block; + padding: 3px 5px 3px 5px; + -moz-user-select: none; + -khtml-user-select: none; + color:black; +} +.x-grid3-split { + background-image: url(../images/default/grid/grid-split.gif); + background-position: center; + background-repeat: no-repeat; + cursor: e-resize; + cursor: col-resize; + display: block; + font-size: 1px; + height: 16px; + overflow: hidden; + position: absolute; + top: 2px; + width: 6px; + z-index: 3; +} + +.x-grid3-hd-text { + color:#15428b; +} +/* Column Reorder DD */ +.x-dd-drag-proxy .x-grid3-hd-inner{ + background: #ebf3fd url(../images/default/grid/grid3-hrow-over.gif) repeat-x left bottom; + width:120px; + padding:3px; + border:1px solid #aaccf6; + overflow:hidden; +} + +.col-move-top, .col-move-bottom{ + width:9px; + height:9px; + position:absolute; + top:0; + line-height:1px; + font-size:1px; + overflow:hidden; + visibility:hidden; + z-index:20000; +} +.col-move-top{ + background:transparent url(../images/default/grid/col-move-top.gif) no-repeat left top; +} +.col-move-bottom{ + background:transparent url(../images/default/grid/col-move-bottom.gif) no-repeat left top; +} + +/* Selection Styles */ +.x-grid3-row-selected { + background: #DFE8F6 !important; + border:1px dotted #a3bae9; +} + +.x-grid3-cell-selected{ + background-color: #B8CFEE !important; + color: black; +} +.x-grid3-cell-selected span{ + color: black !important; +} +.x-grid3-cell-selected .x-grid3-cell-text{ + color: black; +} + +.x-grid3-locked td.x-grid3-row-marker, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{ + background: #ebeadb url(../images/default/grid/grid-hrow.gif) repeat-x 0 bottom !important; + vertical-align:middle !important; + color:black; + padding:0; + border-top:1px solid white; + border-bottom:none !important; + border-right:1px solid #6fa0df !important; + text-align:center; +} +.x-grid3-locked td.x-grid3-row-marker div, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker div{ + padding:0 4px; + color:#15428b !important; + text-align:center; +} + +/* dirty cells */ +.x-grid3-dirty-cell { + background: transparent url(../images/default/grid/dirty.gif) no-repeat 0 0; +} + +/* Grid Toolbars */ +.x-grid3-topbar, .x-grid3-bottombar{ + font:normal 11px arial, tahoma, helvetica, sans-serif; + overflow:hidden; + display:none; + zoom:1; + position:relative; +} +.x-grid3-topbar .x-toolbar{ + border-right:0 none; +} +.x-grid3-bottombar .x-toolbar{ + border-right:0 none; + border-bottom:0 none; + border-top:1px solid #a9bfd3; +} +/* Props Grid Styles */ +.x-props-grid .x-grid3-cell{ + padding:1px; +} +.x-props-grid .x-grid3-td-name .x-grid3-cell-inner{ + background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y -16px !important; + padding-left:12px; + color:black !important; +} +.x-props-grid .x-grid3-body .x-grid3-td-name{ + padding:1px; + padding-right:0; + background:white !important; + border:0 none; + border-right:1px solid #eeeeee; +} + +/* header menu */ +.xg-hmenu-sort-asc .x-menu-item-icon{ + background-image: url(../images/default/grid/hmenu-asc.gif); +} +.xg-hmenu-sort-desc .x-menu-item-icon{ + background-image: url(../images/default/grid/hmenu-desc.gif); +} +.xg-hmenu-lock .x-menu-item-icon{ + background-image: url(../images/default/grid/hmenu-lock.gif); +} +.xg-hmenu-unlock .x-menu-item-icon{ + background-image: url(../images/default/grid/hmenu-unlock.gif); +} + +/* dd */ +.x-grid3-col-dd { + border:0 none; + padding:0; + background:transparent; +} + +.x-dd-drag-ghost .x-grid3-dd-wrap { + padding:1px 3px 3px 1px; +} + +.x-grid3-hd { + -moz-user-select:none; +} + +.x-grid3-hd-btn { + display:none; + position:absolute; + width:14px; + background:#c3daf9 url(../images/default/grid/grid3-hd-btn.gif) no-repeat left center; + right:0; + top:0; + z-index:2; + cursor:pointer; +} + +.x-grid3-hd-over .x-grid3-hd-btn, .x-grid3-hd-menu-open .x-grid3-hd-btn { + display:block; +} + +a.x-grid3-hd-btn:hover { + background-position:-14px center; +} + +/* Expanders */ + +.x-grid3-body .x-grid3-td-expander { + background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y right; +} +.x-grid3-body .x-grid3-td-expander .x-grid3-cell-inner { + padding:0 !important; + height:100%; +} +.x-grid3-row-expander { + width:100%; + height:18px; + background-position:4px 2px; + background-repeat:no-repeat; + background-color:transparent; + background-image:url(../images/default/grid/row-expand-sprite.gif); +} +.x-grid3-row-collapsed .x-grid3-row-expander { + background-position:4px 2px; +} +.x-grid3-row-expanded .x-grid3-row-expander { + background-position:-21px 2px; +} +.x-grid3-row-collapsed .x-grid3-row-body { + display:none !important; +} +.x-grid3-row-expanded .x-grid3-row-body { + display:block !important; +} + +/* Checkers */ + +.x-grid3-body .x-grid3-td-checker { + background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y right; +} + +.x-grid3-body .x-grid3-td-checker .x-grid3-cell-inner, .x-grid3-header .x-grid3-td-checker .x-grid3-hd-inner { + padding:0 !important; + height:100%; +} + +.x-grid3-row-checker, .x-grid3-hd-checker { + width:100%; + height:18px; + background-position:2px 2px; + background-repeat:no-repeat; + background-color:transparent; + background-image:url(../images/default/grid/row-check-sprite.gif); +} +.x-grid3-row .x-grid3-row-checker { + background-position:2px 2px; +} +.x-grid3-row-selected .x-grid3-row-checker, .x-grid3-hd-checker-on .x-grid3-hd-checker { + background-position:-23px 2px; +} +.x-grid3-hd-checker { + background-position:2px 3px; +} +.x-grid3-hd-checker-on .x-grid3-hd-checker { + background-position:-23px 3px; +} + +/* Numberer */ + +.x-grid3-body .x-grid3-td-numberer { + background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y right; +} +.x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner { + padding:3px 5px 0 0 !important; + text-align:right; + color:#444; +} + +/* All specials */ + +.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer, +.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker, +.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander { + background:transparent url(../images/default/grid/grid3-special-col-sel-bg.gif) repeat-y right; +} +.x-grid3-body .x-grid3-check-col-td .x-grid3-cell-inner { + padding: 1px 0 0 0 !important; +} + +.x-grid3-check-col { + width:100%; + height:16px; + background-position:center center; + background-repeat:no-repeat; + background-color:transparent; + background-image:url(../images/default/menu/unchecked.gif); +} + + +.x-grid3-check-col-on { + width:100%; + height:16px; + background-position:center center; + background-repeat:no-repeat; + background-color:transparent; + background-image:url(../images/default/menu/checked.gif); +} + +/* Grouping classes */ +.x-grid-group, .x-grid-group-body, .x-grid-group-hd { + zoom:1; +} +.x-grid-group-hd { + border-bottom: 2px solid #99bbe8; + cursor:pointer; + padding-top:6px; +} +.x-grid-group-hd div { + background:transparent url(../images/default/grid/group-expand-sprite.gif) no-repeat 3px -47px; + padding:4px 4px 4px 17px; + color:#3764a0; + font:bold 11px tahoma, arial, helvetica, sans-serif; +} +.x-grid-group-collapsed .x-grid-group-hd div { + background-position: 3px 3px; +} +.x-grid-group-collapsed .x-grid-group-body { + display:none; +} + +.x-group-by-icon { + background-image:url(../images/default/grid/group-by.gif); +} +.x-cols-icon { + background-image:url(../images/default/grid/columns.gif); +} +.x-show-groups-icon { + background-image:url(../images/default/grid/group-by.gif); +} + +.ext-ie .x-grid3 .x-editor .x-form-text { + position:relative; + top:-1px; +} +.ext-ie .x-props-grid .x-editor .x-form-text { + position:static; + top:0; +} + +.x-grid-empty { + padding:10px; + color:gray; + font:normal 11px tahoma, arial, helvetica, sans-serif; +} + + +/* fix floating toolbar issue */ +.ext-ie7 .x-grid-panel .x-panel-bbar { + position:relative; +} diff --git a/skins/jason/extjs/resources/css/layout.css b/skins/jason/extjs/resources/css/layout.css new file mode 100644 index 0000000..3d0d27f --- /dev/null +++ b/skins/jason/extjs/resources/css/layout.css @@ -0,0 +1,273 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +.x-border-layout-ct { + background:#dfe8f6; +} +.x-border-panel { + position:absolute; + left:0; + top:0; +} + +.x-tool-collapse-south { + background-position:0 -195px; +} +.x-tool-collapse-south-over { + background-position:-15px -195px; +} + +.x-tool-collapse-north { + background-position:0 -210px; +} +.x-tool-collapse-north-over { + background-position:-15px -210px; +} + +.x-tool-collapse-west { + background-position:0 -180px; +} +.x-tool-collapse-west-over { + background-position:-15px -180px; +} + +.x-tool-collapse-east { + background-position:0 -165px; +} +.x-tool-collapse-east-over { + background-position:-15px -165px; +} + + +.x-tool-expand-south { + background-position:0 -210px; +} +.x-tool-expand-south-over { + background-position:-15px -210px; +} + +.x-tool-expand-north { + background-position:0 -195px; +} +.x-tool-expand-north-over { + background-position:-15px -195px; +} + +.x-tool-expand-west { + background-position:0 -165px; +} +.x-tool-expand-west-over { + background-position:-15px -165px; +} + +.x-tool-expand-east { + background-position:0 -180px; +} +.x-tool-expand-east-over { + background-position:-15px -180px; +} + +.x-tool-expand-north, .x-tool-expand-south { + float:right; + margin:3px; +} +.x-tool-expand-east, .x-tool-expand-west { + float:none; + margin:3px auto; +} + + + +.x-accordion-hd .x-tool-toggle { + background-position:0 -255px; +} +.x-accordion-hd .x-tool-toggle-over { + background-position:-15px -255px; +} +.x-panel-collapsed .x-accordion-hd .x-tool-toggle { + background-position:0 -240px; +} +.x-panel-collapsed .x-accordion-hd .x-tool-toggle-over { + background-position:-15px -240px; +} + +.x-accordion-hd { + color:#222; + padding-top:4px; + padding-bottom:3px; + border-top:0 none; + font-weight:normal; + background: transparent url(../images/default/panel/light-hd.gif) repeat-x 0 -9px; +} + +.x-layout-collapsed{ + position:absolute; + left:-10000px; + top:-10000px; + visibility:hidden; + background-color:#d2e0f2; + width:20px; + height:20px; + overflow:hidden; + border:1px solid #98c0f4; + z-index:20; +} +.ext-border-box .x-layout-collapsed{ + width:22px; + height:22px; +} +.x-layout-collapsed-over{ + cursor:pointer; + background-color:#d9e8fb; +} +.x-layout-collapsed-west .x-layout-collapsed-tools, .x-layout-collapsed-east .x-layout-collapsed-tools{ + position:absolute; + top:0; + left:0; + width:20px; + height:20px; +} + + +.x-layout-split{ + position:absolute; + height:5px; + width:5px; + line-height:1px; + font-size:1px; + z-index:3; + background-color:transparent; +} + +/* IE6 strict won't drag w/out a color */ +.ext-strict .ext-ie6 .x-layout-split{ + background-color: #fff !important; + filter: alpha(opacity=1); +} + +.x-layout-split-h{ + background-image:url(../images/default/s.gif); + background-position: left; +} +.x-layout-split-v{ + background-image:url(../images/default/s.gif); + background-position: top; +} + +.x-column-layout-ct { + overflow:hidden; + /*padding:3px 3px 3px 3px;*/ + zoom:1; +} + +.x-column { + float:left; + padding:0; + margin:0; + overflow:hidden; + zoom:1; + /*margin:3px;*/ +} + +/* mini mode */ + +.x-layout-mini { + position:absolute; + top:0; + left:0; + display:block; + width:5px; + height:35px; + cursor:pointer; + opacity:.5; + -moz-opacity:.5; + filter:alpha(opacity=50); +} +.x-layout-mini-over, .x-layout-collapsed-over .x-layout-mini{ + opacity:1; + -moz-opacity:1; + filter:none; +} + +.x-layout-split-west .x-layout-mini { + top:48%; + background-image:url(../images/default/layout/mini-left.gif); +} +.x-layout-split-east .x-layout-mini { + top:48%; + background-image:url(../images/default/layout/mini-right.gif); +} +.x-layout-split-north .x-layout-mini { + left:48%; + height:5px; + width:35px; + background-image:url(../images/default/layout/mini-top.gif); +} +.x-layout-split-south .x-layout-mini { + left:48%; + height:5px; + width:35px; + background-image:url(../images/default/layout/mini-bottom.gif); +} + + +.x-layout-cmini-west .x-layout-mini { + top:48%; + background-image:url(../images/default/layout/mini-right.gif); +} + +.x-layout-cmini-east .x-layout-mini { + top:48%; + background-image:url(../images/default/layout/mini-left.gif); +} + +.x-layout-cmini-north .x-layout-mini { + left:48%; + height:5px; + width:35px; + background-image:url(../images/default/layout/mini-bottom.gif); +} + +.x-layout-cmini-south .x-layout-mini { + left:48%; + height:5px; + width:35px; + background-image:url(../images/default/layout/mini-top.gif); +} + +.x-layout-cmini-west, .x-layout-cmini-east { + border:0 none; + width:5px !important; + padding:0; + background:transparent; +} + +.x-layout-cmini-north, .x-layout-cmini-south { + border:0 none; + height:5px !important; + padding:0; + background:transparent; +} + +.x-viewport, .x-viewport body { + margin: 0; + padding: 0; + border: 0 none; + overflow: hidden; + height: 100%; +} + +.x-abs-layout-item { + position:absolute; + left:0; + top:0; +} + +.ext-ie input.x-abs-layout-item, .ext-ie textarea.x-abs-layout-item { + margin:0; +} \ No newline at end of file diff --git a/skins/jason/extjs/resources/css/menu.css b/skins/jason/extjs/resources/css/menu.css new file mode 100644 index 0000000..3cbe34d --- /dev/null +++ b/skins/jason/extjs/resources/css/menu.css @@ -0,0 +1,142 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +.x-menu { + border: 1px solid #718bb7; + z-index: 15000; + zoom: 1; + background: #f0f0f0 url(../images/default/menu/menu.gif) repeat-y; + padding: 2px; +} +.x-menu a { + text-decoration: none !important; +} +.ext-ie .x-menu { + zoom:1; + overflow:hidden; +} +.x-menu-list{ + background:transparent; + border:0 none; +} +.x-menu li{ + line-height:100%; +} +.x-menu li.x-menu-sep-li{ + font-size:1px; + line-height:1px; +} +.x-menu-list-item{ + font:normal 11px tahoma,arial, sans-serif; + white-space: nowrap; + -moz-user-select: none; + -khtml-user-select: none; + display:block; + padding:1px; +} +.x-menu-item-arrow{ + background:transparent url(../images/default/menu/menu-parent.gif) no-repeat right; +} +.x-menu-sep { + display:block; + font-size:1px; + line-height:1px; + margin: 2px 3px; + background-color:#e0e0e0; + border-bottom:1px solid #fff; + overflow:hidden; +} +.x-menu-focus { + position:absolute; + left:-1px; + top:-1px; + width:1px; + height:1px; + line-height:1px; + font-size:1px; + -moz-outline:0 none; + outline:0 none; + -moz-user-select: text; + -khtml-user-select: text; + overflow:hidden; + display:block; +} +.x-menu a.x-menu-item { + display:block; + line-height:16px; + padding:3px 21px 3px 3px; + white-space: nowrap; + text-decoration:none; + color:#222; + -moz-outline: 0 none; + outline: 0 none; + cursor:pointer; +} +.x-menu-item-active { + background: #ebf3fd url(../images/default/menu/item-over.gif) repeat-x left bottom; + border:1px solid #aaccf6; + padding: 0; +} +.x-menu-item-active a.x-menu-item { + color: #233d6d; +} + +.x-menu-item-icon { + border: 0 none; + height: 16px; + padding: 0; + vertical-align: top; + width: 16px; + margin: 0 8px 0 0; + background-position:center; +} + +.x-menu-check-item .x-menu-item-icon{ + background: transparent url(../images/default/menu/unchecked.gif) no-repeat center; +} + +.x-menu-item-checked .x-menu-item-icon{ + background-image:url(../images/default/menu/checked.gif); +} +.x-menu-group-item .x-menu-item-icon{ + background: transparent; +} + +.x-menu-item-checked .x-menu-group-item .x-menu-item-icon{ + background: transparent url(../images/default/menu/group-checked.gif) no-repeat center; +} + +.x-menu-plain { + background:#fff !important; +} +.x-menu-date-item{ + padding:0; +} + +.x-menu .x-color-palette, .x-menu .x-date-picker{ + margin-left: 26px; + margin-right:4px; +} +.x-menu .x-date-picker{ + border:1px solid #a3bad9; + margin-top:2px; + margin-bottom:2px; +} +.x-menu-plain .x-color-palette, .x-menu-plain .x-date-picker{ + margin: 0; + border: 0 none; +} +.x-date-menu { + padding:0 !important; +} + +.x-cycle-menu .x-menu-item-checked { + border:1px dotted #a3bae9 !important; + background:#DFE8F6; + padding:0; +} diff --git a/skins/jason/extjs/resources/css/panel.css b/skins/jason/extjs/resources/css/panel.css new file mode 100644 index 0000000..31bf53f --- /dev/null +++ b/skins/jason/extjs/resources/css/panel.css @@ -0,0 +1,424 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +.x-panel { + border-style: solid; + border-color: #99bbe8; + border-width:0; +} + +.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; + line-height: 15px; + 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; + position: relative; /* added for item scroll positioning */ +} + +.x-panel-bbar .x-toolbar { + border:1px solid #99bbe8; + border-top:0 none; + overflow:hidden; + padding:2px; +} + + +.x-panel-tbar .x-toolbar { + border:1px solid #99bbe8; + border-top:0 none; + overflow:hidden; + padding:2px; +} + +.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar { + border-top:1px solid #99bbe8; + border-bottom: 0 none; +} +.x-panel-body-noheader, .x-panel-mc .x-panel-body { + 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/top-bottom.gif) repeat-x 0 0; + overflow:hidden; +} +/* fix ie7 strict mode bug */ +.ext-strict .ext-ie7 .x-panel-tc { + overflow: visible; +} +.x-panel-tl { + background: transparent url(../images/default/panel/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/corners-sprite.gif) no-repeat right 0; + zoom:1; + padding-right:6px; +} +.x-panel-bc { + background: transparent url(../images/default/panel/top-bottom.gif) repeat-x 0 bottom; + zoom:1; +} +.x-panel-bc .x-panel-footer { + zoom:1; +} + +.x-panel-bl { + background: transparent url(../images/default/panel/corners-sprite.gif) no-repeat 0 bottom; + padding-left:6px; + zoom:1; +} +.x-panel-br { + background: transparent url(../images/default/panel/corners-sprite.gif) no-repeat right bottom; + padding-right:6px; + zoom:1; +} +.x-panel-mc { + border:0 none; + padding:0; + margin:0; + font: normal 11px tahoma,arial,helvetica,sans-serif; + padding-top:6px; + background:#dfe8f6; +} +.x-panel-mc .x-panel-body { + background:transparent; + border: 0 none; +} +.x-panel-ml { + background: #fff url(../images/default/panel/left-right.gif) repeat-y 0 0; + padding-left:6px; + zoom:1; +} +.x-panel-mr { + background: transparent url(../images/default/panel/left-right.gif) repeat-y right 0; + padding-right:6px; + zoom:1; +} +.x-panel-bc .x-panel-footer { + padding-bottom:6px; +} +.x-panel-nofooter .x-panel-bc, .x-panel-nofooter .x-window-bc { + height:6px; + font-size:0; + line-height:0; +} + +.x-panel-bwrap { + overflow:hidden; + zoom:1; + left:0;top:0; +} +.x-panel-body { + overflow:hidden; + zoom:1; +} + +.x-panel-collapsed .x-resizable-handle{ + display:none; +} + +.ext-gecko .x-panel-animated div { + overflow:hidden !important; +} + +/* Plain */ +.x-plain-body { + overflow:hidden; +} + +.x-plain-bbar .x-toolbar { + overflow:hidden; + padding:2px; +} + +.x-plain-tbar .x-toolbar { + overflow:hidden; + padding:2px; +} + +.x-plain-bwrap { + overflow:hidden; + zoom:1; +} + +.x-plain { + overflow:hidden; +} + +/* Tools */ +.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; +} + +/* expand / collapse tools */ +.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-tool-minus { + background-position:0 -255px; +} +.x-tool-minus-over { + background-position:-15px -255px; +} +.x-tool-plus { + background-position:0 -240px; +} +.x-tool-plus-over { + background-position:-15px -240px; +} + +.x-tool-search { + background-position:0 -270px; +} +.x-tool-search-over { + background-position:-15px -270px; +} +.x-tool-save { + background-position:0 -285px; +} +.x-tool-save-over { + background-position:-15px -285px; +} +.x-tool-help { + background-position:0 -300px; +} +.x-tool-help-over { + background-position:-15px -300px; +} +.x-tool-print { + background-position:0 -315px; +} +.x-tool-print-over { + background-position:-15px -315px; +} + +/* Ghosting */ +.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 #99bbe8; + border-top:0 none; + display:block; +} + +.x-panel-ghost * { + cursor:move !important; +} + +.x-panel-dd-spacer { + border:2px dashed #99bbe8; +} +/* Buttons */ + +.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; /*ie*/ +} +.x-panel-btns-ct .x-panel-btns-center table{ + margin:0 auto; /*everyone else*/ +} +.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; +} \ No newline at end of file diff --git a/skins/jason/extjs/resources/css/progress.css b/skins/jason/extjs/resources/css/progress.css new file mode 100644 index 0000000..7b18da2 --- /dev/null +++ b/skins/jason/extjs/resources/css/progress.css @@ -0,0 +1,43 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +.x-progress-wrap { + border:1px solid #6593cf; + overflow:hidden; +} +.x-progress-inner { + height:18px; + background: #e0e8f3 url(../images/default/qtip/bg.gif) repeat-x; + position:relative; +} +.x-progress-bar { + height:18px; + float:left; + width:0; + background:#9CBFEE url( ../images/default/progress/progress-bg.gif ) repeat-x left center; + border-top:1px solid #D1E4FD; + border-bottom:1px solid #7FA9E4; + border-right:1px solid #7FA9E4; +} +.x-progress-text { + font-size:11px; + font-weight:bold; + color:#fff; + padding:1px 5px; + overflow:hidden; + position:absolute; + left:0; + text-align:center; +} +.x-progress-text-back { + color:#396095; + line-height:16px; +} +.ext-ie .x-progress-text-back { + line-height:15px; +} \ No newline at end of file diff --git a/skins/jason/extjs/resources/css/qtips.css b/skins/jason/extjs/resources/css/qtips.css new file mode 100644 index 0000000..c82c10e --- /dev/null +++ b/skins/jason/extjs/resources/css/qtips.css @@ -0,0 +1,134 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +.x-tip{ + position: absolute; + top: 0; + left:0; + visibility: hidden; + z-index: 20000; + border:0 none; +} +.x-tip .x-tip-close{ + background-image: url(../images/default/qtip/close.gif); + height: 15px; + float:right; + width: 15px; + margin:0 0 2px 2px; + cursor:pointer; + display:none; +} +.x-tip .x-tip-tc { + background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -62px; + padding-top:3px; + overflow:hidden; + zoom:1; +} +.x-tip .x-tip-tl { + background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 0; + padding-left:6px; + overflow:hidden; + zoom:1; +} +.x-tip .x-tip-tr { + background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right 0; + padding-right:6px; + overflow:hidden; + zoom:1; +} +.x-tip .x-tip-bc { + background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -121px; + height:3px; + overflow:hidden; +} +.x-tip .x-tip-bl { + background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -59px; + padding-left:6px; + zoom:1; +} +.x-tip .x-tip-br { + background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right -59px; + padding-right:6px; + zoom:1; +} +.x-tip .x-tip-mc { + border:0 none; + font: normal 11px tahoma,arial,helvetica,sans-serif; +} +.x-tip .x-tip-ml { + background: #fff url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -124px; + padding-left:6px; + zoom:1; +} +.x-tip .x-tip-mr { + background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right -124px; + padding-right:6px; + zoom:1; +} +.ext-ie .x-tip .x-tip-header,.ext-ie .x-tip .x-tip-tc { + font-size:0; + line-height:0; +} +.x-tip .x-tip-header-text { + font: bold 11px tahoma,arial,helvetica,sans-serif; + padding:0; + margin:0 0 2px 0; + color:#444; +} +.x-tip .x-tip-body { + font: normal 11px tahoma,arial,helvetica,sans-serif; + margin:0 !important; + line-height:14px; + color:#444; + padding:0; +} + +.x-tip .x-tip-body .loading-indicator { + margin:0; +} + +.x-tip-draggable .x-tip-header,.x-tip-draggable .x-tip-header-text { + cursor:move; +} + +.x-form-invalid-tip { +} + +.x-form-invalid-tip .x-tip-tc { + background: url(../images/default/form/error-tip-corners.gif) repeat-x 0 -12px; + padding-top:6px; +} +.x-form-invalid-tip .x-tip-tl { + background-image: url(../images/default/form/error-tip-corners.gif); +} +.x-form-invalid-tip .x-tip-tr { + background-image: url(../images/default/form/error-tip-corners.gif); +} +.x-form-invalid-tip .x-tip-bc { + background: url(../images/default/form/error-tip-corners.gif) repeat-x 0 -18px; + height:6px; +} +.x-form-invalid-tip .x-tip-bl { + background: url(../images/default/form/error-tip-corners.gif) no-repeat 0 -6px; +} +.x-form-invalid-tip .x-tip-br { + background: url(../images/default/form/error-tip-corners.gif) no-repeat right -6px; +} +.x-form-invalid-tip .x-tip-ml { + background-image: url(../images/default/form/error-tip-corners.gif); +} +.x-form-invalid-tip .x-tip-mr { + background-image: url(../images/default/form/error-tip-corners.gif); +} +.x-form-invalid-tip .x-tip-body { + padding:2px; +} +.x-form-invalid-tip .x-tip-body { + padding-left:24px; + background:transparent url(../images/default/form/exclamation.gif) no-repeat 2px 2px; +} \ No newline at end of file diff --git a/skins/jason/extjs/resources/css/reset-min.css b/skins/jason/extjs/resources/css/reset-min.css new file mode 100644 index 0000000..2cd8445 --- /dev/null +++ b/skins/jason/extjs/resources/css/reset-min.css @@ -0,0 +1,9 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +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:'';} \ No newline at end of file diff --git a/skins/jason/extjs/resources/css/reset.css b/skins/jason/extjs/resources/css/reset.css new file mode 100644 index 0000000..2cd8445 --- /dev/null +++ b/skins/jason/extjs/resources/css/reset.css @@ -0,0 +1,9 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +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:'';} \ No newline at end of file diff --git a/skins/jason/extjs/resources/css/resizable.css b/skins/jason/extjs/resources/css/resizable.css new file mode 100644 index 0000000..ee6c003 --- /dev/null +++ b/skins/jason/extjs/resources/css/resizable.css @@ -0,0 +1,143 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +.x-resizable-handle { + position:absolute; + z-index:100; + /* ie needs these */ + font-size:1px; + line-height:6px; + overflow:hidden; + background:white; + filter:alpha(opacity=0); + opacity:0; + zoom:1; +} +.x-resizable-handle-east{ + width:6px; + cursor:e-resize; + right:0; + top:0; + height:100%; +} +.ext-ie .x-resizable-handle-east { + margin-right:-1px; /*IE rounding error*/ +} +.x-resizable-handle-south{ + width:100%; + cursor:s-resize; + left:0; + bottom:0; + height:6px; +} +.ext-ie .x-resizable-handle-south { + margin-bottom:-1px; /*IE rounding error*/ +} +.x-resizable-handle-west{ + width:6px; + cursor:w-resize; + left:0; + top:0; + height:100%; +} +.x-resizable-handle-north{ + width:100%; + cursor:n-resize; + left:0; + top:0; + height:6px; +} +.x-resizable-handle-southeast{ + width:6px; + cursor:se-resize; + right:0; + bottom:0; + height:6px; + z-index:101; +} +.x-resizable-handle-northwest{ + width:6px; + cursor:nw-resize; + left:0; + top:0; + height:6px; + z-index:101; +} +.x-resizable-handle-northeast{ + width:6px; + cursor:ne-resize; + right:0; + top:0; + height:6px; + z-index:101; +} +.x-resizable-handle-southwest{ + width:6px; + cursor:sw-resize; + left:0; + bottom:0; + height:6px; + z-index:101; +} +.x-resizable-over .x-resizable-handle, .x-resizable-pinned .x-resizable-handle{ + filter:alpha(opacity=100); + opacity:1; +} +.x-resizable-over .x-resizable-handle-east, .x-resizable-pinned .x-resizable-handle-east{ + background:url(../images/default/sizer/e-handle.gif); + background-position: left; +} +.x-resizable-over .x-resizable-handle-west, .x-resizable-pinned .x-resizable-handle-west{ + background:url(../images/default/sizer/e-handle.gif); + background-position: left; +} +.x-resizable-over .x-resizable-handle-south, .x-resizable-pinned .x-resizable-handle-south{ + background:url(../images/default/sizer/s-handle.gif); + background-position: top; +} +.x-resizable-over .x-resizable-handle-north, .x-resizable-pinned .x-resizable-handle-north{ + background:url(../images/default/sizer/s-handle.gif); + background-position: top; +} +.x-resizable-over .x-resizable-handle-southeast, .x-resizable-pinned .x-resizable-handle-southeast{ + background:url(../images/default/sizer/se-handle.gif); + background-position: top left; +} +.x-resizable-over .x-resizable-handle-northwest, .x-resizable-pinned .x-resizable-handle-northwest{ + background:url(../images/default/sizer/nw-handle.gif); + background-position:bottom right; +} +.x-resizable-over .x-resizable-handle-northeast, .x-resizable-pinned .x-resizable-handle-northeast{ + background:url(../images/default/sizer/ne-handle.gif); + background-position: bottom left; +} +.x-resizable-over .x-resizable-handle-southwest, .x-resizable-pinned .x-resizable-handle-southwest{ + background:url(../images/default/sizer/sw-handle.gif); + background-position: top right; +} +.x-resizable-proxy{ + border: 1px dashed #3b5a82; + position:absolute; + overflow:hidden; + display:none; + left:0;top:0; + z-index:50000; +} +.x-resizable-overlay{ + width:100%; + height:100%; + display:none; + position:absolute; + left:0; + top:0; + background:white; + z-index:200000; + -moz-opacity: 0; + opacity:0; + filter: alpha(opacity=0); +} diff --git a/skins/jason/extjs/resources/css/slider.css b/skins/jason/extjs/resources/css/slider.css new file mode 100644 index 0000000..65583d9 --- /dev/null +++ b/skins/jason/extjs/resources/css/slider.css @@ -0,0 +1,90 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +/* Shared styles */ +.x-slider { + zoom:1; +} +.x-slider-inner { + position:relative; + left:0; + top:0; + overflow:visible; + zoom:1; +} +.x-slider-focus { + position:absolute; + left:0; + top:0; + width:1px; + height:1px; + line-height:1px; + font-size:1px; + -moz-outline:0 none; + outline:0 none; + -moz-user-select: text; + -khtml-user-select: text; +} + +/* Horizontal styles */ +.x-slider-horz { + padding-left:7px; + background:transparent url(../images/default/slider/slider-bg.png) no-repeat 0 -22px; +} +.x-slider-horz .x-slider-end { + padding-right:7px; + zoom:1; + background:transparent url(../images/default/slider/slider-bg.png) no-repeat right -44px; +} +.x-slider-horz .x-slider-inner { + background:transparent url(../images/default/slider/slider-bg.png) repeat-x 0 0; + height:22px; +} +.x-slider-horz .x-slider-thumb { + width:14px; + height:15px; + position:absolute; + left:0; + top:3px; + background:transparent url(../images/default/slider/slider-thumb.png) no-repeat 0 0; +} +.x-slider-horz .x-slider-thumb-over { + background-position: -14px -15px; +} +.x-slider-horz .x-slider-thumb-drag { + background-position: -28px -30px; +} + +/* Vertical styles */ +.x-slider-vert { + padding-top:7px; + background:transparent url(../images/default/slider/slider-v-bg.png) no-repeat -44px 0; + width:22px; +} +.x-slider-vert .x-slider-end { + padding-bottom:7px; + zoom:1; + background:transparent url(../images/default/slider/slider-v-bg.png) no-repeat -22px bottom; +} +.x-slider-vert .x-slider-inner { + background:transparent url(../images/default/slider/slider-v-bg.png) repeat-y 0 0; +} +.x-slider-vert .x-slider-thumb { + width:15px; + height:14px; + position:absolute; + left:3px; + bottom:0; + background:transparent url(../images/default/slider/slider-v-thumb.png) no-repeat 0 0; +} +.x-slider-vert .x-slider-thumb-over { + background-position: -15px -14px; +} +.x-slider-vert .x-slider-thumb-drag { + background-position: -30px -28px; +} \ No newline at end of file diff --git a/skins/jason/extjs/resources/css/tabs.css b/skins/jason/extjs/resources/css/tabs.css new file mode 100644 index 0000000..19cbaaf --- /dev/null +++ b/skins/jason/extjs/resources/css/tabs.css @@ -0,0 +1,358 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +.x-tab-panel { + overflow:hidden; +} +.x-tab-panel-header, .x-tab-panel-footer { + background: #deecfd; + border: 1px solid #8db2e3; + overflow:hidden; + zoom:1; +} + + +.x-tab-panel-header { + border: 1px solid #8db2e3; + padding-bottom: 2px; +} + +.x-tab-panel-footer { + border: 1px solid #8db2e3; + padding-top: 2px; +} + + +.x-tab-strip-wrap { + width:100%; + overflow:hidden; + position:relative; + zoom:1; +} +ul.x-tab-strip { + display:block; + width:5000px; + zoom:1; +} + +ul.x-tab-strip-top{ + padding-top: 1px; + background: url(../images/default/tabs/tab-strip-bg.gif) #cedff5 repeat-x bottom; + border-bottom: 1px solid #8db2e3; +} + +ul.x-tab-strip-bottom{ + padding-bottom: 1px; + background: url(../images/default/tabs/tab-strip-btm-bg.gif) #cedff5 repeat-x top; + border-top: 1px solid #8db2e3; + border-bottom: 0 none; +} + +.x-tab-panel-header-plain .x-tab-strip-top { + background:transparent !important; + padding-top:0 !important; +} +.x-tab-panel-header-plain { + background:transparent !important; + border-width:0 !important; + padding-bottom:0 !important; +} + +.x-tab-panel-header-plain .x-tab-strip-spacer, +.x-tab-panel-footer-plain .x-tab-strip-spacer { + border:1px solid #8db2e3; + height:2px; + background: #deecfd; + font-size:1px; + line-height:1px; +} +.x-tab-panel-header-plain .x-tab-strip-spacer { + border-top: 0 none; +} +.x-tab-panel-footer-plain .x-tab-strip-spacer { + border-bottom: 0 none; +} + +.x-tab-panel-footer-plain .x-tab-strip-bottom { + background:transparent !important; + padding-bottom:0 !important; +} +.x-tab-panel-footer-plain { + background:transparent !important; + border-width:0 !important; + padding-top:0 !important; +} + +.ext-border-box .x-tab-panel-header-plain .x-tab-strip-spacer, +.ext-border-box .x-tab-panel-footer-plain .x-tab-strip-spacer { + height:3px; +} + + +ul.x-tab-strip li { + float:left; + margin-left:2px; +} + + +ul.x-tab-strip li.x-tab-edge { + float:left; + margin:0 !important; + padding:0 !important; + border:0 none !important; + font-size:1px !important; + line-height:1px !important; + overflow:hidden; + zoom:1; + background:transparent !important; + width:1px; +} + +.x-tab-strip a, .x-tab-strip span, .x-tab-strip em { + display:block; +} + +.x-tab-strip a { + text-decoration:none !important; + -moz-outline: none; + outline: none; + cursor:pointer; +} + +.x-tab-strip-inner { + overflow:hidden; + text-overflow: ellipsis; +} + +.x-tab-strip span.x-tab-strip-text { + font:normal 11px tahoma,arial,helvetica; + color:#416aa3; + white-space: nowrap; + cursor:pointer; + padding:4px 0; +} +.x-tab-strip-top .x-tab-with-icon .x-tab-right { + padding-left:6px; +} +.x-tab-strip .x-tab-with-icon span.x-tab-strip-text { + padding-left:20px; + background-position: 0 3px; + background-repeat: no-repeat; +} + +.x-tab-strip-over span.x-tab-strip-text { + color:#15428b; +} + +.x-tab-strip-active, .x-tab-strip-active a.x-tab-right { + cursor:default; +} + +.x-tab-strip-active span.x-tab-strip-text { + cursor:default; + color:#15428b; + font-weight:bold; +} + +.x-tab-strip-disabled .x-tabs-text { + cursor:default; + color:#aaaaaa; +} + +.x-tab-panel-body { + overflow:hidden; +} +.x-tab-panel-bwrap { + overflow:hidden; +} +.ext-ie .x-tab-strip .x-tab-right { + position:relative; +} + +.x-tab-strip-top .x-tab-strip-active .x-tab-right { + margin-bottom:-1px; +} + +.x-tab-strip-top .x-tab-strip-active .x-tab-right span.x-tab-strip-text { + padding-bottom:5px; +} + +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right { + margin-top:-1px; +} +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right span.x-tab-strip-text { + padding-top:5px; +} + + +.x-tab-strip-top .x-tab-right { + background: transparent url(../images/default/tabs/tabs-sprite.gif) no-repeat 0 -51px; + padding-left:10px; +} + +.x-tab-strip-top .x-tab-left { + background: transparent url(../images/default/tabs/tabs-sprite.gif) no-repeat right -351px; + padding-right:10px; +} + +.x-tab-strip-top .x-tab-strip-inner { + background: transparent url(../images/default/tabs/tabs-sprite.gif) repeat-x 0 -201px; +} + +.x-tab-strip-top .x-tab-strip-over .x-tab-right { + background-position:0 -101px; +} +.x-tab-strip-top .x-tab-strip-over .x-tab-left { + background-position:right -401px; +} +.x-tab-strip-top .x-tab-strip-over .x-tab-strip-inner { + background-position:0 -251px; +} + +.x-tab-strip-top .x-tab-strip-active .x-tab-right { + background-position: 0 0; +} + +.x-tab-strip-top .x-tab-strip-active .x-tab-left { + background-position: right -301px; +} + +.x-tab-strip-top .x-tab-strip-active .x-tab-strip-inner { + background-position: 0 -151px; +} + +.x-tab-strip-bottom .x-tab-right { + background: url(../images/default/tabs/tab-btm-inactive-right-bg.gif) no-repeat bottom right; +} + +.x-tab-strip-bottom .x-tab-left { + background: url(../images/default/tabs/tab-btm-inactive-left-bg.gif) no-repeat bottom left; +} + +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right { + background: url(../images/default/tabs/tab-btm-right-bg.gif) no-repeat bottom left; +} + +.x-tab-strip-bottom .x-tab-strip-active .x-tab-left { + background: url(../images/default/tabs/tab-btm-left-bg.gif) no-repeat bottom right; +} +.x-tab-strip-bottom .x-tab-left { + padding:0 10px; +} +.x-tab-strip-bottom .x-tab-right { + padding:0; +} +.x-tab-strip .x-tab-strip-close { + display:none; +} +.x-tab-strip-closable { + position:relative; +} + +.x-tab-strip-closable .x-tab-left { + padding-right:19px; +} + +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close { + background-image:url(../images/default/tabs/tab-close.gif); + opacity:.6; + -moz-opacity:.6; + background-repeat:no-repeat; + display:block; + width:11px;height:11px; + position:absolute; + top:3px; + right:3px; + cursor:pointer; + z-index:2; +} + +.x-tab-strip .x-tab-strip-active a.x-tab-strip-close { + opacity:.8; + -moz-opacity:.8; +} +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{ + background-image:url(../images/default/tabs/tab-close.gif); + opacity:1; + -moz-opacity:1; +} + +.x-tab-panel-body { + border: 1px solid #8db2e3; + background:#fff; +} +.x-tab-panel-body-top { + border-top: 0 none; +} +.x-tab-panel-body-bottom { + border-bottom: 0 none; +} + +.x-tab-scroller-left { + background: transparent url(../images/default/tabs/scroll-left.gif) no-repeat -18px 0; + border-bottom: 1px solid #8db2e3; + width:18px; + position:absolute; + left:0; + top:0; + z-index:10; + cursor:pointer; +} +.x-tab-scroller-left-over { + background-position: 0 0; +} +.x-tab-scroller-left-disabled { + background-position: -18px 0; + opacity:.5; + -moz-opacity:.5; + filter:alpha(opacity=50); + cursor:default; +} +.x-tab-scroller-right { + background: transparent url(../images/default/tabs/scroll-right.gif) no-repeat 0 0; + border-bottom: 1px solid #8db2e3; + width:18px; + position:absolute; + right:0; + top:0; + z-index:10; + cursor:pointer; +} +.x-tab-scroller-right-over { + background-position: -18px 0; +} +.x-tab-scroller-right-disabled { + background-position: 0 0; + opacity:.5; + -moz-opacity:.5; + filter:alpha(opacity=50); + cursor:default; +} + +.x-tab-scrolling .x-tab-strip-wrap { + margin-left:18px; + margin-right:18px; +} + +.x-tab-scrolling { + position:relative; +} + +.x-tab-panel-bbar .x-toolbar { + border:1px solid #99bbe8; + border-top:0 none; + overflow:hidden; + padding:2px; +} + +.x-tab-panel-tbar .x-toolbar { + border:1px solid #99bbe8; + border-top:0 none; + overflow:hidden; + padding:2px; +} \ No newline at end of file diff --git a/skins/jason/extjs/resources/css/toolbar.css b/skins/jason/extjs/resources/css/toolbar.css new file mode 100644 index 0000000..3d820a3 --- /dev/null +++ b/skins/jason/extjs/resources/css/toolbar.css @@ -0,0 +1,183 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +.x-toolbar{ + border-color:#a9bfd3; + border-style:solid; + border-width:0 0 1px 0; + display: block; + padding:2px; + background:#d0def0 url(../images/default/toolbar/bg.gif) repeat-x top left; + position:relative; + zoom:1; +} +.x-toolbar .x-item-disabled .x-btn-icon { + opacity: .35; + -moz-opacity: .35; + filter: alpha(opacity=35); +} +.x-toolbar td { + vertical-align:middle; +} +.mso .x-toolbar, .x-grid-mso .x-toolbar{ + border: 0 none; + background: url(../images/default/grid/mso-hd.gif); +} +.x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label{ + white-space: nowrap; + font:normal 11px tahoma, arial, helvetica, sans-serif; +} +.x-toolbar .x-item-disabled { + color:gray; + cursor:default; + opacity:.6; + -moz-opacity:.6; + filter:alpha(opacity=60); +} +.x-toolbar .x-item-disabled * { + color:gray; + cursor:default; +} +.x-toolbar .x-btn-left{ + background:none; +} +.x-toolbar .x-btn-right{ + background:none; +} +.x-toolbar .x-btn-center{ + background:none; + padding:0 0; +} +.x-toolbar .x-btn-menu-text-wrap .x-btn-center button{ + padding-right:2px; +} +.ext-gecko .x-toolbar .x-btn-menu-text-wrap .x-btn-center button{ + padding-right:0; +} +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button{ + padding:0 2px; +} + +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button { + width:12px; + background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat 0 3px; +} +.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button { + width:12px; + background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat 0 3px; +} +.x-toolbar .x-btn-over .x-btn-menu-arrow-wrap .x-btn-center button { + background-position: 0 -47px; +} +.x-toolbar .x-btn-over .x-btn-left{ + background: url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 0; +} +.x-toolbar .x-btn-over .x-btn-right{ + background: url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -21px; +} +.x-toolbar .x-btn-over .x-btn-center{ + background: url(../images/default/toolbar/tb-btn-sprite.gif) repeat-x 0 -42px; +} + +.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{ + background: url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -63px; +} +.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{ + background: url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -84px; +} + +.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{ + background: url(../images/default/toolbar/tb-btn-sprite.gif) repeat-x 0 -105px; +} + +.x-toolbar .x-btn-with-menu .x-btn-center em{ + padding-right:8px; +} + +.x-toolbar .ytb-text{ + padding:2px; +} +.x-toolbar .ytb-sep { + background-image: url(../images/default/grid/grid-blue-split.gif); + background-position: center; + background-repeat: no-repeat; + display: block; + font-size: 1px; + height: 16px; + width:4px; + overflow: hidden; + cursor:default; + margin: 0 2px 0; + border:0; +} +.x-toolbar .ytb-spacer { + width:2px; +} + +/* Paging Toolbar */ + +.x-tbar-page-number{ + width:24px; + height:14px; +} +.x-tbar-page-first{ + background-image: url(../images/default/grid/page-first.gif) !important; +} +.x-tbar-loading{ + background-image: url(../images/default/grid/refresh.gif) !important; +} +.x-tbar-page-last{ + background-image: url(../images/default/grid/page-last.gif) !important; +} +.x-tbar-page-next{ + background-image: url(../images/default/grid/page-next.gif) !important; +} +.x-tbar-page-prev{ + background-image: url(../images/default/grid/page-prev.gif) !important; +} +.x-item-disabled .x-tbar-loading{ + background-image: url(../images/default/grid/loading.gif) !important; +} +.x-item-disabled .x-tbar-page-first{ + background-image: url(../images/default/grid/page-first-disabled.gif) !important; +} +.x-item-disabled .x-tbar-page-last{ + background-image: url(../images/default/grid/page-last-disabled.gif) !important; +} +.x-item-disabled .x-tbar-page-next{ + background-image: url(../images/default/grid/page-next-disabled.gif) !important; +} +.x-item-disabled .x-tbar-page-prev{ + background-image: url(../images/default/grid/page-prev-disabled.gif) !important; +} +.x-paging-info { + position:absolute; + top:5px; + right: 8px; + color:#444; +} + +/* StatusBar */ + +.x-statusbar .x-status-text { + height: 21px; + line-height: 21px; + padding: 0 4px; + cursor: default; +} +.x-statusbar .x-status-busy { + padding-left: 25px; + background: transparent url(../images/default/grid/loading.gif) no-repeat 3px 3px; +} +.x-statusbar .x-status-text-panel { + border-top: 1px solid #99BBE8; + border-right: 1px solid #fff; + border-bottom: 1px solid #fff; + border-left: 1px solid #99BBE8; + padding: 2px 8px 2px 5px; +} diff --git a/skins/jason/extjs/resources/css/tree.css b/skins/jason/extjs/resources/css/tree.css new file mode 100644 index 0000000..6ac6125 --- /dev/null +++ b/skins/jason/extjs/resources/css/tree.css @@ -0,0 +1,254 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +.x-tree .x-panel-body{ + background-color:#fff; +} +.ext-strict .ext-ie .x-tree .x-panel-bwrap{ + position:relative; + overflow:hidden; +} +.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{ + border: 0 none; + height: 18px; + margin: 0; + padding: 0; + vertical-align: top; + width: 16px; + background-repeat: no-repeat; +} +.x-tree-node-collapsed .x-tree-node-icon, .x-tree-node-expanded .x-tree-node-icon, .x-tree-node-leaf .x-tree-node-icon{ + border: 0 none; + height: 18px; + margin: 0; + padding: 0; + vertical-align: top; + width: 16px; + background-position:center; + background-repeat: no-repeat; +} +.ext-ie .x-tree-node-indent img, .ext-ie .x-tree-node-icon, .ext-ie .x-tree-ec-icon { + vertical-align:middle !important; +} +/* some default icons for leaf/folder */ +.x-tree-node-expanded .x-tree-node-icon{ + background-image:url(../images/default/tree/folder-open.gif); +} +.x-tree-node-leaf .x-tree-node-icon{ + background-image:url(../images/default/tree/leaf.gif); +} +.x-tree-node-collapsed .x-tree-node-icon{ + background-image:url(../images/default/tree/folder.gif); +} +/* checkboxes */ +.ext-ie input.x-tree-node-cb { + width:15px; + height:15px; +} +input.x-tree-node-cb { + margin-left:1px; +} +.ext-ie input.x-tree-node-cb { + margin-left:0; +} + +.x-tree-noicon .x-tree-node-icon{ + width:0; height:0; +} +/* loading icon */ +.x-tree-node-loading .x-tree-node-icon{ + background-image:url(../images/default/tree/loading.gif) !important; +} +.x-tree-node-loading a span{ + font-style: italic; + color:#444444; +} +.ext-ie .x-tree-node-el input { + width:15px; + height:15px; +} +/* Line styles */ +.x-tree-lines .x-tree-elbow{ + background-image:url(../images/default/tree/elbow.gif); +} +.x-tree-lines .x-tree-elbow-plus{ + background-image:url(../images/default/tree/elbow-plus.gif); +} +.x-tree-lines .x-tree-elbow-minus{ + background-image:url(../images/default/tree/elbow-minus.gif); +} +.x-tree-lines .x-tree-elbow-end{ + background-image:url(../images/default/tree/elbow-end.gif); +} +.x-tree-lines .x-tree-elbow-end-plus{ + background-image:url(../images/default/tree/elbow-end-plus.gif); +} +.x-tree-lines .x-tree-elbow-end-minus{ + background-image:url(../images/default/tree/elbow-end-minus.gif); +} +.x-tree-lines .x-tree-elbow-line{ + background-image:url(../images/default/tree/elbow-line.gif); +} + +/* No line styles */ +.x-tree-no-lines .x-tree-elbow{ + background:transparent; +} +.x-tree-no-lines .x-tree-elbow-plus{ + background-image:url(../images/default/tree/elbow-plus-nl.gif); +} +.x-tree-no-lines .x-tree-elbow-minus{ + background-image:url(../images/default/tree/elbow-minus-nl.gif); +} +.x-tree-no-lines .x-tree-elbow-end{ + background:transparent; +} +.x-tree-no-lines .x-tree-elbow-end-plus{ + background-image:url(../images/default/tree/elbow-end-plus-nl.gif); +} +.x-tree-no-lines .x-tree-elbow-end-minus{ + background-image:url(../images/default/tree/elbow-end-minus-nl.gif); +} +.x-tree-no-lines .x-tree-elbow-line{ + background:transparent; +} + + +/* Arrows */ +.x-tree-arrows .x-tree-elbow{ + background:transparent; +} +.x-tree-arrows .x-tree-elbow-plus{ + background:transparent url(../images/default/tree/arrows.gif) no-repeat 0 0; +} +.x-tree-arrows .x-tree-elbow-minus{ + background:transparent url(../images/default/tree/arrows.gif) no-repeat -16px 0; +} +.x-tree-arrows .x-tree-elbow-end{ + background:transparent; +} +.x-tree-arrows .x-tree-elbow-end-plus{ + background:transparent url(../images/default/tree/arrows.gif) no-repeat 0 0; +} +.x-tree-arrows .x-tree-elbow-end-minus{ + background:transparent url(../images/default/tree/arrows.gif) no-repeat -16px 0; +} +.x-tree-arrows .x-tree-elbow-line{ + background:transparent; +} + +.x-tree-arrows .x-tree-ec-over .x-tree-elbow-plus{ + background-position:-32px 0; +} +.x-tree-arrows .x-tree-ec-over .x-tree-elbow-minus{ + background-position:-48px 0; +} +.x-tree-arrows .x-tree-ec-over .x-tree-elbow-end-plus{ + background-position:-32px 0; +} +.x-tree-arrows .x-tree-ec-over .x-tree-elbow-end-minus{ + background-position:-48px 0; +} + + + +.x-tree-elbow-plus, .x-tree-elbow-minus, .x-tree-elbow-end-plus, .x-tree-elbow-end-minus{ + cursor:pointer; +} +.ext-ie ul.x-tree-node-ct{ + font-size:0; + line-height:0; + zoom:1; +} +.x-tree-node{ + color: black; + font: normal 11px arial, tahoma, helvetica, sans-serif; + white-space: nowrap; +} + +.x-tree-node-el { + line-height:18px; + cursor:pointer; +} + +.x-tree-node a, .x-dd-drag-ghost a{ + text-decoration:none; + color:black; + -khtml-user-select:none; + -moz-user-select:none; + -kthml-user-focus:normal; + -moz-user-focus:normal; + -moz-outline: 0 none; + outline:0 none; +} +.x-tree-node a span, .x-dd-drag-ghost a span{ + text-decoration:none; + color:black; + padding:1px 3px 1px 2px; +} +.x-tree-node .x-tree-node-disabled a span{ + color:gray !important; +} +.x-tree-node .x-tree-node-disabled .x-tree-node-icon{ + -moz-opacity: 0.5; + opacity:.5; + filter: alpha(opacity=50); +} +.x-tree-node .x-tree-node-inline-icon{ + background:transparent; +} +.x-tree-node a:hover, .x-dd-drag-ghost a:hover{ + text-decoration:none; +} +.x-tree-node div.x-tree-drag-insert-below{ + border-bottom:1px dotted #3366cc; +} +.x-tree-node div.x-tree-drag-insert-above{ + border-top:1px dotted #3366cc; +} +.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below{ + border-bottom:0 none; +} +.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above{ + border-top:0 none; +} +.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a{ + border-bottom:2px solid #3366cc; +} +.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a{ + border-top:2px solid #3366cc; +} +.x-tree-node .x-tree-drag-append a span{ + background:#dddddd; + border:1px dotted gray; +} +.x-tree-node .x-tree-node-over { + background-color: #eee; +} +.x-tree-node .x-tree-selected { + background-color: #d9e8fb; +} +.x-dd-drag-ghost .x-tree-node-indent, .x-dd-drag-ghost .x-tree-ec-icon{ + display:none !important; +} +.x-tree-drop-ok-append .x-dd-drop-icon{ + background-image: url(../images/default/tree/drop-add.gif); +} +.x-tree-drop-ok-above .x-dd-drop-icon{ + background-image: url(../images/default/tree/drop-over.gif); +} +.x-tree-drop-ok-below .x-dd-drop-icon{ + background-image: url(../images/default/tree/drop-under.gif); +} +.x-tree-drop-ok-between .x-dd-drop-icon{ + background-image: url(../images/default/tree/drop-between.gif); +} +/* Fix for ie rootVisible:false issue */ +.x-tree-root-ct { + zoom:1; +} diff --git a/skins/jason/extjs/resources/css/window.css b/skins/jason/extjs/resources/css/window.css new file mode 100644 index 0000000..c4f9e7d --- /dev/null +++ b/skins/jason/extjs/resources/css/window.css @@ -0,0 +1,208 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +.x-window { + zoom:1; +} +.x-window .x-resizable-handle { + opacity:0; + -moz-opacity:0; + filter:alpha(opacity=0); +} + +.x-window-proxy { + background:#C7DFFC; + border:1px solid #99bbe8; + z-index:12000; + overflow:hidden; + position:absolute; + left:0;top:0; + display:none; + opacity:.5; + -moz-opacity:.5; + filter:alpha(opacity=50); +} + +.x-window-header { + overflow:hidden; + zoom:1; +} +.x-window-bwrap { + z-index:1; + position:relative; + zoom:1; + left:0;top:0; +} +.x-window-tl .x-window-header { + color:#15428b; + font:bold 11px tahoma,arial,verdana,sans-serif; + padding:5px 0 4px 0; +} +.x-window-header-text { + cursor:pointer; +} +.x-window-tc { + background: transparent url(../images/default/window/top-bottom.png) repeat-x 0 0; + overflow:hidden; + zoom:1; +} +.x-window-tl { + background: transparent url(../images/default/window/left-corners.png) no-repeat 0 0; + padding-left:6px; + zoom:1; + z-index:1; + position:relative; +} +.x-window-tr { + background: transparent url(../images/default/window/right-corners.png) no-repeat right 0; + padding-right:6px; +} +.x-window-bc { + background: transparent url(../images/default/window/top-bottom.png) repeat-x 0 bottom; + zoom:1; +} +.x-window-bc .x-window-footer { + padding-bottom:6px; + zoom:1; + font-size:0; + line-height:0; +} +.x-window-bl { + background: transparent url(../images/default/window/left-corners.png) no-repeat 0 bottom; + padding-left:6px; + zoom:1; +} +.x-window-br { + background: transparent url(../images/default/window/right-corners.png) no-repeat right bottom; + padding-right:6px; + zoom:1; +} +.x-window-mc { + border:1px solid #99bbe8; + padding:0; + margin:0; + font: normal 11px tahoma,arial,helvetica,sans-serif; + background:#dfe8f6; +} + + +.x-window-ml { + background: transparent url(../images/default/window/left-right.png) repeat-y 0 0; + padding-left:6px; + zoom:1; +} +.x-window-mr { + background: transparent url(../images/default/window/left-right.png) repeat-y right 0; + padding-right:6px; + zoom:1; +} +.x-window-body { + overflow:hidden; +} +.x-window-bwrap { + overflow:hidden; +} +.x-window-maximized .x-window-bl, .x-window-maximized .x-window-br, + .x-window-maximized .x-window-ml, .x-window-maximized .x-window-mr, + .x-window-maximized .x-window-tl, .x-window-maximized .x-window-tr { + padding:0; +} +.x-window-maximized .x-window-footer { + padding-bottom:0; +} +.x-window-maximized .x-window-tc { + padding-left:3px; + padding-right:3px; + background-color:white; +} +.x-window-maximized .x-window-mc { + border-left:0 none; + border-right:0 none; +} +.x-window-tbar .x-toolbar, .x-window-bbar .x-toolbar { + border-left:0 none; + border-right: 0 none; +} +.x-window-bbar .x-toolbar { + border-top:1px solid #99bbe8; + border-bottom:0 none; +} +.x-window-draggable, .x-window-draggable .x-window-header-text { + cursor:move; +} +.x-window-maximized .x-window-draggable, .x-window-maximized .x-window-draggable .x-window-header-text { + cursor:default; +} +.x-window-body { + background:transparent; +} +.x-panel-ghost .x-window-tl { + border-bottom:1px solid #99bbe8; +} +.x-panel-collapsed .x-window-tl { + border-bottom:1px solid #84a0c4; +} +.x-window-maximized-ct { + overflow:hidden; +} +.x-window-maximized .x-resizable-handle { + display:none; +} +.x-window-sizing-ghost ul { + border:0 none !important; +} + + +.x-dlg-focus{ + -moz-outline:0 none; + outline:0 none; + width:0; + height:0; + overflow:hidden; + position:absolute; + top:0; + left:0; +} +.x-dlg-mask{ + z-index:10000; + display:none; + position:absolute; + top:0; + left:0; + -moz-opacity: 0.5; + opacity:.50; + filter: alpha(opacity=50); + background-color:#CCC; +} + +body.ext-ie6.x-body-masked select { + visibility:hidden; +} +body.ext-ie6.x-body-masked .x-window select { + visibility:visible; +} + +.x-window-plain .x-window-mc { + background: #CAD9EC; + border-right:1px solid #DFE8F6; + border-bottom:1px solid #DFE8F6; + border-top:1px solid #a3bae9; + border-left:1px solid #a3bae9; +} + +.x-window-plain .x-window-body { + border-left:1px solid #DFE8F6; + border-top:1px solid #DFE8F6; + border-bottom:1px solid #a3bae9; + border-right:1px solid #a3bae9; + background:transparent !important; +} + +body.x-body-masked .x-window-plain .x-window-mc { + background: #C7D6E9; +} \ No newline at end of file diff --git a/skins/jason/extjs/resources/css/xtheme-black.css b/skins/jason/extjs/resources/css/xtheme-black.css new file mode 100644 index 0000000..1639e61 --- /dev/null +++ b/skins/jason/extjs/resources/css/xtheme-black.css @@ -0,0 +1,678 @@ +/* + * Ext JS Library 2.0 Alpha 1 + * Copyright(c) 2006-2007, Ext JS, LLC. + * + * @license GPL + * @author Kemal Tunador + */ +.ext-el-mask { + background-color: #000000; +} +.ext-el-mask-msg { + border:1px solid #444444; + background: #666666; +} +.ext-el-mask-msg div { + border:1px solid #888888; +} + +.x-panel { + border-style: solid; + border-color: #000000; +} +.x-panel-header { + color:#eeeef0; + border:1px solid #000000; + background-image:url(../images/black/panel/white-top-bottom.gif); +} + +.x-panel-body { + border-color:#000000; +} + +.x-panel-bbar .x-toolbar { + border-color:#000000; +} + +.x-panel-tbar .x-toolbar { + border-color:#000000; +} + +.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar { + border-color:#000000; +} +.x-panel-body-noheader, .x-panel-mc .x-panel-body { + border-color:#000000; +} +.x-panel-tl .x-panel-header { + color:#eeeef0; +} +.x-panel-tc { + background-image:url(../images/black/panel/top-bottom.gif); +} +.x-panel-tl { + background-image:url(../images/black/panel/corners-sprite.gif); + border-color:#000000; +} +.x-panel-tr { + background-image:url(../images/black/panel/corners-sprite.gif); +} +.x-panel-bc { + background-image:url(../images/black/panel/top-bottom.gif); +} +.x-panel-bl { + background-image:url(../images/black/panel/corners-sprite.gif); +} +.x-panel-br { + background-image:url(../images/black/panel/corners-sprite.gif); +} +.x-panel-mc { + background:#363636; + color:#eeeeee; +} +.x-panel-mc .x-panel-body { + background:transparent; + border: 0 none; +} +.x-panel-ml { + background-image:url(../images/black/panel/left-right.gif); +} +.x-panel-mr { + background-image:url(../images/black/panel/left-right.gif); +} + +/* Ghosting */ +.x-panel-ghost { + background:#363636; +} + +.x-panel-ghost ul { + border-color:#000000; +} + +.x-grid-panel .x-panel-mc .x-panel-body { + border:1px solid #000000; +} + +/* Grid */ +.x-grid3-row { + color:#000000; +} +.x-grid3-row-over { + border:1px solid #292929; + background-image:url(../images/black/grid/row-over.gif); +} +.x-grid3-header{ + background-image:url(../images/black/grid/grid3-hrow.gif); +} +.x-grid3-hd-inner { + color : #EEEEEE; +} +.x-grid3-header-pop-inner { + border-left:1px solid #000000; + background-image:url(../images/black/grid/hd-pop.gif); +} +td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open { + border-left:1px solid #000000; + border-right:1px solid #000000; +} +.sort-desc .x-grid3-sort-icon { + background-image:url(../images/black/grid/sort_desc.gif); +} +.sort-asc .x-grid3-sort-icon { + background-image:url(../images/black/grid/sort_asc.gif); +} +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 { + background-image:url(../images/black/grid/grid3-hrow-over.gif); + background-color:#595959; +} +.x-dd-drag-proxy .x-grid3-hd-inner{ + background-image:url(../images/black/grid/grid3-hrow-over.gif); +} +.x-grid3-locked td.x-grid3-row-marker, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{ + background-image:url(../images/black/grid/grid-hrow.gif); + color:#666666; + border-top:1px solid white; + border-right:1px solid #000000 !important; +} +.x-props-grid .x-grid3-td-name .x-grid3-cell-inner{ + background-image:url(../images/black/grid/grid3-special-col-bg.gif); + color:#eeeeee !important; +} +.x-grid3-hd-btn { + background-image:url(../images/black/grid/grid3-hd-btn.gif); +} +.x-grid3-body .x-grid3-td-expander { + background-image:url(../images/black/grid/grid3-special-col-bg.gif); +} +.x-grid3-body .x-grid3-td-checker { + background-image:url(../images/black/grid/grid3-special-col-bg.gif); +} +.x-grid3-body .x-grid3-td-numberer { + background-image:url(../images/black/grid/grid3-special-col-bg.gif); +} +.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer, +.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker, +.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander { + background-image:url(../images/black/grid/grid3-special-col-sel-bg.gif); +} +.x-grid3-hd-row td { + border-left:1px solid #888888; + border-right:1px solid #666666; +} +.x-grid3-row-selected { + background: #eeeef0; + border:1px dotted #999999; +} +.xg-hmenu-sort-asc .x-menu-item-icon{ + background-image: url(../images/black/grid/hmenu-asc.gif); +} +.xg-hmenu-sort-desc .x-menu-item-icon{ + background-image: url(../images/black/grid/hmenu-desc.gif); +} + +.x-grid-group-hd div { + color : #223355; +} +.x-grid-group-hd { + border-color:#333333; +} + +/* Menu */ + +.x-menu { + border: 1px solid #000000; + background-color:#393939; + background-image:url(../images/black/menu/menu.gif); +} +.x-menu-sep { + background-color:#4d4d4d; + border-bottom:1px solid #272727; +} +.x-menu-plain { + background:#393939 !important; +} +.x-menu-item-active { + background-image:url(../images/black/menu/item-over.gif); + background-color:#3f3f3f; + border:1px solid #222222; +} +.x-menu a.x-menu-item { + color:#eeeeee; +} +.x-menu-item-active a.x-menu-item { + color: #ffffff; +} + +/* Tools */ +.x-tool { + background-image:url(../images/black/panel/tool-sprites.gif); +} + +/* Buttons */ + +.x-btn-text{ +color: #eeeef0; +font-weight:bold !important; +} +.x-btn-left{ + background-image:url(../images/black/button/btn-sprite.gif); +} +.x-btn-right{ + background-image:url(../images/black/button/btn-sprite.gif); +} +.x-btn-center{ + background-image:url(../images/black/button/btn-sprite.gif); +} +.x-btn-menu-arrow-wrap .x-btn-center button { + background-image:url(../images/black/button/btn-arrow.gif); +} +.x-btn-with-menu .x-btn-center em { + background-image:url(../images/black/toolbar/btn-arrow-light.gif); +} + +.x-btn-text-icon .x-btn-with-menu .x-btn-center em { + background-image:url(../images/black/toolbar/btn-arrow-light.gif); +} + +/* Layout classes */ + +.x-border-layout-ct { + background:#888888; /* f1f2f4 */ +} + +.x-accordion-hd { + background-image:url(../images/black/panel/light-hd.gif); +} + +.x-layout-collapsed{ + background-color:#222222; + border-color:#000000; +} +.x-layout-collapsed-over{ + background-color:#444444; +} + +/* qtips */ +.x-tip .x-tip-close{ + background-image: url(../images/black/qtip/close.gif); +} +.x-tip .x-tip-tc { + background-image:url(../images/black/qtip/tip-sprite.gif); +} +.x-tip .x-tip-tl { + background-image:url(../images/black/qtip/tip-sprite.gif); +} +.x-tip .x-tip-tr { + background-image:url(../images/black/qtip/tip-sprite.gif); +} +.x-tip .x-tip-bc { + background-image:url(../images/black/qtip/tip-sprite.gif); +} +.x-tip .x-tip-bl { + background-image:url(../images/black/qtip/tip-sprite.gif); +} +.x-tip .x-tip-br { + background-image:url(../images/black/qtip/tip-sprite.gif); +} +.x-tip .x-tip-ml { + background-image:url(../images/black/qtip/tip-sprite.gif); +} +.x-tip .x-tip-mr { + background-image:url(../images/black/qtip/tip-sprite.gif); +} +.x-tip .x-tip-header-text { + color:#ffffff; +} +.x-tip .x-tip-body { + color:#eeeeee; +} +.x-form-invalid-icon{background-image:url(../images/black/form/exclamation.gif);} +.x-form-invalid-tip .x-tip-tc{background-image:url(../images/black/form/error-tip-corners.gif);} +.x-form-invalid-tip .x-tip-tl{background-image:url(../images/black/form/error-tip-corners.gif);} +.x-form-invalid-tip .x-tip-tr{background-image:url(../images/black/form/error-tip-corners.gif);} +.x-form-invalid-tip .x-tip-bc{background-image:url(../images/black/form/error-tip-corners.gif);} +.x-form-invalid-tip .x-tip-bl{background-image:url(../images/black/form/error-tip-corners.gif);} +.x-form-invalid-tip .x-tip-br{background-image:url(../images/black/form/error-tip-corners.gif);} +.x-form-invalid-tip .x-tip-ml{background-image:url(../images/black/form/error-tip-corners.gif);} +.x-form-invalid-tip .x-tip-mr{background-image:url(../images/black/form/error-tip-corners.gif);} + +/* Toolbars */ + +.x-toolbar{ + border-color:#444444; + background:#282828 url(../images/black/toolbar/bg.gif) repeat-x top left; +} +.x-toolbar button { + color:#eeeef0; +} +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button { + background-image:url(../images/black/toolbar/btn-arrow.gif); +} +.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button { + background-image:url(../images/black/toolbar/btn-arrow-light.gif); +} +.x-toolbar .x-btn-over .x-btn-left{ + background-image:url(../images/black/toolbar/tb-btn-sprite.gif); +} +.x-toolbar .x-btn-over .x-btn-right{ + background-image:url(../images/black/toolbar/tb-btn-sprite.gif); +} +.x-toolbar .x-btn-over .x-btn-center{ + background-image:url(../images/black/toolbar/tb-btn-sprite.gif); +} +.x-toolbar .x-btn-over button { + color:#ffffff; +} +.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{ + background-image:url(../images/black/toolbar/tb-btn-sprite.gif); +} +.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{ + background-image:url(../images/black/toolbar/tb-btn-sprite.gif); +} + +.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{ + background-image:url(../images/black/toolbar/tb-btn-sprite.gif); +} +.x-toolbar .ytb-sep { + background-image: url(../images/black/grid/grid-split.gif); +} +.x-paging-info, .ytb-text { + color:#eeeef0; +} + +/* Form */ + +.x-form-field-wrap .x-form-trigger{ + background-image:url(../images/black/form/trigger.gif); + border-bottom: 1px solid #a3a3a3; +} +.x-form-field-wrap .x-form-date-trigger{ + background-image: url(../images/black/form/date-trigger.gif); +} +.x-form-field-wrap .x-form-clear-trigger{ + background-image: url(../images/black/form/clear-trigger.gif); +} +.x-form-field-wrap .x-form-search-trigger{ + background-image: url(../images/black/form/search-trigger.gif); +} + +.x-form-text, textarea.x-form-field{ + border: 1px solid #a3a3a3; +} +.x-form-select-one { + border: 1px solid #a3a3a3; +} +.x-item-disabled .x-form-trigger-over{ + border-bottom: 1px solid #a3a3a3; +} +.x-item-disabled .x-form-trigger-click{ + border-bottom: 1px solid #a3a3a3; +} +.x-form fieldset { + border:1px solid #a3a3a3; +} +.x-trigger-wrap-focus .x-form-trigger{ + border-bottom: 1px solid #0e0e0e; +} +.x-form-focus, textarea.x-form-focus{ + border: 1px solid #0e0e0e; +} + + +/* Tabs */ + +.x-tab-panel-header, .x-tab-panel-footer { + background: #363636; + border-color:#000000; +} + + +.x-tab-panel-header { + border-color:#000000; +} + +.x-tab-panel-footer { + border-color:#000000; +} + +ul.x-tab-strip-top{ + background:#353535 url(../images/black/tabs/tab-strip-bg.gif) repeat-x left top; + border-color:#000000; +} + +ul.x-tab-strip-bottom{ + background-image:url(../images/black/tabs/tab-strip-btm-bg.gif); + border-color:#000000; +} + +.x-tab-strip span.x-tab-strip-text { + color:#cccccc; +} +.x-tab-strip-over span.x-tab-strip-text { + color:#ffffff; +} + +.x-tab-strip-active span.x-tab-strip-text { + color:#eeeef0; +} + +.x-tab-strip-top .x-tab-right { + background-image:url(../images/black/tabs/tabs-sprite.gif); +} + +.x-tab-strip-top .x-tab-left { + background-image:url(../images/black/tabs/tabs-sprite.gif); +} +.x-tab-strip-top .x-tab-strip-inner { + background-image:url(../images/black/tabs/tabs-sprite.gif); +} + +.x-tab-strip-bottom .x-tab-right { + background-image:url(../images/black/tabs/tab-btm-inactive-right-bg.gif); +} + +.x-tab-strip-bottom .x-tab-left { + background-image:url(../images/black/tabs/tab-btm-inactive-left-bg.gif); +} + +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right { + background-image:url(../images/black/tabs/tab-btm-right-bg.gif); +} + +.x-tab-strip-bottom .x-tab-strip-active .x-tab-left { + background-image:url(../images/black/tabs/tab-btm-left-bg.gif); +} + +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close { + background-image:url(../images/black/tabs/tab-close.gif); +} +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{ + background-image:url(../images/black/tabs/tab-close.gif); +} + +.x-tab-panel-body { + border-color:#000000; + background:#eeeeee; +} +.x-tab-panel-bbar .x-toolbar { + border-color: #000000; +} + +.x-tab-panel-tbar .x-toolbar { + border-color: #000000; +} + +.x-tab-panel-header-plain .x-tab-strip-spacer { + border-color:#000000; + background: #353535; +} + +.x-tab-scroller-left { + background-image: url(../images/black/tabs/scroll-left.gif); + border-color:#000000; +} +.x-tab-scroller-right { + background-image: url(../images/black/tabs/scroll-right.gif); + border-color:#000000; +} + +/* Window */ + +.x-window-proxy { + background:#363636; + border-color:#000000; +} + +.x-window-tl .x-window-header { + color:#eeeef0; +} +.x-window-tc { + background-image:url(../images/black/window/top-bottom.png); +} +.x-window-tl { + background-image:url(../images/black/window/left-corners.png); +} +.x-window-tr { + background-image:url(../images/black/window/right-corners.png); +} +.x-window-bc { + background-image:url(../images/black/window/top-bottom.png); +} +.x-window-bl { + background-image:url(../images/black/window/left-corners.png); +} +.x-window-br { + background-image:url(../images/black/window/right-corners.png); +} +.x-window-mc { + border:1px solid #333333; + background:#454545; + color: #eeeeee; +} + +.x-window-ml { + background-image:url(../images/black/window/left-right.png); +} +.x-window-mr { + background-image:url(../images/black/window/left-right.png); +} +.x-panel-ghost .x-window-tl { + border-color:#000000; +} +.x-panel-collapsed .x-window-tl { + border-color:#000000; +} + +.x-window-plain .x-window-mc { + color: #eeeeee; + background: #222222; + border-left:1px solid #111111; + border-top:1px solid #111111; + border-bottom:1px solid #222222; + border-right:1px solid #222222; +} + +.x-window-plain .x-window-body { + border-left:1px solid #555555; + border-top:1px solid #555555; + border-bottom:1px solid #333333; + border-right:1px solid #333333; + background:transparent !important; +} + +body.x-body-masked .x-window-mc, body.x-body-masked .x-window-plain .x-window-mc { + color: #eeeeee; + background-color: #1a1a1a; +} + +/* Date Picker */ +.x-date-picker { + border: 1px solid #000000; + background:#ffffff; +} +.x-date-middle,.x-date-left,.x-date-right { + background-image: url(../images/black/shared/hd-sprite.gif); +} +.x-date-middle .x-btn-with-menu .x-btn-center em { + background-image:url(../images/black/toolbar/btn-arrow-light.gif); +} +.x-date-right a { + background-image: url(../images/black/shared/right-btn.gif); +} +.x-date-left a{ + background-image: url(../images/black/shared/left-btn.gif); +} +.x-date-inner th { + background-image:url(../images/black/shared/glass-bg.gif); + border-bottom: 1px solid #000000; + color:#eeeef0; +} +.x-date-inner .x-date-selected a{ + background-image:url(../images/black/shared/glass-bg.gif); + border:1px solid #000000; + color:#eeeef0; +} +.x-date-bottom { + border-top: 1px solid #000000; + background-image:url(../images/black/shared/glass-bg.gif); +} +.x-date-mp-btns { + background-image:url(../images/black/shared/glass-bg.gif); +} +td.x-date-mp-sel a { + background-image:url(../images/black/shared/glass-bg.gif); + border:1px solid #000000; + color: #eeeef0 !important; +} +.x-date-mp-ybtn a { + background-image:url(../images/black/panel/tool-sprites.gif); +} +.x-date-mp-btns button { + background-image:url(../images/black/shared/glass-bg.gif); + border-color: #eeeeee #bbbbbb #bbbbbb #eeeeee; + color: #eeeef0; +} +.x-date-inner a{ + color:#000000; +} +.x-date-inner a:hover, .x-date-inner .x-date-disabled a:hover{ + color:#eeeef0; + background: #353535; +} +td.x-date-mp-month a,td.x-date-mp-year a { + color:#000000; +} +td.x-date-mp-month a:hover,td.x-date-mp-year a:hover { + color:#eeeef0; + background: #353535; +} + +/* misc */ +.x-html-editor-wrap { + border-color:#000000; +} + +/* Editor */ +.x-html-editor-tb .x-btn-text { + background:transparent url(../images/black/editor/tb-sprite.gif) no-repeat; +} + +/* FieldSet*/ +.x-fieldset-header-text { + color : #eeeeee; +} + +/* Borders go last for specificity */ +.x-panel-noborder .x-panel-body-noborder { + border-width:0; +} + +.x-panel-noborder .x-panel-header-noborder { + border-width:0; + border-bottom:1px solid #000000; +} + +.x-panel-noborder .x-panel-tbar-noborder .x-toolbar { + border-width:0; + border-bottom:1px solid #000000; +} + +.x-panel-noborder .x-panel-bbar-noborder .x-toolbar { + border-width:0; + border-top:1px solid #000000; +} + +.x-window-noborder .x-window-mc { + border-width:0; +} +.x-window-plain .x-window-body-noborder { + border-width:0; +} + +.x-tab-panel-noborder .x-tab-panel-body-noborder { + border-width:0; +} + +.x-tab-panel-noborder .x-tab-panel-header-noborder { + border-top-width:0; + border-left-width:0; + border-right-width:0; +} + +.x-tab-panel-noborder .x-tab-panel-footer-noborder { + border-bottom-width:0; + border-left-width:0; + border-right-width:0; +} + + +.x-tab-panel-bbar-noborder .x-toolbar { + border-width:0; + border-top:1px solid #000000; +} + +.x-tab-panel-tbar-noborder .x-toolbar { + border-width:0; + border-bottom:1px solid #000000; +} \ No newline at end of file diff --git a/skins/jason/extjs/resources/css/xtheme-darkgray.css b/skins/jason/extjs/resources/css/xtheme-darkgray.css new file mode 100644 index 0000000..5eeccd4 --- /dev/null +++ b/skins/jason/extjs/resources/css/xtheme-darkgray.css @@ -0,0 +1,606 @@ +/* + * Ext JS Library 2.0 Alpha 1 + * Copyright(c) 2006-2007, Ext JS, LLC. + * + * @license LGPL + * @author Kemal Tunador + */ + +.x-panel { + border-style: solid; + border-color: #777777; +} +.x-panel-header { + color:#eeeeee; + border:1px solid #777777; + background-image:url(../images/darkgray/panel/white-top-bottom.gif); +} + +.x-panel-body { + border-color:#777777; +} + +.x-panel-bbar .x-toolbar { + border-color:#777777; +} + +.x-panel-tbar .x-toolbar { + border-color:#777777; +} + +.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar { + border-color:#777777; +} +.x-panel-body-noheader, .x-panel-mc .x-panel-body { + border-color:#777777; +} +.x-panel-tl .x-panel-header { + color:#eeeeee; +} +.x-panel-tc { + background-image:url(../images/darkgray/panel/top-bottom.gif); +} +.x-panel-tl { + background-image:url(../images/darkgray/panel/corners-sprite.gif); + border-color:#777777; +} +.x-panel-tr { + background-image:url(../images/darkgray/panel/corners-sprite.gif); +} +.x-panel-bc { + background-image:url(../images/darkgray/panel/top-bottom.gif); +} +.x-panel-bl { + background-image:url(../images/darkgray/panel/corners-sprite.gif); +} +.x-panel-br { + background-image:url(../images/darkgray/panel/corners-sprite.gif); +} +.x-panel-mc { + background:#888888; + color:#f9f9f9; /*ADDED*/ +} +.x-panel-mc .x-panel-body { + background:transparent; + border: 0 none; +} +.x-panel-ml { + background-image:url(../images/darkgray/panel/left-right.gif); +} +.x-panel-mr { + background-image:url(../images/darkgray/panel/left-right.gif); +} + +/* Grid */ +.x-grid3-row { + color:#000000; +} +.x-grid3-row-over { + border:1px solid #dddddd; + background-image:url(../images/darkgray/grid/row-over.gif); +} +.x-grid3-header{ + background-image:url(../images/darkgray/grid/grid3-hrow.gif); +} +.x-grid3-header-pop-inner { + border-left:1px solid #eee; + background-image:url(../images/darkgray/grid/hd-pop.gif); +} +td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open { + border-left:1px solid #668899; + border-right:1px solid #668899; + color: #000000; +} +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 { + background-image:url(../images/darkgray/grid/grid3-hrow-over.gif); +} +.x-dd-drag-proxy .x-grid3-hd-inner{ + background-image:url(../images/darkgray/grid/grid3-hrow-over.gif); +} +.x-grid3-locked td.x-grid3-row-marker, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{ + background-image:url(../images/darkgray/grid/grid-hrow.gif); + color:black; + border-top:1px solid white; + border-right:1px solid #6fa0df !important; +} +.x-props-grid .x-grid3-td-name .x-grid3-cell-inner{ + background-image:url(../images/darkgray/grid/grid3-special-col-bg.gif); + color:black !important; +} +.x-grid3-hd-btn { + background-image:url(../images/darkgray/grid/grid3-hd-btn.gif); +} +.x-grid3-body .x-grid3-td-expander { + background-image:url(../images/darkgray/grid/grid3-special-col-bg.gif); +} +.x-grid3-body .x-grid3-td-checker { + background-image:url(../images/darkgray/grid/grid3-special-col-bg.gif); +} +.x-grid3-body .x-grid3-td-numberer { + background-image:url(../images/darkgray/grid/grid3-special-col-bg.gif); +} +.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer, +.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker, +.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander { + background-image:url(../images/darkgray/grid/grid3-special-col-sel-bg.gif); +} +.x-grid3-row-selected { + color: #eeeeee; + background: #555759; + border:1px dotted #111111; +} + +/* Menu */ +.x-menu { + border: 1px solid #333333; + background-image:url(../images/darkgray/menu/menu.gif); +} +.x-menu-sep { + background-color:#e6e6e6; + border-bottom:1px solid #bfbfbf; +} +.x-menu-item-active { + background-image:url(../images/darkgray/menu/item-over.gif); + border:1px solid #aaaaaa; +} + +/* Tools */ +.x-tool { + background-image:url(../images/darkgray/panel/tool-sprites.gif); +} + +/* Ghosting */ +.x-panel-ghost { + background:#888888; +} + +.x-panel-ghost ul { + border-color:#555555; +} + +.x-grid-panel .x-panel-mc .x-panel-body { + border:1px solid #777777; +} + +/* Buttons */ + +.x-btn-text{ +color: #eee; +} +.x-btn-left{ + background-image:url(../images/darkgray/button/btn-sprite.gif); +} +.x-btn-right{ + background-image:url(../images/darkgray/button/btn-sprite.gif); +} +.x-btn-center{ + background-image:url(../images/darkgray/button/btn-sprite.gif); +} + +/* Layout classes */ + +.x-border-layout-ct { + background:#abadaf; /* f1f2f4 */ +} + +.x-accordion-hd { + background-image:url(../images/darkgray/panel/light-hd.gif); +} + +.x-layout-collapsed{ + background-color:#777777; + border-color:#555555; +} +.x-layout-collapsed-over{ + background-color:#888888; +} + + +/* qtips */ +.x-tip .x-tip-close{ + background-image: url(../images/darkgray/qtip/close.gif); +} +.x-tip .x-tip-tc { + background-image:url(../images/darkgray/qtip/tip-sprite.gif); +} +.x-tip .x-tip-tl { + background-image:url(../images/darkgray/qtip/tip-sprite.gif); +} +.x-tip .x-tip-tr { + background-image:url(../images/darkgray/qtip/tip-sprite.gif); +} +.x-tip .x-tip-bc { + background-image:url(../images/darkgray/qtip/tip-sprite.gif); +} +.x-tip .x-tip-bl { + background-image:url(../images/darkgray/qtip/tip-sprite.gif); +} +.x-tip .x-tip-br { + background-image:url(../images/darkgray/qtip/tip-sprite.gif); +} +.x-tip .x-tip-ml { + background-image:url(../images/darkgray/qtip/tip-sprite.gif); +} +.x-tip .x-tip-mr { + background-image:url(../images/darkgray/qtip/tip-sprite.gif); +} +.x-tip .x-tip-header-text { + color:#eeeeee; +} +.x-tip .x-tip-body { + color:#eeeeee; +} +/* Toolbars */ + +.x-toolbar{ + border-color:#777777; + background:#9c9c9c url(../images/darkgray/toolbar/bg.gif) repeat-x top left; +} +.x-toolbar button { + color:#e5e5e5; +} +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button { + background-image:url(../images/darkgray/toolbar/btn-arrow.gif); +} +.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button { + background-image:url(../images/darkgray/toolbar/btn-arrow.gif); +} +.x-toolbar .x-btn-over .x-btn-left{ + background-image:url(../images/darkgray/toolbar/tb-btn-sprite.gif); +} +.x-toolbar .x-btn-over .x-btn-right{ + background-image:url(../images/darkgray/toolbar/tb-btn-sprite.gif); +} +.x-toolbar .x-btn-over .x-btn-center{ + background-image:url(../images/darkgray/toolbar/tb-btn-sprite.gif); +} +.x-toolbar .x-btn-over button { + color:#eeeeee; +} +.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{ + background-image:url(../images/darkgray/toolbar/tb-btn-sprite.gif); +} +.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{ + background-image:url(../images/darkgray/toolbar/tb-btn-sprite.gif); +} + +.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{ + background-image:url(../images/darkgray/toolbar/tb-btn-sprite.gif); +} +.x-toolbar .ytb-sep { + background-image: url(../images/darkgray/grid/grid-split.gif); +} +.x-paging-info { + color:#f9f9f9; +} + +/* Form */ + +.x-form-field-wrap .x-form-trigger{ + background-image:url(../images/darkgray/form/trigger.gif); + border-bottom: 1px solid #a5a5a5; +} +.x-form-field-wrap .x-form-date-trigger{ + background-image: url(../images/darkgray/form/date-trigger.gif); +} +.x-form-field-wrap .x-form-clear-trigger{ + background-image: url(../images/darkgray/form/clear-trigger.gif); +} +.x-form-field-wrap .x-form-search-trigger{ + background-image: url(../images/darkgray/form/search-trigger.gif); +} +.x-form-text, textarea.x-form-field{ + border: 1px solid #a5a5a5; +} +.x-form-select-one { + border: 1px solid #a5a5a5; +} +.x-item-disabled .x-form-trigger-over{ + border-bottom: 1px solid #a5a5a5; +} +.x-item-disabled .x-form-trigger-click{ + border-bottom: 1px solid #a5a5a5; +} +.x-form fieldset { + border:1px solid #a5a5a5; +} +.x-trigger-wrap-focus .x-form-trigger{ + border-bottom: 1px solid #929292; +} +.x-form-focus, textarea.x-form-focus{ + border: 1px solid #929292; +} +/* Tabs */ + +.x-tab-panel-header, .x-tab-panel-footer { + background: #646464; + border-color:#777777; +} + + +.x-tab-panel-header { + border-color:#777777; +} + +.x-tab-panel-footer { + border-color:#777777; +} + +ul.x-tab-strip-top{ + background:#7a7a7a url(../images/darkgray/tabs/tab-strip-bg.gif) repeat-x left top; + border-color:#777777; + padding-top: 2px; +} + +ul.x-tab-strip-bottom{ + background-image:url(../images/darkgray/tabs/tab-strip-btm-bg.gif); + border-color:#777777; +} + +.x-tab-strip span.x-tab-strip-text { + color:#dddddd; +} +.x-tab-strip-over span.x-tab-strip-text { + color:#ffffff; +} + +.x-tab-strip-active span.x-tab-strip-text { + color:#eeeeee; +} + +.x-tab-strip-disabled .x-tabs-text { + color:#888888; +} + +.x-tab-strip-top .x-tab-right { + background-image:url(../images/darkgray/tabs/tabs-sprite.gif); +} + +.x-tab-strip-top .x-tab-left { + background-image:url(../images/darkgray/tabs/tabs-sprite.gif); +} +.x-tab-strip-top .x-tab-strip-inner { + background-image:url(../images/darkgray/tabs/tabs-sprite.gif); +} + +.x-tab-strip-bottom .x-tab-right { + background-image:url(../images/darkgray/tabs/tab-btm-inactive-right-bg.gif); +} + +.x-tab-strip-bottom .x-tab-left { + background-image:url(../images/darkgray/tabs/tab-btm-inactive-left-bg.gif); +} + +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right { + background-image:url(../images/darkgray/tabs/tab-btm-right-bg.gif); +} + +.x-tab-strip-bottom .x-tab-strip-active .x-tab-left { + background-image:url(../images/darkgray/tabs/tab-btm-left-bg.gif); +} + +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close { + background-image:url(../images/darkgray/tabs/tab-close.gif); +} +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{ + background-image:url(../images/darkgray/tabs/tab-close.gif); +} + +.x-tab-panel-body { + border-color:#777777; + background:#eeeeee; +} +.x-tab-panel-bbar .x-toolbar { + border-color: #777777; +} + +.x-tab-panel-tbar .x-toolbar { + border-color: #777777; +} + +.x-tab-panel-header-plain .x-tab-strip-spacer { + border-color:#777777; + background: #e7e7e7; +} + +.x-tab-scroller-left { + background-image: url(../images/darkgray/tabs/scroll-left.gif); + border-color:#aeaeae; +} +.x-tab-scroller-right { + background-image: url(../images/darkgray/tabs/scroll-right.gif); + border-color:#aeaeae; +} + +/* Buttons */ + +.x-btn-menu-arrow-wrap .x-btn-center button { + background-image:url(../images/darkgray/button/btn-arrow.gif); +} +.x-btn-with-menu .x-btn-center em { + background-image:url(../images/darkgray/toolbar/btn-arrow.gif); +} + +.x-btn-text-icon .x-btn-with-menu .x-btn-center em { + background-image:url(../images/darkgray/toolbar/btn-arrow-light.gif); +} + +/* Window */ + +.x-window-proxy { + background:#e0e0e0; + border-color:#b0b0b0; +} + +.x-window-tl .x-window-header { + color:#eeeeee; +} +.x-window-tc { + background-image:url(../images/darkgray/window/top-bottom.png); +} +.x-window-tl { + background-image:url(../images/darkgray/window/left-corners.png); +} +.x-window-tr { + background-image:url(../images/darkgray/window/right-corners.png); +} +.x-window-bc { + background-image:url(../images/darkgray/window/top-bottom.png); +} +.x-window-bl { + background-image:url(../images/darkgray/window/left-corners.png); +} +.x-window-br { + background-image:url(../images/darkgray/window/right-corners.png); +} +.x-window-mc { + border:1px solid #555555; + background:#aaaaaa; +} + +.x-window-ml { + background-image:url(../images/darkgray/window/left-right.png); +} +.x-window-mr { + background-image:url(../images/darkgray/window/left-right.png); +} +.x-panel-ghost .x-window-tl { + border-color:#555555; +} +.x-panel-collapsed .x-window-tl { + border-color:#555555; +} + +.x-window-plain .x-window-mc { + background: #999; + border-right:1px solid #eee; + border-bottom:1px solid #eee; + border-top:1px solid #555555; + border-left:1px solid #555555; +} + +.x-window-plain .x-window-body { + border-left:1px solid #eee; + border-top:1px solid #eee; + border-bottom:1px solid #555555; + border-right:1px solid #555555; + background:transparent !important; +} + +body.x-body-masked .x-window-mc, body.x-body-masked .x-window-plain .x-window-mc { + background-color: #999; +} + +/* Date Picker */ +.x-date-picker { + border: 1px solid #000000; + background:#eeeeee; +} +.x-date-middle,.x-date-left,.x-date-right { + background-image: url(../images/darkgray/shared/hd-sprite.gif); +} +.x-date-middle .x-btn-with-menu .x-btn-center em { + background-image:url(../images/darkgray/toolbar/btn-arrow-light.gif); +} +.x-date-right a { + background-image: url(../images/darkgray/shared/right-btn.gif); +} +.x-date-left a{ + background-image: url(../images/darkgray/shared/left-btn.gif); +} +.x-date-inner th { + background-image:url(../images/darkgray/shared/glass-bg.gif); + border-bottom: 1px solid #333333; + color:#eeeef2; +} +.x-date-inner .x-date-selected a{ + background-image:url(../images/darkgray/shared/glass-bg.gif); + border:1px solid #333333; + color:#eeeef2; +} +.x-date-bottom { + border-top: 1px solid #333333; + background-image:url(../images/darkgray/shared/glass-bg.gif); +} +.x-date-mp-btns { + background-image:url(../images/darkgray/shared/glass-bg.gif); +} +td.x-date-mp-sel a { + background-image:url(../images/darkgray/shared/glass-bg.gif); + border:1px solid #000000; + color: #eeeef2; +} +.x-date-mp-ybtn a { + background-image:url(../images/darkgray/panel/tool-sprites.gif); +} +.x-date-mp-btns button { + background-image:url(../images/darkgray/shared/glass-bg.gif); + border-color: #555555 #000000 #000000 #555555; +} +.x-date-inner a:hover, .x-date-inner .x-date-disabled a:hover{ + color:#eeeef2; + background: #333333; +} +td.x-date-mp-month a:hover,td.x-date-mp-year a:hover { + color:#eeeef2; + background: #333333; +} + +/* misc */ +.x-html-editor-wrap { + border-color:#d0d0d0; +} + +/* Borders go last for specificity */ +.x-panel-noborder .x-panel-body-noborder { + border-width:0; +} + +.x-panel-noborder .x-panel-header-noborder { + border-width:0; + border-bottom:1px solid #d0d0d0; +} + +.x-panel-noborder .x-panel-tbar-noborder .x-toolbar { + border-width:0; + border-bottom:1px solid #d0d0d0; +} + +.x-panel-noborder .x-panel-bbar-noborder .x-toolbar { + border-width:0; + border-top:1px solid #d0d0d0; +} + +.x-window-noborder .x-window-mc { + border-width:0; +} +.x-window-plain .x-window-body-noborder { + border-width:0; +} + +.x-tab-panel-noborder .x-tab-panel-body-noborder { + border-width:0; +} + +.x-tab-panel-noborder .x-tab-panel-header-noborder { + border-top-width:0; + border-left-width:0; + border-right-width:0; +} + +.x-tab-panel-noborder .x-tab-panel-footer-noborder { + border-bottom-width:0; + border-left-width:0; + border-right-width:0; +} + + +.x-tab-panel-bbar-noborder .x-toolbar { + border-width:0; + border-top:1px solid #d0d0d0; +} + +.x-tab-panel-tbar-noborder .x-toolbar { + border-width:0; + border-bottom:1px solid #d0d0d0; +} diff --git a/skins/jason/extjs/resources/css/xtheme-default.css b/skins/jason/extjs/resources/css/xtheme-default.css new file mode 100644 index 0000000..a39edc8 --- /dev/null +++ b/skins/jason/extjs/resources/css/xtheme-default.css @@ -0,0 +1,3 @@ +/** default **/ + + diff --git a/skins/jason/extjs/resources/css/xtheme-gray.css b/skins/jason/extjs/resources/css/xtheme-gray.css new file mode 100644 index 0000000..62549bd --- /dev/null +++ b/skins/jason/extjs/resources/css/xtheme-gray.css @@ -0,0 +1,415 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +.x-panel { + border-style: solid; + border-color: #d0d0d0; +} +.x-panel-header { + color:#333; + border:1px solid #d0d0d0; + background-image:url(../images/gray/panel/white-top-bottom.gif); +} + +.x-panel-body { + border-color:#d0d0d0; +} + +.x-panel-bbar .x-toolbar { + border-color:#d0d0d0; +} + +.x-panel-tbar .x-toolbar { + border-color:#d0d0d0; +} + +.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar { + border-color:#d0d0d0; +} +.x-panel-body-noheader, .x-panel-mc .x-panel-body { + border-color:#d0d0d0; +} +.x-panel-tl .x-panel-header { + color:#333; +} +.x-panel-tc { + background-image:url(../images/gray/panel/top-bottom.gif); +} +.x-panel-tl { + background-image:url(../images/gray/panel/corners-sprite.gif); + border-color:#d0d0d0; +} +.x-panel-tr { + background-image:url(../images/gray/panel/corners-sprite.gif); +} +.x-panel-bc { + background-image:url(../images/gray/panel/top-bottom.gif); +} +.x-panel-bl { + background-image:url(../images/gray/panel/corners-sprite.gif); +} +.x-panel-br { + background-image:url(../images/gray/panel/corners-sprite.gif); +} +.x-panel-mc { + background:#f1f1f1; +} +.x-panel-mc .x-panel-body { + background:transparent; + border: 0 none; +} +.x-panel-ml { + background-image:url(../images/gray/panel/left-right.gif); +} +.x-panel-mr { + background-image:url(../images/gray/panel/left-right.gif); +} + +/* Tools */ +.x-tool { + background-image:url(../images/gray/panel/tool-sprites.gif); +} + +/* Ghosting */ +.x-panel-ghost { + background:#e0e0e0; +} + +.x-panel-ghost ul { + border-color:#b0b0b0; +} + +.x-grid-panel .x-panel-mc .x-panel-body { + border:1px solid #d0d0d0; +} + +/* Buttons */ + +.x-btn-left{ + background-image:url(../images/gray/button/btn-sprite.gif); +} +.x-btn-right{ + background-image:url(../images/gray/button/btn-sprite.gif); +} +.x-btn-center{ + background-image:url(../images/gray/button/btn-sprite.gif); +} + +/* Layout classes */ + +.x-border-layout-ct { + background:#f0f0f0; +} + +.x-accordion-hd { + background-image:url(../images/gray/panel/light-hd.gif); +} + +.x-layout-collapsed{ + background-color:#eee; + border-color:#e0e0e0; +} +.x-layout-collapsed-over{ + background-color:#fbfbfb; +} + + +/* qtips */ +.x-tip .x-tip-top { + background-image:url(../images/gray/qtip/tip-sprite.gif); +} +.x-tip .x-tip-top-left { + background-image:url(../images/gray/qtip/tip-sprite.gif); +} +.x-tip .x-tip-top-right { + background-image:url(../images/gray/qtip/tip-sprite.gif); +} +.x-tip .x-tip-ft { + background-image:url(../images/gray/qtip/tip-sprite.gif); +} +.x-tip .x-tip-ft-left { + background-image:url(../images/gray/qtip/tip-sprite.gif); +} +.x-tip .x-tip-ft-right { + background-image:url(../images/gray/qtip/tip-sprite.gif); +} +.x-tip .x-tip-bd-left { + background-image:url(../images/gray/qtip/tip-sprite.gif); +} +.x-tip .x-tip-bd-right { + background-image:url(../images/gray/qtip/tip-sprite.gif); +} + +/* Toolbars */ + +.x-toolbar{ + border-color:#d0d0d0; + background:#f0f4f5 url(../images/gray/toolbar/bg.gif) repeat-x top left; +} +.x-toolbar button { + color:#444; +} +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button { + background-image:url(../images/gray/toolbar/btn-arrow.gif); +} +.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button { + background-image:url(../images/gray/toolbar/btn-arrow.gif); +} +.x-toolbar .x-btn-over .x-btn-left{ + background-image:url(../images/gray/toolbar/tb-btn-sprite.gif); +} +.x-toolbar .x-btn-over .x-btn-right{ + background-image:url(../images/gray/toolbar/tb-btn-sprite.gif); +} +.x-toolbar .x-btn-over .x-btn-center{ + background-image:url(../images/gray/toolbar/tb-btn-sprite.gif); +} +.x-toolbar .x-btn-over button { + color:#111; +} +.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{ + background-image:url(../images/gray/toolbar/tb-btn-sprite.gif); +} +.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{ + background-image:url(../images/gray/toolbar/tb-btn-sprite.gif); +} + +.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{ + background-image:url(../images/gray/toolbar/tb-btn-sprite.gif); +} +.x-toolbar .ytb-sep { + background-image: url(../images/default/grid/grid-split.gif); +} + +/* Tabs */ + +.x-tab-panel-header, .x-tab-panel-footer { + background: #EAEAEA; + border-color:#d0d0d0; +} + + +.x-tab-panel-header { + border-color:#d0d0d0; +} + +.x-tab-panel-footer { + border-color:#d0d0d0; +} + +ul.x-tab-strip-top{ + background:#dbdbdb url(../images/gray/tabs/tab-strip-bg.gif) repeat-x left top; + border-color:#d0d0d0; + padding-top: 2px; +} + +ul.x-tab-strip-bottom{ + background-image:url(../images/gray/tabs/tab-strip-btm-bg.gif); + border-color:#d0d0d0; +} + +.x-tab-strip span.x-tab-strip-text { + color:#333; +} +.x-tab-strip-over span.x-tab-strip-text { + color:#111; +} + +.x-tab-strip-active span.x-tab-strip-text { + color:#333; +} + +.x-tab-strip-disabled .x-tabs-text { + color:#aaaaaa; +} + +.x-tab-strip-top .x-tab-right { + background-image:url(../images/gray/tabs/tabs-sprite.gif); +} + +.x-tab-strip-top .x-tab-left { + background-image:url(../images/gray/tabs/tabs-sprite.gif); +} +.x-tab-strip-top .x-tab-strip-inner { + background-image:url(../images/gray/tabs/tabs-sprite.gif); +} + +.x-tab-strip-bottom .x-tab-right { + background-image:url(../images/gray/tabs/tab-btm-inactive-right-bg.gif); +} + +.x-tab-strip-bottom .x-tab-left { + background-image:url(../images/gray/tabs/tab-btm-inactive-left-bg.gif); +} + +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right { + background-image:url(../images/gray/tabs/tab-btm-right-bg.gif); +} + +.x-tab-strip-bottom .x-tab-strip-active .x-tab-left { + background-image:url(../images/gray/tabs/tab-btm-left-bg.gif); +} + +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close { + background-image:url(../images/gray/tabs/tab-close.gif); +} +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{ + background-image:url(../images/gray/tabs/tab-close.gif); +} + +.x-tab-panel-body { + border-color:#d0d0d0; + background:#fff; +} +.x-tab-panel-bbar .x-toolbar { + border-color: #d0d0d0; +} + +.x-tab-panel-tbar .x-toolbar { + border-color: #d0d0d0; +} + +.x-tab-panel-header-plain .x-tab-strip-spacer { + border-color:#d0d0d0; + background: #eaeaea; +} + +.x-tab-scroller-left { + background-image: url(../images/gray/tabs/scroll-left.gif); + border-color:#aeaeae; +} +.x-tab-scroller-right { + background-image: url(../images/gray/tabs/scroll-right.gif); + border-color:#aeaeae; +} + +/* Window */ + +.x-window-proxy { + background:#e0e0e0; + border-color:#b0b0b0; +} + +.x-window-tl .x-window-header { + color:#555; +} +.x-window-tc { + background-image:url(../images/gray/window/top-bottom.png); +} +.x-window-tl { + background-image:url(../images/gray/window/left-corners.png); +} +.x-window-tr { + background-image:url(../images/gray/window/right-corners.png); +} +.x-window-bc { + background-image:url(../images/gray/window/top-bottom.png); +} +.x-window-bl { + background-image:url(../images/gray/window/left-corners.png); +} +.x-window-br { + background-image:url(../images/gray/window/right-corners.png); +} +.x-window-mc { + border:1px solid #d0d0d0; + background:#e8e8e8; +} + +.x-window-ml { + background-image:url(../images/gray/window/left-right.png); +} +.x-window-mr { + background-image:url(../images/gray/window/left-right.png); +} +.x-panel-ghost .x-window-tl { + border-color:#d0d0d0; +} +.x-panel-collapsed .x-window-tl { + border-color:#d0d0d0; +} + +.x-window-plain .x-window-mc { + background: #e8e8e8; + border-right:1px solid #eee; + border-bottom:1px solid #eee; + border-top:1px solid #d0d0d0; + border-left:1px solid #d0d0d0; +} + +.x-window-plain .x-window-body { + border-left:1px solid #eee; + border-top:1px solid #eee; + border-bottom:1px solid #d0d0d0; + border-right:1px solid #d0d0d0; + background:transparent !important; +} + +body.x-body-masked .x-window-mc, body.x-body-masked .x-window-plain .x-window-mc { + background-color: #e4e4e4; +} + + +/* misc */ +.x-html-editor-wrap { + border-color:#d0d0d0; +} + +/* Borders go last for specificity */ +.x-panel-noborder .x-panel-body-noborder { + border-width:0; +} + +.x-panel-noborder .x-panel-header-noborder { + border-width:0; + border-bottom:1px solid #d0d0d0; +} + +.x-panel-noborder .x-panel-tbar-noborder .x-toolbar { + border-width:0; + border-bottom:1px solid #d0d0d0; +} + +.x-panel-noborder .x-panel-bbar-noborder .x-toolbar { + border-width:0; + border-top:1px solid #d0d0d0; +} + +.x-window-noborder .x-window-mc { + border-width:0; +} +.x-window-plain .x-window-body-noborder { + border-width:0; +} + +.x-tab-panel-noborder .x-tab-panel-body-noborder { + border-width:0; +} + +.x-tab-panel-noborder .x-tab-panel-header-noborder { + border-top-width:0; + border-left-width:0; + border-right-width:0; +} + +.x-tab-panel-noborder .x-tab-panel-footer-noborder { + border-bottom-width:0; + border-left-width:0; + border-right-width:0; +} + + +.x-tab-panel-bbar-noborder .x-toolbar { + border-width:0; + border-top:1px solid #d0d0d0; +} + +.x-tab-panel-tbar-noborder .x-toolbar { + border-width:0; + border-bottom:1px solid #d0d0d0; +} \ No newline at end of file diff --git a/skins/jason/extjs/resources/css/xtheme-olive.css b/skins/jason/extjs/resources/css/xtheme-olive.css new file mode 100644 index 0000000..942c3e6 --- /dev/null +++ b/skins/jason/extjs/resources/css/xtheme-olive.css @@ -0,0 +1,624 @@ +/* + * Ext JS Library 2.0 Alpha 1 + * Copyright(c) 2006-2007, Ext JS, LLC. + * + * @license LGPL + * @author Kemal Tunador + */ + +.x-panel { + border-style: solid; + border-color: #9acd68; +} +.x-panel-header { + color:#000000; + border:1px solid #9acd68; + background-image:url(../images/olive/panel/white-top-bottom.gif); +} +.x-panel-tl .x-panel-header { + color:#000000; +} +.x-panel-body { + border-color:#9acd68; +} + +.x-panel-bbar .x-toolbar { + border-color:#9acd68; +} + +.x-panel-tbar .x-toolbar { + border-color:#9acd68; +} + +.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar { + border-color:#9acd68; +} +.x-panel-body-noheader, .x-panel-mc .x-panel-body { + border-color:#9acd68; +} +.x-panel-tc { + background-image:url(../images/olive/panel/top-bottom.gif); +} +.x-panel-tl { + background-image:url(../images/olive/panel/corners-sprite.gif); + border-color:#9acd68; +} +.x-panel-tr { + background-image:url(../images/olive/panel/corners-sprite.gif); +} +.x-panel-bc { + background-image:url(../images/olive/panel/top-bottom.gif); +} +.x-panel-bl { + background-image:url(../images/olive/panel/corners-sprite.gif); +} +.x-panel-br { + background-image:url(../images/olive/panel/corners-sprite.gif); +} +.x-panel-mc { + background:#bbdd99; + color:#000000; +} +.x-panel-mc .x-panel-body { + background:transparent; + border: 0 none; +} +.x-panel-ml { + background-image:url(../images/olive/panel/left-right.gif); +} +.x-panel-mr { + background-image:url(../images/olive/panel/left-right.gif); +} + +/* Ghosting */ +.x-panel-ghost { + background:#bbdd99; +} + +.x-panel-ghost ul { + border-color:#9acd68; +} + +.x-grid-panel .x-panel-mc .x-panel-body { + border:1px solid #9acd68; +} + +/* Grid */ +.x-grid3-row { + color:#000000; +} +.x-grid3-row-over { + border:1px solid #9acd68; + background-image:url(../images/olive/grid/row-over.gif); +} +.x-grid3-header{ + background-image:url(../images/olive/grid/grid3-hrow.gif); +} +.x-grid3-header-pop-inner { + border-left:1px solid #5c8f2a; + background-image:url(../images/olive/grid/hd-pop.gif); +} +td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open { + border-left:1px solid #5c8f2a; + border-right:1px solid #5c8f2a; +} +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 { + background-image:url(../images/olive/grid/grid3-hrow-over.gif); + background-color:#c3e1a5; +} +.x-dd-drag-proxy .x-grid3-hd-inner{ + background-image:url(../images/olive/grid/grid3-hrow-over.gif); +} +.x-grid3-locked td.x-grid3-row-marker, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{ + background-image:url(../images/olive/grid/grid-hrow.gif); + color:#666666; + border-top:1px solid #508918; + border-right:1px solid #5c8f2a !important; +} +.x-props-grid .x-grid3-td-name .x-grid3-cell-inner{ + background-image:url(../images/olive/grid/grid3-special-col-bg.gif); + color:#eeeeee !important; +} +.x-grid3-hd-btn { + background-image:url(../images/olive/grid/grid3-hd-btn.gif); +} +.x-grid3-body .x-grid3-td-expander { + background-image:url(../images/olive/grid/grid3-special-col-bg.gif); +} +.x-grid3-body .x-grid3-td-checker { + background-image:url(../images/olive/grid/grid3-special-col-bg.gif); +} +.x-grid3-body .x-grid3-td-numberer { + background-image:url(../images/olive/grid/grid3-special-col-bg.gif); +} +.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer, +.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker, +.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander { + background-image:url(../images/olive/grid/grid3-special-col-sel-bg.gif); +} +.x-grid3-hd-row td { + border-left:1px solid #afe977; + border-right:1px solid #508918; +} +.x-grid3-row-selected { + background: #c3e1a5; + border:1px dotted #9acd68; +} + +/* Menu */ + +.x-menu { + border: 1px solid #83a95d; + background-color:#c4dbaf; + background-image:url(../images/olive/menu/menu.gif); +} +.x-menu-sep { + background-color:#daeec6; + border-bottom:1px solid #618041; +} +.x-menu-plain { + background:#c4dbaf !important; +} +.x-menu-item-active { + background-image:url(../images/olive/menu/item-over.gif); + background-color:#caefa4; + border:1px solid #88b659; +} +.x-menu a.x-menu-item { + color:#222222; +} +.x-menu-item-active a.x-menu-item { + color: #000000; +} + +/* Tools */ +.x-tool { + background-image:url(../images/olive/panel/tool-sprites.gif); +} + +/* Buttons */ + +.x-btn-text{ + color: #000000; + font-weight:bold !important; +} +.x-btn-left{ + background-image:url(../images/olive/button/btn-sprite.gif); +} +.x-btn-right{ + background-image:url(../images/olive/button/btn-sprite.gif); +} +.x-btn-center{ + background-image:url(../images/olive/button/btn-sprite.gif); +} +.x-btn-menu-arrow-wrap .x-btn-center button { + background-image:url(../images/olive/button/btn-arrow.gif); +} +.x-btn-with-menu .x-btn-center em { + background-image:url(../images/olive/toolbar/btn-arrow.gif); +} + +.x-btn-text-icon .x-btn-with-menu .x-btn-center em { + background-image:url(../images/olive/toolbar/btn-arrow.gif); +} + +/* Layout classes */ + +.x-border-layout-ct { + background:#f3fff3; /* f1f2f4 */ +} + +.x-accordion-hd { + background-image:url(../images/olive/panel/light-hd.gif); +} + +.x-layout-collapsed{ + background-color:#a0cf6a; + border-color:#92c95d; +} +.x-layout-collapsed-over{ + background-color:#b1d578; +} + + +/* qtips */ +.x-tip .x-tip-close{ + background-image: url(../images/olive/qtip/close.gif); +} +.x-tip .x-tip-tc { + background-image:url(../images/olive/qtip/tip-sprite.gif); +} +.x-tip .x-tip-tl { + background-image:url(../images/olive/qtip/tip-sprite.gif); +} +.x-tip .x-tip-tr { + background-image:url(../images/olive/qtip/tip-sprite.gif); +} +.x-tip .x-tip-bc { + background-image:url(../images/olive/qtip/tip-sprite.gif); +} +.x-tip .x-tip-bl { + background-image:url(../images/olive/qtip/tip-sprite.gif); +} +.x-tip .x-tip-br { + background-image:url(../images/olive/qtip/tip-sprite.gif); +} +.x-tip .x-tip-ml { + background-image:url(../images/olive/qtip/tip-sprite.gif); +} +.x-tip .x-tip-mr { + background-image:url(../images/olive/qtip/tip-sprite.gif); +} +.x-tip .x-tip-header-text { + color:#000000; +} +.x-tip .x-tip-body { + color:#111111; +} +/* Toolbars */ + +.x-toolbar{ + border-color:#9acd68; + background:#b4da8f url(../images/olive/toolbar/bg.gif) repeat-x top left; +} +.x-toolbar button { + color:#222222; +} +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button { + background-image:url(../images/olive/toolbar/btn-arrow.gif); +} +.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button { + background-image:url(../images/olive/toolbar/btn-arrow.gif); +} +.x-toolbar .x-btn-over .x-btn-left{ + background-image:url(../images/olive/toolbar/tb-btn-sprite.gif); +} +.x-toolbar .x-btn-over .x-btn-right{ + background-image:url(../images/olive/toolbar/tb-btn-sprite.gif); +} +.x-toolbar .x-btn-over .x-btn-center{ + background-image:url(../images/olive/toolbar/tb-btn-sprite.gif); +} +.x-toolbar .x-btn-over button { + color:#000000; +} +.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{ + background-image:url(../images/olive/toolbar/tb-btn-sprite.gif); +} +.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{ + background-image:url(../images/olive/toolbar/tb-btn-sprite.gif); +} + +.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{ + background-image:url(../images/olive/toolbar/tb-btn-sprite.gif); +} +.x-toolbar .ytb-sep { + background-image: url(../images/olive/grid/grid-split.gif); +} +.x-paging-info { + color:#000000; +} + +/* Form */ + +.x-form-field-wrap .x-form-trigger{ + background-image:url(../images/olive/form/trigger.gif); + border-bottom: 1px solid #94d655; +} +.x-form-field-wrap .x-form-date-trigger{ + background-image: url(../images/olive/form/date-trigger.gif); +} +.x-form-field-wrap .x-form-clear-trigger{ + background-image: url(../images/olive/form/clear-trigger.gif); +} +.x-form-field-wrap .x-form-search-trigger{ + background-image: url(../images/olive/form/search-trigger.gif); +} + +.x-form-text, textarea.x-form-field{ + border: 1px solid #94d655; +} +.x-form-select-one { + border: 1px solid #94d655; +} +.x-item-disabled .x-form-trigger-over{ + border-bottom: 1px solid #94d655; +} +.x-item-disabled .x-form-trigger-click{ + border-bottom: 1px solid #94d655; +} +.x-form fieldset { + border:1px solid #94d655; +} +.x-trigger-wrap-focus .x-form-trigger{ + border-bottom: 1px solid #72b82f; +} +.x-form-focus, textarea.x-form-focus{ + border: 1px solid #72b82f; +} + + +/* Tabs */ + +.x-tab-panel-header, .x-tab-panel-footer { + background: #bedf9e; + border-color:#92c95d; +} + + +.x-tab-panel-header { + border-color:#92c95d; +} + +.x-tab-panel-footer { + border-color:#92c95d; +} + +ul.x-tab-strip-top{ + background:#bedf9e url(../images/olive/tabs/tab-strip-bg.gif) repeat-x left top; + border-color:#92c95d; +} + +ul.x-tab-strip-bottom{ + background-image:url(../images/olive/tabs/tab-strip-btm-bg.gif); + border-color:#92c95d; +} + +.x-tab-strip span.x-tab-strip-text { + color:#333333; +} +.x-tab-strip-over span.x-tab-strip-text { + color:#000000; +} + +.x-tab-strip-active span.x-tab-strip-text { + color:#111111; +} + +.x-tab-strip-top .x-tab-right { + background-image:url(../images/olive/tabs/tabs-sprite.gif); +} + +.x-tab-strip-top .x-tab-left { + background-image:url(../images/olive/tabs/tabs-sprite.gif); +} +.x-tab-strip-top .x-tab-strip-inner { + background-image:url(../images/olive/tabs/tabs-sprite.gif); +} + +.x-tab-strip-bottom .x-tab-right { + background-image:url(../images/olive/tabs/tab-btm-inactive-right-bg.gif); +} + +.x-tab-strip-bottom .x-tab-left { + background-image:url(../images/olive/tabs/tab-btm-inactive-left-bg.gif); +} + +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right { + background-image:url(../images/olive/tabs/tab-btm-right-bg.gif); +} + +.x-tab-strip-bottom .x-tab-strip-active .x-tab-left { + background-image:url(../images/olive/tabs/tab-btm-left-bg.gif); +} + +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close { + background-image:url(../images/olive/tabs/tab-close.gif); +} +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{ + background-image:url(../images/olive/tabs/tab-close.gif); +} + +.x-tab-panel-body { + border-color:#92c95d; + background:#eeeeee; +} +.x-tab-panel-bbar .x-toolbar { + border-color: #92c95d; +} + +.x-tab-panel-tbar .x-toolbar { + border-color: #92c95d; +} + +.x-tab-panel-header-plain .x-tab-strip-spacer { + border-color:#92c95d; + background: #bedf9e; +} + +.x-tab-scroller-left { + background-image: url(../images/olive/tabs/scroll-left.gif); + border-color:#92c95d; +} +.x-tab-scroller-right { + background-image: url(../images/olive/tabs/scroll-right.gif); + border-color:#92c95d; +} + +/* Window */ + +.x-window-proxy { + background:#363636; + border-color:#92c95d; +} + +.x-window-tl .x-window-header { + color:#000000; +} +.x-window-tc { + background-image:url(../images/olive/window/top-bottom.png); +} +.x-window-tl { + background-image:url(../images/olive/window/left-corners.png); +} +.x-window-tr { + background-image:url(../images/olive/window/right-corners.png); +} +.x-window-bc { + background-image:url(../images/olive/window/top-bottom.png); +} +.x-window-bl { + background-image:url(../images/olive/window/left-corners.png); +} +.x-window-br { + background-image:url(../images/olive/window/right-corners.png); +} +.x-window-mc { + border:1px solid #76b23d; + background:#b8df92; +} + +.x-window-ml { + background-image:url(../images/olive/window/left-right.png); +} +.x-window-mr { + background-image:url(../images/olive/window/left-right.png); +} +.x-panel-ghost .x-window-tl { + border-color:#92c95d; +} +.x-panel-collapsed .x-window-tl { + border-color:#92c95d; +} + +.x-window-plain .x-window-mc { + color: #eeeeee; + background: #92c65e; + border-left:1px solid #6ca634; + border-top:1px solid #6ca634; + border-bottom:1px solid #85c447; + border-right:1px solid #85c447; +} + +.x-window-plain .x-window-body { + border-left:1px solid #93c95e; + border-top:1px solid #93c95e; + border-bottom:1px solid #76b23d; + border-right:1px solid #76b23d; + background:transparent !important; +} + +body.x-body-masked .x-window-mc, body.x-body-masked .x-window-plain .x-window-mc { + background-color: #92c65e; +} + +/* Date Picker */ +.x-date-picker { + border: 1px solid #92c95d; + background:#ffffff; +} +.x-date-middle,.x-date-left,.x-date-right { + background-image: url(../images/olive/shared/hd-sprite.gif); +} +.x-date-middle .x-btn-with-menu .x-btn-center em { + background-image:url(../images/olive/toolbar/btn-arrow-light.gif); +} +.x-date-right a { + background-image: url(../images/olive/shared/right-btn.gif); +} +.x-date-left a{ + background-image: url(../images/olive/shared/left-btn.gif); +} +.x-date-inner th { + background-image:url(../images/olive/shared/glass-bg.gif); + border-bottom: 1px solid #92c95d; + color:#000000; +} +.x-date-inner .x-date-selected a{ + background-image:url(../images/olive/shared/glass-bg.gif); + border:1px solid #92c95d; + color:#000000; +} +.x-date-bottom { + border-top: 1px solid #92c95d; + background-image:url(../images/olive/shared/glass-bg.gif); +} +.x-date-mp-btns { + background-image:url(../images/olive/shared/glass-bg.gif); +} +td.x-date-mp-sel a { + background-image:url(../images/olive/shared/glass-bg.gif); + border:1px solid #92c95d; + color: #000000 !important; +} +.x-date-mp-ybtn a { + background-image:url(../images/olive/panel/tool-sprites.gif); +} +.x-date-mp-btns button { + background-image:url(../images/olive/shared/glass-bg.gif); + border-color: #6ca634 #92c95d #92c95d #6ca634; + color: #000000; +} +.x-date-inner a{ + color:#000000; +} +.x-date-inner a:hover, .x-date-inner .x-date-disabled a:hover{ + color:#eeeef0; + background: #92c95d; +} +td.x-date-mp-month a,td.x-date-mp-year a { + color:#000000; +} +td.x-date-mp-month a:hover,td.x-date-mp-year a:hover { + color:#eeeef0; + background: #92c95d; +} + +/* misc */ +.x-html-editor-wrap { + border-color:#92c95d; +} + +/* Borders go last for specificity */ +.x-panel-noborder .x-panel-body-noborder { + border-width:0; +} + +.x-panel-noborder .x-panel-header-noborder { + border-width:0; + border-bottom:1px solid #92c95d; +} + +.x-panel-noborder .x-panel-tbar-noborder .x-toolbar { + border-width:0; + border-bottom:1px solid #92c95d; +} + +.x-panel-noborder .x-panel-bbar-noborder .x-toolbar { + border-width:0; + border-top:1px solid #92c95d; +} + +.x-window-noborder .x-window-mc { + border-width:0; +} +.x-window-plain .x-window-body-noborder { + border-width:0; +} + +.x-tab-panel-noborder .x-tab-panel-body-noborder { + border-width:0; +} + +.x-tab-panel-noborder .x-tab-panel-header-noborder { + border-top-width:0; + border-left-width:0; + border-right-width:0; +} + +.x-tab-panel-noborder .x-tab-panel-footer-noborder { + border-bottom-width:0; + border-left-width:0; + border-right-width:0; +} + + +.x-tab-panel-bbar-noborder .x-toolbar { + border-width:0; + border-top:1px solid #92c95d; +} + +.x-tab-panel-tbar-noborder .x-toolbar { + border-width:0; + border-bottom:1px solid #92c95d; +} \ No newline at end of file diff --git a/skins/jason/extjs/resources/css/xtheme-purple.css b/skins/jason/extjs/resources/css/xtheme-purple.css new file mode 100644 index 0000000..f44e1fb --- /dev/null +++ b/skins/jason/extjs/resources/css/xtheme-purple.css @@ -0,0 +1,606 @@ +/* + * Ext JS Library 2.0 Alpha 1 + * Copyright(c) 2006-2007, Ext JS, LLC. + * + * @license LGPL + * @author Kemal Tunador + */ + +.x-panel { + border-style: solid; + border-color: #9f82ff; +} +.x-panel-header { + color:#112233; + border:1px solid #9f82ff; + background-image:url(../images/purple/panel/white-top-bottom.gif); +} + +.x-panel-body { + border-color:#9f82ff; +} + +.x-panel-bbar .x-toolbar { + border-color:#9f82ff; +} + +.x-panel-tbar .x-toolbar { + border-color:#9f82ff; +} + +.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar { + border-color:#9f82ff; +} +.x-panel-body-noheader, .x-panel-mc .x-panel-body { + border-color:#9f82ff; +} +.x-panel-tl .x-panel-header { + color:#112233; +} +.x-panel-tc { + background-image:url(../images/purple/panel/top-bottom.gif); +} +.x-panel-tl { + background-image:url(../images/purple/panel/corners-sprite.gif); + border-color:#9f82ff; +} +.x-panel-tr { + background-image:url(../images/purple/panel/corners-sprite.gif); +} +.x-panel-bc { + background-image:url(../images/purple/panel/top-bottom.gif); +} +.x-panel-bl { + background-image:url(../images/purple/panel/corners-sprite.gif); +} +.x-panel-br { + background-image:url(../images/purple/panel/corners-sprite.gif); +} +.x-panel-mc { + background:#e1d6ff; +} +.x-panel-mc .x-panel-body { + background:transparent; + border: 0 none; +} +.x-panel-ml { + background-image:url(../images/purple/panel/left-right.gif); +} +.x-panel-mr { + background-image:url(../images/purple/panel/left-right.gif); +} + +/* Grid */ +.x-grid3-row { + color:#000000; +} +.x-grid3-row-over { + border:1px solid #e1d6ff; + background-image:url(../images/purple/grid/row-over.gif); +} +.x-grid3-header{ + background-image:url(../images/purple/grid/grid3-hrow.gif); +} +.x-grid3-header-pop-inner { + border-left:1px solid #e1d6ff; + background-image:url(../images/purple/grid/hd-pop.gif); +} +td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open { + border-left:1px solid #9f82ff; + border-right:1px solid #9f82ff; +} +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 { + background-image:url(../images/purple/grid/grid3-hrow-over.gif); +} +.x-dd-drag-proxy .x-grid3-hd-inner{ + background-image:url(../images/purple/grid/grid3-hrow-over.gif); +} +.x-grid3-locked td.x-grid3-row-marker, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{ + background-image:url(../images/purple/grid/grid-hrow.gif); + color:black; + border-top:1px solid white; + border-right:1px solid #9f82ff !important; +} +.x-props-grid .x-grid3-td-name .x-grid3-cell-inner{ + background-image:url(../images/purple/grid/grid3-special-col-bg.gif); + color:black !important; +} +.x-grid3-hd-btn { + background-image:url(../images/purple/grid/grid3-hd-btn.gif); +} +.x-grid3-body .x-grid3-td-expander { + background-image:url(../images/purple/grid/grid3-special-col-bg.gif); +} +.x-grid3-body .x-grid3-td-checker { + background-image:url(../images/purple/grid/grid3-special-col-bg.gif); +} +.x-grid3-body .x-grid3-td-numberer { + background-image:url(../images/purple/grid/grid3-special-col-bg.gif); +} +.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer, +.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker, +.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander { + background-image:url(../images/purple/grid/grid3-special-col-sel-bg.gif); +} +.x-grid3-row-selected { + background: #e1d6ff; + border:1px dotted #9f82ff; +} + +/* Menu */ +.x-menu { + border: 1px solid #d9c6ff; + background-image:url(../images/purple/menu/menu.gif); +} +.x-menu-sep { + background-color:#ffffff; + border-bottom:1px solid #d9c6ff; +} +.x-menu-item-active { + background-image:url(../images/purple/menu/item-over.gif); + border:1px solid #9f82ff; +} + +/* Tools */ +.x-tool { + background-image:url(../images/purple/panel/tool-sprites.gif); +} + +/* Ghosting */ +.x-panel-ghost { + background:#bca7ff; +} + +.x-panel-ghost ul { + border-color:#9f82ff; +} + +.x-grid-panel .x-panel-mc .x-panel-body { + border:1px solid #e1d6ff; +} + +/* Buttons */ + +.x-btn-text{ +color: #112233; +} +.x-btn-left{ + background-image:url(../images/purple/button/btn-sprite.gif); +} +.x-btn-right{ + background-image:url(../images/purple/button/btn-sprite.gif); +} +.x-btn-center{ + background-image:url(../images/purple/button/btn-sprite.gif); +} + +/* Layout classes */ + +.x-border-layout-ct { + background:#f2f0f2; /* f1f2f4 */ +} + +.x-accordion-hd { + background-image:url(../images/purple/panel/light-hd.gif); +} + +.x-layout-collapsed{ + background-color:#e1d6ff; + border-color:#bca7ff; +} +.x-layout-collapsed-over{ + background-color:#c6b6ff; +} + + +/* qtips */ +.x-tip .x-tip-close{ + background-image: url(../images/purple/qtip/close.gif); +} +.x-tip .x-tip-tc { + background-image:url(../images/purple/qtip/tip-sprite.gif); +} +.x-tip .x-tip-tl { + background-image:url(../images/purple/qtip/tip-sprite.gif); +} +.x-tip .x-tip-tr { + background-image:url(../images/purple/qtip/tip-sprite.gif); +} +.x-tip .x-tip-bc { + background-image:url(../images/purple/qtip/tip-sprite.gif); +} +.x-tip .x-tip-bl { + background-image:url(../images/purple/qtip/tip-sprite.gif); +} +.x-tip .x-tip-br { + background-image:url(../images/purple/qtip/tip-sprite.gif); +} +.x-tip .x-tip-ml { + background-image:url(../images/purple/qtip/tip-sprite.gif); +} +.x-tip .x-tip-mr { + background-image:url(../images/purple/qtip/tip-sprite.gif); +} +.x-tip .x-tip-header-text { + color:#112233; +} +.x-tip .x-tip-body { + color:#112233; +} +/* Toolbars */ + +.x-toolbar{ + border-color:#9f82ff; + background:#cdc3ff url(../images/purple/toolbar/bg.gif) repeat-x top left; +} +.x-toolbar button { + color:#112233; +} +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button { + background-image:url(../images/purple/toolbar/btn-arrow.gif); +} +.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button { + background-image:url(../images/purple/toolbar/btn-arrow.gif); +} +.x-toolbar .x-btn-over .x-btn-left{ + background-image:url(../images/purple/toolbar/tb-btn-sprite.gif); +} +.x-toolbar .x-btn-over .x-btn-right{ + background-image:url(../images/purple/toolbar/tb-btn-sprite.gif); +} +.x-toolbar .x-btn-over .x-btn-center{ + background-image:url(../images/purple/toolbar/tb-btn-sprite.gif); +} +.x-toolbar .x-btn-over button { + color:#000000; +} +.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{ + background-image:url(../images/purple/toolbar/tb-btn-sprite.gif); +} +.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{ + background-image:url(../images/purple/toolbar/tb-btn-sprite.gif); +} + +.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{ + background-image:url(../images/purple/toolbar/tb-btn-sprite.gif); +} +.x-toolbar .ytb-sep { + background-image: url(../images/purple/grid/grid-split.gif); +} +.x-paging-info { + color:#112233; +} + +/* Form */ + +.x-form-field-wrap .x-form-trigger{ + background-image:url(../images/purple/form/trigger.gif); + border-bottom: 1px solid #c07eff; +} +.x-form-field-wrap .x-form-date-trigger{ + background-image: url(../images/purple/form/date-trigger.gif); +} +.x-form-field-wrap .x-form-clear-trigger{ + background-image: url(../images/purple/form/clear-trigger.gif); +} +.x-form-field-wrap .x-form-search-trigger{ + background-image: url(../images/purple/form/search-trigger.gif); +} + +.x-form-text, textarea.x-form-field{ + border: 1px solid #c07eff; +} +.x-form-select-one { + border: 1px solid #c07eff; +} +.x-item-disabled .x-form-trigger-over{ + border-bottom: 1px solid #c07eff; +} +.x-item-disabled .x-form-trigger-click{ + border-bottom: 1px solid #c07eff; +} +.x-form fieldset { + border:1px solid #c07eff; +} +.x-trigger-wrap-focus .x-form-trigger{ + border-bottom: 1px solid #7158ff; +} +.x-form-focus, textarea.x-form-focus{ + border: 1px solid #7158ff; +} + + +/* Tabs */ + +.x-tab-panel-header, .x-tab-panel-footer { + background: #e4dcff; + border-color:#9271ff; +} + + +.x-tab-panel-header { + border-color:#9271ff; +} + +.x-tab-panel-footer { + border-color:#9271ff; +} + +ul.x-tab-strip-top{ + background:#ccbbff url(../images/purple/tabs/tab-strip-bg.gif) repeat-x left top; + border-color:#9271ff; +} + +ul.x-tab-strip-bottom{ + background-image:url(../images/purple/tabs/tab-strip-btm-bg.gif); + border-color:#9271ff; +} + +.x-tab-strip span.x-tab-strip-text { + color:#334455; +} +.x-tab-strip-over span.x-tab-strip-text { + color:#000000; +} + +.x-tab-strip-active span.x-tab-strip-text { + color:#112233; +} + +.x-tab-strip-disabled .x-tabs-text { + color:#556677; +} + +.x-tab-strip-top .x-tab-right { + background-image:url(../images/purple/tabs/tabs-sprite.gif); +} + +.x-tab-strip-top .x-tab-left { + background-image:url(../images/purple/tabs/tabs-sprite.gif); +} +.x-tab-strip-top .x-tab-strip-inner { + background-image:url(../images/purple/tabs/tabs-sprite.gif); +} + +.x-tab-strip-bottom .x-tab-right { + background-image:url(../images/purple/tabs/tab-btm-inactive-right-bg.gif); +} + +.x-tab-strip-bottom .x-tab-left { + background-image:url(../images/purple/tabs/tab-btm-inactive-left-bg.gif); +} + +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right { + background-image:url(../images/purple/tabs/tab-btm-right-bg.gif); +} + +.x-tab-strip-bottom .x-tab-strip-active .x-tab-left { + background-image:url(../images/purple/tabs/tab-btm-left-bg.gif); +} + +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close { + background-image:url(../images/purple/tabs/tab-close.gif); +} +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{ + background-image:url(../images/purple/tabs/tab-close.gif); +} + +.x-tab-panel-body { + border-color:#9271ff; + background:#eeeeee; +} +.x-tab-panel-bbar .x-toolbar { + border-color: #9271ff; +} + +.x-tab-panel-tbar .x-toolbar { + border-color: #9271ff; +} + +.x-tab-panel-header-plain .x-tab-strip-spacer { + border-color:#9271ff; + background: #e4dcff; +} + +.x-tab-scroller-left { + background-image: url(../images/purple/tabs/scroll-left.gif); + border-color:#9271ff; +} +.x-tab-scroller-right { + background-image: url(../images/purple/tabs/scroll-right.gif); + border-color:#9271ff; +} + +/* Buttons */ + +.x-btn-menu-arrow-wrap .x-btn-center button { + background-image:url(../images/purple/button/btn-arrow.gif); +} +.x-btn-with-menu .x-btn-center em { + background-image:url(../images/purple/toolbar/btn-arrow.gif); +} + +.x-btn-text-icon .x-btn-with-menu .x-btn-center em { + background-image:url(../images/purple/toolbar/btn-arrow.gif); +} + +/* Window */ + +.x-window-proxy { + background:#e1d6ff; + border-color:#bca7ff; +} + +.x-window-tl .x-window-header { + color:#112233; +} +.x-window-tc { + background-image:url(../images/purple/window/top-bottom.png); +} +.x-window-tl { + background-image:url(../images/purple/window/left-corners.png); +} +.x-window-tr { + background-image:url(../images/purple/window/right-corners.png); +} +.x-window-bc { + background-image:url(../images/purple/window/top-bottom.png); +} +.x-window-bl { + background-image:url(../images/purple/window/left-corners.png); +} +.x-window-br { + background-image:url(../images/purple/window/right-corners.png); +} +.x-window-mc { + border:1px solid #9f82ff; + background:#e1d6ff; +} + +.x-window-ml { + background-image:url(../images/purple/window/left-right.png); +} +.x-window-mr { + background-image:url(../images/purple/window/left-right.png); +} +.x-panel-ghost .x-window-tl { + border-color:#9f82ff; +} +.x-panel-collapsed .x-window-tl { + border-color:#9f82ff; +} + +.x-window-plain .x-window-mc { + background: #c9bdf5; + border-right:1px solid #bca7ff; + border-bottom:1px solid #bca7ff; + border-top:1px solid #9f82ff; + border-left:1px solid #9f82ff; +} + +.x-window-plain .x-window-body { + border-left:1px solid #9f82ff; + border-top:1px solid #9f82ff; + border-bottom:1px solid #bca7ff; + border-right:1px solid #bca7ff; + background:transparent !important; +} + +body.x-body-masked .x-window-mc, body.x-body-masked .x-window-plain .x-window-mc { + background-color: #c9bdf5; +} + +/* Date Picker */ +.x-date-picker { + border: 1px solid #9f82ff; + background:#e1d6ff; +} +.x-date-middle,.x-date-left,.x-date-right { + background-image: url(../images/purple/shared/hd-sprite.gif); +} +.x-date-middle .x-btn-with-menu .x-btn-center em { + background-image:url(../images/purple/toolbar/btn-arrow-light.gif); +} +.x-date-right a { + background-image: url(../images/purple/shared/right-btn.gif); +} +.x-date-left a{ + background-image: url(../images/purple/shared/left-btn.gif); +} +.x-date-inner th { + background-image:url(../images/purple/shared/glass-bg.gif); + border-bottom: 1px solid #9f82ff; + color:#112233; +} +.x-date-inner .x-date-selected a{ + background-image:url(../images/purple/shared/glass-bg.gif); + border:1px solid #9f82ff; + color:#112233; +} +.x-date-bottom { + border-top: 1px solid #9f82ff; + background-image:url(../images/purple/shared/glass-bg.gif); +} +.x-date-mp-btns { + background-image:url(../images/purple/shared/glass-bg.gif); +} +td.x-date-mp-sel a { + background-image:url(../images/purple/shared/glass-bg.gif); + border:1px solid #9f82ff; + color: #112233; +} +.x-date-mp-ybtn a { + background-image:url(../images/purple/panel/tool-sprites.gif); +} +.x-date-mp-btns button { + background-image:url(../images/purple/shared/glass-bg.gif); + border-color: #bca7ff #9f82ff #9f82ff #bca7ff; + color: #112233 +} +.x-date-inner a:hover, .x-date-inner .x-date-disabled a:hover{ + color:#112233; + background: #9f82ff; +} +td.x-date-mp-month a:hover,td.x-date-mp-year a:hover { + color:#112233; + background: #9f82ff; +} + +/* misc */ +.x-html-editor-wrap { + border-color:#e1d6ff; +} + +/* Borders go last for specificity */ +.x-panel-noborder .x-panel-body-noborder { + border-width:0; +} + +.x-panel-noborder .x-panel-header-noborder { + border-width:0; + border-bottom:1px solid #e1d6ff; +} + +.x-panel-noborder .x-panel-tbar-noborder .x-toolbar { + border-width:0; + border-bottom:1px solid #e1d6ff; +} + +.x-panel-noborder .x-panel-bbar-noborder .x-toolbar { + border-width:0; + border-top:1px solid #e1d6ff; +} + +.x-window-noborder .x-window-mc { + border-width:0; +} +.x-window-plain .x-window-body-noborder { + border-width:0; +} + +.x-tab-panel-noborder .x-tab-panel-body-noborder { + border-width:0; +} + +.x-tab-panel-noborder .x-tab-panel-header-noborder { + border-top-width:0; + border-left-width:0; + border-right-width:0; +} + +.x-tab-panel-noborder .x-tab-panel-footer-noborder { + border-bottom-width:0; + border-left-width:0; + border-right-width:0; +} + + +.x-tab-panel-bbar-noborder .x-toolbar { + border-width:0; + border-top:1px solid #e1d6ff; +} + +.x-tab-panel-tbar-noborder .x-toolbar { + border-width:0; + border-bottom:1px solid #e1d6ff; +} \ No newline at end of file diff --git a/skins/jason/extjs/resources/images/black/button/btn-arrow.gif b/skins/jason/extjs/resources/images/black/button/btn-arrow.gif new file mode 100644 index 0000000..5fd6873 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/button/btn-arrow.gif differ diff --git a/skins/jason/extjs/resources/images/black/button/btn-sprite.gif b/skins/jason/extjs/resources/images/black/button/btn-sprite.gif new file mode 100644 index 0000000..7719acd Binary files /dev/null and b/skins/jason/extjs/resources/images/black/button/btn-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/black/editor/tb-sprite.gif b/skins/jason/extjs/resources/images/black/editor/tb-sprite.gif new file mode 100644 index 0000000..97cef38 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/editor/tb-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/black/form/clear-trigger.gif b/skins/jason/extjs/resources/images/black/form/clear-trigger.gif new file mode 100644 index 0000000..a9a25af Binary files /dev/null and b/skins/jason/extjs/resources/images/black/form/clear-trigger.gif differ diff --git a/skins/jason/extjs/resources/images/black/form/date-trigger.gif b/skins/jason/extjs/resources/images/black/form/date-trigger.gif new file mode 100644 index 0000000..2b05fab Binary files /dev/null and b/skins/jason/extjs/resources/images/black/form/date-trigger.gif differ diff --git a/skins/jason/extjs/resources/images/black/form/error-tip-corners.gif b/skins/jason/extjs/resources/images/black/form/error-tip-corners.gif new file mode 100644 index 0000000..cd0a120 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/form/error-tip-corners.gif differ diff --git a/skins/jason/extjs/resources/images/black/form/exclamation.gif b/skins/jason/extjs/resources/images/black/form/exclamation.gif new file mode 100644 index 0000000..f7103b1 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/form/exclamation.gif differ diff --git a/skins/jason/extjs/resources/images/black/form/search-trigger.gif b/skins/jason/extjs/resources/images/black/form/search-trigger.gif new file mode 100644 index 0000000..9b834af Binary files /dev/null and b/skins/jason/extjs/resources/images/black/form/search-trigger.gif differ diff --git a/skins/jason/extjs/resources/images/black/form/text-bg.gif b/skins/jason/extjs/resources/images/black/form/text-bg.gif new file mode 100644 index 0000000..4179607 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/form/text-bg.gif differ diff --git a/skins/jason/extjs/resources/images/black/form/trigger-tpl.gif b/skins/jason/extjs/resources/images/black/form/trigger-tpl.gif new file mode 100644 index 0000000..d739837 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/form/trigger-tpl.gif differ diff --git a/skins/jason/extjs/resources/images/black/form/trigger.gif b/skins/jason/extjs/resources/images/black/form/trigger.gif new file mode 100644 index 0000000..95c8397 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/form/trigger.gif differ diff --git a/skins/jason/extjs/resources/images/black/grid/grid-hrow.gif b/skins/jason/extjs/resources/images/black/grid/grid-hrow.gif new file mode 100644 index 0000000..a836235 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/grid/grid-hrow.gif differ diff --git a/skins/jason/extjs/resources/images/black/grid/grid-split.gif b/skins/jason/extjs/resources/images/black/grid/grid-split.gif new file mode 100644 index 0000000..d11bce5 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/grid/grid-split.gif differ diff --git a/skins/jason/extjs/resources/images/black/grid/grid3-hd-btn.gif b/skins/jason/extjs/resources/images/black/grid/grid3-hd-btn.gif new file mode 100644 index 0000000..dfbd4cd Binary files /dev/null and b/skins/jason/extjs/resources/images/black/grid/grid3-hd-btn.gif differ diff --git a/skins/jason/extjs/resources/images/black/grid/grid3-hrow-over.gif b/skins/jason/extjs/resources/images/black/grid/grid3-hrow-over.gif new file mode 100644 index 0000000..3b394ce Binary files /dev/null and b/skins/jason/extjs/resources/images/black/grid/grid3-hrow-over.gif differ diff --git a/skins/jason/extjs/resources/images/black/grid/grid3-hrow.gif b/skins/jason/extjs/resources/images/black/grid/grid3-hrow.gif new file mode 100644 index 0000000..f745686 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/grid/grid3-hrow.gif differ diff --git a/skins/jason/extjs/resources/images/black/grid/grid3-special-col-bg.gif b/skins/jason/extjs/resources/images/black/grid/grid3-special-col-bg.gif new file mode 100644 index 0000000..18f3be7 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/grid/grid3-special-col-bg.gif differ diff --git a/skins/jason/extjs/resources/images/black/grid/grid3-special-col-sel-bg.gif b/skins/jason/extjs/resources/images/black/grid/grid3-special-col-sel-bg.gif new file mode 100644 index 0000000..ec26509 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/grid/grid3-special-col-sel-bg.gif differ diff --git a/skins/jason/extjs/resources/images/black/grid/hd-pop.gif b/skins/jason/extjs/resources/images/black/grid/hd-pop.gif new file mode 100644 index 0000000..eb8ba79 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/grid/hd-pop.gif differ diff --git a/skins/jason/extjs/resources/images/black/grid/hmenu-asc.gif b/skins/jason/extjs/resources/images/black/grid/hmenu-asc.gif new file mode 100644 index 0000000..a0e4472 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/grid/hmenu-asc.gif differ diff --git a/skins/jason/extjs/resources/images/black/grid/hmenu-desc.gif b/skins/jason/extjs/resources/images/black/grid/hmenu-desc.gif new file mode 100644 index 0000000..0328b31 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/grid/hmenu-desc.gif differ diff --git a/skins/jason/extjs/resources/images/black/grid/row-over.gif b/skins/jason/extjs/resources/images/black/grid/row-over.gif new file mode 100644 index 0000000..b288e38 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/grid/row-over.gif differ diff --git a/skins/jason/extjs/resources/images/black/grid/sort_asc.gif b/skins/jason/extjs/resources/images/black/grid/sort_asc.gif new file mode 100644 index 0000000..995db12 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/grid/sort_asc.gif differ diff --git a/skins/jason/extjs/resources/images/black/grid/sort_desc.gif b/skins/jason/extjs/resources/images/black/grid/sort_desc.gif new file mode 100644 index 0000000..30d3969 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/grid/sort_desc.gif differ diff --git a/skins/jason/extjs/resources/images/black/menu/item-over.gif b/skins/jason/extjs/resources/images/black/menu/item-over.gif new file mode 100644 index 0000000..f88ec55 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/menu/item-over.gif differ diff --git a/skins/jason/extjs/resources/images/black/menu/menu.gif b/skins/jason/extjs/resources/images/black/menu/menu.gif new file mode 100644 index 0000000..e97a9c3 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/menu/menu.gif differ diff --git a/skins/jason/extjs/resources/images/black/panel/corners-sprite.gif b/skins/jason/extjs/resources/images/black/panel/corners-sprite.gif new file mode 100644 index 0000000..26623da Binary files /dev/null and b/skins/jason/extjs/resources/images/black/panel/corners-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/black/panel/left-right.gif b/skins/jason/extjs/resources/images/black/panel/left-right.gif new file mode 100644 index 0000000..ae3526f Binary files /dev/null and b/skins/jason/extjs/resources/images/black/panel/left-right.gif differ diff --git a/skins/jason/extjs/resources/images/black/panel/light-hd.gif b/skins/jason/extjs/resources/images/black/panel/light-hd.gif new file mode 100644 index 0000000..4eaf732 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/panel/light-hd.gif differ diff --git a/skins/jason/extjs/resources/images/black/panel/tool-sprites.gif b/skins/jason/extjs/resources/images/black/panel/tool-sprites.gif new file mode 100644 index 0000000..ca9e2df Binary files /dev/null and b/skins/jason/extjs/resources/images/black/panel/tool-sprites.gif differ diff --git a/skins/jason/extjs/resources/images/black/panel/top-bottom.gif b/skins/jason/extjs/resources/images/black/panel/top-bottom.gif new file mode 100644 index 0000000..a3163c2 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/panel/top-bottom.gif differ diff --git a/skins/jason/extjs/resources/images/black/panel/white-top-bottom.gif b/skins/jason/extjs/resources/images/black/panel/white-top-bottom.gif new file mode 100644 index 0000000..539dc6e Binary files /dev/null and b/skins/jason/extjs/resources/images/black/panel/white-top-bottom.gif differ diff --git a/skins/jason/extjs/resources/images/black/qtip/bg.gif b/skins/jason/extjs/resources/images/black/qtip/bg.gif new file mode 100644 index 0000000..b592d1b Binary files /dev/null and b/skins/jason/extjs/resources/images/black/qtip/bg.gif differ diff --git a/skins/jason/extjs/resources/images/black/qtip/close.gif b/skins/jason/extjs/resources/images/black/qtip/close.gif new file mode 100644 index 0000000..a71ff23 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/qtip/close.gif differ diff --git a/skins/jason/extjs/resources/images/black/qtip/tip-sprite.gif b/skins/jason/extjs/resources/images/black/qtip/tip-sprite.gif new file mode 100644 index 0000000..0f856f2 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/qtip/tip-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/black/s.gif b/skins/jason/extjs/resources/images/black/s.gif new file mode 100644 index 0000000..1d11fa9 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/s.gif differ diff --git a/skins/jason/extjs/resources/images/black/shared/glass-bg.gif b/skins/jason/extjs/resources/images/black/shared/glass-bg.gif new file mode 100644 index 0000000..c7ddf4e Binary files /dev/null and b/skins/jason/extjs/resources/images/black/shared/glass-bg.gif differ diff --git a/skins/jason/extjs/resources/images/black/shared/hd-sprite.gif b/skins/jason/extjs/resources/images/black/shared/hd-sprite.gif new file mode 100644 index 0000000..3febea8 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/shared/hd-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/black/shared/left-btn.gif b/skins/jason/extjs/resources/images/black/shared/left-btn.gif new file mode 100644 index 0000000..67409f2 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/shared/left-btn.gif differ diff --git a/skins/jason/extjs/resources/images/black/shared/right-btn.gif b/skins/jason/extjs/resources/images/black/shared/right-btn.gif new file mode 100644 index 0000000..2eaac96 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/shared/right-btn.gif differ diff --git a/skins/jason/extjs/resources/images/black/tabs/left-corners.gif b/skins/jason/extjs/resources/images/black/tabs/left-corners.gif new file mode 100644 index 0000000..c58beea Binary files /dev/null and b/skins/jason/extjs/resources/images/black/tabs/left-corners.gif differ diff --git a/skins/jason/extjs/resources/images/black/tabs/left-right.gif b/skins/jason/extjs/resources/images/black/tabs/left-right.gif new file mode 100644 index 0000000..dc2ab2b Binary files /dev/null and b/skins/jason/extjs/resources/images/black/tabs/left-right.gif differ diff --git a/skins/jason/extjs/resources/images/black/tabs/right-corners.gif b/skins/jason/extjs/resources/images/black/tabs/right-corners.gif new file mode 100644 index 0000000..7dc5a50 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/tabs/right-corners.gif differ diff --git a/skins/jason/extjs/resources/images/black/tabs/scroll-left.gif b/skins/jason/extjs/resources/images/black/tabs/scroll-left.gif new file mode 100644 index 0000000..3a84446 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/tabs/scroll-left.gif differ diff --git a/skins/jason/extjs/resources/images/black/tabs/scroll-right.gif b/skins/jason/extjs/resources/images/black/tabs/scroll-right.gif new file mode 100644 index 0000000..f309712 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/tabs/scroll-right.gif differ diff --git a/skins/jason/extjs/resources/images/black/tabs/scroller-bg.gif b/skins/jason/extjs/resources/images/black/tabs/scroller-bg.gif new file mode 100644 index 0000000..8fd94a4 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/tabs/scroller-bg.gif differ diff --git a/skins/jason/extjs/resources/images/black/tabs/tab-btm-inactive-left-bg.gif b/skins/jason/extjs/resources/images/black/tabs/tab-btm-inactive-left-bg.gif new file mode 100644 index 0000000..755cd52 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/tabs/tab-btm-inactive-left-bg.gif differ diff --git a/skins/jason/extjs/resources/images/black/tabs/tab-btm-inactive-right-bg.gif b/skins/jason/extjs/resources/images/black/tabs/tab-btm-inactive-right-bg.gif new file mode 100644 index 0000000..c3b68f4 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/tabs/tab-btm-inactive-right-bg.gif differ diff --git a/skins/jason/extjs/resources/images/black/tabs/tab-btm-left-bg.gif b/skins/jason/extjs/resources/images/black/tabs/tab-btm-left-bg.gif new file mode 100644 index 0000000..1733a57 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/tabs/tab-btm-left-bg.gif differ diff --git a/skins/jason/extjs/resources/images/black/tabs/tab-btm-right-bg.gif b/skins/jason/extjs/resources/images/black/tabs/tab-btm-right-bg.gif new file mode 100644 index 0000000..01fa5ff Binary files /dev/null and b/skins/jason/extjs/resources/images/black/tabs/tab-btm-right-bg.gif differ diff --git a/skins/jason/extjs/resources/images/black/tabs/tab-close.gif b/skins/jason/extjs/resources/images/black/tabs/tab-close.gif new file mode 100644 index 0000000..8a7889b Binary files /dev/null and b/skins/jason/extjs/resources/images/black/tabs/tab-close.gif differ diff --git a/skins/jason/extjs/resources/images/black/tabs/tab-strip-bg.gif b/skins/jason/extjs/resources/images/black/tabs/tab-strip-bg.gif new file mode 100644 index 0000000..ac74776 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/tabs/tab-strip-bg.gif differ diff --git a/skins/jason/extjs/resources/images/black/tabs/tab-strip-bg.png b/skins/jason/extjs/resources/images/black/tabs/tab-strip-bg.png new file mode 100644 index 0000000..fa8ab3f Binary files /dev/null and b/skins/jason/extjs/resources/images/black/tabs/tab-strip-bg.png differ diff --git a/skins/jason/extjs/resources/images/black/tabs/tab-strip-btm-bg.gif b/skins/jason/extjs/resources/images/black/tabs/tab-strip-btm-bg.gif new file mode 100644 index 0000000..acec7c0 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/tabs/tab-strip-btm-bg.gif differ diff --git a/skins/jason/extjs/resources/images/black/tabs/tabs-sprite.gif b/skins/jason/extjs/resources/images/black/tabs/tabs-sprite.gif new file mode 100644 index 0000000..5d25ca1 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/tabs/tabs-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/black/toolbar/bg.gif b/skins/jason/extjs/resources/images/black/toolbar/bg.gif new file mode 100644 index 0000000..53cd53f Binary files /dev/null and b/skins/jason/extjs/resources/images/black/toolbar/bg.gif differ diff --git a/skins/jason/extjs/resources/images/black/toolbar/btn-arrow-light.gif b/skins/jason/extjs/resources/images/black/toolbar/btn-arrow-light.gif new file mode 100644 index 0000000..87f8eda Binary files /dev/null and b/skins/jason/extjs/resources/images/black/toolbar/btn-arrow-light.gif differ diff --git a/skins/jason/extjs/resources/images/black/toolbar/btn-arrow.gif b/skins/jason/extjs/resources/images/black/toolbar/btn-arrow.gif new file mode 100644 index 0000000..209ad3b Binary files /dev/null and b/skins/jason/extjs/resources/images/black/toolbar/btn-arrow.gif differ diff --git a/skins/jason/extjs/resources/images/black/toolbar/btn-over-bg.gif b/skins/jason/extjs/resources/images/black/toolbar/btn-over-bg.gif new file mode 100644 index 0000000..4fd2ef7 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/toolbar/btn-over-bg.gif differ diff --git a/skins/jason/extjs/resources/images/black/toolbar/tb-bg.gif b/skins/jason/extjs/resources/images/black/toolbar/tb-bg.gif new file mode 100644 index 0000000..c275dc1 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/toolbar/tb-bg.gif differ diff --git a/skins/jason/extjs/resources/images/black/toolbar/tb-btn-sprite.gif b/skins/jason/extjs/resources/images/black/toolbar/tb-btn-sprite.gif new file mode 100644 index 0000000..2c3480e Binary files /dev/null and b/skins/jason/extjs/resources/images/black/toolbar/tb-btn-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/black/window/left-corners.png b/skins/jason/extjs/resources/images/black/window/left-corners.png new file mode 100644 index 0000000..64529d8 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/window/left-corners.png differ diff --git a/skins/jason/extjs/resources/images/black/window/left-right.png b/skins/jason/extjs/resources/images/black/window/left-right.png new file mode 100644 index 0000000..f0ff0d3 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/window/left-right.png differ diff --git a/skins/jason/extjs/resources/images/black/window/right-corners.png b/skins/jason/extjs/resources/images/black/window/right-corners.png new file mode 100644 index 0000000..5fa1106 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/window/right-corners.png differ diff --git a/skins/jason/extjs/resources/images/black/window/top-bottom.png b/skins/jason/extjs/resources/images/black/window/top-bottom.png new file mode 100644 index 0000000..df0a897 Binary files /dev/null and b/skins/jason/extjs/resources/images/black/window/top-bottom.png differ diff --git a/skins/jason/extjs/resources/images/darkgray/button/btn-arrow.gif b/skins/jason/extjs/resources/images/darkgray/button/btn-arrow.gif new file mode 100644 index 0000000..e593330 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/button/btn-arrow.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/button/btn-sprite.gif b/skins/jason/extjs/resources/images/darkgray/button/btn-sprite.gif new file mode 100644 index 0000000..58c31b0 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/button/btn-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/form/clear-trigger.gif b/skins/jason/extjs/resources/images/darkgray/form/clear-trigger.gif new file mode 100644 index 0000000..dda5858 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/form/clear-trigger.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/form/date-trigger.gif b/skins/jason/extjs/resources/images/darkgray/form/date-trigger.gif new file mode 100644 index 0000000..20a10b9 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/form/date-trigger.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/form/search-trigger.gif b/skins/jason/extjs/resources/images/darkgray/form/search-trigger.gif new file mode 100644 index 0000000..3b08d78 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/form/search-trigger.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/form/text-bg.gif b/skins/jason/extjs/resources/images/darkgray/form/text-bg.gif new file mode 100644 index 0000000..a79dfc4 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/form/text-bg.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/form/trigger-tpl.gif b/skins/jason/extjs/resources/images/darkgray/form/trigger-tpl.gif new file mode 100644 index 0000000..aa6d690 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/form/trigger-tpl.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/form/trigger.gif b/skins/jason/extjs/resources/images/darkgray/form/trigger.gif new file mode 100644 index 0000000..e4249e5 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/form/trigger.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/grid/grid-hrow.gif b/skins/jason/extjs/resources/images/darkgray/grid/grid-hrow.gif new file mode 100644 index 0000000..79de28c Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/grid/grid-hrow.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/grid/grid-split.gif b/skins/jason/extjs/resources/images/darkgray/grid/grid-split.gif new file mode 100644 index 0000000..3721def Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/grid/grid-split.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/grid/grid3-hd-btn.gif b/skins/jason/extjs/resources/images/darkgray/grid/grid3-hd-btn.gif new file mode 100644 index 0000000..d10e1bd Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/grid/grid3-hd-btn.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/grid/grid3-hrow-over.gif b/skins/jason/extjs/resources/images/darkgray/grid/grid3-hrow-over.gif new file mode 100644 index 0000000..669b37b Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/grid/grid3-hrow-over.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/grid/grid3-hrow.gif b/skins/jason/extjs/resources/images/darkgray/grid/grid3-hrow.gif new file mode 100644 index 0000000..0012624 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/grid/grid3-hrow.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/grid/grid3-special-col-bg.gif b/skins/jason/extjs/resources/images/darkgray/grid/grid3-special-col-bg.gif new file mode 100644 index 0000000..0b4d6ca Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/grid/grid3-special-col-bg.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/grid/grid3-special-col-sel-bg.gif b/skins/jason/extjs/resources/images/darkgray/grid/grid3-special-col-sel-bg.gif new file mode 100644 index 0000000..a1b2c60 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/grid/grid3-special-col-sel-bg.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/grid/hd-pop.gif b/skins/jason/extjs/resources/images/darkgray/grid/hd-pop.gif new file mode 100644 index 0000000..eb8ba79 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/grid/hd-pop.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/grid/row-over.gif b/skins/jason/extjs/resources/images/darkgray/grid/row-over.gif new file mode 100644 index 0000000..277c477 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/grid/row-over.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/menu/item-over.gif b/skins/jason/extjs/resources/images/darkgray/menu/item-over.gif new file mode 100644 index 0000000..e8ed130 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/menu/item-over.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/menu/menu.gif b/skins/jason/extjs/resources/images/darkgray/menu/menu.gif new file mode 100644 index 0000000..1192a38 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/menu/menu.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/panel/corners-sprite.gif b/skins/jason/extjs/resources/images/darkgray/panel/corners-sprite.gif new file mode 100644 index 0000000..3abd339 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/panel/corners-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/panel/left-right.gif b/skins/jason/extjs/resources/images/darkgray/panel/left-right.gif new file mode 100644 index 0000000..782528d Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/panel/left-right.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/panel/light-hd.gif b/skins/jason/extjs/resources/images/darkgray/panel/light-hd.gif new file mode 100644 index 0000000..e6ef721 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/panel/light-hd.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/panel/tool-sprites.gif b/skins/jason/extjs/resources/images/darkgray/panel/tool-sprites.gif new file mode 100644 index 0000000..8b0e98d Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/panel/tool-sprites.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/panel/top-bottom.gif b/skins/jason/extjs/resources/images/darkgray/panel/top-bottom.gif new file mode 100644 index 0000000..001d62d Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/panel/top-bottom.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/panel/white-top-bottom.gif b/skins/jason/extjs/resources/images/darkgray/panel/white-top-bottom.gif new file mode 100644 index 0000000..c2a25eb Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/panel/white-top-bottom.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/qtip/bg.gif b/skins/jason/extjs/resources/images/darkgray/qtip/bg.gif new file mode 100644 index 0000000..0b0833e Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/qtip/bg.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/qtip/close.gif b/skins/jason/extjs/resources/images/darkgray/qtip/close.gif new file mode 100644 index 0000000..0385c1b Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/qtip/close.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/qtip/tip-sprite.gif b/skins/jason/extjs/resources/images/darkgray/qtip/tip-sprite.gif new file mode 100644 index 0000000..2306871 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/qtip/tip-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/s.gif b/skins/jason/extjs/resources/images/darkgray/s.gif new file mode 100644 index 0000000..1d11fa9 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/s.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/shared/glass-bg.gif b/skins/jason/extjs/resources/images/darkgray/shared/glass-bg.gif new file mode 100644 index 0000000..5b8bda9 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/shared/glass-bg.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/shared/hd-sprite.gif b/skins/jason/extjs/resources/images/darkgray/shared/hd-sprite.gif new file mode 100644 index 0000000..710edf0 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/shared/hd-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/shared/left-btn.gif b/skins/jason/extjs/resources/images/darkgray/shared/left-btn.gif new file mode 100644 index 0000000..05cdbdc Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/shared/left-btn.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/shared/right-btn.gif b/skins/jason/extjs/resources/images/darkgray/shared/right-btn.gif new file mode 100644 index 0000000..83db0c1 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/shared/right-btn.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/tabs/scroll-left.gif b/skins/jason/extjs/resources/images/darkgray/tabs/scroll-left.gif new file mode 100644 index 0000000..a7d0099 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/tabs/scroll-left.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/tabs/scroll-right.gif b/skins/jason/extjs/resources/images/darkgray/tabs/scroll-right.gif new file mode 100644 index 0000000..357439e Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/tabs/scroll-right.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/tabs/scroller-bg.gif b/skins/jason/extjs/resources/images/darkgray/tabs/scroller-bg.gif new file mode 100644 index 0000000..693c3c5 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/tabs/scroller-bg.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/tabs/tab-btm-inactive-left-bg.gif b/skins/jason/extjs/resources/images/darkgray/tabs/tab-btm-inactive-left-bg.gif new file mode 100644 index 0000000..946214f Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/tabs/tab-btm-inactive-left-bg.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/tabs/tab-btm-inactive-right-bg.gif b/skins/jason/extjs/resources/images/darkgray/tabs/tab-btm-inactive-right-bg.gif new file mode 100644 index 0000000..8dd58a9 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/tabs/tab-btm-inactive-right-bg.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/tabs/tab-btm-left-bg.gif b/skins/jason/extjs/resources/images/darkgray/tabs/tab-btm-left-bg.gif new file mode 100644 index 0000000..00bdf48 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/tabs/tab-btm-left-bg.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/tabs/tab-btm-right-bg.gif b/skins/jason/extjs/resources/images/darkgray/tabs/tab-btm-right-bg.gif new file mode 100644 index 0000000..d58ed79 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/tabs/tab-btm-right-bg.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/tabs/tab-close.gif b/skins/jason/extjs/resources/images/darkgray/tabs/tab-close.gif new file mode 100644 index 0000000..dcc0456 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/tabs/tab-close.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/tabs/tab-strip-bg.gif b/skins/jason/extjs/resources/images/darkgray/tabs/tab-strip-bg.gif new file mode 100644 index 0000000..4c3120d Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/tabs/tab-strip-bg.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/tabs/tab-strip-bg.png b/skins/jason/extjs/resources/images/darkgray/tabs/tab-strip-bg.png new file mode 100644 index 0000000..fa8ab3f Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/tabs/tab-strip-bg.png differ diff --git a/skins/jason/extjs/resources/images/darkgray/tabs/tab-strip-btm-bg.gif b/skins/jason/extjs/resources/images/darkgray/tabs/tab-strip-btm-bg.gif new file mode 100644 index 0000000..6a54a2e Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/tabs/tab-strip-btm-bg.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/tabs/tabs-sprite.gif b/skins/jason/extjs/resources/images/darkgray/tabs/tabs-sprite.gif new file mode 100644 index 0000000..d2d0e64 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/tabs/tabs-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/toolbar/bg.gif b/skins/jason/extjs/resources/images/darkgray/toolbar/bg.gif new file mode 100644 index 0000000..512652a Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/toolbar/bg.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/toolbar/btn-arrow-light.gif b/skins/jason/extjs/resources/images/darkgray/toolbar/btn-arrow-light.gif new file mode 100644 index 0000000..3d0d534 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/toolbar/btn-arrow-light.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/toolbar/btn-arrow.gif b/skins/jason/extjs/resources/images/darkgray/toolbar/btn-arrow.gif new file mode 100644 index 0000000..ca6a710 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/toolbar/btn-arrow.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/toolbar/btn-over-bg.gif b/skins/jason/extjs/resources/images/darkgray/toolbar/btn-over-bg.gif new file mode 100644 index 0000000..b6e42fb Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/toolbar/btn-over-bg.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/toolbar/gray-bg.gif b/skins/jason/extjs/resources/images/darkgray/toolbar/gray-bg.gif new file mode 100644 index 0000000..dab8ef1 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/toolbar/gray-bg.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/toolbar/tb-bg.gif b/skins/jason/extjs/resources/images/darkgray/toolbar/tb-bg.gif new file mode 100644 index 0000000..04bfd5d Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/toolbar/tb-bg.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/toolbar/tb-btn-sprite.gif b/skins/jason/extjs/resources/images/darkgray/toolbar/tb-btn-sprite.gif new file mode 100644 index 0000000..00f4356 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/toolbar/tb-btn-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/darkgray/window/left-corners.png b/skins/jason/extjs/resources/images/darkgray/window/left-corners.png new file mode 100644 index 0000000..aeeafe8 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/window/left-corners.png differ diff --git a/skins/jason/extjs/resources/images/darkgray/window/left-right.png b/skins/jason/extjs/resources/images/darkgray/window/left-right.png new file mode 100644 index 0000000..7f20925 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/window/left-right.png differ diff --git a/skins/jason/extjs/resources/images/darkgray/window/right-corners.png b/skins/jason/extjs/resources/images/darkgray/window/right-corners.png new file mode 100644 index 0000000..da2c21a Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/window/right-corners.png differ diff --git a/skins/jason/extjs/resources/images/darkgray/window/top-bottom.png b/skins/jason/extjs/resources/images/darkgray/window/top-bottom.png new file mode 100644 index 0000000..cf7a7d8 Binary files /dev/null and b/skins/jason/extjs/resources/images/darkgray/window/top-bottom.png differ diff --git a/skins/jason/extjs/resources/images/default/box/corners-blue.gif b/skins/jason/extjs/resources/images/default/box/corners-blue.gif new file mode 100644 index 0000000..fa419b5 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/box/corners-blue.gif differ diff --git a/skins/jason/extjs/resources/images/default/box/corners.gif b/skins/jason/extjs/resources/images/default/box/corners.gif new file mode 100644 index 0000000..8aa8cae Binary files /dev/null and b/skins/jason/extjs/resources/images/default/box/corners.gif differ diff --git a/skins/jason/extjs/resources/images/default/box/l-blue.gif b/skins/jason/extjs/resources/images/default/box/l-blue.gif new file mode 100644 index 0000000..5ed7f00 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/box/l-blue.gif differ diff --git a/skins/jason/extjs/resources/images/default/box/l.gif b/skins/jason/extjs/resources/images/default/box/l.gif new file mode 100644 index 0000000..0160f97 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/box/l.gif differ diff --git a/skins/jason/extjs/resources/images/default/box/r-blue.gif b/skins/jason/extjs/resources/images/default/box/r-blue.gif new file mode 100644 index 0000000..3ea5cae Binary files /dev/null and b/skins/jason/extjs/resources/images/default/box/r-blue.gif differ diff --git a/skins/jason/extjs/resources/images/default/box/r.gif b/skins/jason/extjs/resources/images/default/box/r.gif new file mode 100644 index 0000000..34237f6 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/box/r.gif differ diff --git a/skins/jason/extjs/resources/images/default/box/tb-blue.gif b/skins/jason/extjs/resources/images/default/box/tb-blue.gif new file mode 100644 index 0000000..562fecc Binary files /dev/null and b/skins/jason/extjs/resources/images/default/box/tb-blue.gif differ diff --git a/skins/jason/extjs/resources/images/default/box/tb.gif b/skins/jason/extjs/resources/images/default/box/tb.gif new file mode 100644 index 0000000..435889b Binary files /dev/null and b/skins/jason/extjs/resources/images/default/box/tb.gif differ diff --git a/skins/jason/extjs/resources/images/default/button/btn-arrow.gif b/skins/jason/extjs/resources/images/default/button/btn-arrow.gif new file mode 100644 index 0000000..f90d5df Binary files /dev/null and b/skins/jason/extjs/resources/images/default/button/btn-arrow.gif differ diff --git a/skins/jason/extjs/resources/images/default/button/btn-sprite.gif b/skins/jason/extjs/resources/images/default/button/btn-sprite.gif new file mode 100644 index 0000000..b52e0ce Binary files /dev/null and b/skins/jason/extjs/resources/images/default/button/btn-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/default/dd/drop-add.gif b/skins/jason/extjs/resources/images/default/dd/drop-add.gif new file mode 100644 index 0000000..b22cd14 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/dd/drop-add.gif differ diff --git a/skins/jason/extjs/resources/images/default/dd/drop-no.gif b/skins/jason/extjs/resources/images/default/dd/drop-no.gif new file mode 100644 index 0000000..08d0833 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/dd/drop-no.gif differ diff --git a/skins/jason/extjs/resources/images/default/dd/drop-yes.gif b/skins/jason/extjs/resources/images/default/dd/drop-yes.gif new file mode 100644 index 0000000..8aacb30 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/dd/drop-yes.gif differ diff --git a/skins/jason/extjs/resources/images/default/editor/tb-sprite.gif b/skins/jason/extjs/resources/images/default/editor/tb-sprite.gif new file mode 100644 index 0000000..fb70577 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/editor/tb-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/default/form/clear-trigger.gif b/skins/jason/extjs/resources/images/default/form/clear-trigger.gif new file mode 100644 index 0000000..da78d45 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/form/clear-trigger.gif differ diff --git a/skins/jason/extjs/resources/images/default/form/date-trigger.gif b/skins/jason/extjs/resources/images/default/form/date-trigger.gif new file mode 100644 index 0000000..25ef7b3 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/form/date-trigger.gif differ diff --git a/skins/jason/extjs/resources/images/default/form/error-tip-corners.gif b/skins/jason/extjs/resources/images/default/form/error-tip-corners.gif new file mode 100644 index 0000000..6ea4c38 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/form/error-tip-corners.gif differ diff --git a/skins/jason/extjs/resources/images/default/form/exclamation.gif b/skins/jason/extjs/resources/images/default/form/exclamation.gif new file mode 100644 index 0000000..ea31a30 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/form/exclamation.gif differ diff --git a/skins/jason/extjs/resources/images/default/form/search-trigger.gif b/skins/jason/extjs/resources/images/default/form/search-trigger.gif new file mode 100644 index 0000000..db8802b Binary files /dev/null and b/skins/jason/extjs/resources/images/default/form/search-trigger.gif differ diff --git a/skins/jason/extjs/resources/images/default/form/text-bg.gif b/skins/jason/extjs/resources/images/default/form/text-bg.gif new file mode 100644 index 0000000..4179607 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/form/text-bg.gif differ diff --git a/skins/jason/extjs/resources/images/default/form/trigger-tpl.gif b/skins/jason/extjs/resources/images/default/form/trigger-tpl.gif new file mode 100644 index 0000000..e3701a3 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/form/trigger-tpl.gif differ diff --git a/skins/jason/extjs/resources/images/default/form/trigger.gif b/skins/jason/extjs/resources/images/default/form/trigger.gif new file mode 100644 index 0000000..b220bbe Binary files /dev/null and b/skins/jason/extjs/resources/images/default/form/trigger.gif differ diff --git a/skins/jason/extjs/resources/images/default/gradient-bg.gif b/skins/jason/extjs/resources/images/default/gradient-bg.gif new file mode 100644 index 0000000..8134e49 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/gradient-bg.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/arrow-left-white.gif b/skins/jason/extjs/resources/images/default/grid/arrow-left-white.gif new file mode 100644 index 0000000..63088f5 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/arrow-left-white.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/arrow-right-white.gif b/skins/jason/extjs/resources/images/default/grid/arrow-right-white.gif new file mode 100644 index 0000000..e9e0678 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/arrow-right-white.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/col-move-bottom.gif b/skins/jason/extjs/resources/images/default/grid/col-move-bottom.gif new file mode 100644 index 0000000..cc1e473 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/col-move-bottom.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/col-move-top.gif b/skins/jason/extjs/resources/images/default/grid/col-move-top.gif new file mode 100644 index 0000000..58ff32c Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/col-move-top.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/columns.gif b/skins/jason/extjs/resources/images/default/grid/columns.gif new file mode 100644 index 0000000..2d3a823 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/columns.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/dirty.gif b/skins/jason/extjs/resources/images/default/grid/dirty.gif new file mode 100644 index 0000000..4f217a4 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/dirty.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/done.gif b/skins/jason/extjs/resources/images/default/grid/done.gif new file mode 100644 index 0000000..a937cb2 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/done.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/drop-no.gif b/skins/jason/extjs/resources/images/default/grid/drop-no.gif new file mode 100644 index 0000000..31a332b Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/drop-no.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/drop-yes.gif b/skins/jason/extjs/resources/images/default/grid/drop-yes.gif new file mode 100644 index 0000000..926010e Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/drop-yes.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/footer-bg.gif b/skins/jason/extjs/resources/images/default/grid/footer-bg.gif new file mode 100644 index 0000000..126120f Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/footer-bg.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/grid-blue-hd.gif b/skins/jason/extjs/resources/images/default/grid/grid-blue-hd.gif new file mode 100644 index 0000000..862094e Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/grid-blue-hd.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/grid-blue-split.gif b/skins/jason/extjs/resources/images/default/grid/grid-blue-split.gif new file mode 100644 index 0000000..5286f58 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/grid-blue-split.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/grid-hrow.gif b/skins/jason/extjs/resources/images/default/grid/grid-hrow.gif new file mode 100644 index 0000000..6374104 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/grid-hrow.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/grid-loading.gif b/skins/jason/extjs/resources/images/default/grid/grid-loading.gif new file mode 100644 index 0000000..d112c54 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/grid-loading.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/grid-split.gif b/skins/jason/extjs/resources/images/default/grid/grid-split.gif new file mode 100644 index 0000000..c76a16e Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/grid-split.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/grid-vista-hd.gif b/skins/jason/extjs/resources/images/default/grid/grid-vista-hd.gif new file mode 100644 index 0000000..d097263 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/grid-vista-hd.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/grid3-hd-btn.gif b/skins/jason/extjs/resources/images/default/grid/grid3-hd-btn.gif new file mode 100644 index 0000000..2112607 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/grid3-hd-btn.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/grid3-hrow-over.gif b/skins/jason/extjs/resources/images/default/grid/grid3-hrow-over.gif new file mode 100644 index 0000000..f9c07af Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/grid3-hrow-over.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/grid3-hrow.gif b/skins/jason/extjs/resources/images/default/grid/grid3-hrow.gif new file mode 100644 index 0000000..8d459a3 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/grid3-hrow.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/grid3-special-col-bg.gif b/skins/jason/extjs/resources/images/default/grid/grid3-special-col-bg.gif new file mode 100644 index 0000000..0b4d6ca Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/grid3-special-col-bg.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/grid3-special-col-sel-bg.gif b/skins/jason/extjs/resources/images/default/grid/grid3-special-col-sel-bg.gif new file mode 100644 index 0000000..1dfe9a6 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/grid3-special-col-sel-bg.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/group-by.gif b/skins/jason/extjs/resources/images/default/grid/group-by.gif new file mode 100644 index 0000000..d6075bb Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/group-by.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/group-expand-sprite.gif b/skins/jason/extjs/resources/images/default/grid/group-expand-sprite.gif new file mode 100644 index 0000000..9c1653b Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/group-expand-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/hd-pop.gif b/skins/jason/extjs/resources/images/default/grid/hd-pop.gif new file mode 100644 index 0000000..eb8ba79 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/hd-pop.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/hmenu-asc.gif b/skins/jason/extjs/resources/images/default/grid/hmenu-asc.gif new file mode 100644 index 0000000..8917e0e Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/hmenu-asc.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/hmenu-desc.gif b/skins/jason/extjs/resources/images/default/grid/hmenu-desc.gif new file mode 100644 index 0000000..f26b7c2 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/hmenu-desc.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/hmenu-lock.gif b/skins/jason/extjs/resources/images/default/grid/hmenu-lock.gif new file mode 100644 index 0000000..1596126 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/hmenu-lock.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/hmenu-lock.png b/skins/jason/extjs/resources/images/default/grid/hmenu-lock.png new file mode 100644 index 0000000..8b81e7f Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/hmenu-lock.png differ diff --git a/skins/jason/extjs/resources/images/default/grid/hmenu-unlock.gif b/skins/jason/extjs/resources/images/default/grid/hmenu-unlock.gif new file mode 100644 index 0000000..af59cf9 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/hmenu-unlock.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/hmenu-unlock.png b/skins/jason/extjs/resources/images/default/grid/hmenu-unlock.png new file mode 100644 index 0000000..9dd5df3 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/hmenu-unlock.png differ diff --git a/skins/jason/extjs/resources/images/default/grid/invalid_line.gif b/skins/jason/extjs/resources/images/default/grid/invalid_line.gif new file mode 100644 index 0000000..fb7e0f3 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/invalid_line.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/loading.gif b/skins/jason/extjs/resources/images/default/grid/loading.gif new file mode 100644 index 0000000..e846e1d Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/loading.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/mso-hd.gif b/skins/jason/extjs/resources/images/default/grid/mso-hd.gif new file mode 100644 index 0000000..669f3cf Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/mso-hd.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/nowait.gif b/skins/jason/extjs/resources/images/default/grid/nowait.gif new file mode 100644 index 0000000..4c5862c Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/nowait.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/page-first-disabled.gif b/skins/jason/extjs/resources/images/default/grid/page-first-disabled.gif new file mode 100644 index 0000000..1e02c41 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/page-first-disabled.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/page-first.gif b/skins/jason/extjs/resources/images/default/grid/page-first.gif new file mode 100644 index 0000000..d84f41a Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/page-first.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/page-last-disabled.gif b/skins/jason/extjs/resources/images/default/grid/page-last-disabled.gif new file mode 100644 index 0000000..8697067 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/page-last-disabled.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/page-last.gif b/skins/jason/extjs/resources/images/default/grid/page-last.gif new file mode 100644 index 0000000..3df5c2b Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/page-last.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/page-next-disabled.gif b/skins/jason/extjs/resources/images/default/grid/page-next-disabled.gif new file mode 100644 index 0000000..90a7756 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/page-next-disabled.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/page-next.gif b/skins/jason/extjs/resources/images/default/grid/page-next.gif new file mode 100644 index 0000000..9601635 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/page-next.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/page-prev-disabled.gif b/skins/jason/extjs/resources/images/default/grid/page-prev-disabled.gif new file mode 100644 index 0000000..37154d6 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/page-prev-disabled.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/page-prev.gif b/skins/jason/extjs/resources/images/default/grid/page-prev.gif new file mode 100644 index 0000000..eb70cf8 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/page-prev.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/pick-button.gif b/skins/jason/extjs/resources/images/default/grid/pick-button.gif new file mode 100644 index 0000000..6957924 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/pick-button.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/refresh.gif b/skins/jason/extjs/resources/images/default/grid/refresh.gif new file mode 100644 index 0000000..110f684 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/refresh.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/row-check-sprite.gif b/skins/jason/extjs/resources/images/default/grid/row-check-sprite.gif new file mode 100644 index 0000000..6101164 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/row-check-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/row-expand-sprite.gif b/skins/jason/extjs/resources/images/default/grid/row-expand-sprite.gif new file mode 100644 index 0000000..6f4d874 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/row-expand-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/row-over.gif b/skins/jason/extjs/resources/images/default/grid/row-over.gif new file mode 100644 index 0000000..b288e38 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/row-over.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/row-sel.gif b/skins/jason/extjs/resources/images/default/grid/row-sel.gif new file mode 100644 index 0000000..98209e6 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/row-sel.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/sort_asc.gif b/skins/jason/extjs/resources/images/default/grid/sort_asc.gif new file mode 100644 index 0000000..67a2a4c Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/sort_asc.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/sort_desc.gif b/skins/jason/extjs/resources/images/default/grid/sort_desc.gif new file mode 100644 index 0000000..34db47c Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/sort_desc.gif differ diff --git a/skins/jason/extjs/resources/images/default/grid/wait.gif b/skins/jason/extjs/resources/images/default/grid/wait.gif new file mode 100644 index 0000000..471c1a4 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/grid/wait.gif differ diff --git a/skins/jason/extjs/resources/images/default/layout/collapse.gif b/skins/jason/extjs/resources/images/default/layout/collapse.gif new file mode 100644 index 0000000..d87b0a9 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/layout/collapse.gif differ diff --git a/skins/jason/extjs/resources/images/default/layout/expand.gif b/skins/jason/extjs/resources/images/default/layout/expand.gif new file mode 100644 index 0000000..7b6e1c1 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/layout/expand.gif differ diff --git a/skins/jason/extjs/resources/images/default/layout/gradient-bg.gif b/skins/jason/extjs/resources/images/default/layout/gradient-bg.gif new file mode 100644 index 0000000..8134e49 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/layout/gradient-bg.gif differ diff --git a/skins/jason/extjs/resources/images/default/layout/mini-bottom.gif b/skins/jason/extjs/resources/images/default/layout/mini-bottom.gif new file mode 100644 index 0000000..c18f9e3 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/layout/mini-bottom.gif differ diff --git a/skins/jason/extjs/resources/images/default/layout/mini-left.gif b/skins/jason/extjs/resources/images/default/layout/mini-left.gif new file mode 100644 index 0000000..99f7993 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/layout/mini-left.gif differ diff --git a/skins/jason/extjs/resources/images/default/layout/mini-right.gif b/skins/jason/extjs/resources/images/default/layout/mini-right.gif new file mode 100644 index 0000000..5b13c5a Binary files /dev/null and b/skins/jason/extjs/resources/images/default/layout/mini-right.gif differ diff --git a/skins/jason/extjs/resources/images/default/layout/mini-top.gif b/skins/jason/extjs/resources/images/default/layout/mini-top.gif new file mode 100644 index 0000000..a4ca2bb Binary files /dev/null and b/skins/jason/extjs/resources/images/default/layout/mini-top.gif differ diff --git a/skins/jason/extjs/resources/images/default/layout/ns-collapse.gif b/skins/jason/extjs/resources/images/default/layout/ns-collapse.gif new file mode 100644 index 0000000..df2a77e Binary files /dev/null and b/skins/jason/extjs/resources/images/default/layout/ns-collapse.gif differ diff --git a/skins/jason/extjs/resources/images/default/layout/ns-expand.gif b/skins/jason/extjs/resources/images/default/layout/ns-expand.gif new file mode 100644 index 0000000..77ab9da Binary files /dev/null and b/skins/jason/extjs/resources/images/default/layout/ns-expand.gif differ diff --git a/skins/jason/extjs/resources/images/default/layout/panel-close.gif b/skins/jason/extjs/resources/images/default/layout/panel-close.gif new file mode 100644 index 0000000..2bdd623 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/layout/panel-close.gif differ diff --git a/skins/jason/extjs/resources/images/default/layout/panel-title-bg.gif b/skins/jason/extjs/resources/images/default/layout/panel-title-bg.gif new file mode 100644 index 0000000..d1daef5 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/layout/panel-title-bg.gif differ diff --git a/skins/jason/extjs/resources/images/default/layout/panel-title-light-bg.gif b/skins/jason/extjs/resources/images/default/layout/panel-title-light-bg.gif new file mode 100644 index 0000000..8c2c83d Binary files /dev/null and b/skins/jason/extjs/resources/images/default/layout/panel-title-light-bg.gif differ diff --git a/skins/jason/extjs/resources/images/default/layout/stick.gif b/skins/jason/extjs/resources/images/default/layout/stick.gif new file mode 100644 index 0000000..5a1e8ba Binary files /dev/null and b/skins/jason/extjs/resources/images/default/layout/stick.gif differ diff --git a/skins/jason/extjs/resources/images/default/layout/stuck.gif b/skins/jason/extjs/resources/images/default/layout/stuck.gif new file mode 100644 index 0000000..0a8de4d Binary files /dev/null and b/skins/jason/extjs/resources/images/default/layout/stuck.gif differ diff --git a/skins/jason/extjs/resources/images/default/layout/tab-close-on.gif b/skins/jason/extjs/resources/images/default/layout/tab-close-on.gif new file mode 100644 index 0000000..eacea39 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/layout/tab-close-on.gif differ diff --git a/skins/jason/extjs/resources/images/default/layout/tab-close.gif b/skins/jason/extjs/resources/images/default/layout/tab-close.gif new file mode 100644 index 0000000..45db61e Binary files /dev/null and b/skins/jason/extjs/resources/images/default/layout/tab-close.gif differ diff --git a/skins/jason/extjs/resources/images/default/menu/checked.gif b/skins/jason/extjs/resources/images/default/menu/checked.gif new file mode 100644 index 0000000..fad5893 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/menu/checked.gif differ diff --git a/skins/jason/extjs/resources/images/default/menu/group-checked.gif b/skins/jason/extjs/resources/images/default/menu/group-checked.gif new file mode 100644 index 0000000..d30b3e5 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/menu/group-checked.gif differ diff --git a/skins/jason/extjs/resources/images/default/menu/item-over.gif b/skins/jason/extjs/resources/images/default/menu/item-over.gif new file mode 100644 index 0000000..0167839 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/menu/item-over.gif differ diff --git a/skins/jason/extjs/resources/images/default/menu/menu-parent.gif b/skins/jason/extjs/resources/images/default/menu/menu-parent.gif new file mode 100644 index 0000000..1e37562 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/menu/menu-parent.gif differ diff --git a/skins/jason/extjs/resources/images/default/menu/menu.gif b/skins/jason/extjs/resources/images/default/menu/menu.gif new file mode 100644 index 0000000..30a2c4b Binary files /dev/null and b/skins/jason/extjs/resources/images/default/menu/menu.gif differ diff --git a/skins/jason/extjs/resources/images/default/menu/unchecked.gif b/skins/jason/extjs/resources/images/default/menu/unchecked.gif new file mode 100644 index 0000000..43823e5 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/menu/unchecked.gif differ diff --git a/skins/jason/extjs/resources/images/default/panel/corners-sprite.gif b/skins/jason/extjs/resources/images/default/panel/corners-sprite.gif new file mode 100644 index 0000000..aa0d0ed Binary files /dev/null and b/skins/jason/extjs/resources/images/default/panel/corners-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/default/panel/left-right.gif b/skins/jason/extjs/resources/images/default/panel/left-right.gif new file mode 100644 index 0000000..9fae2d5 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/panel/left-right.gif differ diff --git a/skins/jason/extjs/resources/images/default/panel/light-hd.gif b/skins/jason/extjs/resources/images/default/panel/light-hd.gif new file mode 100644 index 0000000..58d6747 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/panel/light-hd.gif differ diff --git a/skins/jason/extjs/resources/images/default/panel/tool-sprite-tpl.gif b/skins/jason/extjs/resources/images/default/panel/tool-sprite-tpl.gif new file mode 100644 index 0000000..e647867 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/panel/tool-sprite-tpl.gif differ diff --git a/skins/jason/extjs/resources/images/default/panel/tool-sprites.gif b/skins/jason/extjs/resources/images/default/panel/tool-sprites.gif new file mode 100644 index 0000000..cca91e8 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/panel/tool-sprites.gif differ diff --git a/skins/jason/extjs/resources/images/default/panel/tools-sprites-trans.gif b/skins/jason/extjs/resources/images/default/panel/tools-sprites-trans.gif new file mode 100644 index 0000000..e58bf20 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/panel/tools-sprites-trans.gif differ diff --git a/skins/jason/extjs/resources/images/default/panel/top-bottom.gif b/skins/jason/extjs/resources/images/default/panel/top-bottom.gif new file mode 100644 index 0000000..be6c50e Binary files /dev/null and b/skins/jason/extjs/resources/images/default/panel/top-bottom.gif differ diff --git a/skins/jason/extjs/resources/images/default/panel/top-bottom.png b/skins/jason/extjs/resources/images/default/panel/top-bottom.png new file mode 100644 index 0000000..578ffb6 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/panel/top-bottom.png differ diff --git a/skins/jason/extjs/resources/images/default/panel/white-corners-sprite.gif b/skins/jason/extjs/resources/images/default/panel/white-corners-sprite.gif new file mode 100644 index 0000000..22d4bba Binary files /dev/null and b/skins/jason/extjs/resources/images/default/panel/white-corners-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/default/panel/white-left-right.gif b/skins/jason/extjs/resources/images/default/panel/white-left-right.gif new file mode 100644 index 0000000..d82c337 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/panel/white-left-right.gif differ diff --git a/skins/jason/extjs/resources/images/default/panel/white-top-bottom.gif b/skins/jason/extjs/resources/images/default/panel/white-top-bottom.gif new file mode 100644 index 0000000..fe7dd1c Binary files /dev/null and b/skins/jason/extjs/resources/images/default/panel/white-top-bottom.gif differ diff --git a/skins/jason/extjs/resources/images/default/progress/progress-bg.gif b/skins/jason/extjs/resources/images/default/progress/progress-bg.gif new file mode 100644 index 0000000..1c1abeb Binary files /dev/null and b/skins/jason/extjs/resources/images/default/progress/progress-bg.gif differ diff --git a/skins/jason/extjs/resources/images/default/qtip/bg.gif b/skins/jason/extjs/resources/images/default/qtip/bg.gif new file mode 100644 index 0000000..43488af Binary files /dev/null and b/skins/jason/extjs/resources/images/default/qtip/bg.gif differ diff --git a/skins/jason/extjs/resources/images/default/qtip/close.gif b/skins/jason/extjs/resources/images/default/qtip/close.gif new file mode 100644 index 0000000..69ab915 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/qtip/close.gif differ diff --git a/skins/jason/extjs/resources/images/default/qtip/tip-sprite.gif b/skins/jason/extjs/resources/images/default/qtip/tip-sprite.gif new file mode 100644 index 0000000..9810aca Binary files /dev/null and b/skins/jason/extjs/resources/images/default/qtip/tip-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/default/s.gif b/skins/jason/extjs/resources/images/default/s.gif new file mode 100644 index 0000000..1d11fa9 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/s.gif differ diff --git a/skins/jason/extjs/resources/images/default/shadow-c.png b/skins/jason/extjs/resources/images/default/shadow-c.png new file mode 100644 index 0000000..d435f80 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/shadow-c.png differ diff --git a/skins/jason/extjs/resources/images/default/shadow-lr.png b/skins/jason/extjs/resources/images/default/shadow-lr.png new file mode 100644 index 0000000..bb88b6f Binary files /dev/null and b/skins/jason/extjs/resources/images/default/shadow-lr.png differ diff --git a/skins/jason/extjs/resources/images/default/shadow.png b/skins/jason/extjs/resources/images/default/shadow.png new file mode 100644 index 0000000..75c0eba Binary files /dev/null and b/skins/jason/extjs/resources/images/default/shadow.png differ diff --git a/skins/jason/extjs/resources/images/default/shared/blue-loading.gif b/skins/jason/extjs/resources/images/default/shared/blue-loading.gif new file mode 100644 index 0000000..3bbf639 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/shared/blue-loading.gif differ diff --git a/skins/jason/extjs/resources/images/default/shared/calendar.gif b/skins/jason/extjs/resources/images/default/shared/calendar.gif new file mode 100644 index 0000000..133cf23 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/shared/calendar.gif differ diff --git a/skins/jason/extjs/resources/images/default/shared/glass-bg.gif b/skins/jason/extjs/resources/images/default/shared/glass-bg.gif new file mode 100644 index 0000000..26fbbae Binary files /dev/null and b/skins/jason/extjs/resources/images/default/shared/glass-bg.gif differ diff --git a/skins/jason/extjs/resources/images/default/shared/hd-sprite.gif b/skins/jason/extjs/resources/images/default/shared/hd-sprite.gif new file mode 100644 index 0000000..42da1ea Binary files /dev/null and b/skins/jason/extjs/resources/images/default/shared/hd-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/default/shared/large-loading.gif b/skins/jason/extjs/resources/images/default/shared/large-loading.gif new file mode 100644 index 0000000..b36b555 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/shared/large-loading.gif differ diff --git a/skins/jason/extjs/resources/images/default/shared/left-btn.gif b/skins/jason/extjs/resources/images/default/shared/left-btn.gif new file mode 100644 index 0000000..a0ddd9e Binary files /dev/null and b/skins/jason/extjs/resources/images/default/shared/left-btn.gif differ diff --git a/skins/jason/extjs/resources/images/default/shared/loading-balls.gif b/skins/jason/extjs/resources/images/default/shared/loading-balls.gif new file mode 100644 index 0000000..9ce214b Binary files /dev/null and b/skins/jason/extjs/resources/images/default/shared/loading-balls.gif differ diff --git a/skins/jason/extjs/resources/images/default/shared/right-btn.gif b/skins/jason/extjs/resources/images/default/shared/right-btn.gif new file mode 100644 index 0000000..dee63e2 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/shared/right-btn.gif differ diff --git a/skins/jason/extjs/resources/images/default/shared/warning.gif b/skins/jason/extjs/resources/images/default/shared/warning.gif new file mode 100644 index 0000000..806d4bc Binary files /dev/null and b/skins/jason/extjs/resources/images/default/shared/warning.gif differ diff --git a/skins/jason/extjs/resources/images/default/sizer/e-handle-dark.gif b/skins/jason/extjs/resources/images/default/sizer/e-handle-dark.gif new file mode 100644 index 0000000..b5486c1 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/sizer/e-handle-dark.gif differ diff --git a/skins/jason/extjs/resources/images/default/sizer/e-handle.gif b/skins/jason/extjs/resources/images/default/sizer/e-handle.gif new file mode 100644 index 0000000..00ba835 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/sizer/e-handle.gif differ diff --git a/skins/jason/extjs/resources/images/default/sizer/ne-handle-dark.gif b/skins/jason/extjs/resources/images/default/sizer/ne-handle-dark.gif new file mode 100644 index 0000000..04e5ecf Binary files /dev/null and b/skins/jason/extjs/resources/images/default/sizer/ne-handle-dark.gif differ diff --git a/skins/jason/extjs/resources/images/default/sizer/ne-handle.gif b/skins/jason/extjs/resources/images/default/sizer/ne-handle.gif new file mode 100644 index 0000000..09405c7 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/sizer/ne-handle.gif differ diff --git a/skins/jason/extjs/resources/images/default/sizer/nw-handle-dark.gif b/skins/jason/extjs/resources/images/default/sizer/nw-handle-dark.gif new file mode 100644 index 0000000..6e49d69 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/sizer/nw-handle-dark.gif differ diff --git a/skins/jason/extjs/resources/images/default/sizer/nw-handle.gif b/skins/jason/extjs/resources/images/default/sizer/nw-handle.gif new file mode 100644 index 0000000..2fcea8a Binary files /dev/null and b/skins/jason/extjs/resources/images/default/sizer/nw-handle.gif differ diff --git a/skins/jason/extjs/resources/images/default/sizer/s-handle-dark.gif b/skins/jason/extjs/resources/images/default/sizer/s-handle-dark.gif new file mode 100644 index 0000000..4eb5f0f Binary files /dev/null and b/skins/jason/extjs/resources/images/default/sizer/s-handle-dark.gif differ diff --git a/skins/jason/extjs/resources/images/default/sizer/s-handle.gif b/skins/jason/extjs/resources/images/default/sizer/s-handle.gif new file mode 100644 index 0000000..bf069c2 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/sizer/s-handle.gif differ diff --git a/skins/jason/extjs/resources/images/default/sizer/se-handle-dark.gif b/skins/jason/extjs/resources/images/default/sizer/se-handle-dark.gif new file mode 100644 index 0000000..c4c1087 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/sizer/se-handle-dark.gif differ diff --git a/skins/jason/extjs/resources/images/default/sizer/se-handle.gif b/skins/jason/extjs/resources/images/default/sizer/se-handle.gif new file mode 100644 index 0000000..972055e Binary files /dev/null and b/skins/jason/extjs/resources/images/default/sizer/se-handle.gif differ diff --git a/skins/jason/extjs/resources/images/default/sizer/square.gif b/skins/jason/extjs/resources/images/default/sizer/square.gif new file mode 100644 index 0000000..14ce6f7 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/sizer/square.gif differ diff --git a/skins/jason/extjs/resources/images/default/sizer/sw-handle-dark.gif b/skins/jason/extjs/resources/images/default/sizer/sw-handle-dark.gif new file mode 100644 index 0000000..77224b0 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/sizer/sw-handle-dark.gif differ diff --git a/skins/jason/extjs/resources/images/default/sizer/sw-handle.gif b/skins/jason/extjs/resources/images/default/sizer/sw-handle.gif new file mode 100644 index 0000000..3ca0ed9 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/sizer/sw-handle.gif differ diff --git a/skins/jason/extjs/resources/images/default/slider/slider-bg.png b/skins/jason/extjs/resources/images/default/slider/slider-bg.png new file mode 100644 index 0000000..9999194 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/slider/slider-bg.png differ diff --git a/skins/jason/extjs/resources/images/default/slider/slider-thumb.png b/skins/jason/extjs/resources/images/default/slider/slider-thumb.png new file mode 100644 index 0000000..cd654a4 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/slider/slider-thumb.png differ diff --git a/skins/jason/extjs/resources/images/default/slider/slider-v-bg.png b/skins/jason/extjs/resources/images/default/slider/slider-v-bg.png new file mode 100644 index 0000000..121450c Binary files /dev/null and b/skins/jason/extjs/resources/images/default/slider/slider-v-bg.png differ diff --git a/skins/jason/extjs/resources/images/default/slider/slider-v-thumb.png b/skins/jason/extjs/resources/images/default/slider/slider-v-thumb.png new file mode 100644 index 0000000..7b3d725 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/slider/slider-v-thumb.png differ diff --git a/skins/jason/extjs/resources/images/default/tabs/scroll-left.gif b/skins/jason/extjs/resources/images/default/tabs/scroll-left.gif new file mode 100644 index 0000000..9f2f6d1 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tabs/scroll-left.gif differ diff --git a/skins/jason/extjs/resources/images/default/tabs/scroll-right.gif b/skins/jason/extjs/resources/images/default/tabs/scroll-right.gif new file mode 100644 index 0000000..4c5e7e3 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tabs/scroll-right.gif differ diff --git a/skins/jason/extjs/resources/images/default/tabs/scroller-bg.gif b/skins/jason/extjs/resources/images/default/tabs/scroller-bg.gif new file mode 100644 index 0000000..099b90d Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tabs/scroller-bg.gif differ diff --git a/skins/jason/extjs/resources/images/default/tabs/tab-btm-inactive-left-bg.gif b/skins/jason/extjs/resources/images/default/tabs/tab-btm-inactive-left-bg.gif new file mode 100644 index 0000000..188bf94 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tabs/tab-btm-inactive-left-bg.gif differ diff --git a/skins/jason/extjs/resources/images/default/tabs/tab-btm-inactive-right-bg.gif b/skins/jason/extjs/resources/images/default/tabs/tab-btm-inactive-right-bg.gif new file mode 100644 index 0000000..e1f5e3c Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tabs/tab-btm-inactive-right-bg.gif differ diff --git a/skins/jason/extjs/resources/images/default/tabs/tab-btm-left-bg.gif b/skins/jason/extjs/resources/images/default/tabs/tab-btm-left-bg.gif new file mode 100644 index 0000000..e695186 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tabs/tab-btm-left-bg.gif differ diff --git a/skins/jason/extjs/resources/images/default/tabs/tab-btm-right-bg.gif b/skins/jason/extjs/resources/images/default/tabs/tab-btm-right-bg.gif new file mode 100644 index 0000000..dde7968 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tabs/tab-btm-right-bg.gif differ diff --git a/skins/jason/extjs/resources/images/default/tabs/tab-close.gif b/skins/jason/extjs/resources/images/default/tabs/tab-close.gif new file mode 100644 index 0000000..e699878 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tabs/tab-close.gif differ diff --git a/skins/jason/extjs/resources/images/default/tabs/tab-strip-bg.gif b/skins/jason/extjs/resources/images/default/tabs/tab-strip-bg.gif new file mode 100644 index 0000000..34f1333 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tabs/tab-strip-bg.gif differ diff --git a/skins/jason/extjs/resources/images/default/tabs/tab-strip-bg.png b/skins/jason/extjs/resources/images/default/tabs/tab-strip-bg.png new file mode 100644 index 0000000..fa8ab3f Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tabs/tab-strip-bg.png differ diff --git a/skins/jason/extjs/resources/images/default/tabs/tab-strip-btm-bg.gif b/skins/jason/extjs/resources/images/default/tabs/tab-strip-btm-bg.gif new file mode 100644 index 0000000..5eaba1e Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tabs/tab-strip-btm-bg.gif differ diff --git a/skins/jason/extjs/resources/images/default/tabs/tabs-sprite.gif b/skins/jason/extjs/resources/images/default/tabs/tabs-sprite.gif new file mode 100644 index 0000000..e969fb0 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tabs/tabs-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/default/toolbar/bg.gif b/skins/jason/extjs/resources/images/default/toolbar/bg.gif new file mode 100644 index 0000000..0b085bf Binary files /dev/null and b/skins/jason/extjs/resources/images/default/toolbar/bg.gif differ diff --git a/skins/jason/extjs/resources/images/default/toolbar/btn-arrow-light.gif b/skins/jason/extjs/resources/images/default/toolbar/btn-arrow-light.gif new file mode 100644 index 0000000..b0e24b5 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/toolbar/btn-arrow-light.gif differ diff --git a/skins/jason/extjs/resources/images/default/toolbar/btn-arrow.gif b/skins/jason/extjs/resources/images/default/toolbar/btn-arrow.gif new file mode 100644 index 0000000..8acb460 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/toolbar/btn-arrow.gif differ diff --git a/skins/jason/extjs/resources/images/default/toolbar/btn-over-bg.gif b/skins/jason/extjs/resources/images/default/toolbar/btn-over-bg.gif new file mode 100644 index 0000000..ee2dd98 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/toolbar/btn-over-bg.gif differ diff --git a/skins/jason/extjs/resources/images/default/toolbar/gray-bg.gif b/skins/jason/extjs/resources/images/default/toolbar/gray-bg.gif new file mode 100644 index 0000000..bd49438 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/toolbar/gray-bg.gif differ diff --git a/skins/jason/extjs/resources/images/default/toolbar/tb-bg.gif b/skins/jason/extjs/resources/images/default/toolbar/tb-bg.gif new file mode 100644 index 0000000..4969e4e Binary files /dev/null and b/skins/jason/extjs/resources/images/default/toolbar/tb-bg.gif differ diff --git a/skins/jason/extjs/resources/images/default/toolbar/tb-btn-sprite.gif b/skins/jason/extjs/resources/images/default/toolbar/tb-btn-sprite.gif new file mode 100644 index 0000000..19bbef3 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/toolbar/tb-btn-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/default/tree/arrows.gif b/skins/jason/extjs/resources/images/default/tree/arrows.gif new file mode 100644 index 0000000..f8ff7b8 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tree/arrows.gif differ diff --git a/skins/jason/extjs/resources/images/default/tree/drop-add.gif b/skins/jason/extjs/resources/images/default/tree/drop-add.gif new file mode 100644 index 0000000..b22cd14 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tree/drop-add.gif differ diff --git a/skins/jason/extjs/resources/images/default/tree/drop-between.gif b/skins/jason/extjs/resources/images/default/tree/drop-between.gif new file mode 100644 index 0000000..5c6c09d Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tree/drop-between.gif differ diff --git a/skins/jason/extjs/resources/images/default/tree/drop-no.gif b/skins/jason/extjs/resources/images/default/tree/drop-no.gif new file mode 100644 index 0000000..9d9c6a9 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tree/drop-no.gif differ diff --git a/skins/jason/extjs/resources/images/default/tree/drop-over.gif b/skins/jason/extjs/resources/images/default/tree/drop-over.gif new file mode 100644 index 0000000..30d1ca7 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tree/drop-over.gif differ diff --git a/skins/jason/extjs/resources/images/default/tree/drop-under.gif b/skins/jason/extjs/resources/images/default/tree/drop-under.gif new file mode 100644 index 0000000..85f66b1 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tree/drop-under.gif differ diff --git a/skins/jason/extjs/resources/images/default/tree/drop-yes.gif b/skins/jason/extjs/resources/images/default/tree/drop-yes.gif new file mode 100644 index 0000000..8aacb30 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tree/drop-yes.gif differ diff --git a/skins/jason/extjs/resources/images/default/tree/elbow-end-minus-nl.gif b/skins/jason/extjs/resources/images/default/tree/elbow-end-minus-nl.gif new file mode 100644 index 0000000..928779e Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tree/elbow-end-minus-nl.gif differ diff --git a/skins/jason/extjs/resources/images/default/tree/elbow-end-minus.gif b/skins/jason/extjs/resources/images/default/tree/elbow-end-minus.gif new file mode 100644 index 0000000..9a8d727 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tree/elbow-end-minus.gif differ diff --git a/skins/jason/extjs/resources/images/default/tree/elbow-end-plus-nl.gif b/skins/jason/extjs/resources/images/default/tree/elbow-end-plus-nl.gif new file mode 100644 index 0000000..9f7f698 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tree/elbow-end-plus-nl.gif differ diff --git a/skins/jason/extjs/resources/images/default/tree/elbow-end-plus.gif b/skins/jason/extjs/resources/images/default/tree/elbow-end-plus.gif new file mode 100644 index 0000000..5943a01 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tree/elbow-end-plus.gif differ diff --git a/skins/jason/extjs/resources/images/default/tree/elbow-end.gif b/skins/jason/extjs/resources/images/default/tree/elbow-end.gif new file mode 100644 index 0000000..f24ddee Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tree/elbow-end.gif differ diff --git a/skins/jason/extjs/resources/images/default/tree/elbow-line.gif b/skins/jason/extjs/resources/images/default/tree/elbow-line.gif new file mode 100644 index 0000000..75e6da4 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tree/elbow-line.gif differ diff --git a/skins/jason/extjs/resources/images/default/tree/elbow-minus-nl.gif b/skins/jason/extjs/resources/images/default/tree/elbow-minus-nl.gif new file mode 100644 index 0000000..928779e Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tree/elbow-minus-nl.gif differ diff --git a/skins/jason/extjs/resources/images/default/tree/elbow-minus.gif b/skins/jason/extjs/resources/images/default/tree/elbow-minus.gif new file mode 100644 index 0000000..97dcc71 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tree/elbow-minus.gif differ diff --git a/skins/jason/extjs/resources/images/default/tree/elbow-plus-nl.gif b/skins/jason/extjs/resources/images/default/tree/elbow-plus-nl.gif new file mode 100644 index 0000000..9f7f698 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tree/elbow-plus-nl.gif differ diff --git a/skins/jason/extjs/resources/images/default/tree/elbow-plus.gif b/skins/jason/extjs/resources/images/default/tree/elbow-plus.gif new file mode 100644 index 0000000..698de47 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tree/elbow-plus.gif differ diff --git a/skins/jason/extjs/resources/images/default/tree/elbow.gif b/skins/jason/extjs/resources/images/default/tree/elbow.gif new file mode 100644 index 0000000..b8f4208 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tree/elbow.gif differ diff --git a/skins/jason/extjs/resources/images/default/tree/folder-open.gif b/skins/jason/extjs/resources/images/default/tree/folder-open.gif new file mode 100644 index 0000000..56ba737 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tree/folder-open.gif differ diff --git a/skins/jason/extjs/resources/images/default/tree/folder.gif b/skins/jason/extjs/resources/images/default/tree/folder.gif new file mode 100644 index 0000000..20412f7 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tree/folder.gif differ diff --git a/skins/jason/extjs/resources/images/default/tree/leaf.gif b/skins/jason/extjs/resources/images/default/tree/leaf.gif new file mode 100644 index 0000000..445769d Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tree/leaf.gif differ diff --git a/skins/jason/extjs/resources/images/default/tree/loading.gif b/skins/jason/extjs/resources/images/default/tree/loading.gif new file mode 100644 index 0000000..e846e1d Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tree/loading.gif differ diff --git a/skins/jason/extjs/resources/images/default/tree/s.gif b/skins/jason/extjs/resources/images/default/tree/s.gif new file mode 100644 index 0000000..1d11fa9 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/tree/s.gif differ diff --git a/skins/jason/extjs/resources/images/default/window/icon-error.gif b/skins/jason/extjs/resources/images/default/window/icon-error.gif new file mode 100644 index 0000000..397b655 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/window/icon-error.gif differ diff --git a/skins/jason/extjs/resources/images/default/window/icon-info.gif b/skins/jason/extjs/resources/images/default/window/icon-info.gif new file mode 100644 index 0000000..58281c3 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/window/icon-info.gif differ diff --git a/skins/jason/extjs/resources/images/default/window/icon-question.gif b/skins/jason/extjs/resources/images/default/window/icon-question.gif new file mode 100644 index 0000000..08abd82 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/window/icon-question.gif differ diff --git a/skins/jason/extjs/resources/images/default/window/icon-warning.gif b/skins/jason/extjs/resources/images/default/window/icon-warning.gif new file mode 100644 index 0000000..27ff98b Binary files /dev/null and b/skins/jason/extjs/resources/images/default/window/icon-warning.gif differ diff --git a/skins/jason/extjs/resources/images/default/window/left-corners.png b/skins/jason/extjs/resources/images/default/window/left-corners.png new file mode 100644 index 0000000..18e215d Binary files /dev/null and b/skins/jason/extjs/resources/images/default/window/left-corners.png differ diff --git a/skins/jason/extjs/resources/images/default/window/left-right.png b/skins/jason/extjs/resources/images/default/window/left-right.png new file mode 100644 index 0000000..97d04f3 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/window/left-right.png differ diff --git a/skins/jason/extjs/resources/images/default/window/right-corners.png b/skins/jason/extjs/resources/images/default/window/right-corners.png new file mode 100644 index 0000000..101118b Binary files /dev/null and b/skins/jason/extjs/resources/images/default/window/right-corners.png differ diff --git a/skins/jason/extjs/resources/images/default/window/top-bottom.png b/skins/jason/extjs/resources/images/default/window/top-bottom.png new file mode 100644 index 0000000..a739234 Binary files /dev/null and b/skins/jason/extjs/resources/images/default/window/top-bottom.png differ diff --git a/skins/jason/extjs/resources/images/gray/button/btn-arrow.gif b/skins/jason/extjs/resources/images/gray/button/btn-arrow.gif new file mode 100644 index 0000000..f90d5df Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/button/btn-arrow.gif differ diff --git a/skins/jason/extjs/resources/images/gray/button/btn-sprite.gif b/skins/jason/extjs/resources/images/gray/button/btn-sprite.gif new file mode 100644 index 0000000..c59d1b1 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/button/btn-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/gray/gradient-bg.gif b/skins/jason/extjs/resources/images/gray/gradient-bg.gif new file mode 100644 index 0000000..8134e49 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/gradient-bg.gif differ diff --git a/skins/jason/extjs/resources/images/gray/panel/corners-sprite.gif b/skins/jason/extjs/resources/images/gray/panel/corners-sprite.gif new file mode 100644 index 0000000..fad0e6d Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/panel/corners-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/gray/panel/left-right.gif b/skins/jason/extjs/resources/images/gray/panel/left-right.gif new file mode 100644 index 0000000..c5f3dca Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/panel/left-right.gif differ diff --git a/skins/jason/extjs/resources/images/gray/panel/light-hd.gif b/skins/jason/extjs/resources/images/gray/panel/light-hd.gif new file mode 100644 index 0000000..6eb28ba Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/panel/light-hd.gif differ diff --git a/skins/jason/extjs/resources/images/gray/panel/tool-sprite-tpl.gif b/skins/jason/extjs/resources/images/gray/panel/tool-sprite-tpl.gif new file mode 100644 index 0000000..18277a3 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/panel/tool-sprite-tpl.gif differ diff --git a/skins/jason/extjs/resources/images/gray/panel/tool-sprites.gif b/skins/jason/extjs/resources/images/gray/panel/tool-sprites.gif new file mode 100644 index 0000000..11845e6 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/panel/tool-sprites.gif differ diff --git a/skins/jason/extjs/resources/images/gray/panel/tools-sprites-trans.gif b/skins/jason/extjs/resources/images/gray/panel/tools-sprites-trans.gif new file mode 100644 index 0000000..e58bf20 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/panel/tools-sprites-trans.gif differ diff --git a/skins/jason/extjs/resources/images/gray/panel/top-bottom.gif b/skins/jason/extjs/resources/images/gray/panel/top-bottom.gif new file mode 100644 index 0000000..24ceb30 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/panel/top-bottom.gif differ diff --git a/skins/jason/extjs/resources/images/gray/panel/top-bottom.png b/skins/jason/extjs/resources/images/gray/panel/top-bottom.png new file mode 100644 index 0000000..578ffb6 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/panel/top-bottom.png differ diff --git a/skins/jason/extjs/resources/images/gray/panel/white-corners-sprite.gif b/skins/jason/extjs/resources/images/gray/panel/white-corners-sprite.gif new file mode 100644 index 0000000..d5b8adf Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/panel/white-corners-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/gray/panel/white-left-right.gif b/skins/jason/extjs/resources/images/gray/panel/white-left-right.gif new file mode 100644 index 0000000..2c9e142 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/panel/white-left-right.gif differ diff --git a/skins/jason/extjs/resources/images/gray/panel/white-top-bottom.gif b/skins/jason/extjs/resources/images/gray/panel/white-top-bottom.gif new file mode 100644 index 0000000..8046089 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/panel/white-top-bottom.gif differ diff --git a/skins/jason/extjs/resources/images/gray/qtip/bg.gif b/skins/jason/extjs/resources/images/gray/qtip/bg.gif new file mode 100644 index 0000000..a9055a5 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/qtip/bg.gif differ diff --git a/skins/jason/extjs/resources/images/gray/qtip/close.gif b/skins/jason/extjs/resources/images/gray/qtip/close.gif new file mode 100644 index 0000000..69ab915 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/qtip/close.gif differ diff --git a/skins/jason/extjs/resources/images/gray/qtip/tip-sprite.gif b/skins/jason/extjs/resources/images/gray/qtip/tip-sprite.gif new file mode 100644 index 0000000..472c4c2 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/qtip/tip-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/gray/s.gif b/skins/jason/extjs/resources/images/gray/s.gif new file mode 100644 index 0000000..1d11fa9 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/s.gif differ diff --git a/skins/jason/extjs/resources/images/gray/tabs/scroll-left.gif b/skins/jason/extjs/resources/images/gray/tabs/scroll-left.gif new file mode 100644 index 0000000..bbb3e3d Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/tabs/scroll-left.gif differ diff --git a/skins/jason/extjs/resources/images/gray/tabs/scroll-right.gif b/skins/jason/extjs/resources/images/gray/tabs/scroll-right.gif new file mode 100644 index 0000000..feb6a76 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/tabs/scroll-right.gif differ diff --git a/skins/jason/extjs/resources/images/gray/tabs/scroller-bg.gif b/skins/jason/extjs/resources/images/gray/tabs/scroller-bg.gif new file mode 100644 index 0000000..f089c0a Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/tabs/scroller-bg.gif differ diff --git a/skins/jason/extjs/resources/images/gray/tabs/tab-btm-inactive-left-bg.gif b/skins/jason/extjs/resources/images/gray/tabs/tab-btm-inactive-left-bg.gif new file mode 100644 index 0000000..d718173 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/tabs/tab-btm-inactive-left-bg.gif differ diff --git a/skins/jason/extjs/resources/images/gray/tabs/tab-btm-inactive-right-bg.gif b/skins/jason/extjs/resources/images/gray/tabs/tab-btm-inactive-right-bg.gif new file mode 100644 index 0000000..bf35493 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/tabs/tab-btm-inactive-right-bg.gif differ diff --git a/skins/jason/extjs/resources/images/gray/tabs/tab-btm-left-bg.gif b/skins/jason/extjs/resources/images/gray/tabs/tab-btm-left-bg.gif new file mode 100644 index 0000000..c41cada Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/tabs/tab-btm-left-bg.gif differ diff --git a/skins/jason/extjs/resources/images/gray/tabs/tab-btm-right-bg.gif b/skins/jason/extjs/resources/images/gray/tabs/tab-btm-right-bg.gif new file mode 100644 index 0000000..96d2e5e Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/tabs/tab-btm-right-bg.gif differ diff --git a/skins/jason/extjs/resources/images/gray/tabs/tab-close.gif b/skins/jason/extjs/resources/images/gray/tabs/tab-close.gif new file mode 100644 index 0000000..98d5da9 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/tabs/tab-close.gif differ diff --git a/skins/jason/extjs/resources/images/gray/tabs/tab-strip-bg.gif b/skins/jason/extjs/resources/images/gray/tabs/tab-strip-bg.gif new file mode 100644 index 0000000..040b677 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/tabs/tab-strip-bg.gif differ diff --git a/skins/jason/extjs/resources/images/gray/tabs/tab-strip-bg.png b/skins/jason/extjs/resources/images/gray/tabs/tab-strip-bg.png new file mode 100644 index 0000000..fa8ab3f Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/tabs/tab-strip-bg.png differ diff --git a/skins/jason/extjs/resources/images/gray/tabs/tab-strip-btm-bg.gif b/skins/jason/extjs/resources/images/gray/tabs/tab-strip-btm-bg.gif new file mode 100644 index 0000000..f35087f Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/tabs/tab-strip-btm-bg.gif differ diff --git a/skins/jason/extjs/resources/images/gray/tabs/tabs-sprite.gif b/skins/jason/extjs/resources/images/gray/tabs/tabs-sprite.gif new file mode 100644 index 0000000..1901b23 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/tabs/tabs-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/gray/toolbar/bg.gif b/skins/jason/extjs/resources/images/gray/toolbar/bg.gif new file mode 100644 index 0000000..9ab78a2 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/toolbar/bg.gif differ diff --git a/skins/jason/extjs/resources/images/gray/toolbar/btn-arrow-light.gif b/skins/jason/extjs/resources/images/gray/toolbar/btn-arrow-light.gif new file mode 100644 index 0000000..b0e24b5 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/toolbar/btn-arrow-light.gif differ diff --git a/skins/jason/extjs/resources/images/gray/toolbar/btn-arrow.gif b/skins/jason/extjs/resources/images/gray/toolbar/btn-arrow.gif new file mode 100644 index 0000000..8acb460 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/toolbar/btn-arrow.gif differ diff --git a/skins/jason/extjs/resources/images/gray/toolbar/btn-over-bg.gif b/skins/jason/extjs/resources/images/gray/toolbar/btn-over-bg.gif new file mode 100644 index 0000000..ee2dd98 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/toolbar/btn-over-bg.gif differ diff --git a/skins/jason/extjs/resources/images/gray/toolbar/gray-bg.gif b/skins/jason/extjs/resources/images/gray/toolbar/gray-bg.gif new file mode 100644 index 0000000..bd49438 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/toolbar/gray-bg.gif differ diff --git a/skins/jason/extjs/resources/images/gray/toolbar/tb-bg.gif b/skins/jason/extjs/resources/images/gray/toolbar/tb-bg.gif new file mode 100644 index 0000000..4969e4e Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/toolbar/tb-bg.gif differ diff --git a/skins/jason/extjs/resources/images/gray/toolbar/tb-btn-sprite.gif b/skins/jason/extjs/resources/images/gray/toolbar/tb-btn-sprite.gif new file mode 100644 index 0000000..894fef2 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/toolbar/tb-btn-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/gray/window/icon-error.gif b/skins/jason/extjs/resources/images/gray/window/icon-error.gif new file mode 100644 index 0000000..397b655 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/window/icon-error.gif differ diff --git a/skins/jason/extjs/resources/images/gray/window/icon-info.gif b/skins/jason/extjs/resources/images/gray/window/icon-info.gif new file mode 100644 index 0000000..58281c3 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/window/icon-info.gif differ diff --git a/skins/jason/extjs/resources/images/gray/window/icon-question.gif b/skins/jason/extjs/resources/images/gray/window/icon-question.gif new file mode 100644 index 0000000..08abd82 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/window/icon-question.gif differ diff --git a/skins/jason/extjs/resources/images/gray/window/icon-warning.gif b/skins/jason/extjs/resources/images/gray/window/icon-warning.gif new file mode 100644 index 0000000..27ff98b Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/window/icon-warning.gif differ diff --git a/skins/jason/extjs/resources/images/gray/window/left-corners.png b/skins/jason/extjs/resources/images/gray/window/left-corners.png new file mode 100644 index 0000000..28dfc98 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/window/left-corners.png differ diff --git a/skins/jason/extjs/resources/images/gray/window/left-right.png b/skins/jason/extjs/resources/images/gray/window/left-right.png new file mode 100644 index 0000000..d16ac24 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/window/left-right.png differ diff --git a/skins/jason/extjs/resources/images/gray/window/right-corners.png b/skins/jason/extjs/resources/images/gray/window/right-corners.png new file mode 100644 index 0000000..f84ca07 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/window/right-corners.png differ diff --git a/skins/jason/extjs/resources/images/gray/window/top-bottom.png b/skins/jason/extjs/resources/images/gray/window/top-bottom.png new file mode 100644 index 0000000..2887f06 Binary files /dev/null and b/skins/jason/extjs/resources/images/gray/window/top-bottom.png differ diff --git a/skins/jason/extjs/resources/images/olive/button/btn-arrow.gif b/skins/jason/extjs/resources/images/olive/button/btn-arrow.gif new file mode 100644 index 0000000..4566572 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/button/btn-arrow.gif differ diff --git a/skins/jason/extjs/resources/images/olive/button/btn-sprite.gif b/skins/jason/extjs/resources/images/olive/button/btn-sprite.gif new file mode 100644 index 0000000..2f4a659 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/button/btn-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/olive/form/clear-trigger.gif b/skins/jason/extjs/resources/images/olive/form/clear-trigger.gif new file mode 100644 index 0000000..84c7480 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/form/clear-trigger.gif differ diff --git a/skins/jason/extjs/resources/images/olive/form/date-trigger.gif b/skins/jason/extjs/resources/images/olive/form/date-trigger.gif new file mode 100644 index 0000000..581847c Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/form/date-trigger.gif differ diff --git a/skins/jason/extjs/resources/images/olive/form/search-trigger.gif b/skins/jason/extjs/resources/images/olive/form/search-trigger.gif new file mode 100644 index 0000000..5311242 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/form/search-trigger.gif differ diff --git a/skins/jason/extjs/resources/images/olive/form/text-bg.gif b/skins/jason/extjs/resources/images/olive/form/text-bg.gif new file mode 100644 index 0000000..1548110 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/form/text-bg.gif differ diff --git a/skins/jason/extjs/resources/images/olive/form/trigger-tpl.gif b/skins/jason/extjs/resources/images/olive/form/trigger-tpl.gif new file mode 100644 index 0000000..4283614 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/form/trigger-tpl.gif differ diff --git a/skins/jason/extjs/resources/images/olive/form/trigger.gif b/skins/jason/extjs/resources/images/olive/form/trigger.gif new file mode 100644 index 0000000..c4b613f Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/form/trigger.gif differ diff --git a/skins/jason/extjs/resources/images/olive/grid/grid-hrow.gif b/skins/jason/extjs/resources/images/olive/grid/grid-hrow.gif new file mode 100644 index 0000000..9a28c48 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/grid/grid-hrow.gif differ diff --git a/skins/jason/extjs/resources/images/olive/grid/grid-split.gif b/skins/jason/extjs/resources/images/olive/grid/grid-split.gif new file mode 100644 index 0000000..ca19353 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/grid/grid-split.gif differ diff --git a/skins/jason/extjs/resources/images/olive/grid/grid3-hd-btn.gif b/skins/jason/extjs/resources/images/olive/grid/grid3-hd-btn.gif new file mode 100644 index 0000000..59c50a0 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/grid/grid3-hd-btn.gif differ diff --git a/skins/jason/extjs/resources/images/olive/grid/grid3-hrow-over.gif b/skins/jason/extjs/resources/images/olive/grid/grid3-hrow-over.gif new file mode 100644 index 0000000..a4f9a68 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/grid/grid3-hrow-over.gif differ diff --git a/skins/jason/extjs/resources/images/olive/grid/grid3-hrow.gif b/skins/jason/extjs/resources/images/olive/grid/grid3-hrow.gif new file mode 100644 index 0000000..9d68d1a Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/grid/grid3-hrow.gif differ diff --git a/skins/jason/extjs/resources/images/olive/grid/grid3-special-col-bg.gif b/skins/jason/extjs/resources/images/olive/grid/grid3-special-col-bg.gif new file mode 100644 index 0000000..a81c794 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/grid/grid3-special-col-bg.gif differ diff --git a/skins/jason/extjs/resources/images/olive/grid/grid3-special-col-sel-bg.gif b/skins/jason/extjs/resources/images/olive/grid/grid3-special-col-sel-bg.gif new file mode 100644 index 0000000..9760b5c Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/grid/grid3-special-col-sel-bg.gif differ diff --git a/skins/jason/extjs/resources/images/olive/grid/hd-pop.gif b/skins/jason/extjs/resources/images/olive/grid/hd-pop.gif new file mode 100644 index 0000000..eb8ba79 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/grid/hd-pop.gif differ diff --git a/skins/jason/extjs/resources/images/olive/grid/row-over.gif b/skins/jason/extjs/resources/images/olive/grid/row-over.gif new file mode 100644 index 0000000..f55b478 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/grid/row-over.gif differ diff --git a/skins/jason/extjs/resources/images/olive/menu/item-over.gif b/skins/jason/extjs/resources/images/olive/menu/item-over.gif new file mode 100644 index 0000000..75fbc12 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/menu/item-over.gif differ diff --git a/skins/jason/extjs/resources/images/olive/menu/menu.gif b/skins/jason/extjs/resources/images/olive/menu/menu.gif new file mode 100644 index 0000000..8638dfc Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/menu/menu.gif differ diff --git a/skins/jason/extjs/resources/images/olive/panel/corners-sprite.gif b/skins/jason/extjs/resources/images/olive/panel/corners-sprite.gif new file mode 100644 index 0000000..364d788 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/panel/corners-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/olive/panel/left-right.gif b/skins/jason/extjs/resources/images/olive/panel/left-right.gif new file mode 100644 index 0000000..fec02ce Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/panel/left-right.gif differ diff --git a/skins/jason/extjs/resources/images/olive/panel/light-hd.gif b/skins/jason/extjs/resources/images/olive/panel/light-hd.gif new file mode 100644 index 0000000..704fd0b Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/panel/light-hd.gif differ diff --git a/skins/jason/extjs/resources/images/olive/panel/tool-sprites.gif b/skins/jason/extjs/resources/images/olive/panel/tool-sprites.gif new file mode 100644 index 0000000..00390c3 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/panel/tool-sprites.gif differ diff --git a/skins/jason/extjs/resources/images/olive/panel/top-bottom.gif b/skins/jason/extjs/resources/images/olive/panel/top-bottom.gif new file mode 100644 index 0000000..716455d Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/panel/top-bottom.gif differ diff --git a/skins/jason/extjs/resources/images/olive/panel/white-top-bottom.gif b/skins/jason/extjs/resources/images/olive/panel/white-top-bottom.gif new file mode 100644 index 0000000..1e330d2 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/panel/white-top-bottom.gif differ diff --git a/skins/jason/extjs/resources/images/olive/qtip/bg.gif b/skins/jason/extjs/resources/images/olive/qtip/bg.gif new file mode 100644 index 0000000..8b07ffb Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/qtip/bg.gif differ diff --git a/skins/jason/extjs/resources/images/olive/qtip/close.gif b/skins/jason/extjs/resources/images/olive/qtip/close.gif new file mode 100644 index 0000000..7b5500c Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/qtip/close.gif differ diff --git a/skins/jason/extjs/resources/images/olive/qtip/tip-sprite.gif b/skins/jason/extjs/resources/images/olive/qtip/tip-sprite.gif new file mode 100644 index 0000000..9ab116b Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/qtip/tip-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/olive/s.gif b/skins/jason/extjs/resources/images/olive/s.gif new file mode 100644 index 0000000..1d11fa9 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/s.gif differ diff --git a/skins/jason/extjs/resources/images/olive/shared/glass-bg.gif b/skins/jason/extjs/resources/images/olive/shared/glass-bg.gif new file mode 100644 index 0000000..7934d0b Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/shared/glass-bg.gif differ diff --git a/skins/jason/extjs/resources/images/olive/shared/hd-sprite.gif b/skins/jason/extjs/resources/images/olive/shared/hd-sprite.gif new file mode 100644 index 0000000..9301ae4 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/shared/hd-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/olive/shared/left-btn.gif b/skins/jason/extjs/resources/images/olive/shared/left-btn.gif new file mode 100644 index 0000000..4cc10f6 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/shared/left-btn.gif differ diff --git a/skins/jason/extjs/resources/images/olive/shared/right-btn.gif b/skins/jason/extjs/resources/images/olive/shared/right-btn.gif new file mode 100644 index 0000000..f49d9a0 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/shared/right-btn.gif differ diff --git a/skins/jason/extjs/resources/images/olive/tabs/scroll-left.gif b/skins/jason/extjs/resources/images/olive/tabs/scroll-left.gif new file mode 100644 index 0000000..690ae2b Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/tabs/scroll-left.gif differ diff --git a/skins/jason/extjs/resources/images/olive/tabs/scroll-right.gif b/skins/jason/extjs/resources/images/olive/tabs/scroll-right.gif new file mode 100644 index 0000000..dc48f48 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/tabs/scroll-right.gif differ diff --git a/skins/jason/extjs/resources/images/olive/tabs/scroller-bg.gif b/skins/jason/extjs/resources/images/olive/tabs/scroller-bg.gif new file mode 100644 index 0000000..3959e09 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/tabs/scroller-bg.gif differ diff --git a/skins/jason/extjs/resources/images/olive/tabs/tab-btm-inactive-left-bg.gif b/skins/jason/extjs/resources/images/olive/tabs/tab-btm-inactive-left-bg.gif new file mode 100644 index 0000000..35cf20e Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/tabs/tab-btm-inactive-left-bg.gif differ diff --git a/skins/jason/extjs/resources/images/olive/tabs/tab-btm-inactive-right-bg.gif b/skins/jason/extjs/resources/images/olive/tabs/tab-btm-inactive-right-bg.gif new file mode 100644 index 0000000..9d73dba Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/tabs/tab-btm-inactive-right-bg.gif differ diff --git a/skins/jason/extjs/resources/images/olive/tabs/tab-btm-left-bg.gif b/skins/jason/extjs/resources/images/olive/tabs/tab-btm-left-bg.gif new file mode 100644 index 0000000..c48a143 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/tabs/tab-btm-left-bg.gif differ diff --git a/skins/jason/extjs/resources/images/olive/tabs/tab-btm-right-bg.gif b/skins/jason/extjs/resources/images/olive/tabs/tab-btm-right-bg.gif new file mode 100644 index 0000000..7f5c480 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/tabs/tab-btm-right-bg.gif differ diff --git a/skins/jason/extjs/resources/images/olive/tabs/tab-close.gif b/skins/jason/extjs/resources/images/olive/tabs/tab-close.gif new file mode 100644 index 0000000..fdfbd19 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/tabs/tab-close.gif differ diff --git a/skins/jason/extjs/resources/images/olive/tabs/tab-strip-bg.gif b/skins/jason/extjs/resources/images/olive/tabs/tab-strip-bg.gif new file mode 100644 index 0000000..0b47ca0 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/tabs/tab-strip-bg.gif differ diff --git a/skins/jason/extjs/resources/images/olive/tabs/tab-strip-bg.png b/skins/jason/extjs/resources/images/olive/tabs/tab-strip-bg.png new file mode 100644 index 0000000..fa8ab3f Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/tabs/tab-strip-bg.png differ diff --git a/skins/jason/extjs/resources/images/olive/tabs/tab-strip-btm-bg.gif b/skins/jason/extjs/resources/images/olive/tabs/tab-strip-btm-bg.gif new file mode 100644 index 0000000..022d71c Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/tabs/tab-strip-btm-bg.gif differ diff --git a/skins/jason/extjs/resources/images/olive/tabs/tabs-sprite.gif b/skins/jason/extjs/resources/images/olive/tabs/tabs-sprite.gif new file mode 100644 index 0000000..fd8258d Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/tabs/tabs-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/olive/toolbar/bg.gif b/skins/jason/extjs/resources/images/olive/toolbar/bg.gif new file mode 100644 index 0000000..28d255c Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/toolbar/bg.gif differ diff --git a/skins/jason/extjs/resources/images/olive/toolbar/btn-arrow-light.gif b/skins/jason/extjs/resources/images/olive/toolbar/btn-arrow-light.gif new file mode 100644 index 0000000..04cf41a Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/toolbar/btn-arrow-light.gif differ diff --git a/skins/jason/extjs/resources/images/olive/toolbar/btn-arrow.gif b/skins/jason/extjs/resources/images/olive/toolbar/btn-arrow.gif new file mode 100644 index 0000000..8ae9c97 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/toolbar/btn-arrow.gif differ diff --git a/skins/jason/extjs/resources/images/olive/toolbar/btn-over-bg.gif b/skins/jason/extjs/resources/images/olive/toolbar/btn-over-bg.gif new file mode 100644 index 0000000..8b7ea09 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/toolbar/btn-over-bg.gif differ diff --git a/skins/jason/extjs/resources/images/olive/toolbar/tb-bg.gif b/skins/jason/extjs/resources/images/olive/toolbar/tb-bg.gif new file mode 100644 index 0000000..cd4aa25 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/toolbar/tb-bg.gif differ diff --git a/skins/jason/extjs/resources/images/olive/toolbar/tb-btn-sprite.gif b/skins/jason/extjs/resources/images/olive/toolbar/tb-btn-sprite.gif new file mode 100644 index 0000000..02425ac Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/toolbar/tb-btn-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/olive/window/left-corners.png b/skins/jason/extjs/resources/images/olive/window/left-corners.png new file mode 100644 index 0000000..5e6e654 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/window/left-corners.png differ diff --git a/skins/jason/extjs/resources/images/olive/window/left-right.png b/skins/jason/extjs/resources/images/olive/window/left-right.png new file mode 100644 index 0000000..63fce3d Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/window/left-right.png differ diff --git a/skins/jason/extjs/resources/images/olive/window/right-corners.png b/skins/jason/extjs/resources/images/olive/window/right-corners.png new file mode 100644 index 0000000..a7f5783 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/window/right-corners.png differ diff --git a/skins/jason/extjs/resources/images/olive/window/top-bottom.png b/skins/jason/extjs/resources/images/olive/window/top-bottom.png new file mode 100644 index 0000000..8c6b5f8 Binary files /dev/null and b/skins/jason/extjs/resources/images/olive/window/top-bottom.png differ diff --git a/skins/jason/extjs/resources/images/purple/button/btn-arrow.gif b/skins/jason/extjs/resources/images/purple/button/btn-arrow.gif new file mode 100644 index 0000000..c59f3da Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/button/btn-arrow.gif differ diff --git a/skins/jason/extjs/resources/images/purple/button/btn-sprite.gif b/skins/jason/extjs/resources/images/purple/button/btn-sprite.gif new file mode 100644 index 0000000..c13ac7a Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/button/btn-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/purple/form/clear-trigger.gif b/skins/jason/extjs/resources/images/purple/form/clear-trigger.gif new file mode 100644 index 0000000..cc924df Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/form/clear-trigger.gif differ diff --git a/skins/jason/extjs/resources/images/purple/form/date-trigger.gif b/skins/jason/extjs/resources/images/purple/form/date-trigger.gif new file mode 100644 index 0000000..f8614ce Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/form/date-trigger.gif differ diff --git a/skins/jason/extjs/resources/images/purple/form/search-trigger.gif b/skins/jason/extjs/resources/images/purple/form/search-trigger.gif new file mode 100644 index 0000000..063f639 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/form/search-trigger.gif differ diff --git a/skins/jason/extjs/resources/images/purple/form/text-bg.gif b/skins/jason/extjs/resources/images/purple/form/text-bg.gif new file mode 100644 index 0000000..4179607 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/form/text-bg.gif differ diff --git a/skins/jason/extjs/resources/images/purple/form/trigger-tpl.gif b/skins/jason/extjs/resources/images/purple/form/trigger-tpl.gif new file mode 100644 index 0000000..5d19974 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/form/trigger-tpl.gif differ diff --git a/skins/jason/extjs/resources/images/purple/form/trigger.gif b/skins/jason/extjs/resources/images/purple/form/trigger.gif new file mode 100644 index 0000000..1129bf7 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/form/trigger.gif differ diff --git a/skins/jason/extjs/resources/images/purple/grid/grid-hrow.gif b/skins/jason/extjs/resources/images/purple/grid/grid-hrow.gif new file mode 100644 index 0000000..9610773 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/grid/grid-hrow.gif differ diff --git a/skins/jason/extjs/resources/images/purple/grid/grid-split.gif b/skins/jason/extjs/resources/images/purple/grid/grid-split.gif new file mode 100644 index 0000000..928fc62 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/grid/grid-split.gif differ diff --git a/skins/jason/extjs/resources/images/purple/grid/grid3-hd-btn.gif b/skins/jason/extjs/resources/images/purple/grid/grid3-hd-btn.gif new file mode 100644 index 0000000..56ff3fc Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/grid/grid3-hd-btn.gif differ diff --git a/skins/jason/extjs/resources/images/purple/grid/grid3-hrow-over.gif b/skins/jason/extjs/resources/images/purple/grid/grid3-hrow-over.gif new file mode 100644 index 0000000..76c7784 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/grid/grid3-hrow-over.gif differ diff --git a/skins/jason/extjs/resources/images/purple/grid/grid3-hrow.gif b/skins/jason/extjs/resources/images/purple/grid/grid3-hrow.gif new file mode 100644 index 0000000..d562cb8 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/grid/grid3-hrow.gif differ diff --git a/skins/jason/extjs/resources/images/purple/grid/grid3-special-col-bg.gif b/skins/jason/extjs/resources/images/purple/grid/grid3-special-col-bg.gif new file mode 100644 index 0000000..f3e4159 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/grid/grid3-special-col-bg.gif differ diff --git a/skins/jason/extjs/resources/images/purple/grid/grid3-special-col-sel-bg.gif b/skins/jason/extjs/resources/images/purple/grid/grid3-special-col-sel-bg.gif new file mode 100644 index 0000000..6d5f892 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/grid/grid3-special-col-sel-bg.gif differ diff --git a/skins/jason/extjs/resources/images/purple/grid/hd-pop.gif b/skins/jason/extjs/resources/images/purple/grid/hd-pop.gif new file mode 100644 index 0000000..e09de5b Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/grid/hd-pop.gif differ diff --git a/skins/jason/extjs/resources/images/purple/grid/row-over.gif b/skins/jason/extjs/resources/images/purple/grid/row-over.gif new file mode 100644 index 0000000..bd37f38 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/grid/row-over.gif differ diff --git a/skins/jason/extjs/resources/images/purple/menu/item-over.gif b/skins/jason/extjs/resources/images/purple/menu/item-over.gif new file mode 100644 index 0000000..021c8be Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/menu/item-over.gif differ diff --git a/skins/jason/extjs/resources/images/purple/menu/menu.gif b/skins/jason/extjs/resources/images/purple/menu/menu.gif new file mode 100644 index 0000000..05e788e Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/menu/menu.gif differ diff --git a/skins/jason/extjs/resources/images/purple/panel/corners-sprite.gif b/skins/jason/extjs/resources/images/purple/panel/corners-sprite.gif new file mode 100644 index 0000000..c802d95 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/panel/corners-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/purple/panel/left-right.gif b/skins/jason/extjs/resources/images/purple/panel/left-right.gif new file mode 100644 index 0000000..e55230c Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/panel/left-right.gif differ diff --git a/skins/jason/extjs/resources/images/purple/panel/light-hd.gif b/skins/jason/extjs/resources/images/purple/panel/light-hd.gif new file mode 100644 index 0000000..9751b2b Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/panel/light-hd.gif differ diff --git a/skins/jason/extjs/resources/images/purple/panel/tool-sprites.gif b/skins/jason/extjs/resources/images/purple/panel/tool-sprites.gif new file mode 100644 index 0000000..2cc1961 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/panel/tool-sprites.gif differ diff --git a/skins/jason/extjs/resources/images/purple/panel/top-bottom.gif b/skins/jason/extjs/resources/images/purple/panel/top-bottom.gif new file mode 100644 index 0000000..7062d51 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/panel/top-bottom.gif differ diff --git a/skins/jason/extjs/resources/images/purple/panel/white-top-bottom.gif b/skins/jason/extjs/resources/images/purple/panel/white-top-bottom.gif new file mode 100644 index 0000000..1f37356 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/panel/white-top-bottom.gif differ diff --git a/skins/jason/extjs/resources/images/purple/qtip/bg.gif b/skins/jason/extjs/resources/images/purple/qtip/bg.gif new file mode 100644 index 0000000..0262d8f Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/qtip/bg.gif differ diff --git a/skins/jason/extjs/resources/images/purple/qtip/close.gif b/skins/jason/extjs/resources/images/purple/qtip/close.gif new file mode 100644 index 0000000..3cbe247 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/qtip/close.gif differ diff --git a/skins/jason/extjs/resources/images/purple/qtip/tip-sprite.gif b/skins/jason/extjs/resources/images/purple/qtip/tip-sprite.gif new file mode 100644 index 0000000..ee572e2 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/qtip/tip-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/purple/s.gif b/skins/jason/extjs/resources/images/purple/s.gif new file mode 100644 index 0000000..1d11fa9 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/s.gif differ diff --git a/skins/jason/extjs/resources/images/purple/shared/glass-bg.gif b/skins/jason/extjs/resources/images/purple/shared/glass-bg.gif new file mode 100644 index 0000000..1263073 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/shared/glass-bg.gif differ diff --git a/skins/jason/extjs/resources/images/purple/shared/hd-sprite.gif b/skins/jason/extjs/resources/images/purple/shared/hd-sprite.gif new file mode 100644 index 0000000..a873d65 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/shared/hd-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/purple/shared/left-btn.gif b/skins/jason/extjs/resources/images/purple/shared/left-btn.gif new file mode 100644 index 0000000..fcf0838 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/shared/left-btn.gif differ diff --git a/skins/jason/extjs/resources/images/purple/shared/right-btn.gif b/skins/jason/extjs/resources/images/purple/shared/right-btn.gif new file mode 100644 index 0000000..58a84f9 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/shared/right-btn.gif differ diff --git a/skins/jason/extjs/resources/images/purple/tabs/scroll-left.gif b/skins/jason/extjs/resources/images/purple/tabs/scroll-left.gif new file mode 100644 index 0000000..4ef86fb Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/tabs/scroll-left.gif differ diff --git a/skins/jason/extjs/resources/images/purple/tabs/scroll-right.gif b/skins/jason/extjs/resources/images/purple/tabs/scroll-right.gif new file mode 100644 index 0000000..f811bae Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/tabs/scroll-right.gif differ diff --git a/skins/jason/extjs/resources/images/purple/tabs/scroller-bg.gif b/skins/jason/extjs/resources/images/purple/tabs/scroller-bg.gif new file mode 100644 index 0000000..52ea74d Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/tabs/scroller-bg.gif differ diff --git a/skins/jason/extjs/resources/images/purple/tabs/tab-btm-inactive-left-bg.gif b/skins/jason/extjs/resources/images/purple/tabs/tab-btm-inactive-left-bg.gif new file mode 100644 index 0000000..98a1bfa Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/tabs/tab-btm-inactive-left-bg.gif differ diff --git a/skins/jason/extjs/resources/images/purple/tabs/tab-btm-inactive-right-bg.gif b/skins/jason/extjs/resources/images/purple/tabs/tab-btm-inactive-right-bg.gif new file mode 100644 index 0000000..e397d4a Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/tabs/tab-btm-inactive-right-bg.gif differ diff --git a/skins/jason/extjs/resources/images/purple/tabs/tab-btm-left-bg.gif b/skins/jason/extjs/resources/images/purple/tabs/tab-btm-left-bg.gif new file mode 100644 index 0000000..6baff29 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/tabs/tab-btm-left-bg.gif differ diff --git a/skins/jason/extjs/resources/images/purple/tabs/tab-btm-right-bg.gif b/skins/jason/extjs/resources/images/purple/tabs/tab-btm-right-bg.gif new file mode 100644 index 0000000..212d4c7 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/tabs/tab-btm-right-bg.gif differ diff --git a/skins/jason/extjs/resources/images/purple/tabs/tab-close.gif b/skins/jason/extjs/resources/images/purple/tabs/tab-close.gif new file mode 100644 index 0000000..84d24a7 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/tabs/tab-close.gif differ diff --git a/skins/jason/extjs/resources/images/purple/tabs/tab-strip-bg.gif b/skins/jason/extjs/resources/images/purple/tabs/tab-strip-bg.gif new file mode 100644 index 0000000..5c00ffb Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/tabs/tab-strip-bg.gif differ diff --git a/skins/jason/extjs/resources/images/purple/tabs/tab-strip-bg.png b/skins/jason/extjs/resources/images/purple/tabs/tab-strip-bg.png new file mode 100644 index 0000000..fa8ab3f Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/tabs/tab-strip-bg.png differ diff --git a/skins/jason/extjs/resources/images/purple/tabs/tab-strip-btm-bg.gif b/skins/jason/extjs/resources/images/purple/tabs/tab-strip-btm-bg.gif new file mode 100644 index 0000000..a06de83 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/tabs/tab-strip-btm-bg.gif differ diff --git a/skins/jason/extjs/resources/images/purple/tabs/tabs-sprite.gif b/skins/jason/extjs/resources/images/purple/tabs/tabs-sprite.gif new file mode 100644 index 0000000..5dd5ac3 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/tabs/tabs-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/purple/toolbar/bg.gif b/skins/jason/extjs/resources/images/purple/toolbar/bg.gif new file mode 100644 index 0000000..d581662 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/toolbar/bg.gif differ diff --git a/skins/jason/extjs/resources/images/purple/toolbar/btn-arrow-light.gif b/skins/jason/extjs/resources/images/purple/toolbar/btn-arrow-light.gif new file mode 100644 index 0000000..e43f868 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/toolbar/btn-arrow-light.gif differ diff --git a/skins/jason/extjs/resources/images/purple/toolbar/btn-arrow.gif b/skins/jason/extjs/resources/images/purple/toolbar/btn-arrow.gif new file mode 100644 index 0000000..f9b3889 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/toolbar/btn-arrow.gif differ diff --git a/skins/jason/extjs/resources/images/purple/toolbar/btn-over-bg.gif b/skins/jason/extjs/resources/images/purple/toolbar/btn-over-bg.gif new file mode 100644 index 0000000..1951691 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/toolbar/btn-over-bg.gif differ diff --git a/skins/jason/extjs/resources/images/purple/toolbar/gray-bg.gif b/skins/jason/extjs/resources/images/purple/toolbar/gray-bg.gif new file mode 100644 index 0000000..1841d62 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/toolbar/gray-bg.gif differ diff --git a/skins/jason/extjs/resources/images/purple/toolbar/tb-bg.gif b/skins/jason/extjs/resources/images/purple/toolbar/tb-bg.gif new file mode 100644 index 0000000..5bda4dd Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/toolbar/tb-bg.gif differ diff --git a/skins/jason/extjs/resources/images/purple/toolbar/tb-btn-sprite.gif b/skins/jason/extjs/resources/images/purple/toolbar/tb-btn-sprite.gif new file mode 100644 index 0000000..a94825b Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/toolbar/tb-btn-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/purple/window/left-corners.png b/skins/jason/extjs/resources/images/purple/window/left-corners.png new file mode 100644 index 0000000..ac98ab6 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/window/left-corners.png differ diff --git a/skins/jason/extjs/resources/images/purple/window/left-right.png b/skins/jason/extjs/resources/images/purple/window/left-right.png new file mode 100644 index 0000000..672c376 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/window/left-right.png differ diff --git a/skins/jason/extjs/resources/images/purple/window/right-corners.png b/skins/jason/extjs/resources/images/purple/window/right-corners.png new file mode 100644 index 0000000..735caf2 Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/window/right-corners.png differ diff --git a/skins/jason/extjs/resources/images/purple/window/top-bottom.png b/skins/jason/extjs/resources/images/purple/window/top-bottom.png new file mode 100644 index 0000000..a9c962c Binary files /dev/null and b/skins/jason/extjs/resources/images/purple/window/top-bottom.png differ diff --git a/skins/jason/extjs/resources/images/vista/basic-dialog/bg-center.gif b/skins/jason/extjs/resources/images/vista/basic-dialog/bg-center.gif new file mode 100644 index 0000000..7bf4a4b Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/basic-dialog/bg-center.gif differ diff --git a/skins/jason/extjs/resources/images/vista/basic-dialog/bg-left.gif b/skins/jason/extjs/resources/images/vista/basic-dialog/bg-left.gif new file mode 100644 index 0000000..94b1daf Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/basic-dialog/bg-left.gif differ diff --git a/skins/jason/extjs/resources/images/vista/basic-dialog/bg-right.gif b/skins/jason/extjs/resources/images/vista/basic-dialog/bg-right.gif new file mode 100644 index 0000000..6dadaf6 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/basic-dialog/bg-right.gif differ diff --git a/skins/jason/extjs/resources/images/vista/basic-dialog/close.gif b/skins/jason/extjs/resources/images/vista/basic-dialog/close.gif new file mode 100644 index 0000000..4278db9 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/basic-dialog/close.gif differ diff --git a/skins/jason/extjs/resources/images/vista/basic-dialog/collapse.gif b/skins/jason/extjs/resources/images/vista/basic-dialog/collapse.gif new file mode 100644 index 0000000..b07e297 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/basic-dialog/collapse.gif differ diff --git a/skins/jason/extjs/resources/images/vista/basic-dialog/dlg-bg.gif b/skins/jason/extjs/resources/images/vista/basic-dialog/dlg-bg.gif new file mode 100644 index 0000000..1a46663 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/basic-dialog/dlg-bg.gif differ diff --git a/skins/jason/extjs/resources/images/vista/basic-dialog/e-handle.gif b/skins/jason/extjs/resources/images/vista/basic-dialog/e-handle.gif new file mode 100644 index 0000000..48877e7 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/basic-dialog/e-handle.gif differ diff --git a/skins/jason/extjs/resources/images/vista/basic-dialog/expand.gif b/skins/jason/extjs/resources/images/vista/basic-dialog/expand.gif new file mode 100644 index 0000000..5b4b0d1 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/basic-dialog/expand.gif differ diff --git a/skins/jason/extjs/resources/images/vista/basic-dialog/hd-sprite.gif b/skins/jason/extjs/resources/images/vista/basic-dialog/hd-sprite.gif new file mode 100644 index 0000000..3c2dd63 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/basic-dialog/hd-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/vista/basic-dialog/s-handle.gif b/skins/jason/extjs/resources/images/vista/basic-dialog/s-handle.gif new file mode 100644 index 0000000..c13c9cd Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/basic-dialog/s-handle.gif differ diff --git a/skins/jason/extjs/resources/images/vista/basic-dialog/se-handle.gif b/skins/jason/extjs/resources/images/vista/basic-dialog/se-handle.gif new file mode 100644 index 0000000..c4e38a2 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/basic-dialog/se-handle.gif differ diff --git a/skins/jason/extjs/resources/images/vista/basic-dialog/w-handle.gif b/skins/jason/extjs/resources/images/vista/basic-dialog/w-handle.gif new file mode 100644 index 0000000..d59eafc Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/basic-dialog/w-handle.gif differ diff --git a/skins/jason/extjs/resources/images/vista/gradient-bg.gif b/skins/jason/extjs/resources/images/vista/gradient-bg.gif new file mode 100644 index 0000000..8134e49 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/gradient-bg.gif differ diff --git a/skins/jason/extjs/resources/images/vista/grid/grid-split.gif b/skins/jason/extjs/resources/images/vista/grid/grid-split.gif new file mode 100644 index 0000000..c76a16e Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/grid/grid-split.gif differ diff --git a/skins/jason/extjs/resources/images/vista/grid/grid-vista-hd.gif b/skins/jason/extjs/resources/images/vista/grid/grid-vista-hd.gif new file mode 100644 index 0000000..d097263 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/grid/grid-vista-hd.gif differ diff --git a/skins/jason/extjs/resources/images/vista/layout/collapse.gif b/skins/jason/extjs/resources/images/vista/layout/collapse.gif new file mode 100644 index 0000000..cbd6e08 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/layout/collapse.gif differ diff --git a/skins/jason/extjs/resources/images/vista/layout/expand.gif b/skins/jason/extjs/resources/images/vista/layout/expand.gif new file mode 100644 index 0000000..8103c0d Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/layout/expand.gif differ diff --git a/skins/jason/extjs/resources/images/vista/layout/gradient-bg.gif b/skins/jason/extjs/resources/images/vista/layout/gradient-bg.gif new file mode 100644 index 0000000..d311e7d Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/layout/gradient-bg.gif differ diff --git a/skins/jason/extjs/resources/images/vista/layout/ns-collapse.gif b/skins/jason/extjs/resources/images/vista/layout/ns-collapse.gif new file mode 100644 index 0000000..f2ad235 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/layout/ns-collapse.gif differ diff --git a/skins/jason/extjs/resources/images/vista/layout/ns-expand.gif b/skins/jason/extjs/resources/images/vista/layout/ns-expand.gif new file mode 100644 index 0000000..0817ec6 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/layout/ns-expand.gif differ diff --git a/skins/jason/extjs/resources/images/vista/layout/panel-close.gif b/skins/jason/extjs/resources/images/vista/layout/panel-close.gif new file mode 100644 index 0000000..4e96481 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/layout/panel-close.gif differ diff --git a/skins/jason/extjs/resources/images/vista/layout/panel-title-bg.gif b/skins/jason/extjs/resources/images/vista/layout/panel-title-bg.gif new file mode 100644 index 0000000..681f517 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/layout/panel-title-bg.gif differ diff --git a/skins/jason/extjs/resources/images/vista/layout/panel-title-light-bg.gif b/skins/jason/extjs/resources/images/vista/layout/panel-title-light-bg.gif new file mode 100644 index 0000000..23d8288 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/layout/panel-title-light-bg.gif differ diff --git a/skins/jason/extjs/resources/images/vista/layout/stick.gif b/skins/jason/extjs/resources/images/vista/layout/stick.gif new file mode 100644 index 0000000..7db68ee Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/layout/stick.gif differ diff --git a/skins/jason/extjs/resources/images/vista/layout/tab-close-on.gif b/skins/jason/extjs/resources/images/vista/layout/tab-close-on.gif new file mode 100644 index 0000000..556e905 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/layout/tab-close-on.gif differ diff --git a/skins/jason/extjs/resources/images/vista/layout/tab-close.gif b/skins/jason/extjs/resources/images/vista/layout/tab-close.gif new file mode 100644 index 0000000..0a6f019 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/layout/tab-close.gif differ diff --git a/skins/jason/extjs/resources/images/vista/qtip/bg.gif b/skins/jason/extjs/resources/images/vista/qtip/bg.gif new file mode 100644 index 0000000..5c0e8c9 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/qtip/bg.gif differ diff --git a/skins/jason/extjs/resources/images/vista/qtip/tip-sprite.gif b/skins/jason/extjs/resources/images/vista/qtip/tip-sprite.gif new file mode 100644 index 0000000..a186286 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/qtip/tip-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/vista/s.gif b/skins/jason/extjs/resources/images/vista/s.gif new file mode 100644 index 0000000..1d11fa9 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/s.gif differ diff --git a/skins/jason/extjs/resources/images/vista/sizer/e-handle-dark.gif b/skins/jason/extjs/resources/images/vista/sizer/e-handle-dark.gif new file mode 100644 index 0000000..eac9662 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/sizer/e-handle-dark.gif differ diff --git a/skins/jason/extjs/resources/images/vista/sizer/e-handle.gif b/skins/jason/extjs/resources/images/vista/sizer/e-handle.gif new file mode 100644 index 0000000..f2c9f53 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/sizer/e-handle.gif differ diff --git a/skins/jason/extjs/resources/images/vista/sizer/ne-handle-dark.gif b/skins/jason/extjs/resources/images/vista/sizer/ne-handle-dark.gif new file mode 100644 index 0000000..c9c041c Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/sizer/ne-handle-dark.gif differ diff --git a/skins/jason/extjs/resources/images/vista/sizer/ne-handle.gif b/skins/jason/extjs/resources/images/vista/sizer/ne-handle.gif new file mode 100644 index 0000000..942ae82 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/sizer/ne-handle.gif differ diff --git a/skins/jason/extjs/resources/images/vista/sizer/nw-handle-dark.gif b/skins/jason/extjs/resources/images/vista/sizer/nw-handle-dark.gif new file mode 100644 index 0000000..23fced9 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/sizer/nw-handle-dark.gif differ diff --git a/skins/jason/extjs/resources/images/vista/sizer/nw-handle.gif b/skins/jason/extjs/resources/images/vista/sizer/nw-handle.gif new file mode 100644 index 0000000..d39b0c3 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/sizer/nw-handle.gif differ diff --git a/skins/jason/extjs/resources/images/vista/sizer/s-handle-dark.gif b/skins/jason/extjs/resources/images/vista/sizer/s-handle-dark.gif new file mode 100644 index 0000000..ddc2e18 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/sizer/s-handle-dark.gif differ diff --git a/skins/jason/extjs/resources/images/vista/sizer/s-handle.gif b/skins/jason/extjs/resources/images/vista/sizer/s-handle.gif new file mode 100644 index 0000000..827c333 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/sizer/s-handle.gif differ diff --git a/skins/jason/extjs/resources/images/vista/sizer/se-handle-dark.gif b/skins/jason/extjs/resources/images/vista/sizer/se-handle-dark.gif new file mode 100644 index 0000000..1a678e6 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/sizer/se-handle-dark.gif differ diff --git a/skins/jason/extjs/resources/images/vista/sizer/se-handle.gif b/skins/jason/extjs/resources/images/vista/sizer/se-handle.gif new file mode 100644 index 0000000..69b5a9e Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/sizer/se-handle.gif differ diff --git a/skins/jason/extjs/resources/images/vista/sizer/sw-handle-dark.gif b/skins/jason/extjs/resources/images/vista/sizer/sw-handle-dark.gif new file mode 100644 index 0000000..937102c Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/sizer/sw-handle-dark.gif differ diff --git a/skins/jason/extjs/resources/images/vista/sizer/sw-handle.gif b/skins/jason/extjs/resources/images/vista/sizer/sw-handle.gif new file mode 100644 index 0000000..b9e2f56 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/sizer/sw-handle.gif differ diff --git a/skins/jason/extjs/resources/images/vista/tabs/tab-btm-inactive-left-bg.gif b/skins/jason/extjs/resources/images/vista/tabs/tab-btm-inactive-left-bg.gif new file mode 100644 index 0000000..667beeb Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/tabs/tab-btm-inactive-left-bg.gif differ diff --git a/skins/jason/extjs/resources/images/vista/tabs/tab-btm-inactive-right-bg.gif b/skins/jason/extjs/resources/images/vista/tabs/tab-btm-inactive-right-bg.gif new file mode 100644 index 0000000..6c4e0a4 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/tabs/tab-btm-inactive-right-bg.gif differ diff --git a/skins/jason/extjs/resources/images/vista/tabs/tab-btm-left-bg.gif b/skins/jason/extjs/resources/images/vista/tabs/tab-btm-left-bg.gif new file mode 100644 index 0000000..1d81e54 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/tabs/tab-btm-left-bg.gif differ diff --git a/skins/jason/extjs/resources/images/vista/tabs/tab-btm-right-bg.gif b/skins/jason/extjs/resources/images/vista/tabs/tab-btm-right-bg.gif new file mode 100644 index 0000000..47d0050 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/tabs/tab-btm-right-bg.gif differ diff --git a/skins/jason/extjs/resources/images/vista/tabs/tab-sprite.gif b/skins/jason/extjs/resources/images/vista/tabs/tab-sprite.gif new file mode 100644 index 0000000..a16eedb Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/tabs/tab-sprite.gif differ diff --git a/skins/jason/extjs/resources/images/vista/toolbar/gray-bg.gif b/skins/jason/extjs/resources/images/vista/toolbar/gray-bg.gif new file mode 100644 index 0000000..9af15c2 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/toolbar/gray-bg.gif differ diff --git a/skins/jason/extjs/resources/images/vista/toolbar/tb-btn-sprite.gif b/skins/jason/extjs/resources/images/vista/toolbar/tb-btn-sprite.gif new file mode 100644 index 0000000..f21b0d6 Binary files /dev/null and b/skins/jason/extjs/resources/images/vista/toolbar/tb-btn-sprite.gif differ diff --git a/skins/jason/extjs/resources/resources.jsb b/skins/jason/extjs/resources/resources.jsb new file mode 100644 index 0000000..5e8a75e --- /dev/null +++ b/skins/jason/extjs/resources/resources.jsb @@ -0,0 +1,699 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/skins/jason/files.lst b/skins/jason/files.lst new file mode 100644 index 0000000..561299a --- /dev/null +++ b/skins/jason/files.lst @@ -0,0 +1,29 @@ +FILES = \ +extjs/adapter/ext/ext-base.js \ +extjs/ext-all.js \ +ux/DDView.js \ +ux/multiselect.js \ +ux/sessionprovider.js \ +ux/tabclosemenu.js \ +ux/filter.js \ +common.js \ +reader.js \ +help.js \ +form.js \ +channelspanel.js \ +stream.js \ +monitor.js \ +remote.js \ +channels.js \ +now.js \ +program.js \ +search.js \ +timers.js \ +autotimers.js \ +recordings.js \ +chronicle.js \ +users.js \ +vdr.js \ +menus.js \ +tabpanel.js \ +main.js diff --git a/skins/jason/form.js b/skins/jason/form.js new file mode 100644 index 0000000..e9262f6 --- /dev/null +++ b/skins/jason/form.js @@ -0,0 +1,308 @@ +/* + * jason - Javascript based skin for xxv + * Copyright(c) 2008-2009, anbr + * + * http://xxv.berlios.de/ + * + * $Id$ + */ + +Ext.xxv.Question = function(item,parentstore) { + + if(XXV.help.cmdDisabled(item.cmd)) { + new Ext.xxv.MessageBox().msgFailure(this.szCommandDeny, item.cmd); + return 0; + } + + this.parentstore = parentstore; + this.item = item; + + this.store = new Ext.data.Store({ + reader: new Ext.xxv.jsonReader({ + fields: [ + {name: 'id',type: 'string'}, + {name: 'fieldLabel', type: 'string'}, + {name: 'type', type: 'string'}, + {name: 'valuedef', type: 'string'}, + {name: 'valuereq', type: 'boolean'}, + {name: 'readonly', type: 'boolean'}, + {name: 'choices'} + ] + }), + proxy : new Ext.data.HttpProxy({ + url: XXV.help.cmdAJAX(item.cmd,{ data:item.id }) + ,method: 'GET' +// ,params: { data:item.id } + }) + }); + + Ext.xxv.Question.superclass.constructor.call(this, { + stateful: false, + title: item.title, + width: 600, + height:500, + minWidth: 300, + minHeight: 200, + layout: 'anchor', + plain:true, + //bodyStyle:'padding:5px;', + buttonAlign:'right', + buttons: [ + { + text: this.szClose + ,handler: this.destroy + ,scope: this + }, + { + text: this.szApply + ,handler: this.onApply + ,scope: this + }] + }); + + this.store.load({ scope: this + ,callback: this.onLoad + ,failure: this.onLoadException + }); +}; + +Ext.extend(Ext.xxv.Question, Ext.Window, { + + szClose : "Close" + ,szApply : "Apply" + ,szCommandDeny : "Command '{0}' not allowed!" + ,szLoadException : "Couldn't get data!\r\n{0}" + ,szFailure : "Couldn't save data!\r\n{0}" + ,szSuccess : "Data saved successful.\r\n{0}" + ,szComboEmpty : "Select ..." + + ,onLoadException : function( scope, o, arg, e) { + new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e); + } + ,onLoad : function(r,options,success){ + + this.form = new Ext.form.FormPanel({ + id: 'form-panel' + ,stateful: false + ,baseCls: 'x-plain' + ,labelWidth: 200 + ,defaultType: 'textfield' + }); + + for(var i = 0, len = r.length; i < len; i++){ + var config = { + name: r[i].data.id + ,fieldLabel: Ext.util.Format.ellipsis(r[i].data.fieldLabel,30) + ,value: r[i].data.valuedef + ,anchor: '100%' // anchor width by percentage + ,stateful: false + }; + if(r[i].data.valuereq){ + config.allowBlank = false; + } + switch(r[i].data.type){ + case 'hidden': + config.autoShow = false; + config.xtype = 'hidden'; + break; + case 'confirm': + config.xtype = 'xxv-checkboxes'; + config.horizontal = true; + config.hideLabel = true; + config.items = [{ + value: 'y', + boxLabel: Ext.util.Format.ellipsis(r[i].data.fieldLabel,80), + checked: r[i].data.valuedef == 'y' ? true : false + } + ]; + break; + case 'checkbox': + config.xtype = 'xxv-checkboxes'; + config.horizontal = true; + config.items = []; + for(var f = 0, flen = r[i].data.choices.length; f < flen; f++){ + config.items.push({ + value: r[i].data.choices[f], + boxLabel: Ext.util.Format.ellipsis(r[i].data.choices[f],15), + checked: (config.value.match(r[i].data.choices[f]) ? true : false) + }); + } + break; + case 'password': + config.xtype = 'textfield'; + config.allowBlank = true; + config.inputType = 'password'; + break; + case 'multilist': + config.xtype = 'multiselect'; + config.allowBlank = true; + + if(r[i].data.choices.length > 0) { + + var fields; + if(r[i].data.choices[0].length >= 3) { + fields = [ {name: 'display'} ,{name: 'value'}, {name: 'groups'} ]; + + var cls = 'ux-mselect'; + var tpl = ''; + tpl+= '
    {groups}
    '; + tpl+= '
    0) { + var fields; + if(r[i].data.choices[0].length >= 3) { + fields = [ {name: 'display'} ,{name: 'value'}, {name: 'groups'} ]; + config.tpl = new Ext.XTemplate( + '', + '
    {groups}
    ', + '
    {display}
    ', + '
    ', { + isNewGroup: function(groups){ + if(groups && (!this.lastgroups || groups != this.lastgroups)) { this.lastgroups = groups; return 1; } + return 0; + } + }); + + } else { + fields = [ {name: 'display'} ,{name: 'value'} ]; + config.tpl = '
    {display}
    '; + + } + config.store = new Ext.data.Store({ + reader: new Ext.data.ArrayReader({}, fields), + data: r[i].data.choices + }); + + config.displayField = 'display'; + config.valueField = 'value'; + } + + config.triggerAction = 'all'; + config.lazyRender = true; + config.listClass = 'x-combo-list-small'; + config.mode = 'local'; + config.emptyText = this.szComboEmpty; + config.selectOnFocus = true; + config.editable = false; + + break; + /*case 'date': + config.xtype = 'datefield'; + break;*/ + case 'time': + config.xtype = 'timefield'; + break; + case 'integer': + config.xtype = 'numberfield'; + config.allowDecimals = false; + break; + case 'textfield': + config.xtype = 'textarea'; + break; + } + if(r[i].data.readonly){ + config.hideLabel = true; + config.height = 200; // anchor width by percentage and height by raw adjustment + config.readOnly = true; + } + + this.form.add(config); + } + if(i) { + this.add(this.form); + this.show(); + } else { + new Ext.xxv.MessageBox().msgFailure(this.szLoadException, ""); + } + }, + + onApply: function() { + this.el.mask(Ext.LoadMask.prototype.msg, 'x-mask-loading'); + + var params = {data:this.item.id,ajax:'json','__action':'save'}; + for(var i = 0, len = this.store.getCount(); i < len; i++){ + var record = this.store.getAt(i); + if(record.data.readonly == 0) { + var field = this.form.getForm().findField(record.data.id); + /*switch(record.data.type){ + case 'confirm': + params['__'+record.data.id] = field.getValue() ? 'y' : 'n'; + break; + default:*/ + params['__'+record.data.id] = field.getValue(); + /* break; + } */ + } + } + Ext.Ajax.request({ + url:'?' + Ext.urlEncode({cmd:this.item.cmd}) + ,method: 'POST' + ,params: params + ,success: this.onSuccess + ,failure: this.onFailure + ,scope: this + }); + }, + + onFailure : function(response,options){ + this.el.unmask(); + new Ext.xxv.MessageBox().msgFailure(this.szFailure,response.statusText); + }, + + onSuccess : function(response, options){ + this.el.unmask(); + var o = eval("("+response.responseText+")"); + if(o && o.data && typeof(o.data) == 'string' + && o.param && o.param.state && o.param.state == 'success') { + new Ext.xxv.MessageBox().msgSuccess(this.szSuccess, o.data); + this.hide(); + if(this.parentstore) + this.parentstore.reload(); + } else { + var msg = ''; + if(o && o.data && typeof(o.data) == 'string') { + msg = o.data; + } + new Ext.xxv.MessageBox().msgFailure(this.szFailure, msg); + } + } +}); diff --git a/skins/jason/help.js b/skins/jason/help.js new file mode 100644 index 0000000..d7b43b5 --- /dev/null +++ b/skins/jason/help.js @@ -0,0 +1,121 @@ +/* + * jason - Javascript based skin for xxv + * Copyright(c) 2008-2009, anbr + * + * http://xxv.berlios.de/ + * + * $Id$ + */ + +Ext.xxv.help = function(/*config*/){ + //Ext.xxv.help.superclass.constructor.call(this, config); + //Ext.apply(this, config); + + this.store = new Ext.data.Store({ + baseParams:{cmd:'help'} + ,autoLoad: true + ,reader: new Ext.xxv.jsonReader({ + fields: [ + {name: 'id', type: 'string'}, + {name: 'cmd', type: 'string'}, + {name: 'module', type: 'string'}, + {name: 'description', type: 'string'} + ] + }) + ,proxy : new Ext.data.HttpProxy({ + url: this.baseURL() + ,method: 'GET' + }) + }); + + this.store.on('load', this.onLoad , this); +}; + + +Ext.extend(Ext.xxv.help, Ext.util.Observable, { + + onLoad : function(store, records, options) { + + if(!this.cmdDisabled('ce')) { + // HTTPD are not visible on cmd=help + XXV.configMenu.add(new Ext.menu.Item( + { + text: 'HTTPD' + ,disabled:false + ,handler: this.Configure + ,scope:this + })); + XXV.configMenu.add('-'); + + var lastModule; + for(var i = 0, len = store.getCount(); i < len; i++){ + var record = store.getAt(i); + if(!lastModule || record.data.module != lastModule) { + lastModule = record.data.module + XXV.configMenu.add(new Ext.menu.Item( + { + text: record.data.module + ,disabled:false + ,handler: this.Configure + ,scope:this + })); + } + } + } + } + ,Configure : function(item, e) { + if(e) { + if(XXV.tab.formwin){ + XXV.tab.formwin.close(); + } + XXV.tab.formwin = new Ext.xxv.Question({ + cmd: 'ce' + ,id: item.text + ,title: item.text + }); + } + } + ,Settings : function(item, e) { + if(e) { + if(XXV.tab.formwin){ + XXV.tab.formwin.close(); + } + XXV.tab.formwin = new Ext.xxv.Question({ + cmd: 'up' + ,title: item.text + }); + } + } + ,baseURL: function(param) { + if(!param) { + param = {}; + } + param.ajax = 'json'; + return '?' + Ext.urlEncode(param); + } + ,cmdHTML: function(cmd, param) { + if(!param) { + param = {}; + } + param.cmd = cmd; + return '?' + Ext.urlEncode(param); + } + ,cmdAJAX: function(cmd, param) { + if(!param) { + param = {}; + } + param.cmd = cmd; + param.ajax = 'json'; + return this.cmdHTML(cmd,param); + } + ,cmdAllowed: function(cmd) { + var record = this.store.getById(cmd); + return (record) ? true : false; + } + ,cmdDisabled: function(cmd) { + var record = this.store.getById(cmd); + return (record) ? false : true; + } +}); + + diff --git a/skins/jason/index.tmpl b/skins/jason/index.tmpl new file mode 100644 index 0000000..28869fe --- /dev/null +++ b/skins/jason/index.tmpl @@ -0,0 +1,74 @@ +"?> + + + + +xml:lang="" lang=""xml:lang="en" lang="en"> + + JaSON + + + + + + + + + + + + + +
    +
    +
    + +
    +
    +
    + + + + + + + # load files from files.lst + my $scripts = $context->include('files.lst'); + my @script = split(/\\\n/,$scripts); + shift(@script); # Remove FILES = + map { + $_ =~ s/^\s+//; + $_ =~ s/\s+$//; + } @script; + $stash->set(scripts => \@script); + + + + + + + + + + + + + + + diff --git a/skins/jason/jason.css b/skins/jason/jason.css new file mode 100644 index 0000000..1885817 --- /dev/null +++ b/skins/jason/jason.css @@ -0,0 +1,386 @@ +/* + * jason - Javascript based skin for xxv + * Copyright(c) 2008-2009, anbr + * + * http://xxv.berlios.de/ + * + * $Id$ + */ + +html, body { +font: normal 12px tahoma,arial,helvetica,sans-serif; +margin: 0; +padding: 0; +border: 0 none; +overflow: hidden; +height: 100%; +} + +.ext-el-mask { +background:#dadadb; +} +.x-grid3-td-title b { +display:block; +color:#333; +} +.x-grid3-td-title b i { +font-weight:normal; +font-style: normal; +color:#000; +} +.x-grid3-td-title .topic { +padding-left:20px; +background:transparent no-repeat 0 2px; +} +.x-grid3-td-title .x-grid3-cell-inner { +white-space:normal; +} +.x-grid3-td-title a { +color: #385F95; +text-decoration:none; +} +.x-grid3-td-title a:hover { +text-decoration:underline; +} + +.x-grid3-row-body p { +margin:5px 20px 10px 25px !important; +color:#555; +} + + +.x-tree { +background:#fff !important; +} + +.x-tree-node div.channels-node{ +background:#eee url(pic/bg.png) repeat-x; +margin-top:1px; +border-top:1px solid #ddd; +border-bottom:1px solid #ccc; +padding-top:2px; +padding-bottom:1px; +} +.channels-node .x-tree-node-icon { +display:none; +} +.forum-ct a span { +font-weight:bold; +color:#222; +} +.channel { +border:1px solid #fff; +margin:3px; +} +.channel .x-tree-ec-icon { +display:none; +} + + +.refresh-icon { background-image:url(pic/refresh.png) !important; } +.autotimer-icon { background-image:url(pic/autotimer.png) !important; } +.find-icon { background-image:url(pic/search.png) !important; } +.channel-icon { background-image:url(pic/channel.png) !important; } +.recordings-icon { background-image:url(pic/video.png) !important; } +.timer-icon { background-image:url(pic/timer.png) !important; } +.timer-new-icon { background-image:url(pic/timer.png) !important; } +.timer-toggle-icon { background-image:url(pic/timer-toggle.png) !important; } +.select-channel-icon { background-image:url(pic/channel-select.png) !important; } +.stream-icon { background-image:url(pic/channel-stream.png) !important; } +.switch-icon { background-image:url(pic/channel-switch.png) !important; } +.xxv-icon { background-image:url(pic/xxv.png) !important; } +.program-icon { background-image:url(pic/channel.png) !important; } +.media-icon { background-image:url(pic/video.png) !important; } +.logout-icon { background-image:url(pic/logout.png) !important; } +.audio-icon { background-image:url(pic/audio.png) !important; } +.delete-icon { background-image:url(pic/delete.png) !important; } +.play-icon { background-image:url(pic/play.png) !important; } +.record-icon { background-image:url(pic/record.png) !important; } +.recover-icon { background-image:url(pic/recover.png) !important; } +.new-icon { background-image:url(pic/new.png) !important; } +.edit-icon { background-image:url(pic/edit.png) !important; } +.cut-icon { background-image:url(pic/cut.png) !important; } +.chronicle-icon { background-image:url(pic/chronicle.png) !important; } +.remote-icon { background-image:url(pic/remote.png) !important; } +.monitor-icon { background-image:url(pic/monitor.png) !important; } +.setup-icon { background-image:url(pic/setup.png) !important; } +.vdr-icon { background-image:url(pic/vdr-logo.png) !important; } +.users-icon { background-image:url(pic/users.png) !important; } +.view-icon { background-image:url(pic/preview.png) !important; } +.preview-icon { background-image:url(pic/preview.png) !important; } +.preview-bottom { background-image:url(pic/preview-bottom.png) !important; } +.preview-right { background-image:url(pic/preview-right.png) !important; } +.preview-hide { background-image:url(pic/preview.png) !important; } + +.x-tree-selected { +border:1px dotted #a3bae9; +background:#DFE8F6; +} +.x-tree-node .x-tree-selected a span{ +background:transparent; +color:#15428b; +font-weight:bold; +} + +#program-grid .x-panel-tbar .x-toolbar { +/* border-top:0 none; */ +} + + +#main-tabs .x-tab-panel-body { +background:transparent; +border:0 none; +} + +/* Preview classes */ + +.preview .x-panel-body { +background:#fff; +color:#222; +} + +.preview .x-panel-body p { +line-height:18px; +margin:8px 0; +} + +.preview .x-panel-body ul { +margin-left:18px; +} + +.preview .x-panel-body ul li { +display:list-item; +list-style-image:none !important; +list-style-position:outside !important; +list-style-type:disc !important; +margin-left:18px; +} + +.preview .x-panel-body h3.preview-title { +text-align:left; +font-weight:bold; +font-size:1.1em; +color:#000; +font-size:1em; +float:left; +} + +.preview .x-panel-body h4.preview-shorttitle { +text-align:left; +font-weight:bold; +color:#555; +font-size:1.0em; +clear:left; +float:left; +} + +.preview .x-panel-body div.preview-date { +font-weight:normal; +color:#555; +text-align:right; +font-size:1.0em; +width:100%; +} + +.preview .x-panel-body div.preview-channel { +font-weight:normal; +color:#555; +text-align:right; +font-size:1.0em; +width:100%; +} + +.preview .x-panel-body { +font-weight:normal; +color:#555; +/*float:right;*/ +font-size:0.9em; +} +.preview .x-panel-body div.preview-header { +background:#f1f2f4; +padding:5px; +border-bottom:1px solid #dadadb; +} +.preview .x-panel-body div.preview-body { +padding:10px; +} + +.reading-menu .x-menu-item-checked { +border:1px dotted #a3bae9 !important; +background:#DFE8F6; +padding:0; +} +.x-tab-panel-header { +border-bottom-width:0 !important; +} +#suggested { +border-top:0 none; +} +#suggested a { +text-decoration:none; +font-size:1em; +color:#15428B; +display:block; +padding:3px; +float:right; +margin-right:4px; +} +#suggested a:hover { +text-decoration:underline; +color:#15428B; +} +.x-combo-list-item { +/* zoom:1;*/ +} +.x-combo-list-item strong { +color:#777; +font-size:1em; +font-style: normal; +float:left; +} +.x-combo-list-item em { +color:#222; +font-size:1em; +font-style: normal; +float:left; +} +.x-node-ctx { +background:#eee !important; +border:1px solid #ccc !important; +} + +#msg-div { +width: 500px; +z-index: 20000; +} + +/* rlist */ +#rl .x-panel-body{ +background: white; +} +#rl .thumb{ +background: #dddddd; +padding: 3px; +height: 6em; +width: 8em; +overflow: hidden; +} +#rl .thumb img{ +height: 6em; +width: 8em; +} + +#rl .thumb div.unviewed { +position:relative; +overflow:hidden; +top:-5.75em; +left:6.25em; +height: 16px; +width: 16px; +background-image:url(pic/unviewed.png) !important; +} + +#rl .thumb-wrap{ +float: left; +margin: 4px; +margin-right: 0; +padding: 5px; +} +#rl .thumb-wrap span{ +display: block; +overflow: hidden; +text-align: center; +font-size:0.8em; +font-weight:bold; +} + +#rl .x-view-over{ +border:1px solid #dddddd; +background: #efefef url(extjs/resources/images/default/grid/row-over.gif) repeat-x left top; +padding: 4px; +} + +#rl .x-view-selected{ +background: #eff5fb no-repeat right bottom; +border:1px solid #99bbe8; +padding: 4px; +} +#rl .x-view-selected .thumb{ +background:transparent; +} + +#rl .loading-indicator { +font-size:1em; +background-image:url('extjs/resources/images/default/grid/loading.gif'); +background-repeat: no-repeat; +background-position: left; +padding-left:20px; +margin:10px; +} + +.x-slide-inner { +position:relative; +overflow:hidden; +margin:5px; +} + +.x-slide-images-wrap { +position:absolute; +} + +.x-slide-images { +white-space:nowrap; +position:absolute; +float:left; +} + +#loading-mask{ +position:absolute; +left:0; +top:0; +width:100%; +height:100%; +z-index:20000; +background-color:white; +} +#loading{ +position:absolute; +left:45%; +top:40%; +padding:2px; +z-index:20001; +height:auto; +} +#loading img { +margin-bottom:5px; +} +#loading .loading-indicator{ +background:white; +color:#555; +font-size:1em; +font-weight:normal; +padding:10px; +margin:0; +text-align:center; +height:auto; +} + +.deactive { +color:#AAA; +} + +.running { +color:#2020b4; +} + +.active { +color:#202060; +} + +.problem { +color:#b03e28; +} + +.error { +color:red; +} diff --git a/skins/jason/locale/lang-de.js b/skins/jason/locale/lang-de.js new file mode 100644 index 0000000..e9dc689 --- /dev/null +++ b/skins/jason/locale/lang-de.js @@ -0,0 +1,203 @@ +/* + * jason - Javascript based skin for xxv + * Copyright(c) 2008-2009, anbr + * + * http://xxv.berlios.de/ + * + * $Id$ + * + * German translation + */ + +Ext.xxv.Panel.prototype.title = "Verbinde ..."; +Ext.xxv.Panel.prototype.szLoading = "Lade ..."; +Ext.xxv.Panel.prototype.szTitle = "Xtreme eXtension für VDR"; + +Ext.xxv.MessageBox.prototype.szFailure = "Fehlgeschlagen!"; +Ext.xxv.MessageBox.prototype.szSuccess = "Erfolgreich!"; + +Ext.xxv.MainMenu.prototype.szMenuXXV = "XXV"; +Ext.xxv.MainMenu.prototype.szMenuProgramming = "Programmierung"; +Ext.xxv.MainMenu.prototype.szMenuMedia = "Medien"; +Ext.xxv.MainMenu.prototype.szMenuView = "Anzeige"; +Ext.xxv.MainMenu.prototype.szMenuItemSetup = "Einstellungen"; +Ext.xxv.MainMenu.prototype.szGlobalSettings = "Globale Einstellungen"; +Ext.xxv.MainMenu.prototype.szOwnSettings = "Eigene Einstellungen"; +Ext.xxv.MainMenu.prototype.szMenuItemLogout = "Abmelden"; +Ext.xxv.MainMenu.prototype.szMenuItemLogoutTooltip = "Wähle diesen Button um sich von XXV abzumelden"; +Ext.xxv.MainMenu.prototype.szSelectTheme = "Wähle Thema"; +Ext.xxv.MainMenu.prototype.szPreviewPreviewPane = "Vorschau"; +Ext.xxv.MainMenu.prototype.szPreviewRight = "Rechts"; +Ext.xxv.MainMenu.prototype.szPreviewBottom = "Unten"; +Ext.xxv.MainMenu.prototype.szPreviewHide = "Ausgeblendet"; + +Ext.xxv.MainSearchField.prototype.emptyText = "Suche ..."; + +Ext.xxv.Question.prototype.szClose = "Schliessen"; +Ext.xxv.Question.prototype.szApply = "Übernehmen"; +Ext.xxv.Question.prototype.szCommandDeny = "Kommando '{0}' ist nicht erlaubt!"; +Ext.xxv.Question.prototype.szLoadException = "Konnte keine Daten holen!\r\n{0}"; +Ext.xxv.Question.prototype.szFailure = "Konnte Daten nicht speichern!\r\n{0}"; +Ext.xxv.Question.prototype.szSuccess = "Daten erfolgreich gespeichert.\r\n{0}"; +Ext.xxv.Question.prototype.szComboEmpty = "Wähle ..."; + +Ext.xxv.channelsPanel.prototype.title = "Kanäle"; +Ext.xxv.channelsPanel.prototype.refreshText = "Aktualisieren"; +Ext.xxv.channelsPanel.prototype.selectText = "Wähle Kanal"; +Ext.xxv.channelsPanel.prototype.webcastTTText = "Live TV"; +Ext.xxv.channelsPanel.prototype.webcastText = "Diesen Kanal als Live TV streamen"; +Ext.xxv.channelsPanel.prototype.switchTTText = "Umschalten"; +Ext.xxv.channelsPanel.prototype.switchText = "Auf diesen Kanal umschalten"; +Ext.xxv.channelsPanel.prototype.editTTText = "Bearbeiten"; +Ext.xxv.channelsPanel.prototype.editText = "Diesen Kanal bearbeiten"; +Ext.xxv.channelsPanel.prototype.deleteText = "Diesen Kanal löschen"; +Ext.xxv.channelsPanel.prototype.szLoadException = "Konnte keine Daten zu den Kanälen holen!\r\n{0}"; +Ext.xxv.channelsPanel.prototype.szSwitchSuccess = "Erfolgreich zum Kanal umgeschaltet.\r\n{0}"; +Ext.xxv.channelsPanel.prototype.szSwitchFailure = "Konnte nicht zum Kanal umgeschalten!\r\n{0}"; +Ext.xxv.channelsPanel.prototype.szDeleteSuccess = "Kanal erfolgreich gelöscht.\r\n{0}"; +Ext.xxv.channelsPanel.prototype.szDeleteFailure = "Konnte Kanal nicht löschen!\r\n{0}"; + +Ext.xxv.autotimerGrid.prototype.szTitle = "Suchtimer"; +Ext.xxv.autotimerGrid.prototype.szFindReRun = "Suche Wiederholung"; +Ext.xxv.autotimerGrid.prototype.szEdit = "Bearbeiten"; +Ext.xxv.autotimerGrid.prototype.szDelete = "Löschen"; +Ext.xxv.autotimerGrid.prototype.szColSearch = "Suchtext"; +Ext.xxv.autotimerGrid.prototype.szColActive = "Aktiv"; +Ext.xxv.autotimerGrid.prototype.szColChannels = "Kanäle"; +Ext.xxv.autotimerGrid.prototype.szColDirectory = "Verzeichnis"; +Ext.xxv.autotimerGrid.prototype.szColStart = "Beginn"; +Ext.xxv.autotimerGrid.prototype.szColStop = "Ende"; +Ext.xxv.autotimerGrid.prototype.szColMinLength = "Min. Länge"; +Ext.xxv.autotimerGrid.prototype.szLoadException = "Konnte keine Daten über Autotimer holen!\r\n{0}"; +Ext.xxv.autotimerGrid.prototype.szDeleteSuccess = "Autotimer erfolgreich gelöscht.\r\n{0}"; +Ext.xxv.autotimerGrid.prototype.szDeleteFailure = "Konnte Autotimer nicht löschen!\r\n{0}"; + +Ext.xxv.chronicleGrid.prototype.szTitle = "Chronik"; +Ext.xxv.chronicleGrid.prototype.szToolTip = "Zeigt Aufnahmen in chronologischer Anordnung"; +Ext.xxv.chronicleGrid.prototype.szFindReRun = "Suche Wiederholung"; +Ext.xxv.chronicleGrid.prototype.szDelete = "Löschen"; +Ext.xxv.chronicleGrid.prototype.szColTitle = "Titel"; +Ext.xxv.chronicleGrid.prototype.szColDay = "Datum"; +Ext.xxv.chronicleGrid.prototype.szColChannel = "Kanal"; +Ext.xxv.chronicleGrid.prototype.szColStart = "Beginn"; +Ext.xxv.chronicleGrid.prototype.szColStop = "Ende"; +Ext.xxv.chronicleGrid.prototype.szColDayFormat = "l, d.m.Y"; +Ext.xxv.chronicleGrid.prototype.szLoadException = "Konnte keine Daten der Chronik holen!\r\n{0}"; +Ext.xxv.chronicleGrid.prototype.szDeleteSuccess = "Eintrag der Chronik erfolgreich gelöscht.\r\n{0}"; +Ext.xxv.chronicleGrid.prototype.szDeleteFailure = "Konnte Eintrag der Chronik nicht löschen!\r\n{0}"; + +Ext.xxv.NowGrid.prototype.szTitle = "Jetzt"; +Ext.xxv.NowGrid.prototype.szFindReRun = "Suche Wiederholung"; +Ext.xxv.NowGrid.prototype.szProgram = "Zeige Programm"; +Ext.xxv.NowGrid.prototype.szRecord = "Aufnehmen"; +Ext.xxv.NowGrid.prototype.szColPosition = "Position des Kanal"; +Ext.xxv.NowGrid.prototype.szColTitle = "Titel"; +Ext.xxv.NowGrid.prototype.szColChannel = "Kanal"; +Ext.xxv.NowGrid.prototype.szColGrpName = "Gruppe der Kanäle"; +Ext.xxv.NowGrid.prototype.szColStart = "Beginn"; +Ext.xxv.NowGrid.prototype.szColStop = "Ende"; +Ext.xxv.NowGrid.prototype.szLoadException = "Konnte keine Daten holen!\r\n{0}"; +Ext.xxv.NowGrid.prototype.szRecordSuccess = "Timer erfolgreich erstellt.\r\n{0}"; +Ext.xxv.NowGrid.prototype.szRecordFailure = "Konnte Timer nicht erstellen!\r\n{0}"; + +Ext.xxv.NowPreview.prototype.szFindReRun = "Suche Wiederholung"; +Ext.xxv.NowPreview.prototype.szRecord = "Aufnehmen"; + +Ext.xxv.programGrid.prototype.szTitle = "Programführer"; +Ext.xxv.programGrid.prototype.szFindReRun = "Suche Wiederholung"; +Ext.xxv.programGrid.prototype.szRecord = "Aufnehmen"; +Ext.xxv.programGrid.prototype.szColTitle = "Titel"; +Ext.xxv.programGrid.prototype.szColDay = "Datum"; +Ext.xxv.programGrid.prototype.szColStart = "Beginn"; +Ext.xxv.programGrid.prototype.szColStop = "Ende"; +Ext.xxv.programGrid.prototype.szColDayFormat = "l, d.m.Y"; +Ext.xxv.programGrid.prototype.szLoadException = "Konnte keine Programmdaten holen!\r\n{0}"; + +Ext.xxv.programPreview.prototype.szFindReRun = "Suche Wiederholung"; +Ext.xxv.programPreview.prototype.szRecord = "Aufnehmen"; + +Ext.xxv.searchGrid.prototype.szTitle = "Suche"; +Ext.xxv.searchGrid.prototype.szFindReRun = "Suche Wiederholung"; +Ext.xxv.searchGrid.prototype.szRecord = "Aufnehmen"; +Ext.xxv.searchGrid.prototype.szColTitle = "Titel"; +Ext.xxv.searchGrid.prototype.szColChannel = "Kanal"; +Ext.xxv.searchGrid.prototype.szColDay = "Datum"; +Ext.xxv.searchGrid.prototype.szColStart = "Beginn"; +Ext.xxv.searchGrid.prototype.szColStop = "Ende"; +Ext.xxv.searchGrid.prototype.szColDayFormat = "l, d.m.Y"; +Ext.xxv.searchGrid.prototype.szLoadException = "Konnte keine Daten holen!\r\n{0}"; + +Ext.xxv.searchPreview.prototype.szFindReRun = "Suche Wiederholung"; +Ext.xxv.searchPreview.prototype.szRecord = "Aufnehmen"; + +Ext.xxv.recordingsDataView.prototype.szTitle = "Aufnahmen"; +Ext.xxv.recordingsDataView.prototype.szToolTip = "Zeigt Aufnahmen"; +Ext.xxv.recordingsDataView.prototype.szFindReRun = "Suche Wiederholung"; +Ext.xxv.recordingsDataView.prototype.szEdit = "Bearbeiten"; +Ext.xxv.recordingsDataView.prototype.szCut = "Schneiden"; +Ext.xxv.recordingsDataView.prototype.szDelete = "Löschen"; +Ext.xxv.recordingsDataView.prototype.szRecover = "Wiederherstellen"; +Ext.xxv.recordingsDataView.prototype.szStream = "Aufnahme streamen"; +Ext.xxv.recordingsDataView.prototype.szPlay = "Wiedergabe"; +Ext.xxv.recordingsDataView.prototype.szLoadException = "Konnte keine Daten über Aufnahme holen!\r\n{0}"; +Ext.xxv.recordingsDataView.prototype.szCutSuccess = "Schnittprozess der Aufnahme erfolgreich gestartet.\r\n{0}"; +Ext.xxv.recordingsDataView.prototype.szCutFailure = "Konnte Schnittprozess der Aufnahme nicht starten!\r\n{0}"; +Ext.xxv.recordingsDataView.prototype.szDeleteSuccess = "Aufnahme erfolgreich gelöscht.\r\n{0}"; +Ext.xxv.recordingsDataView.prototype.szDeleteFailure = "Konnte Aufnahme nicht löschen!\r\n{0}"; +Ext.xxv.recordingsDataView.prototype.szPlayBackSuccess = "Wiedergabe der Aufnahme erfolgreich gestartet.\r\n{0}"; +Ext.xxv.recordingsDataView.prototype.szPlayBackFailure = "Konnte Wiedergabe der Aufnahme nicht starten!\r\n{0}"; + +Ext.xxv.searchGrid.prototype.szTitle = "Suche"; +Ext.xxv.searchGrid.prototype.szFindReRun = "Suche Wiederholung"; +Ext.xxv.searchGrid.prototype.szRecord = "Aufnehmen"; +Ext.xxv.searchGrid.prototype.szLoadException = "Konnte keine Wiederholung finden!\r\n{0}"; + +Ext.xxv.timerGrid.prototype.szTitle = "Timer"; +Ext.xxv.timerGrid.prototype.szFindReRun = "Suche Wiederholung"; +Ext.xxv.timerGrid.prototype.szNew = "Neuen Timer anlegen"; +Ext.xxv.timerGrid.prototype.szEdit = "Timer bearbeiten"; +Ext.xxv.timerGrid.prototype.szDelete = "Löschen der Timer"; +Ext.xxv.timerGrid.prototype.szToggle = "De- bzw. Aktivieren der Timer"; +Ext.xxv.timerGrid.prototype.szColTitle = "Titel"; +Ext.xxv.timerGrid.prototype.szColActive = "Aktiv"; +Ext.xxv.timerGrid.prototype.szColPDC = "VPS"; +Ext.xxv.timerGrid.prototype.szColDay = "Tag"; +Ext.xxv.timerGrid.prototype.szColChannel = "Kanal"; +Ext.xxv.timerGrid.prototype.szColStart = "Beginn"; +Ext.xxv.timerGrid.prototype.szColStop = "Ende"; +Ext.xxv.timerGrid.prototype.szSelChEmptyText = "Kanal wählen..."; +Ext.xxv.timerGrid.prototype.szColDayFormat = "l, d.m.Y"; +Ext.xxv.timerGrid.prototype.szLoadException = "Konnte keine Daten über Timer holen!\r\n{0}"; +Ext.xxv.timerGrid.prototype.szDeleteSuccess = "Timer erfolgreich gelöscht.\r\n{0}"; +Ext.xxv.timerGrid.prototype.szDeleteFailure = "Konnte Timer nicht löschen!\r\n{0}"; +Ext.xxv.timerGrid.prototype.szToggleSuccess = "Timer erfolgreich umgeschaltet.\r\n{0}"; +Ext.xxv.timerGrid.prototype.szToggleFailure = "Konnte Timer nicht umgeschalten!\r\n{0}"; + +Ext.xxv.timerPreview.prototype.szFindReRun = "Suche Wiederholung"; +Ext.xxv.timerPreview.prototype.szEdit = "Bearbeiten"; +Ext.xxv.timerPreview.prototype.szDelete = "Löschen"; + +Ext.xxv.vdrGrid.prototype.szTitle = "Video Disk Rekorder"; +Ext.xxv.vdrGrid.prototype.szEdit = "Bearbeiten"; +Ext.xxv.vdrGrid.prototype.szDelete = "Löschen"; +Ext.xxv.vdrGrid.prototype.szColHost = "Hostrechner"; +Ext.xxv.vdrGrid.prototype.szColActive = "Aktiv"; +Ext.xxv.vdrGrid.prototype.szColPrimary = "Primär"; +Ext.xxv.vdrGrid.prototype.szColDirectory = "Verzeichnis"; +Ext.xxv.vdrGrid.prototype.szDVBTyp = "Typ der DVB-Karten"; +Ext.xxv.vdrGrid.prototype.szLoadException = "Konnte keine Daten über Video Disk Rekorder holen!\r\n{0}"; +Ext.xxv.vdrGrid.prototype.szDeleteSuccess = "Video Disk Rekorder erfolgreich gelöscht.\r\n{0}"; +Ext.xxv.vdrGrid.prototype.szDeleteFailure = "Konnte Video Disk Rekorder nicht löschen!\r\n{0}"; + +Ext.xxv.usersGrid.prototype.szTitle = "Anwenderzugänge"; +Ext.xxv.usersGrid.prototype.szEdit = "Bearbeiten"; +Ext.xxv.usersGrid.prototype.szDelete = "Löschen"; +Ext.xxv.usersGrid.prototype.szColTitle = "Zugang"; +Ext.xxv.usersGrid.prototype.szColLevel = "Ebene"; +Ext.xxv.usersGrid.prototype.szLoadException = "Konnte keine Daten über die Anwenderzugänge holen!\r\n{0}"; +Ext.xxv.usersGrid.prototype.szDeleteSuccess = "Anwenderzugang erfolgreich gelöscht.\r\n{0}"; +Ext.xxv.usersGrid.prototype.szDeleteFailure = "Konnte Anwenderzugang nicht löschen!\r\n{0}"; + + +Ext.ux.Multiselect.prototype.minLengthText = 'Mindestens sind {0} Einträge notwendig'; +Ext.ux.Multiselect.prototype.maxLengthText = 'Maximal sind {0} Einträge erlaubt'; diff --git a/skins/jason/main.js b/skins/jason/main.js new file mode 100644 index 0000000..5dce6ca --- /dev/null +++ b/skins/jason/main.js @@ -0,0 +1,86 @@ +/* + * jason - Javascript based skin for xxv + * Copyright(c) 2008-2009, anbr + * + * http://xxv.berlios.de/ + * + * $Id$ + */ + +var XXV = { +} + +Ext.Component.prototype.stateful = false; + +Ext.onReady(function(){ + + Ext.BLANK_IMAGE_URL = 'extjs/resources/images/default/s.gif'; + Ext.QuickTips.init(); + Ext.state.Manager.setProvider(new Ext.state.SessionProvider({state: Ext.appState})); + + var tpl = Ext.Template.from('preview-tpl', { + compiled:true + ,getTitle : function(v, all){ + var title = v || all.title; + if(!all.subtitle) { + var Woerter = title.split("~"); + if(Woerter.length > 1) { + var subtitle = Woerter.pop(); + return Woerter.join('~'); + } + } + return title; + } + ,getSubtitle : function(v, all){ + var subtitle = v || all.subtitle; + if(!subtitle) { + var Woerter = all.title.split("~"); + if(Woerter.length > 1) { + return Woerter.pop(); + } + return ' '; + } + return subtitle; + } + ,getChannel : function(v, all){ + var channel = v || all.channel; + if(!channel) { + return ' '; + } + return channel; + + } + ,getBody : function(v, all){ + return Ext.util.Format.stripScripts(v || all.description).replace(/\r\n/g, '
    '); + } + }); + XXV.getTemplate = function(){ + return tpl; + } + + XXV.help = new Ext.xxv.help(); + XXV.side = new Ext.xxv.channelsPanel(); + XXV.tab = new Ext.xxv.tabPanel(); + XXV.menu = new Ext.xxv.MainMenu(); + + XXV.viewport = new Ext.Viewport({ + id:"masterlayout", + layout:'border', + items:[ + XXV.menu, + XXV.side, + XXV.tab + ] + }); + + XXV.tab.on('tabchange', function(tp, tab){ + Ext.xxv.Panel.prototype.DocumentTitle(tab.title); + }); + + XXV.viewport.doLayout(); + + setTimeout(function(){ + Ext.get('loading').remove(); + Ext.get('loading-mask').fadeOut({remove:true}); + }, 250); +}); diff --git a/skins/jason/menus.js b/skins/jason/menus.js new file mode 100644 index 0000000..74024b2 --- /dev/null +++ b/skins/jason/menus.js @@ -0,0 +1,317 @@ +/* + * jason - Javascript based skin for xxv + * Copyright(c) 2008-2009, anbr + * + * http://xxv.berlios.de/ + * + * $Id$ + */ + +Ext.xxv.MainSearchField = Ext.extend(Ext.form.TwinTriggerField, { + initComponent : function(){ + Ext.xxv.MainSearchField.superclass.initComponent.call(this); + this.on('specialkey', function(f, e){ + if(e.getKey() == e.ENTER){ + this.onTrigger2Click(); + } + }, this); + } + ,emptyText:'Search ...' + ,validationEvent:false + ,validateOnBlur:false + //,trigger1Class:'x-form-clear-trigger' + ,trigger2Class:'x-form-search-trigger' + ,hideTrigger1:true + ,width:200 + ,hasSearch : false + + /*,onTrigger1Click : function(){ + if(this.hasSearch){ + this.hasSearch = false; + this.setValue(); + } + }*/ +}); + +Ext.xxv.MainMenu = function(/*config*/){ + + var selTheme = this.initTheme(); + + XXV.configMenu = new Ext.menu.Menu(); + var setupMenu = new Ext.menu.Menu( + { + items:[ + { + text:this.szOwnSettings + ,iconCls: 'setup-icon' + ,disabled: false + ,handler: XXV.help.Settings + ,scope:XXV.help + },{ + text:this.szGlobalSettings + ,iconCls: 'setup-icon' + ,menu: XXV.configMenu + },'-',{ + text: Ext.xxv.vdrGrid.prototype.szTitle, + handler: function() { XXV.tab.openVDRList(); }, + iconCls:"vdr-icon" + },{ + text: Ext.xxv.usersGrid.prototype.szTitle, + handler: function() { XXV.tab.openUsersList(); }, + iconCls:"users-icon" + } + ] + }); + + var systemMenu = new Ext.menu.Menu( + { + items:[ + { + text:this.szMenuItemSetup + ,iconCls: 'setup-icon' + ,menu: setupMenu + },'-',{ + text:this.szMenuItemLogout + ,handler: this.Logout + ,iconCls:"logout-icon" + ,disabled:false + } + ] + }); + + + + var ProgrammingMenu = new Ext.menu.Menu( + { + items:[ + { + text: Ext.xxv.autotimerGrid.prototype.szTitle, + handler: function() { XXV.tab.openAutoTimer(); }, + iconCls:"autotimer-icon" + }, + { + text: Ext.xxv.timerGrid.prototype.szTitle, + handler: function() { XXV.tab.openTimer(); }, + iconCls:"timer-icon" + } + ] + }); + + var MediaMenu = new Ext.menu.Menu( + { + items:[ + { + text: Ext.xxv.recordingsDataView.prototype.szTitle, + handler: function() { XXV.tab.openRecordings(); }, + iconCls:"recordings-icon" + } + ,{ + text: Ext.xxv.chronicleGrid.prototype.szTitle, + handler: function() { XXV.tab.openChronicle(); }, + iconCls:"chronicle-icon" + } + /*,{ + text: Ext.xxv.musicDataView.prototype.szTitle, + handler: function() { XXV.tab.openMusic(); }, + iconCls:"audio-icon", + disabled:true + }*/ + ] + }); + + var RemoteMenu = new Ext.menu.Menu( + { + items:[ + { + text: Ext.xxv.RemoteWindow.prototype.szTitle, + handler: function() { Ext.xxv.RemoteWindowOpen(); }, + iconCls:"remote-icon" + } + ,{ + text: Ext.xxv.MonitorWindow.prototype.szTitle, + handler: function() { Ext.xxv.MonitorWindowOpen(); }, + iconCls:"monitor-icon" + } + ] + }); + // see this.styles to enum themes + var themes = new Array; + for(var i = 0, len = this.styles.length; i < len; i++){ + themes.push({ + text: this.styles[i][1], + checked: selTheme == i ? true : false, + group: 'theme', + checkHandler: this.onSelectTheme, + scope: this + }); + } + + Ext.xxv.MainMenu.superclass.constructor.call(this, { + id:"MainMenu", + region:"north", + height:26, + items:[ + { text:this.szMenuXXV, + menu:systemMenu, + iconCls:"xxv-icon" + }, + { text:this.szMenuProgramming, + menu:ProgrammingMenu, + iconCls:"edit-icon" + }, + { text:this.szMenuMedia, + menu:MediaMenu, + iconCls:"media-icon" + }, + { text:this.szMenuRemote, + menu:RemoteMenu, + iconCls:"remote-icon" + }, + { text:this.szMenuView, + iconCls: 'view-icon', + menu:{ + items: [ + { + text: this.szSelectTheme, + iconCls: 'preview-hide', + menu: { + cls:'reading-menu', + items: themes + } + } + , + { text:this.szPreviewPreviewPane, + iconCls: 'preview-icon', + menu:{ + id:'reading-menu', + cls:'reading-menu', + items: [ + { + text:this.szPreviewBottom, + checked:true, + group:'rp-group', + checkHandler:XXV.tab.movePreview, + scope:XXV.tab, + iconCls:'preview-bottom' + },{ + text:this.szPreviewRight, + checked:false, + group:'rp-group', + checkHandler:XXV.tab.movePreview, + scope:XXV.tab, + iconCls:'preview-right' + },{ + text:this.szPreviewHide, + checked:false, + group:'rp-group', + checkHandler:XXV.tab.movePreview, + scope:XXV.tab, + iconCls:'preview-hide' + }] + } + } + ]} + }, + "->", + new Ext.xxv.MainSearchField({ + onTrigger2Click : function(){ + var v = this.getRawValue(); + if(v.length < 1){ + this.onTrigger1Click(); + return; + } + XXV.tab.openSearch(v); + } + }) + ] + }); +}; + + +Ext.extend(Ext.xxv.MainMenu, Ext.Toolbar, { + + szMenuXXV : 'XXV' + ,szMenuProgramming : 'Programming' + ,szMenuMedia : 'Media' + ,szMenuRemote : 'Remote' + ,szMenuView : 'View' + + ,szMenuItemSetup : 'Setup' + ,szGlobalSettings : 'Global settings' + ,szOwnSettings : 'Own settings' + ,szMenuItemLogout : 'Logout' + ,szMenuItemLogoutTooltip : 'Click this button to logout from XXV' + + ,szSelectTheme : 'Select theme' + ,szPreviewPreviewPane : 'Preview Pane' + ,szPreviewRight : 'Right' + ,szPreviewBottom : 'Bottom' + ,szPreviewHide : 'Hide' + + ,szLogoutSuccess : "Successful logout.\r\n{0}" + ,szLogoutFailure : "Couldn't logout!\r\n{0}" + + ,cssPath:'extjs/resources/css/' + ,styles: [ + ['xtheme-default.css', 'Default Theme'] + ,['xtheme-gray.css', 'Gray'] + ,['xtheme-darkgray.css', 'Dark Gray'] + ,['xtheme-black.css', 'Black'] + ,['xtheme-olive.css', 'Olive'] + ,['xtheme-purple.css', 'Purple'] + ] + ,initTheme: function(){ + if(Ext.state.Manager.getProvider()) { + var theme = Ext.state.Manager.get('theme'); + if(theme && theme != 'xtheme-default.css') { + for(var i = 0, len = this.styles.length; i < len; i++){ + if(this.styles[i][0] == theme) { + Ext.util.CSS.swapStyleSheet('theme', this.cssPath + theme); + return i; + } + } + } + } + return 0; + } + ,onSelectTheme: function(item, checked){ + if(checked) { + for(var i = 0, len = this.styles.length; i < len; i++){ + if(this.styles[i][1] == item.text) { + var theme = this.styles[i][0]; + Ext.util.CSS.swapStyleSheet('theme', this.cssPath + theme); + + if(Ext.state.Manager.getProvider()) { + Ext.state.Manager.set('theme', theme); + } + return; + } + } + } + } +/******************************************************************************/ + ,Logout: function(){ + Ext.MessageBox.show({ + title: 'Logout', + msg: 'Please wait...', + width:240, + closable:false, + }); + Ext.Ajax.request({ + url: XXV.help.cmdAJAX('logout') + }); + setTimeout(function(){ + XXV.viewport.container.fadeOut( + { + remove:true, + duration: .5, + callback:function(){ + Ext.MessageBox.updateText('Session closed!'); + } + } + ); + }, 250); + } +}); + + diff --git a/skins/jason/monitor.js b/skins/jason/monitor.js new file mode 100644 index 0000000..894ea74 --- /dev/null +++ b/skins/jason/monitor.js @@ -0,0 +1,140 @@ +/* + * jason - Javascript based skin for xxv + * Copyright(c) 2008-2009, anbr + * + * http://xxv.berlios.de/ + * + * $Id$ + */ + +Ext.xxv.MonitorWindow = function() { + + var tpl = new Ext.XTemplate( + '' + ); + + var width = configuration.monitorWidth; + var height = configuration.monitorHeight; + if(Ext.state.Manager.getProvider()) { + var monitorwin = Ext.state.Manager.get('monitor-win'); + if(monitorwin && monitorwin.width && monitorwin.width >= 160 && monitorwin.width <= 4096) { + width = monitorwin.width; + } + if(monitorwin && monitorwin.height && monitorwin.height >= 120 && monitorwin.height <= 2048) { + height = monitorwin.height; + } + } + var marginHeight = 33; + var marginWidth = 16; + + Ext.xxv.MonitorWindow.superclass.constructor.call(this, { + title: this.szTitle + ,monitortpl:tpl + ,iconCls: 'monitor-icon' + ,id: 'monitor-win' + ,minWidth: 160 + ,minHeight: 120 + ,marginWidth: marginWidth + ,marginHeight: marginHeight + ,width: width + ,height: height + ,resizable: true + ,plain: true + ,modal: false + ,autoScroll: false + ,closeAction: 'hide' + ,collapsible: true + ,maximizable: true + ,tools:[ + {id:'gear',handler:this.aspect, scope:this }, + {id:'refresh',handler:this.update, scope:this } + ] + ,items: [{ + id: 'monitor' + ,region: 'center' + ,width: width - marginWidth + ,height: height - marginHeight + ,html: tpl.apply({ + width : width - marginWidth, + height : height - marginHeight, + random: (new Date().getTime()) + }) + }] + }); + + Ext.xxv.MonitorWindow.superclass.show.apply(this, arguments); + + this.on('resize', this.onresize, this); + + this.task = Ext.TaskMgr.start({ + run: this.update, + scope: this, + interval:10000 + }); +} + +Ext.extend(Ext.xxv.MonitorWindow, Ext.Window, { + + szTitle : "Monitor" + ,aspect : function() { + var size = this.getSize(); + this.setSize(size.width, Math.round((size.width * 3) / 4)); + } + ,onresize : function(window, width, height ){ + width -= this.marginWidth; + height -= this.marginHeight; + + var monitor = Ext.getCmp('monitor'); + monitor.setWidth(width); + monitor.setHeight(height); + + var style = {width:width+"px",height:height+"px"}; + Ext.DomHelper.applyStyles('monitor_img', style); + } + ,hide : function(){ + if(this.task) { + Ext.TaskMgr.stop(this.task); + delete this.task; + } + + Ext.xxv.MonitorWindow.superclass.hide.apply(this, arguments); + } + ,show : function(){ + if(this.rendered){ + + if(!this.task) { + this.task = Ext.TaskMgr.start({ + run: this.update, + scope: this, + interval:10000 + }); + } + } + Ext.xxv.MonitorWindow.superclass.show.apply(this, arguments); + + } + ,update : function(){ + var monitor = Ext.getCmp('monitor'); + if(!monitor) { + return; + } + var size = monitor.getSize(); + if(!size) { + return; + } + var img = Ext.getDom('monitor_img'); + if(!img) { + return; + } + img.src = '?cmd=gdisplay&width='+ size.width +'&height='+ size.height +'&_dc=' + (new Date().getTime()); + } +}); + +Ext.xxv.MonitorWindowOpen = function(){ + var viewer = Ext.getCmp('main-tabs'); + if(!viewer.monitor){ + viewer.monitor = new Ext.xxv.MonitorWindow(); + } else { + viewer.monitor.show(); + } +} diff --git a/skins/jason/now.js b/skins/jason/now.js new file mode 100644 index 0000000..9eed570 --- /dev/null +++ b/skins/jason/now.js @@ -0,0 +1,387 @@ +/* + * jason - Javascript based skin for xxv + * Copyright(c) 2008-2009, anbr + * + * http://xxv.berlios.de/ + * + * $Id$ + */ + +Ext.xxv.NowStore = function() { + return new Ext.data.GroupingStore({ + baseParams:{cmd:'n','__cgrp':'all'} + ,autoLoad:{params:{start:0, limit:configuration.pageSize}} + ,reader: new Ext.xxv.jsonReader({ + fields: [ + {name: 'id', type: 'string'} + ,{name: 'title', type: 'string'} + ,{name: 'subtitle', type: 'string'} + ,{name: 'channel', type: 'string'} + ,{name: 'position', type: 'string'} + ,{name: 'grpname', type: 'string'} + ,{name: 'start', type: 'string' } + ,{name: 'stop', type: 'string' } + ,{name: 'description', type: 'string'} + ,{name: 'prozent', type: 'string'} + ,{name: 'timerid', type: 'string'} + ,{name: 'timeractiv', type: 'string'} + ,{name: 'running', type: 'string'} + ,{name: 'vps', type: 'string'} //type:'date', dateFormat:'timestamp'} + ,{name: 'rang', type: 'int'} //dummy field created after onload + ] + }) + ,proxy : new Ext.data.HttpProxy({ + url: XXV.help.baseURL() + ,method: 'GET' + }) + ,sortInfo:{field:'rang', direction:'ASC'} + ,groupField:'grpname' + ,remoteGroup:true + }); +} + +Ext.xxv.NowGrid = function(viewer) { + + this.viewer = viewer; + this.preview = new Ext.xxv.NowPreview(viewer); + + // create the data store + this.store = new Ext.xxv.NowStore(); + this.store.setDefaultSort('rang', "ASC"); + + var range = new Array(); + range.push([this.szTitle,0]); + for(var i = 0, len = configuration.periods.length; i < len; i++){ + range.push([configuration.periods[i],configuration.periods[i]]); + } + + this.timefield = new Ext.form.ComboBox({ + id:'timefield' + ,width:75 + ,store: new Ext.data.Store({ + reader: new Ext.data.ArrayReader({}, [{name: 'display'},{name: 'value'} ]), + data: range + }) + ,displayField:'display' + ,valueField:'value' + ,triggerAction: 'all' ,lazyRender:true + ,listClass: 'x-combo-list-small' + ,mode: 'local' + ,emptyText:new Date().dateFormat('H:i') + ,selectOnFocus:true + ,editable: false + ,listeners: { + 'select': {fn:this.reload, scope:this} + //'valid': {fn:this.reload, scope:this} + } + }); + + this.columns = [ + { header: this.szColPosition, + dataIndex: 'rang', + width: 20, + hidden: true + },{ + header: this.szColTitle, + dataIndex: 'title', + width: 150, + renderer: this.formatTitle + },{ header: this.szColChannel, + dataIndex: 'channel', + width: 50 + },{ header: this.szColGrpName, + dataIndex: 'grpname', + width: 50, + hidden: true + },{ + header: this.szColStart, + dataIndex: 'start', + width: 50 + },{ + header: this.szColStop, + dataIndex: 'stop', + width: 50 + } + ]; + + var cm = new Ext.grid.ColumnModel(this.columns); + cm.defaultSortable = true; + + Ext.xxv.NowGrid.superclass.constructor.call(this, { + region: 'center' + ,id: 'now-grid' + ,loadMask: true + ,autoExpandColumn:'title' + ,cm: cm + ,sm: new Ext.grid.RowSelectionModel({ + singleSelect:true + }) + ,view: new Ext.grid.GroupingView({ + enableGroupingMenu:false + ,forceFit:true + ,showGroupName: false + }) + ,tbar:new Ext.PagingToolbar({ + pageSize: configuration.pageSize + ,store: this.store + ,displayInfo: true + ,items:['->', this.timefield ] + }) + }); + + this.store.on({ + 'load' : this.onLoad + ,'beforeload' : this.onBeforeLoad + ,'loadexception' : this.onLoadException + ,scope:this + }); + this.on('rowcontextmenu', this.onContextClick, this); + this.getSelectionModel().on('rowselect', this.preview.select, this.preview, {buffer:50}); + this.on('rowdblclick', this.onSelectProgram, this); +}; + +Ext.extend(Ext.xxv.NowGrid, Ext.grid.GridPanel, { + + szTitle : "Present" + ,szFindReRun : "Find rerun" + ,szProgram : "Show program" + ,szRecord : "Record" + ,szColPosition : "Channel position" + ,szColTitle : "Title" + ,szColChannel : "Channel" + ,szColGrpName : "Group of channel" + ,szColStart : "Start" + ,szColStop : "Stop" + ,szLoadException : "Couldn't get data!\r\n{0}" + ,szRecordSuccess : "Successful created timer.\r\n{0}" + ,szRecordFailure : "Couldn't create timer!\r\n{0}" + + ,onLoadException : function( scope, o, arg, e) { + new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e); + } + ,onBeforeLoad : function( store, opt ) { + if(this.getTopToolbar().displayEl) { + var size = this.timefield.getSize(); + this.getTopToolbar().displayEl.setRight(30+size.width); + } + delete(this.store.baseParams['data']); + var time = this.timefield.getValue(); + if(time) { + this.store.baseParams.data = time; + } else { + this.timefield.emptyText = new Date().dateFormat('H:i'); + this.timefield.setValue(0); + } + this.preview.clear(); + } + ,onLoad : function( store, records, opt ) { + var l = records.length; + for (var i = 0; i < l; i++) { + records[i].data.rang = i; + } + this.getSelectionModel().selectFirstRow(); + var time = this.timefield.getValue(); + if(time) { + if(store.reader.meta + && store.reader.meta.param + && store.reader.meta.param.zeit) { + var datum = new Date(store.reader.meta.param.zeit * 1000); + this.ownerCt.SetPanelTitle(datum.dateFormat('l - H:i')); + } else { + this.ownerCt.SetPanelTitle(time); + } + } else { + this.ownerCt.SetPanelTitle(this.szTitle + " - " + this.timefield.emptyText); + } + } + ,onSelectProgram : function(grid, index, e) { + e.stopEvent(); + if(this.ctxRow){ + Ext.fly(this.ctxRow).removeClass('x-node-ctx'); + this.ctxRow = null; + } + var record = this.store.getAt(index); + var data = {'position':record.data.position,'name':record.data.channel}; + this.viewer.openProgram(data); + } + ,onContextClick : function(grid, index, e){ + if(!this.menu){ // create context menu on first right click + this.menu = new Ext.menu.Menu({ + id:'grid-ctx', + items: [{ + text: this.szFindReRun, + iconCls: 'find-icon', + scope:this, + handler: function(){ this.viewer.searchTab(this.ctxRecord); } + },{ + text: this.szProgram, + iconCls: 'program-icon', + scope:this, + handler: function(){ + var data = {'position':this.ctxRecord.data.position,'name':this.ctxRecord.data.channel}; + this.viewer.openProgram(data); } + },{ + text: this.szRecord, + iconCls: 'record-icon', + scope:this, + handler: function(){ this.Record(this.ctxRecord); } + } + ] + }); + this.menu.on('hide', this.onContextHide, this); + } + e.stopEvent(); + if(this.ctxRow){ + Ext.fly(this.ctxRow).removeClass('x-node-ctx'); + this.ctxRow = null; + } + this.ctxRow = this.view.getRow(index); + this.ctxRecord = this.store.getAt(index); + Ext.fly(this.ctxRow).addClass('x-node-ctx'); + this.menu.showAt(e.getXY()); + } + + ,onContextHide : function(){ + if(this.ctxRow){ + Ext.fly(this.ctxRow).removeClass('x-node-ctx'); + this.ctxRow = null; + } + } + + ,reload : function() { + this.store.load({params:{start:0, limit:configuration.pageSize}}); + } + +/******************************************************************************/ + ,onRecordSuccess : function( response,options ) + { + this.loadMask.hide(); + var json = response.responseText; + var o = eval("("+json+")"); + if(!o || !o.data || typeof(o.data) != 'string') { + throw {message: "Ajax.read: Json message not found"}; + } + if(o.param && o.param.state && o.param.state == 'success') { + new Ext.xxv.MessageBox().msgSuccess(this.szRecordSuccess, o.data); + }else { + new Ext.xxv.MessageBox().msgFailure(this.szRecordFailure, o.data); + } + } + ,onRecordFailure : function( response,options ) + { + this.loadMask.hide(); + new Ext.xxv.MessageBox().msgFailure(this.szRecordFailure, response.statusText); + } + ,Record : function(record) { + this.RecordID(record.data.id); + } + ,RecordID : function(id) { + this.loadMask.show(); + Ext.Ajax.request({ + scope: this + ,url: XXV.help.cmdAJAX('tn',{ data: id, '__fast':'1' }) + ,success: this.onRecordSuccess + ,failure: this.onRecordFailure + }); + } + ,formatTitle: function(value, p, record) { + return String.format( + '
    {0} {1}
    ', + value, record.data.subtitle + ); + } + ,formatRow: function(value, p, record) { + return String.format( + '{0}', + value + ); + } +}); + +Ext.xxv.NowPreview = function(viewer) { + this.viewer = viewer; + Ext.xxv.NowPreview.superclass.constructor.call(this, { + id: 'now-preview', + region: 'south', + cls:'preview', + autoScroll: true, + stateful:true, + tbar: [ { + id:'s', + text: this.szFindReRun, + iconCls: 'find-icon', + disabled:true, + scope: viewer, + handler: function(){ this.searchTab(this.gridNow.getSelectionModel().getSelected()); } + } ,{ + id:'tn', + text: this.szRecord, + iconCls: 'record-icon', + disabled:true, + scope: viewer, + handler: function(){ this.Record(this.gridNow.getSelectionModel().getSelected()); } + } ] + }); +}; + +Ext.extend(Ext.xxv.NowPreview, Ext.Panel, { + szFindReRun : "Find rerun" + ,szRecord : "Record" + ,select : function(sm, index, record){ + if(this.body) + XXV.getTemplate().overwrite(this.body, record.data); + + // Enable all toolbar buttons + var items = this.topToolbar.items; + if(items) { + items.eachKey(function(key, f) { + if(XXV.help.cmdAllowed(key)) f.enable(); + },items); + } + } + ,clear: function(){ + if(this) { + if(this.body) + this.body.update(''); + // Disable all items + var items = this.topToolbar.items; + if(items) { items.eachKey(function(key, f){f.disable();},items); } + } + } +}); + +function creatNowView(viewer,id) { + + viewer.gridNow = new Ext.xxv.NowGrid(viewer); + + var tab = new Ext.xxv.Panel({ + id:id, + stateful:true, + iconCls: 'channel-icon', + layout:'border', + hideMode:'offsets', + items:[ + viewer.gridNow, + { + id:'now-bottom-preview', + layout:'fit', + items:XXV.BottomPreview ? 0 : viewer.gridNow.preview, + height: 250, + split: true, + border:false, + region:'south', + hidden:XXV.BottomPreview + }, { + id:'now-right-preview', + layout:'fit', + items:XXV.RightPreview ? 0 : viewer.gridNow.preview, + border:false, + region:'east', + width:350, + split: true, + hidden:XXV.RightPreview + }] + }); + + return tab; +} diff --git a/skins/jason/pic/audio.png b/skins/jason/pic/audio.png new file mode 100644 index 0000000..c8a8d34 Binary files /dev/null and b/skins/jason/pic/audio.png differ diff --git a/skins/jason/pic/autotimer.png b/skins/jason/pic/autotimer.png new file mode 100644 index 0000000..0726d6f Binary files /dev/null and b/skins/jason/pic/autotimer.png differ diff --git a/skins/jason/pic/back.png b/skins/jason/pic/back.png new file mode 100644 index 0000000..35605fe Binary files /dev/null and b/skins/jason/pic/back.png differ diff --git a/skins/jason/pic/backward.png b/skins/jason/pic/backward.png new file mode 100644 index 0000000..441a752 Binary files /dev/null and b/skins/jason/pic/backward.png differ diff --git a/skins/jason/pic/bg.png b/skins/jason/pic/bg.png new file mode 100644 index 0000000..60326e1 Binary files /dev/null and b/skins/jason/pic/bg.png differ diff --git a/skins/jason/pic/blue.png b/skins/jason/pic/blue.png new file mode 100644 index 0000000..918ad07 Binary files /dev/null and b/skins/jason/pic/blue.png differ diff --git a/skins/jason/pic/channel-select.png b/skins/jason/pic/channel-select.png new file mode 100644 index 0000000..9e0d816 Binary files /dev/null and b/skins/jason/pic/channel-select.png differ diff --git a/skins/jason/pic/channel-stream.png b/skins/jason/pic/channel-stream.png new file mode 100644 index 0000000..6fe06cb Binary files /dev/null and b/skins/jason/pic/channel-stream.png differ diff --git a/skins/jason/pic/channel-switch.png b/skins/jason/pic/channel-switch.png new file mode 100644 index 0000000..2934d8c Binary files /dev/null and b/skins/jason/pic/channel-switch.png differ diff --git a/skins/jason/pic/channel.png b/skins/jason/pic/channel.png new file mode 100644 index 0000000..2d62c30 Binary files /dev/null and b/skins/jason/pic/channel.png differ diff --git a/skins/jason/pic/chronicle.png b/skins/jason/pic/chronicle.png new file mode 100644 index 0000000..7a9d184 Binary files /dev/null and b/skins/jason/pic/chronicle.png differ diff --git a/skins/jason/pic/cut.png b/skins/jason/pic/cut.png new file mode 100644 index 0000000..dd153f7 Binary files /dev/null and b/skins/jason/pic/cut.png differ diff --git a/skins/jason/pic/delete.png b/skins/jason/pic/delete.png new file mode 100644 index 0000000..94c184d Binary files /dev/null and b/skins/jason/pic/delete.png differ diff --git a/skins/jason/pic/down.png b/skins/jason/pic/down.png new file mode 100644 index 0000000..3249b9b Binary files /dev/null and b/skins/jason/pic/down.png differ diff --git a/skins/jason/pic/edit.png b/skins/jason/pic/edit.png new file mode 100644 index 0000000..5845eb3 Binary files /dev/null and b/skins/jason/pic/edit.png differ diff --git a/skins/jason/pic/folder.png b/skins/jason/pic/folder.png new file mode 100644 index 0000000..e39d558 Binary files /dev/null and b/skins/jason/pic/folder.png differ diff --git a/skins/jason/pic/forward.png b/skins/jason/pic/forward.png new file mode 100644 index 0000000..d112775 Binary files /dev/null and b/skins/jason/pic/forward.png differ diff --git a/skins/jason/pic/green.png b/skins/jason/pic/green.png new file mode 100644 index 0000000..90fef38 Binary files /dev/null and b/skins/jason/pic/green.png differ diff --git a/skins/jason/pic/left.png b/skins/jason/pic/left.png new file mode 100644 index 0000000..3103d69 Binary files /dev/null and b/skins/jason/pic/left.png differ diff --git a/skins/jason/pic/logout.png b/skins/jason/pic/logout.png new file mode 100644 index 0000000..d52ebdb Binary files /dev/null and b/skins/jason/pic/logout.png differ diff --git a/skins/jason/pic/loud.png b/skins/jason/pic/loud.png new file mode 100644 index 0000000..8228057 Binary files /dev/null and b/skins/jason/pic/loud.png differ diff --git a/skins/jason/pic/menu.png b/skins/jason/pic/menu.png new file mode 100644 index 0000000..c8945ea Binary files /dev/null and b/skins/jason/pic/menu.png differ diff --git a/skins/jason/pic/monitor.png b/skins/jason/pic/monitor.png new file mode 100644 index 0000000..76a8c32 Binary files /dev/null and b/skins/jason/pic/monitor.png differ diff --git a/skins/jason/pic/movie.png b/skins/jason/pic/movie.png new file mode 100644 index 0000000..f064fe8 Binary files /dev/null and b/skins/jason/pic/movie.png differ diff --git a/skins/jason/pic/mute.png b/skins/jason/pic/mute.png new file mode 100644 index 0000000..a79617a Binary files /dev/null and b/skins/jason/pic/mute.png differ diff --git a/skins/jason/pic/new.png b/skins/jason/pic/new.png new file mode 100644 index 0000000..ec61839 Binary files /dev/null and b/skins/jason/pic/new.png differ diff --git a/skins/jason/pic/pause.png b/skins/jason/pic/pause.png new file mode 100644 index 0000000..8f7f46f Binary files /dev/null and b/skins/jason/pic/pause.png differ diff --git a/skins/jason/pic/play.png b/skins/jason/pic/play.png new file mode 100644 index 0000000..2934d8c Binary files /dev/null and b/skins/jason/pic/play.png differ diff --git a/skins/jason/pic/playback.png b/skins/jason/pic/playback.png new file mode 100644 index 0000000..2b84ee8 Binary files /dev/null and b/skins/jason/pic/playback.png differ diff --git a/skins/jason/pic/preview-bottom.png b/skins/jason/pic/preview-bottom.png new file mode 100644 index 0000000..ea51dd3 Binary files /dev/null and b/skins/jason/pic/preview-bottom.png differ diff --git a/skins/jason/pic/preview-right.png b/skins/jason/pic/preview-right.png new file mode 100644 index 0000000..a12743d Binary files /dev/null and b/skins/jason/pic/preview-right.png differ diff --git a/skins/jason/pic/preview.png b/skins/jason/pic/preview.png new file mode 100644 index 0000000..32ea426 Binary files /dev/null and b/skins/jason/pic/preview.png differ diff --git a/skins/jason/pic/quiet.png b/skins/jason/pic/quiet.png new file mode 100644 index 0000000..c9f7608 Binary files /dev/null and b/skins/jason/pic/quiet.png differ diff --git a/skins/jason/pic/radio.png b/skins/jason/pic/radio.png new file mode 100644 index 0000000..31b5071 Binary files /dev/null and b/skins/jason/pic/radio.png differ diff --git a/skins/jason/pic/record.png b/skins/jason/pic/record.png new file mode 100644 index 0000000..cad5a4d Binary files /dev/null and b/skins/jason/pic/record.png differ diff --git a/skins/jason/pic/recover.png b/skins/jason/pic/recover.png new file mode 100644 index 0000000..58692f5 Binary files /dev/null and b/skins/jason/pic/recover.png differ diff --git a/skins/jason/pic/red.png b/skins/jason/pic/red.png new file mode 100644 index 0000000..fb35842 Binary files /dev/null and b/skins/jason/pic/red.png differ diff --git a/skins/jason/pic/remote.png b/skins/jason/pic/remote.png new file mode 100644 index 0000000..9e202be Binary files /dev/null and b/skins/jason/pic/remote.png differ diff --git a/skins/jason/pic/right.png b/skins/jason/pic/right.png new file mode 100644 index 0000000..a87aa0f Binary files /dev/null and b/skins/jason/pic/right.png differ diff --git a/skins/jason/pic/search.png b/skins/jason/pic/search.png new file mode 100644 index 0000000..41ea97a Binary files /dev/null and b/skins/jason/pic/search.png differ diff --git a/skins/jason/pic/setup.png b/skins/jason/pic/setup.png new file mode 100644 index 0000000..67e7b43 Binary files /dev/null and b/skins/jason/pic/setup.png differ diff --git a/skins/jason/pic/stop.png b/skins/jason/pic/stop.png new file mode 100644 index 0000000..ff810d3 Binary files /dev/null and b/skins/jason/pic/stop.png differ diff --git a/skins/jason/pic/timer-toggle.png b/skins/jason/pic/timer-toggle.png new file mode 100644 index 0000000..7a18181 Binary files /dev/null and b/skins/jason/pic/timer-toggle.png differ diff --git a/skins/jason/pic/timer.png b/skins/jason/pic/timer.png new file mode 100644 index 0000000..19d7005 Binary files /dev/null and b/skins/jason/pic/timer.png differ diff --git a/skins/jason/pic/unviewed.png b/skins/jason/pic/unviewed.png new file mode 100644 index 0000000..d84106e Binary files /dev/null and b/skins/jason/pic/unviewed.png differ diff --git a/skins/jason/pic/up.png b/skins/jason/pic/up.png new file mode 100644 index 0000000..f6e7f83 Binary files /dev/null and b/skins/jason/pic/up.png differ diff --git a/skins/jason/pic/users.png b/skins/jason/pic/users.png new file mode 100644 index 0000000..a9eadcd Binary files /dev/null and b/skins/jason/pic/users.png differ diff --git a/skins/jason/pic/vdr-logo.png b/skins/jason/pic/vdr-logo.png new file mode 100644 index 0000000..c67321d Binary files /dev/null and b/skins/jason/pic/vdr-logo.png differ diff --git a/skins/jason/pic/video.png b/skins/jason/pic/video.png new file mode 100644 index 0000000..d25cd67 Binary files /dev/null and b/skins/jason/pic/video.png differ diff --git a/skins/jason/pic/watch.png b/skins/jason/pic/watch.png new file mode 100644 index 0000000..2d62c30 Binary files /dev/null and b/skins/jason/pic/watch.png differ diff --git a/skins/jason/pic/webcast.png b/skins/jason/pic/webcast.png new file mode 100644 index 0000000..6fe06cb Binary files /dev/null and b/skins/jason/pic/webcast.png differ diff --git a/skins/jason/pic/xxv.png b/skins/jason/pic/xxv.png new file mode 100644 index 0000000..c79c791 Binary files /dev/null and b/skins/jason/pic/xxv.png differ diff --git a/skins/jason/pic/yellow.png b/skins/jason/pic/yellow.png new file mode 100644 index 0000000..2525fc7 Binary files /dev/null and b/skins/jason/pic/yellow.png differ diff --git a/skins/jason/program.js b/skins/jason/program.js new file mode 100644 index 0000000..f671064 --- /dev/null +++ b/skins/jason/program.js @@ -0,0 +1,283 @@ +/* + * jason - Javascript based skin for xxv + * Copyright(c) 2008-2009, anbr + * + * http://xxv.berlios.de/ + * + * $Id$ + */ + +Ext.xxv.programStore = function(data) { + return new Ext.data.GroupingStore({ + title:data.name + ,baseParams:{cmd:'p',data: data.position} + ,autoLoad:{params:{start:0, limit:configuration.pageSize}} + ,reader: new Ext.xxv.jsonReader({ + fields: [ + {name: 'id', type: 'string'} + ,{name: 'title', type: 'string'} + ,{name: 'subtitle', type: 'string'} + ,{name: 'start', type: 'string' } + ,{name: 'stop', type: 'string' } + ,{name: 'day', type:'date', dateFormat:'timestamp'} + ,{name: 'description', type: 'string'} + ,{name: 'video', type: 'string'} + ,{name: 'audio', type: 'string'} + ,{name: 'vps', type:'date', dateFormat:'timestamp'} + ,{name: 'timerid', type: 'string'} + ,{name: 'timeractiv', type: 'string'} + ,{name: 'running', type: 'string'} + ] + }), + proxy : new Ext.data.HttpProxy({ + url: XXV.help.baseURL() + ,method: 'GET' + }), + sortInfo:{field:'day', direction:'ASC'}, + groupField:'day' + }); +} + +Ext.xxv.programGrid = function(viewer, record) { + this.viewer = viewer; + this.preview = new Ext.xxv.programPreview(viewer); + //Ext.apply(this, config); + + // create the data store + this.store = new Ext.xxv.programStore(record); + this.store.setDefaultSort('day', "ASC"); + + this.columns = [{ + header: this.szColTitle, + dataIndex: 'title', + width: 150, + renderer: this.formatTitle + },{ header: this.szColDay, + dataIndex: 'day', + width: 50, + hidden: true, + renderer: Ext.util.Format.dateRenderer(this.szColDayFormat) + },{ + header: this.szColStart, + dataIndex: 'start', + width: 50 + },{ + header: this.szColStop, + dataIndex: 'stop', + width: 50 + }]; + + var cm = new Ext.grid.ColumnModel(this.columns); + cm.defaultSortable = true; + + Ext.xxv.programGrid.superclass.constructor.call(this, { + region: 'center' + ,id: 'program-grid' + ,loadMask: true + ,autoExpandColumn:'title' + ,cm: cm + ,sm: new Ext.grid.RowSelectionModel({ + singleSelect:true + }) + ,view: new Ext.grid.GroupingView({ + enableGroupingMenu:false + ,forceFit:true + ,showGroupName: false + }) + ,tbar:new Ext.PagingToolbar({ + pageSize: configuration.pageSize, + store: this.store, + displayInfo: true + }) + + ,plugins:[new Ext.ux.grid.Search({ + position:'top' + ,emptyText:'Search ...' + ,paramNames: { + fields:'cmd' + ,all:'p' + ,cmd:'p' + ,query:'filter' + } + })] + }); + + this.store.on({ + 'load' : this.onLoad + ,'beforeload' : this.onBeforeLoad + ,'loadexception' : this.onLoadException + ,scope:this + }); + this.on('rowcontextmenu', this.onContextClick, this); + this.getSelectionModel().on('rowselect', this.preview.select, this.preview, {buffer:50}); +}; + +Ext.extend(Ext.xxv.programGrid, Ext.grid.GridPanel, { + + szTitle : "Program guide" + ,szFindReRun : "Find rerun" + ,szRecord : "Record" + ,szColTitle : "Title" + ,szColDay : "Day" + ,szColStart : "Start" + ,szColStop : "Stop" + ,szColDayFormat : "l, m/d/Y" + ,szLoadException : "Couldn't get program data!\r\n{0}" + + ,stateful: true + + ,onLoadException : function( scope, o, arg, e) { + new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e); + } + ,onBeforeLoad : function( store, opt ) { + this.preview.clear(); + } + ,onLoad : function( store, records, opt ) { + this.getSelectionModel().selectFirstRow(); + this.ownerCt.SetPanelTitle(store.title); + } + ,onContextClick : function(grid, index, e){ + if(!this.menu){ // create context menu on first right click + this.menu = new Ext.menu.Menu({ + id:'grid-ctx', + items: [{ + text: this.szFindReRun, + iconCls: 'find-icon', + scope:this, + handler: function(){ this.viewer.searchTab(this.ctxRecord); } + } + ,{ + text: this.szRecord, + iconCls: 'record-icon', + scope:this, + handler: function(){ this.viewer.Record(this.ctxRecord); } + } + ] + }); + this.menu.on('hide', this.onContextHide, this); + } + e.stopEvent(); + if(this.ctxRow){ + Ext.fly(this.ctxRow).removeClass('x-node-ctx'); + this.ctxRow = null; + } + this.ctxRow = this.view.getRow(index); + this.ctxRecord = this.store.getAt(index); + Ext.fly(this.ctxRow).addClass('x-node-ctx'); + this.menu.showAt(e.getXY()); + } + + ,onContextHide : function(){ + if(this.ctxRow){ + Ext.fly(this.ctxRow).removeClass('x-node-ctx'); + this.ctxRow = null; + } + } + + ,reload : function(data) { + this.store.baseParams = { + cmd: 'p' + ,data: data.position + }; + this.store.title = data.name; + this.store.load({params:{start:0, limit:configuration.pageSize}}); + } + ,formatTitle: function(value, p, record) { + return String.format( + '
    {0} {1}
    ', + value, record.data.subtitle + ); + } +}); + +Ext.xxv.programPreview = function(viewer) { + this.viewer = viewer; + Ext.xxv.programPreview.superclass.constructor.call(this, { + id: 'program-preview', + region: 'south', + cls:'preview', + autoScroll: true, + stateful:true, + tbar: [ { + id:'s', + text: this.szFindReRun, + iconCls: 'find-icon', + disabled:true, + scope: this.viewer, + handler: function(){ this.searchTab(this.gridProgram.getSelectionModel().getSelected()); } + } ,{ + id:'tn', + text: this.szRecord, + iconCls: 'record-icon', + disabled:true, + scope: this.viewer, + handler: function(){ this.Record(this.gridProgram.getSelectionModel().getSelected()); } + } ] + }); +}; + +Ext.extend(Ext.xxv.programPreview, Ext.Panel, { + + szFindReRun : "Find rerun" + ,szRecord : "Record" + + ,select : function(sm, index, record){ + if(this.body) + XXV.getTemplate().overwrite(this.body, record.data); + + // Enable all toolbar buttons + var items = this.topToolbar.items; + if(items) { + items.eachKey(function(key, f) { + if(XXV.help.cmdAllowed(key)) f.enable(); + },items); + } + } + ,clear: function(){ + if(this) { + if(this.body) + this.body.update(''); + // Disable all items + var items = this.topToolbar.items; + if(items) { items.eachKey(function(key, f){f.disable();},items); } + } + } +}); + +function createProgramView(viewer,id, record) { + + viewer.gridProgram = new Ext.xxv.programGrid(viewer, record); + + var tab = new Ext.xxv.Panel({ + id:id, + iconCls: 'channel-icon', + layout:'border', + stateful:true, + hideMode:'offsets', + closable:true, + items:[ + viewer.gridProgram, + { + id:'program-bottom-preview', + layout:'fit', + items:XXV.BottomPreview ? 0 : viewer.gridProgram.preview, + height: 250, + split: true, + border:false, + region:'south', + hidden:XXV.BottomPreview + }, { + id:'program-right-preview', + layout:'fit', + items:XXV.RightPreview ? 0 : viewer.gridProgram.preview, + border:false, + region:'east', + width:350, + split: true, + hidden:XXV.RightPreview + }] + }); + + viewer.add(tab); + return tab; +} diff --git a/skins/jason/reader.js b/skins/jason/reader.js new file mode 100644 index 0000000..f807163 --- /dev/null +++ b/skins/jason/reader.js @@ -0,0 +1,62 @@ +/* + * jason - Javascript based skin for xxv + * Copyright(c) 2008-2009, anbr + * + * http://xxv.berlios.de/ + * + * $Id$ + */ + +Ext.xxv.jsonReader = function(meta, recordType){ + meta = meta || {}; + Ext.xxv.jsonReader.superclass.constructor.call(this, meta, recordType || meta.fields); +}; +Ext.extend(Ext.xxv.jsonReader, Ext.data.DataReader, { + + read : function(r){ + if(r.status != 200) { + throw {message: "XXVReader.read: " . r.statusText }; + } + var o = eval('('+r.responseText+')'); + if(!o || !o.data || typeof(o.data) != 'object') { + throw {message: "XXVReader.read: Json object not found"}; + } + return this.readRecords(o.data,o.param); + }, + + readRecords : function(o,p){ + + var Record = this.recordType, + f = Record.prototype.fields, fi = f.items, fl = f.length; + var records = []; + + for (var i = 0; i < o.length; i++) { + var n = o[i]; + var values = {}; + var id = n[0]; + for(var j = 0; j < fl; j++){ + f = fi[j]; + var v = n[j]; + values[f.name] = f.convert((v !== undefined) ? v : f.defaultValue); + } + var record = new Record(values, id); + record.json = n; + records[i] = record; + } + var total = records.length; + if(p && p.rows) { + total = p.rows; + } + if(this.meta && p) { + if(this.meta.param) { + delete this.meta.param; + } + this.meta.param = p; + } + return { + success : true, + records : records, + totalRecords : total + }; + } +}); diff --git a/skins/jason/recordings.js b/skins/jason/recordings.js new file mode 100644 index 0000000..341e93f --- /dev/null +++ b/skins/jason/recordings.js @@ -0,0 +1,935 @@ +/* + * jason - Javascript based skin for xxv + * Copyright(c) 2008-2009, anbr + * + * http://xxv.berlios.de/ + * + * $Id$ + */ + +Ext.DataView.LabelEditor = function(cfg, field){ + Ext.DataView.LabelEditor.superclass.constructor.call(this, + field || new Ext.form.TextField({ + allowBlank: false, + growMin:90, + growMax:240, + grow:true, + selectOnFocus:true + }), cfg + ); +} + +Ext.extend(Ext.DataView.LabelEditor, Ext.Editor, { + alignment: "tl-tl", + hideEl : false, + cls: "x-small-editor", + shim: false, + completeOnEnter: true, + cancelOnEsc: true, + labelSelector: 'span.x-editable', + + init : function(view){ + this.view = view; + view.on('render', this.initEditor, this); + this.on('complete', this.onSave, this); + }, + + initEditor : function(){ + this.view.getEl().on('mousedown', this.onMouseDown, this, {delegate: this.labelSelector}); + }, + + onMouseDown : function(e, target){ + if(!e.ctrlKey && !e.shiftKey){ + var item = this.view.findItemFromChild(target); + e.stopEvent(); + var record = this.view.store.getAt(this.view.indexOf(item)); + if(record.data[this.allow]) { + this.startEdit(target, record.data[this.dataIndex]); + this.activeRecord = record; + } + }else{ + e.preventDefault(); + } + }, + + onSave : function(ed, value){ + this.activeRecord.set(this.dataIndex, value); + } +}); + +Ext.DataView.DragSelector = function(cfg){ + cfg = cfg || {}; + var view, regions, proxy, tracker; + var rs, bodyRegion, dragRegion = new Ext.lib.Region(0,0,0,0); + var dragSafe = cfg.dragSafe === true; + + this.init = function(dataView){ + view = dataView; + view.on('render', onRender); + }; + + function fillRegions(){ + rs = []; + view.all.each(function(el){ + rs[rs.length] = el.getRegion(); + }); + bodyRegion = view.el.getRegion(); + } + + function cancelClick(){ + return false; + } + + function onBeforeStart(e){ + return !dragSafe || e.target == view.el.dom; + } + + function onStart(e){ + view.on('containerclick', cancelClick, view, {single:true}); + if(!proxy){ + proxy = view.el.createChild({cls:'x-view-selector'}); + }else{ + proxy.setDisplayed('block'); + } + fillRegions(); + view.clearSelections(); + } + + function onDrag(e){ + var startXY = tracker.startXY; + var xy = tracker.getXY(); + + var x = Math.min(startXY[0], xy[0]); + var y = Math.min(startXY[1], xy[1]); + var w = Math.abs(startXY[0] - xy[0]); + var h = Math.abs(startXY[1] - xy[1]); + + dragRegion.left = x; + dragRegion.top = y; + dragRegion.right = x+w; + dragRegion.bottom = y+h; + + dragRegion.constrainTo(bodyRegion); + proxy.setRegion(dragRegion); + + for(var i = 0, len = rs.length; i < len; i++){ + var r = rs[i], sel = dragRegion.intersect(r); + if(sel && !r.selected){ + r.selected = true; + view.select(i, true); + }else if(!sel && r.selected){ + r.selected = false; + view.deselect(i); + } + } + } + + function onEnd(e){ + if(proxy){ + proxy.setDisplayed(false); + } + } + + function onRender(view){ + tracker = new Ext.dd.DragTracker({ + onBeforeStart: onBeforeStart, + onStart: onStart, + onDrag: onDrag, + onEnd: onEnd + }); + tracker.initEl(view.el); + } +}; + +RecordingsStore = function() { + + // create the data store + return new Ext.data.Store({ + baseParams:{cmd:'rl'} + ,autoLoad:{params:{start:0, limit:configuration.pageSize}} + ,reader: new Ext.xxv.jsonReader({ + fields: [ + {name: 'id', type: 'string'} + ,{name: 'eventid', type: 'int'} + ,{name: 'title', type: 'string'} + ,{name: 'subtitle', type: 'string'} + ,{name: 'duration', type: 'int'} + ,{name: 'day', type:'date', dateFormat:'timestamp'} + ,{name: 'unviewed', type: 'int'} + ,{name: 'type', type: 'string'} + ,{name: 'group', type: 'int'} + ,{name: 'fulltitle', type: 'string'} + ,{name: 'isrecording', type: 'int'} + ,{name: 'description', type: 'string'} + ,{name: 'preview', type: 'string'} + ,{name: 'cutlength', type: 'int'} + ] + }) + ,proxy : new Ext.data.HttpProxy({ + url: XXV.help.baseURL() + ,method: 'POST' + }) + }); +}; + +Ext.xxv.recordingsDataView = function(viewer, preview, store, config) { + this.viewer = viewer; + this.preview = preview; + Ext.apply(this, config); + // create the data store + this.store = store; + var tpl = new Ext.XTemplate( + '', + '
    ', + '
    ', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '
    ', + '
    ', + '
    ', + '{shortName}
    ', + '
    ', + '
    ', { + isRadio: function(name){ + return name == 'RADIO'; + } + } + ); + + Ext.xxv.recordingsDataView.superclass.constructor.call(this, { + region: 'center' + ,store: store + ,tpl: tpl + ,cls: 'x-panel-body' // workaround - add missing border + ,style: 'overflow:auto' + ,multiSelect: true + ,overClass:'x-view-over' + ,itemSelector:'div.thumb-wrap' + ,loadMask:true + ,prepareData: function(data){ + if(data.id != 'up' && this.store.lastOptions.params.data && this.store.lastOptions.params.cmd == 'rl') { + + var Woerter = data.fulltitle.split("~"); + var last = this.store.lastOptions.params.data.split("~"); + var i = (Woerter.length > last.length) ? last.length : (Woerter.length - 1); + var title = ''; + for(len = Woerter.length; i < len; i++){ + if(title.length) { title += '~'; } + title += Woerter[i]; + } + data.shortName = Ext.util.Format.ellipsis(title, 16); + } else { + data.shortName = Ext.util.Format.ellipsis(data.fulltitle, 16); + } + data.shortTitle = Ext.util.Format.ellipsis(data.fulltitle, 50).replace(/\"/g,'\''); + data.shortDesc = Ext.util.Format.ellipsis(data.description, 50).replace(/\"/g,'\''); + data.start = data.day.dateFormat('H:i'); + data.stop = new Date(data.day.getTime() + (data.duration * 1000)).dateFormat('H:i'); + data.period = new Date((new Date(2000,1,1,0,0,0).getTime())+(data.duration * 1000)).dateFormat('H:i:s'); + var frames = data.preview.split(","); + if(data.preview.length && frames.length) { + var item = (frames.length) / 2; + data.frame = frames[item.toFixed(0)]; + } else { + data.frame = -1; + } + return data; + } + ,listeners: { + 'selectionchange': {fn:this.doClick, scope:this, buffer:100} + ,'contextmenu' : {fn:this.onContextClick, scope:this} + ,'dblclick' : {fn:this.doDblclick, scope:this} +// ,'loadexception' : {fn:this.onLoadException, scope:this} + ,'beforeselect' : {fn:function(view){ return view.store.getRange().length > 0; } } + } + ,plugins: [ + new Ext.DataView.DragSelector() //,new Ext.DataView.LabelEditor({dataIndex: 'fulltitle', allow: 'isrecording'}) + ,new Ext.ux.grid.Search({ + position:'owner' + ,paramNames: { + fields:'cmd' + ,all:'rl' + ,cmd:'rs' + ,query:'data' + } + }) + ] + } + ); + + this.store.on({ + 'beforeload' : this.onBeforeLoad + ,'load' : this.onLoad + ,'loadexception' : this.onLoadException + ,scope:this + }); +}; + +Ext.extend(Ext.xxv.recordingsDataView, Ext.DataView, { + + szTitle : "Recordings" + ,szToolTip : "Display recordings" + ,szFindReRun : "Find rerun" + ,szEdit : "Edit" + ,szCut : "Cut" + ,szDelete : "Delete" + ,szRecover : "Recover" + ,szStream : "Stream recording" + ,szPlay : "Playback" + ,szLoadException : "Couldn't get data about recording!\r\n{0}" + ,szCutSuccess : "Recordings started cutting process successful.\r\n{0}" + ,szCutFailure : "Couldn't start cutting process recordings!\r\n{0}" + ,szDeleteSuccess : "Recordings deleted successful.\r\n{0}" + ,szDeleteFailure : "Couldn't delete recordings!\r\n{0}" + ,szPlayBackSuccess : "Recording started playback successful.\r\n{0}" + ,szPlayBackFailure : "Couldn't started playback recording!\r\n{0}" + + ,onLoadException : function( scope, o, arg, e) { + new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e); + } + ,onBeforeLoad : function( scope, params ) { + this.preview.clear(); + } + ,onLoad : function( store, records, opt ) { + + // Add folder to go to back folder + if(store.lastOptions && store.lastOptions.params && store.lastOptions.params.data) { + var Recording = Ext.data.Record.create( store.fields.items ); + store.insert(0,[new Recording( + {id: 'up', + eventid: 0, + title: '..', + subtitle: '', + duration: 0, + day: new Date(), + unviewed: 0, + type: '', + group: 0, + fulltitle: '..', + isrecording: 0, + description: '', + preview: ''},'up')]); + } + + // Show details from first recording + for(var i = 0, len = store.getCount(); i < len; i++){ + var record = store.getAt(i); + if(record.data.isrecording != 0) { + this.showDetails(record); + //this.select(record.data.id,false,false); + break; + } + } + if(store.reader.meta.param) { + var tb = this.ownerCt.getTopToolbar(); + tb.displayMsg = store.reader.meta.param.usage; + tb.displayMsg += ' - '; + tb.displayMsg += Ext.PagingToolbar.prototype.displayMsg; + } + if(store.title) { + this.ownerCt.SetPanelTitle(store.title); + } else { + this.ownerCt.SetPanelTitle(this.szTitle); + } + + } + ,doDblclick : function() { + var selNode = this.getSelectedNodes(); + if(selNode && selNode.length > 0){ + var firstNode = selNode[0]; + var record = this.store.getById(firstNode.id); + if(record) { + if(record.data.isrecording == 0) { + delete(this.store.baseParams['data']); + this.store.title = undefined; + + this.store.baseParams.cmd = 'rl'; + if(record.id == 'up') { + var Woerter = this.store.lastOptions.params.data.split("~"); + var title = ''; + for(var i = 0, len = Woerter.length - 1; i < len; i++){ + if(title.length) { + title += '~'; + } + title += Woerter[i]; + } + if(title != '') { + this.store.title = title; + this.store.baseParams.data = title; + } + } else { + this.store.title = record.data.fulltitle; + this.store.baseParams.data = record.data.fulltitle; + } + this.store.load({params:{start:0, limit:this.store.autoLoad.params.limit}}); + } else { + this.EditItem(record); + } + } + } + }, + + doClick : function(){ + var selNode = this.getSelectedNodes(); + if(selNode && selNode.length > 0){ + var record = this.store.getById(selNode[0].id); + this.showDetails(record); + } + }, + showDetails : function(record){ + this.preview.content(record); + }, +/******************************************************************************/ + onContextClick : function(grid, index, node, e){ + if(!this.menu){ // create context menu on first right click + this.menu = new Ext.menu.Menu({ + id:'grid-ctx', + items: [ + { + id: 's' + ,text: this.szFindReRun + ,iconCls: 'find-icon' + ,scope:this + ,disabled: true + ,handler: function(){ this.viewer.searchTab(this.ctxRecord);} + },{ + id: 're' + ,text: this.szEdit + ,iconCls: 'edit-icon' + ,scope:this + ,disabled: true + ,handler: function() { this.EditItem(this.ctxRecord); } + },{ + id: 'rcu' + ,text: this.szCut + ,iconCls: 'cut-icon' + ,scope:this + ,disabled: true + ,handler: function() { this.CutItem(null); } + },{ + id: 'rr' + ,text: this.szDelete + ,iconCls: 'delete-icon' + ,scope:this + ,disabled: true + ,handler: function() { this.DeleteItem(null); } + },{ + id: 'rru' + ,text: this.szRecover + ,iconCls: 'recover-icon' + ,scope:this + ,disabled: true + ,handler: function() { this.Recover(); } + },'-',{ + id: 'pre' + ,text: this.szStream + ,iconCls: 'stream-icon' + ,scope:this + ,disabled: true + ,handler: function(){ this.onStream(this.ctxRecord,'00:00:00');} + },{ + id: 'rpv' + ,text: this.szPlay + ,iconCls: 'play-icon' + ,scope:this + ,disabled: true + ,handler: function(){ this.onPlay(this.ctxRecord,'00:00:00');} + } + ] + }); + this.menu.on('hide', this.onContextHide, this); + } + e.stopEvent(); + if(this.ctxRow){ + //Ext.fly(this.ctxRow).removeClass('x-view-selected'); + this.ctxRow = null; + } + this.ctxRow = node; + var record = this.store.getById(node.id); + this.select(node.id,true,false); + + var items = this.menu.items; + if(items) { + items.eachKey( + function(key, f) { + var enable = XXV.help.cmdAllowed(key); + if(enable) { + switch(key) { + case 's': enable = (record.data.isrecording == 0) ? false : true; break; + case 're': enable = (record.data.isrecording == 0) ? false : true; break; + case 'rpv': enable = (record.data.isrecording == 0) ? false : true; break; + case 'pre': enable = (record.data.isrecording == 0) ? false : true; break; + } + if(enable && node.id != 'up') { + f.enable(); + } + } + },items); + } + this.ctxRecord = record; + + //Ext.fly(this.ctxRow).addClass('x-view-selected'); + this.menu.showAt(e.getXY()); + }, + + onContextHide : function(){ + if(this.ctxRow){ + Ext.fly(this.ctxRow).removeClass('x-view-selected'); + this.ctxRow = null; + } + }, + +/******************************************************************************/ + onCutSuccess : function( response,options ) + { + this.el.unmask(); + var o = eval("("+response.responseText+")"); + + if(o && o.data && typeof(o.data) == 'string' + && o.param && o.param.state && o.param.state == 'success') { + + new Ext.xxv.MessageBox().msgSuccess(this.szCutSuccess, o.data); + + } else { + var msg = ''; + if(o && o.data && typeof(o.data) == 'string') { + msg = o.data; + } + new Ext.xxv.MessageBox().msgFailure(this.szCutFailure, msg); + } + }, + + onCutFailure : function( response,options ) + { + this.el.unmask(); + + new Ext.xxv.MessageBox().msgFailure(this.szCutFailure, response.statusText); + }, + + CutItem : function(record) { + + var toCut = ''; + if(record && record.data) { + toCut = record.data.id; + } else { + var selNode = this.getSelectedNodes(); + if(selNode && selNode.length > 0){ + for(var i = 0, len = selNode.length; i < len; i++){ + if(selNode[i].id == 'up') + continue; + if(toCut.length) { + toCut += ','; + } + var record = this.store.getById(selNode[i].id); + if(record.data.isrecording == 0) { + //toCut += 'all:'; + continue; + } + toCut += record.data.id; + } + } + } + if(toCut.length) { + this.el.mask(Ext.LoadMask.prototype.msg, 'x-mask-loading'); + Ext.Ajax.request({ + scope: this + ,url: XXV.help.cmdAJAX('rcu') + ,timeout: 15000 + ,success: this.onCutSuccess + ,failure: this.onCutFailure + ,params:{ data: toCut } + }); + } + }, +/******************************************************************************/ + onDeleteSuccess : function( response,options ) + { + this.el.unmask(); + var o = eval("("+response.responseText+")"); + + if(o && o.data && typeof(o.data) == 'string' + && o.param && o.param.state && o.param.state == 'success') { + + new Ext.xxv.MessageBox().msgSuccess(this.szDeleteSuccess, o.data); + + var Woerter = options.params.data.split(","); + var selRecord; + var iSel = 0; + + for(var j = 0, len = Woerter.length; j < len; j++){ + var record = this.store.getById(Woerter[j].replace(/all:/g, '')); + if(!record) + continue; + iSel = this.store.indexOf(record) - 1; + this.store.remove(record); + } + if(iSel >= 0 && iSel < this.store.getCount()) { + selRecord = this.store.getAt(iSel); + } + if(!selRecord || selRecord.data.isrecording == 0) { + for(iSel++;iSel < store.getCount();iSel++) { + selRecord = this.store.getAt(iSel); + if(selRecord.data.isrecording != 0) + break; + } + } + if(selRecord && selRecord.data.isrecording != 0) { + this.select(selRecord.data.id,false,false); + } + + } else { + var msg = ''; + if(o && o.data && typeof(o.data) == 'string') { + msg = o.data; + } + new Ext.xxv.MessageBox().msgFailure(this.szDeleteFailure, msg); + } + }, + + onDeleteFailure : function( response,options ) + { + this.el.unmask(); + + new Ext.xxv.MessageBox().msgFailure(this.szDeleteFailure, response.statusText); + }, + + DeleteItem : function(record) { + + var todelete = ''; + if(record && record.data) { + todelete = record.data.id; + } else { + var selNode = this.getSelectedNodes(); + if(selNode && selNode.length > 0){ + for(var i = 0, len = selNode.length; i < len; i++){ + if(selNode[i].id == 'up') + continue; + if(todelete.length) { + todelete += ','; + } + var record = this.store.getById(selNode[i].id); + if(record.data.isrecording == 0) { + todelete += 'all:'; + } + todelete += record.data.id; + } + } + } + if(todelete.length) { + this.el.mask(Ext.LoadMask.prototype.msg, 'x-mask-loading'); + Ext.Ajax.request({ + scope: this + ,url: XXV.help.cmdAJAX('rr') + ,timeout: 15000 + ,success: this.onDeleteSuccess + ,failure: this.onDeleteFailure + ,params:{ data: todelete } + }); + } + }, +/******************************************************************************/ + onPlaySuccess : function( response,options ) + { + var json = response.responseText; + var o = eval("("+json+")"); + if(!o || !o.data || typeof(o.data) != 'string') { + throw {message: "Ajax.read: Json message not found"}; + } + if(o.param && o.param.state && o.param.state == 'success') { + new Ext.xxv.MessageBox().msgSuccess(this.szPlayBackSuccess, o.data); + }else { + new Ext.xxv.MessageBox().msgFailure(this.szPlayBackFailure, o.data); + } + }, + + onPlayFailure : function( response,options ) + { + new Ext.xxv.MessageBox().msgFailure(this.szPlayBackFailure, response.statusText); + }, + + onPlay : function( record, begin ) { + if(this.PlayTransaction) Ext.Ajax.abort(this.PlayTransaction); + if(record.data.isrecording != 0) { + this.PlayTransaction = Ext.Ajax.request({ + url: XXV.help.cmdAJAX('rpv',{ data: record.data.id, '__start':begin }) + ,success: this.onPlaySuccess + ,failure: this.onPlayFailure + }); + } + }, +/******************************************************************************/ + onStream : function( record, begin ) { + var item = { + url : XXV.help.cmdHTML('pre',{data:record.data.id,'__player':'1','__start':begin}) + ,title: record.data.fulltitle + }; + + if(!this.viewer.streamwin){ + this.viewer.streamwin = new Ext.xxv.StreamWindow(item); + } else { + this.viewer.streamwin.show(item); + } + } + /******************************************************************************/ + ,EditItem : function( record ) { + + var item = { + cmd: 're' + ,id: record.data.id + ,title: record.data.fulltitle + }; + + if(this.viewer.formwin){ + this.viewer.formwin.close(); + } + this.viewer.formwin = new Ext.xxv.Question(item,this.store); + } + + ,Recover : function() { + + var item = { + cmd: 'rru' + }; + + if(this.viewer.formwin){ + this.viewer.formwin.close(); + } + this.viewer.formwin = new Ext.xxv.Question(item,this.store); + } +}); + +function createRecordingsView(viewer,id) { + + var timefield = new Ext.form.TimeField({ + id:'timeline' + ,mode:'local' + ,width: 100 + ,format: 'H:i:s' + ,value: '00:00:00' + ,increment:5 + ,minValue: new Date().clearTime() + ,maxValue: new Date().clearTime().add('mi', (24 * 60) - 1) + ,listeners: { + 'expand': function(combo){ + this.store.filterBy(function(record){ + var begin = combo.minValue; + var end = combo.maxValue; + var time = Date.parseDate(record.get('text'), combo.format); + return time.between(begin,end); + }); + } + } + }); + + var preview = new Ext.Panel({ + id: 'preview-recordings', + region: 'south', + cls:'preview', + autoScroll: true, + stateful:true, + timefield : timefield, + items: [ + { + id: 'preview-recordings-frame', + xtype:'slide', + wrapMarginY:0, + wrapMarginX:3, + imageHeight:120, + imageWidth:160, + autoWidth: true, + listeners:{ + selected: function(slide, image, e, ele){ + this.ownerCt.timefield.setValue(image.tperiod); + } + }, + images:[] + }], + + tbar: [ + { + id:'s' + ,iconCls: 'find-icon' + ,text: Ext.xxv.recordingsDataView.prototype.szFindReRun + ,scope: viewer + ,disabled:true + ,handler: function(){ this.searchTab(this.gridRecordings.preview.record); } + } + ,'-' + ,{ + id:'re' + ,iconCls: 'edit-icon' + ,text: Ext.xxv.recordingsDataView.prototype.szEdit + ,scope: viewer + ,disabled:true + ,handler: function(){ this.gridRecordings.EditItem(this.gridRecordings.preview.record); } + } + ,{ + id:'rcu' + ,iconCls: 'cut-icon' + ,text: Ext.xxv.recordingsDataView.prototype.szCut + ,scope: viewer + ,disabled:true + ,handler: function(){ this.gridRecordings.CutItem(this.gridRecordings.preview.record); } + } + ,{ + id:'rr' + ,iconCls: 'delete-icon' + ,text: Ext.xxv.recordingsDataView.prototype.szDelete + ,scope: viewer + ,disabled:true + ,handler: function(){ this.gridRecordings.DeleteItem(this.gridRecordings.preview.record); } + } + ,"->" + ,{ + id:'pre' + ,iconCls: 'stream-icon' + ,text: Ext.xxv.recordingsDataView.prototype.szStream + ,scope: viewer + ,disabled:true + ,handler: function(){ this.gridRecordings.onStream(this.gridRecordings.preview.record, this.gridRecordings.preview.timefield.getValue() ); } + } + ,{ + id:'rpv' + ,iconCls: 'play-icon' + ,text: Ext.xxv.recordingsDataView.prototype.szPlay + ,scope: viewer + ,disabled:true + ,handler: function(){ this.gridRecordings.onPlay(this.gridRecordings.preview.record, this.gridRecordings.preview.timefield.getValue() ); } + } + , timefield + ,{ + id:'recordings-shift-left' + ,iconCls: 'x-tbar-page-prev' + ,scope: viewer + ,disabled:false + ,handler: function() { + this.gridRecordings.preview.items.items[0].Shift('left'); + this.gridRecordings.preview.canshift(); + } + } + ,{ + id:'recordings-shift-right' + ,iconCls: 'x-tbar-page-next' + ,scope: viewer + ,disabled:false + ,handler: function(){ + this.gridRecordings.preview.items.items[0].Shift('right'); + this.gridRecordings.preview.canshift(); + } + } + ], + canshift : function(){ + var items = this.topToolbar.items; + if(items) { + if(this.items.items[0].CanShift('right') != -1) { + items.get('recordings-shift-right').enable(); + } else { + items.get('recordings-shift-right').disable(); + } + if(this.items.items[0].CanShift('left') != -1) { + items.get('recordings-shift-left').enable(); + } else { + items.get('recordings-shift-left').disable(); + } + } + }, + content : function(record){ + + if(record && this.record != record + && record.data.isrecording + && this.body + && this.ownerCt.isVisible()) { + this.body.update(''); + this.items.items[0].setvalue(record.data); + this.doLayout(); + this.record = record; + + this.timefield.duration = record.data.duration; + this.timefield.minValue=new Date().clearTime(); + this.timefield.setValue(this.timefield.minValue); + this.timefield.maxValue = new Date((this.timefield.minValue.getTime())+(record.data.duration * 1000)); + + // Enable all toolbar buttons + var items = this.topToolbar.items; + if(items) { + items.eachKey(function(key, f){if(XXV.help.cmdAllowed(key) || -1 == key.search(/shift/)) f.enable();},items); + } + this.canshift(); + } + + }, + clear: function(){ + if(this) { + if(this.body) + this.body.update(''); + this.record = null; + // Disable all toolbar buttons + var items = this.topToolbar.items; + if(items) { + items.eachKey(function(key, f){f.disable();},items); + + } + } + } + }); + + viewer.gridRecordings = new Ext.xxv.recordingsDataView( + viewer, + preview, + new RecordingsStore(), + { id: 'recording-view-grid' }); + + var tab = new Ext.xxv.Panel({ + id: id, + iconCls:"recordings-icon", + closable:true, + border:false, + layout:'border', + stateful:true, + hideMode:'offsets', + items:[ viewer.gridRecordings, + { + id:'recording-bottom-preview', + layout:'fit', + items:XXV.BottomPreview ? 0 : viewer.gridRecordings.preview, + height: 250, + split: true, + border:false, + region:'south', + hidden:XXV.BottomPreview + }, { + id:'recording-right-preview', + layout:'fit', + items:XXV.RightPreview ? 0 : viewer.gridRecordings.preview, + border:false, + region:'east', + width:350, + split: true, + hidden:XXV.RightPreview + } + ] + ,tbar:new Ext.PagingToolbar({ + pageSize: viewer.gridRecordings.store.autoLoad.params.limit, + store: viewer.gridRecordings.store, + displayInfo: true}) + }); + + viewer.add(tab); + return tab; +} + diff --git a/skins/jason/remote.js b/skins/jason/remote.js new file mode 100644 index 0000000..9616315 --- /dev/null +++ b/skins/jason/remote.js @@ -0,0 +1,163 @@ +/* + * jason - Javascript based skin for xxv + * Copyright(c) 2008-2009, anbr + * + * http://xxv.berlios.de/ + * + * $Id$ + */ + +Ext.xxv.RemoteWindow = function() { + + var data = { lines : [ + { next: 0, x : [ + { alias : 'Switch off', remote : 'Power', image : 'logout' } + ] },{ next: 0, x : [ + { alias : ' 1 ', remote : '1', image : 0 }, + { alias : ' 2 ', remote : '2', image : 0 }, + { alias : ' 3 ', remote : '3', image : 0 } + ] },{ next: 0, x : [ + { alias : ' 4 ', remote : '4', image : 0 }, + { alias : ' 5 ', remote : '5', image : 0 }, + { alias : ' 6 ', remote : '6', image : 0 } + ] },{ next: 0, x : [ + { alias : ' 7 ', remote : '7', image : 0 }, + { alias : ' 8 ', remote : '8', image : 0 }, + { alias : ' 9 ', remote : '9', image : 0 } + ] },{ next: 0, x : [ + { alias : ' 0 ', remote : 'Null', image : 0 }, + { alias : 'Up', remote : 'Up', image : 'up' } + ] },{ next: 0, x : [ + { alias : 'Left', remote : 'Left', image : 'left' }, + { alias : 'Ok', remote : 'Ok', image : 0 }, + { alias : 'Right', remote : 'Right', image : 'right' } + ] },{ next: 0, x : [ + { alias : 'Menu', remote : 'Menu', image : 'menu' }, + { alias : 'Down', remote : 'Down', image : 'down' }, + { alias : 'Back', remote : 'Back', image : 'back' } + ] },{ next: 1, x : [ + { alias : 'Red', remote : 'Left', image : 'red' }, + { alias : 'Green', remote : 'Green', image : 'green' }, + { alias : 'Yellow', remote : 'Yellow', image : 'yellow' }, + { alias : 'Blue', remote : 'Blue', image : 'blue' } + ] },{ next: 0, x : [ + { alias : 'Record', remote : 'Record', image : 'record' }, + { alias : 'Playback', remote : 'Play', image : 'playback' }, + { alias : 'Pause', remote : 'Pause', image : 'pause' }, + { alias : 'Stop', remote : 'Stop', image : 'stop' } + ] },{ next: 0, x : [ + { alias : 'FastRew', remote : 'FastRew', image : 'backward' }, + { alias : 'Decrease volume', remote : 'VolumeMinus', image : 'quiet' }, + { alias : 'Increase volume', remote : 'VolumePlus', image : 'loud' }, + { alias : 'FastFwd', remote : 'FastFwd', image : 'forward' } + ] } + ]}; + var tpl = new Ext.XTemplate( +'
    ', +'
    ', +'
    ', + '', + '', + '', + '', + '
    ', + '', + '', + '', + '', + '', + '', + '
    ', + '', + '
    ', + '', + '
    ', + '', + '
    ', +'
    ', +'
    ', +'
    ' + ); + + + Ext.xxv.RemoteWindow.superclass.constructor.call(this, { + title: this.szTitle + ,Remotetpl:tpl + ,iconCls: 'remote-icon' + ,id: 'Remote-win' + ,width: 200 + ,height: 340 + ,resizable: false + ,plain: true + ,modal: false + ,autoScroll: false + ,closeAction: 'hide' + ,collapsible: true + ,maximizable: false + ,items: [{ + id: 'Remote' + ,region: 'center' + ,html: tpl.apply(data.lines) + }] + }); + + Ext.xxv.RemoteWindow.superclass.show.apply(this, arguments); +} + +Ext.extend(Ext.xxv.RemoteWindow, Ext.Window, { + + szTitle : "Remote" + //,szRemoteSuccess : "Successful transmit remote control.\r\n{0}" + ,szRemoteFailure : "Couldn't transmit remote control!\r\n{0}" + ,hide : function(){ + if(this.task) { + Ext.TaskMgr.stop(this.task); + delete this.task; + } + + Ext.xxv.RemoteWindow.superclass.hide.apply(this, arguments); + } + ,show : function(){ + Ext.xxv.RemoteWindow.superclass.show.apply(this, arguments); + } +/******************************************************************************/ + ,onRemoteSuccess : function( response,options ) + { + var json = response.responseText; + var o = eval("("+json+")"); + if(!o || !o.data || typeof(o.data) != 'string') { + throw {message: "Ajax.read: Json message not found"}; + } + if(o.param && o.param.state && o.param.state == 'success') { + //new Ext.xxv.MessageBox().msgSuccess(this.szRemoteSuccess, o.data); + }else { + new Ext.xxv.MessageBox().msgFailure(this.szRemoteFailure, o.data); + } + } + ,onRemoteFailure : function( response,options ) + { + new Ext.xxv.MessageBox().msgFailure(this.szRemoteFailure, response.statusText); + } + ,onRemote : function( rc ) { + if(this.Remotetid) Ext.Ajax.abort(this.Remotetid); + this.Remotetid = Ext.Ajax.request({ + url: XXV.help.cmdAJAX('r',{ data: rc }) + ,success: this.onRemoteSuccess + ,failure: this.onRemoteFailure + ,scope: this + }); + } +}); + +Ext.xxv.RemoteWindowOpen = function(){ + var viewer = Ext.getCmp('main-tabs'); + if(!viewer.Remote){ + viewer.Remote = new Ext.xxv.RemoteWindow(); + } else { + viewer.Remote.show(); + } +} diff --git a/skins/jason/search.js b/skins/jason/search.js new file mode 100644 index 0000000..d46b65e --- /dev/null +++ b/skins/jason/search.js @@ -0,0 +1,305 @@ +/* + * jason - Javascript based skin for xxv + * Copyright(c) 2008-2009, anbr + * + * http://xxv.berlios.de/ + * + * $Id$ + */ + +Ext.xxv.searchStore = function(lookup) { + return new Ext.data.GroupingStore({ + baseParams:{cmd:'s',data: lookup} + ,autoLoad:{params:{start:0, limit:configuration.pageSize}} + ,reader: new Ext.xxv.jsonReader({ + fields: [ + {name: 'id', type: 'string'}, + {name: 'title', type: 'string'}, + {name: 'subtitle', type: 'string'}, + {name: 'channel', type: 'string'}, + {name: 'pos', type: 'int'}, + {name: 'start', type: 'string' }, + {name: 'stop', type: 'string' }, + {name: 'day', type: 'date', convert : function(x){ return new Date(x * 1000);} }, + {name: 'description', type: 'string'}, + {name: 'vps', type: 'string' }, + {name: 'timerid', type: 'string'}, + {name: 'timeractiv', type: 'string'}, + {name: 'running', type: 'string'}, + {name: 'video', type: 'string'}, + {name: 'audio', type: 'string'} + ], + remoteGroup:true, + remoteSort: true + }) + ,proxy : new Ext.data.HttpProxy({ + url: XXV.help.baseURL() + ,method: 'POST' + }) + ,sortInfo:{field:'day', direction:'ASC'} + ,groupField:'day' + }); +}; + +Ext.xxv.searchGrid = function(viewer, lookup) { + + this.viewer = viewer; + this.preview = new Ext.xxv.searchPreview(viewer); + //Ext.apply(this, config); + + // create the data store + this.store = new Ext.xxv.searchStore(lookup); + this.store.setDefaultSort('day', "ASC"); + + this.columns = [{ + header: this.szColTitle, + dataIndex: 'title', + width: 150, + renderer: this.formatTitle + },{ header: this.szColChannel, + dataIndex: 'channel', + width: 100 + },{ header: this.szColDay, + dataIndex: 'day', + width: 50, + hidden: true, + renderer: Ext.util.Format.dateRenderer(this.szColDayFormat) + },{ + header: this.szColStart, + dataIndex: 'start', + width: 50 + },{ + header: this.szColStop, + dataIndex: 'stop', + width: 50 + } + ]; + + Ext.xxv.searchGrid.superclass.constructor.call(this, { + region: 'center', + id: 'search-grid', + loadMask: true, + sm: new Ext.grid.RowSelectionModel({ + singleSelect:false + }), + autoExpandColumn:'title', + view: new Ext.grid.GroupingView({ + enableGroupingMenu:false, + forceFit:true, + showGroupName: false + }), + tbar:new Ext.PagingToolbar({ + pageSize: this.store.autoLoad.params.limit, + store: this.store, + displayInfo: true }) + }); + + this.store.on({ + 'load' : this.onLoad + ,'beforeload' : this.onBeforeLoad + ,'loadexception' : this.onLoadException + ,scope:this + }); + this.on('rowcontextmenu', this.onContextClick, this); + this.getSelectionModel().on('rowselect', this.preview.select, this.preview, {buffer:50}); +}; + +Ext.extend(Ext.xxv.searchGrid, Ext.grid.GridPanel, { + + szTitle : "Search" + ,szFindReRun : "Find rerun" + ,szRecord : "Record" + ,szColTitle : "Title" + ,szColChannel : "Channel" + ,szColDay : "Day" + ,szColStart : "Start" + ,szColStop : "Stop" + ,szColDayFormat : "l, m/d/Y" + ,szLoadException : "Couldn't find data!\r\n{0}" + + ,stateful: true + + ,onLoadException : function( scope, o, arg, e) { + new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e); + } + ,onBeforeLoad : function( store, opt ) { + this.preview.clear(); + } + ,onLoad : function( store, records, opt ) { + this.getSelectionModel().selectFirstRow(); + this.ownerCt.SetPanelTitle(store.baseParams.data); + } + + ,onContextClick : function(grid, index, e){ + if(!this.menu){ // create context menu on first right click + this.menu = new Ext.menu.Menu({ + id:'grid-ctx', + items: [ + { + id: 's' + ,iconCls: 'find-icon' + ,text: this.szFindReRun + ,scope:this + ,disabled: true + ,handler: function(){ this.viewer.searchTab(this.ctxRecord); } + } + ,{ + id: 'tn' + ,text: this.szRecord + ,iconCls: 'record-icon' + ,scope:this + ,disabled: true + ,handler: function(){ this.Record(null); } + } + ] + }); + this.menu.on('hide', this.onContextHide, this); + } + e.stopEvent(); + if(this.ctxRow){ + Ext.fly(this.ctxRow).removeClass('x-node-ctx'); + this.ctxRow = null; + } + this.ctxRow = this.view.getRow(index); + this.ctxRecord = this.store.getAt(index); + Ext.fly(this.ctxRow).addClass('x-node-ctx'); + + var items = this.menu.items; + if(items) { items.eachKey(function(key, f) { + if(XXV.help.cmdAllowed(key)) f.enable(); + },items); } + + this.menu.showAt(e.getXY()); + } + + ,onContextHide : function(){ + if(this.ctxRow){ + Ext.fly(this.ctxRow).removeClass('x-node-ctx'); + this.ctxRow = null; + } + } + + ,loadSearch : function(lookup) { + this.store.baseParams.data = lookup; + this.store.load({params:{start:0, limit:this.store.autoLoad.params.limit}}); + } + ,formatTitle: function(value, p, record) { + return String.format( + '
    {0} {1}
    ', + value, record.data.subtitle + ); + } + ,Record : function( record ) { + this.stopEditing(); + + var gsm = this.getSelectionModel(); + var sel = gsm.getSelections() + if(sel.length <= 0) { + gsm.selectRecords([record]); + sel.push(record); + } + var ids = ""; + for(var i = 0, len = sel.length; i < len; i++){ + if(i != 0) + ids += ','; + ids += sel[i].data.id; + } + this.viewer.RecordID(ids); + } +}); + +Ext.xxv.searchPreview = function(viewer) { + this.viewer = viewer; + Ext.xxv.searchPreview.superclass.constructor.call(this, { + id: 'preview-Search', + region: 'south', + cls:'preview', + autoScroll: true, + stateful:true, + tbar: [ { + id:'s', + text: this.szFindReRun, + iconCls: 'find-icon', + disabled:true, + scope: viewer, + handler: function(){ this.searchTab(this.gridSearch.getSelectionModel().getSelected()); } + } ,{ + id:'tn', + text: this.szRecord, + iconCls: 'record-icon', + disabled:true, + scope: viewer, + handler: function(){ this.Record(this.gridSearch.getSelectionModel().getSelected()); } + } ] + }); +}; +Ext.extend(Ext.xxv.searchPreview, Ext.Panel, { + + szFindReRun : "Find rerun" + ,szRecord : "Record" + + ,select : function(sm, index, record){ + if(this.body) + XXV.getTemplate().overwrite(this.body, record.data); + + // Enable all toolbar buttons + var items = this.topToolbar.items; + if(items) { + items.eachKey(function(key, f) { + if(XXV.help.cmdAllowed(key)) f.enable(); + },items); + } + } + ,clear: function(){ + if(this) { + if(this.body) + this.body.update(''); + // Disable all items + var items = this.topToolbar.items; + if(items) { items.eachKey(function(key, f){f.disable();},items); } + } + } +}); + +function createSearchView(viewer,id,lookup) { + + viewer.gridSearch = new Ext.xxv.searchGrid(viewer, lookup); + + tab = new Ext.xxv.Panel({ + id: id, + iconCls: 'find-icon', + closable:true, + autoScroll:true, + border:false, + layout:'border', + stateful:true, + hideMode:'offsets', + items:[ + viewer.gridSearch, + { + id:'search-bottom-preview', + layout:'fit', + items:XXV.BottomPreview ? 0 : viewer.gridSearch.preview, + height: 250, + split: true, + border:false, + region:'south', + hidden:XXV.BottomPreview + }, { + id:'search-right-preview', + layout:'fit', + items:XXV.RightPreview ? 0 : viewer.gridSearch.preview, + border:false, + region:'east', + width:350, + split: true, + hidden:XXV.RightPreview + } + ] + }); + + viewer.add(tab); + + return tab; +} + diff --git a/skins/jason/stream.js b/skins/jason/stream.js new file mode 100644 index 0000000..c673fd6 --- /dev/null +++ b/skins/jason/stream.js @@ -0,0 +1,125 @@ +/* + * jason - Javascript based skin for xxv + * Copyright(c) 2008-2009, anbr + * + * http://xxv.berlios.de/ + * + * $Id$ + */ + +Ext.xxv.StreamWindow = function(item) { + + var tpl = new Ext.XTemplate( + '', + '', + '', + '', + '', + '', + '', + '', + '' + ); + + + var width = configuration.streamWidth; + var height = configuration.streamHeight; + if(Ext.state.Manager.getProvider()) { + var streamwin = Ext.state.Manager.get('stream-win'); + if(streamwin && streamwin.width && streamwin.width >= 160 && streamwin.width <= 4096) { + width = streamwin.width; + } + if(streamwin && streamwin.height && streamwin.height >= 120 && streamwin.height <= 2048) { + height = streamwin.height; + } + } + var marginHeight = 33; + var marginWidth = 16; + + Ext.xxv.StreamWindow.superclass.constructor.call(this, { + title: item.title + ,streamtpl:tpl + ,iconCls: 'stream-icon' + ,id: 'stream-win' + ,minWidth: 160 + ,minHeight: 120 + ,marginWidth: marginWidth + ,marginHeight: marginHeight + ,width: width + ,height: height + ,resizable: true + ,plain: true + ,modal: false + ,autoScroll: false + ,closeAction: 'hide' + ,collapsible: true + ,maximizable: true + ,tools:[ + {id:'gear',handler:this.aspect, scope:this } + ] + ,items: [{ + id: 'video' + ,region: 'center' + ,width: width - marginWidth + ,height: height - marginHeight + ,html: tpl.apply({ + width : width - marginWidth, + height : height - marginHeight, + url: item.url + }) + }] + }); + + Ext.xxv.StreamWindow.superclass.show.apply(this, arguments); + + this.on('resize', this.onresize, this); +} + +Ext.extend(Ext.xxv.StreamWindow, Ext.Window, { + aspect : function() { + var size = this.getSize(); + this.setSize(size.width, Math.round((size.width * 3) / 4)); + } + ,onresize : function(window, width, height ){ + width -= this.marginWidth; + height -= this.marginHeight; + + var video = Ext.getCmp('video'); + video.setWidth(width); + video.setHeight(height); + + var style = {width:width+"px",height:height+"px"}; + Ext.DomHelper.applyStyles('player_obj', style); + Ext.DomHelper.applyStyles('player_emb', style); + + }, + + hide : function(){ + var video = Ext.getCmp('video'); + if(video && video.body) video.body.update(''); + Ext.xxv.StreamWindow.superclass.hide.apply(this, arguments); + }, + show : function(item){ + if(this.rendered){ + var video = Ext.getCmp('video'); + var size = this.getSize(); + video.body.hide(); + this.streamtpl.overwrite(video.body, { + width : size.width - this.marginWidth, + height : size.height - this.marginHeight, + url: item.url + }); + video.body.show(); + this.setTitle(item.title); + } + Ext.xxv.StreamWindow.superclass.show.apply(this, arguments); + } +}); diff --git a/skins/jason/tabpanel.js b/skins/jason/tabpanel.js new file mode 100644 index 0000000..71e4df2 --- /dev/null +++ b/skins/jason/tabpanel.js @@ -0,0 +1,212 @@ +/* + * jason - Javascript based skin for xxv + * Copyright(c) 2008-2009, anbr + * + * http://xxv.berlios.de/ + * + * $Id$ + */ + +Ext.xxv.tabPanel = function(){ + + this.initPreview(); + var tab = creatNowView(this,'n'); + + Ext.xxv.tabPanel.superclass.constructor.call(this, { + id:'main-tabs', + activeTab:0, + region:'center', + margins:'0 5 5 0', + resizeTabs:true, + tabWidth:150, + minTabWidth: 120, + enableTabScroll: true, + plugins: new Ext.ux.TabCloseMenu(), + items: tab + }); + +}; + +Ext.extend(Ext.xxv.tabPanel, Ext.TabPanel, { + + initPreview : function(){ + XXV.BottomPreview = false; + XXV.RightPreview = true; + if(Ext.state.Manager.getProvider()) { + var previewstate = Ext.state.Manager.get('preview-layout'); + if(previewstate) { + switch(previewstate){ + case 'preview-bottom': + XXV.BottomPreview = false; + XXV.RightPreview = true; + break; + case 'preview-right': + XXV.BottomPreview = true; + XXV.RightPreview = false; + break; + case 'preview-hide': + XXV.BottomPreview = true; + XXV.RightPreview = true; + break; + } + } + } + } + ,movePreview : function(m, pressed){ + if(!m || m.group != 'rp-group'){ + return; + } + if(pressed){ + var pages = ['now','program','timer','search','recording']; + for(var i = 0, len = pages.length; i < len; i++){ + var page = pages[i]; + var right = Ext.getCmp(page + '-right-preview'); + var bot = Ext.getCmp(page + '-bottom-preview'); + if(right && bot) { + var preview; + if(page == 'now') { + preview = this.gridNow.preview; + } else if(page == 'program') { + preview = this.gridProgram.preview; + } else if(page == 'timer') { + preview = this.gridTimer.preview; + } else if(page == 'search') { + preview = this.gridSearch.preview; + } else if(page == 'recording') { + preview = this.gridRecordings.preview; + } else { + continue; + } + switch(m.iconCls){ + case 'preview-bottom': + right.hide(); + bot.add(preview); + bot.show(); + bot.ownerCt.doLayout(); + XXV.BottomPreview = false; + XXV.RightPreview = true; + //btn.setIconClass('preview-bottom'); + break; + case 'preview-right': + bot.hide(); + right.add(preview); + right.show(); + right.ownerCt.doLayout(); + XXV.BottomPreview = true; + XXV.RightPreview = false; + //btn.setIconClass('preview-right'); + break; + case 'preview-hide': + preview.ownerCt.hide(); + right.hide(); + bot.hide(); + preview.ownerCt.ownerCt.doLayout(); + XXV.BottomPreview = true; + XXV.RightPreview = true; + //btn.setIconClass('preview-hide'); + break; + } + } + } + if(Ext.state.Manager.getProvider()) { + Ext.state.Manager.set('preview-layout', m.iconCls); + } + } + } + ,openNow : function(){ + var id = 'n'; + var tab; + if(!(tab = this.getItem(id))){ + tab = creatNowView(this,'n'); + } else { + tab.LoadTitle(); + this.gridNow.reload(); + } + this.setActiveTab(tab); + } + ,openProgram : function(data){ + var id = 'p'; + var tab; + if(!(tab = this.getItem(id))){ + tab = createProgramView(this,id,data); + } else { + tab.LoadTitle(); + this.gridProgram.reload(data); + } + this.setActiveTab(tab); + } + ,openAutoTimer : function(){ + var id = 'al'; + var tab; + if(!(tab = this.getItem(id))){ + tab = createAutoTimerView(this,id); + } + this.setActiveTab(tab); + } + ,openTimer : function(){ + var id = 'tl'; + var tab; + if(!(tab = this.getItem(id))){ + tab = createTimerView(this,id); + } + this.setActiveTab(tab); + } + ,openRecordings : function(){ + var id = 'rl'; + var tab; + if(!(tab = this.getItem(id))){ + tab = createRecordingsView(this,id); + } + this.setActiveTab(tab); + } + ,openChronicle : function(){ + var id = 'chrl'; + var tab; + if(!(tab = this.getItem(id))){ + tab = createChronicleView(this,id); + } + this.setActiveTab(tab); + } + ,openSearch : function(lookup){ + var id = 's'; + var tab; + if(!(tab = this.getItem(id))){ + tab = createSearchView(this,id,lookup); + }else { + tab.LoadTitle(); + this.gridSearch.loadSearch(lookup); + } + this.setActiveTab(tab); + } + ,searchTab : function(record){ + if(!record || !record.data) return; + var d = record.data; + var Woerter = d.title.split("~"); + var title = Woerter[0]; + return this.openSearch(title); + } + ,Record : function(record){ + if(!record || !record.data) return; + this.gridNow.Record(record); + } + ,RecordID : function(id){ + if(!id) return; + this.gridNow.RecordID(id); + } + ,openVDRList : function(){ + var id = 'vl'; + var tab; + if(!(tab = this.getItem(id))){ + tab = createVDRView(this,id); + } + this.setActiveTab(tab); + } + ,openUsersList : function(){ + var id = 'ul'; + var tab; + if(!(tab = this.getItem(id))){ + tab = createUsersView(this,id); + } + this.setActiveTab(tab); + } +}); diff --git a/skins/jason/timers.js b/skins/jason/timers.js new file mode 100644 index 0000000..f6aa88f --- /dev/null +++ b/skins/jason/timers.js @@ -0,0 +1,589 @@ +/* + * jason - Javascript based skin for xxv + * Copyright(c) 2008-2009, anbr + * + * http://xxv.berlios.de/ + * + * $Id$ + */ + +Ext.xxv.timerStore = function() { + + // create the data store + return new Ext.data.GroupingStore({ + baseParams:{cmd:'tl'} + ,autoLoad:{params:{start:0, limit:configuration.pageSize}} + ,reader: new Ext.xxv.jsonReader({ + fields: [ + {name: 'id', type: 'string'}, + {name: 'flags', type: 'int'}, + {name: 'channel', type: 'string'}, + {name: 'pos', type: 'string'}, + {name: 'day', type:'date', dateFormat:'timestamp'}, + {name: 'start', type: 'string'}, + {name: 'stop', type: 'string'}, + {name: 'title', type: 'string'}, + {name: 'priority', type: 'int'}, + {name: 'collision', type: 'string'}, + {name: 'eventid', type: 'int'}, + {name: 'autotimerid', type: 'int'}, + {name: 'duration', type: 'int'}, + {name: 'description', type: 'string'}, + {name: 'running', type: 'bool'} + ] + }) + ,proxy : new Ext.data.HttpProxy({ + url: XXV.help.baseURL() + ,method: 'GET' + }) + ,sortInfo:{field:'day', direction:'ASC'} + ,groupField:'day' + }); +}; + +Ext.xxv.timerGrid = function(viewer) { + + this.viewer = viewer; + this.preview = new Ext.xxv.timerPreview(viewer); + + //Ext.apply(this, {}); // Apply config + + // create primary data store + this.store = new Ext.xxv.timerStore(); + this.store.setDefaultSort('day', "ASC"); + + // create the channels store + var channels = new Ext.xxv.storeChannels; + + // custom columns as plugins + this.activeColumn = new Ext.grid.CheckColumn({ + header: this.szColActive + ,dataIndex: 'flags' + ,width: 50 + ,bitmask: 1 + ,editable: false + ,hidden: true + }); + this.vpsColumn = new Ext.grid.CheckColumn({ + header: this.szColPDC + ,dataIndex: 'flags' + ,width: 50 + ,bitmask: 4 + ,editable: false + ,hidden: false + }); + + this.ChannelsCombo = new Ext.xxv.ChannelsCombo({ header: this.szColChannel, + dataIndex: 'pos', + width: 100, + store: channels, + editor: new Ext.form.ComboBox({ + tpl: new Ext.XTemplate('', + '
    {grpname}
    ', + '
    {name}
    ', + '
    ', { + isNewGroup: function(grpname){ + if(!this.lastgroups || grpname != this.lastgroups) { this.lastgroups = grpname; return 1; } + return 0; + } + }), + store: channels, + displayField:'name', + valueField:'position', + triggerAction: 'all', lazyRender:true, + listClass: 'x-combo-list-small', + mode: 'remote', + emptyText:this.szSelChEmptyText, + selectOnFocus:true, + editable: false + }) + } + ); + + this.columns = [ + { + header: this.szColTitle, + dataIndex: 'title', + width: 150, + renderer: this.formatTitle, + editor: new Ext.form.TextField({allowBlank: false}) + }, + this.activeColumn, + this.vpsColumn, + this.ChannelsCombo, + { + header: this.szColDay, + dataIndex: 'day', + width: 50, + renderer: Ext.util.Format.dateRenderer(this.szColDayFormat), + editor: new Ext.form.DateField({ + minValue: Ext.util.Format.date(new Date()) + }), + hidden: true + },{ + header: this.szColStart, + dataIndex: 'start', + width: 50, + editor: new Ext.form.TimeField() + },{ + header: this.szColStop, + dataIndex: 'stop', + width: 50, + editor: new Ext.form.TimeField() + } + ]; + var cm = new Ext.grid.ColumnModel(this.columns); + cm.defaultSortable = true; + + Ext.xxv.timerGrid.superclass.constructor.call(this, { + region: 'center' + ,id: 'timer-view-grid' + ,loadMask: true + ,plugins:[this.activeColumn,this.vpsColumn,this.ChannelsCombo] + ,clicksToEdit:1 + ,cm: cm + ,sm: new Ext.grid.RowSelectionModel({ + singleSelect:false + }) + ,view: new Ext.grid.GroupingView({ + enableGroupingMenu:false, + showGroupName: false + }) + ,tbar:new Ext.PagingToolbar({ + pageSize: this.store.autoLoad.params.limit + ,store: this.store + ,displayInfo: true + ,items: [ + { + id:'tn' + ,iconCls: 'timer-new-icon' +// ,text: this.szNew + ,scope: this + ,disabled:false + ,handler: function(){ this.EditItem(null); } + } + ]}) + ,plugins:[new Ext.ux.grid.Search({ + position:'top' + ,paramNames: { + fields:'cmd' + ,all:'tl' + ,cmd:'ts' + ,query:'data' + } + })] + }); + + this.store.on({ + 'load' : this.onLoad + ,'beforeload' : this.onBeforeLoad + ,'loadexception' : this.onLoadException + ,scope:this + }); + this.on('rowcontextmenu', this.onContextClick, this); + this.on('rowdblclick', this.onEditItem, this); + this.getSelectionModel().on('rowselect', this.preview.select, this.preview, {buffer:50}); +}; + +Ext.extend(Ext.xxv.timerGrid, Ext.grid.GridPanel, { // Ext.grid.EditorGridPanel + + szTitle : "Timer" + ,szFindReRun : "Find rerun" + ,szNew : "Create new timer" + ,szEdit : "Edit timer" + ,szDelete : "Delete timer" + ,szToggle : "Enable or disable timer" + ,szColTitle : "Title" + ,szColActive : "Active" + ,szColPDC : "PDC" + ,szColDay : "Day" + ,szColChannel : "Channel" + ,szColStart : "Start" + ,szColStop : "Stop" + ,szColDayFormat : "l, m/d/Y" + ,szSelChEmptyText: "Select a channel..." + ,szLoadException : "Couldn't get data about timer!\r\n{0}" + ,szDeleteSuccess : "Timer deleted successful.\r\n{0}" + ,szDeleteFailure : "Couldn't delete timer!\r\n{0}" + ,szToggleSuccess : "Timer toggled successful.\r\n{0}" + ,szToggleFailure : "Couldn't toggle timer!\r\n{0}" + + ,stateful: true + + ,onLoadException : function( scope, o, arg, e) { + new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e); + } + ,onBeforeLoad : function( store, opt ) { + this.preview.clear(); + } + ,onLoad : function( store, records, opt ) { + this.getSelectionModel().selectFirstRow(); + this.ownerCt.SetPanelTitle(this.szTitle); + } + + ,onContextClick : function(grid, index, e){ + if(!this.menu){ // create context menu on first right click + this.menu = new Ext.menu.Menu({ + id:'grid-ctx', + items: [{ + id:'s' + ,text: this.szFindReRun + ,iconCls: 'find-icon' + ,scope:this + ,disabled: true + ,handler: function(){ this.viewer.searchTab(this.ctxRecord);} + },{ + id:'te' + ,text: this.szEdit + ,iconCls: 'edit-icon' + ,scope:this + ,disabled: true + ,handler: function() { this.EditItem(this.ctxRecord); } + },{ + id:'td' + ,text: this.szDelete + ,iconCls: 'delete-icon' + ,scope:this + ,disabled: true + ,handler: function() { this.DeleteItem(this.ctxRecord); } + },{ + id:'tt' + ,text: this.szToggle + ,iconCls: 'timer-toggle-icon' + ,scope:this + ,disabled: true + ,handler: function() { this.ToggleItem(this.ctxRecord); } + } + ] + }); + this.menu.on('hide', this.onContextHide, this); + } + e.stopEvent(); + if(this.ctxRow){ + Ext.fly(this.ctxRow).removeClass('x-node-ctx'); + this.ctxRow = null; + } + this.ctxRow = this.view.getRow(index); + this.ctxRecord = this.store.getAt(index); + Ext.fly(this.ctxRow).addClass('x-node-ctx'); + + var items = this.menu.items; + if(items) { items.eachKey(function(key, f) { + if(XXV.help.cmdAllowed(key)) f.enable(); + },items); } + + this.menu.showAt(e.getXY()); + } + ,onContextHide : function(){ + if(this.ctxRow){ + Ext.fly(this.ctxRow).removeClass('x-node-ctx'); + this.ctxRow = null; + } + } + ,formatTitle: function(value, p, record) { + var Woerter = value.split("~"); + var title = Woerter[0]; + var subtitle = ''; + for(var i = 1, len = Woerter.length; i < len; i++){ + if(subtitle.length) { + subtitle += '~'; + } + subtitle += Woerter[i]; + } + var style = ""; + if((record.data.flags & 1) == 0) { + style = " deactive"; + } else if(record.data.collision != '0') { + style = " problem"; + } else if(record.data.running) { + style = " running"; + } + if(subtitle) { + return String.format( + '
    {0} {1}
    ', + title, subtitle, style + ); + } + return String.format( + '
    {0}
    ', + title, style + ); + } + /******************************************************************************/ + ,onToggleSuccess : function( response,options ) + { + this.loadMask.hide(); + + var o = eval("("+response.responseText+")"); + + if(o && o.data && typeof(o.data) == 'object' + && o.param && o.param.state && o.param.state == 'success') { + new Ext.xxv.MessageBox().msgSuccess(this.szToggleSuccess,''); + //{ "data" : [ [ ID, ON, RUN, CONFLICT ], .... ] } + for (var i = 0; i < o.data.length; i++) { + var x = o.data[i]; + if(x.length != 4 || !x[0]) { + continue; + } + var record = this.store.getById(x[0]); + if(!record) { + continue; + } + if(x[1] != '0') + record.data.flags |= 1; + else + record.data.flags &= ~1; + if(x[2] != '0') + record.data.running = 1; + else + record.data.running = 0; + record.data.collision = x[3]; + } + this.view.refresh(); + } else { + var msg = ''; + if(o && o.data && typeof(o.data) == 'string') { + msg = o.data; + } + new Ext.xxv.MessageBox().msgFailure(this.szToggleFailure, msg); + } + } + + ,onToggleFailure : function( response,options ) + { + this.loadMask.hide(); + new Ext.xxv.MessageBox().msgFailure(this.szToggleFailure, response.statusText); + } + + ,ToggleItem : function( record ) { + this.stopEditing(); + this.loadMask.show(); + + var gsm = this.getSelectionModel(); + var sel = gsm.getSelections() + if(sel.length <= 0) { + gsm.selectRecords([record]); + sel.push(record); + } + var todo = ""; + for(var i = 0, len = sel.length; i < len; i++){ + if(i != 0) + todo += ','; + todo += sel[i].data.id; + } + Ext.Ajax.request({ + scope: this + ,url: XXV.help.cmdAJAX('tt') + ,timeout: 15000 + ,success: this.onToggleSuccess + ,failure: this.onToggleFailure + ,params:{ data: todo } + }); + } + /******************************************************************************/ + ,onDeleteSuccess : function( response,options ) + { + this.loadMask.hide(); + + var o = eval("("+response.responseText+")"); + + if(o && o.data && typeof(o.data) == 'string' + && o.param && o.param.state && o.param.state == 'success') { + new Ext.xxv.MessageBox().msgSuccess(this.szDeleteSuccess, o.data); + + var gsm = this.getSelectionModel(); + var sel = options.params.data.split(","); + sel.reverse(); + for(var i = 0, len = sel.length; i < len; i++){ + if(gsm.isIdSelected(sel[i])) { + if(gsm.hasPrevious()) { + gsm.selectPrevious(); + } else { + gsm.selectNext(); + } + } + var record = this.store.getById(sel[i]); + this.store.remove(record); + } + } else { + var msg = ''; + if(o && o.data && typeof(o.data) == 'string') { + msg = o.data; + } + new Ext.xxv.MessageBox().msgFailure(this.szDeleteFailure, msg); + } + } + + ,onDeleteFailure : function( response,options ) + { + this.loadMask.hide(); + new Ext.xxv.MessageBox().msgFailure(this.szDeleteFailure, response.statusText); + } + + ,DeleteItem : function( record ) { + this.stopEditing(); + this.loadMask.show(); + + var gsm = this.getSelectionModel(); + var sel = gsm.getSelections() + if(sel.length <= 0) { + gsm.selectRecords([record]); + sel.push(record); + } + var todel = ""; + for(var i = 0, len = sel.length; i < len; i++){ + if(i != 0) + todel += ','; + todel += sel[i].data.id; + } + Ext.Ajax.request({ + scope: this + ,url: XXV.help.cmdAJAX('td') + ,timeout: 15000 + ,success: this.onDeleteSuccess + ,failure: this.onDeleteFailure + ,params:{ data: todel } + }); + } + ,EditItem : function( record ) { + this.stopEditing(); + var item; + + if(record != null) { + var gsmTimer = this.getSelectionModel(); + gsmTimer.selectRecords([record]); + + item = { + cmd: 'te' + ,id: record.data.id + ,title: record.data.title + }; + } else { + item = { + cmd: 'tn' + ,id: 0 + ,title: this.szNew + }; + } + + if(this.viewer.formwin){ + this.viewer.formwin.close(); + } + this.viewer.formwin = new Ext.xxv.Question(item,this.store); + } + ,onEditItem : function(grid, index, e) { + e.stopEvent(); + if(this.ctxRow){ + Ext.fly(this.ctxRow).removeClass('x-node-ctx'); + this.ctxRow = null; + } + var record = this.store.getAt(index); + this.EditItem(record); + } +}); + +Ext.xxv.timerPreview = function(viewer) { + this.viewer = viewer; + Ext.xxv.timerPreview.superclass.constructor.call(this, { + id: 'preview-timer', + region: 'south', + cls:'preview', + autoScroll: true, + stateful:true, + tbar: [ + { + id:'s' + ,iconCls: 'find-icon' + ,text: this.szFindReRun + ,scope: viewer + ,disabled:true + ,handler: function(){ this.searchTab(this.gridTimer.getSelectionModel().getSelected()); } + } + ,{ + id:'te' + ,iconCls: 'edit-icon' + ,text: this.szEdit + ,scope: viewer + ,disabled:true + ,handler: function(){ this.gridTimer.EditItem(this.gridTimer.getSelectionModel().getSelected()); } + } + ,{ + id:'td' + ,iconCls: 'delete-icon' + ,text: this.szDelete + ,scope: viewer + ,disabled:true + ,handler: function(){ this.gridTimer.DeleteItem(this.gridTimer.getSelectionModel().getSelected()); } + } ] + }); +}; + +Ext.extend(Ext.xxv.timerPreview, Ext.Panel, { + szFindReRun : "Find rerun" + ,szEdit : "Edit" + ,szDelete : "Delete" + ,select : function(sm, index, record){ + if(this.body) + XXV.getTemplate().overwrite(this.body, record.data); + + // Enable all toolbar buttons + var items = this.topToolbar.items; + if(items) { + items.eachKey(function(key, f) { + if(XXV.help.cmdAllowed(key)) f.enable(); + },items); + } + } + ,clear: function(){ + if(this) { + if(this.body) + this.body.update(''); + // Disable all items + var items = this.topToolbar.items; + if(items) { items.eachKey(function(key, f){f.disable();},items); } + } + } +}); + +function createTimerView(viewer,id) { + + viewer.gridTimer = new Ext.xxv.timerGrid(viewer); + + tab = new Ext.xxv.Panel({ + id: id, + iconCls:"timer-icon", + closable:true, + autoScroll:true, + border:false, + layout:'border', + stateful:true, + hideMode:'offsets', + items:[ + viewer.gridTimer, + { + id:'timer-bottom-preview', + layout:'fit', + items:XXV.BottomPreview ? 0 : viewer.gridTimer.preview, + height: 250, + split: true, + border:false, + region:'south', + hidden:XXV.BottomPreview + }, { + id:'timer-right-preview', + layout:'fit', + items:XXV.RightPreview ? 0 : viewer.gridTimer.preview, + border:false, + region:'east', + width:350, + split: true, + hidden:XXV.RightPreview + } + ] + + }); + + viewer.add(tab); + return tab; +} + diff --git a/skins/jason/users.js b/skins/jason/users.js new file mode 100644 index 0000000..7ead7e5 --- /dev/null +++ b/skins/jason/users.js @@ -0,0 +1,295 @@ +/* + * jason - Javascript based skin for xxv + * Copyright(c) 2008-2009, anbr + * + * http://xxv.berlios.de/ + * + * $Id$ + */ + +Ext.xxv.usersStore = function() { + + // create the data store + return new Ext.data.Store({ + baseParams:{cmd:'ul'} + ,autoLoad:{params:{start:0, limit:configuration.pageSize}} + ,reader: new Ext.xxv.jsonReader({ + fields: [ + {name: 'id', type: 'int'}, + {name: 'title', type: 'string'}, + {name: 'level', type: 'string'}, + {name: 'preferences', type: 'string'}, + {name: 'userpreferences', type: 'string'} + ] + }) + ,proxy : new Ext.data.HttpProxy({ + url: XXV.help.baseURL() + ,method: 'GET' + }) + ,sortInfo:{field:'title', direction:'ASC'} + }); +}; + +Ext.xxv.usersGrid = function(viewer) { + this.viewer = viewer; + //Ext.apply(this, {}); // Apply config + + // create the data store + this.store = new Ext.xxv.usersStore(); + this.store.setDefaultSort('title', "ASC"); + + this.columns = [ + { + header: this.szColTitle + ,dataIndex: 'title' + ,width: 200 + }, + { header: this.szColLevel + ,dataIndex: 'level' + ,width: 200 + }, + { header: this.szUserPreferences + ,dataIndex: 'userpreferences' + ,width: 400 + ,hidden: true + }, + { header: this.szAdminPreferences + ,dataIndex: 'preferences' + ,width: 400 + ,hidden: true + } + ]; + + var cm = new Ext.grid.ColumnModel(this.columns); + cm.defaultSortable = true; + + Ext.xxv.usersGrid.superclass.constructor.call(this, { + region: 'center' + ,id: 'users-view-grid' + ,loadMask: true + ,clicksToEdit:1 + ,cm: cm + ,sm: new Ext.grid.RowSelectionModel({ + singleSelect:false + }) + ,tbar:new Ext.PagingToolbar({ + pageSize: this.store.autoLoad.params.limit + ,store: this.store + ,displayInfo: true + ,items: [ + { + id:'un' + ,iconCls: 'new-icon' +// ,text: this.szNew + ,scope: this + ,disabled:false + ,handler: function(){ this.EditItem(null); } + } + ]}) + }); + + this.store.on({ + 'load' : this.onLoad + ,'loadexception' : this.onLoadException + ,scope:this + }); + + this.on('rowcontextmenu', this.onContextClick, this); + this.on('rowdblclick', this.onEditItem, this); +}; + +Ext.extend(Ext.xxv.usersGrid, Ext.grid.EditorGridPanel, { + + szTitle : "User accounts" + ,szNew : "New" + ,szEdit : "Edit" + ,szDelete : "Delete" + ,szColTitle : "Account" + ,szColLevel : "Level" + ,szUserPreferences:"User Preferences" + ,szAdminPreferences:"Preferences" + ,szLoadException : "Couldn't get data about user accounts!\r\n{0}" + ,szDeleteSuccess : "User account deleted successful.\r\n{0}" + ,szDeleteFailure : "Couldn't delete user account!\r\n{0}" + + ,stateful: true + + ,onLoadException : function( scope, o, arg, e) { + new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e); + } + ,onLoad : function( store, records, opt ) { + this.getSelectionModel().selectFirstRow(); + this.ownerCt.SetPanelTitle(this.szTitle); + } + ,onContextClick : function(grid, index, e){ + if(!this.menu){ // create context menu on first right click + this.menu = new Ext.menu.Menu({ + id:'grid-ctx', + items: [{ + id:'ue' + ,text: this.szEdit + ,iconCls: 'edit-icon' + ,scope:this + ,disabled: true + ,handler: function() { this.EditItem(this.ctxRecord); } + },{ + id:'ud' + ,text: this.szDelete + ,iconCls: 'delete-icon' + ,scope:this + ,disabled: true + ,handler: function() { this.DeleteItem(this.ctxRecord); } + } + ] + }); + this.menu.on('hide', this.onContextHide, this); + } + e.stopEvent(); + if(this.ctxRow){ + Ext.fly(this.ctxRow).removeClass('x-node-ctx'); + this.ctxRow = null; + } + this.ctxRow = this.view.getRow(index); + this.ctxRecord = this.store.getAt(index); + Ext.fly(this.ctxRow).addClass('x-node-ctx'); + + var items = this.menu.items; + if(items) { items.eachKey(function(key, f) { + if(XXV.help.cmdAllowed(key)) f.enable(); + },items); } + + this.menu.showAt(e.getXY()); + } + ,onContextHide : function(){ + if(this.ctxRow){ + Ext.fly(this.ctxRow).removeClass('x-node-ctx'); + this.ctxRow = null; + } + } + /******************************************************************************/ + ,onDeleteSuccess : function( response,options ) + { + this.loadMask.hide(); + + var o = eval("("+response.responseText+")"); + + if(o && o.data && typeof(o.data) == 'string' + && o.param && o.param.state && o.param.state == 'success') { + new Ext.xxv.MessageBox().msgSuccess(this.szDeleteSuccess, o.data); + + var gsm = this.getSelectionModel(); + var sel = options.params.data.split(","); + sel.reverse(); + for(var i = 0, len = sel.length; i < len; i++){ + if(gsm.isIdSelected(sel[i])) { + if(gsm.hasPrevious()) { + gsm.selectPrevious(); + } else { + gsm.selectNext(); + } + } + var record = this.store.getById(sel[i]); + this.store.remove(record); + } + } else { + var msg = ''; + if(o && o.data && typeof(o.data) == 'string') { + msg = o.data; + } + new Ext.xxv.MessageBox().msgFailure(this.szDeleteFailure, msg); + } + } + + ,onDeleteFailure : function( response,options ) + { + this.loadMask.hide(); + new Ext.xxv.MessageBox().msgFailure(this.szDeleteFailure, response.statusText); + } + + ,DeleteItem : function( record ) { + this.stopEditing(); + this.loadMask.show(); + + var gsm = this.getSelectionModel(); + var sel = gsm.getSelections() + if(sel.length <= 0) { + gsm.selectRecords([record]); + sel.push(record); + } + var todel = ""; + for(var i = 0, len = sel.length; i < len; i++){ + if(i != 0) + todel += ','; + todel += sel[i].data.id; + } + Ext.Ajax.request({ + scope: this + ,url: XXV.help.cmdAJAX('ud') + ,timeout: 15000 + ,success: this.onDeleteSuccess + ,failure: this.onDeleteFailure + ,params:{ data: todel } + }); + } + + /******************************************************************************/ + ,EditItem : function( record ) { + this.stopEditing(); + var item; + + if(record != null) { + var gsmTimer = this.getSelectionModel(); + gsmTimer.selectRecords([record]); + + item = { + cmd: 'ue' + ,id: record.data.id + ,title: record.data.title + }; + } else { + item = { + cmd: 'un' + ,id: 0 + ,title: this.szNew + }; + } + + if(this.viewer.formwin){ + this.viewer.formwin.close(); + } + this.viewer.formwin = new Ext.xxv.Question(item,this.store); + }, + onEditItem : function(grid, index, e) { + e.stopEvent(); + if(this.ctxRow){ + Ext.fly(this.ctxRow).removeClass('x-node-ctx'); + this.ctxRow = null; + } + var record = this.store.getAt(index); + this.EditItem(record); + } +}); + +function createUsersView(viewer,id) { + + viewer.gridusers = new Ext.xxv.usersGrid(viewer); + + tab = new Ext.xxv.Panel({ + id: id, + iconCls:"users-icon", + closable:true, + border:false, + layout:'border', + stateful:true, + hideMode:'offsets', + items:[ + viewer.gridusers + ] + }); + + + viewer.add(tab); + + return tab; +} + diff --git a/skins/jason/ux/DDView.js b/skins/jason/ux/DDView.js new file mode 100644 index 0000000..a976bbd --- /dev/null +++ b/skins/jason/ux/DDView.js @@ -0,0 +1,609 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +/* + * Software License Agreement (BSD License) + * Copyright (c) 2008, Nige "Animal" White + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * * Neither the name of the original author nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +/** + * @class Ext.ux.DDView + *

    A DnD-enabled version of {@link Ext.DataView}. Drag/drop is implemented by adding + * {@link Ext.data.Record}s to the target DDView. If copying is not being performed, + * the original {@link Ext.data.Record} is removed from the source DDView.

    + * @constructor + * Create a new DDView + * @param {Object} config The configuration properties. + */ +Ext.ux.DDView = function(config) { + if (!config.itemSelector) { + var tpl = config.tpl; + if (this.classRe.test(tpl)) { + config.tpl = tpl.replace(this.classRe, 'class=$1x-combo-list-item $2$1'); + } + else { + config.tpl = tpl.replace(this.tagRe, '$1 class="x-combo-list-item" $2'); + } + config.itemSelector = ".x-combo-list-item"; + } + Ext.ux.DDView.superclass.constructor.call(this, Ext.apply(config, { + border: false + })); +}; + +Ext.extend(Ext.ux.DDView, Ext.DataView, { + /** + * @cfg {String/Array} dragGroup The ddgroup name(s) for the View's DragZone (defaults to undefined). + */ + /** + * @cfg {String/Array} dropGroup The ddgroup name(s) for the View's DropZone (defaults to undefined). + */ + /** + * @cfg {Boolean} copy Causes drag operations to copy nodes rather than move (defaults to false). + */ + /** + * @cfg {Boolean} allowCopy Causes ctrl/drag operations to copy nodes rather than move (defaults to false). + */ + /** + * @cfg {String} sortDir Sort direction for the view, 'ASC' or 'DESC' (defaults to 'ASC'). + */ + sortDir: 'ASC', + + // private + isFormField: true, + classRe: /class=(['"])(.*)\1/, + tagRe: /(<\w*)(.*?>)/, + reset: Ext.emptyFn, + clearInvalid: Ext.form.Field.prototype.clearInvalid, + + // private + afterRender: function() { + Ext.ux.DDView.superclass.afterRender.call(this); + if (this.dragGroup) { + this.setDraggable(this.dragGroup.split(",")); + } + if (this.dropGroup) { + this.setDroppable(this.dropGroup.split(",")); + } + if (this.deletable) { + this.setDeletable(); + } + this.isDirtyFlag = false; + this.addEvents( + "drop" + ); + }, + + // private + validate: function() { + return true; + }, + + // private + destroy: function() { + this.purgeListeners(); + this.getEl().removeAllListeners(); + this.getEl().remove(); + if (this.dragZone) { + if (this.dragZone.destroy) { + this.dragZone.destroy(); + } + } + if (this.dropZone) { + if (this.dropZone.destroy) { + this.dropZone.destroy(); + } + } + }, + + /** + * Allows this class to be an Ext.form.Field so it can be found using {@link Ext.form.BasicForm#findField}. + */ + getName: function() { + return this.name; + }, + + /** + * Loads the View from a JSON string representing the Records to put into the Store. + * @param {String} value The JSON string + */ + setValue: function(v) { + if (!this.store) { + throw "DDView.setValue(). DDView must be constructed with a valid Store"; + } + var data = {}; + data[this.store.reader.meta.root] = v ? [].concat(v) : []; + this.store.proxy = new Ext.data.MemoryProxy(data); + this.store.load(); + }, + + /** + * Returns the view's data value as a list of ids. + * @return {String} A parenthesised list of the ids of the Records in the View, e.g. (1,3,8). + */ + getValue: function() { + var result = '('; + this.store.each(function(rec) { + result += rec.id + ','; + }); + return result.substr(0, result.length - 1) + ')'; + }, + + getIds: function() { + var i = 0, result = new Array(this.store.getCount()); + this.store.each(function(rec) { + result[i++] = rec.id; + }); + return result; + }, + + /** + * Returns true if the view's data has changed, else false. + * @return {Boolean} + */ + isDirty: function() { + return this.isDirtyFlag; + }, + + /** + * Part of the Ext.dd.DropZone interface. If no target node is found, the + * whole Element becomes the target, and this causes the drop gesture to append. + */ + getTargetFromEvent : function(e) { + var target = e.getTarget(); + while ((target !== null) && (target.parentNode != this.el.dom)) { + target = target.parentNode; + } + if (!target) { + target = this.el.dom.lastChild || this.el.dom; + } + return target; + }, + + /** + * Create the drag data which consists of an object which has the property "ddel" as + * the drag proxy element. + */ + getDragData : function(e) { + var target = this.findItemFromChild(e.getTarget()); + if(target) { + if (!this.isSelected(target)) { + delete this.ignoreNextClick; + this.onItemClick(target, this.indexOf(target), e); + this.ignoreNextClick = true; + } + var dragData = { + sourceView: this, + viewNodes: [], + records: [], + copy: this.copy || (this.allowCopy && e.ctrlKey) + }; + if (this.getSelectionCount() == 1) { + var i = this.getSelectedIndexes()[0]; + var n = this.getNode(i); + dragData.viewNodes.push(dragData.ddel = n); + dragData.records.push(this.store.getAt(i)); + dragData.repairXY = Ext.fly(n).getXY(); + } else { + dragData.ddel = document.createElement('div'); + dragData.ddel.className = 'multi-proxy'; + this.collectSelection(dragData); + } + return dragData; + } + return false; + }, + + // override the default repairXY. + getRepairXY : function(e){ + return this.dragData.repairXY; + }, + + // private + collectSelection: function(data) { + data.repairXY = Ext.fly(this.getSelectedNodes()[0]).getXY(); + if (this.preserveSelectionOrder === true) { + Ext.each(this.getSelectedIndexes(), function(i) { + var n = this.getNode(i); + var dragNode = n.cloneNode(true); + dragNode.id = Ext.id(); + data.ddel.appendChild(dragNode); + data.records.push(this.store.getAt(i)); + data.viewNodes.push(n); + }, this); + } else { + var i = 0; + this.store.each(function(rec){ + if (this.isSelected(i)) { + var n = this.getNode(i); + var dragNode = n.cloneNode(true); + dragNode.id = Ext.id(); + data.ddel.appendChild(dragNode); + data.records.push(this.store.getAt(i)); + data.viewNodes.push(n); + } + i++; + }, this); + } + }, + + /** + * Specify to which ddGroup items in this DDView may be dragged. + * @param {String} ddGroup The DD group name to assign this view to. + */ + setDraggable: function(ddGroup) { + if (ddGroup instanceof Array) { + Ext.each(ddGroup, this.setDraggable, this); + return; + } + if (this.dragZone) { + this.dragZone.addToGroup(ddGroup); + } else { + this.dragZone = new Ext.dd.DragZone(this.getEl(), { + containerScroll: true, + ddGroup: ddGroup + }); + // Draggability implies selection. DragZone's mousedown selects the element. + if (!this.multiSelect) { this.singleSelect = true; } + + // Wire the DragZone's handlers up to methods in *this* + this.dragZone.getDragData = this.getDragData.createDelegate(this); + this.dragZone.getRepairXY = this.getRepairXY; + this.dragZone.onEndDrag = this.onEndDrag; + } + }, + + /** + * Specify from which ddGroup this DDView accepts drops. + * @param {String} ddGroup The DD group name from which to accept drops. + */ + setDroppable: function(ddGroup) { + if (ddGroup instanceof Array) { + Ext.each(ddGroup, this.setDroppable, this); + return; + } + if (this.dropZone) { + this.dropZone.addToGroup(ddGroup); + } else { + this.dropZone = new Ext.dd.DropZone(this.getEl(), { + owningView: this, + containerScroll: true, + ddGroup: ddGroup + }); + + // Wire the DropZone's handlers up to methods in *this* + this.dropZone.getTargetFromEvent = this.getTargetFromEvent.createDelegate(this); + this.dropZone.onNodeEnter = this.onNodeEnter.createDelegate(this); + this.dropZone.onNodeOver = this.onNodeOver.createDelegate(this); + this.dropZone.onNodeOut = this.onNodeOut.createDelegate(this); + this.dropZone.onNodeDrop = this.onNodeDrop.createDelegate(this); + } + }, + + // private + getDropPoint : function(e, n, dd){ + if (n == this.el.dom) { return "above"; } + var t = Ext.lib.Dom.getY(n), b = t + n.offsetHeight; + var c = t + (b - t) / 2; + var y = Ext.lib.Event.getPageY(e); + if(y <= c) { + return "above"; + }else{ + return "below"; + } + }, + + // private + isValidDropPoint: function(pt, n, data) { + if (!data.viewNodes || (data.viewNodes.length != 1)) { + return true; + } + var d = data.viewNodes[0]; + if (d == n) { + return false; + } + if ((pt == "below") && (n.nextSibling == d)) { + return false; + } + if ((pt == "above") && (n.previousSibling == d)) { + return false; + } + return true; + }, + + // private + onNodeEnter : function(n, dd, e, data){ + if (this.highlightColor && (data.sourceView != this)) { + this.el.highlight(this.highlightColor); + } + return false; + }, + + // private + onNodeOver : function(n, dd, e, data){ + var dragElClass = this.dropNotAllowed; + var pt = this.getDropPoint(e, n, dd); + if (this.isValidDropPoint(pt, n, data)) { + if (this.appendOnly || this.sortField) { + return "x-tree-drop-ok-below"; + } + + // set the insert point style on the target node + if (pt) { + var targetElClass; + if (pt == "above"){ + dragElClass = n.previousSibling ? "x-tree-drop-ok-between" : "x-tree-drop-ok-above"; + targetElClass = "x-view-drag-insert-above"; + } else { + dragElClass = n.nextSibling ? "x-tree-drop-ok-between" : "x-tree-drop-ok-below"; + targetElClass = "x-view-drag-insert-below"; + } + if (this.lastInsertClass != targetElClass){ + Ext.fly(n).replaceClass(this.lastInsertClass, targetElClass); + this.lastInsertClass = targetElClass; + } + } + } + return dragElClass; + }, + + // private + onNodeOut : function(n, dd, e, data){ + this.removeDropIndicators(n); + }, + + // private + onNodeDrop : function(n, dd, e, data){ + if (this.fireEvent("drop", this, n, dd, e, data) === false) { + return false; + } + var pt = this.getDropPoint(e, n, dd); + var insertAt = (this.appendOnly || (n == this.el.dom)) ? this.store.getCount() : n.viewIndex; + if (pt == "below") { + insertAt++; + } + + // Validate if dragging within a DDView + if (data.sourceView == this) { + // If the first element to be inserted below is the target node, remove it + if (pt == "below") { + if (data.viewNodes[0] == n) { + data.viewNodes.shift(); + } + } else { // If the last element to be inserted above is the target node, remove it + if (data.viewNodes[data.viewNodes.length - 1] == n) { + data.viewNodes.pop(); + } + } + + // Nothing to drop... + if (!data.viewNodes.length) { + return false; + } + + // If we are moving DOWN, then because a store.remove() takes place first, + // the insertAt must be decremented. + if (insertAt > this.store.indexOf(data.records[0])) { + insertAt--; + } + } + + // Dragging from a Tree. Use the Tree's recordFromNode function. + if (data.node instanceof Ext.tree.TreeNode) { + var r = data.node.getOwnerTree().recordFromNode(data.node); + if (r) { + data.records = [ r ]; + } + } + + if (!data.records) { + alert("Programming problem. Drag data contained no Records"); + return false; + } + + for (var i = 0; i < data.records.length; i++) { + var r = data.records[i]; + var dup = this.store.getById(r.id); + if (dup && (dd != this.dragZone)) { + if(!this.allowDup && !this.allowTrash){ + Ext.fly(this.getNode(this.store.indexOf(dup))).frame("red", 1); + return true + } + var x=new Ext.data.Record(); + r.id=x.id; + delete x; + } + if (data.copy) { + this.store.insert(insertAt++, r.copy()); + } else { + if (data.sourceView) { + data.sourceView.isDirtyFlag = true; + data.sourceView.store.remove(r); + } + if(!this.allowTrash)this.store.insert(insertAt++, r); + } + if(this.sortField){ + this.store.sort(this.sortField, this.sortDir); + } + this.isDirtyFlag = true; + } + this.dragZone.cachedTarget = null; + return true; + }, + + // private + onEndDrag: function(data, e) { + var d = Ext.get(this.dragData.ddel); + if (d && d.hasClass("multi-proxy")) { + d.remove(); + //delete this.dragData.ddel; + } + }, + + // private + removeDropIndicators : function(n){ + if(n){ + Ext.fly(n).removeClass([ + "x-view-drag-insert-above", + "x-view-drag-insert-left", + "x-view-drag-insert-right", + "x-view-drag-insert-below"]); + this.lastInsertClass = "_noclass"; + } + }, + + /** + * Add a delete option to the DDView's context menu. + * @param {String} imageUrl The URL of the "delete" icon image. + */ + setDeletable: function(imageUrl) { + if (!this.singleSelect && !this.multiSelect) { + this.singleSelect = true; + } + var c = this.getContextMenu(); + this.contextMenu.on("itemclick", function(item) { + switch (item.id) { + case "delete": + this.remove(this.getSelectedIndexes()); + break; + } + }, this); + this.contextMenu.add({ + icon: imageUrl || AU.resolveUrl("/images/delete.gif"), + id: "delete", + text: AU.getMessage("deleteItem") + }); + }, + + /** + * Return the context menu for this DDView. + * @return {Ext.menu.Menu} The context menu + */ + getContextMenu: function() { + if (!this.contextMenu) { + // Create the View's context menu + this.contextMenu = new Ext.menu.Menu({ + id: this.id + "-contextmenu" + }); + this.el.on("contextmenu", this.showContextMenu, this); + } + return this.contextMenu; + }, + + /** + * Disables the view's context menu. + */ + disableContextMenu: function() { + if (this.contextMenu) { + this.el.un("contextmenu", this.showContextMenu, this); + } + }, + + // private + showContextMenu: function(e, item) { + item = this.findItemFromChild(e.getTarget()); + if (item) { + e.stopEvent(); + this.select(this.getNode(item), this.multiSelect && e.ctrlKey, true); + this.contextMenu.showAt(e.getXY()); + } + }, + + /** + * Remove {@link Ext.data.Record}s at the specified indices. + * @param {Array/Number} selectedIndices The index (or Array of indices) of Records to remove. + */ + remove: function(selectedIndices) { + selectedIndices = [].concat(selectedIndices); + for (var i = 0; i < selectedIndices.length; i++) { + var rec = this.store.getAt(selectedIndices[i]); + this.store.remove(rec); + } + }, + + /** + * Double click fires the {@link #dblclick} event. Additionally, if this DDView is draggable, and there is only one other + * related DropZone that is in another DDView, it drops the selected node on that DDView. + */ + onDblClick : function(e){ + var item = this.findItemFromChild(e.getTarget()); + if(item){ + if (this.fireEvent("dblclick", this, this.indexOf(item), item, e) === false) { + return false; + } + if (this.dragGroup) { + var targets = Ext.dd.DragDropMgr.getRelated(this.dragZone, true); + + // Remove instances of this View's DropZone + while (targets.indexOf(this.dropZone) !== -1) { + targets.remove(this.dropZone); + } + + // If there's only one other DropZone, and it is owned by a DDView, then drop it in + if ((targets.length == 1) && (targets[0].owningView)) { + this.dragZone.cachedTarget = null; + var el = Ext.get(targets[0].getEl()); + var box = el.getBox(true); + targets[0].onNodeDrop(el.dom, { + target: el.dom, + xy: [box.x, box.y + box.height - 1] + }, null, this.getDragData(e)); + } + } + } + }, + + // private + onItemClick : function(item, index, e){ + // The DragZone's mousedown->getDragData already handled selection + if (this.ignoreNextClick) { + delete this.ignoreNextClick; + return; + } + + if(this.fireEvent("beforeclick", this, index, item, e) === false){ + return false; + } + if(this.multiSelect || this.singleSelect){ + if(this.multiSelect && e.shiftKey && this.lastSelection){ + this.select(this.getNodes(this.indexOf(this.lastSelection), index), false); + } else if (this.isSelected(item) && e.ctrlKey) { + this.deselect(item); + }else{ + this.deselect(item); + this.select(item, this.multiSelect && e.ctrlKey); + this.lastSelection = item; + } + e.preventDefault(); + } + return true; + } +}); diff --git a/skins/jason/ux/filter.js b/skins/jason/ux/filter.js new file mode 100644 index 0000000..402ca0e --- /dev/null +++ b/skins/jason/ux/filter.js @@ -0,0 +1,225 @@ +// vim: ts=4:sw=4:nu:fdc=4:nospell +/** + * Search plugin for Ext.grid.GridPanel, Ext.grid.EditorGrid ver. 2.x or subclasses of them + * + * @author Ing. Jozef Sakalos + * @copyright (c) 2008, by Ing. Jozef Sakalos + * @date 17. January 2008 + * @version $Id: Ext.ux.grid.Search.js 11 2008-02-22 17:13:52Z jozo $ + * + * @license Ext.ux.grid.Search is licensed under the terms of + * the Open Source LGPL 3.0 license. Commercial use is permitted to the extent + * that the code/component(s) do NOT become part of another Open Source or Commercially + * licensed development library or toolkit without explicit permission. + * + * License details: http://www.gnu.org/licenses/lgpl.html + */ + +Ext.namespace('Ext.ux', 'Ext.ux.grid'); + +/** + * @class Ext.ux.grid.Search + * @extends Ext.util.Observable + * @param {Object} config configuration object + * @constructor + */ +Ext.ux.grid.Search = function(config) { + Ext.apply(this, config); + Ext.ux.grid.Search.superclass.constructor.call(this); +}; // eo constructor + +Ext.extend(Ext.ux.grid.Search, Ext.util.Observable, { + /** + * @cfg {String} searchTipText Text to display as input tooltip. Set to '' for no tooltip + */ + searchTipText:'Type a text to search and press Enter' + /** + * @cfg {String} position Where to display the search controls. Valid values are top and bottom (defaults to bottom) + * Corresponding toolbar has to exist at least with mimimum configuration tbar:[] for position:top or bbar:[] + * for position bottom. Plugin does NOT create any toolbar. + */ + ,position:'top' + /** + * @cfg {Number} width Width of input field in pixels (defaults to 100) + */ + ,width:150 + /** + * @cfg {String} xtype xtype is usually not used to instantiate this plugin but you have a chance to identify it + */ + ,xtype:'gridsearch' + /** + * @cfg {Object} paramNames Params name map (defaults to {fields:'fields', query:'query'} + */ + ,paramNames: { + fields:'fields' + ,all:'search' + ,cmd:'search' + ,query:'query' + } + /** + * @cfg {String} shortcutKey Key to fucus the input field (defaults to r = Sea_r_ch). Empty string disables shortcut + */ + ,shortcutKey:'r' + /** + * @cfg {String} shortcutModifier Modifier for shortcutKey. Valid values: alt, ctrl, shift (defaults to alt) + */ + ,shortcutModifier:'alt' + /** + * @cfg {String} align 'left' or 'right' (defaults to 'right') + */ + ,align:'right' + /** + * @cfg {Number} minLength force user to type this many character before he can make a search + */ + ,minLength:2 + // {{{ + /** + * private + * @param {Ext.grid.GridPanel/Ext.grid.EditorGrid} grid reference to grid this plugin is used for + */ + ,init:function(grid) { + this.grid = grid; + + // do our processing after grid render + grid.onRender = grid.onRender.createSequence(this.onRender, this); + } // eo function init + // }}} + // {{{ + /** + * private add plugin controls to existing toolbar and calls reconfigure + */ + ,onRender:function() { + var grid = this.grid; + var tb = 'owner' == this.position ? grid.ownerCt.topToolbar : grid.topToolbar; + + // handle position + if('right' === this.align) { + tb.addFill(); + } + else { + tb.addSeparator(); + } + + // add input field (TwinTriggerField in fact) + this.field = new Ext.form.TwinTriggerField({ + width:this.width + ,selectOnFocus:undefined === this.selectOnFocus ? true : this.selectOnFocus + ,trigger1Class:'x-form-clear-trigger' + ,trigger2Class:'x-form-search-trigger' + ,onTrigger1Click:this.onTriggerClear.createDelegate(this) + ,onTrigger2Click:this.onTriggerSearch.createDelegate(this) + ,minLength:this.minLength + }); + + // install event handlers on input field + this.field.on('render', function() { + this.field.el.dom.qtip = this.searchTipText; + + // install key map + var map = new Ext.KeyMap(this.field.el, [{ + key:Ext.EventObject.ENTER + ,scope:this + ,fn:this.onTriggerSearch + },{ + key:Ext.EventObject.ESC + ,scope:this + ,fn:this.onTriggerClear + }]); + map.stopEvent = true; + }, this, {single:true}); + + tb.add(this.field); + + if(tb.displayEl) { + var size = this.field.getSize(); + tb.displayEl.setRight(10+this.width); + } + // keyMap + if(this.shortcutKey && this.shortcutModifier) { + var shortcutEl = this.grid.getEl(); + var shortcutCfg = [{ + key:this.shortcutKey + ,scope:this + ,stopEvent:true + ,fn:function() { + this.field.focus(); + } + }]; + shortcutCfg[this.shortcutModifier] = true; + this.keymap = new Ext.KeyMap(shortcutEl, shortcutCfg); + } + } // eo function onRender + // }}} + // {{{ + /** + * private Clear Trigger click handler + */ + ,onTriggerClear:function() { + this.field.setValue(''); + this.field.focus(); + this.onTriggerSearch(); + } // eo function onTriggerClear + // }}} + // {{{ + /** + * private Search Trigger click handler (executes the search, local or remote) + */ + ,onTriggerSearch:function() { + if(!this.field.isValid()) { + return; + } + var val = this.field.getValue(); + var store = this.grid.store; + + // ask server to filter records + // clear start (necessary if we have paging) + if(store.lastOptions && store.lastOptions.params) { + store.lastOptions.params[store.paramNames.start] = 0; + } + + // add fields and query to baseParams of store + delete(store.baseParams[this.paramNames.fields]); + delete(store.baseParams[this.paramNames.query]); + if (store.lastOptions && store.lastOptions.params) { + delete(store.lastOptions.params[this.paramNames.fields]); + delete(store.lastOptions.params[this.paramNames.query]); + } + if(val && val.length) { + store.baseParams[this.paramNames.fields] = this.paramNames.cmd; + store.baseParams[this.paramNames.query] = val; + } else { + store.baseParams[this.paramNames.fields] = this.paramNames.all; + } + + // reload store + store.reload(); + + } // eo function onTriggerSearch + // }}} + // {{{ + /** + * @param {Boolean} true to disable search (TwinTriggerField), false to enable + */ + ,setDisabled:function() { + this.field.setDisabled.apply(this.field, arguments); + } // eo function setDisabled + // }}} + // {{{ + /** + * Enable search (TwinTriggerField) + */ + ,enable:function() { + this.setDisabled(false); + } // eo function enable + // }}} + // {{{ + /** + * Enable search (TwinTriggerField) + */ + ,disable:function() { + this.setDisabled(true); + } // eo function disable + +}); // eo extend + +// eof diff --git a/skins/jason/ux/multiselect.css b/skins/jason/ux/multiselect.css new file mode 100644 index 0000000..9d2a459 --- /dev/null +++ b/skins/jason/ux/multiselect.css @@ -0,0 +1,34 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +.ux-mselect{ + overflow:auto; + background:white; + position:relative; /* for calculating scroll offsets */ + zoom:1; + overflow:auto; +} +.ux-mselect-item{ + font:normal 12px tahoma, arial, helvetica, sans-serif; + padding:2px; + border:1px solid #fff; + white-space: nowrap; + cursor:pointer; +} +.ux-mselect-selected{ + border:1px dotted #a3bae9 !important; + background:#DFE8F6; + cursor:pointer; +} + +.x-view-drag-insert-above { + border-top:1px dotted #3366cc; +} +.x-view-drag-insert-below { + border-bottom:1px dotted #3366cc; +} \ No newline at end of file diff --git a/skins/jason/ux/multiselect.js b/skins/jason/ux/multiselect.js new file mode 100644 index 0000000..d52dbe8 --- /dev/null +++ b/skins/jason/ux/multiselect.js @@ -0,0 +1,323 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +/* + * Note that this control should still be treated as an example and that the API will most likely + * change once it is ported into the Ext core as a standard form control. This is still planned + * for a future release, so this should not yet be treated as a final, stable API at this time. + */ + +/** + * @class Ext.ux.MultiSelect + * @extends Ext.form.Field + * A control that allows selection and form submission of multiple list items. The MultiSelect control + * depends on the Ext.ux.DDView class to provide drag/drop capability both within the list and also + * between multiple MultiSelect controls (see the Ext.ux.ItemSelector). + * + * @history + * 2008-06-19 bpm Original code contributed by Toby Stuart + * 2008-06-19 bpm Docs and demo code clean up + * + * @constructor + * Create a new MultiSelect + * @param {Object} config Configuration options + */ +Ext.ux.Multiselect = Ext.extend(Ext.form.Field, { + /** + * @cfg {String} legend Wraps the object with a fieldset and specified legend. + */ + /** + * @cfg {Store} store The {@link Ext.data.Store} used by the underlying Ext.ux.DDView. + */ + /** + * @cfg {Ext.ux.DDView} view The Ext.ux.DDView used to render the multiselect list. + */ + /** + * @cfg {String/Array} dragGroup The ddgroup name(s) for the DDView's DragZone (defaults to undefined). + */ + /** + * @cfg {String/Array} dropGroup The ddgroup name(s) for the DDView's DropZone (defaults to undefined). + */ + /** + * @cfg {Object/Array} tbar The top toolbar of the control. This can be a {@link Ext.Toolbar} object, a + * toolbar config, or an array of buttons/button configs to be added to the toolbar. + */ + /** + * @cfg {String} fieldName The name of the field to sort by when sorting is enabled. + */ + /** + * @cfg {String} appendOnly True if the list should only allow append drops when drag/drop is enabled + * (use for lists which are sorted, defaults to false). + */ + appendOnly:false, + /** + * @cfg {Array} dataFields Inline data definition when not using a pre-initialised store. Known to cause problems + * in some browswers for very long lists. Use store for large datasets. + */ + dataFields:[], + /** + * @cfg {Array} data Inline data when not using a pre-initialised store. Known to cause problems in some + * browswers for very long lists. Use store for large datasets. + */ + data:[], + /** + * @cfg {Number} width Width in pixels of the control (defaults to 100). + */ + width:100, + /** + * @cfg {Number} height Height in pixels of the control (defaults to 100). + */ + height:100, + /** + * @cfg {String/Number} displayField Name/Index of the desired display field in the dataset (defaults to 0). + */ + displayField:0, + /** + * @cfg {String/Number} valueField Name/Index of the desired value field in the dataset (defaults to 1). + */ + valueField:1, + /** + * @cfg {Boolean} allowBlank True to require at least one item in the list to be selected, false to allow no + * selection (defaults to true). + */ + allowBlank:true, + /** + * @cfg {Number} minLength Minimum number of selections allowed (defaults to 0). + */ + minLength:0, + /** + * @cfg {Number} maxLength Maximum number of selections allowed (defaults to Number.MAX_VALUE). + */ + maxLength:Number.MAX_VALUE, + /** + * @cfg {String} blankText Default text displayed when the control contains no items (defaults to the same value as + * {@link Ext.form.TextField#blankText}. + */ + blankText:Ext.form.TextField.prototype.blankText, + /** + * @cfg {String} minLengthText Validation message displayed when {@link #minLength} is not met (defaults to 'Minimum {0} + * item(s) required'). The {0} token will be replaced by the value of {@link #minLength}. + */ + minLengthText:'Minimum {0} item(s) required', + /** + * @cfg {String} maxLengthText Validation message displayed when {@link #maxLength} is not met (defaults to 'Maximum {0} + * item(s) allowed'). The {0} token will be replaced by the value of {@link #maxLength}. + */ + maxLengthText:'Maximum {0} item(s) allowed', + /** + * @cfg {String} delimiter The string used to delimit between items when set or returned as a string of values + * (defaults to ','). + */ + delimiter:',', + + // DDView settings + copy:false, + allowDup:false, + allowTrash:false, + focusClass:undefined, + sortDir:'ASC', + + // private + defaultAutoCreate : {tag: "div"}, + + // private + initComponent: function(){ + Ext.ux.Multiselect.superclass.initComponent.call(this); + this.addEvents({ + 'dblclick' : true, + 'click' : true, + 'change' : true, + 'drop' : true + }); + }, + + // private + onRender: function(ct, position){ + Ext.ux.Multiselect.superclass.onRender.call(this, ct, position); + + var cls = 'ux-mselect'; + var fs = new Ext.form.FieldSet({ + renderTo:this.el, + title:this.legend, + height:this.height, + width:this.width, + style:"padding:0;", + tbar:this.tbar + }); + //if(!this.legend)fs.el.down('.'+fs.headerCls).remove(); + fs.body.addClass(cls); + + if(!this.tpl){ /*** add by anbr - allow overwrite template external ***/ + this.tpl = '
    '; + } + if(!this.store){ + this.store = new Ext.data.SimpleStore({ + fields: this.dataFields, + data : this.data + }); + } + + this.view = new Ext.ux.DDView({ + multiSelect: true, + store: this.store, + selectedClass: cls+"-selected", + tpl:this.tpl, + allowDup:this.allowDup, + copy: this.copy, + allowTrash: this.allowTrash, + dragGroup: this.dragGroup, + dropGroup: this.dropGroup, + itemSelector:"."+cls+"-item", + isFormField:false, + applyTo:fs.body, + appendOnly:this.appendOnly, + sortField:this.sortField, + sortDir:this.sortDir + }); + + fs.add(this.view); + + this.view.on('click', this.onViewClick, this); + this.view.on('beforeClick', this.onViewBeforeClick, this); + this.view.on('dblclick', this.onViewDblClick, this); + this.view.on('drop', function(ddView, n, dd, e, data){ + return this.fireEvent("drop", ddView, n, dd, e, data); + }, this); + + this.hiddenName = this.name; + var hiddenTag={tag: "input", type: "hidden", value: "", name:this.name}; + if (this.isFormField) { + this.hiddenField = this.el.createChild(hiddenTag); + } else { + this.hiddenField = Ext.get(document.body).createChild(hiddenTag); + } + if(this.value) { /*** add by anbr - allow create initial data ***/ + this.setValue(this.value); + } + fs.doLayout(); + }, + + // private + initValue:Ext.emptyFn, + + // private + onViewClick: function(vw, index, node, e) { + var arrayIndex = this.preClickSelections.indexOf(index); + if (arrayIndex != -1) + { + this.preClickSelections.splice(arrayIndex, 1); + this.view.clearSelections(true); + this.view.select(this.preClickSelections); + } + this.fireEvent('change', this, this.getValue(), this.hiddenField.dom.value); + this.hiddenField.dom.value = this.getValue(); + this.fireEvent('click', this, e); + this.validate(); + }, + + // private + onViewBeforeClick: function(vw, index, node, e) { + this.preClickSelections = this.view.getSelectedIndexes(); + if (this.disabled) {return false;} + }, + + // private + onViewDblClick : function(vw, index, node, e) { + return this.fireEvent('dblclick', vw, index, node, e); + }, + + /** + * Returns an array of data values for the selected items in the list. The values will be separated + * by {@link #delimiter}. + * @return {Array} value An array of string data values + */ + getValue: function(valueField){ + var returnArray = []; + var selectionsArray = this.view.getSelectedIndexes(); + if (selectionsArray.length == 0) {return '';} + for (var i=0; i this.maxLength) { + this.markInvalid(String.format(this.maxLengthText, this.maxLength)); + return false; + } + return true; + } +}); + +Ext.reg("multiselect", Ext.ux.Multiselect); diff --git a/skins/jason/ux/sessionprovider.js b/skins/jason/ux/sessionprovider.js new file mode 100644 index 0000000..fb944a2 --- /dev/null +++ b/skins/jason/ux/sessionprovider.js @@ -0,0 +1,20 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + +Ext.state.SessionProvider = Ext.extend(Ext.state.CookieProvider, { + readCookies : function(){ + if(this.state){ + for(var k in this.state){ + if(typeof this.state[k] == 'string'){ + this.state[k] = this.decodeValue(this.state[k]); + } + } + } + return Ext.apply(this.state || {}, Ext.state.SessionProvider.superclass.readCookies.call(this)); + } +}); diff --git a/skins/jason/ux/tabclosemenu.js b/skins/jason/ux/tabclosemenu.js new file mode 100644 index 0000000..09d3678 --- /dev/null +++ b/skins/jason/ux/tabclosemenu.js @@ -0,0 +1,52 @@ +/* + * Ext JS Library 2.2 + * Copyright(c) 2006-2008, Ext JS, LLC. + * licensing@extjs.com + * + * http://extjs.com/license + */ + + +// Very simple plugin for adding a close context menu to tabs + +Ext.ux.TabCloseMenu = function(){ + var tabs, menu, ctxItem; + this.init = function(tp){ + tabs = tp; + tabs.on('contextmenu', onContextMenu); + } + + function onContextMenu(ts, item, e){ + if(!menu){ // create context menu on first right click + menu = new Ext.menu.Menu([{ + id: tabs.id + '-close', + text: 'Close Tab', + handler : function(){ + tabs.remove(ctxItem); + } + },{ + id: tabs.id + '-close-others', + text: 'Close Other Tabs', + handler : function(){ + tabs.items.each(function(item){ + if(item.closable && item != ctxItem){ + tabs.remove(item); + } + }); + } + }]); + } + ctxItem = item; + var items = menu.items; + items.get(tabs.id + '-close').setDisabled(!item.closable); + var disableOthers = true; + tabs.items.each(function(){ + if(this != item && this.closable){ + disableOthers = false; + return false; + } + }); + items.get(tabs.id + '-close-others').setDisabled(disableOthers); + menu.showAt(e.getPoint()); + } +}; diff --git a/skins/jason/vdr.js b/skins/jason/vdr.js new file mode 100644 index 0000000..82954a1 --- /dev/null +++ b/skins/jason/vdr.js @@ -0,0 +1,329 @@ +/* + * jason - Javascript based skin for xxv + * Copyright(c) 2008-2009, anbr + * + * http://xxv.berlios.de/ + * + * $Id$ + */ + +Ext.xxv.vdrStore = function() { + + // create the data store + return new Ext.data.Store({ + baseParams:{cmd:'vl'} + ,autoLoad:{params:{start:0, limit:configuration.pageSize}} + ,reader: new Ext.xxv.jsonReader({ + fields: [ + {name: 'id', type: 'int'}, + {name: 'active', type: 'int', convert: function(x) { if(x == 'y'){ return 1;} else {return 0;} }}, + {name: 'primary', type: 'int', convert: function(x) { if(x == 'y'){ return 1;} else {return 0;} }}, + {name: 'host', type: 'string'}, + {name: 'dvbtyp', type: 'string'}, + {name: 'directory', type: 'string'} + ] + }) + ,proxy : new Ext.data.HttpProxy({ + url: XXV.help.baseURL() + ,method: 'GET' + }) + ,sortInfo:{field:'host', direction:'ASC'} + }); +}; + +Ext.xxv.vdrGrid = function(viewer) { + this.viewer = viewer; + //Ext.apply(this, {}); // Apply config + + // create the data store + this.store = new Ext.xxv.vdrStore(); + this.store.setDefaultSort('host', "ASC"); + + // custom columns as plugins + this.activeColumn = new Ext.grid.CheckColumn({ + header: this.szColActive + ,dataIndex: 'active' + ,width: 50 + ,bitmask: 1 + ,editable: false + ,hidden: true + }); + this.primaryColumn = new Ext.grid.CheckColumn({ + header: this.szColPrimary + ,dataIndex: 'primary' + ,width: 50 + ,bitmask: 1 + ,editable: false + ,hidden: true + }); + + this.columns = [ + { + header: this.szColHost + ,dataIndex: 'host' + ,width: 200 + ,renderer: this.formatTitle + }, + this.activeColumn, + this.primaryColumn, + { header: this.szColDirectory + ,dataIndex: 'directory' + ,width: 200 + ,renderer: this.formatTitle + },{ + header: this.szDVBTyp + ,dataIndex: 'dvbtyp' + ,width: 200 + ,renderer: this.formatTitle + } + ]; + + var cm = new Ext.grid.ColumnModel(this.columns); + cm.defaultSortable = true; + + Ext.xxv.vdrGrid.superclass.constructor.call(this, { + region: 'center' + ,id: 'vdr-view-grid' + ,loadMask: true + ,plugins:[this.activeColumn,this.primaryColumn] + ,clicksToEdit:1 + ,cm: cm + ,sm: new Ext.grid.RowSelectionModel({ + singleSelect:false + }) + ,tbar:new Ext.PagingToolbar({ + pageSize: this.store.autoLoad.params.limit + ,store: this.store + ,displayInfo: true + ,items: [ + { + id:'vn' + ,iconCls: 'new-icon' +// ,text: this.szNew + ,scope: this + ,disabled:false + ,handler: function(){ this.EditItem(null); } + } + ]}) + }); + + this.store.on({ + 'load' : this.onLoad + ,'loadexception' : this.onLoadException + ,scope:this + }); + + this.on('rowcontextmenu', this.onContextClick, this); + this.on('rowdblclick', this.onEditItem, this); +}; + +Ext.extend(Ext.xxv.vdrGrid, Ext.grid.EditorGridPanel, { + + szTitle : "Video disk recorder" + ,szNew : "New" + ,szEdit : "Edit" + ,szDelete : "Delete" + ,szColHost : "Host computer" + ,szColActive : "Active" + ,szColPrimary : "Primary" + ,szColDirectory : "Directory" + ,szDVBTyp : "Type of DVB-cards" + ,szLoadException : "Couldn't get data about video disk recorder!\r\n{0}" + ,szDeleteSuccess : "Video disk recorder deleted successful.\r\n{0}" + ,szDeleteFailure : "Couldn't delete video disk recorder!\r\n{0}" + + ,stateful: true + + ,onLoadException : function( scope, o, arg, e) { + new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e); + } + ,onLoad : function( store, records, opt ) { + this.getSelectionModel().selectFirstRow(); + this.ownerCt.SetPanelTitle(this.szTitle); + } + ,onContextClick : function(grid, index, e){ + if(!this.menu){ // create context menu on first right click + this.menu = new Ext.menu.Menu({ + id:'grid-ctx', + items: [{ + id:'ve' + ,text: this.szEdit + ,iconCls: 'edit-icon' + ,scope:this + ,disabled: true + ,handler: function() { this.EditItem(this.ctxRecord); } + },{ + id:'vd' + ,text: this.szDelete + ,iconCls: 'delete-icon' + ,scope:this + ,disabled: true + ,handler: function() { this.DeleteItem(this.ctxRecord); } + } + ] + }); + this.menu.on('hide', this.onContextHide, this); + } + e.stopEvent(); + if(this.ctxRow){ + Ext.fly(this.ctxRow).removeClass('x-node-ctx'); + this.ctxRow = null; + } + this.ctxRow = this.view.getRow(index); + this.ctxRecord = this.store.getAt(index); + Ext.fly(this.ctxRow).addClass('x-node-ctx'); + + var items = this.menu.items; + if(items) { items.eachKey(function(key, f) { + if(XXV.help.cmdAllowed(key)) f.enable(); + },items); } + + this.menu.showAt(e.getXY()); + } + ,onContextHide : function(){ + if(this.ctxRow){ + Ext.fly(this.ctxRow).removeClass('x-node-ctx'); + this.ctxRow = null; + } + } + ,formatTitle: function(value, p, record) { + var style = ""; + if((record.data.active & 1) == 0) { + style = " deactive"; + } else if(record.data.primary) { + style = " running"; + } + + return String.format( + '
    {0}
    ', + value, style + ); + + } + /******************************************************************************/ + ,onDeleteSuccess : function( response,options ) + { + this.loadMask.hide(); + + var o = eval("("+response.responseText+")"); + + if(o && o.data && typeof(o.data) == 'string' + && o.param && o.param.state && o.param.state == 'success') { + new Ext.xxv.MessageBox().msgSuccess(this.szDeleteSuccess, o.data); + + var gsm = this.getSelectionModel(); + var sel = options.params.data.split(","); + sel.reverse(); + for(var i = 0, len = sel.length; i < len; i++){ + if(gsm.isIdSelected(sel[i])) { + if(gsm.hasPrevious()) { + gsm.selectPrevious(); + } else { + gsm.selectNext(); + } + } + var record = this.store.getById(sel[i]); + this.store.remove(record); + } + } else { + var msg = ''; + if(o && o.data && typeof(o.data) == 'string') { + msg = o.data; + } + new Ext.xxv.MessageBox().msgFailure(this.szDeleteFailure, msg); + } + } + + ,onDeleteFailure : function( response,options ) + { + this.loadMask.hide(); + new Ext.xxv.MessageBox().msgFailure(this.szDeleteFailure, response.statusText); + } + + ,DeleteItem : function( record ) { + this.stopEditing(); + this.loadMask.show(); + + var gsm = this.getSelectionModel(); + var sel = gsm.getSelections() + if(sel.length <= 0) { + gsm.selectRecords([record]); + sel.push(record); + } + var todel = ""; + for(var i = 0, len = sel.length; i < len; i++){ + if(i != 0) + todel += ','; + todel += sel[i].data.id; + } + Ext.Ajax.request({ + scope: this + ,url: XXV.help.cmdAJAX('vd') + ,timeout: 15000 + ,success: this.onDeleteSuccess + ,failure: this.onDeleteFailure + ,params:{ data: todel } + }); + } + + /******************************************************************************/ + ,EditItem : function( record ) { + this.stopEditing(); + var item; + + if(record != null) { + var gsmTimer = this.getSelectionModel(); + gsmTimer.selectRecords([record]); + + item = { + cmd: 've' + ,id: record.data.id + ,title: record.data.host + }; + } else { + item = { + cmd: 'vn' + ,id: 0 + ,title: this.szNew + }; + } + + if(this.viewer.formwin){ + this.viewer.formwin.close(); + } + this.viewer.formwin = new Ext.xxv.Question(item,this.store); + }, + onEditItem : function(grid, index, e) { + e.stopEvent(); + if(this.ctxRow){ + Ext.fly(this.ctxRow).removeClass('x-node-ctx'); + this.ctxRow = null; + } + var record = this.store.getAt(index); + this.EditItem(record); + } +}); + +function createVDRView(viewer,id) { + + viewer.gridvdr = new Ext.xxv.vdrGrid(viewer); + + tab = new Ext.xxv.Panel({ + id: id, + iconCls:"vdr-icon", + closable:true, + border:false, + layout:'border', + stateful:true, + hideMode:'offsets', + items:[ + viewer.gridvdr + ] + }); + + + viewer.add(tab); + + return tab; +} + diff --git a/skins/jason/widgets/footer.tmpl b/skins/jason/widgets/footer.tmpl new file mode 100644 index 0000000..e69de29 diff --git a/skins/jason/widgets/start.tmpl b/skins/jason/widgets/start.tmpl new file mode 100644 index 0000000..e69de29 diff --git a/skins/jason/widgets/table.tmpl b/skins/jason/widgets/table.tmpl new file mode 100644 index 0000000..8ecab80 --- /dev/null +++ b/skins/jason/widgets/table.tmpl @@ -0,0 +1,10 @@ +"?> + + + + + + + + -- cgit v1.2.3